survey-analytics 2.2.2 → 2.2.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 (55) hide show
  1. package/fesm/shared.mjs +10 -2
  2. package/fesm/shared.mjs.map +1 -1
  3. package/fesm/shared2.mjs +748 -262
  4. package/fesm/shared2.mjs.map +1 -1
  5. package/fesm/survey.analytics.core.mjs +2 -2
  6. package/fesm/survey.analytics.mjs +315 -538
  7. package/fesm/survey.analytics.mjs.map +1 -1
  8. package/fesm/survey.analytics.tabulator.mjs +1 -1
  9. package/package.json +8 -8
  10. package/survey-analytics-tabulator.types/analytics-localization/english.d.ts +2 -0
  11. package/survey-analytics-tabulator.types/localizationManager.d.ts +2 -0
  12. package/survey-analytics-tabulator.types/utils/index.d.ts +1 -1
  13. package/survey-analytics.types/alternativeVizualizersWrapper.d.ts +2 -0
  14. package/survey-analytics.types/analytics-localization/english.d.ts +2 -0
  15. package/survey-analytics.types/boolean.d.ts +0 -1
  16. package/survey-analytics.types/entries/summary.core.d.ts +3 -1
  17. package/survey-analytics.types/histogram.d.ts +1 -1
  18. package/survey-analytics.types/localizationManager.d.ts +2 -0
  19. package/survey-analytics.types/matrix.d.ts +0 -1
  20. package/survey-analytics.types/pivot.d.ts +64 -0
  21. package/survey-analytics.types/plotly/chart-adapter.d.ts +13 -0
  22. package/survey-analytics.types/plotly/index.d.ts +2 -7
  23. package/survey-analytics.types/plotly/legacy.d.ts +33 -0
  24. package/survey-analytics.types/plotly/setup.d.ts +5 -3
  25. package/survey-analytics.types/{plotly/ranking.d.ts → ranking.d.ts} +2 -2
  26. package/survey-analytics.types/selectBase.d.ts +3 -1
  27. package/survey-analytics.types/utils/index.d.ts +1 -1
  28. package/survey-analytics.types/visualizationManager.d.ts +3 -0
  29. package/survey-analytics.types/visualizerBase.d.ts +13 -1
  30. package/survey.analytics.core.css +7 -1
  31. package/survey.analytics.core.css.map +1 -1
  32. package/survey.analytics.core.js +659 -51
  33. package/survey.analytics.core.js.map +1 -1
  34. package/survey.analytics.core.min.css +2 -2
  35. package/survey.analytics.core.min.js +1 -1
  36. package/survey.analytics.core.min.js.LICENSE.txt +1 -1
  37. package/survey.analytics.css +7 -1
  38. package/survey.analytics.css.map +1 -1
  39. package/survey.analytics.js +1048 -817
  40. package/survey.analytics.js.map +1 -1
  41. package/survey.analytics.min.css +2 -2
  42. package/survey.analytics.min.js +1 -1
  43. package/survey.analytics.min.js.LICENSE.txt +1 -1
  44. package/survey.analytics.tabulator.css +1 -1
  45. package/survey.analytics.tabulator.js +10 -2
  46. package/survey.analytics.tabulator.js.map +1 -1
  47. package/survey.analytics.tabulator.min.css +1 -1
  48. package/survey.analytics.tabulator.min.js +1 -1
  49. package/survey.analytics.tabulator.min.js.LICENSE.txt +1 -1
  50. package/survey-analytics.types/plotly/boolean.d.ts +0 -16
  51. package/survey-analytics.types/plotly/histogram.d.ts +0 -13
  52. package/survey-analytics.types/plotly/matrix.d.ts +0 -11
  53. package/survey-analytics.types/plotly/matrixdropdown-grouped.d.ts +0 -11
  54. package/survey-analytics.types/plotly/rating.d.ts +0 -20
  55. package/survey-analytics.types/plotly/selectBase.d.ts +0 -26
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - SurveyJS Dashboard library v2.2.2
2
+ * surveyjs - SurveyJS Dashboard library v2.2.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
  */
