@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,271 @@
|
|
|
1
|
+
/* *
|
|
2
|
+
*
|
|
3
|
+
* Grid Popup abstract class
|
|
4
|
+
*
|
|
5
|
+
* (c) 2020-2025 Highsoft AS
|
|
6
|
+
*
|
|
7
|
+
* License: www.highcharts.com/license
|
|
8
|
+
*
|
|
9
|
+
* !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
|
|
10
|
+
*
|
|
11
|
+
* Authors:
|
|
12
|
+
* - Dawid Dragula
|
|
13
|
+
*
|
|
14
|
+
* */
|
|
15
|
+
'use strict';
|
|
16
|
+
import GridUtils from '../GridUtils.js';
|
|
17
|
+
import Globals from '../Globals.js';
|
|
18
|
+
import U from '../../../Core/Utilities.js';
|
|
19
|
+
const { makeHTMLElement } = GridUtils;
|
|
20
|
+
const { fireEvent } = U;
|
|
21
|
+
/* *
|
|
22
|
+
*
|
|
23
|
+
* Class
|
|
24
|
+
*
|
|
25
|
+
* */
|
|
26
|
+
/**
|
|
27
|
+
* Abstract base class for for Grid popups.
|
|
28
|
+
*/
|
|
29
|
+
class Popup {
|
|
30
|
+
/* *
|
|
31
|
+
*
|
|
32
|
+
* Constructor
|
|
33
|
+
*
|
|
34
|
+
* */
|
|
35
|
+
/**
|
|
36
|
+
* Constructs a popup for the given grid.
|
|
37
|
+
*
|
|
38
|
+
* @param grid
|
|
39
|
+
* The grid that will own this popup.
|
|
40
|
+
*
|
|
41
|
+
* @param button
|
|
42
|
+
* The button that opened the popup, if any.
|
|
43
|
+
*
|
|
44
|
+
* @param options
|
|
45
|
+
* Popup options.
|
|
46
|
+
*/
|
|
47
|
+
constructor(grid, button, options) {
|
|
48
|
+
/**
|
|
49
|
+
* Whether the popup is currently visible.
|
|
50
|
+
*/
|
|
51
|
+
this.isVisible = false;
|
|
52
|
+
/**
|
|
53
|
+
* Event listener destroyers.
|
|
54
|
+
*/
|
|
55
|
+
this.eventListenerDestroyers = [];
|
|
56
|
+
this.grid = grid;
|
|
57
|
+
this.button = button;
|
|
58
|
+
this.options = options || {};
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Shows the popup positioned relative to the anchor element.
|
|
62
|
+
*
|
|
63
|
+
* @param anchorElement
|
|
64
|
+
* The element to position the popup relative to.
|
|
65
|
+
*/
|
|
66
|
+
show(anchorElement) {
|
|
67
|
+
if (this.container) {
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
this.button?.setHighlighted(true);
|
|
71
|
+
this.container = makeHTMLElement('div', {
|
|
72
|
+
className: Globals.getClassName('popup')
|
|
73
|
+
});
|
|
74
|
+
this.content = makeHTMLElement('div', {
|
|
75
|
+
className: Globals.getClassName('popupContent')
|
|
76
|
+
});
|
|
77
|
+
const { header } = this.options;
|
|
78
|
+
if (header) {
|
|
79
|
+
this.addHeader(header.label, header.category);
|
|
80
|
+
}
|
|
81
|
+
this.renderContent(this.content);
|
|
82
|
+
this.container.appendChild(this.content);
|
|
83
|
+
this.anchorElement = anchorElement;
|
|
84
|
+
this.isVisible = true;
|
|
85
|
+
this.grid.contentWrapper?.appendChild(this.container);
|
|
86
|
+
this.position(anchorElement);
|
|
87
|
+
this.addEventListeners();
|
|
88
|
+
this.grid.popups.add(this);
|
|
89
|
+
fireEvent(this, 'afterShow');
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Hides the popup. In reality, it just destroys the popup container and
|
|
93
|
+
* removes the event listeners.
|
|
94
|
+
*/
|
|
95
|
+
hide() {
|
|
96
|
+
if (!this.container) {
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
this.grid.popups.delete(this);
|
|
100
|
+
this.isVisible = false;
|
|
101
|
+
// Remove event listeners
|
|
102
|
+
this.removeEventListeners();
|
|
103
|
+
this.container.remove();
|
|
104
|
+
delete this.container;
|
|
105
|
+
delete this.content;
|
|
106
|
+
this.button?.setHighlighted(false);
|
|
107
|
+
fireEvent(this, 'afterHide');
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Toggles the popup visibility.
|
|
111
|
+
*
|
|
112
|
+
* @param anchorElement
|
|
113
|
+
* The element to position the popup relative to. If not provided, the popup
|
|
114
|
+
* will be positioned relative to the parent element.
|
|
115
|
+
*/
|
|
116
|
+
toggle(anchorElement) {
|
|
117
|
+
if (this.isVisible) {
|
|
118
|
+
this.hide();
|
|
119
|
+
}
|
|
120
|
+
else {
|
|
121
|
+
this.show(anchorElement);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Reflows the popup.
|
|
126
|
+
*/
|
|
127
|
+
reflow() {
|
|
128
|
+
if (this.anchorElement?.isConnected) {
|
|
129
|
+
this.position(this.anchorElement);
|
|
130
|
+
}
|
|
131
|
+
else {
|
|
132
|
+
this.hide();
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Positions the popup relative to the anchor element.
|
|
137
|
+
*
|
|
138
|
+
* @param anchorElement
|
|
139
|
+
* The element to position relative to. If not provided, the popup will be
|
|
140
|
+
* positioned relative to the parent element.
|
|
141
|
+
*/
|
|
142
|
+
position(anchorElement) {
|
|
143
|
+
const wrapper = this.grid.contentWrapper;
|
|
144
|
+
if (!this.container || !this.content || !wrapper) {
|
|
145
|
+
return;
|
|
146
|
+
}
|
|
147
|
+
const next = this.options.nextToAnchor || false;
|
|
148
|
+
const popupRect = this.container.getBoundingClientRect();
|
|
149
|
+
const parentRect = wrapper.getBoundingClientRect();
|
|
150
|
+
const anchorRect = anchorElement?.getBoundingClientRect() ?? parentRect;
|
|
151
|
+
const top = next ? anchorRect.top : anchorRect.bottom + 4;
|
|
152
|
+
let left = next ? anchorRect.right + 3 : anchorRect.left;
|
|
153
|
+
// If popup's right side is after the parent's right side, shift popup
|
|
154
|
+
// to the left of the anchor element.
|
|
155
|
+
if (left + popupRect.width > parentRect.width) {
|
|
156
|
+
left = -popupRect.width + (next ? anchorRect.left + 4 : anchorRect.right);
|
|
157
|
+
}
|
|
158
|
+
// If popup's left side is before the parent's left side,
|
|
159
|
+
// shift popup so it's aligned to parent's left.
|
|
160
|
+
if (left < parentRect.left) {
|
|
161
|
+
left = parentRect.left;
|
|
162
|
+
}
|
|
163
|
+
// Apply positioning
|
|
164
|
+
this.container.style.top = `${top - parentRect.top}px`;
|
|
165
|
+
this.container.style.left = `${left - parentRect.left}px`;
|
|
166
|
+
// If the content is too tall, constrain the container to the bottom
|
|
167
|
+
// of the parent to enable content Y-scrolling.
|
|
168
|
+
const contentRect = this.content.getBoundingClientRect();
|
|
169
|
+
if (contentRect.height + contentRect.top - parentRect.top >
|
|
170
|
+
parentRect.height) {
|
|
171
|
+
this.container.style.top = 'auto';
|
|
172
|
+
this.container.style.bottom = '0';
|
|
173
|
+
}
|
|
174
|
+
else {
|
|
175
|
+
this.container.style.top = `${top - parentRect.top}px`;
|
|
176
|
+
this.container.style.bottom = 'auto';
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Adds a header to the context menu.
|
|
181
|
+
*
|
|
182
|
+
* @param label
|
|
183
|
+
* The label shown in the header of the context menu.
|
|
184
|
+
*
|
|
185
|
+
* @param category
|
|
186
|
+
* The category shown in the header of the context menu, before the label.
|
|
187
|
+
*
|
|
188
|
+
* @returns
|
|
189
|
+
* The header element.
|
|
190
|
+
*/
|
|
191
|
+
addHeader(label, category) {
|
|
192
|
+
if (!this.content) {
|
|
193
|
+
return;
|
|
194
|
+
}
|
|
195
|
+
const container = makeHTMLElement('div', {
|
|
196
|
+
className: Globals.getClassName('menuHeader')
|
|
197
|
+
}, this.content);
|
|
198
|
+
if (category) {
|
|
199
|
+
makeHTMLElement('span', {
|
|
200
|
+
className: Globals.getClassName('menuHeaderCategory'),
|
|
201
|
+
innerText: category + ' '
|
|
202
|
+
}, container);
|
|
203
|
+
}
|
|
204
|
+
makeHTMLElement('span', {
|
|
205
|
+
className: Globals.getClassName('menuHeaderName'),
|
|
206
|
+
innerText: label
|
|
207
|
+
}, container);
|
|
208
|
+
return container;
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* Handles key down events.
|
|
212
|
+
*
|
|
213
|
+
* @param e
|
|
214
|
+
* Keyboard event
|
|
215
|
+
*/
|
|
216
|
+
onKeyDown(e) {
|
|
217
|
+
if (e.key === 'Escape' || (e.key === 'Tab' && e.shiftKey)) {
|
|
218
|
+
e.preventDefault();
|
|
219
|
+
this.hide();
|
|
220
|
+
this.button?.focus();
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* Handles click outside events.
|
|
225
|
+
*
|
|
226
|
+
* @param e
|
|
227
|
+
* Mouse event
|
|
228
|
+
*/
|
|
229
|
+
onClickOutside(e) {
|
|
230
|
+
if (!this.container?.contains(e.target) &&
|
|
231
|
+
!this.anchorElement?.contains(e.target)) {
|
|
232
|
+
this.hide();
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
/**
|
|
236
|
+
* Adds event listeners for click outside and escape key.
|
|
237
|
+
*/
|
|
238
|
+
addEventListeners() {
|
|
239
|
+
const container = this.container;
|
|
240
|
+
if (!container) {
|
|
241
|
+
return;
|
|
242
|
+
}
|
|
243
|
+
const clickOutsideListener = (event) => {
|
|
244
|
+
this.onClickOutside(event);
|
|
245
|
+
};
|
|
246
|
+
const keyDownListener = (event) => {
|
|
247
|
+
this.onKeyDown(event);
|
|
248
|
+
};
|
|
249
|
+
document.addEventListener('mousedown', clickOutsideListener);
|
|
250
|
+
container.addEventListener('keydown', keyDownListener);
|
|
251
|
+
this.eventListenerDestroyers.push(() => {
|
|
252
|
+
document.removeEventListener('mousedown', clickOutsideListener);
|
|
253
|
+
container.removeEventListener('keydown', keyDownListener);
|
|
254
|
+
});
|
|
255
|
+
}
|
|
256
|
+
/**
|
|
257
|
+
* Removes event listeners.
|
|
258
|
+
*/
|
|
259
|
+
removeEventListeners() {
|
|
260
|
+
for (const destroyer of this.eventListenerDestroyers) {
|
|
261
|
+
destroyer();
|
|
262
|
+
}
|
|
263
|
+
this.eventListenerDestroyers.length = 0;
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
/* *
|
|
267
|
+
*
|
|
268
|
+
* Default Export
|
|
269
|
+
*
|
|
270
|
+
* */
|
|
271
|
+
export default Popup;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Registry of all Grid Svg icons with their SVG path data.
|
|
3
|
+
* Icons are designed for a 24x24 viewBox and use stroke-based rendering.
|
|
4
|
+
*/
|
|
5
|
+
declare namespace SvgIcons {
|
|
6
|
+
/**
|
|
7
|
+
* The name of the icon from SvgIcons registry
|
|
8
|
+
*/
|
|
9
|
+
type GridIconName = ('filter' | 'menu' | 'chevronRight' | 'checkmark' | 'upDownArrows' | 'sortAsc' | 'sortDesc');
|
|
10
|
+
/**
|
|
11
|
+
* The registry of all Grid Svg icons with their SVG path data.
|
|
12
|
+
*/
|
|
13
|
+
const icons: Record<GridIconName, SVGDefinition>;
|
|
14
|
+
/**
|
|
15
|
+
* The default path definitions for the Grid Svg icons.
|
|
16
|
+
*/
|
|
17
|
+
const pathDefaults: Partial<PathDefinition>;
|
|
18
|
+
/**
|
|
19
|
+
* The definition of a path for a Grid Svg icon.
|
|
20
|
+
*/
|
|
21
|
+
interface PathDefinition {
|
|
22
|
+
d: string;
|
|
23
|
+
stroke?: string;
|
|
24
|
+
'stroke-width'?: number;
|
|
25
|
+
'stroke-linecap'?: string;
|
|
26
|
+
'stroke-linejoin'?: string;
|
|
27
|
+
opacity?: number;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* The definition of an SVG for a Grid Svg icon.
|
|
31
|
+
*/
|
|
32
|
+
interface SVGDefinition {
|
|
33
|
+
width?: number;
|
|
34
|
+
height?: number;
|
|
35
|
+
viewBox?: string;
|
|
36
|
+
fill?: string;
|
|
37
|
+
children?: PathDefinition[];
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Creates an SVG icon element from the SvgIcons registry.
|
|
41
|
+
*
|
|
42
|
+
* @param name
|
|
43
|
+
* The name of the icon from SvgIcons registry
|
|
44
|
+
*
|
|
45
|
+
* @param className
|
|
46
|
+
* CSS class name for the SVG element (default: 'hcg-icon')
|
|
47
|
+
*
|
|
48
|
+
* @returns
|
|
49
|
+
* SVG element with the specified icon
|
|
50
|
+
*/
|
|
51
|
+
function createGridIcon(name: GridIconName, className?: string): SVGElement;
|
|
52
|
+
}
|
|
53
|
+
export default SvgIcons;
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
/* *
|
|
2
|
+
*
|
|
3
|
+
* Grid Svg Icons Registry
|
|
4
|
+
*
|
|
5
|
+
* (c) 2020-2025 Highsoft AS
|
|
6
|
+
*
|
|
7
|
+
* License: www.highcharts.com/license
|
|
8
|
+
*
|
|
9
|
+
* !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
|
|
10
|
+
*
|
|
11
|
+
* Authors:
|
|
12
|
+
* - Mikkel Espolin Birkeland
|
|
13
|
+
* - Dawid Dragula
|
|
14
|
+
*
|
|
15
|
+
* */
|
|
16
|
+
'use strict';
|
|
17
|
+
/* eslint-disable max-len */
|
|
18
|
+
/* *
|
|
19
|
+
*
|
|
20
|
+
* Imports
|
|
21
|
+
*
|
|
22
|
+
* */
|
|
23
|
+
import Globals from '../Globals.js';
|
|
24
|
+
/* *
|
|
25
|
+
*
|
|
26
|
+
* Constants
|
|
27
|
+
*
|
|
28
|
+
* */
|
|
29
|
+
/**
|
|
30
|
+
* Registry of all Grid Svg icons with their SVG path data.
|
|
31
|
+
* Icons are designed for a 24x24 viewBox and use stroke-based rendering.
|
|
32
|
+
*/
|
|
33
|
+
var SvgIcons;
|
|
34
|
+
(function (SvgIcons) {
|
|
35
|
+
/**
|
|
36
|
+
* The registry of all Grid Svg icons with their SVG path data.
|
|
37
|
+
*/
|
|
38
|
+
SvgIcons.icons = {
|
|
39
|
+
filter: {
|
|
40
|
+
width: 16,
|
|
41
|
+
height: 14,
|
|
42
|
+
children: [{
|
|
43
|
+
d: 'M2.2571 2.77791C1.75287 2.21437 1.50076 1.93259 1.49125 1.69312C1.48299 1.48509 1.57238 1.28515 1.73292 1.15259C1.91773 1 2.29583 1 3.05202 1H12.9473C13.7035 1 14.0816 1 14.2664 1.15259C14.427 1.28515 14.5163 1.48509 14.5081 1.69312C14.4986 1.93259 14.2465 2.21437 13.7422 2.77791L9.93808 7.02962C9.83756 7.14196 9.78731 7.19813 9.75147 7.26205C9.71969 7.31875 9.69637 7.37978 9.68225 7.44323C9.66633 7.51476 9.66633 7.59013 9.66633 7.74087V11.3056C9.66633 11.436 9.66633 11.5011 9.64531 11.5575C9.62673 11.6073 9.59651 11.6519 9.55717 11.6877C9.51265 11.7281 9.45213 11.7524 9.33108 11.8008L7.06441 12.7074C6.81938 12.8054 6.69687 12.8545 6.59852 12.834C6.51251 12.8161 6.43704 12.765 6.3885 12.6918C6.333 12.6081 6.333 12.4762 6.333 12.2122V7.74087C6.333 7.59013 6.333 7.51476 6.31708 7.44323C6.30296 7.37978 6.27964 7.31875 6.24786 7.26205C6.21203 7.19813 6.16177 7.14196 6.06126 7.02962L2.2571 2.77791Z'
|
|
44
|
+
}]
|
|
45
|
+
},
|
|
46
|
+
menu: {
|
|
47
|
+
width: 4,
|
|
48
|
+
height: 12,
|
|
49
|
+
children: [{
|
|
50
|
+
d: 'M2.00016 6.66675C2.36835 6.66675 2.66683 6.36827 2.66683 6.00008C2.66683 5.63189 2.36835 5.33341 2.00016 5.33341C1.63197 5.33341 1.3335 5.63189 1.3335 6.00008C1.3335 6.36827 1.63197 6.66675 2.00016 6.66675Z'
|
|
51
|
+
}, {
|
|
52
|
+
d: 'M2.00016 2.00008C2.36835 2.00008 2.66683 1.7016 2.66683 1.33341C2.66683 0.965225 2.36835 0.666748 2.00016 0.666748C1.63197 0.666748 1.3335 0.965225 1.3335 1.33341C1.3335 1.7016 1.63197 2.00008 2.00016 2.00008Z'
|
|
53
|
+
}, {
|
|
54
|
+
d: 'M2.00016 11.3334C2.36835 11.3334 2.66683 11.0349 2.66683 10.6667C2.66683 10.2986 2.36835 10.0001 2.00016 10.0001C1.63197 10.0001 1.3335 10.2986 1.3335 10.6667C1.3335 11.0349 1.63197 11.3334 2.00016 11.3334Z'
|
|
55
|
+
}]
|
|
56
|
+
},
|
|
57
|
+
chevronRight: {
|
|
58
|
+
width: 6,
|
|
59
|
+
height: 10,
|
|
60
|
+
children: [{
|
|
61
|
+
d: 'M1 9L5 5L1 1',
|
|
62
|
+
'stroke-width': 1.34
|
|
63
|
+
}]
|
|
64
|
+
},
|
|
65
|
+
checkmark: {
|
|
66
|
+
width: 12,
|
|
67
|
+
height: 9,
|
|
68
|
+
children: [{
|
|
69
|
+
d: 'M11.3332 1L3.99984 8.33333L0.666504 5'
|
|
70
|
+
}]
|
|
71
|
+
},
|
|
72
|
+
upDownArrows: {
|
|
73
|
+
width: 14,
|
|
74
|
+
height: 12,
|
|
75
|
+
children: [{
|
|
76
|
+
d: 'M3.66667 0.666748V11.3334M3.66667 11.3334L1 8.66675M3.66667 11.3334L6.33333 8.66675M10.3333 11.3334V0.666748M10.3333 0.666748L7.66667 3.33341M10.3333 0.666748L13 3.33341'
|
|
77
|
+
}]
|
|
78
|
+
},
|
|
79
|
+
sortAsc: {
|
|
80
|
+
width: 14,
|
|
81
|
+
height: 12,
|
|
82
|
+
children: [{
|
|
83
|
+
d: 'M3.66667 0.666748V11.3334M3.66667 11.3334L1 8.66675M3.66667 11.3334L6.33333 8.66675',
|
|
84
|
+
opacity: 0.2
|
|
85
|
+
}, {
|
|
86
|
+
d: 'M 10.3333 11.3334 V 0.6667 M 10.3333 0.6667 L 7.6667 3.3334 M 10.3333 0.6667 L 13 3.3334'
|
|
87
|
+
}]
|
|
88
|
+
},
|
|
89
|
+
sortDesc: {
|
|
90
|
+
width: 14,
|
|
91
|
+
height: 12,
|
|
92
|
+
children: [{
|
|
93
|
+
d: 'M3.66667 0.666748V11.3334M3.66667 11.3334L1 8.66675M3.66667 11.3334L6.33333 8.66675'
|
|
94
|
+
}, {
|
|
95
|
+
d: 'M 10.3333 11.3334 V 0.6667 M 10.3333 0.6667 L 7.6667 3.3334 M 10.3333 0.6667 L 13 3.3334',
|
|
96
|
+
opacity: 0.2
|
|
97
|
+
}]
|
|
98
|
+
}
|
|
99
|
+
};
|
|
100
|
+
/**
|
|
101
|
+
* The default path definitions for the Grid Svg icons.
|
|
102
|
+
*/
|
|
103
|
+
SvgIcons.pathDefaults = {
|
|
104
|
+
stroke: 'currentColor',
|
|
105
|
+
'stroke-width': 1.33,
|
|
106
|
+
'stroke-linecap': 'round',
|
|
107
|
+
'stroke-linejoin': 'round'
|
|
108
|
+
};
|
|
109
|
+
/* *
|
|
110
|
+
*
|
|
111
|
+
* Functions
|
|
112
|
+
*
|
|
113
|
+
* */
|
|
114
|
+
/**
|
|
115
|
+
* Creates an SVG icon element from the SvgIcons registry.
|
|
116
|
+
*
|
|
117
|
+
* @param name
|
|
118
|
+
* The name of the icon from SvgIcons registry
|
|
119
|
+
*
|
|
120
|
+
* @param className
|
|
121
|
+
* CSS class name for the SVG element (default: 'hcg-icon')
|
|
122
|
+
*
|
|
123
|
+
* @returns
|
|
124
|
+
* SVG element with the specified icon
|
|
125
|
+
*/
|
|
126
|
+
function createGridIcon(name, className = Globals.getClassName('icon')) {
|
|
127
|
+
const createElement = (type) => document.createElementNS('http://www.w3.org/2000/svg', type);
|
|
128
|
+
const { width = 16, height = 16, viewBox, fill, children } = SvgIcons.icons[name];
|
|
129
|
+
const svg = createElement('svg');
|
|
130
|
+
svg.setAttribute('width', width.toString());
|
|
131
|
+
svg.setAttribute('height', height.toString());
|
|
132
|
+
svg.setAttribute('viewBox', viewBox ?? `0 0 ${width} ${height}`);
|
|
133
|
+
svg.setAttribute('fill', fill ?? 'none');
|
|
134
|
+
for (const childDefinition of children ?? []) {
|
|
135
|
+
const path = createElement('path');
|
|
136
|
+
const attrKeys = new Set([
|
|
137
|
+
...Object.keys(childDefinition),
|
|
138
|
+
...Object.keys(SvgIcons.pathDefaults)
|
|
139
|
+
]);
|
|
140
|
+
for (const attr of attrKeys) {
|
|
141
|
+
const value = childDefinition[attr] ?? SvgIcons.pathDefaults[attr];
|
|
142
|
+
if (value !== void 0) {
|
|
143
|
+
path.setAttribute(attr, value.toString());
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
svg.appendChild(path);
|
|
147
|
+
}
|
|
148
|
+
svg.classList.add(className);
|
|
149
|
+
return svg;
|
|
150
|
+
}
|
|
151
|
+
SvgIcons.createGridIcon = createGridIcon;
|
|
152
|
+
})(SvgIcons || (SvgIcons = {}));
|
|
153
|
+
/* *
|
|
154
|
+
*
|
|
155
|
+
* Default Export
|
|
156
|
+
*
|
|
157
|
+
* */
|
|
158
|
+
export default SvgIcons;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type ToolbarButton from './ToolbarButton.js';
|
|
2
|
+
interface Toolbar {
|
|
3
|
+
/**
|
|
4
|
+
* The buttons of the toolbar.
|
|
5
|
+
*/
|
|
6
|
+
buttons: ToolbarButton[];
|
|
7
|
+
/**
|
|
8
|
+
* The container element of the toolbar.
|
|
9
|
+
*/
|
|
10
|
+
container?: HTMLDivElement;
|
|
11
|
+
/**
|
|
12
|
+
* The index of the focused button in the toolbar.
|
|
13
|
+
*/
|
|
14
|
+
focusCursor: number;
|
|
15
|
+
}
|
|
16
|
+
export default Toolbar;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/* *
|
|
2
|
+
*
|
|
3
|
+
* Grid Toolbar interface
|
|
4
|
+
*
|
|
5
|
+
* (c) 2020-2025 Highsoft AS
|
|
6
|
+
*
|
|
7
|
+
* License: www.highcharts.com/license
|
|
8
|
+
*
|
|
9
|
+
* !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
|
|
10
|
+
*
|
|
11
|
+
* Authors:
|
|
12
|
+
* - Dawid Dragula
|
|
13
|
+
*
|
|
14
|
+
* */
|
|
15
|
+
'use strict';
|
|
16
|
+
export {};
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
import type Toolbar from './Toolbar';
|
|
2
|
+
import type Button from './Button';
|
|
3
|
+
import type Popup from './Popup';
|
|
4
|
+
import SvgIcons from './SvgIcons.js';
|
|
5
|
+
import Globals from '../Globals.js';
|
|
6
|
+
declare class ToolbarButton implements Button {
|
|
7
|
+
/**
|
|
8
|
+
* The wrapper element for the button.
|
|
9
|
+
*/
|
|
10
|
+
wrapper?: HTMLSpanElement;
|
|
11
|
+
/**
|
|
12
|
+
* The toolbar that the button belongs to.
|
|
13
|
+
*/
|
|
14
|
+
toolbar?: Toolbar;
|
|
15
|
+
popup?: Popup;
|
|
16
|
+
/**
|
|
17
|
+
* Used to remove the event listeners when the button is destroyed.
|
|
18
|
+
*/
|
|
19
|
+
protected eventListenerDestroyers: Function[];
|
|
20
|
+
/**
|
|
21
|
+
* Whether the button is active.
|
|
22
|
+
*/
|
|
23
|
+
protected isActive: boolean;
|
|
24
|
+
/**
|
|
25
|
+
* The options for the toolbar button.
|
|
26
|
+
*/
|
|
27
|
+
private options;
|
|
28
|
+
/**
|
|
29
|
+
* The default icon for the toolbar button.
|
|
30
|
+
*/
|
|
31
|
+
private icon?;
|
|
32
|
+
/**
|
|
33
|
+
* The button element.
|
|
34
|
+
*/
|
|
35
|
+
private buttonEl?;
|
|
36
|
+
/**
|
|
37
|
+
* The active indicator for the button.
|
|
38
|
+
*/
|
|
39
|
+
private activeIndicator?;
|
|
40
|
+
constructor(options: ToolbarButton.Options);
|
|
41
|
+
/**
|
|
42
|
+
* Adds the button to the toolbar.
|
|
43
|
+
*
|
|
44
|
+
* @param toolbar
|
|
45
|
+
* The toolbar to add the button to.
|
|
46
|
+
*/
|
|
47
|
+
add(toolbar: Toolbar): this;
|
|
48
|
+
setA11yAttributes(button: HTMLButtonElement): void;
|
|
49
|
+
focus(): void;
|
|
50
|
+
/**
|
|
51
|
+
* Sets the icon for the button.
|
|
52
|
+
*
|
|
53
|
+
* @param icon
|
|
54
|
+
* The icon to set.
|
|
55
|
+
*/
|
|
56
|
+
setIcon(icon: SvgIcons.GridIconName): void;
|
|
57
|
+
setActive(active: boolean): void;
|
|
58
|
+
setHighlighted(highlighted: boolean): void;
|
|
59
|
+
/**
|
|
60
|
+
* Destroys the button.
|
|
61
|
+
*/
|
|
62
|
+
destroy(): void;
|
|
63
|
+
/**
|
|
64
|
+
* Initializes the state of the button.
|
|
65
|
+
*/
|
|
66
|
+
protected refreshState(): void;
|
|
67
|
+
/**
|
|
68
|
+
* Handles the click event for the button.
|
|
69
|
+
*
|
|
70
|
+
* @param event
|
|
71
|
+
* The mouse event.
|
|
72
|
+
*/
|
|
73
|
+
protected clickHandler(event: MouseEvent): void;
|
|
74
|
+
/**
|
|
75
|
+
* Renders the active indicator for the button.
|
|
76
|
+
*
|
|
77
|
+
* @param render
|
|
78
|
+
* Whether the active indicator should be rendered.
|
|
79
|
+
*/
|
|
80
|
+
protected renderActiveIndicator(render: boolean): void;
|
|
81
|
+
/**
|
|
82
|
+
* Adds event listeners to the button.
|
|
83
|
+
*/
|
|
84
|
+
protected addEventListeners(): void;
|
|
85
|
+
/**
|
|
86
|
+
* Removes event listeners from the button.
|
|
87
|
+
*/
|
|
88
|
+
private removeEventListeners;
|
|
89
|
+
}
|
|
90
|
+
declare namespace ToolbarButton {
|
|
91
|
+
/**
|
|
92
|
+
* Options for the toolbar button.
|
|
93
|
+
*/
|
|
94
|
+
interface Options {
|
|
95
|
+
/**
|
|
96
|
+
* The icon for the button.
|
|
97
|
+
*/
|
|
98
|
+
icon: SvgIcons.GridIconName;
|
|
99
|
+
/**
|
|
100
|
+
* The class name key for the button.
|
|
101
|
+
*/
|
|
102
|
+
classNameKey?: Globals.ClassNameKey;
|
|
103
|
+
/**
|
|
104
|
+
* The tooltip string for the button.
|
|
105
|
+
*/
|
|
106
|
+
tooltip?: string;
|
|
107
|
+
/**
|
|
108
|
+
* Whether the button should be always visible.
|
|
109
|
+
*/
|
|
110
|
+
alwaysVisible?: boolean;
|
|
111
|
+
/**
|
|
112
|
+
* The accessibility options for the button.
|
|
113
|
+
*/
|
|
114
|
+
accessibility?: ToolbarButtonA11yOptions;
|
|
115
|
+
/**
|
|
116
|
+
* The click handler for the button.
|
|
117
|
+
*/
|
|
118
|
+
onClick?: (event: MouseEvent, button: ToolbarButton) => void;
|
|
119
|
+
}
|
|
120
|
+
interface ToolbarButtonA11yOptions {
|
|
121
|
+
/**
|
|
122
|
+
* The aria label attribute for the button.
|
|
123
|
+
*/
|
|
124
|
+
ariaLabel?: string;
|
|
125
|
+
/**
|
|
126
|
+
* The aria expanded attribute for the button.
|
|
127
|
+
*/
|
|
128
|
+
ariaExpanded?: boolean;
|
|
129
|
+
/**
|
|
130
|
+
* The aria controls attribute for the button.
|
|
131
|
+
*/
|
|
132
|
+
ariaControls?: string;
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
export default ToolbarButton;
|