@gooddata/sdk-model 11.55.0-alpha.3 → 11.55.0-alpha.5

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":"factory.d.ts","sourceRoot":"","sources":["../../src/reports/factory.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAE5E,OAAO,EACH,KAAK,eAAe,EACpB,KAAK,iBAAiB,EAEtB,KAAK,2BAA2B,EACnC,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACH,KAAK,OAAO,EACZ,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,yBAAyB,EACjC,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAyCvD;;;;GAIG;AACH,wBAAgB,6BAA6B,CACzC,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,eAAe,EACrB,aAAa,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,2BAA2B,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,CAAC,GACzF,2BAA2B,CAQ7B;AAED;;;;;;;;;GASG;AACH,wBAAgB,8BAA8B,CAC1C,IAAI,EAAE,iBAAiB,GAAG,2BAA2B,EACrD,eAAe,GAAE,MAAsC,GACxD,kBAAkB,CAcpB;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC5B,KAAK,EAAE,kBAAkB,EAAE,EAC3B,aAAa,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,SAAS,GAAG,OAAO,CAAC,CAAC,GACnE,cAAc,CAMhB;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CACvC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,cAAc,EACvB,aAAa,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,yBAAyB,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,CAAC,GACvF,yBAAyB,CAO3B;AAED;;;;;;;;GAQG;AACH,wBAAgB,+BAA+B,CAC3C,QAAQ,EAAE,eAAe,GAAG,yBAAyB,EACrD,OAAO,EAAE;IACL,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,gBAAgB,CAAC;IAC9B,SAAS,EAAE,gBAAgB,CAAC;CAC/B,EACD,aAAa,CAAC,EAAE,OAAO,CACnB,IAAI,CAAC,iBAAiB,EAAE,MAAM,GAAG,OAAO,GAAG,aAAa,GAAG,WAAW,GAAG,SAAS,CAAC,CACtF,GACF,iBAAiB,CASnB;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CACpC,OAAO,EAAE;IACL,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,gBAAgB,CAAC;IAC9B,SAAS,EAAE,gBAAgB,CAAC;IAC5B,KAAK,CAAC,EAAE,kBAAkB,EAAE,CAAC;CAChC,EACD,aAAa,CAAC,EAAE,OAAO,CACnB,IAAI,CAAC,iBAAiB,EAAE,MAAM,GAAG,OAAO,GAAG,aAAa,GAAG,WAAW,GAAG,SAAS,CAAC,CACtF,GACF,iBAAiB,CASnB;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC7B,gBAAgB,EAAE,OAAO,GAAG,iBAAiB,GAAG,eAAe,GAAG,yBAAyB,EAC3F,mBAAmB,EAAE,MAAM,GAC5B,kBAAkB,GAAG,SAAS,CAEhC"}
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/reports/factory.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAE5E,OAAO,EACH,KAAK,eAAe,EACpB,KAAK,iBAAiB,EAEtB,KAAK,2BAA2B,EACnC,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACH,KAAK,OAAO,EACZ,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,yBAAyB,EACjC,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAyCvD;;;;GAIG;AACH,wBAAgB,6BAA6B,CACzC,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,eAAe,EACrB,aAAa,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,2BAA2B,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,CAAC,GACzF,2BAA2B,CAQ7B;AAED;;;;;;;;;GASG;AACH,wBAAgB,8BAA8B,CAC1C,IAAI,EAAE,iBAAiB,GAAG,2BAA2B,EACrD,eAAe,GAAE,MAAsC,GACxD,kBAAkB,CAYpB;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC5B,KAAK,EAAE,kBAAkB,EAAE,EAC3B,aAAa,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,SAAS,GAAG,OAAO,CAAC,CAAC,GACnE,cAAc,CAMhB;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CACvC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,cAAc,EACvB,aAAa,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,yBAAyB,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,CAAC,GACvF,yBAAyB,CAO3B;AAED;;;;;;;;GAQG;AACH,wBAAgB,+BAA+B,CAC3C,QAAQ,EAAE,eAAe,GAAG,yBAAyB,EACrD,OAAO,EAAE;IACL,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,gBAAgB,CAAC;IAC9B,SAAS,EAAE,gBAAgB,CAAC;CAC/B,EACD,aAAa,CAAC,EAAE,OAAO,CACnB,IAAI,CAAC,iBAAiB,EAAE,MAAM,GAAG,OAAO,GAAG,aAAa,GAAG,WAAW,GAAG,SAAS,CAAC,CACtF,GACF,iBAAiB,CASnB;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CACpC,OAAO,EAAE;IACL,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,gBAAgB,CAAC;IAC9B,SAAS,EAAE,gBAAgB,CAAC;IAC5B,KAAK,CAAC,EAAE,kBAAkB,EAAE,CAAC;CAChC,EACD,aAAa,CAAC,EAAE,OAAO,CACnB,IAAI,CAAC,iBAAiB,EAAE,MAAM,GAAG,OAAO,GAAG,aAAa,GAAG,WAAW,GAAG,SAAS,CAAC,CACtF,GACF,iBAAiB,CASnB;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC7B,gBAAgB,EAAE,OAAO,GAAG,iBAAiB,GAAG,eAAe,GAAG,yBAAyB,EAC3F,mBAAmB,EAAE,MAAM,GAC5B,kBAAkB,GAAG,SAAS,CAEhC"}
@@ -122,7 +122,7 @@ export interface IReportPageBodyValidationIssue {
122
122
  /**
123
123
  * Validates the structural invariants of a page body beyond what its types guarantee for content
124
124
  * arriving from the wire: the page format is known, slot localIdentifiers are unique, layout
125
- * weights are positive, corner radii are finite and not negative, every slot is placed (by the
125
+ * weights are positive, corner radii and paddings are finite and not negative, every slot is placed (by the
126
126
  * layout, or as the image background of a box that renders), every layout slotId resolves
127
127
  * (unresolved ones are warnings — they render as empty areas), and background references
128
128
  * resolve to image slots.
@@ -1 +1 @@
1
- {"version":3,"file":"pageLayout.d.ts","sourceRoot":"","sources":["../../src/reports/pageLayout.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACjF,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,KAAK,MAAM,EAAY,MAAM,oBAAoB,CAAC;AAE3D,OAAO,EAAE,KAAK,oBAAoB,EAAgD,MAAM,aAAa,CAAC;AACtG,OAAO,EAAE,KAAK,gBAAgB,EAAsB,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,KAAK,UAAU,EAAuC,MAAM,WAAW,CAAC;AACjF,OAAO,EAAE,KAAK,eAAe,EAA2B,MAAM,cAAc,CAAC;AAE7E;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,eAAe;IAC5B;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC;IAEvC;;;OAGG;IACH,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAE1B;;OAEG;IACH,KAAK,CAAC,EAAE,eAAe,CAAC;IAExB;;OAEG;IACH,MAAM,EAAE,oBAAoB,CAAC;IAE7B;;OAEG;IACH,KAAK,EAAE,UAAU,EAAE,CAAC;IAEpB;;;OAGG;IACH,OAAO,CAAC,EAAE,iBAAiB,EAAE,CAAC;CACjC;AAED;;;;GAIG;AACH,MAAM,WAAW,wBAAyB,SAAQ,eAAe;IAC7D;;OAEG;IACH,OAAO,EAAE,GAAG,CAAC;CAChB;AAED;;;;GAIG;AACH,MAAM,WAAW,2BAA2B;IACxC,IAAI,EAAE,kBAAkB,CAAC;IAEzB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,KAAK,EAAE,MAAM,CAAC;IAEd,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAEhB,OAAO,EAAE,wBAAwB,CAAC;CACrC;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAkB,SAAQ,2BAA2B,EAAE,eAAe,EAAE,eAAe;IACpG,GAAG,EAAE,MAAM,CAAC;IAEZ;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;;;GAIG;AACH,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,2BAA2B,CAE7F;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,iBAAiB,CAEzE;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,wBAAwB,CAOzF;AAED;;;;GAIG;AACH,MAAM,WAAW,8BAA8B;IAC3C,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,eAAe,GAAG,8BAA8B,EAAE,CA8F9F"}
1
+ {"version":3,"file":"pageLayout.d.ts","sourceRoot":"","sources":["../../src/reports/pageLayout.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACjF,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,KAAK,MAAM,EAAY,MAAM,oBAAoB,CAAC;AAE3D,OAAO,EAAE,KAAK,oBAAoB,EAAgD,MAAM,aAAa,CAAC;AACtG,OAAO,EAAE,KAAK,gBAAgB,EAAsB,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,KAAK,UAAU,EAAuC,MAAM,WAAW,CAAC;AACjF,OAAO,EAAE,KAAK,eAAe,EAA2B,MAAM,cAAc,CAAC;AAE7E;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,eAAe;IAC5B;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC;IAEvC;;;OAGG;IACH,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAE1B;;OAEG;IACH,KAAK,CAAC,EAAE,eAAe,CAAC;IAExB;;OAEG;IACH,MAAM,EAAE,oBAAoB,CAAC;IAE7B;;OAEG;IACH,KAAK,EAAE,UAAU,EAAE,CAAC;IAEpB;;;OAGG;IACH,OAAO,CAAC,EAAE,iBAAiB,EAAE,CAAC;CACjC;AAED;;;;GAIG;AACH,MAAM,WAAW,wBAAyB,SAAQ,eAAe;IAC7D;;OAEG;IACH,OAAO,EAAE,GAAG,CAAC;CAChB;AAED;;;;GAIG;AACH,MAAM,WAAW,2BAA2B;IACxC,IAAI,EAAE,kBAAkB,CAAC;IAEzB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,KAAK,EAAE,MAAM,CAAC;IAEd,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAEhB,OAAO,EAAE,wBAAwB,CAAC;CACrC;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAkB,SAAQ,2BAA2B,EAAE,eAAe,EAAE,eAAe;IACpG,GAAG,EAAE,MAAM,CAAC;IAEZ;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;;;GAIG;AACH,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,2BAA2B,CAE7F;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,iBAAiB,CAEzE;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,wBAAwB,CAOzF;AAED;;;;GAIG;AACH,MAAM,WAAW,8BAA8B;IAC3C,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,eAAe,GAAG,8BAA8B,EAAE,CA+F9F"}
@@ -35,7 +35,7 @@ export function isReportPageLayoutContentV1(obj) {
35
35
  /**
36
36
  * Validates the structural invariants of a page body beyond what its types guarantee for content
37
37
  * arriving from the wire: the page format is known, slot localIdentifiers are unique, layout
38
- * weights are positive, corner radii are finite and not negative, every slot is placed (by the
38
+ * weights are positive, corner radii and paddings are finite and not negative, every slot is placed (by the
39
39
  * layout, or as the image background of a box that renders), every layout slotId resolves
40
40
  * (unresolved ones are warnings — they render as empty areas), and background references
41
41
  * resolve to image slots.
@@ -47,11 +47,11 @@ export function validateReportPageBody(body) {
47
47
  if (body.format !== undefined && !isReportPageFormat(body.format)) {
48
48
  issues.push({ severity: "error", message: `Unknown page format "${body.format}".` });
49
49
  }
50
- const checkBorderRadius = (borderRadius) => {
51
- if (borderRadius !== undefined && !(Number.isFinite(borderRadius) && borderRadius >= 0)) {
50
+ const checkLength = (name, value) => {
51
+ if (value !== undefined && !(Number.isFinite(value) && value >= 0)) {
52
52
  issues.push({
53
53
  severity: "error",
54
- message: `Border radius must be a finite non-negative number, got ${borderRadius}.`,
54
+ message: `${name} must be a finite non-negative number, got ${value}.`,
55
55
  });
56
56
  }
57
57
  };
@@ -68,7 +68,8 @@ export function validateReportPageBody(body) {
68
68
  const slotsById = new Map(body.slots.map((slot) => [slot.localIdentifier, slot]));
69
69
  const backgroundIds = new Set();
70
70
  const checkBoxStyle = (style, isDrawn) => {
71
- checkBorderRadius(style?.borderRadius);
71
+ checkLength("Border radius", style?.borderRadius);
72
+ checkLength("Padding", style?.padding);
72
73
  if (!style?.background || !isReportImageBackground(style.background)) {
73
74
  return;
74
75
  }
@@ -51,6 +51,13 @@ export interface IReportBoxStyle {
51
51
  * Content reaching into a rounded corner is clipped.
52
52
  */
53
53
  borderRadius?: number;
54
+ /**
55
+ * Inset of the box's own content, in percent of the page width like
56
+ * {@link IReportBoxStyle.borderRadius}. Insets only inward — siblings and the layout
57
+ * gaps around the box are untouched. A box that paints a background usually wants one;
58
+ * a full-bleed box (an image-backed cover) wants none, which is why no default exists.
59
+ */
60
+ padding?: number;
54
61
  }
