survey-analytics 2.5.16 → 3.0.0-beta.1

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 (237) hide show
  1. package/fesm/shared.mjs +759 -3180
  2. package/fesm/shared.mjs.map +1 -1
  3. package/fesm/shared2.mjs +10561 -8296
  4. package/fesm/shared2.mjs.map +1 -1
  5. package/fesm/shared3.mjs +4844 -0
  6. package/fesm/shared3.mjs.map +1 -0
  7. package/fesm/shared4.mjs +42 -0
  8. package/fesm/shared4.mjs.map +1 -0
  9. package/fesm/survey.analytics.apexcharts.mjs +1082 -0
  10. package/fesm/survey.analytics.apexcharts.mjs.map +1 -0
  11. package/fesm/survey.analytics.core.mjs +3 -3
  12. package/fesm/survey.analytics.mjs +7 -755
  13. package/fesm/survey.analytics.mjs.map +1 -1
  14. package/fesm/survey.analytics.mongo.mjs +1 -1
  15. package/fesm/survey.analytics.plotly.mjs +13 -0
  16. package/fesm/survey.analytics.plotly.mjs.map +1 -0
  17. package/fesm/survey.analytics.tabulator.mjs +341 -193
  18. package/fesm/survey.analytics.tabulator.mjs.map +1 -1
  19. package/fesm/themes/index.mjs +1942 -0
  20. package/fesm/themes/index.mjs.map +1 -0
  21. package/package.json +39 -10
  22. package/survey-analytics-plotly.types/alternativeVizualizersWrapper.d.ts +73 -0
  23. package/survey-analytics-plotly.types/analytics-localization/arabic.d.ts +100 -0
  24. package/survey-analytics-plotly.types/analytics-localization/dutch.d.ts +100 -0
  25. package/survey-analytics-plotly.types/analytics-localization/english.d.ts +142 -0
  26. package/survey-analytics-plotly.types/analytics-localization/farsi.d.ts +100 -0
  27. package/survey-analytics-plotly.types/analytics-localization/finnish.d.ts +100 -0
  28. package/survey-analytics-plotly.types/analytics-localization/french.d.ts +100 -0
  29. package/survey-analytics-plotly.types/analytics-localization/german.d.ts +100 -0
  30. package/survey-analytics-plotly.types/analytics-localization/italian.d.ts +100 -0
  31. package/survey-analytics-plotly.types/analytics-localization/japanese.d.ts +100 -0
  32. package/survey-analytics-plotly.types/analytics-localization/norwegian.d.ts +100 -0
  33. package/survey-analytics-plotly.types/analytics-localization/polish.d.ts +100 -0
  34. package/survey-analytics-plotly.types/analytics-localization/portuguese.d.ts +100 -0
  35. package/survey-analytics-plotly.types/analytics-localization/russian.d.ts +100 -0
  36. package/survey-analytics-plotly.types/analytics-localization/spanish.d.ts +100 -0
  37. package/survey-analytics-plotly.types/analytics-localization/swedish.d.ts +100 -0
  38. package/survey-analytics-plotly.types/axisDescription.d.ts +6 -0
  39. package/survey-analytics-plotly.types/boolean.d.ts +15 -0
  40. package/survey-analytics-plotly.types/card.d.ts +29 -0
  41. package/survey-analytics-plotly.types/chartConfig.d.ts +9 -0
  42. package/survey-analytics-plotly.types/config.d.ts +35 -0
  43. package/survey-analytics-plotly.types/dashboard.d.ts +51 -0
  44. package/survey-analytics-plotly.types/dataProvider.d.ts +69 -0
  45. package/survey-analytics-plotly.types/entries/plotly.d.ts +2 -0
  46. package/survey-analytics-plotly.types/entries/summary.core.d.ts +46 -0
  47. package/survey-analytics-plotly.types/filterInfo.d.ts +11 -0
  48. package/survey-analytics-plotly.types/histogram.d.ts +102 -0
  49. package/{survey-analytics.types/layoutEngine.d.ts → survey-analytics-plotly.types/layout-engine.d.ts} +0 -12
  50. package/survey-analytics-plotly.types/localizationManager.d.ts +164 -0
  51. package/survey-analytics-plotly.types/matrix.d.ts +17 -0
  52. package/survey-analytics-plotly.types/matrixDropdownGrouped.d.ts +15 -0
  53. package/survey-analytics-plotly.types/muuri-layout-engine.d.ts +13 -0
  54. package/survey-analytics-plotly.types/nps.d.ts +37 -0
  55. package/survey-analytics-plotly.types/number.d.ts +27 -0
  56. package/survey-analytics-plotly.types/pivot.d.ts +71 -0
  57. package/{survey-analytics.types → survey-analytics-plotly.types}/plotly/chart-adapter.d.ts +11 -2
  58. package/survey-analytics-plotly.types/plotly/setup.d.ts +150 -0
  59. package/survey-analytics-plotly.types/ranking.d.ts +12 -0
  60. package/survey-analytics-plotly.types/selectBase.d.ts +117 -0
  61. package/survey-analytics-plotly.types/sideBarItemCreators.d.ts +7 -0
  62. package/survey-analytics-plotly.types/statisticCalculators.d.ts +9 -0
  63. package/survey-analytics-plotly.types/statistics-table.d.ts +28 -0
  64. package/survey-analytics-plotly.types/svgbundle.d.ts +2 -0
  65. package/survey-analytics-plotly.types/text.d.ts +25 -0
  66. package/survey-analytics-plotly.types/theme.d.ts +51 -0
  67. package/survey-analytics-plotly.types/themes/default-light.d.ts +965 -0
  68. package/survey-analytics-plotly.types/utils/calculationDateRanges.d.ts +35 -0
  69. package/survey-analytics-plotly.types/utils/dateRangeModel.d.ts +32 -0
  70. package/survey-analytics-plotly.types/utils/dateRangeWidget.d.ts +38 -0
  71. package/survey-analytics-plotly.types/utils/documentHelper.d.ts +28 -0
  72. package/survey-analytics-plotly.types/utils/dropdownActionWidget.d.ts +34 -0
  73. package/survey-analytics-plotly.types/utils/dropdownBase.d.ts +48 -0
  74. package/survey-analytics-plotly.types/utils/dropdownWidget.d.ts +46 -0
  75. package/survey-analytics-plotly.types/utils/editableSeriesListWidget.d.ts +34 -0
  76. package/survey-analytics-plotly.types/utils/elementVisibilityAction.d.ts +22 -0
  77. package/survey-analytics-plotly.types/utils/index.d.ts +25 -0
  78. package/survey-analytics-plotly.types/utils/sidebarWidget.d.ts +48 -0
  79. package/survey-analytics-plotly.types/utils/toggle.d.ts +17 -0
  80. package/survey-analytics-plotly.types/utils/utils.d.ts +9 -0
  81. package/survey-analytics-plotly.types/visualizationComposite.d.ts +8 -0
  82. package/survey-analytics-plotly.types/visualizationManager.d.ts +61 -0
  83. package/survey-analytics-plotly.types/visualizationMatrixDropdown.d.ts +23 -0
  84. package/survey-analytics-plotly.types/visualizationMatrixDynamic.d.ts +8 -0
  85. package/survey-analytics-plotly.types/visualizationPanel.d.ts +464 -0
  86. package/survey-analytics-plotly.types/visualizationPanelDynamic.d.ts +20 -0
  87. package/survey-analytics-plotly.types/visualizer-interfaces.d.ts +25 -0
  88. package/survey-analytics-plotly.types/visualizerBase.d.ts +435 -0
  89. package/survey-analytics-plotly.types/visualizerDescription.d.ts +4 -0
  90. package/survey-analytics-plotly.types/visualizerFactory.d.ts +41 -0
  91. package/survey-analytics-plotly.types/wordcloud/stopwords/dutch.d.ts +1 -0
  92. package/survey-analytics-plotly.types/wordcloud/stopwords/english.d.ts +1 -0
  93. package/survey-analytics-plotly.types/wordcloud/stopwords/index.d.ts +3 -0
  94. package/survey-analytics-plotly.types/wordcloud/stopwords/norwegian.d.ts +1 -0
  95. package/survey-analytics-plotly.types/wordcloud/stopwords/spanish.d.ts +1 -0
  96. package/survey-analytics-plotly.types/wordcloud/widget.d.ts +38 -0
  97. package/survey-analytics-plotly.types/wordcloud/wordcloud.d.ts +28 -0
  98. package/survey-analytics-tabulator.types/analytics-localization/english.d.ts +40 -0
  99. package/survey-analytics-tabulator.types/entries/tabulator.d.ts +2 -25
  100. package/survey-analytics-tabulator.types/entries/tabulator.fontless.d.ts +26 -0
  101. package/survey-analytics-tabulator.types/localizationManager.d.ts +40 -0
  102. package/survey-analytics-tabulator.types/tables/columnbuilder.d.ts +16 -16
  103. package/survey-analytics-tabulator.types/tables/columns.d.ts +18 -18
  104. package/survey-analytics-tabulator.types/tables/config.d.ts +2 -2
  105. package/survey-analytics-tabulator.types/tables/extensions/footerextensions.d.ts +1 -0
  106. package/survey-analytics-tabulator.types/tables/extensions/tableextensions.d.ts +2 -1
  107. package/survey-analytics-tabulator.types/tables/table-interfaces.d.ts +56 -0
  108. package/survey-analytics-tabulator.types/tables/table.d.ts +4 -48
  109. package/survey-analytics-tabulator.types/tables/tabulator.d.ts +9 -1
  110. package/survey-analytics-tabulator.types/theme.d.ts +51 -0
  111. package/survey-analytics-tabulator.types/themes/default-light.d.ts +965 -0
  112. package/survey-analytics-tabulator.types/utils/documentHelper.d.ts +28 -0
  113. package/survey-analytics-tabulator.types/utils/dropdownActionWidget.d.ts +34 -0
  114. package/survey-analytics-tabulator.types/utils/dropdownBase.d.ts +48 -0
  115. package/survey-analytics-tabulator.types/utils/index.d.ts +1 -15
  116. package/survey-analytics.types/alternativeVizualizersWrapper.d.ts +9 -4
  117. package/survey-analytics.types/analytics-localization/english.d.ts +40 -0
  118. package/survey-analytics.types/apexcharts/chart-adapter.d.ts +29 -0
  119. package/survey-analytics.types/apexcharts/index.d.ts +2 -0
  120. package/survey-analytics.types/apexcharts/setup.d.ts +200 -0
  121. package/survey-analytics.types/axisDescription.d.ts +6 -0
  122. package/survey-analytics.types/boolean.d.ts +1 -1
  123. package/survey-analytics.types/card.d.ts +29 -0
  124. package/survey-analytics.types/chartConfig.d.ts +9 -0
  125. package/survey-analytics.types/config.d.ts +1 -33
  126. package/survey-analytics.types/dashboard.d.ts +51 -0
  127. package/survey-analytics.types/dataProvider.d.ts +17 -0
  128. package/survey-analytics.types/entries/apexcharts.d.ts +2 -0
  129. package/survey-analytics.types/entries/apexcharts.fontless.d.ts +2 -0
  130. package/survey-analytics.types/entries/summary.core.d.ts +9 -1
  131. package/survey-analytics.types/histogram.d.ts +29 -13
  132. package/survey-analytics.types/layout-engine.d.ts +29 -0
  133. package/survey-analytics.types/localizationManager.d.ts +40 -0
  134. package/survey-analytics.types/matrix.d.ts +3 -2
  135. package/survey-analytics.types/matrixDropdownGrouped.d.ts +3 -2
  136. package/survey-analytics.types/muuri-layout-engine.d.ts +13 -0
  137. package/survey-analytics.types/nps.d.ts +5 -10
  138. package/survey-analytics.types/number.d.ts +8 -7
  139. package/survey-analytics.types/pivot.d.ts +42 -40
  140. package/survey-analytics.types/ranking.d.ts +3 -2
  141. package/survey-analytics.types/selectBase.d.ts +13 -15
  142. package/survey-analytics.types/sideBarItemCreators.d.ts +7 -0
  143. package/survey-analytics.types/statisticCalculators.d.ts +8 -13
  144. package/survey-analytics.types/statistics-table.d.ts +2 -2
  145. package/survey-analytics.types/text.d.ts +4 -3
  146. package/survey-analytics.types/theme.d.ts +51 -0
  147. package/survey-analytics.types/themes/default-light.d.ts +965 -0
  148. package/survey-analytics.types/utils/calculationDateRanges.d.ts +35 -0
  149. package/survey-analytics.types/utils/dateRangeModel.d.ts +32 -0
  150. package/survey-analytics.types/utils/dateRangeWidget.d.ts +38 -0
  151. package/survey-analytics.types/utils/documentHelper.d.ts +28 -0
  152. package/survey-analytics.types/utils/dropdownActionWidget.d.ts +34 -0
  153. package/survey-analytics.types/utils/dropdownBase.d.ts +48 -0
  154. package/survey-analytics.types/utils/dropdownWidget.d.ts +46 -0
  155. package/survey-analytics.types/utils/editableSeriesListWidget.d.ts +34 -0
  156. package/survey-analytics.types/utils/elementVisibilityAction.d.ts +22 -0
  157. package/survey-analytics.types/utils/index.d.ts +1 -15
  158. package/survey-analytics.types/utils/sidebarWidget.d.ts +48 -0
  159. package/survey-analytics.types/utils/toggle.d.ts +17 -0
  160. package/survey-analytics.types/utils/utils.d.ts +9 -0
  161. package/survey-analytics.types/visualizationComposite.d.ts +1 -1
  162. package/survey-analytics.types/visualizationManager.d.ts +6 -5
  163. package/survey-analytics.types/visualizationMatrixDropdown.d.ts +2 -1
  164. package/survey-analytics.types/visualizationMatrixDynamic.d.ts +1 -1
  165. package/survey-analytics.types/visualizationPanel.d.ts +20 -3
  166. package/survey-analytics.types/visualizationPanelDynamic.d.ts +4 -3
  167. package/survey-analytics.types/visualizer-interfaces.d.ts +25 -0
  168. package/survey-analytics.types/visualizerBase.d.ts +80 -12
  169. package/survey-analytics.types/visualizerDescription.d.ts +4 -0
  170. package/survey-analytics.types/visualizerFactory.d.ts +11 -2
  171. package/survey-analytics.types/wordcloud/wordcloud.d.ts +6 -4
  172. package/survey.analytics.core.css +1534 -122
  173. package/survey.analytics.core.css.map +1 -1
  174. package/survey.analytics.core.d.ts +1 -0
  175. package/survey.analytics.core.js +6118 -1229
  176. package/survey.analytics.core.js.map +1 -1
  177. package/survey.analytics.core.min.css +11 -6
  178. package/survey.analytics.core.min.js +1 -1
  179. package/survey.analytics.core.min.js.LICENSE.txt +1 -1
  180. package/survey.analytics.css +1900 -129
  181. package/survey.analytics.css.map +1 -1
  182. package/survey.analytics.d.ts +2 -2
  183. package/survey.analytics.fontless.css +2009 -0
  184. package/survey.analytics.fontless.css.map +1 -0
  185. package/survey.analytics.fontless.min.css +16 -0
  186. package/survey.analytics.js +9764 -4539
  187. package/survey.analytics.js.map +1 -1
  188. package/survey.analytics.min.css +13 -6
  189. package/survey.analytics.min.js +1 -1
  190. package/survey.analytics.min.js.LICENSE.txt +1 -1
  191. package/survey.analytics.mongo.d.ts +1 -0
  192. package/survey.analytics.mongo.js +2 -2
  193. package/survey.analytics.mongo.js.map +1 -1
  194. package/survey.analytics.mongo.min.js +1 -1
  195. package/survey.analytics.mongo.min.js.LICENSE.txt +1 -1
  196. package/survey.analytics.plotly.css +2094 -0
  197. package/survey.analytics.plotly.css.map +1 -0
  198. package/survey.analytics.plotly.d.ts +2 -0
  199. package/survey.analytics.plotly.fontless.css +1872 -0
  200. package/survey.analytics.plotly.fontless.css.map +1 -0
  201. package/survey.analytics.plotly.fontless.min.css +15 -0
  202. package/survey.analytics.plotly.js +24673 -0
  203. package/survey.analytics.plotly.js.map +1 -0
  204. package/survey.analytics.plotly.min.css +16 -0
  205. package/survey.analytics.plotly.min.js +2 -0
  206. package/survey.analytics.plotly.min.js.LICENSE.txt +22 -0
  207. package/survey.analytics.tabulator.css +1005 -132
  208. package/survey.analytics.tabulator.css.map +1 -1
  209. package/survey.analytics.tabulator.d.ts +1 -0
  210. package/survey.analytics.tabulator.fontless.css +1134 -0
  211. package/survey.analytics.tabulator.fontless.css.map +1 -0
  212. package/survey.analytics.tabulator.fontless.min.css +6 -0
  213. package/survey.analytics.tabulator.js +2719 -476
  214. package/survey.analytics.tabulator.js.map +1 -1
  215. package/survey.analytics.tabulator.min.css +3 -2
  216. package/survey.analytics.tabulator.min.js +1 -1
  217. package/survey.analytics.tabulator.min.js.LICENSE.txt +1 -1
  218. package/themes/default-dark.js +1032 -0
  219. package/themes/default-dark.js.map +1 -0
  220. package/themes/default-dark.min.js +2 -0
  221. package/themes/default-dark.min.js.LICENSE.txt +5 -0
  222. package/themes/default-light.js +1032 -0
  223. package/themes/default-light.js.map +1 -0
  224. package/themes/default-light.min.js +2 -0
  225. package/themes/default-light.min.js.LICENSE.txt +5 -0
  226. package/themes/index.js +2063 -0
  227. package/themes/index.js.map +1 -0
  228. package/themes/index.min.js +2 -0
  229. package/themes/index.min.js.LICENSE.txt +5 -0
  230. package/themes/themes/default-dark.d.ts +965 -0
  231. package/themes/themes/default-light.d.ts +965 -0
  232. package/themes/themes/index.d.ts +1934 -0
  233. package/themes/utils/helpers.d.ts +8 -0
  234. package/survey-analytics.types/plotly/setup.d.ts +0 -32
  235. /package/{survey-analytics.types/entries/summary.d.ts → survey-analytics-plotly.types/entries/plotly.fontless.d.ts} +0 -0
  236. /package/{survey-analytics.types → survey-analytics-plotly.types}/plotly/index.d.ts +0 -0
  237. /package/{survey-analytics.types → survey-analytics-plotly.types}/plotly/legacy.d.ts +0 -0
