@sisense/sdk-ui 2.30.0 → 2.31.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.
Files changed (112) hide show
  1. package/dist/ai.cjs +2 -2
  2. package/dist/ai.js +6 -6
  3. package/dist/analytics-composer/node.cjs +1 -1
  4. package/dist/analytics-composer/node.js +1841 -1321
  5. package/dist/analytics-composer.cjs +2 -2
  6. package/dist/analytics-composer.js +8 -8
  7. package/dist/apply-styled-options-to-query-BddNnNsW.js +7028 -0
  8. package/dist/apply-styled-options-to-query-BrP6xVFh.cjs +1 -0
  9. package/dist/index-BcggtLDg.js +847 -0
  10. package/dist/index-DhUTJSni.cjs +1 -0
  11. package/dist/index.cjs +443 -417
  12. package/dist/index.js +23357 -23604
  13. package/dist/index.umd.js +818 -716
  14. package/dist/packages/sdk-ui/src/domains/dashboarding/components/dashboard-header/constants.d.ts +16 -0
  15. package/dist/packages/sdk-ui/src/domains/dashboarding/components/{dashboard-header-config.d.ts → dashboard-header/dashboard-header-config.d.ts} +17 -22
  16. package/dist/packages/sdk-ui/src/domains/dashboarding/components/{dashboard-header-targets.d.ts → dashboard-header/dashboard-header-targets.d.ts} +0 -4
  17. package/dist/packages/sdk-ui/src/domains/dashboarding/components/{dashboard-header-title.d.ts → dashboard-header/dashboard-header-title.d.ts} +1 -1
  18. package/dist/packages/sdk-ui/src/domains/dashboarding/components/{dashboard-header.d.ts → dashboard-header/dashboard-header.d.ts} +1 -4
  19. package/dist/packages/sdk-ui/src/domains/dashboarding/components/toolbar/edit-toggle.d.ts +5 -0
  20. package/dist/packages/sdk-ui/src/domains/dashboarding/components/toolbar/filter-toggle.d.ts +5 -0
  21. package/dist/packages/sdk-ui/src/domains/dashboarding/dashboard-helpers.d.ts +1 -1
  22. package/dist/packages/sdk-ui/src/domains/dashboarding/dashboard-model/use-dashboard-model/dashboard-model-reducer/persist-dashboard-model-middleware.d.ts +10 -0
  23. package/dist/packages/sdk-ui/src/domains/dashboarding/dashboard-module/types.d.ts +9 -2
  24. package/dist/packages/sdk-ui/src/domains/dashboarding/dashboard.d.ts +0 -1
  25. package/dist/packages/sdk-ui/src/domains/dashboarding/hooks/use-edit-mode-with-history.d.ts +0 -1
  26. package/dist/packages/sdk-ui/src/domains/dashboarding/hooks/use-widget-updates-persistence.d.ts +2 -1
  27. package/dist/packages/sdk-ui/src/domains/dashboarding/persistence/update-types.d.ts +4 -1
  28. package/dist/packages/sdk-ui/src/domains/dashboarding/types.d.ts +30 -13
  29. package/dist/packages/sdk-ui/src/domains/dashboarding/utils.d.ts +29 -6
  30. package/dist/packages/sdk-ui/src/domains/filters/components/filters-panel/filters-panel.d.ts +0 -1
  31. package/dist/packages/sdk-ui/src/domains/narrative/components/widget-narrative.d.ts +1 -1
  32. package/dist/packages/sdk-ui/src/domains/narrative/core/get-widget-narrative-from-widget-props.d.ts +4 -4
  33. package/dist/packages/sdk-ui/src/domains/narrative/core/{widget-narrative-options.d.ts → widget-narrative-config.d.ts} +12 -12
  34. package/dist/packages/sdk-ui/src/domains/narrative/core/widget-props-to-narrative-params.d.ts +8 -8
  35. package/dist/packages/sdk-ui/src/domains/narrative/hooks/use-get-widget-narrative.d.ts +2 -2
  36. package/dist/packages/sdk-ui/src/domains/shared/header/header-item-cell.d.ts +25 -0
  37. package/dist/packages/sdk-ui/src/domains/shared/header/header-item-size.d.ts +2 -1
  38. package/dist/packages/sdk-ui/src/domains/shared/header/header-items-renderer.d.ts +6 -2
  39. package/dist/packages/sdk-ui/src/domains/shared/header/index.d.ts +1 -0
  40. package/dist/packages/sdk-ui/src/domains/visualizations/components/table/pure-table/helpers/calc-column-widths.d.ts +19 -1
  41. package/dist/packages/sdk-ui/src/domains/visualizations/components/table/pure-table/styles/style-constants.d.ts +1 -1
  42. package/dist/packages/sdk-ui/src/domains/visualizations/components/table/pure-table/types.d.ts +5 -0
  43. package/dist/packages/sdk-ui/src/domains/visualizations/core/chart-data-options/types.d.ts +0 -1
  44. package/dist/packages/sdk-ui/src/domains/visualizations/core/chart-options-processor/chart-options-service.d.ts +1 -0
  45. package/dist/packages/sdk-ui/src/domains/visualizations/core/chart-options-processor/translations/design-options.d.ts +30 -0
  46. package/dist/packages/sdk-ui/src/domains/visualizations/core/chart-options-processor/translations/sunburst/sunburst-levels.d.ts +1 -1
  47. package/dist/packages/sdk-ui/src/domains/visualizations/core/chart-options-processor/translations/sunburst/sunburst-options.d.ts +2 -2
  48. package/dist/packages/sdk-ui/src/domains/visualizations/core/chart-options-processor/translations/sunburst/sunburst-series.d.ts +1 -1
  49. package/dist/packages/sdk-ui/src/domains/widgets/components/chart-widget/types.d.ts +2 -10
  50. package/dist/packages/sdk-ui/src/domains/widgets/components/chart-widget/use-chart-widget-excel-download.d.ts +1 -2
  51. package/dist/packages/sdk-ui/src/domains/widgets/components/custom-widget/use-custom-widget-excel-download.d.ts +2 -2
  52. package/dist/packages/sdk-ui/src/domains/widgets/components/pivot-table-widget/types.d.ts +2 -9
  53. package/dist/packages/sdk-ui/src/domains/widgets/components/pivot-table-widget/use-pivot-widget-excel-download.d.ts +1 -2
  54. package/dist/packages/sdk-ui/src/domains/widgets/components/widget/types.d.ts +25 -9
  55. package/dist/packages/sdk-ui/src/domains/widgets/components/widget-by-id/translate-dashboard-filters.d.ts +1 -0
  56. package/dist/packages/sdk-ui/src/domains/widgets/components/widget-by-id/translate-widget-style-options/categorical-labels-style.d.ts +94 -0
  57. package/dist/packages/sdk-ui/src/domains/widgets/components/widget-by-id/translate-widget-style-options/series-label-affix-style.d.ts +59 -0
  58. package/dist/packages/sdk-ui/src/domains/widgets/components/widget-by-id/translate-widget-style-options/to-widget-dto-style.d.ts +13 -1
  59. package/dist/packages/sdk-ui/src/domains/widgets/components/widget-by-id/translate-widget-style-options/widget-narrative-style.d.ts +8 -8
  60. package/dist/packages/sdk-ui/src/domains/widgets/components/widget-by-id/types.d.ts +72 -1
  61. package/dist/packages/sdk-ui/src/domains/widgets/widget-model/widget-model.d.ts +5 -6
  62. package/dist/packages/sdk-ui/src/infra/app/settings/settings.d.ts +11 -0
  63. package/dist/packages/sdk-ui/src/infra/app/settings/types/features.d.ts +1 -3
  64. package/dist/packages/sdk-ui/src/infra/app/types.d.ts +4 -5
  65. package/dist/packages/sdk-ui/src/infra/decorators/component-decorators/with-tracking/use-track-component-init.d.ts +8 -0
  66. package/dist/packages/sdk-ui/src/infra/modules/types.d.ts +24 -5
  67. package/dist/packages/sdk-ui/src/infra/plugins/widget-plugins/types.d.ts +11 -5
  68. package/dist/packages/sdk-ui/src/modules/ai/get-nlg-insights-from-widget.d.ts +2 -2
  69. package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/shared/expression/custom-formula/validate-custom-formula.d.ts +11 -0
  70. package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/shared/expression/datetime-filter-processors.d.ts +6 -0
  71. package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/shared/expression/measure-processors.d.ts +16 -0
  72. package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/shared/utils/schema-index.d.ts +4 -0
  73. package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/shared/validation/datetime-member-validation.d.ts +2 -0
  74. package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/shared/validation/datetime-range-validation.d.ts +2 -0
  75. package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/shared/validation/datetime-relative-validation.d.ts +1 -0
  76. package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/shared/validation/datetime-validation-utils.d.ts +40 -0
  77. package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/shared/validation/flatten-filters.d.ts +5 -0
  78. package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/shared/validation/normalize-member-for-granularity.d.ts +5 -0
  79. package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/shared/validation/query-datetime-validation.d.ts +7 -0
  80. package/dist/packages/sdk-ui/src/modules/analytics-composer/types.d.ts +16 -1
  81. package/dist/packages/sdk-ui/src/modules/analytics-composer/widget/to-widget-code.d.ts +1 -1
  82. package/dist/packages/sdk-ui/src/props.d.ts +1 -2
  83. package/dist/packages/sdk-ui/src/public-api/alpha.d.ts +1 -5
  84. package/dist/packages/sdk-ui/src/public-api/beta.d.ts +3 -1
  85. package/dist/packages/sdk-ui/src/public-api/public.d.ts +4 -1
  86. package/dist/packages/sdk-ui/src/public-api/sisense-internal.d.ts +0 -1
  87. package/dist/packages/sdk-ui/src/shared/components/alert/alert.d.ts +1 -50
  88. package/dist/packages/sdk-ui/src/shared/components/alert/index.d.ts +2 -2
  89. package/dist/packages/sdk-ui/src/shared/components/no-results-overlay/images/index.d.ts +1 -1
  90. package/dist/packages/sdk-ui/src/shared/components/quota-notification/quota-notification.d.ts +3 -10
  91. package/dist/packages/sdk-ui/src/shared/components/radio.d.ts +1 -0
  92. package/dist/packages/sdk-ui/src/shared/hooks/use-synced-state.d.ts +6 -7
  93. package/dist/packages/sdk-ui/src/shared/icons/warning-icon.d.ts +2 -3
  94. package/dist/packages/sdk-ui/src/shared/icons/x-circle-icon.d.ts +2 -3
  95. package/dist/packages/sdk-ui/src/shared/utils/color/color-interpolation.d.ts +1 -1
  96. package/dist/packages/sdk-ui/src/shared/utils/color/colorjs.d.ts +36 -0
  97. package/dist/packages/sdk-ui/src/shared/utils/gradient.d.ts +3 -2
  98. package/dist/packages/sdk-ui/src/types.d.ts +30 -19
  99. package/dist/{quota-notification-DqabeDbO.js → quota-notification-BMxiL8zu.js} +12530 -12922
  100. package/dist/quota-notification-CsGmQ05h.cjs +750 -0
  101. package/dist/{types-DecTaxy7.js → types-BB6n10Af.js} +1 -1
  102. package/dist/{types-DSNnndG6.cjs → types-CMUXHDie.cjs} +1 -1
  103. package/dist/{utils-L-HO2pCd.js → utils-C39pRlFD.js} +14643 -14371
  104. package/dist/utils-CL2eytnK.cjs +180 -0
  105. package/dist/{widget-composer-CyWQaInf.cjs → widget-composer-DDulWu8l.cjs} +85 -10
  106. package/dist/{widget-composer-u6NMLm1C.js → widget-composer-DrfnZQa0.js} +350 -259
  107. package/package.json +13 -16
  108. package/dist/apply-styled-options-to-query-BK1NnV4P.js +0 -6453
  109. package/dist/apply-styled-options-to-query-Dl8vVNxo.cjs +0 -1
  110. package/dist/packages/sdk-ui/src/shared/hooks/use-quota-warning-dismissed.d.ts +0 -8
  111. package/dist/quota-notification-gYE6PTWA.cjs +0 -750
  112. package/dist/utils-Cpeyj9TN.cjs +0 -179