55
62
  /**
56
63
  * Styling of a text slot: the paint of its box, plus the ink and placement of the text it owns.
@@ -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;IAE9B;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;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"}
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,58 @@ export declare type CalendarContext = {
1053
1071
  */
1054
1072
  export declare type CalendarType = "STANDARD" | "FISCAL";
1055
1073
 
1074
+ /**
1075
+ * Effective CREATE capability for metrics in a workspace.
1076
+ *
1077
+ * @remarks
1078
+ * Behind enableMetricPermissions the granular CREATE_METRIC permission decides, otherwise the
1079
+ * original canManageProject check applies. Drop the branch when the flag is removed.
1080
+ *
1081
+ * @param workspacePermissions - the user's workspace permissions
1082
+ * @param areMetricPermissionsEnabled - the enableMetricPermissions feature flag
1083
+ *
1084
+ * @alpha
1085
+ */
1086
+ export declare function canCreateMetric(workspacePermissions: IWorkspacePermissions, areMetricPermissionsEnabled: boolean): boolean;
1087
+
1088
+ /**
1089
+ * Effective EDIT capability for a single metric.
1090
+ *
1091
+ * @remarks
1092
+ * A workspace admin can always edit, matching how dashboards behave — `getDashboardPermissions`
1093
+ * short-circuits to EDIT when the workspace grants MANAGE, and MANAGE is what canManageProject
1094
+ * is built from. Behind enableMetricPermissions the metric's own EDIT grants it to everyone else.
1095
+ *
1096
+ * Only admins could edit metrics before the flag, so this can only ever grant edit, never take
1097
+ * it away. Drop the flag term when the flag is removed.
1098
+ *
1099
+ * @param metricPermissions - the metric's own permissions, absent when they were not requested
1100
+ * @param workspacePermissions - the user's workspace permissions
1101
+ * @param areMetricPermissionsEnabled - the enableMetricPermissions feature flag
1102
+ *
1103
+ * @alpha
1104
+ */
1105
+ export declare function canEditMetric(metricPermissions: AccessGranularPermission[] | undefined, workspacePermissions: IWorkspacePermissions, areMetricPermissionsEnabled: boolean): boolean;
1106
+
1107
+ /**
1108
+ * Effective SHARE capability for a single metric.
1109
+ *
1110
+ * @remarks
1111
+ * Same shape as {@link canEditMetric}: a workspace admin can always share, otherwise the metric's
1112
+ * own SHARE decides. Deliberately not derived from EDIT — the permissions are read independently
1113
+ * rather than as an EDIT ⊃ SHARE ⊃ VIEW hierarchy.
1114
+ *
1115
+ * Unlike editing, sharing a metric did not exist before enableMetricPermissions, so it stays off
1116
+ * entirely without the flag.
1117
+ *
1118
+ * @param metricPermissions - the metric's own permissions, absent when they were not requested
1119
+ * @param workspacePermissions - the user's workspace permissions
1120
+ * @param areMetricPermissionsEnabled - the enableMetricPermissions feature flag
1121
+ *
1122
+ * @alpha
1123
+ */
1124
+ export declare function canShareMetric(metricPermissions: AccessGranularPermission[] | undefined, workspacePermissions: IWorkspacePermissions, areMetricPermissionsEnabled: boolean): boolean;
1125
+
1056
1126
  /**
1057
1127
  * Type representing catalog item - attribute, measure, fact, dateDataset or computedAttribute
1058
1128
  *
@@ -1385,6 +1455,18 @@ export declare function dashboardAttributeFilterItemLocalIdentifier(filter: Dash
1385
1455
  */
