@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,402 @@
|
|
|
1
|
+
/* *
|
|
2
|
+
*
|
|
3
|
+
* (c) 2009-2025 Øystein Moseng
|
|
4
|
+
*
|
|
5
|
+
* Accessibility module for Highcharts
|
|
6
|
+
*
|
|
7
|
+
* License: www.highcharts.com/license
|
|
8
|
+
*
|
|
9
|
+
* !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
|
|
10
|
+
*
|
|
11
|
+
* */
|
|
12
|
+
'use strict';
|
|
13
|
+
import D from '../Core/Defaults.js';
|
|
14
|
+
const { defaultOptions } = D;
|
|
15
|
+
import H from '../Core/Globals.js';
|
|
16
|
+
const { doc } = H;
|
|
17
|
+
import U from '../Core/Utilities.js';
|
|
18
|
+
const { addEvent, extend, fireEvent, merge } = U;
|
|
19
|
+
import HU from './Utils/HTMLUtilities.js';
|
|
20
|
+
const { removeElement } = HU;
|
|
21
|
+
import A11yI18n from './A11yI18n.js';
|
|
22
|
+
import ContainerComponent from './Components/ContainerComponent.js';
|
|
23
|
+
import FocusBorderComposition from './FocusBorder.js';
|
|
24
|
+
import InfoRegionsComponent from './Components/InfoRegionsComponent.js';
|
|
25
|
+
import KeyboardNavigation from './KeyboardNavigation.js';
|
|
26
|
+
import LegendComponent from './Components/LegendComponent.js';
|
|
27
|
+
import MenuComponent from './Components/MenuComponent.js';
|
|
28
|
+
import NavigatorComponent from './Components/NavigatorComponent.js';
|
|
29
|
+
import NewDataAnnouncer from './Components/SeriesComponent/NewDataAnnouncer.js';
|
|
30
|
+
import ProxyProvider from './ProxyProvider.js';
|
|
31
|
+
import RangeSelectorComponent from './Components/RangeSelectorComponent.js';
|
|
32
|
+
import SeriesComponent from './Components/SeriesComponent/SeriesComponent.js';
|
|
33
|
+
import ZoomComponent from './Components/ZoomComponent.js';
|
|
34
|
+
import whcm from './HighContrastMode.js';
|
|
35
|
+
import highContrastTheme from './HighContrastTheme.js';
|
|
36
|
+
import defaultOptionsA11Y from './Options/A11yDefaults.js';
|
|
37
|
+
import defaultLangOptions from './Options/LangDefaults.js';
|
|
38
|
+
import copyDeprecatedOptions from './Options/DeprecatedOptions.js';
|
|
39
|
+
/* *
|
|
40
|
+
*
|
|
41
|
+
* Class
|
|
42
|
+
*
|
|
43
|
+
* */
|
|
44
|
+
/**
|
|
45
|
+
* The Accessibility class
|
|
46
|
+
*
|
|
47
|
+
* @private
|
|
48
|
+
* @requires modules/accessibility
|
|
49
|
+
*
|
|
50
|
+
* @class
|
|
51
|
+
* @name Highcharts.Accessibility
|
|
52
|
+
*
|
|
53
|
+
* @param {Highcharts.Chart} chart
|
|
54
|
+
* Chart object
|
|
55
|
+
*/
|
|
56
|
+
class Accessibility {
|
|
57
|
+
/* *
|
|
58
|
+
*
|
|
59
|
+
* Constructor
|
|
60
|
+
*
|
|
61
|
+
* */
|
|
62
|
+
constructor(chart) {
|
|
63
|
+
this.init(chart);
|
|
64
|
+
}
|
|
65
|
+
/* *
|
|
66
|
+
*
|
|
67
|
+
* Functions
|
|
68
|
+
*
|
|
69
|
+
* */
|
|
70
|
+
/**
|
|
71
|
+
* Initialize the accessibility class
|
|
72
|
+
* @private
|
|
73
|
+
* @param {Highcharts.Chart} chart
|
|
74
|
+
* Chart object
|
|
75
|
+
*/
|
|
76
|
+
init(chart) {
|
|
77
|
+
this.chart = chart;
|
|
78
|
+
// Abort on old browsers
|
|
79
|
+
if (!doc?.addEventListener) {
|
|
80
|
+
this.zombie = true;
|
|
81
|
+
this.components = {};
|
|
82
|
+
chart.renderTo.setAttribute('aria-hidden', true);
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
85
|
+
// Copy over any deprecated options that are used. We could do this on
|
|
86
|
+
// every update, but it is probably not needed.
|
|
87
|
+
copyDeprecatedOptions(chart);
|
|
88
|
+
this.proxyProvider = new ProxyProvider(this.chart);
|
|
89
|
+
this.initComponents();
|
|
90
|
+
this.keyboardNavigation = new KeyboardNavigation(chart, this.components);
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* @private
|
|
94
|
+
*/
|
|
95
|
+
initComponents() {
|
|
96
|
+
const chart = this.chart;
|
|
97
|
+
const proxyProvider = this.proxyProvider;
|
|
98
|
+
const a11yOptions = chart.options.accessibility;
|
|
99
|
+
this.components = {
|
|
100
|
+
container: new ContainerComponent(),
|
|
101
|
+
infoRegions: new InfoRegionsComponent(),
|
|
102
|
+
legend: new LegendComponent(),
|
|
103
|
+
chartMenu: new MenuComponent(),
|
|
104
|
+
rangeSelector: new RangeSelectorComponent(),
|
|
105
|
+
series: new SeriesComponent(),
|
|
106
|
+
zoom: new ZoomComponent(),
|
|
107
|
+
navigator: new NavigatorComponent()
|
|
108
|
+
};
|
|
109
|
+
if (a11yOptions.customComponents) {
|
|
110
|
+
extend(this.components, a11yOptions.customComponents);
|
|
111
|
+
}
|
|
112
|
+
const components = this.components;
|
|
113
|
+
this.getComponentOrder().forEach(function (componentName) {
|
|
114
|
+
components[componentName].initBase(chart, proxyProvider);
|
|
115
|
+
components[componentName].init();
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Get order to update components in.
|
|
120
|
+
* @private
|
|
121
|
+
*/
|
|
122
|
+
getComponentOrder() {
|
|
123
|
+
if (!this.components) {
|
|
124
|
+
return []; // For zombie accessibility object on old browsers
|
|
125
|
+
}
|
|
126
|
+
if (!this.components.series) {
|
|
127
|
+
return Object.keys(this.components);
|
|
128
|
+
}
|
|
129
|
+
const componentsExceptSeries = Object.keys(this.components)
|
|
130
|
+
.filter((c) => c !== 'series');
|
|
131
|
+
// Update series first, so that other components can read accessibility
|
|
132
|
+
// info on points.
|
|
133
|
+
return ['series'].concat(componentsExceptSeries);
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Update all components.
|
|
137
|
+
*/
|
|
138
|
+
update() {
|
|
139
|
+
const components = this.components, chart = this.chart, a11yOptions = chart.options.accessibility;
|
|
140
|
+
fireEvent(chart, 'beforeA11yUpdate');
|
|
141
|
+
// Update the chart type list as this is used by multiple modules
|
|
142
|
+
chart.types = this.getChartTypes();
|
|
143
|
+
// Update proxies. We don't update proxy positions since most likely we
|
|
144
|
+
// need to recreate the proxies on update.
|
|
145
|
+
const kbdNavOrder = a11yOptions.keyboardNavigation.order;
|
|
146
|
+
this.proxyProvider.updateGroupOrder(kbdNavOrder);
|
|
147
|
+
// Update markup
|
|
148
|
+
this.getComponentOrder().forEach(function (componentName) {
|
|
149
|
+
components[componentName].onChartUpdate();
|
|
150
|
+
fireEvent(chart, 'afterA11yComponentUpdate', {
|
|
151
|
+
name: componentName,
|
|
152
|
+
component: components[componentName]
|
|
153
|
+
});
|
|
154
|
+
});
|
|
155
|
+
// Update keyboard navigation
|
|
156
|
+
this.keyboardNavigation.update(kbdNavOrder);
|
|
157
|
+
// Handle high contrast mode
|
|
158
|
+
// Should only be applied once, and not if explicitly disabled
|
|
159
|
+
if (!chart.highContrastModeActive &&
|
|
160
|
+
a11yOptions.highContrastMode !== false && (whcm.isHighContrastModeActive() ||
|
|
161
|
+
a11yOptions.highContrastMode === true)) {
|
|
162
|
+
whcm.setHighContrastTheme(chart);
|
|
163
|
+
}
|
|
164
|
+
fireEvent(chart, 'afterA11yUpdate', {
|
|
165
|
+
accessibility: this
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Destroy all elements.
|
|
170
|
+
*/
|
|
171
|
+
destroy() {
|
|
172
|
+
const chart = this.chart || {};
|
|
173
|
+
// Destroy components
|
|
174
|
+
const components = this.components;
|
|
175
|
+
Object.keys(components).forEach(function (componentName) {
|
|
176
|
+
components[componentName].destroy();
|
|
177
|
+
components[componentName].destroyBase();
|
|
178
|
+
});
|
|
179
|
+
// Destroy proxy provider
|
|
180
|
+
if (this.proxyProvider) {
|
|
181
|
+
this.proxyProvider.destroy();
|
|
182
|
+
}
|
|
183
|
+
// Remove announcer container
|
|
184
|
+
if (chart.announcerContainer) {
|
|
185
|
+
removeElement(chart.announcerContainer);
|
|
186
|
+
}
|
|
187
|
+
// Kill keyboard nav
|
|
188
|
+
if (this.keyboardNavigation) {
|
|
189
|
+
this.keyboardNavigation.destroy();
|
|
190
|
+
}
|
|
191
|
+
// Hide container from screen readers if it exists
|
|
192
|
+
if (chart.renderTo) {
|
|
193
|
+
chart.renderTo.setAttribute('aria-hidden', true);
|
|
194
|
+
}
|
|
195
|
+
// Remove focus border if it exists
|
|
196
|
+
if (chart.focusElement) {
|
|
197
|
+
chart.focusElement.removeFocusBorder();
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* Return a list of the types of series we have in the chart.
|
|
202
|
+
* @private
|
|
203
|
+
*/
|
|
204
|
+
getChartTypes() {
|
|
205
|
+
const types = {};
|
|
206
|
+
this.chart.series.forEach(function (series) {
|
|
207
|
+
types[series.type] = 1;
|
|
208
|
+
});
|
|
209
|
+
return Object.keys(types);
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
/* *
|
|
213
|
+
*
|
|
214
|
+
* Class Namespace
|
|
215
|
+
*
|
|
216
|
+
* */
|
|
217
|
+
(function (Accessibility) {
|
|
218
|
+
/* *
|
|
219
|
+
*
|
|
220
|
+
* Declarations
|
|
221
|
+
*
|
|
222
|
+
* */
|
|
223
|
+
/* *
|
|
224
|
+
*
|
|
225
|
+
* Constants
|
|
226
|
+
*
|
|
227
|
+
* */
|
|
228
|
+
Accessibility.i18nFormat = A11yI18n.i18nFormat;
|
|
229
|
+
/* *
|
|
230
|
+
*
|
|
231
|
+
* Functions
|
|
232
|
+
*
|
|
233
|
+
* */
|
|
234
|
+
/**
|
|
235
|
+
* Destroy with chart.
|
|
236
|
+
* @private
|
|
237
|
+
*/
|
|
238
|
+
function chartOnDestroy() {
|
|
239
|
+
if (this.accessibility) {
|
|
240
|
+
this.accessibility.destroy();
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
/**
|
|
244
|
+
* Handle updates to the module and send render updates to components.
|
|
245
|
+
* @private
|
|
246
|
+
*/
|
|
247
|
+
function chartOnRender() {
|
|
248
|
+
// Update/destroy
|
|
249
|
+
if (this.a11yDirty && this.renderTo) {
|
|
250
|
+
delete this.a11yDirty;
|
|
251
|
+
this.updateA11yEnabled();
|
|
252
|
+
}
|
|
253
|
+
const a11y = this.accessibility;
|
|
254
|
+
if (a11y && !a11y.zombie) {
|
|
255
|
+
a11y.proxyProvider.updateProxyElementPositions();
|
|
256
|
+
a11y.getComponentOrder().forEach(function (componentName) {
|
|
257
|
+
a11y.components[componentName].onChartRender();
|
|
258
|
+
});
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
/**
|
|
262
|
+
* Update with chart/series/point updates.
|
|
263
|
+
* @private
|
|
264
|
+
*/
|
|
265
|
+
function chartOnUpdate(e) {
|
|
266
|
+
// Merge new options
|
|
267
|
+
const newOptions = e.options.accessibility;
|
|
268
|
+
if (newOptions) {
|
|
269
|
+
// Handle custom component updating specifically
|
|
270
|
+
if (newOptions.customComponents) {
|
|
271
|
+
this.options.accessibility.customComponents =
|
|
272
|
+
newOptions.customComponents;
|
|
273
|
+
delete newOptions.customComponents;
|
|
274
|
+
}
|
|
275
|
+
merge(true, this.options.accessibility, newOptions);
|
|
276
|
+
// Recreate from scratch
|
|
277
|
+
if (this.accessibility && this.accessibility.destroy) {
|
|
278
|
+
this.accessibility.destroy();
|
|
279
|
+
delete this.accessibility;
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
// Mark dirty for update
|
|
283
|
+
this.a11yDirty = true;
|
|
284
|
+
}
|
|
285
|
+
/**
|
|
286
|
+
* @private
|
|
287
|
+
*/
|
|
288
|
+
function chartUpdateA11yEnabled() {
|
|
289
|
+
let a11y = this.accessibility;
|
|
290
|
+
const accessibilityOptions = this.options.accessibility, svg = this.renderer.boxWrapper.element, title = this.title;
|
|
291
|
+
if (accessibilityOptions && accessibilityOptions.enabled) {
|
|
292
|
+
if (a11y && !a11y.zombie) {
|
|
293
|
+
a11y.update();
|
|
294
|
+
}
|
|
295
|
+
else {
|
|
296
|
+
this.accessibility = a11y = new Accessibility(this);
|
|
297
|
+
if (a11y && !a11y.zombie) {
|
|
298
|
+
a11y.update();
|
|
299
|
+
}
|
|
300
|
+
// If a11y has been disabled, and is now enabled
|
|
301
|
+
if (svg.getAttribute('role') === 'img') {
|
|
302
|
+
svg.removeAttribute('role');
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
else if (a11y) {
|
|
307
|
+
// Destroy if after update we have a11y and it is disabled
|
|
308
|
+
if (a11y.destroy) {
|
|
309
|
+
a11y.destroy();
|
|
310
|
+
}
|
|
311
|
+
delete this.accessibility;
|
|
312
|
+
}
|
|
313
|
+
else {
|
|
314
|
+
// If a11y has been disabled dynamically or is disabled
|
|
315
|
+
this.renderTo.setAttribute('role', 'img');
|
|
316
|
+
this.renderTo.setAttribute('aria-hidden', false);
|
|
317
|
+
this.renderTo.setAttribute('aria-label', ((title && title.element.textContent) || '').replace(/</g, '<'));
|
|
318
|
+
svg.setAttribute('aria-hidden', true);
|
|
319
|
+
const description = document.getElementsByClassName('highcharts-description')[0];
|
|
320
|
+
if (description) {
|
|
321
|
+
description.setAttribute('aria-hidden', false);
|
|
322
|
+
description.classList.remove('highcharts-linked-description');
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
/**
|
|
327
|
+
* @private
|
|
328
|
+
*/
|
|
329
|
+
function compose(ChartClass, LegendClass, PointClass, SeriesClass, SVGElementClass, RangeSelectorClass) {
|
|
330
|
+
// Ordered:
|
|
331
|
+
KeyboardNavigation.compose(ChartClass);
|
|
332
|
+
NewDataAnnouncer.compose(SeriesClass);
|
|
333
|
+
LegendComponent.compose(ChartClass, LegendClass);
|
|
334
|
+
MenuComponent.compose(ChartClass);
|
|
335
|
+
SeriesComponent.compose(ChartClass, PointClass, SeriesClass);
|
|
336
|
+
A11yI18n.compose(ChartClass);
|
|
337
|
+
FocusBorderComposition.compose(ChartClass, SVGElementClass);
|
|
338
|
+
// RangeSelector
|
|
339
|
+
if (RangeSelectorClass) {
|
|
340
|
+
RangeSelectorComponent.compose(ChartClass, RangeSelectorClass);
|
|
341
|
+
}
|
|
342
|
+
const chartProto = ChartClass.prototype;
|
|
343
|
+
if (!chartProto.updateA11yEnabled) {
|
|
344
|
+
chartProto.updateA11yEnabled = chartUpdateA11yEnabled;
|
|
345
|
+
addEvent(ChartClass, 'destroy', chartOnDestroy);
|
|
346
|
+
addEvent(ChartClass, 'render', chartOnRender);
|
|
347
|
+
addEvent(ChartClass, 'update', chartOnUpdate);
|
|
348
|
+
// Mark dirty for update
|
|
349
|
+
['addSeries', 'init'].forEach((event) => {
|
|
350
|
+
addEvent(ChartClass, event, function () {
|
|
351
|
+
this.a11yDirty = true;
|
|
352
|
+
});
|
|
353
|
+
});
|
|
354
|
+
// Direct updates (events happen after render)
|
|
355
|
+
['afterApplyDrilldown', 'drillupall'].forEach((event) => {
|
|
356
|
+
addEvent(ChartClass, event, function chartOnAfterDrilldown() {
|
|
357
|
+
const a11y = this.accessibility;
|
|
358
|
+
if (a11y && !a11y.zombie) {
|
|
359
|
+
a11y.update();
|
|
360
|
+
}
|
|
361
|
+
});
|
|
362
|
+
});
|
|
363
|
+
addEvent(PointClass, 'update', pointOnUpdate);
|
|
364
|
+
// Mark dirty for update
|
|
365
|
+
['update', 'updatedData', 'remove'].forEach((event) => {
|
|
366
|
+
addEvent(SeriesClass, event, function () {
|
|
367
|
+
if (this.chart.accessibility) {
|
|
368
|
+
this.chart.a11yDirty = true;
|
|
369
|
+
}
|
|
370
|
+
});
|
|
371
|
+
});
|
|
372
|
+
}
|
|
373
|
+
}
|
|
374
|
+
Accessibility.compose = compose;
|
|
375
|
+
/**
|
|
376
|
+
* Mark dirty for update.
|
|
377
|
+
* @private
|
|
378
|
+
*/
|
|
379
|
+
function pointOnUpdate() {
|
|
380
|
+
if (this.series.chart.accessibility) {
|
|
381
|
+
this.series.chart.a11yDirty = true;
|
|
382
|
+
}
|
|
383
|
+
}
|
|
384
|
+
})(Accessibility || (Accessibility = {}));
|
|
385
|
+
/* *
|
|
386
|
+
*
|
|
387
|
+
* Registry
|
|
388
|
+
*
|
|
389
|
+
* */
|
|
390
|
+
// Add default options
|
|
391
|
+
merge(true, defaultOptions, defaultOptionsA11Y, {
|
|
392
|
+
accessibility: {
|
|
393
|
+
highContrastTheme: highContrastTheme
|
|
394
|
+
},
|
|
395
|
+
lang: defaultLangOptions
|
|
396
|
+
});
|
|
397
|
+
/* *
|
|
398
|
+
*
|
|
399
|
+
* Default Export
|
|
400
|
+
*
|
|
401
|
+
* */
|
|
402
|
+
export default Accessibility;
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import type Accessibility from './Accessibility';
|
|
2
|
+
import type EventCallback from '../Core/EventCallback';
|
|
3
|
+
import type { DOMElementType } from '../Core/Renderer/DOMElementType';
|
|
4
|
+
import type HTMLElement from '../Core/Renderer/HTML/HTMLElement';
|
|
5
|
+
import type KeyboardNavigationHandler from './KeyboardNavigationHandler';
|
|
6
|
+
import type SVGElement from '../Core/Renderer/SVG/SVGElement';
|
|
7
|
+
import type ProxyProvider from './ProxyProvider';
|
|
8
|
+
import DOMElementProvider from './Utils/DOMElementProvider.js';
|
|
9
|
+
import EventProvider from './Utils/EventProvider.js';
|
|
10
|
+
import U from '../Core/Utilities.js';
|
|
11
|
+
/**
|
|
12
|
+
* The AccessibilityComponent base class, representing a part of the chart that
|
|
13
|
+
* has accessibility logic connected to it. This class can be inherited from to
|
|
14
|
+
* create a custom accessibility component for a chart.
|
|
15
|
+
*
|
|
16
|
+
* Components should take care to destroy added elements and unregister event
|
|
17
|
+
* handlers on destroy. This is handled automatically if using `this.addEvent`
|
|
18
|
+
* and `this.createElement`.
|
|
19
|
+
*
|
|
20
|
+
* @sample highcharts/accessibility/custom-component
|
|
21
|
+
* Custom accessibility component
|
|
22
|
+
*
|
|
23
|
+
* @requires modules/accessibility
|
|
24
|
+
* @class
|
|
25
|
+
* @name Highcharts.AccessibilityComponent
|
|
26
|
+
*/
|
|
27
|
+
declare class AccessibilityComponent {
|
|
28
|
+
chart: Accessibility.ChartComposition;
|
|
29
|
+
domElementProvider: DOMElementProvider;
|
|
30
|
+
eventProvider: EventProvider;
|
|
31
|
+
keyCodes: Record<string, number>;
|
|
32
|
+
proxyProvider: ProxyProvider;
|
|
33
|
+
/**
|
|
34
|
+
* Called when accessibility is disabled or chart is destroyed.
|
|
35
|
+
*
|
|
36
|
+
* @function Highcharts.AccessibilityComponent#destroy
|
|
37
|
+
*/
|
|
38
|
+
destroy(): void;
|
|
39
|
+
/**
|
|
40
|
+
* Get keyboard navigation handler for this component.
|
|
41
|
+
*
|
|
42
|
+
* @function Highcharts.AccessibilityComponent#getKeyboardNavigation
|
|
43
|
+
* @return {Highcharts.KeyboardNavigationHandler|Array<Highcharts.KeyboardNavigationHandler>}
|
|
44
|
+
* The keyboard navigation handler(s) for this component.
|
|
45
|
+
*/
|
|
46
|
+
getKeyboardNavigation(): (KeyboardNavigationHandler | Array<KeyboardNavigationHandler>);
|
|
47
|
+
/**
|
|
48
|
+
* Called on component initialization.
|
|
49
|
+
*
|
|
50
|
+
* @function Highcharts.AccessibilityComponent#init
|
|
51
|
+
*/
|
|
52
|
+
init(): void;
|
|
53
|
+
/**
|
|
54
|
+
* Called on every chart render.
|
|
55
|
+
*
|
|
56
|
+
* @function Highcharts.AccessibilityComponent#onChartRender
|
|
57
|
+
*/
|
|
58
|
+
onChartRender(): void;
|
|
59
|
+
/**
|
|
60
|
+
* Called on updates to the chart, including options changes.
|
|
61
|
+
* Note that this is also called on first render of chart.
|
|
62
|
+
*
|
|
63
|
+
* @function Highcharts.AccessibilityComponent#onChartUpdate
|
|
64
|
+
*/
|
|
65
|
+
onChartUpdate(): void;
|
|
66
|
+
/**
|
|
67
|
+
* Initialize the class
|
|
68
|
+
* @private
|
|
69
|
+
* @param {Highcharts.Chart} chart The chart object
|
|
70
|
+
* @param {Highcharts.ProxyProvider} proxyProvider The proxy provider of the accessibility module
|
|
71
|
+
*/
|
|
72
|
+
initBase(chart: Accessibility.ChartComposition, proxyProvider: ProxyProvider): void;
|
|
73
|
+
/**
|
|
74
|
+
* Add an event to an element and keep track of it for later removal.
|
|
75
|
+
* See EventProvider for details.
|
|
76
|
+
* @private
|
|
77
|
+
*/
|
|
78
|
+
addEvent<T>(el: (T | Class<T>), type: string, fn: (Function | EventCallback<T>), options?: U.EventOptions): Function;
|
|
79
|
+
/**
|
|
80
|
+
* Create an element and keep track of it for later removal.
|
|
81
|
+
* See DOMElementProvider for details.
|
|
82
|
+
* @private
|
|
83
|
+
*/
|
|
84
|
+
createElement<K extends keyof HTMLElementTagNameMap>(tagName: K, options?: ElementCreationOptions): HTMLElementTagNameMap[K];
|
|
85
|
+
/**
|
|
86
|
+
* Fire a fake click event on an element. It is useful to have this on
|
|
87
|
+
* AccessibilityComponent for users of custom components.
|
|
88
|
+
* @private
|
|
89
|
+
*/
|
|
90
|
+
fakeClickEvent(el: (HTMLElement | SVGElement | DOMElementType)): void;
|
|
91
|
+
/**
|
|
92
|
+
* Remove traces of the component.
|
|
93
|
+
* @private
|
|
94
|
+
*/
|
|
95
|
+
destroyBase(): void;
|
|
96
|
+
}
|
|
97
|
+
export default AccessibilityComponent;
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
/* *
|
|
2
|
+
*
|
|
3
|
+
* (c) 2009-2025 Øystein Moseng
|
|
4
|
+
*
|
|
5
|
+
* Accessibility component class definition
|
|
6
|
+
*
|
|
7
|
+
* License: www.highcharts.com/license
|
|
8
|
+
*
|
|
9
|
+
* !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
|
|
10
|
+
*
|
|
11
|
+
* */
|
|
12
|
+
'use strict';
|
|
13
|
+
import CU from './Utils/ChartUtilities.js';
|
|
14
|
+
const { fireEventOnWrappedOrUnwrappedElement } = CU;
|
|
15
|
+
import DOMElementProvider from './Utils/DOMElementProvider.js';
|
|
16
|
+
import EventProvider from './Utils/EventProvider.js';
|
|
17
|
+
import HU from './Utils/HTMLUtilities.js';
|
|
18
|
+
const { getFakeMouseEvent } = HU;
|
|
19
|
+
/* *
|
|
20
|
+
*
|
|
21
|
+
* Class
|
|
22
|
+
*
|
|
23
|
+
* */
|
|
24
|
+
/**
|
|
25
|
+
* The AccessibilityComponent base class, representing a part of the chart that
|
|
26
|
+
* has accessibility logic connected to it. This class can be inherited from to
|
|
27
|
+
* create a custom accessibility component for a chart.
|
|
28
|
+
*
|
|
29
|
+
* Components should take care to destroy added elements and unregister event
|
|
30
|
+
* handlers on destroy. This is handled automatically if using `this.addEvent`
|
|
31
|
+
* and `this.createElement`.
|
|
32
|
+
*
|
|
33
|
+
* @sample highcharts/accessibility/custom-component
|
|
34
|
+
* Custom accessibility component
|
|
35
|
+
*
|
|
36
|
+
* @requires modules/accessibility
|
|
37
|
+
* @class
|
|
38
|
+
* @name Highcharts.AccessibilityComponent
|
|
39
|
+
*/
|
|
40
|
+
class AccessibilityComponent {
|
|
41
|
+
/* *
|
|
42
|
+
*
|
|
43
|
+
* Functions
|
|
44
|
+
*
|
|
45
|
+
* */
|
|
46
|
+
/**
|
|
47
|
+
* Called when accessibility is disabled or chart is destroyed.
|
|
48
|
+
*
|
|
49
|
+
* @function Highcharts.AccessibilityComponent#destroy
|
|
50
|
+
*/
|
|
51
|
+
destroy() { }
|
|
52
|
+
/**
|
|
53
|
+
* Get keyboard navigation handler for this component.
|
|
54
|
+
*
|
|
55
|
+
* @function Highcharts.AccessibilityComponent#getKeyboardNavigation
|
|
56
|
+
* @return {Highcharts.KeyboardNavigationHandler|Array<Highcharts.KeyboardNavigationHandler>}
|
|
57
|
+
* The keyboard navigation handler(s) for this component.
|
|
58
|
+
*/
|
|
59
|
+
getKeyboardNavigation() {
|
|
60
|
+
return [];
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Called on component initialization.
|
|
64
|
+
*
|
|
65
|
+
* @function Highcharts.AccessibilityComponent#init
|
|
66
|
+
*/
|
|
67
|
+
init() { }
|
|
68
|
+
/**
|
|
69
|
+
* Called on every chart render.
|
|
70
|
+
*
|
|
71
|
+
* @function Highcharts.AccessibilityComponent#onChartRender
|
|
72
|
+
*/
|
|
73
|
+
onChartRender() { }
|
|
74
|
+
/**
|
|
75
|
+
* Called on updates to the chart, including options changes.
|
|
76
|
+
* Note that this is also called on first render of chart.
|
|
77
|
+
*
|
|
78
|
+
* @function Highcharts.AccessibilityComponent#onChartUpdate
|
|
79
|
+
*/
|
|
80
|
+
onChartUpdate() { }
|
|
81
|
+
/**
|
|
82
|
+
* Initialize the class
|
|
83
|
+
* @private
|
|
84
|
+
* @param {Highcharts.Chart} chart The chart object
|
|
85
|
+
* @param {Highcharts.ProxyProvider} proxyProvider The proxy provider of the accessibility module
|
|
86
|
+
*/
|
|
87
|
+
initBase(chart, proxyProvider) {
|
|
88
|
+
this.chart = chart;
|
|
89
|
+
this.eventProvider = new EventProvider();
|
|
90
|
+
this.domElementProvider = new DOMElementProvider();
|
|
91
|
+
this.proxyProvider = proxyProvider;
|
|
92
|
+
// Key code enum for common keys
|
|
93
|
+
this.keyCodes = {
|
|
94
|
+
left: 37,
|
|
95
|
+
right: 39,
|
|
96
|
+
up: 38,
|
|
97
|
+
down: 40,
|
|
98
|
+
enter: 13,
|
|
99
|
+
space: 32,
|
|
100
|
+
esc: 27,
|
|
101
|
+
tab: 9,
|
|
102
|
+
pageUp: 33,
|
|
103
|
+
pageDown: 34,
|
|
104
|
+
end: 35,
|
|
105
|
+
home: 36
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Add an event to an element and keep track of it for later removal.
|
|
110
|
+
* See EventProvider for details.
|
|
111
|
+
* @private
|
|
112
|
+
*/
|
|
113
|
+
addEvent(el, type, fn, options) {
|
|
114
|
+
return this.eventProvider.addEvent(el, type, fn, options);
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Create an element and keep track of it for later removal.
|
|
118
|
+
* See DOMElementProvider for details.
|
|
119
|
+
* @private
|
|
120
|
+
*/
|
|
121
|
+
createElement(tagName, options) {
|
|
122
|
+
return this.domElementProvider.createElement(tagName, options);
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Fire a fake click event on an element. It is useful to have this on
|
|
126
|
+
* AccessibilityComponent for users of custom components.
|
|
127
|
+
* @private
|
|
128
|
+
*/
|
|
129
|
+
fakeClickEvent(el) {
|
|
130
|
+
const fakeEvent = getFakeMouseEvent('click');
|
|
131
|
+
fireEventOnWrappedOrUnwrappedElement(el, fakeEvent);
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Remove traces of the component.
|
|
135
|
+
* @private
|
|
136
|
+
*/
|
|
137
|
+
destroyBase() {
|
|
138
|
+
this.domElementProvider.destroyCreatedElements();
|
|
139
|
+
this.eventProvider.removeAddedEvents();
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
/* *
|
|
143
|
+
*
|
|
144
|
+
* Default Export
|
|
145
|
+
*
|
|
146
|
+
* */
|
|
147
|
+
export default AccessibilityComponent;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import type AnnotationChart from '../../Extensions/Annotations/AnnotationChart';
|
|
2
|
+
import type { AnnotationPoint } from '../../Extensions/Annotations/AnnotationSeries';
|
|
3
|
+
import type { ControllableLabelType } from '../../Extensions/Annotations/Controllables/ControllableType';
|
|
4
|
+
/**
|
|
5
|
+
* Describe an annotation label.
|
|
6
|
+
*
|
|
7
|
+
* @private
|
|
8
|
+
* @param {Object} label The annotation label object to describe
|
|
9
|
+
* @return {string} The description for the label.
|
|
10
|
+
*/
|
|
11
|
+
declare function getAnnotationLabelDescription(label: ControllableLabelType): string;
|
|
12
|
+
/**
|
|
13
|
+
* Return array of HTML strings for each annotation label in the chart.
|
|
14
|
+
*
|
|
15
|
+
* @private
|
|
16
|
+
* @param {Highcharts.Chart} chart The chart to get annotation info on.
|
|
17
|
+
* @return {Array<string>} Array of strings with HTML content for each annotation label.
|
|
18
|
+
*/
|
|
19
|
+
declare function getAnnotationListItems(chart: AnnotationChart): string[];
|
|
20
|
+
/**
|
|
21
|
+
* Return the annotation info for a chart as string.
|
|
22
|
+
*
|
|
23
|
+
* @private
|
|
24
|
+
* @param {Highcharts.Chart} chart The chart to get annotation info on.
|
|
25
|
+
* @return {string} String with HTML content or empty string if no annotations.
|
|
26
|
+
*/
|
|
27
|
+
declare function getAnnotationsInfoHTML(chart: AnnotationChart): string;
|
|
28
|
+
/**
|
|
29
|
+
* Return the texts for the annotation(s) connected to a point, or empty array
|
|
30
|
+
* if none.
|
|
31
|
+
*
|
|
32
|
+
* @private
|
|
33
|
+
* @param {Highcharts.Point} point The data point to get the annotation info from.
|
|
34
|
+
* @return {Array<string>} Annotation texts
|
|
35
|
+
*/
|
|
36
|
+
declare function getPointAnnotationTexts(point: AnnotationPoint): Array<string>;
|
|
37
|
+
declare const AnnotationsA11y: {
|
|
38
|
+
getAnnotationsInfoHTML: typeof getAnnotationsInfoHTML;
|
|
39
|
+
getAnnotationLabelDescription: typeof getAnnotationLabelDescription;
|
|
40
|
+
getAnnotationListItems: typeof getAnnotationListItems;
|
|
41
|
+
getPointAnnotationTexts: typeof getPointAnnotationTexts;
|
|
42
|
+
};
|
|
43
|
+
export default AnnotationsA11y;
|