@@ -0,0 +1,35 @@
1
+ export interface IDateRange {
2
+ start?: number;
3
+ end?: number;
4
+ }
5
+ export declare function startOfDay(d: Date): Date;
6
+ export declare function endOfDay(d: Date): Date;
7
+ export declare function toRange(start: Date | number, end: Date | number): IDateRange;
8
+ /** Last 7 days (excl. today): refDate minus 7 days through yesterday */
9
+ export declare function getLast7Days(refDate?: Date): IDateRange;
10
+ /** Last 14 days (excl. today): refDate minus 14 days through yesterday */
11
+ export declare function getLast14Days(refDate?: Date): IDateRange;
12
+ /** Last 28 days (excl. today): refDate minus 28 days through yesterday */
13
+ export declare function getLast28Days(refDate?: Date): IDateRange;
14
+ /** Last 30 days (excl. today): refDate minus 30 days through yesterday */
15
+ export declare function getLast30Days(refDate?: Date): IDateRange;
16
+ /** Last week (Monday-Sunday): previous Monday through previous Sunday */
17
+ export declare function getLastWeekMon(refDate?: Date): IDateRange;
18
+ /** Last week (Sunday-Saturday): previous Sunday through previous Saturday */
19
+ export declare function getLastWeekSun(refDate?: Date): IDateRange;
20
+ /** Last month: first day through last day of previous month */
21
+ export declare function getLastMonth(refDate?: Date): IDateRange;
22
+ /** Last quarter: first day through last day of previous quarter */
23
+ export declare function getLastQuarter(refDate?: Date): IDateRange;
24
+ /** Last year: January 1 through December 31 of previous year */
25
+ export declare function getLastYear(refDate?: Date): IDateRange;
26
+ /** This week to date (starts Sunday): Sunday through yesterday or today */
27
+ export declare function getThisWeekToDateSun(refDate?: Date, includeToday?: boolean): IDateRange;
28
+ /** This week to date (starts Monday): Monday through yesterday or today */
29
+ export declare function getThisWeekToDateMon(refDate?: Date, includeToday?: boolean): IDateRange;
30
+ /** This month to date: first day of month through yesterday or today */
31
+ export declare function getThisMonthToDate(refDate?: Date, includeToday?: boolean): IDateRange;
32
+ /** This quarter to date: first day of quarter through yesterday or today */
33
+ export declare function getThisQuarterToDate(refDate?: Date, includeToday?: boolean): IDateRange;
34
+ /** This year to date: January 1 through yesterday or today */
35
+ export declare function getThisYearToDate(refDate?: Date, includeToday?: boolean): IDateRange;
@@ -0,0 +1,32 @@
1
+ import { IDateRange } from "./calculationDateRanges";
2
+ export type DatePeriodEnum = "last7days" | "last14days" | "last28days" | "last30days" | "lastWeekMon" | "lastWeekSun" | "lastMonth" | "lastQuarter" | "lastYear" | "ytd" | "mtd" | "wtdSun" | "wtdMon" | "qtd";
3
+ export type DateRangeTuple = [startDate: Date | number, endDate: Date | number];
4
+ export declare const datePeriodsFunctions: Partial<Record<DatePeriodEnum, (refDate?: Date, includeToday?: boolean) => IDateRange>>;
5
+ export interface IDateRangeChangedOptions {
6
+ datePeriod?: DatePeriodEnum;
7
+ dateRange?: DateRangeTuple;
8
+ }
9
+ export interface IDateRangeModelOptions {
10
+ onDateRangeChanged: (dateRange: IDateRange, datePeriod: DatePeriodEnum) => void;
11
+ datePeriod?: DatePeriodEnum;
12
+ availableDatePeriods?: Array<DatePeriodEnum>;
13
+ dateRange?: DateRangeTuple;
14
+ includeToday?: boolean;
15
+ }
16
+ export declare class DateRangeModel {
17
+ private _currentDatePeriod;
18
+ private _currentDateRange;
19
+ private _availableDatePeriods;
20
+ private _onDateRangeChanged;
21
+ private _includeToday;
22
+ constructor(options: IDateRangeModelOptions);
23
+ get currentDatePeriod(): DatePeriodEnum;
24
+ get currentDateRange(): IDateRange;
25
+ get availableDatePeriods(): Array<DatePeriodEnum>;
26
+ get includeToday(): boolean;
27
+ set includeToday(newValue: boolean);
28
+ toggleIncludeToday(): void;
29
+ setDatePeriod(datePeriod: DatePeriodEnum | undefined): void;
30
+ setFilter(start: number, end: number, isCustom?: boolean): void;
31
+ periodIsToDate(): boolean;
32
+ }
@@ -0,0 +1,38 @@
1
+ import { DateRangeModel, DatePeriodEnum, datePeriodsFunctions, IDateRangeModelOptions } from "./dateRangeModel";
2
+ import "./dateRangeWidget.scss";
3
+ export type { DatePeriodEnum };
4
+ export { datePeriodsFunctions };
5
+ export interface IDateRangeWidgetOptions extends IDateRangeModelOptions {
6
+ showAnswerCount?: boolean;
7
+ }
8
+ export declare class DateRangeWidget {
9
+ private model;
10
+ private options;
11
+ static invalidRangeClassName: string;
12
+ static invalidRangeEditorClassName: string;
13
+ private dateRangeContainer;
14
+ private startDateEditor;
15
+ private endDateEditor;
16
+ private startDateInput;
17
+ private endDateInput;
18
+ private countLabel;
19
+ private rangeErrorMessage;
20
+ private datePeriodContainer;
21
+ private includeTodayContainer;
22
+ private includeTodayCheckbox;
23
+ private answersCount;
24
+ private elementRemoveClassName;
25
+ private updateMinMaxAttributes;
26
+ private setDateIntoInput;
27
+ private createErrorMessage;
28
+ private createDateEditor;
29
+ private createDivider;
30
+ private createIncludeTodayCheckbox;
31
+ private updateIncludeTodayCheckbox;
32
+ constructor(model: DateRangeModel, options: IDateRangeWidgetOptions);
33
+ render(): HTMLElement;
34
+ setDatePeriod(datePeriod: DatePeriodEnum | undefined): void;
35
+ updateElements(): void;
36
+ updateAnswersCount(answersCount?: number): void;
37
+ destroy(): void;
38
+ }
@@ -0,0 +1,28 @@
1
+ export declare class DocumentHelper {
2
+ static createSelector(options: Array<{
3
+ value: string;
4
+ text: string;
5
+ }> | Function, isSelected: (option: {
6
+ value: string;
7
+ text: string;
8
+ }) => boolean, handler: (e: any) => void, title?: string | Function): HTMLDivElement;
9
+ /**
10
+ * Destroys dropdown and removes all event handlers
11
+ * @param {HTMLElement} dropdownElement - Root dropdown element
12
+ */
13
+ static destroyDropdown(dropdownElement: any): void;
14
+ static createButton(handler: (e: any) => void, text?: string, className?: string, icon?: string): HTMLDivElement;
15
+ static setStyles(element: HTMLElement, styles: Record<string, any>): void;
16
+ static createElement(tagName: string, className?: string, attrs?: any): HTMLElement;
17
+ static createSvgElement(path: string): SVGSVGElement;
18
+ static createSvgButton(path: string, title?: string): HTMLButtonElement;
19
+ static createSvgToggleButton(svgPath1: string, svPpath2: string, text1: string, text2: string, handler1: (e: any) => any, handler2: (e: any) => any, state?: string, className?: string): HTMLElement;
20
+ static createInput(className: string, placeholder?: string, defaultValue?: string): HTMLInputElement;
21
+ static createTextEditor(options?: {
22
+ showIcon?: boolean;
23
+ placeholder?: string;
24
+ className?: string;
25
+ inputValue?: string;
26
+ onchange?: (val: any) => void;
27
+ }): HTMLElement;
28
+ }
@@ -0,0 +1,34 @@
1
+ import { DropdownBase, IDropdownItemOption } from "./dropdownBase";
2
+ export declare function createActionDropdown(options: IActionDropdownOptions): HTMLDivElement;
3
+ export interface IActionDropdownOptions {
4
+ options: Array<IDropdownItemOption> | (() => Array<IDropdownItemOption>);
5
+ isSelected: (option: {
6
+ value: string;
7
+ text: string;
8
+ icon?: string;
9
+ }) => boolean;
10
+ updateOption?: (option: IDropdownItemOption) => void;
11
+ handler: (value: string) => boolean;
12
+ title: string | (() => string) | Function;
13
+ className?: string;
14
+ showArrow?: boolean;
15
+ direction?: "up" | "down";
16
+ }
17
+ export declare class ActionDropdownWidget extends DropdownBase {
18
+ private options;
19
+ private headerText;
20
+ constructor(options: IActionDropdownOptions);
21
+ get direction(): "up" | "down";
22
+ protected createHeader(): HTMLDivElement;
23
+ private getTitleText;
24
+ protected getOptions(): IDropdownItemOption[];
25
+ protected isOptionSelected(option: IDropdownItemOption): boolean;
26
+ protected updateOption(option: IDropdownItemOption, item: HTMLLIElement): void;
27
+ protected onOptionSelect(option: IDropdownItemOption, dropdownItem: HTMLLIElement): void;
28
+ protected onBeforePopupShow(): void;
29
+ private updateHeaderLabel;
30
+ protected updateSelect(): void;
31
+ protected attachMethodsToElement(): void;
32
+ setValues(values: string[]): void;
33
+ getValues(): string[];
34
+ }
@@ -0,0 +1,48 @@
1
+ export interface IDropdownItemOption {
2
+ value: string;
3
+ text: string;
4
+ title?: string;
5
+ icon?: string;
6
+ [key: string]: any;
7
+ }
8
+ export declare abstract class DropdownBase {
9
+ protected className: string;
10
+ protected dropdownOpenedClass: string;
11
+ protected itemClassSelected: string;
12
+ protected dropdownElement: HTMLDivElement;
13
+ protected dropdownHeader: HTMLDivElement;
14
+ protected dropdownList: HTMLUListElement;
15
+ protected dropdownContainer: HTMLDivElement;
16
+ protected optionItems: IDropdownItemOption[];
17
+ protected currentFocusIndex: number;
18
+ protected handleClickOutsideRef: (event: MouseEvent) => void;
19
+ constructor(defaultClassName: string);
20
+ get isOpen(): boolean;
21
+ render(): HTMLDivElement;
22
+ protected createDropdownElement(): HTMLDivElement;
23
+ protected createList(): HTMLUListElement;
24
+ protected createContainer(): HTMLDivElement;
25
+ protected createArrow(arrowClassName?: string): HTMLDivElement;
26
+ protected showPopup(): void;
27
+ protected hidePopup(): void;
28
+ protected focusItem(index: number, updateAriaSelected?: boolean): void;
29
+ protected updateOptions(): void;
30
+ protected createOptionItem(option: IDropdownItemOption): HTMLLIElement;
31
+ protected handleOptionClick(e: MouseEvent, option: IDropdownItemOption, dropdownItem: HTMLLIElement): void;
32
+ protected handleKeyDown(e: KeyboardEvent): void;
33
+ protected handleClickOutside(event: MouseEvent): void;
34
+ protected bindEvents(): void;
35
+ protected handleHeaderClick(e: MouseEvent): void;
36
+ protected onBeforePopupShow(): void;
37
+ protected onOpenedByKeyboard(): void;
38
+ protected onDropdownOpened(): void;
39
+ protected updateItemSelection(): void;
40
+ protected updateOption(option: IDropdownItemOption, item: HTMLLIElement): void;
41
+ protected shouldUpdateAriaSelectedOnFocus(): boolean;
42
+ protected abstract createHeader(): HTMLDivElement;
43
+ protected abstract getOptions(): IDropdownItemOption[];
44
+ protected abstract isOptionSelected(option: IDropdownItemOption): boolean;
45
+ protected abstract onOptionSelect(option: IDropdownItemOption, dropdownItem: HTMLLIElement): void;
46
+ protected abstract updateSelect(): void;
47
+ protected abstract attachMethodsToElement(): void;
48
+ }
@@ -0,0 +1,46 @@
1
+ import { DropdownBase, IDropdownItemOption } from "./dropdownBase";
2
+ /**
3
+ * Creates a custom dropdown element with icon support
4
+ * @param options - Configuration object for the dropdown
5
+ * @returns Created dropdown element
6
+ */
7
+ export declare function createDropdown(options: IDropdownOptions): HTMLDivElement;
8
+ export interface IDropdownOptions {
9
+ /** Array of options or function that returns options */
10
+ options: Array<IDropdownItemOption> | (() => Array<IDropdownItemOption>);
11
+ /** Function to check if option is selected */
12
+ isSelected: (option: IDropdownItemOption) => boolean;
13
+ /** Selection handler */
14
+ handler: (value: string, option: IDropdownItemOption) => void;
15
+ /** Placeholder text when no option is selected */
16
+ placeholder?: string;
17
+ /** Title text above the dropdown */
18
+ title?: string | (() => string);
19
+ /** CSS class name for the dropdown */
20
+ className?: string;
21
+ resetHandler?: () => void;
22
+ }
23
+ export declare class DropdownWidget extends DropdownBase {
24
+ private options;
25
+ private optionsSource;
26
+ private placeholder;
27
+ private titleElement;
28
+ private headerContent;
29
+ private selectedOption;
30
+ constructor(options: IDropdownOptions);
31
+ protected createHeader(): HTMLDivElement;
32
+ private createResetButton;
33
+ private updateTitle;
34
+ protected getOptions(): IDropdownItemOption[];
35
+ protected isOptionSelected(option: IDropdownItemOption): boolean;
36
+ protected onOptionSelect(option: IDropdownItemOption, dropdownItem: HTMLLIElement): void;
37
+ protected onBeforePopupShow(): void;
38
+ protected onDropdownOpened(): void;
39
+ protected onOpenedByKeyboard(): void;
40
+ protected shouldUpdateAriaSelectedOnFocus(): boolean;
41
+ protected updateHeaderContent(): void;
42
+ protected updateSelect(): void;
43
+ protected attachMethodsToElement(): void;
44
+ setValue(value: string | null | undefined): void;
45
+ getValue(): string | null;
46
+ }
@@ -0,0 +1,34 @@
1
+ import { IDropdownItemOption } from "./dropdownBase";
2
+ import { IAxisDescription } from "../axisDescription";
3
+ import "./editableSeriesListWidget.scss";
4
+ export interface IEditableSeriesListItemAction {
5
+ text: string;
6
+ onClick: () => void;
7
+ }
8
+ export interface IEditableSeriesListOptions {
9
+ title: string;
10
+ items: Array<IAxisDescription>;
11
+ getOptions: () => Array<IDropdownItemOption>;
12
+ onChange: (items: IAxisDescription[]) => void;
13
+ maxSeriesCount?: number;
14
+ getItemExtraButtons?: () => (item: IAxisDescription, index: number) => IEditableSeriesListItemAction[];
15
+ }
16
+ export declare class EditableSeriesListWidget {
17
+ private options;
18
+ addBtn: HTMLDivElement;
19
+ private root;
20
+ private listContainer;
21
+ private items;
22
+ private aggregationOptions;
23
+ constructor(options: IEditableSeriesListOptions);
24
+ render(): HTMLDivElement;
25
+ private notifyChange;
26
+ removeAt(index: number): void;
27
+ private addItem;
28
+ setItemAt(index: number, patch: Partial<IAxisDescription>): void;
29
+ setItems(items: IAxisDescription[]): void;
30
+ refresh(): void;
31
+ private renderItems;
32
+ private createCardElement;
33
+ private createAddButton;
34
+ }
@@ -0,0 +1,22 @@
1
+ import { VisualizationPanel } from "../visualizationPanel";
2
+ import { IDropdownItemOption } from "./dropdownBase";
3
+ export declare class ElementVisibilityAction {
4
+ private panel;
5
+ constructor(panel: VisualizationPanel);
6
+ private get allVisible();
7
+ get toggleText(): any;
8
+ getOptions(): ({
9
+ value: string;
10
+ text: any;
11
+ title: any;
12
+ className: string;
13
+ } | {
14
+ value: string;
15
+ text: string;
16
+ title: string;
17
+ icon: string;
18
+ })[];
19
+ updateOption(option: IDropdownItemOption): void;
20
+ isSelected(option: IDropdownItemOption): boolean;
21
+ handleSelect(value: string): boolean;
22
+ }
@@ -1,18 +1,3 @@
1
- export declare class DocumentHelper {
2
- static createSelector(options: Array<{
3
- value: string;
4
- text: string;
5
- }> | Function, isSelected: (option: {
6
- value: string;
7
- text: string;
8
- }) => boolean, handler: (e: any) => void, title?: string | Function): HTMLDivElement;
9
- static createButton(handler: (e: any) => void, text?: string, className?: string): HTMLElement;
10
- static createElement(tagName: string, className?: string, attrs?: any): HTMLElement;
11
- static createSvgElement(path: string): SVGSVGElement;
12
- static createSvgButton(path: string): HTMLButtonElement;
13
- static createSvgToggleButton(svgPath1: string, svPpath2: string, text1: string, text2: string, handler1: (e: any) => any, handler2: (e: any) => any, state?: string, className?: string): HTMLElement;
14
- static createInput(className: string, placeholder?: string, defaultValue?: string): HTMLInputElement;
15
- }
16
1
  export declare var options: {
17
2
  runningInBrowser: boolean;
18
3
  };