1386
1456
  export declare function dashboardAttributeFilterItemTitle(filter: DashboardAttributeFilterItem): string | undefined;
1387
1457
 
1458
+ /**
1459
+ * Converts any {@link DashboardAttributeFilterItem} to {@link IAttributeFilter} instance.
1460
+ *
1461
+ * @remarks
1462
+ * Handles all attribute filter types: element-based (positive/negative selection),
1463
+ * arbitrary value filters, and match (text) filters.
1464
+ *
1465
+ * @param filter - dashboard attribute filter item to convert
1466
+ * @alpha
1467
+ */
1468
+ export declare function dashboardAttributeFilterItemToAttributeFilter(filter: DashboardAttributeFilterItem): IAttributeFilter;
1469
+
1388
1470
  /**
1389
1471
  * Returns the validateElementsBy of any attribute-based dashboard filter.
1390
1472
  *
@@ -1415,6 +1497,16 @@ export declare type DashboardAttributeFilterSelectionType = "list" | "text" | "l
1415
1497
  */
1416
1498
  export declare const DashboardAttributeFilterSelectionTypeValues: Record<Uppercase<Exclude<DashboardAttributeFilterSelectionType, "listOrText">> | "LIST_OR_TEXT", DashboardAttributeFilterSelectionType>;
