@highcharts/grid-pro 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +35 -0
- package/css/grid-pro.css +1756 -0
- package/es-modules/Accessibility/A11yI18n.d.ts +95 -0
- package/es-modules/Accessibility/A11yI18n.js +290 -0
- package/es-modules/Accessibility/Accessibility.d.ts +116 -0
- package/es-modules/Accessibility/Accessibility.js +402 -0
- package/es-modules/Accessibility/AccessibilityComponent.d.ts +97 -0
- package/es-modules/Accessibility/AccessibilityComponent.js +147 -0
- package/es-modules/Accessibility/Components/AnnotationsA11y.d.ts +43 -0
- package/es-modules/Accessibility/Components/AnnotationsA11y.js +160 -0
- package/es-modules/Accessibility/Components/ContainerComponent.d.ts +48 -0
- package/es-modules/Accessibility/Components/ContainerComponent.js +142 -0
- package/es-modules/Accessibility/Components/InfoRegionsComponent.d.ts +144 -0
- package/es-modules/Accessibility/Components/InfoRegionsComponent.js +555 -0
- package/es-modules/Accessibility/Components/LegendComponent.d.ts +124 -0
- package/es-modules/Accessibility/Components/LegendComponent.js +474 -0
- package/es-modules/Accessibility/Components/MenuComponent.d.ts +93 -0
- package/es-modules/Accessibility/Components/MenuComponent.js +430 -0
- package/es-modules/Accessibility/Components/NavigatorComponent.d.ts +57 -0
- package/es-modules/Accessibility/Components/NavigatorComponent.js +235 -0
- package/es-modules/Accessibility/Components/RangeSelectorComponent.d.ts +126 -0
- package/es-modules/Accessibility/Components/RangeSelectorComponent.js +473 -0
- package/es-modules/Accessibility/Components/SeriesComponent/ForcedMarkers.d.ts +18 -0
- package/es-modules/Accessibility/Components/SeriesComponent/ForcedMarkers.js +234 -0
- package/es-modules/Accessibility/Components/SeriesComponent/NewDataAnnouncer.d.ts +87 -0
- package/es-modules/Accessibility/Components/SeriesComponent/NewDataAnnouncer.js +309 -0
- package/es-modules/Accessibility/Components/SeriesComponent/SeriesComponent.d.ts +53 -0
- package/es-modules/Accessibility/Components/SeriesComponent/SeriesComponent.js +130 -0
- package/es-modules/Accessibility/Components/SeriesComponent/SeriesDescriber.d.ts +28 -0
- package/es-modules/Accessibility/Components/SeriesComponent/SeriesDescriber.js +415 -0
- package/es-modules/Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.d.ts +114 -0
- package/es-modules/Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.js +721 -0
- package/es-modules/Accessibility/Components/ZoomComponent.d.ts +96 -0
- package/es-modules/Accessibility/Components/ZoomComponent.js +314 -0
- package/es-modules/Accessibility/FocusBorder.d.ts +40 -0
- package/es-modules/Accessibility/FocusBorder.js +301 -0
- package/es-modules/Accessibility/HighContrastMode.d.ts +35 -0
- package/es-modules/Accessibility/HighContrastMode.js +100 -0
- package/es-modules/Accessibility/HighContrastTheme.d.ts +11 -0
- package/es-modules/Accessibility/HighContrastTheme.js +212 -0
- package/es-modules/Accessibility/KeyboardNavigation.d.ts +133 -0
- package/es-modules/Accessibility/KeyboardNavigation.js +450 -0
- package/es-modules/Accessibility/KeyboardNavigationHandler.d.ts +48 -0
- package/es-modules/Accessibility/KeyboardNavigationHandler.js +126 -0
- package/es-modules/Accessibility/Options/A11yDefaults.d.ts +68 -0
- package/es-modules/Accessibility/Options/A11yDefaults.js +971 -0
- package/es-modules/Accessibility/Options/DeprecatedOptions.d.ts +22 -0
- package/es-modules/Accessibility/Options/DeprecatedOptions.js +265 -0
- package/es-modules/Accessibility/Options/LangDefaults.d.ts +4 -0
- package/es-modules/Accessibility/Options/LangDefaults.js +440 -0
- package/es-modules/Accessibility/ProxyElement.d.ts +78 -0
- package/es-modules/Accessibility/ProxyElement.js +223 -0
- package/es-modules/Accessibility/ProxyProvider.d.ts +90 -0
- package/es-modules/Accessibility/ProxyProvider.js +315 -0
- package/es-modules/Accessibility/Utils/Announcer.d.ts +26 -0
- package/es-modules/Accessibility/Utils/Announcer.js +90 -0
- package/es-modules/Accessibility/Utils/ChartUtilities.d.ts +90 -0
- package/es-modules/Accessibility/Utils/ChartUtilities.js +298 -0
- package/es-modules/Accessibility/Utils/DOMElementProvider.d.ts +20 -0
- package/es-modules/Accessibility/Utils/DOMElementProvider.js +69 -0
- package/es-modules/Accessibility/Utils/EventProvider.d.ts +26 -0
- package/es-modules/Accessibility/Utils/EventProvider.js +65 -0
- package/es-modules/Accessibility/Utils/HTMLUtilities.d.ts +108 -0
- package/es-modules/Accessibility/Utils/HTMLUtilities.js +319 -0
- package/es-modules/Core/Animation/AnimationUtilities.d.ts +107 -0
- package/es-modules/Core/Animation/AnimationUtilities.js +200 -0
- package/es-modules/Core/Animation/Fx.d.ts +130 -0
- package/es-modules/Core/Animation/Fx.js +388 -0
- package/es-modules/Core/Chart/Chart.d.ts +1009 -0
- package/es-modules/Core/Chart/Chart.js +3008 -0
- package/es-modules/Core/Chart/Chart3D.d.ts +276 -0
- package/es-modules/Core/Chart/Chart3D.js +1686 -0
- package/es-modules/Core/Chart/ChartDefaults.d.ts +8 -0
- package/es-modules/Core/Chart/ChartDefaults.js +1304 -0
- package/es-modules/Core/Chart/ChartNavigationComposition.d.ts +55 -0
- package/es-modules/Core/Chart/ChartNavigationComposition.js +90 -0
- package/es-modules/Core/Chart/GanttChart.d.ts +74 -0
- package/es-modules/Core/Chart/GanttChart.js +189 -0
- package/es-modules/Core/Chart/MapChart.d.ts +132 -0
- package/es-modules/Core/Chart/MapChart.js +232 -0
- package/es-modules/Core/Chart/StockChart.d.ts +117 -0
- package/es-modules/Core/Chart/StockChart.js +641 -0
- package/es-modules/Core/Color/Color.d.ts +112 -0
- package/es-modules/Core/Color/Color.js +418 -0
- package/es-modules/Core/Color/Palettes.d.ts +84 -0
- package/es-modules/Core/Color/Palettes.js +23 -0
- package/es-modules/Core/Defaults.d.ts +42 -0
- package/es-modules/Core/Defaults.js +2977 -0
- package/es-modules/Core/Foundation.d.ts +19 -0
- package/es-modules/Core/Foundation.js +63 -0
- package/es-modules/Core/Geometry/CircleUtilities.d.ts +189 -0
- package/es-modules/Core/Geometry/CircleUtilities.js +388 -0
- package/es-modules/Core/Geometry/GeometryUtilities.d.ts +48 -0
- package/es-modules/Core/Geometry/GeometryUtilities.js +105 -0
- package/es-modules/Core/Geometry/PolygonClip.d.ts +19 -0
- package/es-modules/Core/Geometry/PolygonClip.js +96 -0
- package/es-modules/Core/Globals.d.ts +110 -0
- package/es-modules/Core/Globals.js +127 -0
- package/es-modules/Core/HttpUtilities.d.ts +61 -0
- package/es-modules/Core/HttpUtilities.js +214 -0
- package/es-modules/Core/MSPointer.d.ts +74 -0
- package/es-modules/Core/MSPointer.js +218 -0
- package/es-modules/Core/Math3D.d.ts +117 -0
- package/es-modules/Core/Math3D.js +250 -0
- package/es-modules/Core/Pointer.d.ts +590 -0
- package/es-modules/Core/Pointer.js +1631 -0
- package/es-modules/Core/Renderer/HTML/AST.d.ts +163 -0
- package/es-modules/Core/Renderer/HTML/AST.js +562 -0
- package/es-modules/Core/Renderer/HTML/HTMLElement.d.ts +76 -0
- package/es-modules/Core/Renderer/HTML/HTMLElement.js +471 -0
- package/es-modules/Core/Renderer/RendererRegistry.d.ts +29 -0
- package/es-modules/Core/Renderer/RendererRegistry.js +76 -0
- package/es-modules/Core/Renderer/RendererUtilities.d.ts +26 -0
- package/es-modules/Core/Renderer/RendererUtilities.js +172 -0
- package/es-modules/Core/Responsive.d.ts +55 -0
- package/es-modules/Core/Responsive.js +260 -0
- package/es-modules/Core/Templating.d.ts +125 -0
- package/es-modules/Core/Templating.js +428 -0
- package/es-modules/Core/Time.d.ts +69 -0
- package/es-modules/Core/Time.js +172 -0
- package/es-modules/Core/Tooltip.d.ts +297 -0
- package/es-modules/Core/Tooltip.js +1377 -0
- package/es-modules/Core/Utilities.d.ts +770 -0
- package/es-modules/Core/Utilities.js +1989 -0
- package/es-modules/Data/ColumnUtils.d.ts +87 -0
- package/es-modules/Data/ColumnUtils.js +140 -0
- package/es-modules/Data/Connectors/CSVConnector.d.ts +63 -0
- package/es-modules/Data/Connectors/CSVConnector.js +149 -0
- package/es-modules/Data/Connectors/CSVConnectorOptions.d.ts +149 -0
- package/es-modules/Data/Connectors/DataConnector.d.ts +204 -0
- package/es-modules/Data/Connectors/DataConnector.js +345 -0
- package/es-modules/Data/Connectors/DataConnectorOptions.d.ts +87 -0
- package/es-modules/Data/Connectors/DataConnectorType.d.ts +45 -0
- package/es-modules/Data/Connectors/GoogleSheetsConnector.d.ts +65 -0
- package/es-modules/Data/Connectors/GoogleSheetsConnector.js +226 -0
- package/es-modules/Data/Connectors/GoogleSheetsConnectorOptions.d.ts +167 -0
- package/es-modules/Data/Connectors/HTMLTableConnector.d.ts +77 -0
- package/es-modules/Data/Connectors/HTMLTableConnector.js +119 -0
- package/es-modules/Data/Connectors/HTMLTableConnectorOptions.d.ts +49 -0
- package/es-modules/Data/Connectors/JSONConnector.d.ts +64 -0
- package/es-modules/Data/Connectors/JSONConnector.js +156 -0
- package/es-modules/Data/Connectors/JSONConnectorOptions.d.ts +185 -0
- package/es-modules/Data/Converters/CSVConverter.d.ts +64 -0
- package/es-modules/Data/Converters/CSVConverter.js +374 -0
- package/es-modules/Data/Converters/CSVConverterOptions.d.ts +53 -0
- package/es-modules/Data/Converters/DataConverter.d.ts +168 -0
- package/es-modules/Data/Converters/DataConverter.js +387 -0
- package/es-modules/Data/Converters/DataConverterType.d.ts +40 -0
- package/es-modules/Data/Converters/DataConverterUtils.d.ts +82 -0
- package/es-modules/Data/Converters/DataConverterUtils.js +216 -0
- package/es-modules/Data/Converters/GoogleSheetsConverter.d.ts +46 -0
- package/es-modules/Data/Converters/GoogleSheetsConverter.js +135 -0
- package/es-modules/Data/Converters/GoogleSheetsConverterOptions.d.ts +52 -0
- package/es-modules/Data/Converters/HTMLTableConverter.d.ts +72 -0
- package/es-modules/Data/Converters/HTMLTableConverter.js +362 -0
- package/es-modules/Data/Converters/HTMLTableConverterOptions.d.ts +51 -0
- package/es-modules/Data/Converters/JSONConverter.d.ts +99 -0
- package/es-modules/Data/Converters/JSONConverter.js +239 -0
- package/es-modules/Data/Converters/JSONConverterOptions.d.ts +52 -0
- package/es-modules/Data/DataCursor.d.ts +176 -0
- package/es-modules/Data/DataCursor.js +379 -0
- package/es-modules/Data/DataEvent.d.ts +81 -0
- package/es-modules/Data/DataEvent.js +14 -0
- package/es-modules/Data/DataPool.d.ts +130 -0
- package/es-modules/Data/DataPool.js +257 -0
- package/es-modules/Data/DataPoolOptions.d.ts +66 -0
- package/es-modules/Data/DataTable.d.ts +563 -0
- package/es-modules/Data/DataTable.js +930 -0
- package/es-modules/Data/DataTableCore.d.ts +165 -0
- package/es-modules/Data/DataTableCore.js +316 -0
- package/es-modules/Data/DataTableOptions.d.ts +25 -0
- package/es-modules/Data/DataTableOptions.js +15 -0
- package/es-modules/Data/Formula/Formula.d.ts +21 -0
- package/es-modules/Data/Formula/Formula.js +54 -0
- package/es-modules/Data/Formula/FormulaParser.d.ts +31 -0
- package/es-modules/Data/Formula/FormulaParser.js +488 -0
- package/es-modules/Data/Formula/FormulaProcessor.d.ts +155 -0
- package/es-modules/Data/Formula/FormulaProcessor.js +529 -0
- package/es-modules/Data/Formula/FormulaTypes.d.ts +138 -0
- package/es-modules/Data/Formula/FormulaTypes.js +135 -0
- package/es-modules/Data/Formula/Functions/ABS.d.ts +19 -0
- package/es-modules/Data/Formula/Functions/ABS.js +67 -0
- package/es-modules/Data/Formula/Functions/AND.d.ts +20 -0
- package/es-modules/Data/Formula/Functions/AND.js +59 -0
- package/es-modules/Data/Formula/Functions/AVERAGE.d.ts +20 -0
- package/es-modules/Data/Formula/Functions/AVERAGE.js +74 -0
- package/es-modules/Data/Formula/Functions/AVERAGEA.d.ts +20 -0
- package/es-modules/Data/Formula/Functions/AVERAGEA.js +90 -0
- package/es-modules/Data/Formula/Functions/COUNT.d.ts +20 -0
- package/es-modules/Data/Formula/Functions/COUNT.js +65 -0
- package/es-modules/Data/Formula/Functions/COUNTA.d.ts +20 -0
- package/es-modules/Data/Formula/Functions/COUNTA.js +71 -0
- package/es-modules/Data/Formula/Functions/IF.d.ts +21 -0
- package/es-modules/Data/Formula/Functions/IF.js +54 -0
- package/es-modules/Data/Formula/Functions/ISNA.d.ts +20 -0
- package/es-modules/Data/Formula/Functions/ISNA.js +52 -0
- package/es-modules/Data/Formula/Functions/MAX.d.ts +20 -0
- package/es-modules/Data/Formula/Functions/MAX.js +69 -0
- package/es-modules/Data/Formula/Functions/MEDIAN.d.ts +20 -0
- package/es-modules/Data/Formula/Functions/MEDIAN.js +78 -0
- package/es-modules/Data/Formula/Functions/MIN.d.ts +20 -0
- package/es-modules/Data/Formula/Functions/MIN.js +69 -0
- package/es-modules/Data/Formula/Functions/MOD.d.ts +20 -0
- package/es-modules/Data/Formula/Functions/MOD.js +63 -0
- package/es-modules/Data/Formula/Functions/MODE.d.ts +41 -0
- package/es-modules/Data/Formula/Functions/MODE.js +149 -0
- package/es-modules/Data/Formula/Functions/NOT.d.ts +20 -0
- package/es-modules/Data/Formula/Functions/NOT.js +60 -0
- package/es-modules/Data/Formula/Functions/OR.d.ts +20 -0
- package/es-modules/Data/Formula/Functions/OR.js +62 -0
- package/es-modules/Data/Formula/Functions/PRODUCT.d.ts +20 -0
- package/es-modules/Data/Formula/Functions/PRODUCT.js +68 -0
- package/es-modules/Data/Formula/Functions/SUM.d.ts +20 -0
- package/es-modules/Data/Formula/Functions/SUM.js +65 -0
- package/es-modules/Data/Formula/Functions/XOR.d.ts +20 -0
- package/es-modules/Data/Formula/Functions/XOR.js +81 -0
- package/es-modules/Data/Modifiers/ChainModifier.d.ts +128 -0
- package/es-modules/Data/Modifiers/ChainModifier.js +231 -0
- package/es-modules/Data/Modifiers/ChainModifierOptions.d.ts +20 -0
- package/es-modules/Data/Modifiers/ChainModifierOptions.js +14 -0
- package/es-modules/Data/Modifiers/DataModifier.d.ts +117 -0
- package/es-modules/Data/Modifiers/DataModifier.js +202 -0
- package/es-modules/Data/Modifiers/DataModifierEvent.d.ts +28 -0
- package/es-modules/Data/Modifiers/DataModifierEvent.js +15 -0
- package/es-modules/Data/Modifiers/DataModifierOptions.d.ts +11 -0
- package/es-modules/Data/Modifiers/DataModifierOptions.js +15 -0
- package/es-modules/Data/Modifiers/DataModifierType.d.ts +44 -0
- package/es-modules/Data/Modifiers/FilterModifier.d.ts +53 -0
- package/es-modules/Data/Modifiers/FilterModifier.js +172 -0
- package/es-modules/Data/Modifiers/FilterModifierOptions.d.ts +110 -0
- package/es-modules/Data/Modifiers/FilterModifierOptions.js +14 -0
- package/es-modules/Data/Modifiers/InvertModifier.d.ts +48 -0
- package/es-modules/Data/Modifiers/InvertModifier.js +116 -0
- package/es-modules/Data/Modifiers/InvertModifierOptions.d.ts +11 -0
- package/es-modules/Data/Modifiers/InvertModifierOptions.js +15 -0
- package/es-modules/Data/Modifiers/MathModifier.d.ts +68 -0
- package/es-modules/Data/Modifiers/MathModifier.js +165 -0
- package/es-modules/Data/Modifiers/MathModifierOptions.d.ts +50 -0
- package/es-modules/Data/Modifiers/MathModifierOptions.js +14 -0
- package/es-modules/Data/Modifiers/RangeModifier.d.ts +46 -0
- package/es-modules/Data/Modifiers/RangeModifier.js +96 -0
- package/es-modules/Data/Modifiers/RangeModifierOptions.d.ts +22 -0
- package/es-modules/Data/Modifiers/RangeModifierOptions.js +15 -0
- package/es-modules/Data/Modifiers/SortModifier.d.ts +54 -0
- package/es-modules/Data/Modifiers/SortModifier.js +144 -0
- package/es-modules/Data/Modifiers/SortModifierOptions.d.ts +44 -0
- package/es-modules/Data/Modifiers/SortModifierOptions.js +14 -0
- package/es-modules/Grid/Core/Accessibility/A11yOptions.d.ts +148 -0
- package/es-modules/Grid/Core/Accessibility/A11yOptions.js +17 -0
- package/es-modules/Grid/Core/Accessibility/Accessibility.d.ts +115 -0
- package/es-modules/Grid/Core/Accessibility/Accessibility.js +231 -0
- package/es-modules/Grid/Core/Credits.d.ts +57 -0
- package/es-modules/Grid/Core/Credits.js +125 -0
- package/es-modules/Grid/Core/Defaults.d.ts +20 -0
- package/es-modules/Grid/Core/Defaults.js +148 -0
- package/es-modules/Grid/Core/Globals.d.ts +103 -0
- package/es-modules/Grid/Core/Globals.js +134 -0
- package/es-modules/Grid/Core/Grid.d.ts +295 -0
- package/es-modules/Grid/Core/Grid.js +730 -0
- package/es-modules/Grid/Core/GridUtils.d.ts +110 -0
- package/es-modules/Grid/Core/GridUtils.js +191 -0
- package/es-modules/Grid/Core/Options.d.ts +599 -0
- package/es-modules/Grid/Core/Options.js +16 -0
- package/es-modules/Grid/Core/Pagination/Icons.d.ts +7 -0
- package/es-modules/Grid/Core/Pagination/Icons.js +7 -0
- package/es-modules/Grid/Core/Pagination/Pagination.d.ts +278 -0
- package/es-modules/Grid/Core/Pagination/Pagination.js +842 -0
- package/es-modules/Grid/Core/Pagination/PaginationOptions.d.ts +228 -0
- package/es-modules/Grid/Core/Querying/FilteringController.d.ts +66 -0
- package/es-modules/Grid/Core/Querying/FilteringController.js +256 -0
- package/es-modules/Grid/Core/Querying/PaginationController.d.ts +50 -0
- package/es-modules/Grid/Core/Querying/PaginationController.js +101 -0
- package/es-modules/Grid/Core/Querying/QueryingController.d.ts +58 -0
- package/es-modules/Grid/Core/Querying/QueryingController.js +127 -0
- package/es-modules/Grid/Core/Querying/SortingController.d.ts +67 -0
- package/es-modules/Grid/Core/Querying/SortingController.js +136 -0
- package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/ColumnFiltering.d.ts +114 -0
- package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/ColumnFiltering.js +351 -0
- package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/FilterCell.d.ts +14 -0
- package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/FilterCell.js +86 -0
- package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/FilterRow.d.ts +19 -0
- package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/FilterRow.js +80 -0
- package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/FilteringTypes.d.ts +52 -0
- package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/FilteringTypes.js +81 -0
- package/es-modules/Grid/Core/Table/Actions/ColumnSorting.d.ts +56 -0
- package/es-modules/Grid/Core/Table/Actions/ColumnSorting.js +170 -0
- package/es-modules/Grid/Core/Table/Actions/ColumnsResizer.d.ts +55 -0
- package/es-modules/Grid/Core/Table/Actions/ColumnsResizer.js +182 -0
- package/es-modules/Grid/Core/Table/Actions/RowsVirtualizer.d.ts +87 -0
- package/es-modules/Grid/Core/Table/Actions/RowsVirtualizer.js +346 -0
- package/es-modules/Grid/Core/Table/Body/TableCell.d.ts +88 -0
- package/es-modules/Grid/Core/Table/Body/TableCell.js +231 -0
- package/es-modules/Grid/Core/Table/Body/TableRow.d.ts +79 -0
- package/es-modules/Grid/Core/Table/Body/TableRow.js +177 -0
- package/es-modules/Grid/Core/Table/Cell.d.ts +92 -0
- package/es-modules/Grid/Core/Table/Cell.js +223 -0
- package/es-modules/Grid/Core/Table/CellContent/CellContent.d.ts +30 -0
- package/es-modules/Grid/Core/Table/CellContent/CellContent.js +40 -0
- package/es-modules/Grid/Core/Table/CellContent/TextContent.d.ts +19 -0
- package/es-modules/Grid/Core/Table/CellContent/TextContent.js +98 -0
- package/es-modules/Grid/Core/Table/Column.d.ts +136 -0
- package/es-modules/Grid/Core/Table/Column.js +230 -0
- package/es-modules/Grid/Core/Table/ColumnResizing/AdjacentResizingMode.d.ts +7 -0
- package/es-modules/Grid/Core/Table/ColumnResizing/AdjacentResizingMode.js +62 -0
- package/es-modules/Grid/Core/Table/ColumnResizing/ColumnResizing.d.ts +32 -0
- package/es-modules/Grid/Core/Table/ColumnResizing/ColumnResizing.js +68 -0
- package/es-modules/Grid/Core/Table/ColumnResizing/DistributedResizingMode.d.ts +7 -0
- package/es-modules/Grid/Core/Table/ColumnResizing/DistributedResizingMode.js +53 -0
- package/es-modules/Grid/Core/Table/ColumnResizing/IndependentResizingMode.d.ts +7 -0
- package/es-modules/Grid/Core/Table/ColumnResizing/IndependentResizingMode.js +63 -0
- package/es-modules/Grid/Core/Table/ColumnResizing/ResizingMode.d.ts +92 -0
- package/es-modules/Grid/Core/Table/ColumnResizing/ResizingMode.js +194 -0
- package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ColumnToolbar.d.ts +68 -0
- package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ColumnToolbar.js +187 -0
- package/es-modules/Grid/Core/Table/Header/ColumnToolbar/FilterPopup.d.ts +29 -0
- package/es-modules/Grid/Core/Table/Header/ColumnToolbar/FilterPopup.js +77 -0
- package/es-modules/Grid/Core/Table/Header/ColumnToolbar/MenuButtons/FilterMenuButton.d.ts +13 -0
- package/es-modules/Grid/Core/Table/Header/ColumnToolbar/MenuButtons/FilterMenuButton.js +79 -0
- package/es-modules/Grid/Core/Table/Header/ColumnToolbar/MenuButtons/SortMenuButton.d.ts +12 -0
- package/es-modules/Grid/Core/Table/Header/ColumnToolbar/MenuButtons/SortMenuButton.js +71 -0
- package/es-modules/Grid/Core/Table/Header/ColumnToolbar/MenuPopup.d.ts +12 -0
- package/es-modules/Grid/Core/Table/Header/ColumnToolbar/MenuPopup.js +66 -0
- package/es-modules/Grid/Core/Table/Header/ColumnToolbar/StateHelpers.d.ts +25 -0
- package/es-modules/Grid/Core/Table/Header/ColumnToolbar/StateHelpers.js +65 -0
- package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ToolbarButtons/FilterToolbarButton.d.ts +12 -0
- package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ToolbarButtons/FilterToolbarButton.js +81 -0
- package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ToolbarButtons/MenuToolbarButton.d.ts +12 -0
- package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ToolbarButtons/MenuToolbarButton.js +80 -0
- package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ToolbarButtons/SortToolbarButton.d.ts +11 -0
- package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ToolbarButtons/SortToolbarButton.js +81 -0
- package/es-modules/Grid/Core/Table/Header/HeaderCell.d.ts +70 -0
- package/es-modules/Grid/Core/Table/Header/HeaderCell.js +225 -0
- package/es-modules/Grid/Core/Table/Header/HeaderRow.d.ts +53 -0
- package/es-modules/Grid/Core/Table/Header/HeaderRow.js +182 -0
- package/es-modules/Grid/Core/Table/Header/TableHeader.d.ts +65 -0
- package/es-modules/Grid/Core/Table/Header/TableHeader.js +159 -0
- package/es-modules/Grid/Core/Table/Row.d.ts +76 -0
- package/es-modules/Grid/Core/Table/Row.js +131 -0
- package/es-modules/Grid/Core/Table/Table.d.ts +181 -0
- package/es-modules/Grid/Core/Table/Table.js +399 -0
- package/es-modules/Grid/Core/UI/Button.d.ts +31 -0
- package/es-modules/Grid/Core/UI/Button.js +16 -0
- package/es-modules/Grid/Core/UI/ContextMenu.d.ts +38 -0
- package/es-modules/Grid/Core/UI/ContextMenu.js +132 -0
- package/es-modules/Grid/Core/UI/ContextMenuButton.d.ts +126 -0
- package/es-modules/Grid/Core/UI/ContextMenuButton.js +183 -0
- package/es-modules/Grid/Core/UI/Popup.d.ts +149 -0
- package/es-modules/Grid/Core/UI/Popup.js +271 -0
- package/es-modules/Grid/Core/UI/SvgIcons.d.ts +53 -0
- package/es-modules/Grid/Core/UI/SvgIcons.js +158 -0
- package/es-modules/Grid/Core/UI/Toolbar.d.ts +16 -0
- package/es-modules/Grid/Core/UI/Toolbar.js +16 -0
- package/es-modules/Grid/Core/UI/ToolbarButton.d.ts +135 -0
- package/es-modules/Grid/Core/UI/ToolbarButton.js +191 -0
- package/es-modules/Grid/Pro/CellEditing/CellEditMode.d.ts +112 -0
- package/es-modules/Grid/Pro/CellEditing/CellEditing.d.ts +80 -0
- package/es-modules/Grid/Pro/CellEditing/CellEditing.js +211 -0
- package/es-modules/Grid/Pro/CellEditing/CellEditingComposition.d.ts +123 -0
- package/es-modules/Grid/Pro/CellEditing/CellEditingComposition.js +198 -0
- package/es-modules/Grid/Pro/CellRendering/CellContentPro.d.ts +23 -0
- package/es-modules/Grid/Pro/CellRendering/CellContentPro.js +45 -0
- package/es-modules/Grid/Pro/CellRendering/CellRenderer.d.ts +50 -0
- package/es-modules/Grid/Pro/CellRendering/CellRenderer.js +41 -0
- package/es-modules/Grid/Pro/CellRendering/CellRendererRegistry.d.ts +18 -0
- package/es-modules/Grid/Pro/CellRendering/CellRendererRegistry.js +58 -0
- package/es-modules/Grid/Pro/CellRendering/CellRendererType.d.ts +48 -0
- package/es-modules/Grid/Pro/CellRendering/CellRenderersComposition.d.ts +18 -0
- package/es-modules/Grid/Pro/CellRendering/CellRenderersComposition.js +79 -0
- package/es-modules/Grid/Pro/CellRendering/ContentTypes/CheckboxContent.d.ts +30 -0
- package/es-modules/Grid/Pro/CellRendering/ContentTypes/CheckboxContent.js +122 -0
- package/es-modules/Grid/Pro/CellRendering/ContentTypes/DateInputContent.d.ts +12 -0
- package/es-modules/Grid/Pro/CellRendering/ContentTypes/DateInputContent.js +39 -0
- package/es-modules/Grid/Pro/CellRendering/ContentTypes/DateInputContentBase.d.ts +66 -0
- package/es-modules/Grid/Pro/CellRendering/ContentTypes/DateInputContentBase.js +145 -0
- package/es-modules/Grid/Pro/CellRendering/ContentTypes/DateTimeInputContent.d.ts +12 -0
- package/es-modules/Grid/Pro/CellRendering/ContentTypes/DateTimeInputContent.js +38 -0
- package/es-modules/Grid/Pro/CellRendering/ContentTypes/NumberInputContent.d.ts +58 -0
- package/es-modules/Grid/Pro/CellRendering/ContentTypes/NumberInputContent.js +158 -0
- package/es-modules/Grid/Pro/CellRendering/ContentTypes/SelectContent.d.ts +58 -0
- package/es-modules/Grid/Pro/CellRendering/ContentTypes/SelectContent.js +173 -0
- package/es-modules/Grid/Pro/CellRendering/ContentTypes/SparklineContent.d.ts +28 -0
- package/es-modules/Grid/Pro/CellRendering/ContentTypes/SparklineContent.js +157 -0
- package/es-modules/Grid/Pro/CellRendering/ContentTypes/TextInputContent.d.ts +58 -0
- package/es-modules/Grid/Pro/CellRendering/ContentTypes/TextInputContent.js +168 -0
- package/es-modules/Grid/Pro/CellRendering/ContentTypes/TimeInputContent.d.ts +13 -0
- package/es-modules/Grid/Pro/CellRendering/ContentTypes/TimeInputContent.js +41 -0
- package/es-modules/Grid/Pro/CellRendering/Renderers/CheckboxRenderer.d.ts +50 -0
- package/es-modules/Grid/Pro/CellRendering/Renderers/CheckboxRenderer.js +65 -0
- package/es-modules/Grid/Pro/CellRendering/Renderers/DateInputRenderer.d.ts +37 -0
- package/es-modules/Grid/Pro/CellRendering/Renderers/DateInputRenderer.js +65 -0
- package/es-modules/Grid/Pro/CellRendering/Renderers/DateInputRendererBase.d.ts +26 -0
- package/es-modules/Grid/Pro/CellRendering/Renderers/DateInputRendererBase.js +16 -0
- package/es-modules/Grid/Pro/CellRendering/Renderers/DateTimeInputRenderer.d.ts +37 -0
- package/es-modules/Grid/Pro/CellRendering/Renderers/DateTimeInputRenderer.js +64 -0
- package/es-modules/Grid/Pro/CellRendering/Renderers/NumberInputRenderer.d.ts +52 -0
- package/es-modules/Grid/Pro/CellRendering/Renderers/NumberInputRenderer.js +64 -0
- package/es-modules/Grid/Pro/CellRendering/Renderers/SelectRenderer.d.ts +74 -0
- package/es-modules/Grid/Pro/CellRendering/Renderers/SelectRenderer.js +66 -0
- package/es-modules/Grid/Pro/CellRendering/Renderers/SparklineRenderer.d.ts +45 -0
- package/es-modules/Grid/Pro/CellRendering/Renderers/SparklineRenderer.js +89 -0
- package/es-modules/Grid/Pro/CellRendering/Renderers/TextInputRenderer.d.ts +54 -0
- package/es-modules/Grid/Pro/CellRendering/Renderers/TextInputRenderer.js +65 -0
- package/es-modules/Grid/Pro/CellRendering/Renderers/TextRenderer.d.ts +43 -0
- package/es-modules/Grid/Pro/CellRendering/Renderers/TextRenderer.js +74 -0
- package/es-modules/Grid/Pro/CellRendering/Renderers/TimeInputRenderer.d.ts +37 -0
- package/es-modules/Grid/Pro/CellRendering/Renderers/TimeInputRenderer.js +64 -0
- package/es-modules/Grid/Pro/ColumnTypes/ColumnDataType.d.ts +29 -0
- package/es-modules/Grid/Pro/ColumnTypes/Validator.d.ts +118 -0
- package/es-modules/Grid/Pro/ColumnTypes/Validator.js +270 -0
- package/es-modules/Grid/Pro/ColumnTypes/ValidatorComposition.d.ts +32 -0
- package/es-modules/Grid/Pro/ColumnTypes/ValidatorComposition.js +63 -0
- package/es-modules/Grid/Pro/Credits/CreditsPro.d.ts +35 -0
- package/es-modules/Grid/Pro/Credits/CreditsPro.js +112 -0
- package/es-modules/Grid/Pro/Credits/CreditsProComposition.d.ts +28 -0
- package/es-modules/Grid/Pro/Credits/CreditsProComposition.js +61 -0
- package/es-modules/Grid/Pro/Export/Exporting.d.ts +68 -0
- package/es-modules/Grid/Pro/Export/Exporting.js +202 -0
- package/es-modules/Grid/Pro/Export/ExportingComposition.d.ts +68 -0
- package/es-modules/Grid/Pro/Export/ExportingComposition.js +55 -0
- package/es-modules/Grid/Pro/GridEvents.d.ts +119 -0
- package/es-modules/Grid/Pro/GridEvents.js +107 -0
- package/es-modules/Grid/Pro/Pagination/PaginationComposition.d.ts +75 -0
- package/es-modules/Grid/Pro/Pagination/PaginationComposition.js +76 -0
- package/es-modules/Grid/Pro/highcharts.d.ts +7 -0
- package/es-modules/Grid/index.d.ts +5 -0
- package/es-modules/Grid/index.js +19 -0
- package/es-modules/Shared/BaseForm.d.ts +49 -0
- package/es-modules/Shared/BaseForm.js +126 -0
- package/es-modules/Shared/DownloadURL.d.ts +85 -0
- package/es-modules/Shared/DownloadURL.js +198 -0
- package/es-modules/Shared/LangOptionsCore.d.ts +27 -0
- package/es-modules/Shared/TimeBase.d.ts +353 -0
- package/es-modules/Shared/TimeBase.js +830 -0
- package/es-modules/Shared/Types.d.ts +48 -0
- package/es-modules/masters/grid-pro.src.d.ts +99 -0
- package/es-modules/masters/grid-pro.src.js +129 -0
- package/grid-pro.d.ts +50 -0
- package/grid-pro.js +12 -0
- package/grid-pro.js.map +1 -0
- package/grid-pro.src.d.ts +50 -0
- package/grid-pro.src.js +26623 -0
- package/package.json +21 -0
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { XAxisOptions } from './Axis/AxisOptions';
|
|
2
|
+
import type { ChartOptions } from './Chart/ChartOptions';
|
|
3
|
+
import type { SeriesOptions } from './Series/SeriesOptions';
|
|
4
|
+
import type { LegendOptions } from './Legend/LegendOptions';
|
|
5
|
+
import Axis from './Axis/Axis.js';
|
|
6
|
+
import Chart from './Chart/Chart.js';
|
|
7
|
+
import Legend from './Legend/Legend.js';
|
|
8
|
+
import Series from './Series/Series.js';
|
|
9
|
+
declare namespace Foundation {
|
|
10
|
+
/**
|
|
11
|
+
* Register event options. If an event handler is set on the options, it
|
|
12
|
+
* should be subject to Chart.update, Axis.update and Series.update. This is
|
|
13
|
+
* contrary to general handlers that are set directly using addEvent either
|
|
14
|
+
* on the class or on the instance. #6538, #6943, #10861.
|
|
15
|
+
* @private
|
|
16
|
+
*/
|
|
17
|
+
function registerEventOptions(component: Axis | Chart | Legend | Series, options: XAxisOptions | ChartOptions | LegendOptions | SeriesOptions): void;
|
|
18
|
+
}
|
|
19
|
+
export default Foundation;
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/* *
|
|
2
|
+
*
|
|
3
|
+
* (c) 2010-2025 Torstein Honsi
|
|
4
|
+
*
|
|
5
|
+
* License: www.highcharts.com/license
|
|
6
|
+
*
|
|
7
|
+
* !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
|
|
8
|
+
*
|
|
9
|
+
* */
|
|
10
|
+
'use strict';
|
|
11
|
+
import U from './Utilities.js';
|
|
12
|
+
const { addEvent, isFunction, objectEach, removeEvent } = U;
|
|
13
|
+
/* *
|
|
14
|
+
*
|
|
15
|
+
* Class Namespace
|
|
16
|
+
*
|
|
17
|
+
* */
|
|
18
|
+
var Foundation;
|
|
19
|
+
(function (Foundation) {
|
|
20
|
+
/* *
|
|
21
|
+
*
|
|
22
|
+
* Functions
|
|
23
|
+
*
|
|
24
|
+
* */
|
|
25
|
+
/* eslint-disable valid-jsdoc */
|
|
26
|
+
/**
|
|
27
|
+
* Register event options. If an event handler is set on the options, it
|
|
28
|
+
* should be subject to Chart.update, Axis.update and Series.update. This is
|
|
29
|
+
* contrary to general handlers that are set directly using addEvent either
|
|
30
|
+
* on the class or on the instance. #6538, #6943, #10861.
|
|
31
|
+
* @private
|
|
32
|
+
*/
|
|
33
|
+
function registerEventOptions(component, options) {
|
|
34
|
+
// A lookup over those events that are added by _options_ (not
|
|
35
|
+
// programmatically). These are updated through .update()
|
|
36
|
+
component.eventOptions = component.eventOptions || {};
|
|
37
|
+
// Register event listeners
|
|
38
|
+
objectEach(options.events, function (event, eventType) {
|
|
39
|
+
// If event does not exist, or is changed by the .update()
|
|
40
|
+
// function
|
|
41
|
+
if (component.eventOptions[eventType] !== event) {
|
|
42
|
+
// Remove existing if set by option
|
|
43
|
+
if (component.eventOptions[eventType]) {
|
|
44
|
+
removeEvent(component, eventType, component.eventOptions[eventType]);
|
|
45
|
+
delete component.eventOptions[eventType];
|
|
46
|
+
}
|
|
47
|
+
if (isFunction(event)) {
|
|
48
|
+
component.eventOptions[eventType] = event;
|
|
49
|
+
addEvent(component, eventType, event, {
|
|
50
|
+
order: 0 // #14080 fire those events as firsts
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
Foundation.registerEventOptions = registerEventOptions;
|
|
57
|
+
})(Foundation || (Foundation = {}));
|
|
58
|
+
/* *
|
|
59
|
+
*
|
|
60
|
+
* Default Export
|
|
61
|
+
*
|
|
62
|
+
* */
|
|
63
|
+
export default Foundation;
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
import type CircleObject from './CircleObject';
|
|
2
|
+
import type GeometryObject from './GeometryObject';
|
|
3
|
+
import type IntersectionObject from './IntersectionObject';
|
|
4
|
+
import type PositionObject from '../Renderer/PositionObject';
|
|
5
|
+
declare namespace CircleUtilities {
|
|
6
|
+
/**
|
|
7
|
+
* @private
|
|
8
|
+
*
|
|
9
|
+
* @param {number} x
|
|
10
|
+
* Number to round
|
|
11
|
+
*
|
|
12
|
+
* @param {number} decimals
|
|
13
|
+
* Number of decimals to round to
|
|
14
|
+
*
|
|
15
|
+
* @return {number}
|
|
16
|
+
* Rounded number
|
|
17
|
+
*/
|
|
18
|
+
function round(x: number, decimals: number): number;
|
|
19
|
+
/**
|
|
20
|
+
* Calculates the area of a circle based on its radius.
|
|
21
|
+
*
|
|
22
|
+
* @private
|
|
23
|
+
*
|
|
24
|
+
* @param {number} r
|
|
25
|
+
* The radius of the circle.
|
|
26
|
+
*
|
|
27
|
+
* @return {number}
|
|
28
|
+
* Returns the area of the circle.
|
|
29
|
+
*/
|
|
30
|
+
function getAreaOfCircle(r: number): number;
|
|
31
|
+
/**
|
|
32
|
+
* Calculates the area of a circular segment based on the radius of the
|
|
33
|
+
* circle and the height of the segment.
|
|
34
|
+
*
|
|
35
|
+
* @see http://mathworld.wolfram.com/CircularSegment.html
|
|
36
|
+
*
|
|
37
|
+
* @private
|
|
38
|
+
*
|
|
39
|
+
* @param {number} r
|
|
40
|
+
* The radius of the circle.
|
|
41
|
+
*
|
|
42
|
+
* @param {number} h
|
|
43
|
+
* The height of the circular segment.
|
|
44
|
+
*
|
|
45
|
+
* @return {number}
|
|
46
|
+
* Returns the area of the circular segment.
|
|
47
|
+
*/
|
|
48
|
+
function getCircularSegmentArea(r: number, h: number): number;
|
|
49
|
+
/**
|
|
50
|
+
* Calculates the area of overlap between two circles based on their
|
|
51
|
+
* radiuses and the distance between them.
|
|
52
|
+
*
|
|
53
|
+
* @see http://mathworld.wolfram.com/Circle-CircleIntersection.html
|
|
54
|
+
*
|
|
55
|
+
* @private
|
|
56
|
+
*
|
|
57
|
+
* @param {number} r1
|
|
58
|
+
* Radius of the first circle.
|
|
59
|
+
*
|
|
60
|
+
* @param {number} r2
|
|
61
|
+
* Radius of the second circle.
|
|
62
|
+
*
|
|
63
|
+
* @param {number} d
|
|
64
|
+
* The distance between the two circles.
|
|
65
|
+
*
|
|
66
|
+
* @return {number}
|
|
67
|
+
* Returns the area of overlap between the two circles.
|
|
68
|
+
*/
|
|
69
|
+
function getOverlapBetweenCircles(r1: number, r2: number, d: number): number;
|
|
70
|
+
/**
|
|
71
|
+
* Calculates the intersection points of two circles.
|
|
72
|
+
*
|
|
73
|
+
* NOTE: does not handle floating errors well.
|
|
74
|
+
*
|
|
75
|
+
* @private
|
|
76
|
+
*
|
|
77
|
+
* @param {Highcharts.CircleObject} c1
|
|
78
|
+
* The first circle.
|
|
79
|
+
*
|
|
80
|
+
* @param {Highcharts.CircleObject} c2
|
|
81
|
+
* The second circle.
|
|
82
|
+
*
|
|
83
|
+
* @return {Array<Highcharts.PositionObject>}
|
|
84
|
+
* Returns the resulting intersection points.
|
|
85
|
+
*/
|
|
86
|
+
function getCircleCircleIntersection(c1: CircleObject, c2: CircleObject): Array<PositionObject>;
|
|
87
|
+
/**
|
|
88
|
+
* Calculates all the intersection points for between a list of circles.
|
|
89
|
+
*
|
|
90
|
+
* @private
|
|
91
|
+
*
|
|
92
|
+
* @param {Array<Highcharts.CircleObject>} circles
|
|
93
|
+
* The circles to calculate the points from.
|
|
94
|
+
*
|
|
95
|
+
* @return {Array<Highcharts.GeometryObject>}
|
|
96
|
+
* Returns a list of intersection points.
|
|
97
|
+
*/
|
|
98
|
+
function getCirclesIntersectionPoints(circles: Array<CircleObject>): Array<GeometryObject>;
|
|
99
|
+
/**
|
|
100
|
+
* Tests whether the first circle is completely overlapping the second
|
|
101
|
+
* circle.
|
|
102
|
+
*
|
|
103
|
+
* @private
|
|
104
|
+
*
|
|
105
|
+
* @param {Highcharts.CircleObject} circle1
|
|
106
|
+
* The first circle.
|
|
107
|
+
*
|
|
108
|
+
* @param {Highcharts.CircleObject} circle2
|
|
109
|
+
* The second circle.
|
|
110
|
+
*
|
|
111
|
+
* @return {boolean}
|
|
112
|
+
* Returns true if circle1 is completely overlapping circle2, false if not.
|
|
113
|
+
*/
|
|
114
|
+
function isCircle1CompletelyOverlappingCircle2(circle1: CircleObject, circle2: CircleObject): boolean;
|
|
115
|
+
/**
|
|
116
|
+
* Tests whether a point lies within a given circle.
|
|
117
|
+
* @private
|
|
118
|
+
* @param {Highcharts.PositionObject} point
|
|
119
|
+
* The point to test for.
|
|
120
|
+
*
|
|
121
|
+
* @param {Highcharts.CircleObject} circle
|
|
122
|
+
* The circle to test if the point is within.
|
|
123
|
+
*
|
|
124
|
+
* @return {boolean}
|
|
125
|
+
* Returns true if the point is inside, false if outside.
|
|
126
|
+
*/
|
|
127
|
+
function isPointInsideCircle(point: PositionObject, circle: CircleObject): boolean;
|
|
128
|
+
/**
|
|
129
|
+
* Tests whether a point lies within a set of circles.
|
|
130
|
+
*
|
|
131
|
+
* @private
|
|
132
|
+
*
|
|
133
|
+
* @param {Highcharts.PositionObject} point
|
|
134
|
+
* The point to test.
|
|
135
|
+
*
|
|
136
|
+
* @param {Array<Highcharts.CircleObject>} circles
|
|
137
|
+
* The list of circles to test against.
|
|
138
|
+
*
|
|
139
|
+
* @return {boolean}
|
|
140
|
+
* Returns true if the point is inside all the circles, false if not.
|
|
141
|
+
*/
|
|
142
|
+
function isPointInsideAllCircles(point: PositionObject, circles: Array<CircleObject>): boolean;
|
|
143
|
+
/**
|
|
144
|
+
* Tests whether a point lies outside a set of circles.
|
|
145
|
+
*
|
|
146
|
+
* TODO: add unit tests.
|
|
147
|
+
*
|
|
148
|
+
* @private
|
|
149
|
+
*
|
|
150
|
+
* @param {Highcharts.PositionObject} point
|
|
151
|
+
* The point to test.
|
|
152
|
+
*
|
|
153
|
+
* @param {Array<Highcharts.CircleObject>} circles
|
|
154
|
+
* The list of circles to test against.
|
|
155
|
+
*
|
|
156
|
+
* @return {boolean}
|
|
157
|
+
* Returns true if the point is outside all the circles, false if not.
|
|
158
|
+
*/
|
|
159
|
+
function isPointOutsideAllCircles(point: PositionObject, circles: Array<CircleObject>): boolean;
|
|
160
|
+
/**
|
|
161
|
+
* Calculates the points for the polygon of the intersection area between
|
|
162
|
+
* a set of circles.
|
|
163
|
+
*
|
|
164
|
+
* @private
|
|
165
|
+
*
|
|
166
|
+
* @param {Array<Highcharts.CircleObject>} circles
|
|
167
|
+
* List of circles to calculate polygon of.
|
|
168
|
+
*
|
|
169
|
+
* @return {Array<Highcharts.GeometryObject>}
|
|
170
|
+
* Return list of points in the intersection polygon.
|
|
171
|
+
*/
|
|
172
|
+
function getCirclesIntersectionPolygon(circles: Array<CircleObject>): Array<GeometryObject>;
|
|
173
|
+
/**
|
|
174
|
+
* Calculate the path for the area of overlap between a set of circles.
|
|
175
|
+
*
|
|
176
|
+
* @todo handle cases with only 1 or 0 arcs.
|
|
177
|
+
*
|
|
178
|
+
* @private
|
|
179
|
+
*
|
|
180
|
+
* @param {Array<Highcharts.CircleObject>} circles
|
|
181
|
+
* List of circles to calculate area of.
|
|
182
|
+
*
|
|
183
|
+
* @return {Highcharts.GeometryIntersectionObject|undefined}
|
|
184
|
+
* Returns the path for the area of overlap. Returns an empty string if
|
|
185
|
+
* there are no intersection between all the circles.
|
|
186
|
+
*/
|
|
187
|
+
function getAreaOfIntersectionBetweenCircles(circles: Array<CircleObject>): (IntersectionObject | undefined);
|
|
188
|
+
}
|
|
189
|
+
export default CircleUtilities;
|
|
@@ -0,0 +1,388 @@
|
|
|
1
|
+
/* *
|
|
2
|
+
*
|
|
3
|
+
* (c) 2010-2025 Highsoft AS
|
|
4
|
+
*
|
|
5
|
+
* License: www.highcharts.com/license
|
|
6
|
+
*
|
|
7
|
+
* !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
|
|
8
|
+
*
|
|
9
|
+
* */
|
|
10
|
+
'use strict';
|
|
11
|
+
import Geometry from './GeometryUtilities.js';
|
|
12
|
+
import Utilities from '../Utilities';
|
|
13
|
+
const { getAngleBetweenPoints, getCenterOfPoints, getDistanceBetweenPoints } = Geometry;
|
|
14
|
+
const { correctFloat } = Utilities;
|
|
15
|
+
/* *
|
|
16
|
+
*
|
|
17
|
+
* Namespace
|
|
18
|
+
*
|
|
19
|
+
* */
|
|
20
|
+
var CircleUtilities;
|
|
21
|
+
(function (CircleUtilities) {
|
|
22
|
+
/* *
|
|
23
|
+
*
|
|
24
|
+
* Functions
|
|
25
|
+
*
|
|
26
|
+
* */
|
|
27
|
+
/**
|
|
28
|
+
* @private
|
|
29
|
+
*
|
|
30
|
+
* @param {number} x
|
|
31
|
+
* Number to round
|
|
32
|
+
*
|
|
33
|
+
* @param {number} decimals
|
|
34
|
+
* Number of decimals to round to
|
|
35
|
+
*
|
|
36
|
+
* @return {number}
|
|
37
|
+
* Rounded number
|
|
38
|
+
*/
|
|
39
|
+
function round(x, decimals) {
|
|
40
|
+
const a = Math.pow(10, decimals);
|
|
41
|
+
return Math.round(x * a) / a;
|
|
42
|
+
}
|
|
43
|
+
CircleUtilities.round = round;
|
|
44
|
+
/**
|
|
45
|
+
* Calculates the area of a circle based on its radius.
|
|
46
|
+
*
|
|
47
|
+
* @private
|
|
48
|
+
*
|
|
49
|
+
* @param {number} r
|
|
50
|
+
* The radius of the circle.
|
|
51
|
+
*
|
|
52
|
+
* @return {number}
|
|
53
|
+
* Returns the area of the circle.
|
|
54
|
+
*/
|
|
55
|
+
function getAreaOfCircle(r) {
|
|
56
|
+
if (r <= 0) {
|
|
57
|
+
throw new Error('radius of circle must be a positive number.');
|
|
58
|
+
}
|
|
59
|
+
return correctFloat(Math.PI * r * r);
|
|
60
|
+
}
|
|
61
|
+
CircleUtilities.getAreaOfCircle = getAreaOfCircle;
|
|
62
|
+
/**
|
|
63
|
+
* Calculates the area of a circular segment based on the radius of the
|
|
64
|
+
* circle and the height of the segment.
|
|
65
|
+
*
|
|
66
|
+
* @see http://mathworld.wolfram.com/CircularSegment.html
|
|
67
|
+
*
|
|
68
|
+
* @private
|
|
69
|
+
*
|
|
70
|
+
* @param {number} r
|
|
71
|
+
* The radius of the circle.
|
|
72
|
+
*
|
|
73
|
+
* @param {number} h
|
|
74
|
+
* The height of the circular segment.
|
|
75
|
+
*
|
|
76
|
+
* @return {number}
|
|
77
|
+
* Returns the area of the circular segment.
|
|
78
|
+
*/
|
|
79
|
+
function getCircularSegmentArea(r, h) {
|
|
80
|
+
return (r * r * Math.acos(1 - h / r) -
|
|
81
|
+
(r - h) * Math.sqrt(h * (2 * r - h)));
|
|
82
|
+
}
|
|
83
|
+
CircleUtilities.getCircularSegmentArea = getCircularSegmentArea;
|
|
84
|
+
/**
|
|
85
|
+
* Calculates the area of overlap between two circles based on their
|
|
86
|
+
* radiuses and the distance between them.
|
|
87
|
+
*
|
|
88
|
+
* @see http://mathworld.wolfram.com/Circle-CircleIntersection.html
|
|
89
|
+
*
|
|
90
|
+
* @private
|
|
91
|
+
*
|
|
92
|
+
* @param {number} r1
|
|
93
|
+
* Radius of the first circle.
|
|
94
|
+
*
|
|
95
|
+
* @param {number} r2
|
|
96
|
+
* Radius of the second circle.
|
|
97
|
+
*
|
|
98
|
+
* @param {number} d
|
|
99
|
+
* The distance between the two circles.
|
|
100
|
+
*
|
|
101
|
+
* @return {number}
|
|
102
|
+
* Returns the area of overlap between the two circles.
|
|
103
|
+
*/
|
|
104
|
+
function getOverlapBetweenCircles(r1, r2, d) {
|
|
105
|
+
let overlap = 0;
|
|
106
|
+
// If the distance is larger than the sum of the radiuses then the
|
|
107
|
+
// circles does not overlap.
|
|
108
|
+
if (d < r1 + r2) {
|
|
109
|
+
if (d <= Math.abs(r2 - r1)) {
|
|
110
|
+
// If the circles are completely overlapping, then the overlap
|
|
111
|
+
// equals the area of the smallest circle.
|
|
112
|
+
overlap = getAreaOfCircle(r1 < r2 ? r1 : r2);
|
|
113
|
+
}
|
|
114
|
+
else {
|
|
115
|
+
// Height of first triangle segment.
|
|
116
|
+
const d1 = (r1 * r1 - r2 * r2 + d * d) / (2 * d),
|
|
117
|
+
// Height of second triangle segment.
|
|
118
|
+
d2 = d - d1;
|
|
119
|
+
overlap = (getCircularSegmentArea(r1, r1 - d1) +
|
|
120
|
+
getCircularSegmentArea(r2, r2 - d2));
|
|
121
|
+
}
|
|
122
|
+
// Round the result to two decimals.
|
|
123
|
+
overlap = round(overlap, 14);
|
|
124
|
+
}
|
|
125
|
+
return overlap;
|
|
126
|
+
}
|
|
127
|
+
CircleUtilities.getOverlapBetweenCircles = getOverlapBetweenCircles;
|
|
128
|
+
/**
|
|
129
|
+
* Calculates the intersection points of two circles.
|
|
130
|
+
*
|
|
131
|
+
* NOTE: does not handle floating errors well.
|
|
132
|
+
*
|
|
133
|
+
* @private
|
|
134
|
+
*
|
|
135
|
+
* @param {Highcharts.CircleObject} c1
|
|
136
|
+
* The first circle.
|
|
137
|
+
*
|
|
138
|
+
* @param {Highcharts.CircleObject} c2
|
|
139
|
+
* The second circle.
|
|
140
|
+
*
|
|
141
|
+
* @return {Array<Highcharts.PositionObject>}
|
|
142
|
+
* Returns the resulting intersection points.
|
|
143
|
+
*/
|
|
144
|
+
function getCircleCircleIntersection(c1, c2) {
|
|
145
|
+
const d = getDistanceBetweenPoints(c1, c2), r1 = c1.r, r2 = c2.r;
|
|
146
|
+
let points = [];
|
|
147
|
+
if (d < r1 + r2 && d > Math.abs(r1 - r2)) {
|
|
148
|
+
// If the circles are overlapping, but not completely overlapping,
|
|
149
|
+
// then it exists intersecting points.
|
|
150
|
+
const r1Square = r1 * r1, r2Square = r2 * r2,
|
|
151
|
+
// `d^2 - r^2 + R^2 / 2d`
|
|
152
|
+
x = (r1Square - r2Square + d * d) / (2 * d),
|
|
153
|
+
// `y^2 = R^2 - x^2`
|
|
154
|
+
y = Math.sqrt(r1Square - x * x), x1 = c1.x, x2 = c2.x, y1 = c1.y, y2 = c2.y, x0 = x1 + x * (x2 - x1) / d, y0 = y1 + x * (y2 - y1) / d, rx = -(y2 - y1) * (y / d), ry = -(x2 - x1) * (y / d);
|
|
155
|
+
points = [
|
|
156
|
+
{ x: round(x0 + rx, 14), y: round(y0 - ry, 14) },
|
|
157
|
+
{ x: round(x0 - rx, 14), y: round(y0 + ry, 14) }
|
|
158
|
+
];
|
|
159
|
+
}
|
|
160
|
+
return points;
|
|
161
|
+
}
|
|
162
|
+
CircleUtilities.getCircleCircleIntersection = getCircleCircleIntersection;
|
|
163
|
+
/**
|
|
164
|
+
* Calculates all the intersection points for between a list of circles.
|
|
165
|
+
*
|
|
166
|
+
* @private
|
|
167
|
+
*
|
|
168
|
+
* @param {Array<Highcharts.CircleObject>} circles
|
|
169
|
+
* The circles to calculate the points from.
|
|
170
|
+
*
|
|
171
|
+
* @return {Array<Highcharts.GeometryObject>}
|
|
172
|
+
* Returns a list of intersection points.
|
|
173
|
+
*/
|
|
174
|
+
function getCirclesIntersectionPoints(circles) {
|
|
175
|
+
return circles.reduce((points, c1, i, arr) => {
|
|
176
|
+
const additional = arr
|
|
177
|
+
.slice(i + 1)
|
|
178
|
+
.reduce((points, c2, j) => {
|
|
179
|
+
const indexes = [i, j + i + 1];
|
|
180
|
+
return points.concat(getCircleCircleIntersection(c1, c2).map((p) => {
|
|
181
|
+
p.indexes = indexes;
|
|
182
|
+
return p;
|
|
183
|
+
}));
|
|
184
|
+
}, []);
|
|
185
|
+
return points.concat(additional);
|
|
186
|
+
}, []);
|
|
187
|
+
}
|
|
188
|
+
CircleUtilities.getCirclesIntersectionPoints = getCirclesIntersectionPoints;
|
|
189
|
+
/**
|
|
190
|
+
* Tests whether the first circle is completely overlapping the second
|
|
191
|
+
* circle.
|
|
192
|
+
*
|
|
193
|
+
* @private
|
|
194
|
+
*
|
|
195
|
+
* @param {Highcharts.CircleObject} circle1
|
|
196
|
+
* The first circle.
|
|
197
|
+
*
|
|
198
|
+
* @param {Highcharts.CircleObject} circle2
|
|
199
|
+
* The second circle.
|
|
200
|
+
*
|
|
201
|
+
* @return {boolean}
|
|
202
|
+
* Returns true if circle1 is completely overlapping circle2, false if not.
|
|
203
|
+
*/
|
|
204
|
+
function isCircle1CompletelyOverlappingCircle2(circle1, circle2) {
|
|
205
|
+
return getDistanceBetweenPoints(circle1, circle2) + circle2.r < circle1.r + 1e-10;
|
|
206
|
+
}
|
|
207
|
+
CircleUtilities.isCircle1CompletelyOverlappingCircle2 = isCircle1CompletelyOverlappingCircle2;
|
|
208
|
+
/**
|
|
209
|
+
* Tests whether a point lies within a given circle.
|
|
210
|
+
* @private
|
|
211
|
+
* @param {Highcharts.PositionObject} point
|
|
212
|
+
* The point to test for.
|
|
213
|
+
*
|
|
214
|
+
* @param {Highcharts.CircleObject} circle
|
|
215
|
+
* The circle to test if the point is within.
|
|
216
|
+
*
|
|
217
|
+
* @return {boolean}
|
|
218
|
+
* Returns true if the point is inside, false if outside.
|
|
219
|
+
*/
|
|
220
|
+
function isPointInsideCircle(point, circle) {
|
|
221
|
+
return getDistanceBetweenPoints(point, circle) <= circle.r + 1e-10;
|
|
222
|
+
}
|
|
223
|
+
CircleUtilities.isPointInsideCircle = isPointInsideCircle;
|
|
224
|
+
/**
|
|
225
|
+
* Tests whether a point lies within a set of circles.
|
|
226
|
+
*
|
|
227
|
+
* @private
|
|
228
|
+
*
|
|
229
|
+
* @param {Highcharts.PositionObject} point
|
|
230
|
+
* The point to test.
|
|
231
|
+
*
|
|
232
|
+
* @param {Array<Highcharts.CircleObject>} circles
|
|
233
|
+
* The list of circles to test against.
|
|
234
|
+
*
|
|
235
|
+
* @return {boolean}
|
|
236
|
+
* Returns true if the point is inside all the circles, false if not.
|
|
237
|
+
*/
|
|
238
|
+
function isPointInsideAllCircles(point, circles) {
|
|
239
|
+
return !circles.some(function (circle) {
|
|
240
|
+
return !isPointInsideCircle(point, circle);
|
|
241
|
+
});
|
|
242
|
+
}
|
|
243
|
+
CircleUtilities.isPointInsideAllCircles = isPointInsideAllCircles;
|
|
244
|
+
/**
|
|
245
|
+
* Tests whether a point lies outside a set of circles.
|
|
246
|
+
*
|
|
247
|
+
* TODO: add unit tests.
|
|
248
|
+
*
|
|
249
|
+
* @private
|
|
250
|
+
*
|
|
251
|
+
* @param {Highcharts.PositionObject} point
|
|
252
|
+
* The point to test.
|
|
253
|
+
*
|
|
254
|
+
* @param {Array<Highcharts.CircleObject>} circles
|
|
255
|
+
* The list of circles to test against.
|
|
256
|
+
*
|
|
257
|
+
* @return {boolean}
|
|
258
|
+
* Returns true if the point is outside all the circles, false if not.
|
|
259
|
+
*/
|
|
260
|
+
function isPointOutsideAllCircles(point, circles) {
|
|
261
|
+
return !circles.some(function (circle) {
|
|
262
|
+
return isPointInsideCircle(point, circle);
|
|
263
|
+
});
|
|
264
|
+
}
|
|
265
|
+
CircleUtilities.isPointOutsideAllCircles = isPointOutsideAllCircles;
|
|
266
|
+
/**
|
|
267
|
+
* Calculates the points for the polygon of the intersection area between
|
|
268
|
+
* a set of circles.
|
|
269
|
+
*
|
|
270
|
+
* @private
|
|
271
|
+
*
|
|
272
|
+
* @param {Array<Highcharts.CircleObject>} circles
|
|
273
|
+
* List of circles to calculate polygon of.
|
|
274
|
+
*
|
|
275
|
+
* @return {Array<Highcharts.GeometryObject>}
|
|
276
|
+
* Return list of points in the intersection polygon.
|
|
277
|
+
*/
|
|
278
|
+
function getCirclesIntersectionPolygon(circles) {
|
|
279
|
+
return getCirclesIntersectionPoints(circles)
|
|
280
|
+
.filter(function (p) {
|
|
281
|
+
return isPointInsideAllCircles(p, circles);
|
|
282
|
+
});
|
|
283
|
+
}
|
|
284
|
+
CircleUtilities.getCirclesIntersectionPolygon = getCirclesIntersectionPolygon;
|
|
285
|
+
/**
|
|
286
|
+
* Calculate the path for the area of overlap between a set of circles.
|
|
287
|
+
*
|
|
288
|
+
* @todo handle cases with only 1 or 0 arcs.
|
|
289
|
+
*
|
|
290
|
+
* @private
|
|
291
|
+
*
|
|
292
|
+
* @param {Array<Highcharts.CircleObject>} circles
|
|
293
|
+
* List of circles to calculate area of.
|
|
294
|
+
*
|
|
295
|
+
* @return {Highcharts.GeometryIntersectionObject|undefined}
|
|
296
|
+
* Returns the path for the area of overlap. Returns an empty string if
|
|
297
|
+
* there are no intersection between all the circles.
|
|
298
|
+
*/
|
|
299
|
+
function getAreaOfIntersectionBetweenCircles(circles) {
|
|
300
|
+
let intersectionPoints = getCirclesIntersectionPolygon(circles), result;
|
|
301
|
+
if (intersectionPoints.length > 1) {
|
|
302
|
+
// Calculate the center of the intersection points.
|
|
303
|
+
const center = getCenterOfPoints(intersectionPoints);
|
|
304
|
+
intersectionPoints = intersectionPoints
|
|
305
|
+
// Calculate the angle between the center and the points.
|
|
306
|
+
.map(function (p) {
|
|
307
|
+
p.angle = getAngleBetweenPoints(center, p);
|
|
308
|
+
return p;
|
|
309
|
+
})
|
|
310
|
+
// Sort the points by the angle to the center.
|
|
311
|
+
.sort(function (a, b) {
|
|
312
|
+
return b.angle - a.angle;
|
|
313
|
+
});
|
|
314
|
+
const startPoint = intersectionPoints[intersectionPoints.length - 1];
|
|
315
|
+
const arcs = intersectionPoints
|
|
316
|
+
.reduce(function (data, p1) {
|
|
317
|
+
const { startPoint } = data, midPoint = getCenterOfPoints([startPoint, p1]);
|
|
318
|
+
// Calculate the arc from the intersection points and their
|
|
319
|
+
// circles.
|
|
320
|
+
const arc = p1.indexes
|
|
321
|
+
// Filter out circles that are not included in both
|
|
322
|
+
// intersection points.
|
|
323
|
+
.filter(function (index) {
|
|
324
|
+
return startPoint.indexes.indexOf(index) > -1;
|
|
325
|
+
})
|
|
326
|
+
// Iterate the circles of the intersection points and
|
|
327
|
+
// calculate arcs.
|
|
328
|
+
.reduce(function (arc, index) {
|
|
329
|
+
const circle = circles[index], angle1 = getAngleBetweenPoints(circle, p1), angle2 = getAngleBetweenPoints(circle, startPoint), angleDiff = angle2 - angle1 +
|
|
330
|
+
(angle2 < angle1 ? 2 * Math.PI : 0), angle = angle2 - angleDiff / 2;
|
|
331
|
+
let width = getDistanceBetweenPoints(midPoint, {
|
|
332
|
+
x: circle.x + circle.r * Math.sin(angle),
|
|
333
|
+
y: circle.y + circle.r * Math.cos(angle)
|
|
334
|
+
});
|
|
335
|
+
const { r } = circle;
|
|
336
|
+
// Width can sometimes become to large due to
|
|
337
|
+
// floating point errors
|
|
338
|
+
if (width > r * 2) {
|
|
339
|
+
width = r * 2;
|
|
340
|
+
}
|
|
341
|
+
// Get the arc with the smallest width.
|
|
342
|
+
if (!arc || arc.width > width) {
|
|
343
|
+
arc = {
|
|
344
|
+
r,
|
|
345
|
+
largeArc: width > r ? 1 : 0,
|
|
346
|
+
width,
|
|
347
|
+
x: p1.x,
|
|
348
|
+
y: p1.y
|
|
349
|
+
};
|
|
350
|
+
}
|
|
351
|
+
// Return the chosen arc.
|
|
352
|
+
return arc;
|
|
353
|
+
}, null);
|
|
354
|
+
// If we find an arc then add it to the list and update p2.
|
|
355
|
+
if (arc) {
|
|
356
|
+
const { r } = arc;
|
|
357
|
+
data.arcs.push(['A', r, r, 0, arc.largeArc, 1, arc.x, arc.y]);
|
|
358
|
+
data.startPoint = p1;
|
|
359
|
+
}
|
|
360
|
+
return data;
|
|
361
|
+
}, {
|
|
362
|
+
startPoint: startPoint,
|
|
363
|
+
arcs: []
|
|
364
|
+
}).arcs;
|
|
365
|
+
if (arcs.length === 0) {
|
|
366
|
+
// Empty
|
|
367
|
+
}
|
|
368
|
+
else if (arcs.length === 1) {
|
|
369
|
+
// Empty
|
|
370
|
+
}
|
|
371
|
+
else {
|
|
372
|
+
arcs.unshift(['M', startPoint.x, startPoint.y]);
|
|
373
|
+
result = {
|
|
374
|
+
center,
|
|
375
|
+
d: arcs
|
|
376
|
+
};
|
|
377
|
+
}
|
|
378
|
+
}
|
|
379
|
+
return result;
|
|
380
|
+
}
|
|
381
|
+
CircleUtilities.getAreaOfIntersectionBetweenCircles = getAreaOfIntersectionBetweenCircles;
|
|
382
|
+
})(CircleUtilities || (CircleUtilities = {}));
|
|
383
|
+
/* *
|
|
384
|
+
*
|
|
385
|
+
* Default Export
|
|
386
|
+
*
|
|
387
|
+
* */
|
|
388
|
+
export default CircleUtilities;
|