@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,471 @@
|
|
|
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 AST from './AST.js';
|
|
12
|
+
import H from '../../Globals.js';
|
|
13
|
+
const { composed, isFirefox } = H;
|
|
14
|
+
import SVGElement from '../SVG/SVGElement.js';
|
|
15
|
+
import U from '../../Utilities.js';
|
|
16
|
+
const { attr, css, createElement, defined, extend, getAlignFactor, isNumber, pInt, pushUnique } = U;
|
|
17
|
+
/**
|
|
18
|
+
* The opacity and visibility properties are set as attributes on the main
|
|
19
|
+
* element and SVG groups, and as identical CSS properties on the HTML element
|
|
20
|
+
* and the ancestry divs. (#3542)
|
|
21
|
+
*
|
|
22
|
+
* @private
|
|
23
|
+
*/
|
|
24
|
+
function commonSetter(value, key, elem) {
|
|
25
|
+
const style = this.div?.style;
|
|
26
|
+
SVGElement.prototype[`${key}Setter`].call(this, value, key, elem);
|
|
27
|
+
if (style) {
|
|
28
|
+
elem.style[key] = style[key] = value;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Decorate each SVG group in the ancestry line. Each SVG `g` element that
|
|
33
|
+
* contains children with useHTML, will receive a `div` element counterpart to
|
|
34
|
+
* contain the HTML span. These div elements are translated and styled like
|
|
35
|
+
* original `g` counterparts.
|
|
36
|
+
*
|
|
37
|
+
* @private
|
|
38
|
+
*/
|
|
39
|
+
const decorateSVGGroup = (g, container) => {
|
|
40
|
+
if (!g.div) {
|
|
41
|
+
const className = attr(g.element, 'class'), cssProto = g.css;
|
|
42
|
+
// Create the parallel HTML group
|
|
43
|
+
const div = createElement('div', className ? { className } : void 0, {
|
|
44
|
+
// Add HTML specific styles
|
|
45
|
+
position: 'absolute',
|
|
46
|
+
left: `${g.translateX || 0}px`,
|
|
47
|
+
top: `${g.translateY || 0}px`,
|
|
48
|
+
// Add pre-existing styles
|
|
49
|
+
...g.styles,
|
|
50
|
+
// Add g attributes that correspond to CSS
|
|
51
|
+
display: g.display,
|
|
52
|
+
opacity: g.opacity, // #5075
|
|
53
|
+
visibility: g.visibility
|
|
54
|
+
},
|
|
55
|
+
// The top group is appended to container
|
|
56
|
+
g.parentGroup?.div || container);
|
|
57
|
+
g.classSetter = (value, key, element) => {
|
|
58
|
+
element.setAttribute('class', value);
|
|
59
|
+
div.className = value;
|
|
60
|
+
};
|
|
61
|
+
/**
|
|
62
|
+
* Common translate setter for X and Y on the HTML group.
|
|
63
|
+
*
|
|
64
|
+
* Reverted the fix for #6957 due to positioning problems and offline
|
|
65
|
+
* export (#7254, #7280, #7529)
|
|
66
|
+
* @private
|
|
67
|
+
*/
|
|
68
|
+
g.translateXSetter = g.translateYSetter = (value, key) => {
|
|
69
|
+
g[key] = value;
|
|
70
|
+
div.style[key === 'translateX' ? 'left' : 'top'] = `${value}px`;
|
|
71
|
+
g.doTransform = true;
|
|
72
|
+
};
|
|
73
|
+
g.scaleXSetter = g.scaleYSetter = (value, key) => {
|
|
74
|
+
g[key] = value;
|
|
75
|
+
g.doTransform = true;
|
|
76
|
+
};
|
|
77
|
+
g.opacitySetter = g.visibilitySetter = commonSetter;
|
|
78
|
+
// Extend the parent group's css function by updating the parallel div
|
|
79
|
+
// counterpart with the same style.
|
|
80
|
+
g.css = (styles) => {
|
|
81
|
+
// Call the base css method. The `parentGroup` can be either an
|
|
82
|
+
// SVGElement or an SVGLabel, in which the css method is extended
|
|
83
|
+
// (#19200).
|
|
84
|
+
cssProto.call(g, styles);
|
|
85
|
+
// #6794
|
|
86
|
+
if (styles.cursor) {
|
|
87
|
+
div.style.cursor = styles.cursor;
|
|
88
|
+
}
|
|
89
|
+
// #18821
|
|
90
|
+
if (styles.pointerEvents) {
|
|
91
|
+
div.style.pointerEvents = styles.pointerEvents;
|
|
92
|
+
}
|
|
93
|
+
return g;
|
|
94
|
+
};
|
|
95
|
+
// Event handling
|
|
96
|
+
g.on = function () {
|
|
97
|
+
SVGElement.prototype.on.apply({
|
|
98
|
+
element: div,
|
|
99
|
+
onEvents: g.onEvents
|
|
100
|
+
}, arguments);
|
|
101
|
+
return g;
|
|
102
|
+
};
|
|
103
|
+
g.div = div;
|
|
104
|
+
}
|
|
105
|
+
return g.div;
|
|
106
|
+
};
|
|
107
|
+
/* *
|
|
108
|
+
*
|
|
109
|
+
* Class
|
|
110
|
+
*
|
|
111
|
+
* */
|
|
112
|
+
class HTMLElement extends SVGElement {
|
|
113
|
+
/**
|
|
114
|
+
* Compose
|
|
115
|
+
* @private
|
|
116
|
+
*/
|
|
117
|
+
static compose(SVGRendererClass) {
|
|
118
|
+
if (pushUnique(composed, this.compose)) {
|
|
119
|
+
/**
|
|
120
|
+
* Create a HTML text node. This is used by the SVG renderer `text`
|
|
121
|
+
* and `label` functions through the `useHTML` parameter.
|
|
122
|
+
*
|
|
123
|
+
* @private
|
|
124
|
+
*/
|
|
125
|
+
SVGRendererClass.prototype.html = function (str, x, y) {
|
|
126
|
+
return new HTMLElement(this, 'span')
|
|
127
|
+
// Set the default attributes
|
|
128
|
+
.attr({
|
|
129
|
+
text: str,
|
|
130
|
+
x: Math.round(x),
|
|
131
|
+
y: Math.round(y)
|
|
132
|
+
});
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
/* *
|
|
137
|
+
*
|
|
138
|
+
* Functions
|
|
139
|
+
*
|
|
140
|
+
* */
|
|
141
|
+
constructor(renderer, nodeName) {
|
|
142
|
+
super(renderer, nodeName);
|
|
143
|
+
if (HTMLElement.useForeignObject) {
|
|
144
|
+
this.foreignObject = renderer.createElement('foreignObject')
|
|
145
|
+
.attr({
|
|
146
|
+
zIndex: 2
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
else {
|
|
150
|
+
this.css({
|
|
151
|
+
position: 'absolute',
|
|
152
|
+
...(renderer.styledMode ? {} : {
|
|
153
|
+
fontFamily: renderer.style.fontFamily,
|
|
154
|
+
fontSize: renderer.style.fontSize
|
|
155
|
+
})
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
this.element.style.whiteSpace = 'nowrap';
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Get the correction in X and Y positioning as the element is rotated.
|
|
162
|
+
* @private
|
|
163
|
+
*/
|
|
164
|
+
getSpanCorrection(width, baseline, alignCorrection) {
|
|
165
|
+
this.xCorr = -width * alignCorrection;
|
|
166
|
+
this.yCorr = -baseline;
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Apply CSS to HTML elements. This is used in text within SVG rendering.
|
|
170
|
+
* @private
|
|
171
|
+
*/
|
|
172
|
+
css(styles) {
|
|
173
|
+
const { element } = this,
|
|
174
|
+
// When setting or unsetting the width style, we need to update
|
|
175
|
+
// transform (#8809)
|
|
176
|
+
isSettingWidth = (element.tagName === 'SPAN' &&
|
|
177
|
+
styles &&
|
|
178
|
+
'width' in styles), textWidth = isSettingWidth && styles.width;
|
|
179
|
+
let doTransform;
|
|
180
|
+
if (isSettingWidth) {
|
|
181
|
+
delete styles.width;
|
|
182
|
+
this.textWidth = pInt(textWidth) || void 0;
|
|
183
|
+
doTransform = true;
|
|
184
|
+
}
|
|
185
|
+
// Some properties require other properties to be set
|
|
186
|
+
if (styles?.textOverflow === 'ellipsis') {
|
|
187
|
+
styles.overflow = 'hidden';
|
|
188
|
+
styles.whiteSpace = 'nowrap';
|
|
189
|
+
}
|
|
190
|
+
if (styles?.lineClamp) {
|
|
191
|
+
styles.display = '-webkit-box';
|
|
192
|
+
styles.WebkitLineClamp = styles.lineClamp;
|
|
193
|
+
styles.WebkitBoxOrient = 'vertical';
|
|
194
|
+
styles.overflow = 'hidden';
|
|
195
|
+
}
|
|
196
|
+
// SVG natively supports setting font size as numbers. With HTML, the
|
|
197
|
+
// font size should behave in the same way (#21624).
|
|
198
|
+
if (isNumber(Number(styles?.fontSize))) {
|
|
199
|
+
styles.fontSize += 'px';
|
|
200
|
+
}
|
|
201
|
+
extend(this.styles, styles);
|
|
202
|
+
css(element, styles);
|
|
203
|
+
// Now that all styles are applied, to the transform
|
|
204
|
+
if (doTransform) {
|
|
205
|
+
this.updateTransform();
|
|
206
|
+
}
|
|
207
|
+
return this;
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* The useHTML method for calculating the bounding box based on offsets.
|
|
211
|
+
* Called internally from the `SVGElement.getBBox` function and subsequently
|
|
212
|
+
* rotated.
|
|
213
|
+
*
|
|
214
|
+
* @private
|
|
215
|
+
*/
|
|
216
|
+
htmlGetBBox() {
|
|
217
|
+
const { element } = this;
|
|
218
|
+
return {
|
|
219
|
+
x: element.offsetLeft,
|
|
220
|
+
y: element.offsetTop,
|
|
221
|
+
width: element.offsetWidth,
|
|
222
|
+
height: element.offsetHeight
|
|
223
|
+
};
|
|
224
|
+
}
|
|
225
|
+
/**
|
|
226
|
+
* Batch update styles and attributes related to transform
|
|
227
|
+
*
|
|
228
|
+
* @private
|
|
229
|
+
*/
|
|
230
|
+
updateTransform() {
|
|
231
|
+
// Aligning non added elements is expensive
|
|
232
|
+
if (!this.added) {
|
|
233
|
+
this.alignOnAdd = true;
|
|
234
|
+
return;
|
|
235
|
+
}
|
|
236
|
+
const { element, foreignObject, oldTextWidth, renderer, rotation, rotationOriginX, rotationOriginY, scaleX, scaleY, styles: { display = 'inline-block', whiteSpace }, textAlign = 'left', textWidth, translateX = 0, translateY = 0, x = 0, y = 0 } = this;
|
|
237
|
+
// Get the pixel length of the text
|
|
238
|
+
const getTextPxLength = () => {
|
|
239
|
+
if (this.textPxLength) {
|
|
240
|
+
return this.textPxLength;
|
|
241
|
+
}
|
|
242
|
+
// Reset multiline/ellipsis in order to read width (#4928,
|
|
243
|
+
// #5417)
|
|
244
|
+
css(element, {
|
|
245
|
+
width: '',
|
|
246
|
+
whiteSpace: whiteSpace || 'nowrap'
|
|
247
|
+
});
|
|
248
|
+
return element.offsetWidth;
|
|
249
|
+
};
|
|
250
|
+
// Apply translate
|
|
251
|
+
if (!foreignObject) {
|
|
252
|
+
css(element, {
|
|
253
|
+
marginLeft: `${translateX}px`,
|
|
254
|
+
marginTop: `${translateY}px`
|
|
255
|
+
});
|
|
256
|
+
}
|
|
257
|
+
if (element.tagName === 'SPAN') {
|
|
258
|
+
const currentTextTransform = [
|
|
259
|
+
rotation,
|
|
260
|
+
textAlign,
|
|
261
|
+
element.innerHTML,
|
|
262
|
+
textWidth,
|
|
263
|
+
this.textAlign
|
|
264
|
+
].join(','), parentPadding = (this.parentGroup?.padding * -1) || 0;
|
|
265
|
+
let baseline;
|
|
266
|
+
// Update textWidth. Use the memoized textPxLength if possible, to
|
|
267
|
+
// avoid the getTextPxLength function using elem.offsetWidth.
|
|
268
|
+
// Calling offsetWidth affects rendering time as it forces layout
|
|
269
|
+
// (#7656).
|
|
270
|
+
if (textWidth !== oldTextWidth) { // #983, #1254
|
|
271
|
+
const textPxLength = getTextPxLength(), textWidthNum = textWidth || 0, willOverWrap = !renderer.styledMode &&
|
|
272
|
+
element.style.textOverflow === '' &&
|
|
273
|
+
element.style.webkitLineClamp;
|
|
274
|
+
if ((textWidthNum > oldTextWidth ||
|
|
275
|
+
textPxLength > textWidthNum ||
|
|
276
|
+
willOverWrap) && (
|
|
277
|
+
// Only set the width if the text is able to word-wrap,
|
|
278
|
+
// or text-overflow is ellipsis (#9537)
|
|
279
|
+
/[\-\s\u00AD]/.test(element.textContent || element.innerText) ||
|
|
280
|
+
element.style.textOverflow === 'ellipsis')) {
|
|
281
|
+
const usePxWidth = rotation || scaleX ||
|
|
282
|
+
textPxLength > textWidthNum ||
|
|
283
|
+
// Set width to prevent over-wrapping (#22609)
|
|
284
|
+
willOverWrap;
|
|
285
|
+
css(element, {
|
|
286
|
+
width: usePxWidth && isNumber(textWidth) ?
|
|
287
|
+
textWidth + 'px' : 'auto', // #16261
|
|
288
|
+
display,
|
|
289
|
+
whiteSpace: whiteSpace || 'normal' // #3331
|
|
290
|
+
});
|
|
291
|
+
this.oldTextWidth = textWidth;
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
if (foreignObject) {
|
|
295
|
+
css(element, {
|
|
296
|
+
// Inline block must be set before we can read the offset
|
|
297
|
+
// width
|
|
298
|
+
display: 'inline-block',
|
|
299
|
+
verticalAlign: 'top'
|
|
300
|
+
});
|
|
301
|
+
// In many cases (Firefox always, others on title layout) we
|
|
302
|
+
// need the foreign object to have a larger width and height
|
|
303
|
+
// than its content, in order to read its content's size
|
|
304
|
+
foreignObject.attr({
|
|
305
|
+
width: renderer.width,
|
|
306
|
+
height: renderer.height
|
|
307
|
+
});
|
|
308
|
+
}
|
|
309
|
+
// Do the calculations and DOM access only if properties changed
|
|
310
|
+
if (currentTextTransform !== this.cTT) {
|
|
311
|
+
baseline = renderer.fontMetrics(element).b;
|
|
312
|
+
// Renderer specific handling of span rotation, but only if we
|
|
313
|
+
// have something to update.
|
|
314
|
+
if (defined(rotation) &&
|
|
315
|
+
!foreignObject &&
|
|
316
|
+
((rotation !== (this.oldRotation || 0)) ||
|
|
317
|
+
(textAlign !== this.oldAlign))) {
|
|
318
|
+
// CSS transform and transform-origin both supported without
|
|
319
|
+
// prefix since Firefox 16 (2012), IE 10 (2012), Chrome 36
|
|
320
|
+
// (2014), Safari 9 (2015).;
|
|
321
|
+
css(element, {
|
|
322
|
+
transform: `rotate(${rotation}deg)`,
|
|
323
|
+
transformOrigin: `${parentPadding}% ${parentPadding}px`
|
|
324
|
+
});
|
|
325
|
+
}
|
|
326
|
+
this.getSpanCorrection(
|
|
327
|
+
// Avoid elem.offsetWidth if we can, it affects rendering
|
|
328
|
+
// time heavily (#7656)
|
|
329
|
+
((!defined(rotation) &&
|
|
330
|
+
!this.textWidth &&
|
|
331
|
+
this.textPxLength) || // #7920
|
|
332
|
+
element.offsetWidth), baseline, getAlignFactor(textAlign));
|
|
333
|
+
}
|
|
334
|
+
// Apply position with correction and rotation origin
|
|
335
|
+
const { xCorr = 0, yCorr = 0 } = this, rotOriginX = (rotationOriginX ?? x) - xCorr - x - parentPadding, rotOriginY = (rotationOriginY ?? y) - yCorr - y - parentPadding, styles = {
|
|
336
|
+
left: `${x + xCorr}px`,
|
|
337
|
+
top: `${y + yCorr}px`,
|
|
338
|
+
textAlign,
|
|
339
|
+
transformOrigin: `${rotOriginX}px ${rotOriginY}px`
|
|
340
|
+
};
|
|
341
|
+
if (scaleX || scaleY) {
|
|
342
|
+
styles.transform = `scale(${scaleX ?? 1},${scaleY ?? 1})`;
|
|
343
|
+
}
|
|
344
|
+
// Move the foreign object
|
|
345
|
+
if (foreignObject) {
|
|
346
|
+
super.updateTransform();
|
|
347
|
+
if (isNumber(x) && isNumber(y)) {
|
|
348
|
+
foreignObject.attr({
|
|
349
|
+
x: x + xCorr,
|
|
350
|
+
y: y + yCorr,
|
|
351
|
+
width: element.offsetWidth + 3,
|
|
352
|
+
height: element.offsetHeight,
|
|
353
|
+
'transform-origin': element
|
|
354
|
+
.getAttribute('transform-origin') || '0 0'
|
|
355
|
+
});
|
|
356
|
+
// Reset, otherwise lineClamp will not work
|
|
357
|
+
css(element, { display, textAlign });
|
|
358
|
+
}
|
|
359
|
+
else if (isFirefox) {
|
|
360
|
+
foreignObject.attr({
|
|
361
|
+
width: 0,
|
|
362
|
+
height: 0
|
|
363
|
+
});
|
|
364
|
+
}
|
|
365
|
+
}
|
|
366
|
+
else {
|
|
367
|
+
css(element, styles);
|
|
368
|
+
}
|
|
369
|
+
// Record current text transform
|
|
370
|
+
this.cTT = currentTextTransform;
|
|
371
|
+
this.oldRotation = rotation;
|
|
372
|
+
this.oldAlign = textAlign;
|
|
373
|
+
}
|
|
374
|
+
}
|
|
375
|
+
/**
|
|
376
|
+
* Add the element to a group wrapper. For HTML elements, a parallel div
|
|
377
|
+
* will be created for each ancenstor SVG `g` element.
|
|
378
|
+
*
|
|
379
|
+
* @private
|
|
380
|
+
*/
|
|
381
|
+
add(parentGroup) {
|
|
382
|
+
const { foreignObject, renderer } = this, container = renderer.box.parentNode, parents = [];
|
|
383
|
+
// Foreign object
|
|
384
|
+
if (foreignObject) {
|
|
385
|
+
foreignObject.add(parentGroup);
|
|
386
|
+
super.add(
|
|
387
|
+
// Create a body inside the foreignObject
|
|
388
|
+
renderer.createElement('body')
|
|
389
|
+
.attr({ xmlns: 'http://www.w3.org/1999/xhtml' })
|
|
390
|
+
.css({
|
|
391
|
+
background: 'transparent',
|
|
392
|
+
// 3px is to avoid clipping on the right
|
|
393
|
+
margin: '0 3px 0 0' // For export
|
|
394
|
+
})
|
|
395
|
+
.add(foreignObject));
|
|
396
|
+
// Add span next to the SVG
|
|
397
|
+
}
|
|
398
|
+
else {
|
|
399
|
+
let div;
|
|
400
|
+
this.parentGroup = parentGroup;
|
|
401
|
+
// Create a parallel divs to hold the HTML elements
|
|
402
|
+
if (parentGroup) {
|
|
403
|
+
div = parentGroup.div;
|
|
404
|
+
if (!div) {
|
|
405
|
+
// Read the parent chain into an array and read from top
|
|
406
|
+
// down
|
|
407
|
+
let svgGroup = parentGroup;
|
|
408
|
+
while (svgGroup) {
|
|
409
|
+
parents.push(svgGroup);
|
|
410
|
+
// Move up to the next parent group
|
|
411
|
+
svgGroup = svgGroup.parentGroup;
|
|
412
|
+
}
|
|
413
|
+
// Decorate each of the ancestor group elements with a
|
|
414
|
+
// parallel div that reflects translation and styling
|
|
415
|
+
for (const parentGroup of parents.reverse()) {
|
|
416
|
+
div = decorateSVGGroup(parentGroup, container);
|
|
417
|
+
}
|
|
418
|
+
}
|
|
419
|
+
}
|
|
420
|
+
(div || container).appendChild(this.element);
|
|
421
|
+
}
|
|
422
|
+
this.added = true;
|
|
423
|
+
if (this.alignOnAdd) {
|
|
424
|
+
this.updateTransform();
|
|
425
|
+
}
|
|
426
|
+
return this;
|
|
427
|
+
}
|
|
428
|
+
/**
|
|
429
|
+
* Text setter
|
|
430
|
+
* @private
|
|
431
|
+
*/
|
|
432
|
+
textSetter(value) {
|
|
433
|
+
if (value !== this.textStr) {
|
|
434
|
+
delete this.bBox;
|
|
435
|
+
delete this.oldTextWidth;
|
|
436
|
+
AST.setElementHTML(this.element, value ?? '');
|
|
437
|
+
this.textStr = value;
|
|
438
|
+
this.doTransform = true;
|
|
439
|
+
}
|
|
440
|
+
}
|
|
441
|
+
/**
|
|
442
|
+
* Align setter
|
|
443
|
+
*
|
|
444
|
+
* @private
|
|
445
|
+
*/
|
|
446
|
+
alignSetter(value) {
|
|
447
|
+
this.alignValue = this.textAlign = value;
|
|
448
|
+
this.doTransform = true;
|
|
449
|
+
}
|
|
450
|
+
/**
|
|
451
|
+
* Various setters which rely on update transform
|
|
452
|
+
* @private
|
|
453
|
+
*/
|
|
454
|
+
xSetter(value, key) {
|
|
455
|
+
this[key] = value;
|
|
456
|
+
this.doTransform = true;
|
|
457
|
+
}
|
|
458
|
+
}
|
|
459
|
+
// Some shared setters
|
|
460
|
+
const proto = HTMLElement.prototype;
|
|
461
|
+
proto.visibilitySetter = proto.opacitySetter = commonSetter;
|
|
462
|
+
proto.ySetter =
|
|
463
|
+
proto.rotationSetter =
|
|
464
|
+
proto.rotationOriginXSetter =
|
|
465
|
+
proto.rotationOriginYSetter = proto.xSetter;
|
|
466
|
+
/* *
|
|
467
|
+
*
|
|
468
|
+
* Default Export
|
|
469
|
+
*
|
|
470
|
+
* */
|
|
471
|
+
export default HTMLElement;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type SVGRenderer from './SVG/SVGRenderer';
|
|
2
|
+
declare namespace RendererRegistry {
|
|
3
|
+
const rendererTypes: Record<string, typeof SVGRenderer>;
|
|
4
|
+
/**
|
|
5
|
+
* Gets a registered renderer class. If no renderer type is provided or the
|
|
6
|
+
* requested renderer was not founded, the default renderer is returned.
|
|
7
|
+
*
|
|
8
|
+
* @param {string} [rendererType]
|
|
9
|
+
* Renderer type or the default renderer.
|
|
10
|
+
*
|
|
11
|
+
* @return {Highcharts.Class<Highcharts.SVGRenderer>}
|
|
12
|
+
* Returns the requested renderer class or the default renderer class.
|
|
13
|
+
*/
|
|
14
|
+
function getRendererType(rendererType?: string): typeof SVGRenderer;
|
|
15
|
+
/**
|
|
16
|
+
* Register a renderer class.
|
|
17
|
+
*
|
|
18
|
+
* @param {string} rendererType
|
|
19
|
+
* Renderer type to register.
|
|
20
|
+
*
|
|
21
|
+
* @param {Highcharts.Class<Highcharts.SVGRenderer>} rendererClass
|
|
22
|
+
* Returns the requested renderer class or the default renderer class.
|
|
23
|
+
*
|
|
24
|
+
* @param {boolean} setAsDefault
|
|
25
|
+
* Sets the renderer class as the default renderer.
|
|
26
|
+
*/
|
|
27
|
+
function registerRendererType(rendererType: string, rendererClass: typeof SVGRenderer, setAsDefault?: boolean): void;
|
|
28
|
+
}
|
|
29
|
+
export default RendererRegistry;
|
|
@@ -0,0 +1,76 @@
|
|
|
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 H from '../Globals.js';
|
|
12
|
+
/* *
|
|
13
|
+
*
|
|
14
|
+
* Namespace
|
|
15
|
+
*
|
|
16
|
+
* */
|
|
17
|
+
var RendererRegistry;
|
|
18
|
+
(function (RendererRegistry) {
|
|
19
|
+
/* *
|
|
20
|
+
*
|
|
21
|
+
* Constants
|
|
22
|
+
*
|
|
23
|
+
* */
|
|
24
|
+
RendererRegistry.rendererTypes = {};
|
|
25
|
+
/* *
|
|
26
|
+
*
|
|
27
|
+
* Variables
|
|
28
|
+
*
|
|
29
|
+
* */
|
|
30
|
+
let defaultRenderer;
|
|
31
|
+
/* *
|
|
32
|
+
*
|
|
33
|
+
* Functions
|
|
34
|
+
*
|
|
35
|
+
* */
|
|
36
|
+
/**
|
|
37
|
+
* Gets a registered renderer class. If no renderer type is provided or the
|
|
38
|
+
* requested renderer was not founded, the default renderer is returned.
|
|
39
|
+
*
|
|
40
|
+
* @param {string} [rendererType]
|
|
41
|
+
* Renderer type or the default renderer.
|
|
42
|
+
*
|
|
43
|
+
* @return {Highcharts.Class<Highcharts.SVGRenderer>}
|
|
44
|
+
* Returns the requested renderer class or the default renderer class.
|
|
45
|
+
*/
|
|
46
|
+
function getRendererType(rendererType = defaultRenderer) {
|
|
47
|
+
return (RendererRegistry.rendererTypes[rendererType] || RendererRegistry.rendererTypes[defaultRenderer]);
|
|
48
|
+
}
|
|
49
|
+
RendererRegistry.getRendererType = getRendererType;
|
|
50
|
+
/**
|
|
51
|
+
* Register a renderer class.
|
|
52
|
+
*
|
|
53
|
+
* @param {string} rendererType
|
|
54
|
+
* Renderer type to register.
|
|
55
|
+
*
|
|
56
|
+
* @param {Highcharts.Class<Highcharts.SVGRenderer>} rendererClass
|
|
57
|
+
* Returns the requested renderer class or the default renderer class.
|
|
58
|
+
*
|
|
59
|
+
* @param {boolean} setAsDefault
|
|
60
|
+
* Sets the renderer class as the default renderer.
|
|
61
|
+
*/
|
|
62
|
+
function registerRendererType(rendererType, rendererClass, setAsDefault) {
|
|
63
|
+
RendererRegistry.rendererTypes[rendererType] = rendererClass;
|
|
64
|
+
if (!defaultRenderer || setAsDefault) {
|
|
65
|
+
defaultRenderer = rendererType;
|
|
66
|
+
H.Renderer = rendererClass; // Compatibility
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
RendererRegistry.registerRendererType = registerRendererType;
|
|
70
|
+
})(RendererRegistry || (RendererRegistry = {}));
|
|
71
|
+
/* *
|
|
72
|
+
*
|
|
73
|
+
* Default Export
|
|
74
|
+
*
|
|
75
|
+
* */
|
|
76
|
+
export default RendererRegistry;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
declare namespace RendererUtilities {
|
|
2
|
+
interface BoxObject {
|
|
3
|
+
align?: number;
|
|
4
|
+
pos?: number;
|
|
5
|
+
rank?: (number | null);
|
|
6
|
+
size: number;
|
|
7
|
+
target: number;
|
|
8
|
+
targets?: Array<number>;
|
|
9
|
+
}
|
|
10
|
+
interface DistributedBoxArray<T extends BoxObject> extends Array<(T & DistributedBoxObject)> {
|
|
11
|
+
reducedLen?: number;
|
|
12
|
+
}
|
|
13
|
+
interface DistributedBoxObject extends BoxObject {
|
|
14
|
+
pos?: number;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* General distribution algorithm for distributing labels of differing size
|
|
18
|
+
* along a confined length in two dimensions. The algorithm takes an array
|
|
19
|
+
* of objects containing a size, a target and a rank. It will place the
|
|
20
|
+
* labels as close as possible to their targets, skipping the lowest ranked
|
|
21
|
+
* labels if necessary.
|
|
22
|
+
* @private
|
|
23
|
+
*/
|
|
24
|
+
function distribute<T extends BoxObject>(boxes: DistributedBoxArray<T>, len: number, maxDistance?: number): DistributedBoxArray<T>;
|
|
25
|
+
}
|
|
26
|
+
export default RendererUtilities;
|