1417
1499
 
1500
+ /**
1501
+ * Converts {@link IDashboardAttributeFilter} to {@link IAttributeFilter} instance.
1502
+ *
1503
+ * @param filter - filter context attribute filter to convert
1504
+ * @deprecated Use {@link dashboardAttributeFilterItemToAttributeFilter} instead,
1505
+ * which supports all attribute filter types including text filters.
1506
+ * @public
1507
+ */
1508
+ export declare function dashboardAttributeFilterToAttributeFilter(filter: IDashboardAttributeFilter): IAttributeFilter;
1509
+
1418
1510
  /**
1419
1511
  * Date filter configuration mode
1420
1512
  * @alpha
@@ -1428,6 +1520,24 @@ export declare type DashboardDateFilterConfigMode = "readonly" | "hidden" | "act
1428
1520
  */
1429
1521
  export declare const DashboardDateFilterConfigModeValues: Record<Uppercase<DashboardDateFilterConfigMode>, DashboardDateFilterConfigMode>;
1430
1522
 
1523
+ /**
1524
+ * Converts {@link IDashboardDateFilter} to {@link IDateFilter} instance.
1525
+ *
1526
+ * @param filter - filter context attribute filter to convert
1527
+ * @param dateDataSet - date data set to define {@link IDateFilter}
1528
+ * @public
1529
+ */
1530
+ export declare function dashboardDateFilterToDateFilterByDateDataSet(filter: IDashboardDateFilter, dateDataSet: ObjRef): IDateFilter;
1531
+
1532
+ /**
1533
+ * Converts {@link IDashboardDateFilter} to {@link IDateFilter} instance.
1534
+ *
1535
+ * @param filter - filter context attribute filter to convert
1536
+ * @param widget - widget to use to get dateDataSet for date filters
1537
+ * @public
1538
+ */
1539
+ export declare function dashboardDateFilterToDateFilterByWidget(filter: IDashboardDateFilter, widget?: Partial<IFilterableWidget>): IDateFilter;
1540
+
1431
1541
  /**
1432
1542
  * Returns local identifier of the dashboard filter.
1433
1543
  *
@@ -1475,6 +1585,20 @@ export declare type DashboardFiltersApplyMode = {
1475
1585
  */