@@ -1,6 +1,6 @@
1
1
  import { BaseJaql, FormulaContext, FormulaJaql, Jaql, JaqlDataSource, JaqlSortDirection } from '@sisense/sdk-data';
2
2
  import { JtdConfigDto } from '../../../../domains/dashboarding/hooks/jtd/jtd-types';
3
- import { WidgetContainerStyleOptions } from '../../../../types';
3
+ import { DashStyle, WidgetContainerStyleOptions } from '../../../../types';
4
4
  import { HierarchyId } from '../../../../domains/drilldown/hierarchy-model';
5
5
  import { LEGACY_DESIGN_TYPES } from '../../../../infra/themes/legacy-design-settings';
6
6
  /**
@@ -322,6 +322,26 @@ export type PanelColorFormatConditionOperator = '<' | '>' | '≤' | '<=' | '≥'
322
322
  type LabelsStyle = {
323
323
  enabled: boolean;
324
324
  rotation: number;
325
+ /** Custom rotation in degrees from Fusion design panel. Overrides rotation when set. */
326
+ customRotation?: number | null;
327
+ /** Text prepended to each value label. */
328
+ prefix?: string;
329
+ /** Text appended to each value label. */
330
+ suffix?: string;
331
+ /** Background color behind each value label. */
332
+ backgroundColor?: string | null;
333
+ /** Padding in pixels around value label text when background color is set. */
334
+ backgroundPadding?: number | null;
335
+ /** Border color around each value label. */
336
+ borderColor?: string | null;
337
+ /** Border width in pixels when border color is set. */
338
+ borderWidth?: number | null;
339
+ /** Border radius in pixels when border color is set. */
340
+ borderRadius?: number | null;
341
+ /** Horizontal offset of value labels in pixels. */
342
+ xOffset?: number | null;
343
+ /** Vertical offset of value labels in pixels. */
344
+ yOffset?: number | null;
325
345
  /**
326
346
  * @internal
327
347
  */