package/package.json CHANGED
@@ -2,11 +2,10 @@
2
2
  "scripts": {
3
3
  "start": "webpack-dev-server --env buildType=dev",
4
4
  "test": "jest",
5
- "test_dev": "jest --watch",
5
+ "test:dev": "jest --watch",
6
6
  "test:debug": "node --inspect-brk ./node_modules/jest/bin/jest.js --runInBand",
7
- "testcafe": "concurrently \"http-server\" \"testcafe chrome testCafe/\"",
8
- "testcafe:ci": "http-server --silent & testcafe testCafe/ --reporter minimal",
9
- "testcafe:file": "concurrently \"http-server --silent\" \"testcafe chrome testCafe/tabulator/basetests.js --selector-timeout 1500 --reporter minimal --debug-mode\"",
7
+ "e2e": "playwright test --project chromium --ui",
8
+ "e2e:ci": "playwright test --project chromium",
10
9
  "release": "standard-version --message \"Release: %s [azurepipelines skip]\" ",
11
10
  "doc:gen": "node doc_generator/lib_docgenerator.js src/index.ts",
12
11
  "doc:update": "chmod +x ./docupdate_npm.sh && ./docupdate_npm.sh",
@@ -18,7 +17,7 @@
18
17
  "lint": "eslint ./src --quiet",
19
18
  "pre-push-check": "npm run lint && npm run test"
20
19
  },
21
- "version": "2.2.2",
20
+ "version": "2.2.4",
22
21
  "name": "survey-analytics",
23
22
  "description": "SurveyJS analytics Library.",
24
23
  "main": "survey.analytics.js",
@@ -46,8 +45,9 @@
46
45
  "tabulator-tables": "^6.2.5"
47
46
  },
48
47
  "devDependencies": {
49
- "@rollup/plugin-node-resolve": "^16.0.0",
48
+ "@playwright/test": "^1.53.1",
50
49
  "@rollup/plugin-commonjs": "^28.0.2",
50
+ "@rollup/plugin-node-resolve": "^16.0.0",
51
51
  "@rollup/plugin-replace": "^6.0.2",
52
52
  "@rollup/plugin-typescript": "^12.1.2",
53
53
  "@types/jest": "^26.0.24",
@@ -67,6 +67,7 @@
67
67
  "jest-junit": "^16.0.0",
68
68
  "mini-css-extract-plugin": "^2.9.0",
69
69
  "node-uuid": "1.4.7",
70
+ "playwright": "^1.53.1",
70
71
  "puppeteer": "22.13.1",
71
72
  "replace-in-file": "^6.3.2",
72
73
  "rollup": "^4.34.8",
@@ -77,7 +78,6 @@
77
78
  "style-loader": "^1.3.0",
78
79
  "surveyjs-doc-generator": "git+https://github.com/surveyjs/surveyjs-doc-generator.git",
79
80
  "svg-inline-loader": "^0.8.2",
80
- "testcafe": "3.3.0",
81
81
  "ts-jest": "^29.2.2",
82
82
  "ts-loader": "^8.0.0",
83
83
  "typescript": "^5.7.0",
@@ -89,7 +89,7 @@
89
89
  "peerDependencies": {
90
90
  "@types/plotly.js-dist-min": "^2.3.0",
91
91
  "@types/tabulator-tables": "^6.2.3",
92
- "survey-core": "2.2.2"
92
+ "survey-core": "2.2.4"
93
93
  },
94
94
  "husky": {
95
95
  "hooks": {
@@ -72,4 +72,6 @@ export declare var englishStrings: {
72
72
  npsPromoters: string;
73
73
  npsPassives: string;
74
74
  npsDetractors: string;
75
+ axisXSelectorTitle: string;
76
+ axisYSelectorTitle: string;
75
77
  };
@@ -87,4 +87,6 @@ export declare var surveyStrings: {
87
87
  npsPromoters: string;
88
88
  npsPassives: string;
89
89
  npsDetractors: string;
90
+ axisXSelectorTitle: string;
91
+ axisYSelectorTitle: string;
90
92
  };
@@ -5,7 +5,7 @@ export declare class DocumentHelper {
5
5
  }>, isSelected: (option: {
6
6
  value: string;
7
7
  text: string;
8
- }) => boolean, handler: (e: any) => void): HTMLDivElement;
8
+ }) => boolean, handler: (e: any) => void, title?: string): HTMLDivElement;
9
9
  static createButton(handler: (e: any) => void, text?: string, className?: string): HTMLElement;