1476
1586
  export declare function dashboardMeasureValueFilterLocalIdentifier(filter: IDashboardMeasureValueFilter): string;
1477
1587
 
1588
+ /**
1589
+ * Converts {@link IDashboardMeasureValueFilter} to {@link IMeasureValueFilter} instance.
1590
+ *
1591
+ * @remarks
1592
+ * Dashboard measure value filters always reference a catalog metric via `ObjRef`, which is a valid
1593
+ * `ObjRefInScope`. When dashboard-level dimensionality is configured, it is passed through to the
1594
+ * execution filter; otherwise the backend derives granularity from the widget automatically.
1595
+ * Conditions are passed through unchanged.
1596
+ *
1597
+ * @param filter - dashboard measure value filter to convert
1598
+ * @alpha
1599
+ */
1600
+ export declare function dashboardMeasureValueFilterToMeasureValueFilter(filter: IDashboardMeasureValueFilter): IMeasureValueFilter;
1601
+
1478
1602
  /**
1479
1603
  * Dashboard parameter mode — mirrors filter mode triple.
1480
1604
  *
@@ -2212,6 +2336,52 @@ export declare function filterAttributeElements(filter: IFilter): IAttributeElem
2212
2336
  */
2213
2337
  export declare type FilterContextItem = DashboardAttributeFilterItem | IDashboardDateFilter | IDashboardMeasureValueFilter;
2214
2338
 
2339
+ /**
2340
+ * Gets {@link IDashboardFilter} items for filters specified as {@link FilterContextItem} instances.
2341
+ *
2342
+ * @param filterContextItems - filter context items to get filters for
2343
+ * @param dateDataSet - date data set to define {@link IDateFilter}
2344
+ * @alpha
2345
+ */
2346
+ export declare function filterContextItemsToDashboardFiltersByDateDataSet(filterContextItems: FilterContextItem[], dateDataSet: ObjRef): IDashboardFilter[];
2347
+
2348
+ /**
2349
+ * Gets {@link IDashboardFilter} items for filters specified as {@link FilterContextItem} instances.
2350
+ *
2351
+ * @param filterContextItems - filter context items to get filters for
2352
+ * @param widget - widget to use to get dateDataSet for date filters
2353
+ * @alpha
2354
+ */
2355
+ export declare function filterContextItemsToDashboardFiltersByRichTextWidget(filterContextItems: FilterContextItem[], widget?: Partial<IFilterableWidget>): IDashboardFilter[];
2356
+
2357
+ /**
2358
+ * Gets {@link IDashboardFilter} items for filters specified as {@link FilterContextItem} instances.
2359
+ *
2360
+ * @param filterContextItems - filter context items to get filters for
2361
+ * @param widget - widget to use to get dateDataSet for date filters
2362
+ * @alpha
2363
+ */
2364
+ export declare function filterContextItemsToDashboardFiltersByWidget(filterContextItems: FilterContextItem[], widget?: Partial<IFilterableWidget>): IDashboardFilter[];
2365
+
2366
+ /**
2367
+ * Gets {@link IDashboardFilter} items for filters specified in given filterContext in relation to the
2368
+ * given dateDataSet.
2369
+ *
2370
+ * @param filterContext - filter context to get filters for
2371
+ * @param dateDataSet - widget to use to get dateDataSet for date filters
2372
+ * @alpha
2373
+ */
2374
+ export declare function filterContextToDashboardFiltersByDateDataSet(filterContext: IFilterContextDefinition | IFilterContext | ITempFilterContext | undefined, dateDataSet: ObjRef): IDashboardFilter[];
2375
+
2376
+ /**
2377
+ * Gets {@link IDashboardFilter} items for filters specified in given filterContext in relation to the given widget.
2378
+ *
2379
+ * @param filterContext - filter context to get filters for
2380
+ * @param widget - widget to use to get dateDataSet for date filters
2381
+ * @alpha
2382
+ */
2383
+ export declare function filterContextToDashboardFiltersByWidget(filterContext: IFilterContextDefinition | IFilterContext | ITempFilterContext | undefined, widget: IWidgetDefinition): IDashboardFilter[];
2384
+
2215
2385
  /**
2216
2386
  * Tests whether the provided attribute element does not specify any attribute elements.
2217
2387
  *
@@ -4789,12 +4959,13 @@ export declare interface IConditionalFormatting {
4789
4959
  enabled: boolean;
4790
4960
  rules: readonly IConditionalFormattingRule[];
4791
4961
  /**
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.
4962
+ * Targets whose formatting is explicitly suppressed turned off rather than inherited from any
4963
+ * semantic-layer conditional formatting carried on the execution result (see
4964
+ * {@link ISemanticConditionalFormatting}). A target listed here shows no formatting even if the
4965
+ * semantic layer has rules for it. A target not listed here (or when this is absent) is
4966
+ * Inherited: semantic rules apply as-is.
4796
4967
  */