@@ -37,3 +22,4 @@ export declare function createImagesContainer(links: Array<{
37
22
  content: any;
38
23
  }>): HTMLElement;
39
24
  export declare function toPrecision(value: number, precision?: number): number;
25
+ export declare function getDiffsFromDefaults(obj: any, defaultObj?: any): any;
@@ -0,0 +1,48 @@
1
+ import { SideBarItemCreators } from "../sideBarItemCreators";
2
+ import "./sidebar.scss";
3
+ /**
4
+ * Options for the sidebar widget (toolbar button + sliding panel).
5
+ */
6
+ export interface ISidebarOptions {
7
+ /** Panel title shown in the header */
8
+ title: string;
9
+ /**
10
+ * Array of sidebar item entries (creator + optional groupIndex). Items with different groupIndex are separated by a divider.
11
+ * For backward compatibility, a plain array of creator functions is also accepted (all items are treated as one group).
12
+ */
13
+ itemCreators: SideBarItemCreators;
14
+ /** SVG icon name for the toolbar button (e.g. "settings_24x24"). */
15
+ buttonIcon?: string;
16
+ /** Accessible title for the toolbar button. */
17
+ buttonTitle?: string;
18
+ /** Optional CSS class for the panel root. */
19
+ panelClassName?: string;
20
+ }
21
+ /**
22
+ * Widget that renders a toolbar button which opens a sidebar (sliding) panel.
23
+ * The panel is rendered on the side (e.g. right), shows a title with close button, and renders content from toolbarItemCreators.
24
+ */
25
+ export declare class SidebarWidget {
26
+ private options;
27
+ private buttonElement;
28
+ private panelElement;
29
+ private backdropElement;
30
+ private contentContainer;
31
+ constructor(options: ISidebarOptions);
32
+ /**
33
+ * Renders the toolbar button. When clicked, opens the sidebar panel.
34
+ * @param _toolbar - Optional toolbar container (for API compatibility with toolbar item creators).
35
+ * @returns The button element to be placed in the toolbar.
36
+ */
37
+ render(_toolbar?: HTMLDivElement): HTMLDivElement;
38
+ private getSideBarToolbarItemCreators;
39
+ private ensurePanel;
40
+ private ensureBackdrop;
41
+ private createDivider;
42
+ open(): void;
43
+ close(): void;
44
+ toggle(): void;
45
+ get isOpen(): boolean;
46
+ destroy(): void;
47
+ destroyPanel(): void;
48
+ }
@@ -0,0 +1,17 @@
1
+ import "./toggle.scss";
2
+ export declare class ToggleWidget {
3
+ private toggleHandler;
4
+ private text?;
5
+ private toggleElement;
6
+ private isActive;
7
+ container: HTMLElement;
8
+ constructor(toggleHandler: (options: {
9
+ isActive: boolean;
10
+ }) => void, text?: string | Function, initialState?: boolean);
11
+ get title(): string;
12
+ createWidget(): void;
13
+ bindEvents(): void;
14
+ toggle(): void;
15
+ updateView(): void;
16
+ setState(state: any): void;
17
+ }
@@ -0,0 +1,9 @@
1
+ export declare function reverseAll(labels: string[], seriesLabels: string[], colors: string[], hasSeries: boolean, texts: any[][], datasets: any[][]): {
2
+ labels: string[];
3
+ seriesLabels: string[];
4
+ colors: string[];
5
+ texts: any[][];
6
+ datasets: any[][];
7
+ };
8
+ export declare function removeUndefinedProperties(obj: any): void;
9
+ export declare function isAllZeros(arr: Array<number>): boolean;
@@ -3,6 +3,6 @@ import { VisualizationPanelDynamic } from "./visualizationPanelDynamic";
3
3
  export declare class VisualizationComposite extends VisualizationPanelDynamic {
4
4
  constructor(question: Question, data: Array<{
5
5
  [index: string]: any;
6
- }>, options?: Object, name?: string);
6
+ }>, options?: Object, type?: string);
7
7
  getQuestions(): Array<Question>;