10
10
  static createElement(tagName: string, className?: string, attrs?: any): HTMLElement;
11
11
  static createSvgElement(path: string): SVGSVGElement;
@@ -53,6 +53,8 @@ export declare class AlternativeVisualizersWrapper extends VisualizerBase implem
53
53
  * @see getState
54
54
  */
55
55
  setState(state: any): void;
56
+ getValues(): Array<any>;
57
+ getLabels(): Array<string>;
56
58
  getCalculatedValues(): Promise<Array<Object>>;
57
59
  destroy(): void;
58
60
  }
@@ -72,4 +72,6 @@ export declare var englishStrings: {
72
72
  npsPromoters: string;
73
73
  npsPassives: string;
74
74
  npsDetractors: string;
75
+ axisXSelectorTitle: string;
76
+ axisYSelectorTitle: string;
75
77
  };
@@ -2,7 +2,6 @@ import { Question, QuestionBooleanModel } from "survey-core";
2
2
  import { ItemValue } from "survey-core";
3
3
  import { SelectBase } from "./selectBase";
4
4
  export declare class BooleanModel extends SelectBase {
5
- protected chartTypes: string[];
6
5
  constructor(question: Question, data: Array<{
7
6
  [index: string]: any;
8
7
  }>, options?: Object, name?: string);
@@ -14,11 +14,11 @@ import "../analytics-localization/polish";
14
14
  import "../analytics-localization/finnish";
15
15
  export * from "../dataProvider";
16
16
  export * from "../visualizerFactory";
17
- export * from "../number";
18
17
  export * from "../selectBase";
19
18
  export * from "../matrix";
20
19
  export * from "../boolean";
21
20
  export * from "../histogram";
21
+ export * from "../number";
22
22
  export * from "../visualizerBase";
23
23
  export * from "../visualizationManager";
24
24
  export * from "../visualizationPanel";
@@ -31,4 +31,6 @@ export * from "../wordcloud/stopwords/index";
31
31
  export * from "../text";
32
32
  export * from "../statistics-table";
33
33
  export * from "../nps";
34
+ export * from "../ranking";
35
+ export * from "../pivot";
34
36
  export { DocumentHelper } from "../utils/index";
@@ -6,7 +6,6 @@ export declare class HistogramModel extends SelectBase {
6
6
  private _continiousData;
7
7
  private _cachedIntervals;
8
8
  private _intervalPrecision;
9
- protected chartTypes: string[];
10
9
  static IntervalsCount: number;
11
10
  static UseIntervalsFrom: number;
12
11
  constructor(question: Question, data: Array<{
@@ -36,4 +35,5 @@ export declare class HistogramModel extends SelectBase {
36
35
  get intervals(): any;
37
36
  convertFromExternalData(externalCalculatedData: any): any[];
38
37
  protected getCalculatedValuesCore(): Array<any>;
38
+ getValueType(): "date" | "number";
39
39
  }
@@ -87,4 +87,6 @@ export declare var surveyStrings: {
87
87
  npsPromoters: string;
88
88
  npsPassives: string;
89
89
  npsDetractors: string;
90
+ axisXSelectorTitle: string;
91
+ axisYSelectorTitle: string;
90
92
  };
@@ -13,5 +13,4 @@ export declare class Matrix extends SelectBase {
13
13
  private getHasAnswersInAllSeriesArray;
14
14
  private getHasAnswersInSeries;
15
15
  protected hideEmptyAnswersInData(answersData: IAnswersData): IAnswersData;
16
- protected getCalculatedValuesCore(): Array<any>;
17
16
  }
@@ -0,0 +1,64 @@
1
+ import { ItemValue, Question } from "survey-core";
2
+ import { SelectBase } from "./selectBase";
3
+ export declare class PivotModel extends SelectBase {
4
+ private questions;
5
+ protected valueType: "enum" | "date" | "number";
6
+ private _cachedValues;
7
+ private _continiousData;
8
+ private _cachedIntervals;
9
+ private _intervalPrecision;
10
+ private axisXSelector;
11
+ axisXQuestionName: string;
12
+ private axisYSelectors;
13
+ axisYQuestionNames: Array<string>;
14
+ private questionsY;
15
+ static IntervalsCount: number;
16
+ static UseIntervalsFrom: number;
17
+ constructor(questions: Array<Question>, data: Array<{
18
+ [index: string]: any;
19
+ }>, options?: Object, name?: string);
20
+ private createYSelecterGenerator;
21
+ setAxisQuestions(...axisQuestionNames: string[]): void;
22
+ onAxisYSelectorChanged(index: number, value: any): void;
23
+ private createAxisYSelector;
24
+ getQuestionValueType(question: Question): "enum" | "date" | "number";
25
+ private setupPivot;
26
+ private reset;
27
+ getContiniousValue(value: any): number;
28
+ getString(value: number): string;
29
+ private toPrecision;
30
+ getSelectedItemByText(itemText: string): ItemValue;
31
+ /**
32
+ * Updates visualizer data.
33
+ */
34
+ updateData(data: Array<{
35
+ [index: string]: any;
36
+ }>): void;
37
+ protected onDataChanged(): void;
38
+ protected getContiniousValues(): {
39
+ original: any;
40
+ continious: number;
41
+ row: any;
42
+ }[];
43
+ protected isSupportAnswersOrder(): boolean;
44
+ protected isSupportMissingAnswers(): boolean;
45
+ protected get needUseRateValues(): boolean;
46
+ getSeriesValues(): Array<string>;
47
+ getSeriesLabels(): Array<string>;
48
+ getValues(): Array<any>;
49
+ getLabels(): Array<string>;
50
+ get hasCustomIntervals(): boolean;
51
+ get intervals(): any;
52
+ convertFromExternalData(externalCalculatedData: any): any[];
53
+ getSeriesValueIndexes(): {
54
+ [index: string]: number;
55
+ };
56
+ updateStatisticsSeriesValue(statistics: Array<Array<number>>, dataRow: {
57
+ [index: string]: any;
58
+ }, valueIndex: number, seriesValueIndexes: {
59
+ [index: string]: number;
60
+ }): void;
61
+ protected getCalculatedValuesCore(): Array<any>;
62
+ getValueType(): "enum" | "date" | "number";
63
+ protected isSupportSoftUpdateContent(): boolean;
64
+ }
@@ -0,0 +1,13 @@
1
+ import { SelectBase } from "../selectBase";
2
+ import { VisualizerBase, IChartAdapter } from "../visualizerBase";
3
+ export declare class PlotlyChartAdapter implements IChartAdapter {
4
+ protected model: SelectBase | VisualizerBase;
5
+ private _chart;
6
+ constructor(model: SelectBase | VisualizerBase);
7
+ protected patchConfigParameters(chartNode: object, traces: Array<object>, layout: object, config: any): void;
8
+ get chart(): Promise<Plotly.PlotlyHTMLElement>;
9
+ getChartTypes(): string[];
10
+ create(chartNode: HTMLElement): Promise<any>;
11
+ update(chartNode: HTMLElement): Promise<any>;
12
+ destroy(node: HTMLElement): void;
13
+ }
@@ -1,8 +1,3 @@
1
1
  export * from "./setup";
2
- export * from "./selectBase";
3
- export * from "./matrix";
4
- export * from "./boolean";
5
- export * from "./ranking";
6
- export * from "./matrixdropdown-grouped";
7
- export * from "./histogram";
8
- export * from "./rating";
2
+ export * from "./chart-adapter";
3
+ export * from "./legacy";
@@ -0,0 +1,33 @@
1
+ import { BooleanModel } from "../boolean";
2
+ import { SelectBase } from "../selectBase";
3
+ import { HistogramModel } from "../histogram";
4
+ import { Matrix } from "../matrix";
5
+ import { MatrixDropdownGrouped } from "../matrixDropdownGrouped";
6
+ import { PivotModel } from "../pivot";
7
+ import { NumberModel } from "../number";
8
+ import { RankingModel } from "../ranking";
9
+ export declare class SelectBasePlotly extends SelectBase {
10
+ static types: string[];
11
+ static displayModeBar: any;
12
+ }
13
+ export declare class BooleanPlotly extends BooleanModel {
14
+ static types: string[];
15
+ }
16
+ export declare class HistogramPlotly extends HistogramModel {
17
+ static types: string[];
18
+ }
19
+ export declare class MatrixPlotly extends Matrix {
20
+ static types: string[];
21
+ }
22
+ export declare class MatrixDropdownGroupedPlotly extends MatrixDropdownGrouped {
23
+ static types: string[];
24
+ }
25
+ export declare class PivotPlotly extends PivotModel {
26
+ static types: string[];
27
+ }
28
+ export declare class GaugePlotly extends NumberModel {
29
+ static displayModeBar: any;
30
+ static types: string[];
31
+ }
32
+ export declare class RankingPlotly extends RankingModel {
33
+ }
@@ -1,6 +1,7 @@
1
1
  import { Event } from "survey-core";
2
2
  import { IAnswersData, SelectBase } from "../selectBase";
3
3
  import { VisualizerBase } from "../visualizerBase";
4
+ import { NumberModel } from "../number";
4
5
  export interface PlotlyOptions {
5
6
  traces: Array<any>;
6
7
  layout: any;
@@ -11,19 +12,20 @@ export declare class PlotlySetup {
11
12
  /**
12
13
  * Fires when end user clicks on the 'save as image' button.
13
14
  */
14
- static onImageSaving: Event<(sender: SelectBase, options: any) => any, SelectBase, any>;
15
+ static onImageSaving: Event<(sender: VisualizerBase, options: any) => any, VisualizerBase, any>;
15
16
  /**
16
17
  * Fires before plot will be created. User can change traces, layout and config of the plot.
17
18
  * Options is an object with the following fields: traces, layout and config of the plot.
18
19
  */
19
20
  static onPlotCreating: Event<(sender: VisualizerBase, options: any) => any, VisualizerBase, any>;
20
21
  static setups: {
21
- [type: string]: (model: SelectBase, answersData: IAnswersData) => PlotlyOptions;
22
+ [type: string]: (model: VisualizerBase, answersData: IAnswersData) => PlotlyOptions;
22
23
  };
23
- static setup(charType: string, model: SelectBase, answersData: IAnswersData): PlotlyOptions;
24
+ static setup(charType: string, model: VisualizerBase, answersData: IAnswersData): PlotlyOptions;
24
25
  static getTruncatedLabel: (label: string, labelTruncateLength: number) => string;
25
26
  static setupPie(model: SelectBase, answersData: IAnswersData): PlotlyOptions;
26
27
  static setupBar(model: SelectBase, answersData: IAnswersData): PlotlyOptions;
27
28
  static setupVBar(model: SelectBase, answersData: IAnswersData): PlotlyOptions;
28
29
  static setupScatter(model: SelectBase, answersData: IAnswersData): PlotlyOptions;
30
+ static setupGauge(model: NumberModel, answersData: IAnswersData): PlotlyOptions;
29
31
  }
@@ -1,5 +1,5 @@
1
- import { SelectBasePlotly } from "./selectBase";
2
- export declare class RankingPlotly extends SelectBasePlotly {
1
+ import { SelectBase } from "./selectBase";
2
+ export declare class RankingModel extends SelectBase {
3
3
  getQuestionResults(): any[];
4
4
  getEmptyData(): any;
5
5
  protected getCalculatedValuesCore(): Array<any>;
@@ -29,7 +29,7 @@ export declare class SelectBase extends VisualizerBase implements IVisualizerWit
29
29
  private _topN;
30
30
  static topNValuesDefaults: number[];
31
31
  topNValues: any[];
32
- private _transposeData;
32
+ protected _transposeData: boolean;
33
33
  private _showMissingAnswers;
34
34
  private missingAnswersBtn;
35
35
  constructor(question: Question, data: Array<{
@@ -51,6 +51,8 @@ export declare class SelectBase extends VisualizerBase implements IVisualizerWit
51
51
  protected onChartTypeChanged(): void;
52
52
  protected setChartType(chartType: string): void;
53
53
  protected getCorrectAnswerText(): string;
54
+ protected isSupportSoftUpdateContent(): boolean;
55
+ protected softUpdateContent(): void;
54
56
  getSelectedItemByText(itemText: string): any;
55
57
  setSelection(item: ItemValue): void;
56
58
  get selection(): ItemValue;
@@ -5,7 +5,7 @@ export declare class DocumentHelper {
5
5
  }>, isSelected: (option: {
6
6
  value: string;
7
7
  text: string;
8
- }) => boolean, handler: (e: any) => void): HTMLDivElement;
8
+ }) => boolean, handler: (e: any) => void, title?: string): HTMLDivElement;
9
9
  static createButton(handler: (e: any) => void, text?: string, className?: string): HTMLElement;
10
10
  static createElement(tagName: string, className?: string, attrs?: any): HTMLElement;
11
11
  static createSvgElement(path: string): SVGSVGElement;
@@ -9,6 +9,7 @@ declare type VisualizerConstructor = new (question: Question, data: Array<{
9
9
  */
10
10
  export declare class VisualizationManager {
11
11
  static alternativesVisualizer: any;
12
+ static pivotVisualizer: any;
12
13
  static vizualizers: {
13
14
  [index: string]: Array<{
14
15
  ctor: VisualizerConstructor;
@@ -52,5 +53,7 @@ export declare class VisualizationManager {
52
53
  * @param constructor A function that returns a constructor for an alternative visualizer selector.
53
54
  */
54
55
  static registerAltVisualizerSelector(constructor: any): void;
56
+ static getPivotVisualizerConstructor(): any;
57
+ static registerPivotVisualizer(constructor: any): void;
55
58
  }
56
59
  export {};
@@ -2,6 +2,12 @@ import { Question } from "survey-core";
2
2
  import { DataProvider, GetDataFn } from "./dataProvider";
3
3
  import { Event } from "survey-core";
4
4
  import "./visualizerBase.scss";
5
+ export interface IChartAdapter {
6
+ getChartTypes(): string[];
7
+ create(chartNode: HTMLElement): Promise<any>;
8
+ update(chartNode: HTMLElement): Promise<any>;
9
+ destroy(node: HTMLElement): void;
10
+ }
5
11
  export interface IDataInfo {
6
12
  name: string;
7
13
  dataNames: Array<string>;
@@ -47,6 +53,7 @@ export declare class VisualizerBase implements IDataInfo {
47
53
  };
48
54
  private _type?;
49
55
  static suppressVisualizerStubRendering: boolean;
56
+ static chartAdapterType: any;
50
57
  private _showToolbar;
51
58
  private _footerVisualizer;
52
59
  private _dataProvider;
@@ -58,6 +65,7 @@ export declare class VisualizerBase implements IDataInfo {
58
65
  protected contentContainer: HTMLElement;
59
66
  protected footerContainer: HTMLElement;
60
67
  protected _supportSelection: boolean;
68
+ protected _chartAdapter: IChartAdapter;
61
69
  static otherCommentCollapsed: boolean;
62
70
  /**
63
71
  * An event that is raised after the visualizer's content is rendered.
@@ -135,7 +143,7 @@ export declare class VisualizerBase implements IDataInfo {
135
143
  get hasFooter(): boolean;
136
144
  protected createVisualizer<T = VisualizerBase>(question: Question, options?: {
137
145
  [index: string]: any;
138
- }): T;
146
+ }, data?: any[]): T;
139
147
  /**
140
148
  * Allows you to access the footer visualizer. Returns `undefined` if the footer is absent.
141
149
  * @see hasFooter
@@ -254,6 +262,10 @@ export declare class VisualizerBase implements IDataInfo {
254
262
  * @param targetElement An `HTMLElement` or an `id` of a page element in which you want to render the visualizer.
255
263
  */
256
264
  render(targetElement: HTMLElement | string): void;
265
+ updateToolbar(): void;
266
+ protected isSupportSoftUpdateContent(): boolean;
267
+ protected softUpdateContent(): void;
268
+ protected hardUpdateContent(): void;
257
269
  updateContent(): void;
258
270
  /**
259
271
  * Re-renders the visualizer and its content.
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - SurveyJS Dashboard library v2.2.2
2
+ * surveyjs - SurveyJS Dashboard library v2.2.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
  */
@@ -197,6 +197,12 @@
197
197
  min-width: 100px;
198
198
  max-width: 300px;
199
199
  }
200
+ .sa-question__select-wrapper .sa-question__select-title {
201
+ white-space: nowrap;
202
+ display: inline-block;
203
+ line-height: 34px;
204
+ padding-right: 8px;
205
+ }
200
206
  .sa-question__select-wrapper .sa-question__select {
201
207
  width: 100%;
202
208
  display: block;
@@ -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;;;;AElDA;EACE;AADF;;AAIA;EACE;AADF;;AAIA;EACE;EACA;AADF;AAEE;EAHF;IAII;EACF;AACF;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;AACF;;AAEA;EACE;AACF;AACE;EAHF;IAII;EAEF;AACF;;AACA;EACE,kDDpBiB;ECqBjB;AAEF;;AACA;EACE;EACA,qEDdsB;ECetB;EACA;EACA,iCDjCW;ECkCX;EACA;AAEF;;AACA;EACE;AAEF;AADE;EACE;EACA;EACA;EACA;EACA;EACA;AAGJ;;AAEE;EACE;AACJ;;AAGA;EACE,uED1CY;EC2CZ,sCDzCe;EC0Cf,iCD3DW;EC4DX;EACA;EACA;EACA;EACA;EACA;AAAF;;AAEA;EACE;EACA;AACF;;AAEA;EACE,uED1DY;EC2DZ,sCDzDe;EC0Df;EACA;EACA;EACA;EACA;EACA;AACF;AACE;EACE,0CD3EW;EC4EX;AACJ;AACE;EACE;AACJ;AACE;EACE;AACJ;;AAGA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;AAAF;AACE;EACE,gDD3FQ;AC4FZ;AAEI;EACE,qCD9FY;AC8FlB;AAGE;EACE;EACA;AADJ;;AAKA;EACE;AAFF;;AAMA;EACE;EACA;EACA;EACA;AAHF;AAKE;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA,2CDxIiB;ECyIjB,0CDhIW;ECiIX,YD/HkB;ECgIlB;EACA;AAHJ;AAKI;EACE;AAHN;AAMI;EACE;EACA;AAJN;AAOI;EACE,qCD9JW;ACyJjB;AASE;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAPJ;;AAYA;EACE;EACA;AATF;;AAYA;EACE;EACA;EACA;AATF;;AAYA;EACE;EACA;AATF;AAUE;EACE;EACA;EACA,gCD1MS;EC2MT;AARJ;;AAWA;EACE;EACA;EACA,iCDjNW;ACyMb;;AAUA;EACE;AAPF;;AAUA;AACA;EACE;EACA;EACA;EACA,4IACE;EAGF;AAVF;AAYA;AACA;EACE;EACA;EACA;EACA,0IACE;EAGF;AAbF;AAgBA;AACA;EACE;EACA;EACA;EACA,kJACE;EAGF;AAjBF;AAmBA;AACA;EACE;EACA;EACA;EACA,gJACE;EAGF;AApBF;;;;AC5OA;EACE;EACA;EACA;EACA;AADF;;AAIA;EACE;EACA,uEFgBY;EEfZ,sCFiBe;EEhBf,iCFDW;EEEX;EACA;EACA;AADF;;AAIA;EACE;EACA;EACA;EACA,0CFHa;EEIb,kDFRiB;EESjB,gBFHoB;AEEtB;;AAIA;EACE;AADF;;AAIA;EACE;AADF;;;;AC9BA;EACE;EACA;EACA;EACA;AADF;;AAIA;EACE;EACA,uEHgBY;EGfZ,sCHiBe;EGhBf,iCHDW;EGGX,kDHCiB;AGHnB;;AAKA;EACE;EACA;EACA;EACA,0CHFa;EGGb,kDHPiB;EGQjB,gBHFoB;AGAtB;;AAKA;EACE;EACA;AAFF;;AAKA;EACE;AAFF;;AAKA;EACE;EACA;EACA;AAFF;;AAIA;EACE;EACA,4CH3CW;AG0Cb;;;;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://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);","@use \"globals\" 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 {\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.sa-commercial {\n font-size: 12px;\n padding: 0.5em 0 0.5em 2em;\n svg {\n width: 20px;\n height: 20px;\n fill: $main-color;\n vertical-align: middle;\n }\n}\n.sa-commercial__text {\n font-weight: bold;\n text-decoration: none;\n color: $main-color;\n}\n.sa-commercial__product {\n padding-left: 0.5em;\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;;;;AElDA;EACE;AADF;;AAIA;EACE;AADF;;AAIA;EACE;EACA;AADF;AAEE;EAHF;IAII;EACF;AACF;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;AACF;;AAEA;EACE;AACF;AACE;EAHF;IAII;EAEF;AACF;;AACA;EACE,kDDpBiB;ECqBjB;AAEF;;AACA;EACE;EACA,qEDdsB;ECetB;EACA;EACA,iCDjCW;ECkCX;EACA;AAEF;;AACA;EACE;AAEF;AADE;EACE;EACA;EACA;EACA;EACA;EACA;AAGJ;;AAEE;EACE;AACJ;;AAGA;EACE,uED1CY;EC2CZ,sCDzCe;EC0Cf,iCD3DW;EC4DX;EACA;EACA;EACA;EACA;EACA;AAAF;;AAEA;EACE;EACA;AACF;;AAEA;EACE,uED1DY;EC2DZ,sCDzDe;EC0Df;EACA;EACA;EACA;EACA;EACA;AACF;AACE;EACE,0CD3EW;EC4EX;AACJ;AACE;EACE;AACJ;AACE;EACE;AACJ;;AAGA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;AAAF;AACE;EACE,gDD3FQ;AC4FZ;AAEI;EACE,qCD9FY;AC8FlB;AAGE;EACE;EACA;AADJ;;AAKA;EACE;AAFF;;AAMA;EACE;EACA;EACA;EACA;AAHF;AAKE;EACE;EACA;EACA;EACA;AAHJ;AAME;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA,2CD/IiB;ECgJjB,0CDvIW;ECwIX,YDtIkB;ECuIlB;EACA;AAJJ;AAMI;EACE;AAJN;AAOI;EACE;EACA;AALN;AAQI;EACE,qCDrKW;AC+JjB;AAUE;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AARJ;;AAaA;EACE;EACA;AAVF;;AAaA;EACE;EACA;EACA;AAVF;;AAaA;EACE;EACA;AAVF;AAWE;EACE;EACA;EACA,gCDjNS;ECkNT;AATJ;;AAYA;EACE;EACA;EACA,iCDxNW;AC+Mb;;AAWA;EACE;AARF;;AAWA;AACA;EACE;EACA;EACA;EACA,4IACE;EAGF;AAXF;AAaA;AACA;EACE;EACA;EACA;EACA,0IACE;EAGF;AAdF;AAiBA;AACA;EACE;EACA;EACA;EACA,kJACE;EAGF;AAlBF;AAoBA;AACA;EACE;EACA;EACA;EACA,gJACE;EAGF;AArBF;;;;AClPA;EACE;EACA;EACA;EACA;AADF;;AAIA;EACE;EACA,uEFgBY;EEfZ,sCFiBe;EEhBf,iCFDW;EEEX;EACA;EACA;AADF;;AAIA;EACE;EACA;EACA;EACA,0CFHa;EEIb,kDFRiB;EESjB,gBFHoB;AEEtB;;AAIA;EACE;AADF;;AAIA;EACE;AADF;;;;AC9BA;EACE;EACA;EACA;EACA;AADF;;AAIA;EACE;EACA,uEHgBY;EGfZ,sCHiBe;EGhBf,iCHDW;EGGX,kDHCiB;AGHnB;;AAKA;EACE;EACA;EACA;EACA,0CHFa;EGGb,kDHPiB;EGQjB,gBHFoB;AGAtB;;AAKA;EACE;EACA;AAFF;;AAKA;EACE;AAFF;;AAKA;EACE;EACA;EACA;AAFF;;AAIA;EACE;EACA,4CH3CW;AG0Cb;;;;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://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);","@use \"globals\" 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.sa-commercial {\n font-size: 12px;\n padding: 0.5em 0 0.5em 2em;\n svg {\n width: 20px;\n height: 20px;\n fill: $main-color;\n vertical-align: middle;\n }\n}\n.sa-commercial__text {\n font-weight: bold;\n text-decoration: none;\n color: $main-color;\n}\n.sa-commercial__product {\n padding-left: 0.5em;\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":""}