survey-analytics 2.3.2 → 2.3.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.
Files changed (34) hide show
  1. package/README.md +1 -0
  2. package/fesm/shared.mjs +1 -1
  3. package/fesm/shared2.mjs +25 -17
  4. package/fesm/shared2.mjs.map +1 -1
  5. package/fesm/survey.analytics.core.mjs +1 -1
  6. package/fesm/survey.analytics.mjs +1 -1
  7. package/fesm/survey.analytics.tabulator.mjs +9 -9
  8. package/fesm/survey.analytics.tabulator.mjs.map +1 -1
  9. package/package.json +3 -2
  10. package/survey-analytics.types/number.d.ts +3 -3
  11. package/survey-analytics.types/pivot.d.ts +3 -1
  12. package/survey-analytics.types/visualizationPanel.d.ts +2 -3
  13. package/survey-analytics.types/visualizerBase.d.ts +2 -0
  14. package/survey.analytics.core.css +2 -3
  15. package/survey.analytics.core.css.map +1 -1
  16. package/survey.analytics.core.js +25 -15
  17. package/survey.analytics.core.js.map +1 -1
  18. package/survey.analytics.core.min.css +2 -2
  19. package/survey.analytics.core.min.js +1 -1
  20. package/survey.analytics.core.min.js.LICENSE.txt +1 -1
  21. package/survey.analytics.css +2 -3
  22. package/survey.analytics.css.map +1 -1
  23. package/survey.analytics.js +25 -15
  24. package/survey.analytics.js.map +1 -1
  25. package/survey.analytics.min.css +2 -2
  26. package/survey.analytics.min.js +1 -1
  27. package/survey.analytics.min.js.LICENSE.txt +1 -1
  28. package/survey.analytics.tabulator.css +6 -3
  29. package/survey.analytics.tabulator.css.map +1 -1
  30. package/survey.analytics.tabulator.js +9 -9
  31. package/survey.analytics.tabulator.js.map +1 -1
  32. package/survey.analytics.tabulator.min.css +2 -2
  33. package/survey.analytics.tabulator.min.js +1 -1
  34. package/survey.analytics.tabulator.min.js.LICENSE.txt +1 -1
package/package.json CHANGED
@@ -18,7 +18,7 @@
18
18
  "pre-push-check": "npm run lint && npm run test",
19
19
  "pwinst": "playwright install chromium"
20
20
  },
21
- "version": "2.3.2",
21
+ "version": "2.3.4",
22
22
  "name": "survey-analytics",
23
23
  "description": "SurveyJS analytics Library.",
24
24
  "main": "survey.analytics.js",
@@ -59,6 +59,7 @@
59
59
  "concurrently": "^5.3.0",
60
60
  "css-loader": "^7.1.2",
61
61
  "eslint": "^7.32.0",
62
+ "eslint-plugin-i18n": "^2.4.0",
62
63
  "html-loader": "^5.0.0",
63
64
  "http-server": "^14.1.1",
64
65
  "husky": "^8.0.3",
@@ -90,7 +91,7 @@
90
91
  "peerDependencies": {
91
92
  "@types/plotly.js-dist-min": "^2.3.0",
92
93
  "@types/tabulator-tables": "^6.2.3",
93
- "survey-core": "2.3.2"
94
+ "survey-core": "2.3.4"
94
95
  },