4797
- customTargets?: readonly ConditionalFormattingTarget[];
4968
+ suppressedTargets?: readonly ConditionalFormattingTarget[];
4798
4969
  }
4799
4970
 
4800
4971
  /**
@@ -5480,6 +5651,14 @@ export declare interface IDashboardExportParameter {
5480
5651
  parameterType?: ParameterType;
5481
5652
  }
5482
5653
 
5654
+ /**
5655
+ * Execution-filter form of a dashboard filter: what a {@link FilterContextItem} becomes once it is
5656
+ * resolved against the object it filters.
5657
+ *
5658
+ * @public
5659
+ */
5660
+ export declare type IDashboardFilter = IAbsoluteDateFilter | IRelativeDateFilter | IPositiveAttributeFilter | INegativeAttributeFilter | IArbitraryAttributeFilter | IMatchAttributeFilter | IMeasureValueFilter;
5661
+
5483
5662
  /**
5484
5663
  * Single dashboard filter group configuration.
5485
5664
  * Title is displayed in the filter bar.
@@ -7658,6 +7837,13 @@ export declare interface IFeatureFlags {
7658
7837
  * Enable conditional formatting for the pivot table
7659
7838
  */
7660
7839
  enableConditionalFormatting?: boolean;
7840
+ /**
7841
+ * Enable inheriting conditional formatting rules authored on a semantic-layer catalog object
7842
+ * (label, metric, fact, or date dataset) — independent of
7843
+ * {@link IFeatureFlags.enableConditionalFormatting}, which only gates an insight's own authored
7844
+ * rules.
7845
+ */
7846
+ enableSemanticConditionalFormatting?: boolean;
7661
7847
  /**
7662
7848
  * Enable new geo pushpin chart
7663
7849
  */
