@gooddata/sdk-model 11.55.0-alpha.2 → 11.55.0-alpha.4

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.
@@ -1 +1 @@
1
- {"version":3,"file":"styling.d.ts","sourceRoot":"","sources":["../../src/reports/styling.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,MAAM,MAAM,sBAAsB,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;AAEhE;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACnC,IAAI,EAAE,OAAO,CAAC;IAEd;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAC;CACjB;AAED;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACnC,IAAI,EAAE,OAAO,CAAC;IAEd;;;;OAIG;IACH,MAAM,EAAE,MAAM,CAAC;CAClB;AAED;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG,sBAAsB,GAAG,sBAAsB,CAAC;AAE/E;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC5B,UAAU,CAAC,EAAE,gBAAgB,CAAC;CACjC;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,gBAAgB;IAC7B;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,eAAe,CAAC,EAAE,sBAAsB,CAAC;IAEzC,aAAa,CAAC,EAAE,sBAAsB,CAAC;CAC1C;AAED;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAC9B,eAAe,CAAC,EAAE,sBAAsB,CAAC;IAEzC,aAAa,CAAC,EAAE,sBAAsB,CAAC;CAC1C;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,sBAAsB,CAEnF;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,sBAAsB,CAEnF"}
1
+ {"version":3,"file":"styling.d.ts","sourceRoot":"","sources":["../../src/reports/styling.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,MAAM,MAAM,sBAAsB,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;AAEhE;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACnC,IAAI,EAAE,OAAO,CAAC;IAEd;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAC;CACjB;AAED;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACnC,IAAI,EAAE,OAAO,CAAC;IAEd;;;;OAIG;IACH,MAAM,EAAE,MAAM,CAAC;CAClB;AAED;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG,sBAAsB,GAAG,sBAAsB,CAAC;AAE/E;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC5B,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAE9B;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,gBAAiB,SAAQ,eAAe;IACrD;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,eAAe,CAAC,EAAE,sBAAsB,CAAC;IAEzC,aAAa,CAAC,EAAE,sBAAsB,CAAC;CAC1C;AAED;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAC9B,eAAe,CAAC,EAAE,sBAAsB,CAAC;IAEzC,aAAa,CAAC,EAAE,sBAAsB,CAAC;CAC1C;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,sBAAsB,CAEnF;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,sBAAsB,CAEnF"}
@@ -13,7 +13,7 @@ export type ReportDateString = string;
13
13
  *
14
14
  * @alpha
15
15
  */
16
- export type ReportBuiltInVariable = "reportTitle" | "periodStart" | "periodEnd" | "workspaceName" | "generatedAt" | "pageNumber" | "totalPages" | "logo";
16
+ export type ReportBuiltInVariable = "reportTitle" | "periodStart" | "periodEnd" | "workspaceName" | "generatedAt" | "pageNumber" | "totalPages" | "logo" | "logoInverse";
17
17
  /**
18
18
  * All built-in report variable names.
19
19
  *
@@ -1 +1 @@
1
- {"version":3,"file":"variables.d.ts","sourceRoot":"","sources":["../../src/reports/variables.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAEtC;;;;;;;;GAQG;AACH,MAAM,MAAM,qBAAqB,GAC3B,aAAa,GACb,aAAa,GACb,WAAW,GACX,eAAe,GACf,aAAa,GACb,YAAY,GACZ,YAAY,GACZ,MAAM,CAAC;AAEb;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,EAAE,qBAAqB,EASzD,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,WAAW,yBAAyB;IACtC;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AAID;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAShE;AAED;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAIlG"}
1
+ {"version":3,"file":"variables.d.ts","sourceRoot":"","sources":["../../src/reports/variables.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAEtC;;;;;;;;GAQG;AACH,MAAM,MAAM,qBAAqB,GAC3B,aAAa,GACb,aAAa,GACb,WAAW,GACX,eAAe,GACf,aAAa,GACb,YAAY,GACZ,YAAY,GACZ,MAAM,GACN,aAAa,CAAC;AAEpB;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,EAAE,qBAAqB,EAUzD,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,WAAW,yBAAyB;IACtC;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AAID;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAShE;AAED;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAIlG"}
@@ -13,6 +13,7 @@ export const ReportBuiltInVariables = [
13
13
  "pageNumber",
14
14
  "totalPages",
15
15
  "logo",
16
+ "logoInverse",
16
17
  ];
17
18
  const placeholderRegex = /\{\{([a-zA-Z][a-zA-Z0-9_]*)\}\}/g;
18
19
  /**
@@ -471,6 +471,24 @@ export declare function attributeElementsCount(attributeElements: IAttributeElem
471
471
  */
472
472
  export declare function attributeElementsIsEmpty(attributeElements: IAttributeElements): boolean;
473
473
 
474
+ /**
475
+ * Converts {@link IAttributeFilter} to {@link DashboardAttributeFilterItem}.
476
+ *
477
+ * @remarks
478
+ * For arbitrary and match filters, returns the corresponding dedicated dashboard filter type
479
+ * with full lossless conversion. For element-based filters, returns {@link IDashboardAttributeFilter}.
480
+ *
481
+ * @alpha
482
+ * @param filter - filter to convert
483
+ * @param localIdentifier - localIdentifier of the filter
484
+ * @param title - custom title of the filter
485
+ * @param attributeElements - currently selected elements. Only used for element-based filters.
486
+ * @param isInverted - whether filter has negative selection (NOT_IN operator). Default is taken from the filter param.
487
+ * @param selectionMode - selection mode of the filter (single / multi). Default is undefined.
488
+ * @returns converted filter
489
+ */
490
+ export declare function attributeFilterToDashboardAttributeFilter(filter: IAttributeFilter, localIdentifier: string | undefined, title: string | undefined, attributeElements?: IAttributeElement[], isInverted?: boolean, selectionMode?: DashboardAttributeFilterSelectionMode): DashboardAttributeFilterItem;
491
+
474
492
  /**
475
493
  * Gets identifier of attribute's display form to use and get attribute element values from.
476
494
  *
@@ -1053,6 +1071,44 @@ export declare type CalendarContext = {
1053
1071
  */
1054
1072
  export declare type CalendarType = "STANDARD" | "FISCAL";
1055
1073
 
1074
+ /**
1075
+ * Effective EDIT capability for a single metric.
1076
+ *
1077
+ * @remarks
1078
+ * A workspace admin can always edit, matching how dashboards behave — `getDashboardPermissions`
1079
+ * short-circuits to EDIT when the workspace grants MANAGE, and MANAGE is what canManageProject
1080
+ * is built from. Behind enableMetricPermissions the metric's own EDIT grants it to everyone else.
1081
+ *
1082
+ * Only admins could edit metrics before the flag, so this can only ever grant edit, never take
1083
+ * it away. Drop the flag term when the flag is removed.
1084
+ *
1085
+ * @param metricPermissions - the metric's own permissions, absent when they were not requested
1086
+ * @param workspacePermissions - the user's workspace permissions
1087
+ * @param areMetricPermissionsEnabled - the enableMetricPermissions feature flag
1088
+ *
1089
+ * @alpha
1090
+ */
1091
+ export declare function canEditMetric(metricPermissions: AccessGranularPermission[] | undefined, workspacePermissions: IWorkspacePermissions, areMetricPermissionsEnabled: boolean): boolean;
1092
+
1093
+ /**
1094
+ * Effective SHARE capability for a single metric.
1095
+ *
1096
+ * @remarks
1097
+ * Same shape as {@link canEditMetric}: a workspace admin can always share, otherwise the metric's
1098
+ * own SHARE decides. Deliberately not derived from EDIT — the permissions are read independently
1099
+ * rather than as an EDIT ⊃ SHARE ⊃ VIEW hierarchy.
1100
+ *
1101
+ * Unlike editing, sharing a metric did not exist before enableMetricPermissions, so it stays off
1102
+ * entirely without the flag.
1103
+ *
1104
+ * @param metricPermissions - the metric's own permissions, absent when they were not requested
1105
+ * @param workspacePermissions - the user's workspace permissions
1106
+ * @param areMetricPermissionsEnabled - the enableMetricPermissions feature flag
1107
+ *
1108
+ * @alpha
1109
+ */
1110
+ export declare function canShareMetric(metricPermissions: AccessGranularPermission[] | undefined, workspacePermissions: IWorkspacePermissions, areMetricPermissionsEnabled: boolean): boolean;
1111
+
1056
1112
  /**
1057
1113
  * Type representing catalog item - attribute, measure, fact, dateDataset or computedAttribute
1058
1114
  *
@@ -1385,6 +1441,18 @@ export declare function dashboardAttributeFilterItemLocalIdentifier(filter: Dash
1385
1441
  */
1386
1442
  export declare function dashboardAttributeFilterItemTitle(filter: DashboardAttributeFilterItem): string | undefined;
1387
1443
 
1444
+ /**
1445
+ * Converts any {@link DashboardAttributeFilterItem} to {@link IAttributeFilter} instance.
1446
+ *
1447
+ * @remarks
1448
+ * Handles all attribute filter types: element-based (positive/negative selection),
1449
+ * arbitrary value filters, and match (text) filters.
1450
+ *
1451
+ * @param filter - dashboard attribute filter item to convert
1452
+ * @alpha
1453
+ */
1454
+ export declare function dashboardAttributeFilterItemToAttributeFilter(filter: DashboardAttributeFilterItem): IAttributeFilter;
1455
+
1388
1456
  /**
1389
1457
  * Returns the validateElementsBy of any attribute-based dashboard filter.
1390
1458
  *
@@ -1415,6 +1483,16 @@ export declare type DashboardAttributeFilterSelectionType = "list" | "text" | "l
1415
1483
  */
1416
1484
  export declare const DashboardAttributeFilterSelectionTypeValues: Record<Uppercase<Exclude<DashboardAttributeFilterSelectionType, "listOrText">> | "LIST_OR_TEXT", DashboardAttributeFilterSelectionType>;
1417
1485
 
1486
+ /**
1487
+ * Converts {@link IDashboardAttributeFilter} to {@link IAttributeFilter} instance.
1488
+ *
1489
+ * @param filter - filter context attribute filter to convert
1490
+ * @deprecated Use {@link dashboardAttributeFilterItemToAttributeFilter} instead,
1491
+ * which supports all attribute filter types including text filters.
1492
+ * @public
1493
+ */
1494
+ export declare function dashboardAttributeFilterToAttributeFilter(filter: IDashboardAttributeFilter): IAttributeFilter;
1495
+
1418
1496
  /**
1419
1497
  * Date filter configuration mode
1420
1498
  * @alpha
@@ -1428,6 +1506,24 @@ export declare type DashboardDateFilterConfigMode = "readonly" | "hidden" | "act
1428
1506
  */
1429
1507
  export declare const DashboardDateFilterConfigModeValues: Record<Uppercase<DashboardDateFilterConfigMode>, DashboardDateFilterConfigMode>;
1430
1508
 
1509
+ /**
1510
+ * Converts {@link IDashboardDateFilter} to {@link IDateFilter} instance.
1511
+ *
1512
+ * @param filter - filter context attribute filter to convert
1513
+ * @param dateDataSet - date data set to define {@link IDateFilter}
1514
+ * @public
1515
+ */
1516
+ export declare function dashboardDateFilterToDateFilterByDateDataSet(filter: IDashboardDateFilter, dateDataSet: ObjRef): IDateFilter;
1517
+
1518
+ /**
1519
+ * Converts {@link IDashboardDateFilter} to {@link IDateFilter} instance.
1520
+ *
1521
+ * @param filter - filter context attribute filter to convert
1522
+ * @param widget - widget to use to get dateDataSet for date filters
1523
+ * @public
1524
+ */
1525
+ export declare function dashboardDateFilterToDateFilterByWidget(filter: IDashboardDateFilter, widget?: Partial<IFilterableWidget>): IDateFilter;
1526
+
1431
1527
  /**
1432
1528
  * Returns local identifier of the dashboard filter.
1433
1529
  *
@@ -1475,6 +1571,20 @@ export declare type DashboardFiltersApplyMode = {
1475
1571
  */
1476
1572
  export declare function dashboardMeasureValueFilterLocalIdentifier(filter: IDashboardMeasureValueFilter): string;
1477
1573
 
1574
+ /**
1575
+ * Converts {@link IDashboardMeasureValueFilter} to {@link IMeasureValueFilter} instance.
1576
+ *
1577
+ * @remarks
1578
+ * Dashboard measure value filters always reference a catalog metric via `ObjRef`, which is a valid
1579
+ * `ObjRefInScope`. When dashboard-level dimensionality is configured, it is passed through to the
1580
+ * execution filter; otherwise the backend derives granularity from the widget automatically.
1581
+ * Conditions are passed through unchanged.
1582
+ *
1583
+ * @param filter - dashboard measure value filter to convert
1584
+ * @alpha
1585
+ */
1586
+ export declare function dashboardMeasureValueFilterToMeasureValueFilter(filter: IDashboardMeasureValueFilter): IMeasureValueFilter;
1587
+
1478
1588
  /**
1479
1589
  * Dashboard parameter mode — mirrors filter mode triple.
1480
1590
  *
@@ -2212,6 +2322,52 @@ export declare function filterAttributeElements(filter: IFilter): IAttributeElem
2212
2322
  */
2213
2323
  export declare type FilterContextItem = DashboardAttributeFilterItem | IDashboardDateFilter | IDashboardMeasureValueFilter;
2214
2324
 
2325
+ /**
2326
+ * Gets {@link IDashboardFilter} items for filters specified as {@link FilterContextItem} instances.
2327
+ *
2328
+ * @param filterContextItems - filter context items to get filters for
2329
+ * @param dateDataSet - date data set to define {@link IDateFilter}
2330
+ * @alpha
2331
+ */
2332
+ export declare function filterContextItemsToDashboardFiltersByDateDataSet(filterContextItems: FilterContextItem[], dateDataSet: ObjRef): IDashboardFilter[];
2333
+
2334
+ /**
2335
+ * Gets {@link IDashboardFilter} items for filters specified as {@link FilterContextItem} instances.
2336
+ *
2337
+ * @param filterContextItems - filter context items to get filters for
2338
+ * @param widget - widget to use to get dateDataSet for date filters
2339
+ * @alpha
2340
+ */
2341
+ export declare function filterContextItemsToDashboardFiltersByRichTextWidget(filterContextItems: FilterContextItem[], widget?: Partial<IFilterableWidget>): IDashboardFilter[];
2342
+
2343
+ /**
2344
+ * Gets {@link IDashboardFilter} items for filters specified as {@link FilterContextItem} instances.
2345
+ *
2346
+ * @param filterContextItems - filter context items to get filters for
2347
+ * @param widget - widget to use to get dateDataSet for date filters
2348
+ * @alpha
2349
+ */
2350
+ export declare function filterContextItemsToDashboardFiltersByWidget(filterContextItems: FilterContextItem[], widget?: Partial<IFilterableWidget>): IDashboardFilter[];
2351
+
2352
+ /**
2353
+ * Gets {@link IDashboardFilter} items for filters specified in given filterContext in relation to the
2354
+ * given dateDataSet.
2355
+ *
2356
+ * @param filterContext - filter context to get filters for
2357
+ * @param dateDataSet - widget to use to get dateDataSet for date filters
2358
+ * @alpha
2359
+ */
2360
+ export declare function filterContextToDashboardFiltersByDateDataSet(filterContext: IFilterContextDefinition | IFilterContext | ITempFilterContext | undefined, dateDataSet: ObjRef): IDashboardFilter[];
2361
+
2362
+ /**
2363
+ * Gets {@link IDashboardFilter} items for filters specified in given filterContext in relation to the given widget.
2364
+ *
2365
+ * @param filterContext - filter context to get filters for
2366
+ * @param widget - widget to use to get dateDataSet for date filters
2367
+ * @alpha
2368
+ */
2369
+ export declare function filterContextToDashboardFiltersByWidget(filterContext: IFilterContextDefinition | IFilterContext | ITempFilterContext | undefined, widget: IWidgetDefinition): IDashboardFilter[];
2370
+
2215
2371
  /**
2216
2372
  * Tests whether the provided attribute element does not specify any attribute elements.
2217
2373
  *
@@ -4789,12 +4945,13 @@ export declare interface IConditionalFormatting {
4789
4945
  enabled: boolean;
4790
4946
  rules: readonly IConditionalFormattingRule[];
4791
4947
  /**
4792
- * Targets for which these insight-level rules take over entirely from any semantic-layer
4793
- * conditional formatting carried on the execution result (see {@link ISemanticConditionalFormatting}).
4794
- * A target listed here is Custom: its semantic rules are ignored, never merged. A target not
4795
- * listed here (or when this is absent) is Inherited: semantic rules apply as-is.
4948
+ * Targets whose formatting is explicitly suppressed turned off rather than inherited from any
4949
+ * semantic-layer conditional formatting carried on the execution result (see
4950
+ * {@link ISemanticConditionalFormatting}). A target listed here shows no formatting even if the
4951
+ * semantic layer has rules for it. A target not listed here (or when this is absent) is
4952
+ * Inherited: semantic rules apply as-is.
4796
4953
  */
4797
- customTargets?: readonly ConditionalFormattingTarget[];
4954
+ suppressedTargets?: readonly ConditionalFormattingTarget[];
4798
4955
  }
4799
4956
 
4800
4957
  /**
@@ -5480,6 +5637,14 @@ export declare interface IDashboardExportParameter {
5480
5637
  parameterType?: ParameterType;
5481
5638
  }
5482
5639
 
5640
+ /**
5641
+ * Execution-filter form of a dashboard filter: what a {@link FilterContextItem} becomes once it is
5642
+ * resolved against the object it filters.
5643
+ *
5644
+ * @public
5645
+ */
5646
+ export declare type IDashboardFilter = IAbsoluteDateFilter | IRelativeDateFilter | IPositiveAttributeFilter | INegativeAttributeFilter | IArbitraryAttributeFilter | IMatchAttributeFilter | IMeasureValueFilter;
5647
+
5483
5648
  /**
5484
5649
  * Single dashboard filter group configuration.
5485
5650
  * Title is displayed in the filter bar.
@@ -7658,6 +7823,13 @@ export declare interface IFeatureFlags {
7658
7823
  * Enable conditional formatting for the pivot table
7659
7824
  */
7660
7825
  enableConditionalFormatting?: boolean;
7826
+ /**
7827
+ * Enable inheriting conditional formatting rules authored on a semantic-layer catalog object
7828
+ * (label, metric, fact, or date dataset) — independent of
7829
+ * {@link IFeatureFlags.enableConditionalFormatting}, which only gates an insight's own authored
7830
+ * rules.
7831
+ */
7832
+ enableSemanticConditionalFormatting?: boolean;
7661
7833
  /**
7662
7834
  * Enable new geo pushpin chart
7663
7835
  */
@@ -11326,6 +11498,11 @@ export declare interface IPermanentSettings {
11326
11498
  * @beta
11327
11499
  */
11328
11500
  defaultExportTemplate?: IDefaultExportTemplate;
11501
+ /**
11502
+ * Brand kit offered to report authors: brand colors, typography and shared assets.
11503
+ * @alpha
11504
+ */
11505
+ reportsBrandKit?: IReportsBrandKit;
11329
11506
  /**
11330
11507
  * Indicates current platform edition.
11331
11508
  */
@@ -12062,6 +12239,19 @@ export declare interface IReportBase {
12062
12239
  */
12063
12240
  export declare interface IReportBoxStyle {
12064
12241
  background?: ReportBackground;
12242
+ /**
12243
+ * Corner radius in percent of the page width — the same relative unit the rest of a report page
12244
+ * is sized in, so the corners keep their proportion however large the page is rendered.
12245
+ * Content reaching into a rounded corner is clipped.
12246
+ */
12247
+ borderRadius?: number;
12248
+ /**
12249
+ * Inset of the box's own content, in percent of the page width like
12250
+ * {@link IReportBoxStyle.borderRadius}. Insets only inward — siblings and the layout
12251
+ * gaps around the box are untouched. A box that paints a background usually wants one;
12252
+ * a full-bleed box (an image-backed cover) wants none, which is why no default exists.
12253
+ */
12254
+ padding?: number;
12065
12255
  }
12066
12256
 
12067
12257
  /**
@@ -12167,7 +12357,7 @@ export declare interface IReportImageSlot extends IReportSlotBase {
12167
12357
  /**
12168
12358
  * How the image fills the slot area. Defaults to "contain".
12169
12359
  */
12170
- fit?: "contain" | "cover" | "fill";
12360
+ fit?: ReportImageFit;
12171
12361
  /**
12172
12362
  * Placement overrides for the drawn image; centered on both axes by default.
12173
12363
  */
@@ -12331,6 +12521,158 @@ export declare interface IReportPageLayoutDefinition {
12331
12521
  content: IReportPageLayoutContent;
12332
12522
  }
12333
12523
 
12524
+ /**
12525
+ * Workspace brand kit: the customer's colors, assets, and typography reports are branded with.
12526
+ *
12527
+ * @remarks
12528
+ * Stored as the free-form content of the `reportsBrandKit` workspace setting. Everything is
12529
+ * optional; each part degrades independently to the product defaults. Assets resolve report
12530
+ * variables, chart colors derive the visualization palette, typography applies to rendered
12531
+ * reports.
12532
+ *
12533
+ * @alpha
12534
+ */
12535
+ export declare interface IReportsBrandKit {
12536
+ /**
12537
+ * Content model version, for stored-content evolution.
12538
+ */
12539
+ version: "1";
12540
+ colors?: IReportsBrandKitColors;
12541
+ typography?: IReportsBrandKitTypography;
12542
+ assets?: IReportsBrandKitAssets;
12543
+ }
12544
+
12545
+ /**
12546
+ * Brand assets, all hosted outside the platform.
12547
+ *
12548
+ * @alpha
12549
+ */
12550
+ export declare interface IReportsBrandKitAssets {
12551
+ /**
12552
+ * Primary logo URL; resolves the `{{logo}}` report variable, taking precedence over
12553
+ * the workspace white-labeling logo.
12554
+ */
12555
+ logo?: string;
12556
+ /**
12557
+ * Logo variant for dark backgrounds; resolves the `{{logoInverse}}` report variable.
12558
+ */
12559
+ logoInverse?: string;
12560
+ /**
12561
+ * Additional brand images, each resolving its `{{image_<id>}}` report variable.
12562
+ */
12563
+ images?: IReportsBrandKitImage[];
12564
+ }
12565
+
12566
+ /**
12567
+ * Brand colors.
12568
+ *
12569
+ * @remarks
12570
+ * Every color but {@link IReportsBrandKitColors.chart} is written into CSS, so it may be stated in
12571
+ * any notation CSS reads. Chart colors become palette entries instead of declarations, so they are
12572
+ * held to {@link parseReportsBrandChartColor} and a value it cannot read is dropped.
12573
+ *
12574
+ * @alpha
12575
+ */
12576
+ export declare interface IReportsBrandKitColors {
12577
+ /**
12578
+ * Primary brand color, offered to authors as a swatch.
12579
+ *
12580
+ * @remarks
12581
+ * Also seeds the derived chart palette when {@link IReportsBrandKitColors.chart} is not
12582
+ * provided — but only when stated in a notation {@link parseReportsBrandChartColor} reads,
12583
+ * since seeding means computing tints of it rather than declaring it. Stated in any other
12584
+ * notation it remains a swatch, and charts keep the workspace palette.
12585
+ */
12586
+ brand?: string;
12587
+ /**
12588
+ * Ordered chart series colors the visualization palette is derived from. Each must be a color
12589
+ * {@link parseReportsBrandChartColor} reads; the sanitizer drops the rest.
12590
+ */
12591
+ chart?: string[];
12592
+ /**
12593
+ * Ink of headings and titles.
12594
+ */
12595
+ ink?: string;
12596
+ /**
12597
+ * Ink of body and secondary text.
12598
+ */
12599
+ inkMuted?: string;
12600
+ /**
12601
+ * Default page background.
12602
+ */
12603
+ paper?: string;
12604
+ /**
12605
+ * Alternate background for covers and highlighted sections.
12606
+ */
12607
+ paperAlt?: string;
12608
+ }
12609
+
12610
+ /**
12611
+ * One hosted font file, loaded as a font face for rendered reports.
12612
+ *
12613
+ * @alpha
12614
+ */
12615
+ export declare interface IReportsBrandKitFontFace {
12616
+ /**
12617
+ * Font family name the face registers; reference it from
12618
+ * {@link IReportsBrandKitTypography.fontFamily}.
12619
+ */
12620
+ family: string;
12621
+ /**
12622
+ * Absolute URL of the externally hosted font file (TTF/OTF/WOFF/WOFF2). The organization
12623
+ * CSP must allow the host as a font source, and for exports the host must also serve
12624
+ * CORS headers.
12625
+ */
12626
+ url: string;
12627
+ /**
12628
+ * CSS font-weight the face carries (1-1000). Defaults to 400.
12629
+ */
12630
+ weight?: number;
12631
+ /**
12632
+ * Defaults to "normal".
12633
+ */
12634
+ style?: "normal" | "italic";
12635
+ }
12636
+
12637
+ /**
12638
+ * Named brand image offered to report authors.
12639
+ *
12640
+ * @alpha
12641
+ */
12642
+ export declare interface IReportsBrandKitImage {
12643
+ /**
12644
+ * Identifier the image is referenced by from report content, as the
12645
+ * `{{image_<id>}}` variable. Must match /^[a-zA-Z0-9_]+$/.
12646
+ */
12647
+ id: string;
12648
+ /**
12649
+ * Absolute URL of the externally hosted image. The organization CSP must allow the
12650
+ * host, and for exports the host must also serve CORS headers.
12651
+ */
12652
+ url: string;
12653
+ /**
12654
+ * Human readable description shown when the image is offered in the editor.
12655
+ */
12656
+ description?: string;
12657
+ }
12658
+
12659
+ /**
12660
+ * Brand typography.
12661
+ *
12662
+ * @alpha
12663
+ */
12664
+ export declare interface IReportsBrandKitTypography {
12665
+ /**
12666
+ * CSS font-family stack applied to rendered reports.
12667
+ */
12668
+ fontFamily?: string;
12669
+ /**
12670
+ * Hosted font files backing the families named in
12671
+ * {@link IReportsBrandKitTypography.fontFamily}.
12672
+ */
12673
+ fonts?: IReportsBrandKitFontFace[];
12674
+ }
12675
+
12334
12676
  /**
12335
12677
  * Structural base of every report slot.
12336
12678
  *
@@ -12434,7 +12776,7 @@ export declare interface IReportTextSlot extends IReportSlotBase {
12434
12776
  }
12435
12777
 
12436
12778
  /**
12437
- * Styling of the text a text slot owns.
12779
+ * Styling of a text slot: the paint of its box, plus the ink and placement of the text it owns.
12438
12780
  *
12439
12781
  * @remarks
12440
12782
  * Overrides the ink and placement of the slot's {@link ReportTextSlotKind} defaults; the kind
@@ -12442,7 +12784,7 @@ export declare interface IReportTextSlot extends IReportSlotBase {
12442
12784
  *
12443
12785
  * @alpha
12444
12786
  */
12445
- export declare interface IReportTextStyle {
12787
+ export declare interface IReportTextStyle extends IReportBoxStyle {
12446
12788
  /**
12447
12789
  * CSS color value. Absolute, like {@link IReportColorBackground.color}.
12448
12790
  */
@@ -13373,6 +13715,13 @@ export declare function isDashboardDateFilterWithDimension(obj: unknown): obj is
13373
13715
  */
13374
13716
  export declare function isDashboardDefinition(obj: unknown): obj is IDashboardDefinition;
13375
13717
 
13718
+ /**
13719
+ * Type-guard testing whether the provided object is an instance of {@link IDashboardFilter}.
13720
+ *
13721
+ * @public
13722
+ */
13723
+ export declare function isDashboardFilter(obj: unknown): obj is IDashboardFilter;
13724
+
13376
13725
  /**
13377
13726
  * Type-guard testing whether the provided object is an instance of {@link IDashboardLayout}.
13378
13727
  * @alpha
@@ -18551,6 +18900,20 @@ export declare type ParameterValue = IParameterDefinition["defaultValue"];
18551
18900
  */
18552
18901
  export declare function parameterValueMatchesType(definition: IParameterDefinition, value: ParameterValue): boolean;
18553
18902
 
18903
+ /**
18904
+ * Reads one of {@link IReportsBrandKitColors.chart} as rgb channels, or undefined where the value is
18905
+ * not one of the notations those colors are stated in.
18906
+ *
18907
+ * @remarks
18908
+ * Chart colors become palette entries rather than CSS declarations, so unlike the rest of the kit
18909
+ * they are held to what this reads: hex (3, 4, 6 or 8 digits) and `rgb()`/`rgba()`. The sanitizer
18910
+ * drops what this cannot read, so a stored kit never carries a chart color the palette would
18911
+ * silently ignore.
18912
+ *
18913
+ * @alpha
18914
+ */
18915
+ export declare function parseReportsBrandChartColor(color: string): IRgbColorValue | undefined;
18916
+
18554
18917
  /**
18555
18918
  * Provenance of a granted permission — granted directly to the grantee,
18556
18919
  * or inherited from a group or rule.
@@ -18796,7 +19159,7 @@ export declare type ReportBackground = IReportColorBackground | IReportImageBack
18796
19159
  *
18797
19160
  * @alpha
18798
19161
  */
18799
- export declare type ReportBuiltInVariable = "reportTitle" | "periodStart" | "periodEnd" | "workspaceName" | "generatedAt" | "pageNumber" | "totalPages" | "logo";
19162
+ export declare type ReportBuiltInVariable = "reportTitle" | "periodStart" | "periodEnd" | "workspaceName" | "generatedAt" | "pageNumber" | "totalPages" | "logo" | "logoInverse";
18800
19163
 
18801
19164
  /**
18802
19165
  * All built-in report variable names.
@@ -18826,6 +19189,14 @@ export declare function reportContentPage(reportOrTemplate: IReport | IReportDef
18826
19189
  */
18827
19190
  export declare type ReportDateString = string;
18828
19191
 
19192
+ /**
19193
+ * How an image is fitted to the area it is drawn in: kept whole inside it, filling it and cropped to
19194
+ * do so, or stretched to its shape.
19195
+ *
19196
+ * @alpha
19197
+ */
19198
+ export declare type ReportImageFit = "contain" | "cover" | "fill";
19199
+
18829
19200
  /**
18830
19201
  * What an image slot displays.
18831
19202
  *
@@ -18881,6 +19252,21 @@ export declare const ReportPageFormats: ReportPageFormat[];
18881
19252
  */
18882
19253
  export declare type ReportPageLayoutNode = IReportLayoutSection | IReportLayoutSlotRef;
18883
19254
 
19255
+ /**
19256
+ * Name of the report variable resolving the brand kit image with the given id.
19257
+ *
19258
+ * @alpha
19259
+ */
19260
+ export declare function reportsBrandKitImageVariable(imageId: string): string;
19261
+
19262
+ /**
19263
+ * Prefix of the report variables brand kit images resolve; custom report variables must not
19264
+ * use it.
19265
+ *
19266
+ * @alpha
19267
+ */
19268
+ export declare const ReportsBrandKitImageVariablePrefix = "image_";
19269
+
18884
19270
  /**
18885
19271
  * All slot types of report content version 1.
18886
19272
  *
@@ -19005,6 +19391,20 @@ export declare function sanitizeBucketTotals(bucket: IBucket, sortItems: ISortIt
19005
19391
  */
19006
19392
  export declare function sanitizeParameterValue(definition: IParameterDefinition, value: ParameterValue): ParameterValue;
19007
19393
 
19394
+ /**
19395
+ * Reads a stored brand kit from free-form JSON, keeping the parts that are valid and dropping
19396
+ * everything else.
19397
+ *
19398
+ * @remarks
19399
+ * The setting content is not schema-validated by the backend, so every consumer must go
19400
+ * through this. Returns undefined only when the value is not a version "1" brand kit at all;
19401
+ * a kit whose sections are absent or entirely invalid comes back empty, which the type permits
19402
+ * and a workspace that has not filled its kit in yet carries.
19403
+ *
19404
+ * @alpha
19405
+ */
19406
+ export declare function sanitizeReportsBrandKit(value: unknown): IReportsBrandKit | undefined;
19407
+
19008
19408
  /**
19009
19409
  * Supported email attachments
19010
19410
  * @alpha
@@ -19309,9 +19709,10 @@ export declare function userFullName(user: IUser): string | undefined;
19309
19709
  /**
19310
19710
  * Validates the structural invariants of a page body beyond what its types guarantee for content
19311
19711
  * arriving from the wire: the page format is known, slot localIdentifiers are unique, layout
19312
- * weights are positive, every slot is placed (by the layout or as a background), every layout
19313
- * slotId resolves (unresolved ones are warnings they render as empty areas), and background
19314
- * references resolve to image slots.
19712
+ * weights are positive, corner radii and paddings are finite and not negative, every slot is placed (by the
19713
+ * layout, or as the image background of a box that renders), every layout slotId resolves
19714
+ * (unresolved ones are warnings — they render as empty areas), and background references
19715
+ * resolve to image slots.
19315
19716
  *
19316
19717
  * @alpha
19317
19718
  */
@@ -1,4 +1,5 @@
1
1
  import type { IDateFilterConfig } from "../dateFilterConfig/index.js";
2
+ import type { IReportsBrandKit } from "../reports/brandKit.js";
2
3
  /**
3
4
  * Describes metric format override configuration.
4
5
  *
@@ -312,6 +313,11 @@ export interface IPermanentSettings {
312
313
  * @beta
313
314
  */
314
315
  defaultExportTemplate?: IDefaultExportTemplate;
316
+ /**
317
+ * Brand kit offered to report authors: brand colors, typography and shared assets.
318
+ * @alpha
319
+ */
320
+ reportsBrandKit?: IReportsBrandKit;
315
321
  /**
316
322
  * Indicates current platform edition.
317
323
  */
@@ -684,6 +690,13 @@ export interface IFeatureFlags {
684
690
  * Enable conditional formatting for the pivot table
685
691
  */
686
692
  enableConditionalFormatting?: boolean;
693
+ /**
694
+ * Enable inheriting conditional formatting rules authored on a semantic-layer catalog object
695
+ * (label, metric, fact, or date dataset) — independent of
696
+ * {@link IFeatureFlags.enableConditionalFormatting}, which only gates an insight's own authored
697
+ * rules.
698
+ */
699
+ enableSemanticConditionalFormatting?: boolean;
687
700
  /**
688
701
  * Enable new geo pushpin chart
689
702
  */