95
96
  "husky": {
96
97
  "hooks": {
@@ -18,9 +18,9 @@ export declare class NumberModel extends VisualizerBase {
18
18
  protected onChartTypeChanged(): void;
19
19
  protected setChartType(chartType: string): void;
20
20
  destroy(): void;
21
- generateText(maxValue: number, minValue: number, stepsCount: number): any;
22
- generateValues(maxValue: number, stepsCount: number): any[];
23
- generateColors(maxValue: number, minValue: number, stepsCount: number): any[];
21
+ generateText(maxValue: number, minValue: number, stepsCount: number): string[];
22
+ generateValues(maxValue: number, stepsCount: number): number[];
23
+ generateColors(maxValue: number, minValue: number, stepsCount: number): string[];
24
24
  convertFromExternalData(externalCalculatedData: any): any[];
25
25
  protected getCalculatedValuesCore(): Array<any>;
26
26
  }
@@ -2,6 +2,7 @@ import { ItemValue, Question } from "survey-core";
2
2
  import { SelectBase } from "./selectBase";
3
3
  export declare class PivotModel extends SelectBase {
4
4
  private questions;
5
+ private isRoot;
5
6
  protected valueType: "enum" | "date" | "number";
6
7
  private _cachedValues;
7
8
  private _continuousData;
@@ -16,7 +17,7 @@ export declare class PivotModel extends SelectBase {
16
17
  static UseIntervalsFrom: number;
17
18
  constructor(questions: Array<Question>, data: Array<{
18
19
  [index: string]: any;
19
- }>, options?: Object, name?: string);
20
+ }>, options?: Object, name?: string, isRoot?: boolean);
20
21
  private createYSelecterGenerator;
21
22
  setAxisQuestions(...axisQuestionNames: string[]): void;
22
23
  onAxisYSelectorChanged(index: number, value: any): void;
@@ -64,4 +65,5 @@ export declare class PivotModel extends SelectBase {
64
65
  protected getCalculatedValuesCore(): Array<any>;
65
66
  getValueType(): "enum" | "date" | "number";
66
67
  protected isSupportSoftUpdateContent(): boolean;
68
+ protected renderToolbar(container: HTMLElement): void;
67
69
  }
@@ -254,13 +254,12 @@ export interface IVisualizationPanelOptions {
254
254
  export declare class VisualizationPanel extends VisualizerBase {
255
255
  protected questions: Array<any>;
256
256
  private _elements;
257
- static haveCommercialLicense: boolean;
257
+ private isRoot;
258
258
  visualizers: Array<VisualizerBase>;
259
- private haveCommercialLicense;
260
259
  private renderedQuestionsCount;
261
260
  constructor(questions: Array<any>, data: Array<{
262
261
  [index: string]: any;
263
- }>, options?: IVisualizationPanelOptions, _elements?: Array<IVisualizerPanelRenderedElement>);
262
+ }>, options?: IVisualizationPanelOptions, _elements?: Array<IVisualizerPanelRenderedElement>, isRoot?: boolean);
264
263
  reorderVisibleElements(order: string[]): void;
265
264
  private onAfterRenderQuestionCallback;
266
265
  private onStateChangedCallback;
@@ -57,6 +57,7 @@ export declare class VisualizerBase implements IDataInfo {
57
57
  [index: string]: any;
58
58
  };
59
59
  private _type?;
60
+ static haveCommercialLicense: boolean;
60
61
  static suppressVisualizerStubRendering: boolean;
61
62
  static chartAdapterType: any;
62
63
  private _showToolbar;
@@ -64,6 +65,7 @@ export declare class VisualizerBase implements IDataInfo {
64
65
  private _dataProvider;
65
66
  private _getDataCore;
66
67
  labelTruncateLength: number;
68
+ protected haveCommercialLicense: boolean;
67
69
  protected renderResult: HTMLElement;
68
70
  protected toolbarContainer: HTMLElement;
69
71
  protected headerContainer: HTMLElement;
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - SurveyJS Dashboard library v2.3.2
2
+ * surveyjs - SurveyJS Dashboard library v2.3.4
3
3
  * Copyright (c) 2015-2025 Devsoft Baltic OÜ - http://surveyjs.io/
4
4
  * License: MIT (http://www.opensource.org/licenses/mit-license.php)
5
5
  */
@@ -63,8 +63,7 @@
63
63
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./src/visualizationPanel.scss ***!
64
64
  \******************************************************************************************************************************************************************************/
65
65
  .sa-commercial {
66
- font-size: 12px;
67
- padding: 0.5em 0 0.5em 2em;
66
+ box-sizing: border-box;
68
67
  padding: var(--sjs2-spacing-static-x150, 12px) var(--sjs2-spacing-static-x600, 48px);
69
68
  justify-content: center;
70
69
  width: 100%;
@@ -1 +1 @@
1
- {"version":3,"file":"survey.analytics.core.css","mappings":";;;;;;;;AAKA;EACE,qECsBsB;EDrBtB,sCCsBe;AD1BjB;;AAOA;EACE,uECgBY;EDfZ;EACA;EACA;AAJF;;AAOA;EACE;AAJF;;AAOA;EACE;EACA,qECKsB;EDJtB,sCCKe;EDJf;EACA;EACA;EACA;AAJF;;AAOA;EACE;AAJF;;AAOA;EACE;EACA;EACA;AAJF;;AAOA;EACE;EACA;EACA;EACA;EACA;EACA;AAJF;;AAOA;EACE;IACE;EAJF;EAMA;IACE;EAJF;AACF;;;;AEpDA;EACE;EACA;EACA;EACA;EACA;EACA;ACCF;ADAE;EAPF;IAQI;ECGF;AACF;;ADDA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;ACIF;ADHE;EATF;IAUI;IACA;ECMF;AACF;ADJE;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;ACMJ;ADJI;EAfF;IAgBI;IACA;ECOJ;AACF;;AA/CA;EACE;AAkDF;;AA/CA;EACE;AAkDF;;AA/CA;EACE;EACA;AAkDF;AAjDE;EAHF;IAII;EAoDF;AACF;;AAjDA;EACE;EACA;EACA;EACA;EACA;EACA;AAoDF;;AAjDA;EACE;AAoDF;AAlDE;EAHF;IAII;EAqDF;AACF;;AAlDA;EACE,kDFrBiB;EEsBjB;AAqDF;;AAlDA;EACE;EACA,qEFfsB;EEgBtB;EACA;EACA,iCFlCW;EEmCX;EACA;AAqDF;;AAlDA;EACE;AAqDF;AApDE;EACE;EACA;EACA;EACA;EACA;EACA;AAsDJ;;AAjDE;EACE;AAoDJ;;AAhDA;EACE,uEF3CY;EE4CZ,sCF1Ce;EE2Cf,iCF5DW;EE6DX;EACA;EACA;EACA;EACA;EACA;AAmDF;;AAjDA;EACE;EACA;AAoDF;;AAjDA;EACE,uEF3DY;EE4DZ,sCF1De;EE2Df;EACA;EACA;EACA;EACA;EACA;AAoDF;AAlDE;EACE,0CF5EW;EE6EX;AAoDJ;AAlDE;EACE;AAoDJ;AAlDE;EACE;AAoDJ;;AAhDA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;AAmDF;AAlDE;EACE,gDF5FQ;AEgJZ;AAjDI;EACE,qCF/FY;AEkJlB;AAhDE;EACE;EACA;AAkDJ;;AA9CA;EACE;AAiDF;;AA7CA;EACE;EACA;EACA;EACA;AAgDF;AA9CE;EACE;EACA;EACA;EACA;AAgDJ;AA7CE;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA,2CFhJiB;EEiJjB,0CFxIW;EEyIX,YFvIkB;EEwIlB;EACA;AA+CJ;AA7CI;EACE;AA+CN;AA5CI;EACE;EACA;AA8CN;AA3CI;EACE,qCFtKW;AEmNjB;AAzCE;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AA2CJ;;AAtCA;EACE;EACA;AAyCF;;AAtCA;EACE;EACA;EACA;AAyCF;;AAtCA;AACA;EACE;EACA;EACA;EACA,4IACE;EAGF;AAsCF;AApCA;AACA;EACE;EACA;EACA;EACA,0IACE;EAGF;AAmCF;AAhCA;AACA;EACE;EACA;EACA;EACA,kJACE;EAGF;AA+BF;AA7BA;AACA;EACE;EACA;EACA;EACA,gJACE;EAGF;AA4BF;;;;ACjRA;EACE;EACA;EACA;EACA;AADF;;AAIA;EACE;EACA,uEHgBY;EGfZ,sCHiBe;EGhBf,iCHDW;EGEX;EACA;EACA;AADF;;AAIA;EACE;EACA;EACA;EACA,0CHHa;EGIb,kDHRiB;EGSjB,gBHHoB;AGEtB;;AAIA;EACE;AADF;;AAIA;EACE;AADF;;;;AC9BA;EACE;EACA;EACA;EACA;AADF;;AAIA;EACE;EACA,uEJgBY;EIfZ,sCJiBe;EIhBf,iCJDW;EIGX,kDJCiB;AIHnB;;AAKA;EACE;EACA;EACA;EACA,0CJFa;EIGb,kDJPiB;EIQjB,gBJFoB;AIAtB;;AAKA;EACE;EACA;AAFF;;AAKA;EACE;AAFF;;AAKA;EACE;EACA;EACA;AAFF;;AAIA;EACE;EACA,4CJ3CW;AI0Cb;;;;AC1CA;EACE;EACA;EACA;EACA;AACF;;AAEA;EACE;EACA;EACA;AACF;;AAEA;EACE;EACA;EACA;AACF;;AAEA;EACE;EACA;EACA;EACA;AACF;;AAEA;EACE;AACF;;AAEA;EACE;EACA;AACF","sources":["webpack://SurveyAnalytics/./src/visualizerBase.scss","webpack://SurveyAnalytics/./src/_globals.scss","webpack://SurveyAnalyticsTabulator/./src/utils/utils.scss","webpack://SurveyAnalytics/./src/visualizationPanel.scss","webpack://SurveyAnalytics/./src/text.scss","webpack://SurveyAnalytics/./src/statistics-table.scss","webpack://SurveyAnalytics/./src/nps.scss"],"sourcesContent":["@use \"globals\" as *;\n\n.sa-visualizer__toolbar {\n}\n\n.sa-visualizer__header {\n font-family: $font-family-secondary;\n font-size: $root-font-size;\n}\n\n.sa-visualizer__content {\n font-family: $font-family;\n display: inline-block;\n overflow: hidden;\n width: 100%;\n}\n\n.sa-visualizer__footer {\n margin-top: 10px;\n}\n\n.sa-visualizer__footer-title {\n display: inline-block;\n font-family: $font-family-secondary;\n font-size: $root-font-size;\n color: #404040;\n line-height: 34px;\n vertical-align: middle;\n margin: 0;\n}\n\n.sa-visualizer__footer-content {\n margin-top: 10px;\n}\n\n.sa-data-loading-indicator-panel {\n width: 100%;\n min-height: 200px;\n position: relative;\n}\n\n.sa-data-loading-indicator {\n position: absolute;\n width: 64px;\n height: 64px;\n left: calc((100% - 64px) / 2);\n top: calc((100% - 64px) / 2);\n animation: sa-data-loading-indicator-spinner 1s infinite linear;\n}\n\n@keyframes sa-data-loading-indicator-spinner {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(359deg);\n }\n}\n","$main-color: var(--main-color, #1ab394);\n$auxiliary-color: var(--auxiliary-color, #ff9814);\n$auxiliary-color-1: var(--auxiliary-color-1, #666666);\n$auxiliary-color-2: var(--auxiliary-color-2, #1948b3);\n$danger-color: var(--danger-color, #d9534f);\n$disabled-color: var(--disabled-color, #b0b0b0);\n\n$blue-color: var(--blue-color, #394cff);\n$purple-color: var(--purple-color, #aa42d0);\n$green-color: var(--green-color, #41c02c);\n\n$text-color-inverse: var(--text-color-inverse, #fff);\n$text-color: var(--text-color, #404040);\n\n$content-max-width: 1170px;\n\n$background-color: var(--background-color, #f7f7f7);\n$background-color-dark: var(--background-color-dark, #eeeeee);\n$background-disabled-color: var(--background-disabled-color, #b7b7b7);\n\n$border-color: var(--border-color, #e7e7e7);\n\n$form-element-height: 34px;\n\n$svg-color: var(--svg-color, rgba(#9f9f9f, 0.4));\n$svg-hover-color: var(--svg-hover-color, #9f9f9f);\n\n$font-family: var(--font-family, \"Segoe UI\", SegoeUI, Arial, sans-serif);\n$font-family-secondary: var(--font-family-secondary, Raleway, Arial, sans-serif);\n$root-font-size: var(--root-font-size, 14px);",".sa-commercial {\n font-size: 12px;\n padding: 0.5em 0 0.5em 2em;\n padding: var(--sjs2-spacing-static-x150, 12px) var(--sjs2-spacing-static-x600, 48px);\n justify-content: center;\n width: 100%;\n background: var(--sjs2-color-bg-brand-primary, #19B394);\n @media screen and (max-width: 600px) {\n padding: var(--sjs2-spacing-static-x100, 8px) var(--sjs2-spacing-static-x300, 24px);\n }\n}\n.sa-commercial__text {\n text-decoration: none;\n color: var(--sjs2-color-fg-static-main-primary, #FFF);\n text-align: center;\n font-family: var(--sjs2-font-family-semantic-default, \"Segoe UI\", SegoeUI, Arial, sans-serif);\n font-size: var(--sjs2-font-size-semantic-default, 16px);\n font-style: normal;\n font-weight: 600;\n line-height: var(--sjs2-line-height-semantic-default, 24px);\n @media screen and (max-width: 600px) {\n font-size: var(--sjs2-font-size-semantic-small, 12px);\n line-height: var(--sjs2-line-height-semantic-small, 16px);\n }\n\n a {\n color: var(--sjs2-color-fg-static-main-primary, #FFF);\n text-align: center;\n font-family: var(--sjs2-font-family-semantic-default, \"Segoe UI\", SegoeUI, Arial, sans-serif);\n font-size: var(--sjs2-font-size-semantic-default, 16px);\n font-style: normal;\n font-weight: 600;\n line-height: var(--sjs2-line-height-semantic-default, 24px);\n text-decoration-line: underline;\n text-decoration-style: solid;\n text-decoration-skip-ink: auto;\n text-decoration-thickness: 5%;\n text-underline-offset: 10%;\n text-underline-position: from-font;\n\n @media screen and (max-width: 600px) {\n font-size: var(--sjs2-font-size-semantic-small, 12px);\n line-height: var(--sjs2-line-height-semantic-small, 16px);\n }\n }\n}","@use \"globals\" as *;\n@use \"./utils/utils.scss\" as *;\n\n.sa-panel__header {\n margin: 0 1em;\n}\n\n.sa-grid {\n position: relative;\n}\n\n.sa-grid__grid-sizer {\n width: 100%;\n box-sizing: border-box;\n @media screen and (min-width: 1400px) {\n width: 50%;\n }\n}\n\n.sa-question {\n display: inline-block;\n width: 100%;\n vertical-align: top;\n box-sizing: border-box;\n overflow: hidden;\n padding: 1em;\n}\n\n.sa-question-layouted {\n position: absolute;\n\n @media screen and (min-width: 1400px) {\n width: calc(50% - 1px);\n }\n}\n\n.sa-question__content {\n background-color: $background-color;\n padding: 20px;\n}\n\n.sa-question__title {\n margin-left: 30px;\n font-family: $font-family-secondary;\n font-size: 18px;\n font-weight: bold;\n color: $text-color;\n margin: 0;\n margin-bottom: 1em;\n}\n\n.sa-question__title--draggable {\n cursor: move;\n &:after {\n content: \" \";\n display: block;\n float: right;\n width: 15px;\n height: 15px;\n background-image: url(\"data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg%3E%3Cpolygon style='fill: %231ab394' points='13,5 12,6 13,7 9,7 9,3 10,4 11,3 8,0 5,3 6,4 7,3 7,7 3,7 4,6 3,5 0,8 3,11 4,10 3,9 7,9 7,13 6,12 5,13 8,16 11,13 10,12 9,13 9,9 13,9 12,10 13,11 16,8 '/%3E%3C/g%3E%3C/svg%3E \");\n }\n}\n\n[dir=\"rtl\"] .sa-question__title--draggable, [style*=\"direction: rtl\"] .sa-question__title--draggable, [style*=\"direction:rtl\"] .sa-question__title--draggable {\n &:after {\n float: left;\n }\n}\n\n.sa-toolbar {\n font-family: $font-family;\n font-size: $root-font-size;\n color: $text-color;\n line-height: 34px;\n margin-bottom: 25px;\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n gap: 10px;\n}\n.sa-toolbar.sa-toolbar > * {\n display: inline-flex;\n line-height: 1em;\n}\n\n.sa-toolbar__button {\n font-family: $font-family;\n font-size: $root-font-size;\n padding: 8px;\n vertical-align: middle;\n cursor: pointer;\n border: 1px solid transparent;\n white-space: nowrap;\n margin: 0 10px;\n\n &:hover {\n border-color: $border-color;\n background-blend-mode: darken;\n }\n &:first-child {\n margin-left: 0;\n }\n &:last-child {\n margin-right: 0;\n }\n}\n\n.sa-toolbar__svg-button {\n width: 15px;\n height: 15px;\n padding: 0;\n border: none;\n outline: none;\n background-color: inherit;\n cursor: pointer;\n use {\n fill: $svg-color;\n }\n &:hover {\n use {\n fill: $svg-hover-color;\n }\n }\n svg {\n width: 15px;\n height: 15px;\n }\n}\n\n.sa-toolbar__button--right {\n float: right;\n}\n\n// custom select\n.sa-question__select-wrapper {\n position: relative;\n display: inline-block;\n min-width: 100px;\n max-width: 300px;\n\n .sa-question__select-title {\n white-space: nowrap;\n display: inline-block;\n line-height: 34px;\n padding-right: 8px;\n }\n\n .sa-question__select {\n width: 100%;\n display: block;\n position: relative;\n appearance: none;\n -webkit-appearance: none;\n -moz-appearance: none;\n border-radius: 2px;\n background: $text-color-inverse;\n border-color: $border-color;\n height: $form-element-height;\n padding: 5px 23px 5px 15px;\n line-height: initial;\n\n &::-ms-expand {\n display: none;\n }\n\n &:focus {\n outline: 0;\n box-shadow: none;\n }\n\n &:disabled {\n color: $disabled-color;\n }\n }\n\n &:before {\n margin-top: -4px;\n top: 50%;\n right: 10px;\n z-index: 1;\n content: \"\";\n position: absolute;\n width: 4px;\n height: 4px;\n border-right: 2px solid $text-color;\n border-bottom: 2px solid $text-color;\n transform: rotate(45deg);\n box-sizing: content-box;\n pointer-events: none;\n }\n}\n// EO custom select\n\n.sa-question__filter {\n display: inline-block;\n padding: 0 1em;\n}\n\n.sa-question__filter-text {\n vertical-align: middle;\n margin-top: 1px;\n line-height: 32px;\n}\n\n/* latin-ext */\n@font-face {\n font-family: \"Raleway\";\n font-style: normal;\n font-weight: 400;\n src:\n local(\"Raleway\"),\n local(\"Raleway-Regular\"),\n url(https://fonts.gstatic.com/s/raleway/v14/1Ptug8zYS_SKggPNyCMIT5lu.woff2) format(\"woff2\");\n unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: \"Raleway\";\n font-style: normal;\n font-weight: 400;\n src:\n local(\"Raleway\"),\n local(\"Raleway-Regular\"),\n url(https://fonts.gstatic.com/s/raleway/v14/1Ptug8zYS_SKggPNyC0ITw.woff2) format(\"woff2\");\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC,\n U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n/* latin-ext */\n@font-face {\n font-family: \"Raleway\";\n font-style: normal;\n font-weight: 700;\n src:\n local(\"Raleway Bold\"),\n local(\"Raleway-Bold\"),\n url(https://fonts.gstatic.com/s/raleway/v14/1Ptrg8zYS_SKggPNwJYtWqhPAMif.woff2) format(\"woff2\");\n unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: \"Raleway\";\n font-style: normal;\n font-weight: 700;\n src:\n local(\"Raleway Bold\"),\n local(\"Raleway-Bold\"),\n url(https://fonts.gstatic.com/s/raleway/v14/1Ptrg8zYS_SKggPNwJYtWqZPAA.woff2) format(\"woff2\");\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC,\n U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n","@use \"globals\" as *;\n\n.sa-text-table__container {\n width: 100%;\n min-height: 200px;\n max-height: 500px;\n overflow: auto;\n}\n\n.sa-text-table {\n width: 100%;\n font-family: $font-family;\n font-size: $root-font-size;\n color: $text-color;\n border-width: 1px;\n border-collapse: collapse;\n background-color: $background-color;\n}\n\n.sa-text-table__cell {\n border-width: 1px;\n padding: 8px;\n border-style: solid;\n border-color: $border-color;\n background-color: $background-color;\n min-height: $form-element-height;\n}\n\n.sa-text-table__cell--number {\n text-align: end;\n}\n\nth.sa-text-table__cell {\n font-weight: 600;\n}\n","@use \"globals\" as *;\n\n.sa-statistics-table__container {\n width: 100%;\n min-height: 200px;\n max-height: 500px;\n overflow: auto;\n}\n\n.sa-statistics-table {\n width: 100%;\n font-family: $font-family;\n font-size: $root-font-size;\n color: $text-color;\n // border-collapse: collapse;\n background-color: $background-color;\n}\n\n.sa-statistics-table__cell {\n border-width: 1px;\n padding: 8px;\n border-style: solid;\n border-color: $border-color;\n background-color: $background-color;\n min-height: $form-element-height;\n}\n\n.sa-statistics-table__cell-value {\n text-align: right;\n min-width: 30px;\n}\n\n.sa-statistics-table__cell-header {\n font-weight: bold;\n}\n\n.sa-choices-sparkline {\n min-width: 100px;\n height: 24px;\n border: 1px solid $main-color;\n}\n.sa-choices-sparkline-value {\n height: 100%;\n background-color: $main-color;\n}\n",".sa-visualizer-nps {\n display: flex;\n flex-direction: row;\n gap: 16px;\n overflow-x: auto;\n}\n\n.sa-visualizer-nps__score-part {\n display: flex;\n flex-direction: column;\n padding: 0 16px;\n}\n\n.sa-visualizer-nps__score-part-title {\n font-size: 32px;\n text-align: center;\n color: #909090;\n}\n\n.sa-visualizer-nps__score-part-values {\n display: flex;\n flex-direction: row;\n gap: 16px;\n align-items: baseline;\n}\n\n.sa-visualizer-nps__score-part-value {\n font-size: 48px;\n}\n\n.sa-visualizer-nps__score-part-percent {\n font-size: 24px;\n color: #606060;\n}"],"names":[],"sourceRoot":""}
1
+ {"version":3,"file":"survey.analytics.core.css","mappings":";;;;;;;;AAKA;EACE,qECsBsB;EDrBtB,sCCsBe;AD1BjB;;AAOA;EACE,uECgBY;EDfZ;EACA;EACA;AAJF;;AAOA;EACE;AAJF;;AAOA;EACE;EACA,qECKsB;EDJtB,sCCKe;EDJf;EACA;EACA;EACA;AAJF;;AAOA;EACE;AAJF;;AAOA;EACE;EACA;EACA;AAJF;;AAOA;EACE;EACA;EACA;EACA;EACA;EACA;AAJF;;AAOA;EACE;IACE;EAJF;EAMA;IACE;EAJF;AACF;;;;AEpDA;EACE;EACA;EACA;EACA;EACA;ACCF;ADAE;EANF;IAOI;ECGF;AACF;;ADDA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;ACIF;ADHE;EATF;IAUI;IACA;ECMF;AACF;ADJE;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;ACMJ;ADJI;EAfF;IAgBI;IACA;ECOJ;AACF;;AA9CA;EACE;AAiDF;;AA9CA;EACE;AAiDF;;AA9CA;EACE;EACA;AAiDF;AAhDE;EAHF;IAII;EAmDF;AACF;;AAhDA;EACE;EACA;EACA;EACA;EACA;EACA;AAmDF;;AAhDA;EACE;AAmDF;AAjDE;EAHF;IAII;EAoDF;AACF;;AAjDA;EACE,kDFrBiB;EEsBjB;AAoDF;;AAjDA;EACE;EACA,qEFfsB;EEgBtB;EACA;EACA,iCFlCW;EEmCX;EACA;AAoDF;;AAjDA;EACE;AAoDF;AAnDE;EACE;EACA;EACA;EACA;EACA;EACA;AAqDJ;;AAhDE;EACE;AAmDJ;;AA/CA;EACE,uEF3CY;EE4CZ,sCF1Ce;EE2Cf,iCF5DW;EE6DX;EACA;EACA;EACA;EACA;EACA;AAkDF;;AAhDA;EACE;EACA;AAmDF;;AAhDA;EACE,uEF3DY;EE4DZ,sCF1De;EE2Df;EACA;EACA;EACA;EACA;EACA;AAmDF;AAjDE;EACE,0CF5EW;EE6EX;AAmDJ;AAjDE;EACE;AAmDJ;AAjDE;EACE;AAmDJ;;AA/CA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;AAkDF;AAjDE;EACE,gDF5FQ;AE+IZ;AAhDI;EACE,qCF/FY;AEiJlB;AA/CE;EACE;EACA;AAiDJ;;AA7CA;EACE;AAgDF;;AA5CA;EACE;EACA;EACA;EACA;AA+CF;AA7CE;EACE;EACA;EACA;EACA;AA+CJ;AA5CE;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA,2CFhJiB;EEiJjB,0CFxIW;EEyIX,YFvIkB;EEwIlB;EACA;AA8CJ;AA5CI;EACE;AA8CN;AA3CI;EACE;EACA;AA6CN;AA1CI;EACE,qCFtKW;AEkNjB;AAxCE;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AA0CJ;;AArCA;EACE;EACA;AAwCF;;AArCA;EACE;EACA;EACA;AAwCF;;AArCA;AACA;EACE;EACA;EACA;EACA,4IACE;EAGF;AAqCF;AAnCA;AACA;EACE;EACA;EACA;EACA,0IACE;EAGF;AAkCF;AA/BA;AACA;EACE;EACA;EACA;EACA,kJACE;EAGF;AA8BF;AA5BA;AACA;EACE;EACA;EACA;EACA,gJACE;EAGF;AA2BF;;;;AChRA;EACE;EACA;EACA;EACA;AADF;;AAIA;EACE;EACA,uEHgBY;EGfZ,sCHiBe;EGhBf,iCHDW;EGEX;EACA;EACA;AADF;;AAIA;EACE;EACA;EACA;EACA,0CHHa;EGIb,kDHRiB;EGSjB,gBHHoB;AGEtB;;AAIA;EACE;AADF;;AAIA;EACE;AADF;;;;AC9BA;EACE;EACA;EACA;EACA;AADF;;AAIA;EACE;EACA,uEJgBY;EIfZ,sCJiBe;EIhBf,iCJDW;EIGX,kDJCiB;AIHnB;;AAKA;EACE;EACA;EACA;EACA,0CJFa;EIGb,kDJPiB;EIQjB,gBJFoB;AIAtB;;AAKA;EACE;EACA;AAFF;;AAKA;EACE;AAFF;;AAKA;EACE;EACA;EACA;AAFF;;AAIA;EACE;EACA,4CJ3CW;AI0Cb;;;;AC1CA;EACE;EACA;EACA;EACA;AACF;;AAEA;EACE;EACA;EACA;AACF;;AAEA;EACE;EACA;EACA;AACF;;AAEA;EACE;EACA;EACA;EACA;AACF;;AAEA;EACE;AACF;;AAEA;EACE;EACA;AACF","sources":["webpack://SurveyAnalytics/./src/visualizerBase.scss","webpack://SurveyAnalytics/./src/_globals.scss","webpack://SurveyAnalyticsTabulator/./src/utils/utils.scss","webpack://SurveyAnalytics/./src/visualizationPanel.scss","webpack://SurveyAnalytics/./src/text.scss","webpack://SurveyAnalytics/./src/statistics-table.scss","webpack://SurveyAnalytics/./src/nps.scss"],"sourcesContent":["@use \"globals\" as *;\n\n.sa-visualizer__toolbar {\n}\n\n.sa-visualizer__header {\n font-family: $font-family-secondary;\n font-size: $root-font-size;\n}\n\n.sa-visualizer__content {\n font-family: $font-family;\n display: inline-block;\n overflow: hidden;\n width: 100%;\n}\n\n.sa-visualizer__footer {\n margin-top: 10px;\n}\n\n.sa-visualizer__footer-title {\n display: inline-block;\n font-family: $font-family-secondary;\n font-size: $root-font-size;\n color: #404040;\n line-height: 34px;\n vertical-align: middle;\n margin: 0;\n}\n\n.sa-visualizer__footer-content {\n margin-top: 10px;\n}\n\n.sa-data-loading-indicator-panel {\n width: 100%;\n min-height: 200px;\n position: relative;\n}\n\n.sa-data-loading-indicator {\n position: absolute;\n width: 64px;\n height: 64px;\n left: calc((100% - 64px) / 2);\n top: calc((100% - 64px) / 2);\n animation: sa-data-loading-indicator-spinner 1s infinite linear;\n}\n\n@keyframes sa-data-loading-indicator-spinner {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(359deg);\n }\n}\n","$main-color: var(--main-color, #1ab394);\n$auxiliary-color: var(--auxiliary-color, #ff9814);\n$auxiliary-color-1: var(--auxiliary-color-1, #666666);\n$auxiliary-color-2: var(--auxiliary-color-2, #1948b3);\n$danger-color: var(--danger-color, #d9534f);\n$disabled-color: var(--disabled-color, #b0b0b0);\n\n$blue-color: var(--blue-color, #394cff);\n$purple-color: var(--purple-color, #aa42d0);\n$green-color: var(--green-color, #41c02c);\n\n$text-color-inverse: var(--text-color-inverse, #fff);\n$text-color: var(--text-color, #404040);\n\n$content-max-width: 1170px;\n\n$background-color: var(--background-color, #f7f7f7);\n$background-color-dark: var(--background-color-dark, #eeeeee);\n$background-disabled-color: var(--background-disabled-color, #b7b7b7);\n\n$border-color: var(--border-color, #e7e7e7);\n\n$form-element-height: 34px;\n\n$svg-color: var(--svg-color, rgba(#9f9f9f, 0.4));\n$svg-hover-color: var(--svg-hover-color, #9f9f9f);\n\n$font-family: var(--font-family, \"Segoe UI\", SegoeUI, Arial, sans-serif);\n$font-family-secondary: var(--font-family-secondary, Raleway, Arial, sans-serif);\n$root-font-size: var(--root-font-size, 14px);",".sa-commercial {\n box-sizing: border-box;\n padding: var(--sjs2-spacing-static-x150, 12px) var(--sjs2-spacing-static-x600, 48px);\n justify-content: center;\n width: 100%;\n background: var(--sjs2-color-bg-brand-primary, #19B394);\n @media screen and (max-width: 600px) {\n padding: var(--sjs2-spacing-static-x100, 8px) var(--sjs2-spacing-static-x300, 24px);\n }\n}\n.sa-commercial__text {\n text-decoration: none;\n color: var(--sjs2-color-fg-static-main-primary, #FFF);\n text-align: center;\n font-family: var(--sjs2-font-family-semantic-default, \"Segoe UI\", SegoeUI, Arial, sans-serif);\n font-size: var(--sjs2-font-size-semantic-default, 16px);\n font-style: normal;\n font-weight: 600;\n line-height: var(--sjs2-line-height-semantic-default, 24px);\n @media screen and (max-width: 600px) {\n font-size: var(--sjs2-font-size-semantic-small, 12px);\n line-height: var(--sjs2-line-height-semantic-small, 16px);\n }\n\n a {\n color: var(--sjs2-color-fg-static-main-primary, #FFF);\n text-align: center;\n font-family: var(--sjs2-font-family-semantic-default, \"Segoe UI\", SegoeUI, Arial, sans-serif);\n font-size: var(--sjs2-font-size-semantic-default, 16px);\n font-style: normal;\n font-weight: 600;\n line-height: var(--sjs2-line-height-semantic-default, 24px);\n text-decoration-line: underline;\n text-decoration-style: solid;\n text-decoration-skip-ink: auto;\n text-decoration-thickness: 5%;\n text-underline-offset: 10%;\n text-underline-position: from-font;\n\n @media screen and (max-width: 600px) {\n font-size: var(--sjs2-font-size-semantic-small, 12px);\n line-height: var(--sjs2-line-height-semantic-small, 16px);\n }\n }\n}","@use \"globals\" as *;\n@use \"./utils/utils.scss\" as *;\n\n.sa-panel__header {\n margin: 0 1em;\n}\n\n.sa-grid {\n position: relative;\n}\n\n.sa-grid__grid-sizer {\n width: 100%;\n box-sizing: border-box;\n @media screen and (min-width: 1400px) {\n width: 50%;\n }\n}\n\n.sa-question {\n display: inline-block;\n width: 100%;\n vertical-align: top;\n box-sizing: border-box;\n overflow: hidden;\n padding: 1em;\n}\n\n.sa-question-layouted {\n position: absolute;\n\n @media screen and (min-width: 1400px) {\n width: calc(50% - 1px);\n }\n}\n\n.sa-question__content {\n background-color: $background-color;\n padding: 20px;\n}\n\n.sa-question__title {\n margin-left: 30px;\n font-family: $font-family-secondary;\n font-size: 18px;\n font-weight: bold;\n color: $text-color;\n margin: 0;\n margin-bottom: 1em;\n}\n\n.sa-question__title--draggable {\n cursor: move;\n &:after {\n content: \" \";\n display: block;\n float: right;\n width: 15px;\n height: 15px;\n background-image: url(\"data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg%3E%3Cpolygon style='fill: %231ab394' points='13,5 12,6 13,7 9,7 9,3 10,4 11,3 8,0 5,3 6,4 7,3 7,7 3,7 4,6 3,5 0,8 3,11 4,10 3,9 7,9 7,13 6,12 5,13 8,16 11,13 10,12 9,13 9,9 13,9 12,10 13,11 16,8 '/%3E%3C/g%3E%3C/svg%3E \");\n }\n}\n\n[dir=\"rtl\"] .sa-question__title--draggable, [style*=\"direction: rtl\"] .sa-question__title--draggable, [style*=\"direction:rtl\"] .sa-question__title--draggable {\n &:after {\n float: left;\n }\n}\n\n.sa-toolbar {\n font-family: $font-family;\n font-size: $root-font-size;\n color: $text-color;\n line-height: 34px;\n margin-bottom: 25px;\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n gap: 10px;\n}\n.sa-toolbar.sa-toolbar > * {\n display: inline-flex;\n line-height: 1em;\n}\n\n.sa-toolbar__button {\n font-family: $font-family;\n font-size: $root-font-size;\n padding: 8px;\n vertical-align: middle;\n cursor: pointer;\n border: 1px solid transparent;\n white-space: nowrap;\n margin: 0 10px;\n\n &:hover {\n border-color: $border-color;\n background-blend-mode: darken;\n }\n &:first-child {\n margin-left: 0;\n }\n &:last-child {\n margin-right: 0;\n }\n}\n\n.sa-toolbar__svg-button {\n width: 15px;\n height: 15px;\n padding: 0;\n border: none;\n outline: none;\n background-color: inherit;\n cursor: pointer;\n use {\n fill: $svg-color;\n }\n &:hover {\n use {\n fill: $svg-hover-color;\n }\n }\n svg {\n width: 15px;\n height: 15px;\n }\n}\n\n.sa-toolbar__button--right {\n float: right;\n}\n\n// custom select\n.sa-question__select-wrapper {\n position: relative;\n display: inline-block;\n min-width: 100px;\n max-width: 300px;\n\n .sa-question__select-title {\n white-space: nowrap;\n display: inline-block;\n line-height: 34px;\n padding-right: 8px;\n }\n\n .sa-question__select {\n width: 100%;\n display: block;\n position: relative;\n appearance: none;\n -webkit-appearance: none;\n -moz-appearance: none;\n border-radius: 2px;\n background: $text-color-inverse;\n border-color: $border-color;\n height: $form-element-height;\n padding: 5px 23px 5px 15px;\n line-height: initial;\n\n &::-ms-expand {\n display: none;\n }\n\n &:focus {\n outline: 0;\n box-shadow: none;\n }\n\n &:disabled {\n color: $disabled-color;\n }\n }\n\n &:before {\n margin-top: -4px;\n top: 50%;\n right: 10px;\n z-index: 1;\n content: \"\";\n position: absolute;\n width: 4px;\n height: 4px;\n border-right: 2px solid $text-color;\n border-bottom: 2px solid $text-color;\n transform: rotate(45deg);\n box-sizing: content-box;\n pointer-events: none;\n }\n}\n// EO custom select\n\n.sa-question__filter {\n display: inline-block;\n padding: 0 1em;\n}\n\n.sa-question__filter-text {\n vertical-align: middle;\n margin-top: 1px;\n line-height: 32px;\n}\n\n/* latin-ext */\n@font-face {\n font-family: \"Raleway\";\n font-style: normal;\n font-weight: 400;\n src:\n local(\"Raleway\"),\n local(\"Raleway-Regular\"),\n url(https://fonts.gstatic.com/s/raleway/v14/1Ptug8zYS_SKggPNyCMIT5lu.woff2) format(\"woff2\");\n unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: \"Raleway\";\n font-style: normal;\n font-weight: 400;\n src:\n local(\"Raleway\"),\n local(\"Raleway-Regular\"),\n url(https://fonts.gstatic.com/s/raleway/v14/1Ptug8zYS_SKggPNyC0ITw.woff2) format(\"woff2\");\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC,\n U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n/* latin-ext */\n@font-face {\n font-family: \"Raleway\";\n font-style: normal;\n font-weight: 700;\n src:\n local(\"Raleway Bold\"),\n local(\"Raleway-Bold\"),\n url(https://fonts.gstatic.com/s/raleway/v14/1Ptrg8zYS_SKggPNwJYtWqhPAMif.woff2) format(\"woff2\");\n unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: \"Raleway\";\n font-style: normal;\n font-weight: 700;\n src:\n local(\"Raleway Bold\"),\n local(\"Raleway-Bold\"),\n url(https://fonts.gstatic.com/s/raleway/v14/1Ptrg8zYS_SKggPNwJYtWqZPAA.woff2) format(\"woff2\");\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC,\n U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n","@use \"globals\" as *;\n\n.sa-text-table__container {\n width: 100%;\n min-height: 200px;\n max-height: 500px;\n overflow: auto;\n}\n\n.sa-text-table {\n width: 100%;\n font-family: $font-family;\n font-size: $root-font-size;\n color: $text-color;\n border-width: 1px;\n border-collapse: collapse;\n background-color: $background-color;\n}\n\n.sa-text-table__cell {\n border-width: 1px;\n padding: 8px;\n border-style: solid;\n border-color: $border-color;\n background-color: $background-color;\n min-height: $form-element-height;\n}\n\n.sa-text-table__cell--number {\n text-align: end;\n}\n\nth.sa-text-table__cell {\n font-weight: 600;\n}\n","@use \"globals\" as *;\n\n.sa-statistics-table__container {\n width: 100%;\n min-height: 200px;\n max-height: 500px;\n overflow: auto;\n}\n\n.sa-statistics-table {\n width: 100%;\n font-family: $font-family;\n font-size: $root-font-size;\n color: $text-color;\n // border-collapse: collapse;\n background-color: $background-color;\n}\n\n.sa-statistics-table__cell {\n border-width: 1px;\n padding: 8px;\n border-style: solid;\n border-color: $border-color;\n background-color: $background-color;\n min-height: $form-element-height;\n}\n\n.sa-statistics-table__cell-value {\n text-align: right;\n min-width: 30px;\n}\n\n.sa-statistics-table__cell-header {\n font-weight: bold;\n}\n\n.sa-choices-sparkline {\n min-width: 100px;\n height: 24px;\n border: 1px solid $main-color;\n}\n.sa-choices-sparkline-value {\n height: 100%;\n background-color: $main-color;\n}\n",".sa-visualizer-nps {\n display: flex;\n flex-direction: row;\n gap: 16px;\n overflow-x: auto;\n}\n\n.sa-visualizer-nps__score-part {\n display: flex;\n flex-direction: column;\n padding: 0 16px;\n}\n\n.sa-visualizer-nps__score-part-title {\n font-size: 32px;\n text-align: center;\n color: #909090;\n}\n\n.sa-visualizer-nps__score-part-values {\n display: flex;\n flex-direction: row;\n gap: 16px;\n align-items: baseline;\n}\n\n.sa-visualizer-nps__score-part-value {\n font-size: 48px;\n}\n\n.sa-visualizer-nps__score-part-percent {\n font-size: 24px;\n color: #606060;\n}"],"names":[],"sourceRoot":""}
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - SurveyJS Dashboard library v2.3.2
2
+ * surveyjs - SurveyJS Dashboard library v2.3.4
3
3
  * Copyright (c) 2015-2025 Devsoft Baltic OÜ - http://surveyjs.io/
4
4
  * License: MIT (http://www.opensource.org/licenses/mit-license.php)
5
5
  */
@@ -11003,9 +11003,11 @@ __webpack_require__.r(__webpack_exports__);
11003
11003
 
11004
11004
  var PivotModel = /** @class */ (function (_super) {
11005
11005
  (0,tslib__WEBPACK_IMPORTED_MODULE_0__.__extends)(PivotModel, _super);
11006
- function PivotModel(questions, data, options, name) {
11006
+ function PivotModel(questions, data, options, name, isRoot) {
11007
+ if (isRoot === void 0) { isRoot = true; }
11007
11008
  var _this = _super.call(this, null, data, options, name || "pivot") || this;
11008
11009
  _this.questions = questions;
11010
+ _this.isRoot = isRoot;
11009
11011
  _this.valueType = "enum";
11010
11012
  _this._cachedValues = undefined;
11011
11013
  _this._continuousData = undefined;
@@ -11428,6 +11430,14 @@ var PivotModel = /** @class */ (function (_super) {
11428
11430
  PivotModel.prototype.isSupportSoftUpdateContent = function () {
11429
11431
  return false;
11430
11432
  };
11433
+ PivotModel.prototype.renderToolbar = function (container) {
11434
+ if (!this.haveCommercialLicense && this.isRoot) {
11435
+ var banner = (0,_utils__WEBPACK_IMPORTED_MODULE_3__.createCommercialLicenseLink)();
11436
+ container.appendChild(banner);
11437
+ }
11438
+ container.className += " sa-pivot__header";
11439
+ _super.prototype.renderToolbar.call(this, container);
11440
+ };
11431
11441
  PivotModel.IntervalsCount = 10;
11432
11442
  PivotModel.UseIntervalsFrom = 10;
11433
11443
  return PivotModel;
@@ -13311,7 +13321,7 @@ var VisualizationMatrixDropdown = /** @class */ (function (_super) {
13311
13321
  }
13312
13322
  else {
13313
13323
  var innerQuestions = _this.getQuestions();
13314
- _this._matrixDropdownVisualizer = new _visualizationPanel__WEBPACK_IMPORTED_MODULE_3__.VisualizationPanel(innerQuestions, [], _this._childOptions);
13324
+ _this._matrixDropdownVisualizer = new _visualizationPanel__WEBPACK_IMPORTED_MODULE_3__.VisualizationPanel(innerQuestions, [], _this._childOptions, undefined, false);
13315
13325
  }
13316
13326
  _this._matrixDropdownVisualizer.onAfterRender.add(_this.onPanelAfterRenderCallback);
13317
13327
  _this.updateData(data);
@@ -13511,14 +13521,15 @@ if (!!document) {
13511
13521
  */
13512
13522
  var VisualizationPanel = /** @class */ (function (_super) {
13513
13523
  (0,tslib__WEBPACK_IMPORTED_MODULE_0__.__extends)(VisualizationPanel, _super);
13514
- function VisualizationPanel(questions, data, options, _elements) {
13524
+ function VisualizationPanel(questions, data, options, _elements, isRoot) {
13515
13525
  if (options === void 0) { options = {}; }
13516
13526
  if (_elements === void 0) { _elements = undefined; }
13527
+ if (isRoot === void 0) { isRoot = true; }
13517
13528
  var _this = _super.call(this, null, data, options, "panel") || this;
13518
13529
  _this.questions = questions;
13519
13530
  _this._elements = _elements;
13531
+ _this.isRoot = isRoot;
13520
13532
  _this.visualizers = [];
13521
- _this.haveCommercialLicense = false;
13522
13533
  _this.renderedQuestionsCount = 0;
13523
13534
  _this.onAfterRenderQuestionCallback = function (sender, options) {
13524
13535
  _this.renderedQuestionsCount++;
@@ -13597,12 +13608,6 @@ var VisualizationPanel = /** @class */ (function (_super) {
13597
13608
  */
13598
13609
  _this.onElementMoved = new survey_core__WEBPACK_IMPORTED_MODULE_1__.Event();
13599
13610
  _this.loadingData = false;
13600
- var f = survey_core__WEBPACK_IMPORTED_MODULE_1__.hasLicense;
13601
- _this.haveCommercialLicense = (!!f && f(4)) ||
13602
- VisualizationPanel.haveCommercialLicense ||
13603
- (typeof options.haveCommercialLicense !== "undefined"
13604
- ? options.haveCommercialLicense
13605
- : false);
13606
13611
  _this._layoutEngine =
13607
13612
  options.layoutEngine ||
13608
13613
  new _layoutEngine__WEBPACK_IMPORTED_MODULE_8__.MuuriLayoutEngine(_this.allowDynamicLayout, "." + questionLayoutedElementClassName, _this.allowDragDrop);
@@ -13617,7 +13622,7 @@ var VisualizationPanel = /** @class */ (function (_super) {
13617
13622
  _this._elements = _this.buildElements(questions);
13618
13623
  }
13619
13624
  _this.buildVisualizers(questions);
13620
- if (!_this.haveCommercialLicense) {
13625
+ if (!_this.haveCommercialLicense && _this.isRoot) {
13621
13626
  _this.registerToolbarItem("commercialLicense", function () {
13622
13627
  return (0,_utils_index__WEBPACK_IMPORTED_MODULE_5__.createCommercialLicenseLink)();
13623
13628
  });
@@ -13800,7 +13805,7 @@ var VisualizationPanel = /** @class */ (function (_super) {
13800
13805
  var visualizerData = _this.surveyData;
13801
13806
  var visualizer;
13802
13807
  if (Array.isArray(question)) {
13803
- visualizer = new (_visualizationManager__WEBPACK_IMPORTED_MODULE_11__.VisualizationManager.getPivotVisualizerConstructor())(question, visualizerData, visualizerOptions);
13808
+ visualizer = new (_visualizationManager__WEBPACK_IMPORTED_MODULE_11__.VisualizationManager.getPivotVisualizerConstructor())(question, visualizerData, visualizerOptions, undefined, false);
13804
13809
  }
13805
13810
  else {
13806
13811
  visualizer = _this.createVisualizer(question, visualizerOptions, visualizerData);
@@ -14218,7 +14223,6 @@ var VisualizationPanel = /** @class */ (function (_super) {
14218
14223
  _super.prototype.destroy.call(this);
14219
14224
  this.destroyVisualizers();
14220
14225
  };
14221
- VisualizationPanel.haveCommercialLicense = false;
14222
14226
  return VisualizationPanel;
14223
14227
  }(_visualizerBase__WEBPACK_IMPORTED_MODULE_2__.VisualizerBase));
14224
14228
 
@@ -14258,7 +14262,7 @@ var VisualizationPanelDynamic = /** @class */ (function (_super) {
14258
14262
  var options = Object.assign({}, options);
14259
14263
  options.allowDynamicLayout = false;
14260
14264
  options.dataProvider = undefined;
14261
- _this._panelVisualizer = new _visualizationPanel__WEBPACK_IMPORTED_MODULE_3__.VisualizationPanel(_this.getQuestions(), [], options);
14265
+ _this._panelVisualizer = new _visualizationPanel__WEBPACK_IMPORTED_MODULE_3__.VisualizationPanel(_this.getQuestions(), [], options, undefined, false);
14262
14266
  _this._panelVisualizer.onAfterRender.add(_this.onAfterRenderPanelCallback);
14263
14267
  _this.updateData(data);
14264
14268
  return _this;
@@ -14412,6 +14416,7 @@ var VisualizerBase = /** @class */ (function () {
14412
14416
  this._dataProvider = undefined;
14413
14417
  this._getDataCore = undefined;
14414
14418
  this.labelTruncateLength = 27;
14419
+ this.haveCommercialLicense = false;
14415
14420
  this.renderResult = undefined;
14416
14421
  this.toolbarContainer = undefined;
14417
14422
  this.headerContainer = undefined;
@@ -14474,6 +14479,10 @@ var VisualizerBase = /** @class */ (function () {
14474
14479
  this._calculationsCache = undefined;
14475
14480
  this.loadingData = false;
14476
14481
  this._settingState = false;
14482
+ var f = survey_core__WEBPACK_IMPORTED_MODULE_1__.hasLicense;
14483
+ this.haveCommercialLicense = (!!f && f(4)) ||
14484
+ VisualizerBase.haveCommercialLicense ||
14485
+ (typeof options.haveCommercialLicense !== "undefined" ? options.haveCommercialLicense : false);
14477
14486
  this._getDataCore = (_a = this.questionOptions) === null || _a === void 0 ? void 0 : _a.getDataCore;
14478
14487
  this._dataProvider = options.dataProvider || new _dataProvider__WEBPACK_IMPORTED_MODULE_2__.DataProvider(data);
14479
14488
  this._dataProvider.onDataChanged.add(function () { return _this.onDataChanged(); });
@@ -15143,6 +15152,7 @@ var VisualizerBase = /** @class */ (function () {
15143
15152
  survey.locale = newLocale;
15144
15153
  }
15145
15154
  };
15155
+ VisualizerBase.haveCommercialLicense = false;
15146
15156
  VisualizerBase.suppressVisualizerStubRendering = false;
15147
15157
  VisualizerBase.chartAdapterType = undefined;
15148
15158
  // public static otherCommentQuestionType = "comment"; // TODO: make it configureable - allow choose what kind of question/visualizer will be used for comments/others