@@ -377,6 +397,17 @@ export type CartesianWidgetStyle = BaseWidgetStyle & WidgetContainerStyleOptions
377
397
  y2Axis?: AxisStyle;
378
398
  lineWidth?: {
379
399
  width: string;
400
+ /** Custom line width in px from Fusion design panel. Overrides width when > 0. */
401
+ customWidth?: number | null;
402
+ };
403
+ /** CSDK-compatible line stroke options (e.g. dashStyle, width from styleOptions.line). */
404
+ line?: {
405
+ dashStyle?: DashStyle;
406
+ width?: number;
407
+ };
408
+ /** Fusion design-panel dash style token (`lineType`). Maps to CSDK `line.dashStyle`; not curve line type (straight/smooth). */
409
+ lineStyle?: {
410
+ lineType?: string;
380
411
  };
381
412
  markers?: {
382
413
  enabled: boolean;
@@ -413,6 +444,17 @@ export type FunnelWidgetStyle = BaseWidgetStyle & WidgetContainerStyleOptions &
413
444
  percent: boolean;
414
445
  value: boolean;
415
446
  decimals: boolean;
447
+ rotation?: number;
448
+ customRotation?: number | null;
449
+ prefix?: string;
450
+ suffix?: string;
451
+ backgroundColor?: string | null;
452
+ backgroundPadding?: number | null;
453
+ borderColor?: string | null;
454
+ borderWidth?: number | null;
455
+ borderRadius?: number | null;
456
+ xOffset?: number | null;
457
+ yOffset?: number | null;
416
458
  };
417
459
  };