8
8
  }
@@ -5,31 +5,31 @@ declare type VisualizerConstructor = new (question: Question, data: Array<{
5
5
  /**
6
6
  * An object with methods used to register and unregister visualizers for individual question types.
7
7
  *
8
- * [View Demo](https://surveyjs.io/dashboard/examples/custom-survey-data-visualizer/ (linkStyle))
8
+ * [How to Implement a Custom Data Visualizer](https://github.com/surveyjs/surveyjs-howtos-and-troubleshooting/blob/main/categories/data-visualization/custom-survey-data-visualizer.md (linkStyle))
9
9
  */
10
10
  export declare class VisualizationManager {
11
11
  static defaultVisualizer: any;
12
12
  static alternativesVisualizer: any;
13
13
  static pivotVisualizer: any;
14
+ static chartAdapterType: any;
14
15
  static vizualizers: {
15
16
  [index: string]: Array<{
16
17
  ctor: VisualizerConstructor;
17
18
  index: number;
19
+ visualizerType: string;
18
20
  }>;
19
21
  };
20
22
  /**
21
23
  * Registers a visualizer for a specified question type.
22
24
  *
23
- * [View Demo](https://surveyjs.io/dashboard/examples/custom-survey-data-visualizer/ (linkStyle))
25
+ * [How to Implement a Custom Data Visualizer](https://github.com/surveyjs/surveyjs-howtos-and-troubleshooting/blob/main/categories/data-visualization/custom-survey-data-visualizer.md (linkStyle))
24
26
  * @param questionType A question [type](https://surveyjs.io/form-library/documentation/api-reference/question#getType).
25
27
  * @param constructor A function that returns a visualizer constructor to register.
26
28
  * @param index A zero-based index that specifies the visualizer's position in the visualizer list for the specified question type. Pass `0` to insert the visualizer at the beginning of the list and use it by default. If `index` is not specified, the visualizer is added to the end of the list.
27
29
  */
28
- static registerVisualizer(questionType: string, constructor: VisualizerConstructor, index?: number): void;
30
+ static registerVisualizer(questionType: string, constructor: VisualizerConstructor, index?: number, visualizerType?: string): void;
29
31
  /**
30
32
  * Unregisters a visualizer for a specified question type.
31
- *
32
- * [View Demo](https://surveyjs.io/dashboard/examples/visualize-answers-from-text-entry-fields-with-charts/ (linkStyle))
33
33
  * @param questionType A question [type](https://surveyjs.io/form-library/documentation/api-reference/question#getType).
34
34
  * @param constructor A function that returns a visualizer constructor to unregister.
35
35
  */
@@ -44,6 +44,7 @@ export declare class VisualizationManager {
44
44
  * @param visualizerType A question [type](https://surveyjs.io/form-library/documentation/api-reference/question#getType).
45
45
  */
46
46
  static getVisualizersByType(visualizerType: string, fallbackVisualizerType?: string): VisualizerConstructor[];
47
+ static getVisualizerNamesByType(visualizerType: string, fallbackVisualizerType?: string): Array<string>;
47
48
  /**
48
49
  * Returns a constructor for an alternative visualizer selector.
49
50
  * @see registerAltVisualizerSelector
@@ -7,7 +7,7 @@ export declare class VisualizationMatrixDropdown extends VisualizerBase {
7
7
  [index: string]: any;
8
8
  }>, options?: {
9
9
  [index: string]: any;
10
- }, name?: string);
10
+ }, type?: string);
11
11
  get canGroupColumns(): boolean;
12
12
  protected setLocale(newLocale: string): void;
13
13
  get contentVisualizer(): VisualizerBase;
@@ -16,6 +16,7 @@ export declare class VisualizationMatrixDropdown extends VisualizerBase {
16
16
  [index: string]: any;
17
17
  }>): void;
18
18
  getQuestions(): Array<Question>;
19
+ protected onThemeChanged(): void;
19
20
  destroyContent(container: HTMLElement): void;
20
21
  renderContent(container: HTMLElement): void;
21
22
  destroy(): void;
@@ -3,6 +3,6 @@ import { VisualizationPanelDynamic } from "./visualizationPanelDynamic";
3
3
  export declare class VisualizationMatrixDynamic extends VisualizationPanelDynamic {
4
4
  constructor(question: Question, data: Array<{
5
5
  [index: string]: any;
6
- }>, options?: Object, name?: string);
6
+ }>, options?: Object, type?: string);
7
7
  getQuestions(): Question[];
8
8
  }
@@ -1,9 +1,10 @@
1
1
  import { Event, SurveyModel } from "survey-core";
2
- import { VisualizerBase } from "./visualizerBase";
2
+ import { ICalculationResult, VisualizerBase } from "./visualizerBase";
3
3
  import { AlternativeVisualizersWrapper } from "./alternativeVizualizersWrapper";
4
4
  import { IVisualizerPanelElement, IState, IPermission } from "./config";
5
- import { LayoutEngine } from "./layoutEngine";
5
+ import { LayoutEngine } from "./layout-engine";
6
6
  import { DataProvider } from "./dataProvider";
7
+ import { IDateRangeChangedOptions } from "./utils/dateRangeModel";
7
8
  import "./visualizationPanel.scss";
8
9
  export interface IVisualizerPanelRenderedElement extends IVisualizerPanelElement {
9
10
  renderedElement?: HTMLElement;
@@ -242,6 +243,7 @@ export interface IVisualizationPanelOptions {
242
243
  * Default value: `true`
243
244
  */
244
245
  allowChangeVisualizerType?: boolean;
246
+ legendPosition?: "left" | "right" | "top" | "bottom";
245
247
  }
246
248
  /**
247
249
  * An object that visualizes survey results and allows users to analyze them.
@@ -261,8 +263,15 @@ export declare class VisualizationPanel extends VisualizerBase {
261
263
  protected questions: Array<any>;
262
264
  private _elements;
263
265
  private isRoot;
266
+ static LayoutEngine: new (allowed: boolean, itemSelector: string, dragEnabled?: boolean) => LayoutEngine;
264
267
  visualizers: Array<VisualizerBase>;
265
268
  private renderedQuestionsCount;
269
+ private static counter;
270
+ private resetFilterButton;
271
+ private _dateRangeWidget;
272
+ private _dateRangeModel;
273
+ private static getVisualizerName;
274
+ private updateResetFilterButtonDisabled;
266
275
  constructor(questions: Array<any>, data: Array<{
267
276
  [index: string]: any;
268
277
  }>, options?: IVisualizationPanelOptions, _elements?: Array<IVisualizerPanelRenderedElement>, isRoot?: boolean);
@@ -283,6 +292,9 @@ export declare class VisualizationPanel extends VisualizerBase {
283
292
  **/
284
293
  onAlternativeVisualizerChanged: Event<(sender: AlternativeVisualizersWrapper, options: any) => any, AlternativeVisualizersWrapper, any>;
285
294
  private onAlternativeVisualizerChangedCallback;
295
+ private createHideButtonElement;
296
+ private createDragAreaElement;
297
+ private createHeaderElement;
286
298
  protected onDataChanged(): void;
287
299
  protected showElementCore(element: IVisualizerPanelRenderedElement, elementIndex?: number): void;
288
300
  showElement(elementName: string): void;
@@ -321,6 +333,7 @@ export declare class VisualizationPanel extends VisualizerBase {
321
333
  */
322
334
  get allowHideQuestions(): boolean;
323
335
  get allowMakeQuestionsPrivate(): boolean;
336
+ get haveSeveralChildren(): boolean;
324
337
  private _layoutEngine;
325
338
  /**
326
339
  * Returns a [`LayoutEngine`](https://surveyjs.io/dashboard/documentation/api-reference/layoutengine) instance used to arrange visualization items on `VisualizationPanel`.
@@ -412,9 +425,12 @@ export declare class VisualizationPanel extends VisualizerBase {
412
425
  * A visualization item that has been moved.
413
426
  */
414
427
  onElementMoved: Event<(sender: VisualizationPanel, options: any) => any, VisualizationPanel, any>;
428
+ onDateRangeChanged: Event<(sender: VisualizationPanel, options: IDateRangeChangedOptions) => any, VisualizationPanel, any>;
429
+ createDateRangeWidget(): void;
415
430
  protected visibleElementsChanged(element: IVisualizerPanelElement, reason: string): void;
416
431
  onPermissionsChangedCallback: any;
417
432
  protected renderPanelElement(element: IVisualizerPanelRenderedElement, container: HTMLElement): HTMLElement;
433
+ protected renderBanner(container: HTMLElement): void;
418
434
  protected renderToolbar(container: HTMLElement): void;
419
435
  renderContent(container: HTMLElement): void;
420
436
  protected destroyContent(container: HTMLElement): void;
@@ -442,6 +458,7 @@ export declare class VisualizationPanel extends VisualizerBase {
442
458
  resetState(): void;
443
459
  get permissions(): IPermission[];
444
460
  set permissions(permissions: IPermission[]);
445
- protected getCalculatedValuesCore(): Array<any>;
461
+ protected getCalculatedValuesCore(): ICalculationResult;
462
+ protected onThemeChanged(): void;
446
463
  destroy(): void;
447
464
  }
@@ -1,18 +1,19 @@
1
+ import { Question, IQuestion } from "survey-core";
1
2
  import { VisualizerBase } from "./visualizerBase";
2
3
  import { VisualizationPanel } from "./visualizationPanel";
3
- import { Question, IQuestion } from "survey-core";
4
4
  export declare class VisualizationPanelDynamic extends VisualizerBase {
5
5
  protected _contentVisualizer: VisualizationPanel;
6
6
  constructor(question: Question, data: Array<{
7
7
  [index: string]: any;
8
8
  }>, options?: {
9
9
  [index: string]: any;
10
- }, name?: string);
10
+ }, type?: string);
11
11
  get contentVisualizer(): VisualizationPanel;
12
12
  protected setLocale(newLocale: string): void;
13
13
  private onAfterRenderPanelCallback;
14
- resetFilter(): void;
14
+ resetContentFilter(): void;
15
15
  getQuestions(): IQuestion[];
16
+ protected onThemeChanged(): void;
16
17
  destroyContent(container: HTMLElement): void;
17
18
  renderContent(container: HTMLElement): void;
18
19
  destroy(): void;
@@ -0,0 +1,25 @@
1
+ import { Question } from "survey-core";
2
+ export interface IVisualizerOptions {
3
+ dataField: string;
4
+ type?: string;
5
+ availableTypes?: string[];
6
+ title?: string;
7
+ allowChangeType?: boolean;
8
+ answersOrder?: "default" | "asc" | "desc";
9
+ [key: string]: any;
10
+ }
11
+ export interface IVisualizerDescription {
12
+ visualizerType: string;
13
+ visualizerTypes?: Array<string>;
14
+ chartType?: string;
15
+ availableTypes?: any;
16
+ question?: Question;
17
+ questionName?: string;
18
+ dataName?: string;
19
+ displayValueName?: string;
20
+ title?: string;
21
+ answersOrder?: "default" | "asc" | "desc";
22
+ options?: {
23
+ [index: string]: any;
24
+ };
25
+ }