{"version":3,"file":"c8y-ngx-components-widgets-widget-providers.mjs","sources":["../../widgets/widget-providers/index.ts","../../widgets/widget-providers/c8y-ngx-components-widgets-widget-providers.ts"],"sourcesContent":["import { Provider } from '@angular/core';\nimport { defaultWidgetIds, DefaultWidgetIdValues } from '@c8y/ngx-components/widgets/definitions';\nimport { alarmListWidgetProviders } from '@c8y/ngx-components/widgets/definitions/alarms/alarm-list';\nimport { criticalAlarmsWidgetProviders } from '@c8y/ngx-components/widgets/definitions/alarms/all-critical-alarms';\nimport { recentAlarmsWidgetProviders } from '@c8y/ngx-components/widgets/definitions/alarms/recent-alarms';\nimport { dataPointsTableWidgetProviders } from '@c8y/ngx-components/widgets/definitions/datapoints-table';\nimport { datapointGraphWidgetproviders } from '@c8y/ngx-components/widgets/definitions/datapoints-graph';\nimport { infoGaugeWidgetProviders } from '@c8y/ngx-components/widgets/definitions/info-gauge';\nimport { kpiWidgetProviders } from '@c8y/ngx-components/widgets/definitions/kpi';\nimport { linearGaugeWidgetProviders } from '@c8y/ngx-components/widgets/definitions/linear-gauge';\nimport { mapWidgetProviders } from '@c8y/ngx-components/widgets/definitions/map';\nimport { radialGaugeWidgetProviders } from '@c8y/ngx-components/widgets/definitions/radial-gauge';\nimport { deviceControlMessageWidgetProviders } from '@c8y/ngx-components/widgets/definitions/device-control-message';\nimport { imageWidgetProviders } from '@c8y/ngx-components/widgets/definitions/image';\nimport { markdownWidgetProviders } from '@c8y/ngx-components/widgets/definitions/markdown';\nimport { htmlWidgetProviders } from '@c8y/ngx-components/widgets/definitions/html-widget';\nimport { helpAndServiceWidgetProviders } from '@c8y/ngx-components/widgets/definitions/help-and-service';\nimport { threeDRotationWidgetProviders } from '@c8y/ngx-components/widgets/definitions/three-d-rotation';\nimport { siloWidgetProviders } from '@c8y/ngx-components/widgets/definitions/silo';\nimport { applicationsWidgetProviders } from '@c8y/ngx-components/widgets/definitions/applications';\nimport { quickLinksWidgetProviders } from '@c8y/ngx-components/widgets/definitions/quick-links';\nimport { cockpitWelcomeWidgetProviders } from '@c8y/ngx-components/widgets/definitions/cockpit-welcome';\nimport { legacyCockpitWelcomeWidgetProviders } from '@c8y/ngx-components/widgets/definitions/cockpit-legacy-welcome';\nimport { deviceManagementWelcomeWidgetProviders } from '@c8y/ngx-components/widgets/definitions/device-management-welcome';\nimport { assetNotesWidgetProviders } from '@c8y/ngx-components/widgets/definitions/asset-notes';\nimport { eventListWidgetProviders } from '@c8y/ngx-components/widgets/definitions/event-list';\nimport { pieChartWidgetProviders } from '@c8y/ngx-components/widgets/definitions/pie-chart';\n\n/**\n * Type representing all available widget IDs that can be configured\n * This ensures type safety when specifying widget IDs\n */\nexport type WidgetId = DefaultWidgetIdValues;\n\n/**\n * Configuration interface for widget providers\n */\nexport interface WidgetProvidersConfig {\n  /**\n   * List of widget IDs to exclude from the providers\n   * Use defaultWidgetIds constants for type safety and autocomplete\n   * @example { exclude: [defaultWidgetIds.HTML, defaultWidgetIds.MARKDOWN] }\n   */\n  exclude?: WidgetId[];\n}\n\n/**\n * Map of widget IDs to their respective providers\n * This includes both widget definitions and configuration hooks\n */\nconst WIDGET_PROVIDERS_MAP: Partial<Record<WidgetId, Provider[]>> = {\n  [defaultWidgetIds.ALARM_LIST]: alarmListWidgetProviders,\n  [defaultWidgetIds.ALL_CRITICAL_ALARMS]: criticalAlarmsWidgetProviders,\n  [defaultWidgetIds.RECENT_ALARMS]: recentAlarmsWidgetProviders,\n  [defaultWidgetIds.DATA_POINTS_TABLE]: dataPointsTableWidgetProviders,\n  [defaultWidgetIds.DATAPOINTS_GRAPH]: datapointGraphWidgetproviders,\n  [defaultWidgetIds.DATAPOINTS_GRAPH_NEW]: datapointGraphWidgetproviders,\n  [defaultWidgetIds.KPI]: kpiWidgetProviders,\n  [defaultWidgetIds.INFO_GAUGE]: infoGaugeWidgetProviders,\n  [defaultWidgetIds.LINEAR_GAUGE]: linearGaugeWidgetProviders,\n  [defaultWidgetIds.RADIAL_GAUGE]: radialGaugeWidgetProviders,\n  [defaultWidgetIds.MAP]: mapWidgetProviders,\n  [defaultWidgetIds.DEVICE_CONTROL_MESSAGE_WIDGET]: deviceControlMessageWidgetProviders,\n  [defaultWidgetIds.THREE_D_ROTATION]: threeDRotationWidgetProviders,\n  [defaultWidgetIds.SILO]: siloWidgetProviders,\n  [defaultWidgetIds.APPLICATIONS]: applicationsWidgetProviders,\n  [defaultWidgetIds.QUICK_LINKS]: quickLinksWidgetProviders,\n  [defaultWidgetIds.HELP_AND_SERVICE]: helpAndServiceWidgetProviders,\n  [defaultWidgetIds.IMAGE]: imageWidgetProviders,\n  [defaultWidgetIds.MARKDOWN]: markdownWidgetProviders,\n  [defaultWidgetIds.HTML]: htmlWidgetProviders,\n  [defaultWidgetIds.COCKPIT_WELCOME]: cockpitWelcomeWidgetProviders,\n  [defaultWidgetIds.LEGACY_COCKPIT_WELCOME]: legacyCockpitWelcomeWidgetProviders,\n  [defaultWidgetIds.DEVICE_MANAGEMENT_WELCOME]: deviceManagementWelcomeWidgetProviders,\n  [defaultWidgetIds.ASSET_NOTES]: assetNotesWidgetProviders,\n  [defaultWidgetIds.EVENT_LIST]: eventListWidgetProviders,\n  [defaultWidgetIds.PIE_CHART]: pieChartWidgetProviders\n};\n\n/**\n * Default widgets that are typically useful\n * These are the widgets that will be loaded unless explicitly excluded\n */\nexport const DEFAULT_WIDGETS: WidgetId[] = [\n  defaultWidgetIds.ALARM_LIST,\n  defaultWidgetIds.ALL_CRITICAL_ALARMS,\n  defaultWidgetIds.RECENT_ALARMS,\n  defaultWidgetIds.DATA_POINTS_TABLE,\n  defaultWidgetIds.DATAPOINTS_GRAPH,\n  defaultWidgetIds.DATAPOINTS_GRAPH_NEW,\n  defaultWidgetIds.KPI,\n  defaultWidgetIds.INFO_GAUGE,\n  defaultWidgetIds.LINEAR_GAUGE,\n  defaultWidgetIds.RADIAL_GAUGE,\n  defaultWidgetIds.MAP,\n  defaultWidgetIds.DEVICE_CONTROL_MESSAGE_WIDGET,\n  defaultWidgetIds.THREE_D_ROTATION,\n  defaultWidgetIds.SILO,\n  defaultWidgetIds.APPLICATIONS,\n  defaultWidgetIds.QUICK_LINKS,\n  defaultWidgetIds.HELP_AND_SERVICE,\n  defaultWidgetIds.IMAGE,\n  defaultWidgetIds.MARKDOWN,\n  defaultWidgetIds.HTML,\n  defaultWidgetIds.COCKPIT_WELCOME,\n  defaultWidgetIds.LEGACY_COCKPIT_WELCOME,\n  defaultWidgetIds.DEVICE_MANAGEMENT_WELCOME,\n  defaultWidgetIds.ASSET_NOTES,\n  defaultWidgetIds.EVENT_LIST,\n  defaultWidgetIds.PIE_CHART\n];\n\n/**\n * Configures and returns widget providers.\n *\n * This function allows selective loading of widget providers with their configuration hooks.\n * Unlike `cockpitWidgets()` which only provides widget definitions, this includes\n * the full providers with `hookWidgetConfig` registrations for features like widget preview.\n *\n * @param config Configuration options for widget providers\n * @returns Array of providers to be included in app.module.ts\n *\n * @example\n * ```typescript\n * // In app.module.ts\n * providers: [\n *   ...configureWidgetProviders({\n *     exclude: [defaultWidgetIds.HTML, defaultWidgetIds.MARKDOWN]\n *   }),\n *   // other providers\n * ]\n * ```\n *\n * @example\n * ```typescript\n * // Load all default widgets\n * providers: [\n *   ...configureWidgetProviders(),\n *   // other providers\n * ]\n * ```\n */\nexport function configureWidgetProviders(config: WidgetProvidersConfig = {}): Provider[] {\n  const { exclude = [] } = config;\n  const excludeSet = new Set(exclude);\n\n  return DEFAULT_WIDGETS.filter(widgetId => !excludeSet.has(widgetId)).flatMap(widgetId => {\n    const providers = WIDGET_PROVIDERS_MAP[widgetId];\n    if (!providers) {\n      console.warn(`Widget providers not found for widget ID: ${widgetId}`);\n      return [];\n    }\n    return providers;\n  });\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}