418
460
  export type PieWidgetStyle = BaseWidgetStyle & WidgetContainerStyleOptions & {
@@ -422,6 +464,17 @@ export type PieWidgetStyle = BaseWidgetStyle & WidgetContainerStyleOptions & {
422
464
  percent: boolean;
423
465
  value: boolean;
424
466
  decimals: boolean;
467
+ rotation?: number;
468
+ customRotation?: number | null;
469
+ prefix?: string;
470
+ suffix?: string;
471
+ backgroundColor?: string | null;
472
+ backgroundPadding?: number | null;
473
+ borderColor?: string | null;
474
+ borderWidth?: number | null;
475
+ borderRadius?: number | null;
476
+ xOffset?: number | null;
477
+ yOffset?: number | null;
425
478
  };
426
479
  dataLimits?: DataLimits;
427
480
  convolution?: {
@@ -439,6 +492,24 @@ export type TableWidgetStyle = {
439
492
  'width/content': boolean;
440
493
  'width/window': boolean;
441
494
  pageSize: number;
495
+ /**
496
+ * Live table UI state written by Fusion's table widget. `colResize.columns` is the
497
+ * authoritative source of on-screen column widths — unlike `panels.items[].colSize`
498
+ * (a write-once snapshot that goes stale once a column is disabled/re-enabled), it's
499
+ * kept in sync with the table's currently visible columns.
500
+ */
501
+ tableState?: {
502
+ colResize?: {
503
+ /** Pixel widths (e.g. `'84.3906px'`), one per visible column, in display order. */
504
+ columns: string[];
505
+ /**
506
+ * Total table width in pixels at resize time. Fusion renders each column as
507
+ * `(columnPx / sum(columns)) × tableSize`, so this must stay in sync with the
508
+ * sum of `columns` for absolute pixel rendering.
509
+ */
510
+ tableSize?: number;
511
+ };
512
+ };
442
513
  };
443
514
  export type IndicatorWidgetStyle = WidgetContainerStyleOptions & {
444
515
  'indicator/gauge': {
@@ -1,9 +1,9 @@
1
1
  import { DataSource, Filter } from '@sisense/sdk-data';
2
- import { EmptyObject } from '@sisense/sdk-query-client/src/helpers/utility-types';
3
2
  import type { JumpToDashboardConfig, JumpToDashboardConfigForPivot } from '../../../domains/dashboarding/hooks/jtd/jtd-types';
4
3
  import { ChartDataOptions, PivotTableDataOptions } from '../../../domains/visualizations/core/chart-data-options/types';
5
- import { ChartType, DrilldownOptions, PivotTableDrilldownOptions, WidgetAiOptions, WidgetStyleOptions } from '../../../types';
6
- import type { WidgetType } from '../components/widget/types';
4
+ import { EmptyObject } from '../../../shared/utils/utility-types';
5
+ import { ChartType, DrilldownOptions, PivotTableDrilldownOptions, WidgetStyleOptions } from '../../../types';
6
+ import type { WidgetConfig, WidgetType } from '../components/widget/types';
7
7
  /**
8
8
  * Widget data options.
9
9
  */
@@ -50,10 +50,9 @@ export interface WidgetModel {
50
50
  */
51
51
  styleOptions: WidgetStyleOptions;
52
52
  /**
53
- * Configuration for AI-powered widget features such as automated narrative generation
54
- * @alpha
53
+ * Widget configuration.
55
54
  */
56
- aiOptions?: WidgetAiOptions;
55
+ config?: WidgetConfig;
57
56
  /**
58
57
  * Custom widget options. Only present for custom widgets.
59
58
  *
@@ -101,11 +101,22 @@ type ServerSettings = {
101
101
  serverVersion: string;
102
102
  serverFeatures: FeatureMap;
103
103
  ai: AiSettingsSlice;
104
+ /**
105
+ * Whether this is a Sisense-managed (cloud) deployment.
106
+ * From `api/globals` props.isManagedService; `false` for on-prem.
107
+ */
108
+ isManaged: boolean;
104
109
  narrative: {
105
110
  /** From `api/v2/settings/ai` narration.enabled */
106
111
  isEnabled: boolean;
107
112
  /** Computed from `narrationUnified` and the unlimited or credit-based narrative entitlements. */
108
113
  canGenerateNarrativeViaAI: boolean;
114
+ /**
115
+ * Narrative text provider from the license (`api/globals` props.narrationProvider).
116
+ * `arria` is the legacy 3rd-party engine served only via `POST /api/v1/narration/widget`,
117
+ * which CSDK does not support; `sisenseAI` uses the AI endpoints CSDK can call.
118
+ */
119
+ provider?: 'arria' | 'sisenseAI';
109
120
  };
110
121
  user: {
111
122
  tenant: {
@@ -35,8 +35,6 @@ type BuildDestinationFeature = Feature<'buildDestination', {
35
35
  type VersionHistoryFeature = Feature<'versionHistory'>;
36
36
  type EmbedCodeFeature = Feature<'embedCode'>;
37
37
  type LiveCustomColumnFeature = Feature<'liveCustomColumn'>;
38
- type ExportingEngineV2Feature = Feature<'exportingEngineV2'>;
39
- type ExportingXlsxV2Feature = Feature<'exportingXlsxV2'>;
40
38
  type ExportingCsvFeature = Feature<'exportingCsv', {
41
39
  localized: boolean;
42
40
  }>;
@@ -132,7 +130,7 @@ type AiAssistantFeature = Feature<'aiAssistant', {
132
130
  type AiStudioFeature = Feature<'aiStudio'>;
133
131
  type NewNavigationBetaFeature = Feature<'newNavigationBeta'>;
134
132
  type ApiTelemetryFeature = Feature<'apiTelemetry'>;
135
- export type Features = (AlertingFeature | LiveQueryFeature | NlqFeature | PivotFeature | CustomCodeFeature | CustomCodeTransformationFeature | BuildDestinationFeature | VersionHistoryFeature | EmbedCodeFeature | LiveCustomColumnFeature | ExportingEngineV2Feature | ExportingXlsxV2Feature | ExportingCsvFeature | ConnectionManagementFeature | SisenseLightFeature | WizardSqlEditorFeature | MultiTenancyFeature | BloxFeature | FunnelFeature | Cloud360Feature | BreakByToggleFeature | GitIntegrationFeature | InfusionFeature | InfusionWebClientFeature | NotebooksFeature | AdminWebClientFeature | DateTimeFiltersFeature | TextFiltersFeature | NumericFiltersFeature | FilterRelationsEnabledFeature | TimeLevelSupportEnabledFeature | SyncDashboardEventsFeature | UserProfileFeature | ScatterFeature | CustomFontsFeature | PreferWidgetImageServerExportFeature | NewAdminUIFeature | SharedFormulasFeature | SideBarFeature | InfusionTokenEndpointFeature | ExplanationsForIndicatorWidgetsFeature | ExplanationsForCategoricalWidgetsFeature | WidgetDesignStyleFeature | FiscalOnFeature | ReactAnalyticsWidgetEditorFeature | DynamicSQLFeature | NewCustomConnectorFeature | CrossTenantPerspectivesFeature | EnableDatamodelPerspectiveFeature | AlwaysDirectRelationsFeature | ModelStatisticsFeature | ExportingCsvFormattedFeature | FlexibleTooltipsFeature | DimensionalModelingFeature | CloudCDNFeature | OnboardingFeature | AiAssistantFeature | AiStudioFeature | NewNavigationBetaFeature | ApiTelemetryFeature)[];
133
+ export type Features = (AlertingFeature | LiveQueryFeature | NlqFeature | PivotFeature | CustomCodeFeature | CustomCodeTransformationFeature | BuildDestinationFeature | VersionHistoryFeature | EmbedCodeFeature | LiveCustomColumnFeature | ExportingCsvFeature | ConnectionManagementFeature | SisenseLightFeature | WizardSqlEditorFeature | MultiTenancyFeature | BloxFeature | FunnelFeature | Cloud360Feature | BreakByToggleFeature | GitIntegrationFeature | InfusionFeature | InfusionWebClientFeature | NotebooksFeature | AdminWebClientFeature | DateTimeFiltersFeature | TextFiltersFeature | NumericFiltersFeature | FilterRelationsEnabledFeature | TimeLevelSupportEnabledFeature | SyncDashboardEventsFeature | UserProfileFeature | ScatterFeature | CustomFontsFeature | PreferWidgetImageServerExportFeature | NewAdminUIFeature | SharedFormulasFeature | SideBarFeature | InfusionTokenEndpointFeature | ExplanationsForIndicatorWidgetsFeature | ExplanationsForCategoricalWidgetsFeature | WidgetDesignStyleFeature | FiscalOnFeature | ReactAnalyticsWidgetEditorFeature | DynamicSQLFeature | NewCustomConnectorFeature | CrossTenantPerspectivesFeature | EnableDatamodelPerspectiveFeature | AlwaysDirectRelationsFeature | ModelStatisticsFeature | ExportingCsvFormattedFeature | FlexibleTooltipsFeature | DimensionalModelingFeature | CloudCDNFeature | OnboardingFeature | AiAssistantFeature | AiStudioFeature | NewNavigationBetaFeature | ApiTelemetryFeature)[];
136
134
  export type FeatureByKey<K extends string> = Extract<Features[number], {
137
135
  key: K;
138
136
  }>;
@@ -162,9 +162,6 @@ export type AppConfig = {
162
162
  };
163
163
  /**
164
164
  * Configuration of the Narrative feature for widgets
165
- * Temporary feature flag to explicitly enable narrative on widgets
166
- * (avoid narratives appearing in fusion dashboards/widgets before this feature is released)
167
- * @sisenseInternal
168
165
  */
169
166
  narrativeConfig?: {
170
167
  /**
@@ -174,9 +171,11 @@ export type AppConfig = {
174
171
  *
175
172
  * When `false`, the Widget Narrative feature is disabled.
176
173
  *
177
- * @default false
174
+ * Note: The Widget Narrative feature requires Sisense Intelligence Narratives to be enabled on the connected Sisense Fusion environment.
175
+ *
176
+ * @default true
178
177
  */
179
- widgetNarrativeEnabled?: boolean;
178
+ enabled?: boolean;
180
179
  };
181
180
  /**
182
181
  * Global configuration for some specific aspects of data visualizations.
@@ -1,9 +1,17 @@
1
1
  import { ReactNode } from 'react';
2
2
  import { TrackingDecoratorConfig } from './with-tracking';
3
3
  type TrackingComponentConfig = TrackingDecoratorConfig;
4
+ type TrackingContextValue = {
5
+ skipNested: boolean;
6
+ };
4
7
  export declare const TrackingContextProvider: ({ skipNested, children, }: {
5
8
  children: ReactNode;
6
9
  skipNested?: boolean | undefined;
7
10
  }) => import("react/jsx-runtime").JSX.Element;
11
+ /**
12
+ * Reads whether the current subtree is already inside a tracking context — i.e. an ancestor
13
+ * component is being tracked, so nested components must not fire their own init event.
14
+ */
15
+ export declare const useTrackingContext: () => TrackingContextValue;
8
16
  export declare const useTrackComponentInit: <P extends {}>(trackingComponentConfig: TrackingComponentConfig, props: P) => void;
9
17
  export {};
@@ -13,14 +13,30 @@ export interface ApiField<TValue, TRegistry> {
13
13
  */
14
14
  export type ApiSchema = Record<string, ApiField<any, any>>;
15
15
  /**
16
- * Module definition
16
+ * A module definition which represents a named, versioned unit of Compose SDK functionality which could be consumed separately.
17
17
  *
18
- * @alpha
18
+ * A module can require other modules (`requires`), include other modules (`includes`),
19
+ * contribute to the API of the modules it requires (`integrations`), and declare its own
20
+ * API for other modules to contribute to (`api`).
21
+ *
22
+ * @example
23
+ * A module that contributes a customization to the built-in `dashboard` module:
24
+ * ```ts
25
+ * const dashboardBadgeModule: Module = {
26
+ * name: 'dashboard-badge',
27
+ * version: '1.0.0',
28
+ * requires: ['dashboard'],
29
+ * integrations: {
30
+ * dashboard: { customizations: [addBadgeToDashboardHeader] },
31
+ * },
32
+ * };
33
+ * ```
34
+ * @beta
19
35
  */
20
36
  export interface Module<TSchema = any> {
21
37
  /** Unique module identifier, e.g. `'dashboard'`. */
22
38
  name: string;
23
- /** Module version */
39
+ /** Semver version of the module (e.g. `'1.0.0'`), validated against `requiredVersion` constraints declared by other modules. */
24
40
  version: string;
25
41
  /**
26
42
  * Modules this module integrates with.
@@ -30,10 +46,13 @@ export interface Module<TSchema = any> {
30
46
  * - `{ ..., requiredVersion: '^2.0.0' }` → optional semver range constraint.
31
47
  */
32
48
  requires?: ReadonlyArray<ModuleRequirement>;
33
- /** Modules this one ships as part of its own feature */
49
+ /** Modules this one ships as part of its own feature. */
34
50
  includes?: ReadonlyArray<Module>;
35
51
  /**
36
52
  * Declarative contributions to other modules, keyed by target module name.
53
+ *
54
+ * Every target must be declared in {@link requires}; contributions to
55
+ * undeclared modules throw at startup.
37
56
  */
38
57
  integrations?: Record<string, unknown>;
39
58
  /** Producer-side API declaration; defines registries other modules contribute to. */
@@ -42,7 +61,7 @@ export interface Module<TSchema = any> {
42
61
  /**
43
62
  * Hard or soft requirement on another module, optionally version-constrained.
44
63
  *
45
- * @alpha
64
+ * @beta
46
65
  */
47
66
  export type ModuleRequirement = string | {
48
67
  name: string;
@@ -221,13 +221,16 @@ export interface CustomVisualizationProps<DataOptions = GenericDataOptions, Styl
221
221
  /** Highlight filters for interactive highlighting */
222
222
  highlights?: Filter[];
223
223
  /**
224
- * Arbitrary plugin-specific options that is not data- or style-related.
224
+ * Arbitrary plugin-specific runtime state that is not data- or style-related
225
+ * (for example the current page of a table or a selected tab). Persisted back
226
+ * to the Sisense instance when the widget lives inside a Dashboard component,
227
+ * so it survives page reloads.
225
228
  *
226
- * @sisenseInternal
229
+ * @beta
227
230
  */
228
231
  customOptions?: CustomOptions;
229
232
  /**
230
- * Emit a partial state update to be persisted through the dashboard
233
+ * Emits a partial state update to be persisted through the dashboard
231
234
  * persistence layer. Injected by the dashboard when the widget lives inside a
232
235
  * Dashboard component; `undefined` in standalone use or read-only mode — always
233
236
  * call it with optional chaining.
@@ -237,7 +240,7 @@ export interface CustomVisualizationProps<DataOptions = GenericDataOptions, Styl
237
240
  * onChange?.({ customOptions: { lastPage: 3 } });
238
241
  * ```
239
242
  *
240
- * @sisenseInternal
243
+ * @beta
241
244
  */
242
245
  onChange?: (update: VisualizationStateUpdate<StyleOptions, CustomOptions>) => void;
243
246
  }
@@ -254,7 +257,10 @@ export interface CustomVisualizationProps<DataOptions = GenericDataOptions, Styl
254
257
  * replaced wholesale (last-write-wins). Keys cannot be deleted via merge —
255
258
  * overwrite with an explicit value (e.g. `null`) instead.
256
259
  *
257
- * @sisenseInternal
260
+ * @typeParam StyleOptions - The shape of style options for the custom visualization.
261
+ * @typeParam CustomOptions - The shape of arbitrary plugin-specific runtime state.
262
+ * @group Plugin System
263
+ * @beta
258
264
  */
259
265
  export type VisualizationStateUpdate<StyleOptions = CustomVisualizationStyleOptions, CustomOptions = Record<string, unknown>> = {
260
266
  styleOptions?: DeepPartial<StyleOptions>;
@@ -6,8 +6,8 @@ import { WidgetProps } from '../../domains/widgets/components/widget/types';
6
6
  * This function converts WidgetProps to the required API format and makes an HTTP request
7
7
  * to get natural language insights about the chart or pivot data.
8
8
  *
9
- * @param props - WidgetProps containing chart or pivot configuration (`aiOptions.narrative`
10
- * drives {@link WidgetNarrativeOptions})
9
+ * @param props - WidgetProps containing chart or pivot configuration (`config.narrative`
10
+ * drives {@link WidgetNarrativeConfig})
11
11
  * @param httpClient - HttpClient instance for making API requests
12
12
  * @returns Promise that resolves to the NLG insights answer string
13
13
  * @throws Error if dataSource cannot be resolved or if API response is invalid
@@ -40,6 +40,17 @@ export interface FormulaParenCall {
40
40
  * @internal Exported for unit tests
41
41
  */
42
42
  export declare function extractParenFunctionCalls(formula: string): FormulaParenCall[];
43
+ /**
44
+ * Extracts the raw argument strings from each call to the named function in a formula.
45
+ * Skips calls inside quoted strings; unparseable calls (unbalanced parentheses) are omitted.
46
+ *
47
+ * @param formula - The formula string to scan for function calls
48
+ * @param funcName - The function name to match (case-insensitive)
49
+ * @returns An array of argument lists, one inner array per matched call, or an empty array when no calls are found
50
+ *
51
+ * @internal
52
+ */
53
+ export declare function extractFunctionArgs(formula: string, funcName: string): string[][];
43
54
  /**
44
55
  * Validates that all bracket references in a custom formula exist in the provided context
45
56
  * and provides helpful error messages for debugging.
@@ -0,0 +1,6 @@
1
+ import { FunctionContext, ProcessedArg } from '../../types.js';
2
+ export declare function processDatetimeMembersFilter(processedArgs: ProcessedArg[], context: FunctionContext): ProcessedArg[];
3
+ export declare function processDatetimeRangeFilter(processedArgs: ProcessedArg[], context: FunctionContext): ProcessedArg[];
4
+ export declare function processDatetimeFromFilter(processedArgs: ProcessedArg[], context: FunctionContext): ProcessedArg[];
5
+ export declare function processDatetimeToFilter(processedArgs: ProcessedArg[], context: FunctionContext): ProcessedArg[];
6
+ export declare function processDatetimeRelativeFilter(processedArgs: ProcessedArg[], context: FunctionContext): ProcessedArg[];
@@ -0,0 +1,16 @@
1
+ import { FunctionContext, ProcessedArg } from '../../types.js';
2
+ /**
3
+ * Validates that the first argument is a numeric attribute.
4
+ * Used by: sum, average, avg, stdev, variance, median
5
+ *
6
+ * SUM, AVG, STDEV, VAR, MEDIAN require numeric columns; applying them to text or datetime
7
+ * attributes causes the BE translation engine to throw (AGGREGATION_OVER_NON_NUMERIC_FIELD guard).
8
+ *
9
+ * @param processedArgs - Processed arguments where args[0] is the attribute
10
+ * @param context - Processing context with error prefix and other metadata
11
+ * @returns Same `processedArgs` reference when validation succeeds
12
+ * @throws Error with descriptive message if validation fails
13
+ *
14
+ * @internal
15
+ */
16
+ export declare function processNumericMeasure(processedArgs: ProcessedArg[], context: FunctionContext): ProcessedArg[];
@@ -47,6 +47,10 @@ export declare function parseDimensionalName(dimensionalName: string, schemaInde
47
47
  export interface CreateAttributeFromNameOptions {
48
48
  /** When the dimensional name has no date level, use this level for datetime columns (e.g. from xdiff function). */
49
49
  inferredDateLevel?: string;
50
+ /** When true, datetime/date/time columns must include an explicit level suffix (or inferredDateLevel). */
51
+ requireExplicitDateLevel?: boolean;
50
52
  }
53
+ /** Options for NLQ paths where a date level must be present in the dimensional name. */
54
+ export declare const REQUIRE_EXPLICIT_DATE_LEVEL: CreateAttributeFromNameOptions;
51
55
  export declare function createAttributeFromName(attributeName: string, dataSource: JaqlDataSourceForDto, schemaIndex: SchemaIndex, options?: CreateAttributeFromNameOptions): import("@sisense/sdk-data").Attribute | import("@sisense/sdk-data").LevelAttribute;
52
56
  export declare function createDateDimensionFromName(dateDimensionName: string, dataSource: JaqlDataSourceForDto, schemaIndex: SchemaIndex): DateDimension;
@@ -0,0 +1,2 @@
1
+ export declare function validateDatetimeMemberStrings(members: unknown[], granularity: string, pathPrefix: string): void;
2
+ export declare function validateNoDuplicateMembers(members: string[], pathPrefix: string): void;
@@ -0,0 +1,2 @@
1
+ export declare function validateDatetimeRange(granularity: string, from: Date | string | undefined, to: Date | string | undefined, pathPrefix: string): void;
2
+ export declare function normalizeDatetimeRangeBound(bound: Date | string, granularity: string): string;
@@ -0,0 +1 @@
1
+ export declare function validateDatetimeRelativeFilter(granularity: string, offset: number, count: number, anchor: Date | string | undefined, pathPrefix: string): void;
@@ -0,0 +1,40 @@
1
+ import { Attribute } from '@sisense/sdk-data';
2
+ /** Period granularities that accept calendar-date bounds in JAQL (matches sdk-data DateLevels.dateOnly). */
3
+ export declare const PERIOD_DATE_LEVELS: readonly string[];
4
+ /** Relative date filters supported on the Sisense backend for period levels. */
5
+ export declare const RELATIVE_DATE_LEVELS: readonly string[];
6
+ /** Sisense default first day of week (system.firstday), used when normalizing week members. */
7
+ export declare const DEFAULT_WEEK_STARTS_ON = 1;
8
+ /**
9
+ * Checks if a string is a valid ISO date or datetime (YYYY-MM-DD…).
10
+ */
11
+ export declare function isValidIsoDateString(value: string): boolean;
12
+ /**
13
+ * Checks if a string is a compact YYYYWW week key (e.g. `202500`), not a valid ISO datetime.
14
+ */
15
+ export declare function isCompactYearWeekKey(value: string): boolean;
16
+ /**
17
+ * Checks if a string is exactly a four-digit calendar year (e.g. `2024`).
18
+ */
19
+ export declare function isFourDigitYear(value: string): boolean;
20
+ /**
21
+ * Checks if a datetime string ends with `T23:59:59`, which is an invalid exclusive upper bound.
22
+ */
23
+ export declare function hasExclusiveEndOfDayAntiPattern(value: string): boolean;
24
+ /**
25
+ * Normalizes a date range bound to its string form for validation and comparison.
26
+ */
27
+ export declare function toDateBoundString(bound: Date | string): string;
28
+ /**
29
+ * Strips the time component from an ISO datetime, returning the calendar date portion only.
30
+ */
31
+ export declare function stripClockFromIsoDateTime(bound: string): string;
32
+ /**
33
+ * Returns a human-readable hint describing valid member formats for the given date granularity.
34
+ */
35
+ export declare function formatExpectedMemberHint(granularity: string): string;
36
+ /**
37
+ * Returns the user-facing table.column name for a date level attribute (e.g. `Commerce.Date`),
38
+ * derived from composeCode rather than the internal JAQL expression.
39
+ */
40
+ export declare function getDateColumnDisplayName(attribute: Attribute): string;
@@ -0,0 +1,5 @@
1
+ import { Filter, FilterRelations } from '@sisense/sdk-data';
2
+ /**
3
+ * Collects all leaf {@link Filter} instances from a filter list or relations tree.
4
+ */
5
+ export declare function flattenFilters(filters: Filter[] | FilterRelations | null | undefined): Filter[];
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Normalizes a datetime filter member to the start of its calendar period,
3
+ * matching Sisense backend member encoding.
4
+ */
5
+ export declare function normalizeMemberForGranularity(member: string, granularity: string): string;
@@ -0,0 +1,7 @@
1
+ import { Attribute, Filter } from '@sisense/sdk-data';
2
+ import { NlqTranslationError } from '../../../types.js';
3
+ export declare function validateQueryDatetimeConsistency(input: {
4
+ dimensions: Attribute[];
5
+ filters: Filter[] | import('@sisense/sdk-data').FilterRelations | null | undefined;
6
+ highlights: Filter[] | null | undefined;
7
+ }): NlqTranslationError[];
@@ -114,7 +114,7 @@ export type UiFramework = 'react' | 'vue' | 'angular';
114
114
  *
115
115
  * @internal
116
116
  */
117
- export type CodeTemplateKey = 'baseChartTmpl' | 'chartTmpl' | 'chartWidgetTmpl' | 'chartWidgetPropsTmpl' | 'widgetByIdTmpl' | 'executeQueryByWidgetIdTmpl' | 'executeQueryTmpl' | 'executePivotQueryTmpl' | 'pivotTableWidgetTmpl' | 'pivotTableWidgetPropsTmpl' | 'dashboardByIdTmpl' | 'dashboardTmpl';
117
+ export type CodeTemplateKey = 'baseChartTmpl' | 'chartTmpl' | 'chartWidgetTmpl' | 'chartWidgetPropsTmpl' | 'widgetByIdTmpl' | 'executeQueryByWidgetIdTmpl' | 'executeQueryTmpl' | 'executePivotQueryTmpl' | 'pivotTableWidgetTmpl' | 'pivotTableWidgetPropsTmpl' | 'customWidgetTmpl' | 'dashboardByIdTmpl' | 'dashboardTmpl';
118
118
  /**
119
119
  * Code Templates
120
120
  *
@@ -235,6 +235,21 @@ export type ChartWidgetCodeProps = Stringify<ChartWidgetProps> & ExtraWidgetCode
235
235
  * @internal
236
236
  */
237
237
  export type PivotTableWidgetCodeProps = Stringify<PivotTableWidgetProps> & ExtraWidgetCodeProps;
238
+ /**
239
+ * Custom Widget Code Props
240
+ *
241
+ * @internal
242
+ */
243
+ export type CustomWidgetCodeProps = {
244
+ customWidgetTypeString: string;
245
+ titleString: string;
246
+ dataSourceString: string;
247
+ dataOptionsString: string;
248
+ filtersString: string;
249
+ extraImportsString: string;
250
+ styleOptionsString: string;
251
+ customOptionsString: string;
252
+ };
238
253
  /**
239
254
  * Template Key by Widget Type
240
255
  *
@@ -1,5 +1,5 @@
1
1
  import { WidgetProps } from '../../../domains/widgets/components/widget/types';
2
2
  import { ByIdWidgetCodeParams, ClientSideWidgetCodeParams, TemplateKeyMapByWidgetType, UiFramework } from '../types.js';
3
- export declare const toWidgetCodeById: ({ dashboardOid, widgetOid, uiFramework, chartType, includeChart, }: ByIdWidgetCodeParams) => string;
3
+ export declare const toWidgetCodeById: ({ dashboardOid, widgetOid, uiFramework, includeChart, }: ByIdWidgetCodeParams) => string;
4
4
  export declare const getWidgetCode: (widgetProps: WidgetProps, uiFramework: UiFramework, templateKeyMap: TemplateKeyMapByWidgetType, removeDefaultProps?: boolean) => string;
5
5
  export declare const toWidgetCodeClientSide: ({ widgetProps, uiFramework, removeDefaultProps, }: ClientSideWidgetCodeParams) => string;
@@ -173,7 +173,7 @@ export interface SisenseContextProviderProps {
173
173
  *
174
174
  * @category Sisense App
175
175
  *
176
- * @alpha
176
+ * @beta
177
177
  */
178
178
  modules?: Module[];
179
179
  }
@@ -856,7 +856,6 @@ export interface FunnelChartProps extends BaseChartProps, HighchartsBasedChartEv
856
856
  /**
857
857
  * Props of the {@link SankeyChart} component.
858
858
  *
859
- * @group Charts
860
859
  * @beta
861
860
  *
862
861
  * @example
@@ -5,13 +5,9 @@
5
5
  * Not recommended for production use.
6
6
  */
7
7
  export { useDashboardTheme } from '../domains/dashboarding/use-dashboard-theme.js';
8
- export type { ThemeConfig, WidgetNarrativeDisplayLocation, WidgetNarrativeOptions, CompleteWidgetNarrativeOptions, WidgetAiOptions, } from '../types';
9
- export { DashboardHeaderTargets, type DashboardHeaderTarget, } from '../domains/dashboarding/components/dashboard-header-targets.js';
10
- export type { DashboardHeaderConfig, DashboardHeaderItem, DashboardHeaderItemComponent, DashboardHeaderItemComponentProps, DashboardHeaderItemPosition, DashboardHeaderItemSize, DashboardHeaderItemsTransform, DashboardResolvedHeaderItem, } from '../domains/dashboarding/components/dashboard-header-config.js';
8
+ export type { ThemeConfig } from '../types';
11
9
  export { type TranslationDictionary, PACKAGE_NAMESPACE as translationNamespace, } from '../infra/translation/resources';
12
10
  export { CascadingFilterTile, type CascadingFilterTileProps, } from '../domains/filters/components/cascading-filter-tile';
13
11
  export { CustomFilterTile, type CustomFilterTileProps, } from '../domains/filters/components/custom-filter-tile';
14
- export { useSyncedState, type UseSyncedStateOptions } from '../shared/hooks/use-synced-state';
15
12
  export { isIndicatorRenderOptions, isHighchartsOptions, type HighchartsOptions, type CalendarHeatmapChartEventProps, } from '../props';
16
- export type { Module, ModuleRequirement } from '../infra/modules/types.js';
17
13
  export { useModuleApiRegistry } from '../infra/modules/modules-context.js';
@@ -5,8 +5,10 @@
5
5
  * Not recommended for production use.
6
6
  */
7
7
  export { useQueryCache } from '../domains/query-execution/hooks/use-query-cache/use-query-cache';
8
+ export type { Module, ModuleRequirement } from '../infra/modules/types.js';
8
9
  export type { Plugin, BasePluginInfo } from '../infra/plugins/types.js';
9
- export type { WidgetPlugin, CustomVisualization, CustomVisualizationProps, CustomVisualizationStyleOptions, CustomVisualizationEventProps, CustomVisualizationDataPoint, CustomVisualizationDataPointEventHandler, CustomVisualizationDataPointContextMenuHandler, CustomVisualizationDataPointsEventHandler, DesignPanelProps, DesignPanel, } from '../infra/plugins/widget-plugins/types.js';
10
+ export type { WidgetPlugin, CustomVisualization, CustomVisualizationProps, CustomVisualizationStyleOptions, CustomVisualizationEventProps, CustomVisualizationDataPoint, CustomVisualizationDataPointEventHandler, CustomVisualizationDataPointContextMenuHandler, CustomVisualizationDataPointsEventHandler, VisualizationStateUpdate, DesignPanelProps, DesignPanel, } from '../infra/plugins/widget-plugins/types.js';
11
+ export { useSyncedState, type UseSyncedStateOptions } from '../shared/hooks/use-synced-state';
10
12
  export { SankeyChart } from '../domains/visualizations/components/sankey-chart';
11
13
  export type { SankeyChartProps } from '../props';
12
14
  export type { SankeyChartDataOptions } from '../domains/visualizations/core/chart-data-options/types';
@@ -24,6 +24,8 @@ export { AreamapChart } from '../domains/visualizations/components/areamap-chart
24
24
  export { AreaRangeChart } from '../domains/visualizations/components/area-range-chart';
25
25
  export { CalendarHeatmapChart } from '../domains/visualizations/components/calendar-heatmap-chart';
26
26
  export { DashboardById, Dashboard, useComposedDashboard, type ComposableDashboardProps, type UseComposedDashboardOptions, type ComposedDashboardResult, type DashboardByIdProps, type DashboardProps, type DashboardLayoutOptions, type DashboardStyleOptions, type DashboardConfig, type DashboardByIdConfig, type WidgetsPanelConfig, type EditModeConfig, type DashboardFiltersPanelConfig, type TabbersConfig, type TabberConfig, type TabberTabConfig, type DashboardChangeEvent, type DashboardFiltersUpdatedEvent, type DashboardFiltersPanelCollapseChangedEvent, type DashboardWidgetsPanelLayoutUpdatedEvent, type DashboardWidgetsPanelIsEditingChangedEvent, type DashboardWidgetsDeletedEvent, } from '../domains/dashboarding';
27
+ export { DashboardHeaderTargets, type DashboardHeaderTarget, } from '../domains/dashboarding/components/dashboard-header/dashboard-header-targets';
28
+ export type { DashboardHeaderConfig, DashboardHeaderItem, DashboardHeaderItemComponent, DashboardHeaderItemComponentProps, DashboardHeaderItemPosition, DashboardHeaderItemSize, DashboardHeaderItemsTransform, DashboardResolvedHeaderItem, } from '../domains/dashboarding/components/dashboard-header/dashboard-header-config';
27
29
  /**
28
30
  * Jump To Dashboard (JTD) configuration types
29
31
  *
@@ -43,9 +45,10 @@ export { DrilldownWidget } from '../domains/drilldown/components/drilldown-widge
43
45
  export { ChartWidget, type ChartWidgetProps } from '../domains/widgets/components/chart-widget';
44
46
  export { PivotTableWidget, type PivotTableWidgetProps, } from '../domains/widgets/components/pivot-table-widget';
45
47
  export { type TextWidgetProps } from '../domains/widgets/components/text-widget';
46
- export { Widget, type WidgetProps, type WidgetType, type WithCommonWidgetProps, } from '../domains/widgets/components/widget';
48
+ export { Widget, type WidgetProps, type WidgetConfig, type WidgetType, type WithCommonWidgetProps, } from '../domains/widgets/components/widget';
47
49
  export { type CustomWidgetProps } from '../domains/widgets/components/custom-widget';
48
50
  export { DrilldownBreadcrumbs } from '../domains/drilldown/components/drilldown-breadcrumbs';
51
+ export type { WidgetNarrativeConfig, WidgetNarrativeDisplayLocation, } from '../domains/narrative/core/widget-narrative-config';
49
52
  export type { CustomWidgetComponentProps, CustomWidgetComponent, } from '../infra/contexts/custom-widgets-provider/types';
50
53
  export { useCustomWidgets, type UseCustomWidgetsResult, } from '../infra/contexts/custom-widgets-provider';
51
54
  export { useGetDashboardModel, useGetDashboardModels, type DashboardModel, type GetDashboardModelParams, type GetDashboardModelsParams, type DashboardModelState, type DashboardModelLoadingState, type DashboardModelSuccessState, type DashboardModelErrorState, type DashboardModelsState, type DashboardModelsLoadingState, type DashboardModelsSuccessState, type DashboardModelsErrorState, type GetDashboardModelOptions, type GetDashboardModelsOptions, type WidgetsPanelColumnLayout, type WidgetsPanelLayout, type WidgetsPanelColumn, type WidgetsPanelRow, type WidgetsPanelCell, type WidgetId, type WidgetsOptions, type SpecificWidgetOptions, type CommonFiltersOptions, type CommonFiltersApplyMode, type FiltersIgnoringRules, } from '../domains/dashboarding/dashboard-model';
@@ -19,7 +19,6 @@ export { QuotaNotification } from '../shared/components/quota-notification/quota
19
19
  export type { QuotaNotificationProps } from '../shared/components/quota-notification/quota-notification.js';
20
20
  export { useQuotaNotification } from '../shared/hooks/use-quota-notification.js';
21
21
  export type { QuotaNotificationOptions, QuotaApiResponse, QuotaState, } from '../shared/hooks/use-quota-notification.js';
22
- export type { VisualizationStateUpdate } from '../infra/plugins/widget-plugins/types.js';
23
22
  export { LoadingIndicator } from '../shared/components/loading-indicator.js';
24
23
  export { DataSchemaBrowser } from '../domains/data-browser/data-schema-browser/data-schema-browser.js';
25
24
  export { type NarrativeQueryParams } from '../domains/narrative/core/build-narrative-request.js';