@@ -11326,6 +11512,11 @@ export declare interface IPermanentSettings {
11326
11512
  * @beta
11327
11513
  */
11328
11514
  defaultExportTemplate?: IDefaultExportTemplate;
11515
+ /**
11516
+ * Brand kit offered to report authors: brand colors, typography and shared assets.
11517
+ * @alpha
11518
+ */
11519
+ reportsBrandKit?: IReportsBrandKit;
11329
11520
  /**
11330
11521
  * Indicates current platform edition.
11331
11522
  */
@@ -12068,6 +12259,13 @@ export declare interface IReportBoxStyle {
12068
12259
  * Content reaching into a rounded corner is clipped.
12069
12260
  */
12070
12261
  borderRadius?: number;
12262
+ /**
12263
+ * Inset of the box's own content, in percent of the page width like
12264
+ * {@link IReportBoxStyle.borderRadius}. Insets only inward — siblings and the layout
12265
+ * gaps around the box are untouched. A box that paints a background usually wants one;
12266
+ * a full-bleed box (an image-backed cover) wants none, which is why no default exists.
12267
+ */
12268
+ padding?: number;
12071
12269
  }
12072
12270
 
12073
12271
  /**
@@ -12337,6 +12535,158 @@ export declare interface IReportPageLayoutDefinition {
12337
12535
  content: IReportPageLayoutContent;
12338
12536
  }
12339
12537
 
12538
+ /**
12539
+ * Workspace brand kit: the customer's colors, assets, and typography reports are branded with.
12540
+ *
12541
+ * @remarks
12542
+ * Stored as the free-form content of the `reportsBrandKit` workspace setting. Everything is
12543
+ * optional; each part degrades independently to the product defaults. Assets resolve report
12544
+ * variables, chart colors derive the visualization palette, typography applies to rendered
12545
+ * reports.
12546
+ *
12547
+ * @alpha
12548
+ */
12549
+ export declare interface IReportsBrandKit {
12550
+ /**
12551
+ * Content model version, for stored-content evolution.
12552
+ */
12553
+ version: "1";
12554
+ colors?: IReportsBrandKitColors;
12555
+ typography?: IReportsBrandKitTypography;
12556
+ assets?: IReportsBrandKitAssets;
12557
+ }
12558
+
12559
+ /**
12560
+ * Brand assets, all hosted outside the platform.
12561
+ *
12562
+ * @alpha
12563
+ */
12564
+ export declare interface IReportsBrandKitAssets {
12565
+ /**
12566
+ * Primary logo URL; resolves the `{{logo}}` report variable, taking precedence over
12567
+ * the workspace white-labeling logo.
12568
+ */
12569
+ logo?: string;
12570
+ /**
12571
+ * Logo variant for dark backgrounds; resolves the `{{logoInverse}}` report variable.
12572
+ */
12573
+ logoInverse?: string;
12574
+ /**
12575
+ * Additional brand images, each resolving its `{{image_<id>}}` report variable.
12576
+ */
12577
+ images?: IReportsBrandKitImage[];
12578
+ }
12579
+
12580
+ /**
12581
+ * Brand colors.
12582
+ *
12583
+ * @remarks
12584
+ * Every color but {@link IReportsBrandKitColors.chart} is written into CSS, so it may be stated in
12585
+ * any notation CSS reads. Chart colors become palette entries instead of declarations, so they are
12586
+ * held to {@link parseReportsBrandChartColor} and a value it cannot read is dropped.
12587
+ *
12588
+ * @alpha
12589
+ */
12590
+ export declare interface IReportsBrandKitColors {
12591
+ /**
12592
+ * Primary brand color, offered to authors as a swatch.
12593
+ *
12594
+ * @remarks
12595
+ * Also seeds the derived chart palette when {@link IReportsBrandKitColors.chart} is not
12596
+ * provided — but only when stated in a notation {@link parseReportsBrandChartColor} reads,
12597
+ * since seeding means computing tints of it rather than declaring it. Stated in any other
12598
+ * notation it remains a swatch, and charts keep the workspace palette.
12599
+ */
12600
+ brand?: string;
12601
+ /**
12602
+ * Ordered chart series colors the visualization palette is derived from. Each must be a color
12603
+ * {@link parseReportsBrandChartColor} reads; the sanitizer drops the rest.
12604
+ */
12605
+ chart?: string[];
12606
+ /**
12607
+ * Ink of headings and titles.
12608
+ */
12609
+ ink?: string;
12610
+ /**
12611
+ * Ink of body and secondary text.
12612
+ */
12613
+ inkMuted?: string;
12614
+ /**
12615
+ * Default page background.
12616
+ */
12617
+ paper?: string;
12618
+ /**
12619
+ * Alternate background for covers and highlighted sections.
12620
+ */
12621
+ paperAlt?: string;
12622
+ }
12623
+
12624
+ /**
12625
+ * One hosted font file, loaded as a font face for rendered reports.
12626
+ *
12627
+ * @alpha
12628
+ */
12629
+ export declare interface IReportsBrandKitFontFace {
12630
+ /**
12631
+ * Font family name the face registers; reference it from
12632
+ * {@link IReportsBrandKitTypography.fontFamily}.
12633
+ */
12634
+ family: string;
12635
+ /**
12636
+ * Absolute URL of the externally hosted font file (TTF/OTF/WOFF/WOFF2). The organization
12637
+ * CSP must allow the host as a font source, and for exports the host must also serve
12638
+ * CORS headers.
12639
+ */
12640
+ url: string;
12641
+ /**
12642
+ * CSS font-weight the face carries (1-1000). Defaults to 400.
12643
+ */
12644
+ weight?: number;
12645
+ /**
12646
+ * Defaults to "normal".
12647
+ */
12648
+ style?: "normal" | "italic";
12649
+ }
12650
+
12651
+ /**
12652
+ * Named brand image offered to report authors.
12653
+ *
12654
+ * @alpha
12655
+ */
12656
+ export declare interface IReportsBrandKitImage {
12657
+ /**
12658
+ * Identifier the image is referenced by from report content, as the
12659
+ * `{{image_<id>}}` variable. Must match /^[a-zA-Z0-9_]+$/.
12660
+ */
12661
+ id: string;
12662
+ /**
12663
+ * Absolute URL of the externally hosted image. The organization CSP must allow the
12664
+ * host, and for exports the host must also serve CORS headers.
12665
+ */
12666
+ url: string;
12667
+ /**
12668
+ * Human readable description shown when the image is offered in the editor.
12669
+ */
12670
+ description?: string;
12671
+ }
12672
+
12673
+ /**
12674
+ * Brand typography.
12675
+ *
12676
+ * @alpha
12677
+ */
12678
+ export declare interface IReportsBrandKitTypography {
12679
+ /**
12680
+ * CSS font-family stack applied to rendered reports.
12681
+ */
12682
+ fontFamily?: string;
12683
+ /**
12684
+ * Hosted font files backing the families named in
12685
+ * {@link IReportsBrandKitTypography.fontFamily}.
12686
+ */
12687
+ fonts?: IReportsBrandKitFontFace[];
12688
+ }
12689
+
12340
12690
  /**
12341
12691
  * Structural base of every report slot.
12342
12692
  *
@@ -13379,6 +13729,13 @@ export declare function isDashboardDateFilterWithDimension(obj: unknown): obj is
13379
13729
  */
13380
13730
  export declare function isDashboardDefinition(obj: unknown): obj is IDashboardDefinition;
13381
13731
 
13732
+ /**
13733
+ * Type-guard testing whether the provided object is an instance of {@link IDashboardFilter}.
13734
+ *
13735
+ * @public
13736
+ */
13737
+ export declare function isDashboardFilter(obj: unknown): obj is IDashboardFilter;
13738
+
13382
13739
  /**
13383
13740
  * Type-guard testing whether the provided object is an instance of {@link IDashboardLayout}.
13384
13741
  * @alpha
@@ -18557,6 +18914,20 @@ export declare type ParameterValue = IParameterDefinition["defaultValue"];
18557
18914
  */
18558
18915
  export declare function parameterValueMatchesType(definition: IParameterDefinition, value: ParameterValue): boolean;
18559
18916
 
18917
+ /**
18918
+ * Reads one of {@link IReportsBrandKitColors.chart} as rgb channels, or undefined where the value is
18919
+ * not one of the notations those colors are stated in.
18920
+ *
18921
+ * @remarks
18922
+ * Chart colors become palette entries rather than CSS declarations, so unlike the rest of the kit
18923
+ * they are held to what this reads: hex (3, 4, 6 or 8 digits) and `rgb()`/`rgba()`. The sanitizer
18924
+ * drops what this cannot read, so a stored kit never carries a chart color the palette would
18925
+ * silently ignore.
18926
+ *
18927
+ * @alpha
18928
+ */
18929
+ export declare function parseReportsBrandChartColor(color: string): IRgbColorValue | undefined;
18930
+
18560
18931
  /**
18561
18932
  * Provenance of a granted permission — granted directly to the grantee,
18562
18933
  * or inherited from a group or rule.
@@ -18802,7 +19173,7 @@ export declare type ReportBackground = IReportColorBackground | IReportImageBack
18802
19173
  *
18803
19174
  * @alpha
18804
19175
  */
18805
- export declare type ReportBuiltInVariable = "reportTitle" | "periodStart" | "periodEnd" | "workspaceName" | "generatedAt" | "pageNumber" | "totalPages" | "logo";
19176
+ export declare type ReportBuiltInVariable = "reportTitle" | "periodStart" | "periodEnd" | "workspaceName" | "generatedAt" | "pageNumber" | "totalPages" | "logo" | "logoInverse";
18806
19177
 
18807
19178
  /**
18808
19179
  * All built-in report variable names.
@@ -18895,6 +19266,21 @@ export declare const ReportPageFormats: ReportPageFormat[];
18895
19266
  */
18896
19267
  export declare type ReportPageLayoutNode = IReportLayoutSection | IReportLayoutSlotRef;
18897
19268
 
19269
+ /**
19270
+ * Name of the report variable resolving the brand kit image with the given id.
19271
+ *
19272
+ * @alpha
19273
+ */
19274
+ export declare function reportsBrandKitImageVariable(imageId: string): string;
19275
+
19276
+ /**
19277
+ * Prefix of the report variables brand kit images resolve; custom report variables must not
19278
+ * use it.
19279
+ *
19280
+ * @alpha
19281
+ */
19282
+ export declare const ReportsBrandKitImageVariablePrefix = "image_";
19283
+
18898
19284
  /**
18899
19285
  * All slot types of report content version 1.
18900
19286
  *
@@ -19019,6 +19405,20 @@ export declare function sanitizeBucketTotals(bucket: IBucket, sortItems: ISortIt
19019
19405
  */
19020
19406
  export declare function sanitizeParameterValue(definition: IParameterDefinition, value: ParameterValue): ParameterValue;
19021
19407
 
19408
+ /**
19409
+ * Reads a stored brand kit from free-form JSON, keeping the parts that are valid and dropping
19410
+ * everything else.
19411
+ *
19412
+ * @remarks
19413
+ * The setting content is not schema-validated by the backend, so every consumer must go
19414
+ * through this. Returns undefined only when the value is not a version "1" brand kit at all;
19415
+ * a kit whose sections are absent or entirely invalid comes back empty, which the type permits
19416
+ * and a workspace that has not filled its kit in yet carries.
19417
+ *
19418
+ * @alpha
19419
+ */
19420
+ export declare function sanitizeReportsBrandKit(value: unknown): IReportsBrandKit | undefined;
19421
+
19022
19422
  /**
19023
19423
  * Supported email attachments
19024
19424
  * @alpha
@@ -19323,7 +19723,7 @@ export declare function userFullName(user: IUser): string | undefined;
19323
19723
  /**
19324
19724
  * Validates the structural invariants of a page body beyond what its types guarantee for content
19325
19725
  * arriving from the wire: the page format is known, slot localIdentifiers are unique, layout
19326
- * weights are positive, corner radii are finite and not negative, every slot is placed (by the
19726
+ * weights are positive, corner radii and paddings are finite and not negative, every slot is placed (by the
19327
19727
  * layout, or as the image background of a box that renders), every layout slotId resolves
19328
19728
  * (unresolved ones are warnings — they render as empty areas), and background references
19329
19729
  * resolve to image slots.