// SPDX-License-Identifier: LicenseRef-Highcharts
/**
 * @license Highcharts Dashboards v4.2.1 (2026-08-06)
 * @module dashboards/dashboards
 *
 * (c) 2009-2026 Highsoft AS
 *
 * A commercial license may be required depending on use,
 * see www.highcharts.com/license
 */
'use strict';
// Fill registries
import '../Data/Connectors/CSVConnector.js';
import '../Data/Connectors/GoogleSheetsConnector.js';
import '../Data/Connectors/HTMLTableConnector.js';
import '../Data/Connectors/JSONConnector.js';
import '../Data/Modifiers/ChainModifier.js';
import '../Data/Modifiers/InvertModifier.js';
import '../Data/Modifiers/RangeModifier.js';
import '../Data/Modifiers/SortModifier.js';
import '../Data/Modifiers/FilterModifier.js';
// Import SerializeHelper modules to register them
import '../Dashboards/SerializeHelper/CSVConnectorHelper.js';
import '../Dashboards/SerializeHelper/DataConverterHelper.js';
import '../Dashboards/SerializeHelper/DataCursorHelper.js';
import '../Dashboards/SerializeHelper/DataTableHelper.js';
import '../Dashboards/SerializeHelper/GoogleSheetsConnectorHelper.js';
import '../Dashboards/SerializeHelper/HTMLTableConnectorHelper.js';
import '../Dashboards/SerializeHelper/JSONConnectorHelper.js';
import AST from '../Core/Renderer/HTML/AST.js';
import DataConnector from '../Data/Connectors/DataConnector.js';
import Board from '../Dashboards/Board.js';
import Component from '../Dashboards/Components/Component.js';
import ComponentRegistry from '../Dashboards/Components/ComponentRegistry.js';
import DataPool from '../Data/DataPool.js';
import DataCursor from '../Data/DataCursor.js';
import DataConverter from '../Data/Converters/DataConverter.js';
import DataModifier from '../Data/Modifiers/DataModifier.js';
import DataTable from '../Data/DataTable.js';
import Defaults from '../Dashboards/Defaults.js';
import Globals from '../Dashboards/Globals.js';
import GridPlugin from '../Dashboards/Plugins/GridPlugin.js';
import HighchartsPlugin from '../Dashboards/Plugins/HighchartsPlugin.js';
import PluginHandler from '../Dashboards/PluginHandler.js';
import Sync from '../Dashboards/Components/Sync/Sync.js';
import Utilities from '../Dashboards/Utilities.js';
import { addEvent, createElement, css, defined, diffObjects, find, fireEvent, getStyle, isArray, isFunction, isNumber, isObject, isString, merge, objectEach, pick, removeEvent, splat } from '../Shared/Utilities.js';
import { uniqueKey } from '../Core/Utilities.js';
// Import components
import GridComponent from '../Dashboards/Components/GridComponent/GridComponent.js';
import HighchartsComponent from '../Dashboards/Components/HighchartsComponent/HighchartsComponent.js';
import HTMLComponent from '../Dashboards/Components/HTMLComponent/HTMLComponent.js';
import KPIComponent from '../Dashboards/Components/KPIComponent/KPIComponent.js';
import NavigatorComponent from '../Dashboards/Components/NavigatorComponent/NavigatorComponent.js';
/* *
 *
 *  Namespace
 *
 * */
const G = Globals;
G.board = Board.board;
G.addEvent = addEvent;
G.createElement = createElement;
G.css = css;
G.defined = defined;
G.diffObjects = diffObjects;
G.error = Utilities.error;
G.find = find;
G.fireEvent = fireEvent;
G.getStyle = getStyle;
G.isArray = isArray;
G.isFunction = isFunction;
G.isNumber = isNumber;
G.isObject = isObject;
G.isString = isString;
G.merge = merge;
G.objectEach = objectEach;
G.pick = pick;
G.removeEvent = removeEvent;
G.setOptions = Defaults.setOptions;
G.splat = splat;
G.uniqueKey = uniqueKey;
G.AST = AST;
G.Board = Board;
G.Component = Component;
G.ComponentRegistry = ComponentRegistry;
G.GridComponent = GridComponent;
G.HighchartsComponent = HighchartsComponent;
G.HTMLComponent = HTMLComponent;
G.KPIComponent = KPIComponent;
G.NavigatorComponent = NavigatorComponent;
G.DataConnector = DataConnector;
G.DataConverter = DataConverter;
G.DataCursor = DataCursor;
G.DataModifier = DataModifier;
G.DataPool = DataPool;
G.DataTable = DataTable;
G.defaultOptions = Defaults.defaultOptions;
G.GridPlugin = GridPlugin;
G.HighchartsPlugin = HighchartsPlugin;
G.PluginHandler = PluginHandler;
G.Sync = Sync;
/* *
 *
 *  Classic Export
 *
 * */
if (!G.win.Dashboards) {
    G.win.Dashboards = G;
}
if (G.win.Grid) {
    GridPlugin.custom.connectGrid(G.win.Grid);
    G.PluginHandler.addPlugin(GridPlugin);
}
if (G.win.Highcharts) {
    HighchartsPlugin.custom.connectHighcharts(G.win.Highcharts);
    G.PluginHandler.addPlugin(HighchartsPlugin);
}
/* *
 *
 *  Default Export
 *
 * */
export default G;
