survey-react 1.9.78 → 1.9.80

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.
package/survey.react.d.ts CHANGED
@@ -1471,6 +1471,7 @@ declare module "list" {
1471
1471
  onSelectionChanged: (item: T, ...params: any[]) => void;
1472
1472
  allowSelection: boolean;
1473
1473
  private onFilterStringChangedCallback?;
1474
+ elementId?: string;
1474
1475
  private listContainerHtmlElement;
1475
1476
  private loadingIndicatorValue;
1476
1477
  searchEnabled: boolean;
@@ -1492,7 +1493,7 @@ declare module "list" {
1492
1493
  get visibleItems(): Array<T>;
1493
1494
  private get shouldProcessFilter();
1494
1495
  private onFilterStringChanged;
1495
- constructor(items: Array<IAction>, onSelectionChanged: (item: T, ...params: any[]) => void, allowSelection: boolean, selectedItem?: IAction, onFilterStringChangedCallback?: (text: string) => void);
1496
+ constructor(items: Array<IAction>, onSelectionChanged: (item: T, ...params: any[]) => void, allowSelection: boolean, selectedItem?: IAction, onFilterStringChangedCallback?: (text: string) => void, elementId?: string);
1496
1497
  setItems(items: Array<IAction>, sortByVisibleIndex?: boolean): void;
1497
1498
  protected onSet(): void;
1498
1499
  protected getDefaultCssClasses(): {
@@ -1759,6 +1760,7 @@ declare module "actions/action" {
1759
1760
  ariaChecked?: boolean;
1760
1761
  ariaExpanded?: boolean;
1761
1762
  ariaRole?: string;
1763
+ elementId?: string;
1762
1764
  }
1763
1765
  export interface IActionDropdownPopupOptions extends IListModel, IPopupOptionsBase {
1764
1766
  }
@@ -1829,7 +1831,6 @@ declare module "actions/action" {
1829
1831
  private raiseUpdate;
1830
1832
  constructor(innerItem: IAction);
1831
1833
  private createLocTitle;
1832
- owner: ILocalizableOwner;
1833
1834
  location?: string;
1834
1835
  id: string;
1835
1836
  private _visible;
@@ -2276,9 +2277,14 @@ declare module "survey-element" {
2276
2277
  protected getIsErrorsModeTooltip(): boolean;
2277
2278
  protected getIsTooltipErrorSupportedByParent(): boolean;
2278
2279
  protected getIsTooltipErrorInsideSupported(): boolean;
2279
- get hasParent(): boolean;
2280
+ get hasParent(): any;
2280
2281
  isSingleInRow: boolean;
2281
- protected get hasFrameV2(): boolean;
2282
+ private shouldAddRunnerStyles;
2283
+ protected getHasFrameV2(): boolean;
2284
+ protected getIsNested(): boolean;
2285
+ protected getCssRoot(cssClasses: {
2286
+ [index: string]: string;
2287
+ }): string;
2282
2288
  /**
2283
2289
  * Sets survey element width in CSS values.
2284
2290
  *
@@ -2340,6 +2346,7 @@ declare module "survey-element" {
2340
2346
  get clickTitleFunction(): any;
2341
2347
  protected needClickTitleFunction(): boolean;
2342
2348
  protected processTitleClick(): void;
2349
+ protected getCssTitle(cssClasses: any): string;
2343
2350
  localeChanged(): void;
2344
2351
  }
2345
2352
  }
@@ -2486,9 +2493,11 @@ declare module "defaultCss/defaultV2Css" {
2486
2493
  edit: string;
2487
2494
  };
2488
2495
  panel: {
2496
+ asPage: string;
2489
2497
  number: string;
2490
2498
  title: string;
2491
2499
  titleExpandable: string;
2500
+ titleNumInline: string;
2492
2501
  titleExpanded: string;
2493
2502
  titleCollapsed: string;
2494
2503
  titleDisabled: string;
@@ -2577,6 +2586,7 @@ declare module "defaultCss/defaultV2Css" {
2577
2586
  headerBottom: string;
2578
2587
  content: string;
2579
2588
  contentLeft: string;
2589
+ titleNumInline: string;
2580
2590
  titleLeftRoot: string;
2581
2591
  titleOnAnswer: string;
2582
2592
  titleOnError: string;
@@ -2723,6 +2733,7 @@ declare module "defaultCss/defaultV2Css" {
2723
2733
  itemLabelOnError: string;
2724
2734
  item: string;
2725
2735
  itemTitle: string;
2736
+ content: string;
2726
2737
  row: string;
2727
2738
  cell: string;
2728
2739
  };
@@ -2751,6 +2762,8 @@ declare module "defaultCss/defaultV2Css" {
2751
2762
  controlLabel: string;
2752
2763
  filterStringInput: string;
2753
2764
  materialDecorator: string;
2765
+ hintPrefix: string;
2766
+ hintSuffix: string;
2754
2767
  };
2755
2768
  imagepicker: {
2756
2769
  mainRoot: string;
@@ -2833,6 +2846,7 @@ declare module "defaultCss/defaultV2Css" {
2833
2846
  empty: string;
2834
2847
  root: string;
2835
2848
  tableWrapper: string;
2849
+ content: string;
2836
2850
  cell: string;
2837
2851
  row: string;
2838
2852
  itemCell: string;
@@ -2878,6 +2892,11 @@ declare module "defaultCss/defaultV2Css" {
2878
2892
  itemStarDisabled: string;
2879
2893
  itemStarHighlighted: string;
2880
2894
  itemStarUnhighlighted: string;
2895
+ itemSmiley: string;
2896
+ itemSmileyOnError: string;
2897
+ itemSmileyHover: string;
2898
+ itemSmileySelected: string;
2899
+ itemSmileyDisabled: string;
2881
2900
  minText: string;
2882
2901
  itemText: string;
2883
2902
  maxText: string;
@@ -2953,6 +2972,7 @@ declare module "defaultCss/defaultV2Css" {
2953
2972
  error: string;
2954
2973
  success: string;
2955
2974
  button: string;
2975
+ shown: string;
2956
2976
  };
2957
2977
  window: {
2958
2978
  root: string;
@@ -3675,6 +3695,7 @@ declare module "question_baseselect" {
3675
3695
  protected runItemsEnableCondition(values: HashTable<any>, properties: HashTable<any>): any;
3676
3696
  protected onAfterRunItemsEnableCondition(): void;
3677
3697
  protected onEnableItemCallBack(item: ItemValue): boolean;
3698
+ protected onSelectedItemValuesChangedHandler(newValue: any): void;
3678
3699
  private setConditionalChoicesRunner;
3679
3700
  private setConditionalEnableChoicesRunner;
3680
3701
  private canSurveyChangeItemVisibility;
@@ -3870,7 +3891,8 @@ declare module "question_baseselect" {
3870
3891
  private getFilteredChoices;
3871
3892
  protected get activeChoices(): Array<ItemValue>;
3872
3893
  private getQuestionWithChoices;
3873
- protected getChoicesFromQuestion(question: QuestionSelectBase): Array<ItemValue>;
3894
+ private getChoicesFromQuestion;
3895
+ private copyChoiceItem;
3874
3896
  protected get hasActiveChoices(): boolean;
3875
3897
  protected isHeadChoice(item: ItemValue, question: QuestionSelectBase): boolean;
3876
3898
  protected isFootChoice(item: ItemValue, question: QuestionSelectBase): boolean;
@@ -4579,6 +4601,7 @@ declare module "notifier" {
4579
4601
  export class Notifier extends Base {
4580
4602
  private cssClasses;
4581
4603
  active: boolean;
4604
+ isDisplayed: boolean;
4582
4605
  message: string;
4583
4606
  css: string;
4584
4607
  timeout: number;
@@ -4591,10 +4614,11 @@ declare module "notifier" {
4591
4614
  error: string;
4592
4615
  success: string;
4593
4616
  button: string;
4617
+ shown: string;
4594
4618
  });
4595
4619
  getCssClass(type: string): string;
4596
4620
  updateActionsVisibility(type: string): void;
4597
- notify(message: string, type?: string): void;
4621
+ notify(message: string, type?: string, waitUserAction?: boolean): void;
4598
4622
  addAction(action: IAction, notificationType: string): void;
4599
4623
  }
4600
4624
  }
@@ -5110,7 +5134,6 @@ declare module "dragdrop/matrix-rows" {
5110
5134
  private toIndex;
5111
5135
  protected getDropTargetByDataAttributeValue(dataAttributeValue: any): MatrixDropdownRowModelBase;
5112
5136
  protected isDropTargetValid(dropTarget: any): boolean;
5113
- protected findDropTargetNodeByDragOverNode(dragOverNode: HTMLElement): HTMLElement;
5114
5137
  protected calculateIsBottom(clientY: number): boolean;
5115
5138
  protected afterDragOver(dropTargetNode: HTMLElement): void;
5116
5139
  protected doDrop: () => QuestionMatrixDynamicModel;
@@ -5885,9 +5908,13 @@ declare module "survey-events-api" {
5885
5908
  }
5886
5909
  export interface ProcessHtmlEvent {
5887
5910
  /**
5888
- * an HTML that you may change before text processing and then rendering. specifies the modified HTML content
5911
+ * HTML markup. You can modify this parameter's value.
5889
5912
  */
5890
5913
  html: string;
5914
+ /**
5915
+ * Indicates a page, question, or message for which HTML content is intended: [`"completed"`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#completedHtml) | [`"completed-before"`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#completedBeforeHtml) | [`"loading"`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#loadingHtml) | [`"html-question"`](https://surveyjs.io/form-library/documentation/api-reference/add-custom-html-to-survey#html).
5916
+ */
5917
+ reason: string;
5891
5918
  }
5892
5919
  export interface GetQuestionTitleEvent extends QuestionEventMixin {
5893
5920
  /**
@@ -7122,7 +7149,7 @@ declare module "survey" {
7122
7149
  */
7123
7150
  onValidatedErrorsOnCurrentPage: EventBase<SurveyModel, ValidatedErrorsOnCurrentPageEvent>;
7124
7151
  /**
7125
- * Use this event to modify the HTML content before rendering, for example `completeHtml` or `loadingHtml`.
7152
+ * An event that is raised when the survey processes HTML content. Handle this event to modify HTML content before displaying.
7126
7153
  * @see completedHtml
7127
7154
  * @see loadingHtml
7128
7155
  * @see QuestionHtmlModel.html
@@ -7493,6 +7520,7 @@ declare module "survey" {
7493
7520
  */
7494
7521
  onGetExpressionDisplayValue: EventBase<SurveyModel, GetExpressionDisplayValueEvent>;
7495
7522
  constructor(jsonObj?: any, renderedElement?: any);
7523
+ protected createTryAgainAction(): IAction;
7496
7524
  private createHtmlLocString;
7497
7525
  /**
7498
7526
  * The list of errors on loading survey JSON. If the list is empty after loading a JSON, then the JSON is correct and has no errors.
@@ -7629,6 +7657,8 @@ declare module "survey" {
7629
7657
  * Gets or sets the visibility of the table of contents.
7630
7658
  *
7631
7659
  * Default value: `false`
7660
+ *
7661
+ * [View Demo](https://surveyjs.io/form-library/examples/toc-feature/ (linkStyle))
7632
7662
  * @see tocLocation
7633
7663
  */
7634
7664
  get showTOC(): boolean;
@@ -7640,6 +7670,8 @@ declare module "survey" {
7640
7670
  *
7641
7671
  * - `"left"` (default)
7642
7672
  * - `"right"`
7673
+ *
7674
+ * [View Demo](https://surveyjs.io/form-library/examples/toc-feature/ (linkStyle))
7643
7675
  * @see showTOC
7644
7676
  */
7645
7677
  get tocLocation(): "left" | "right";
@@ -8504,7 +8536,7 @@ declare module "survey" {
8504
8536
  navigationMouseDown(): boolean;
8505
8537
  private resetNavigationButton;
8506
8538
  private mouseDownPage;
8507
- nextPageUIClick(): void;
8539
+ nextPageUIClick(): boolean;
8508
8540
  nextPageMouseDown(): boolean;
8509
8541
  /**
8510
8542
  * Shows preview for the survey. Switches the survey to the "preview" state.
@@ -8534,12 +8566,13 @@ declare module "survey" {
8534
8566
  get isSinglePage(): boolean;
8535
8567
  set isSinglePage(val: boolean);
8536
8568
  /**
8537
- * Gets or sets a value that specifies how the survey combines questions, panels, and pages.
8569
+ * Specifies how to distribute survey elements between pages.
8538
8570
  *
8539
- * The following options are available:
8571
+ * Possible values:
8540
8572
  *
8541
- * - `singlePage` - combine all survey pages in a single page. Pages will be converted to panels.
8542
- * - `questionPerPage` - show one question per page. Survey will create a separate page for every question.
8573
+ * - `"singlePage"` - Combines all survey pages into a single page.
8574
+ * - `"questionPerPage"` - Creates a separate page for every question.
8575
+ * - `"standard"` (default) - Retains the original structure specified in the JSON schema.
8543
8576
  */
8544
8577
  get questionsOnPageMode(): string;
8545
8578
  set questionsOnPageMode(val: string);
@@ -8624,6 +8657,7 @@ declare module "survey" {
8624
8657
  * @see navigateToUrlOnCondition
8625
8658
  */
8626
8659
  doComplete(isCompleteOnTrigger?: boolean): boolean;
8660
+ private saveDataOnComplete;
8627
8661
  private checkOnCompletingEvent;
8628
8662
  /**
8629
8663
  * Starts the survey. Changes the survey mode from "starting" to "running". Call this function if your survey has a start page, otherwise this function does nothing.
@@ -9030,7 +9064,7 @@ declare module "survey" {
9030
9064
  panelRemoved(panel: PanelModel): void;
9031
9065
  validateQuestion(question: Question): SurveyError;
9032
9066
  validatePanel(panel: PanelModel): SurveyError;
9033
- processHtml(html: string): string;
9067
+ processHtml(html: string, reason?: string): string;
9034
9068
  processText(text: string, returnDisplayValue: boolean): string;
9035
9069
  processTextEx(text: string, returnDisplayValue: boolean, doEncoding: boolean): any;
9036
9070
  private processTextCore;
@@ -9137,11 +9171,12 @@ declare module "survey" {
9137
9171
  */
9138
9172
  stopTimer(): void;
9139
9173
  /**
9140
- * Returns the time in seconds an end user spends on the survey
9174
+ * Gets or set the time in seconds an end user spends on the survey.
9141
9175
  * @see startTimer
9142
9176
  * @see PageModel.timeSpent
9143
9177
  */
9144
9178
  get timeSpent(): number;
9179
+ set timeSpent(val: number);
9145
9180
  /**
9146
9181
  * Gets or sets the maximum time in seconds that end user has to complete a survey. If the value is 0 or less, an end user has no time limit to finish a survey.
9147
9182
  * @see startTimer
@@ -9194,6 +9229,27 @@ declare module "survey" {
9194
9229
  skeletonComponentName: string;
9195
9230
  getSkeletonComponentName(element: ISurveyElement): string;
9196
9231
  private layoutElements;
9232
+ /**
9233
+ * Adds an element to the survey layout.
9234
+ *
9235
+ * This method accepts an object with the following layout element properties:
9236
+ *
9237
+ * - `id`: `String` | `"timerpanel"` | `"progress-buttons"` | `"progress-questions"` | `"progress-pages"` | `"progress-correctquestions"` | `"progress-requiredquestions"` | `"toc-navigation"` | `"navigationbuttons"`\
9238
+ * A layout element identifier. You can use possible values to access and relocate or customize predefined layout elements.
9239
+ *
9240
+ * - `container`: `"header"` | `"footer"` | `"left"` | `"right"` | `"contentTop"` | `"contentBottom"`\
9241
+ * A layout container that holds the element. If you want to display the element within multiple containers, set this property to an array of possible values.
9242
+ *
9243
+ * - `component`: `String`\
9244
+ * The name of the component that renders the layout element.
9245
+ *
9246
+ * - `data`: `any`\
9247
+ * Data passed as props to `component`.
9248
+ *
9249
+ * [View Demo](https://surveyjs.io/form-library/examples/progress-bar-with-percentage/ (linkStyle))
9250
+ * @param layoutElement A layout element configuration.
9251
+ * @returns The configuration of the previous layout element with the same `id`.
9252
+ */
9197
9253
  addLayoutElement(layoutElement: ISurveyLayoutElement): ISurveyLayoutElement;
9198
9254
  removeLayoutElement(layoutElementId: string): ISurveyLayoutElement;
9199
9255
  getContainerContent(container: LayoutElementContainer): any[];
@@ -9222,9 +9278,9 @@ declare module "page" {
9222
9278
  protected canShowPageNumber(): boolean;
9223
9279
  protected canShowTitle(): boolean;
9224
9280
  /**
9225
- * A caption displayed on a navigation button in the progress bar. Applies only when [`showProgressBar`](https://surveyjs.io/form-library/documentation/surveymodel#showProgressBar) is `true` and [`progressBarType`](https://surveyjs.io/form-library/documentation/surveymodel#progressBarType) is `"buttons"`.
9281
+ * A caption displayed on a navigation button in the TOC or progress bar. Applies when [`showTOC`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#showTOC) is `true` or when [`showProgressBar`](https://surveyjs.io/form-library/documentation/surveymodel#showProgressBar) is `true` and [`progressBarType`](https://surveyjs.io/form-library/documentation/surveymodel#progressBarType) is `"buttons"`.
9226
9282
  *
9227
- * If this property is undefined, the navigation button displays the page's [`name`](https://surveyjs.io/form-library/documentation/pagemodel#name).
9283
+ * If this property is undefined, the navigation buttons display page [titles](https://surveyjs.io/form-library/documentation/api-reference/page-model#title) or [names](https://surveyjs.io/form-library/documentation/pagemodel#name).
9228
9284
  */
9229
9285
  get navigationTitle(): string;
9230
9286
  set navigationTitle(val: string);
@@ -9840,6 +9896,11 @@ declare module "panel" {
9840
9896
  protected onVisibleChanged(): void;
9841
9897
  needResponsiveWidth(): boolean;
9842
9898
  focusIn(): void;
9899
+ protected getHasFrameV2(): boolean;
9900
+ protected getIsNested(): boolean;
9901
+ protected getCssRoot(cssClasses: {
9902
+ [index: string]: string;
9903
+ }): string;
9843
9904
  getContainerCss(): string;
9844
9905
  }
9845
9906
  }
@@ -10060,7 +10121,6 @@ declare module "question" {
10060
10121
  * You can use question values as placeholders in the following places:
10061
10122
  *
10062
10123
  * - Survey element titles and descriptions
10063
- * - The [`expression`](https://surveyjs.io/form-library/documentation/questionexpressionmodel#expression) property of the [Expression](https://surveyjs.io/form-library/documentation/questionexpressionmodel) question
10064
10124
  * - The [`html`](https://surveyjs.io/form-library/documentation/questionhtmlmodel#html) property of the [HTML](https://surveyjs.io/form-library/documentation/questionhtmlmodel) question
10065
10125
  *
10066
10126
  * To use a question value as a placeholder, specify the question `name` in curly brackets: `{questionName}`. Refer to the following help topic for more information: [Dynamic Texts - Question Values](https://surveyjs.io/form-library/documentation/design-survey-conditional-logic#question-values).
@@ -10270,7 +10330,9 @@ declare module "question" {
10270
10330
  protected calcCssClasses(css: any): any;
10271
10331
  get cssRoot(): string;
10272
10332
  protected setCssRoot(val: string): void;
10273
- protected getCssRoot(cssClasses: any): string;
10333
+ protected getCssRoot(cssClasses: {
10334
+ [index: string]: string;
10335
+ }): string;
10274
10336
  get cssHeader(): string;
10275
10337
  protected setCssHeader(val: string): void;
10276
10338
  protected getCssHeader(cssClasses: any): string;
@@ -11318,7 +11380,7 @@ declare module "base-interfaces" {
11318
11380
  validatePanel(panel: IPanel): SurveyError;
11319
11381
  hasVisibleQuestionByValueName(valueName: string): boolean;
11320
11382
  questionCountByValueName(valueName: string): number;
11321
- processHtml(html: string): string;
11383
+ processHtml(html: string, reason: string): string;
11322
11384
  getSurveyMarkdownHtml(element: Base, text: string, name: string): string;
11323
11385
  getRendererForString(element: Base, name: string): string;
11324
11386
  getRendererContextForString(element: Base, locStr: LocalizableString): any;
@@ -12037,6 +12099,8 @@ declare module "validator" {
12037
12099
  }
12038
12100
  /**
12039
12101
  * Use it to validate the text by regular expressions.
12102
+ *
12103
+ * [View Demo](https://surveyjs.io/form-library/examples/javascript-form-validation/ (linkStyle))
12040
12104
  */
12041
12105
  export class RegexValidator extends SurveyValidator {
12042
12106
  constructor(regex?: string);
@@ -12143,6 +12207,7 @@ declare module "dropdownListModel" {
12143
12207
  protected onSelectionChanged?: (item: IAction, ...params: any[]) => void;
12144
12208
  readonly minPageSize = 25;
12145
12209
  readonly loadingItemHeight = 40;
12210
+ private _markdownMode;
12146
12211
  private _popupModel;
12147
12212
  private get focusFirstInputSelector();
12148
12213
  protected readonly selectedItemSelector = ".sv-list__item--selected";
@@ -12166,10 +12231,26 @@ declare module "dropdownListModel" {
12166
12231
  updateCssClasses(popupCssClass: string, listCssClasses: any): void;
12167
12232
  protected resetFilterString(): void;
12168
12233
  protected onSetFilterString(): void;
12169
- setInputHasValue(newValue: boolean): void;
12170
12234
  searchEnabled: boolean;
12171
12235
  filterString: string;
12236
+ inputString: string;
12237
+ showSelectedItemLocText: boolean;
12238
+ showInputFieldComponent: boolean;
12239
+ ariaActivedescendant: string;
12240
+ private applyInputString;
12241
+ private applyHintString;
12242
+ get inputStringRendered(): string;
12243
+ set inputStringRendered(val: string);
12244
+ get placeholderRendered(): any;
12245
+ get listElementId(): string;
12172
12246
  hasScroll: boolean;
12247
+ hintString: string;
12248
+ private get hintStringLC();
12249
+ private get inputStringLC();
12250
+ get showHintPrefix(): boolean;
12251
+ get hintStringPrefix(): string;
12252
+ get showHintString(): boolean;
12253
+ get hintStringSuffix(): string;
12173
12254
  constructor(question: Question, onSelectionChanged?: (item: IAction, ...params: any[]) => void);
12174
12255
  get popupModel(): PopupModel;
12175
12256
  get inputReadOnly(): boolean;
@@ -12180,9 +12261,12 @@ declare module "dropdownListModel" {
12180
12261
  onClick(event: any): void;
12181
12262
  onClear(event: any): void;
12182
12263
  getSelectedAction(): ItemValue;
12264
+ changeSelectionWithKeyboard(reverse: boolean): void;
12183
12265
  keyHandler(event: any): void;
12184
12266
  onScroll(event: Event): void;
12185
12267
  onBlur(event: any): void;
12268
+ onFocus(event: any): void;
12269
+ setInputStringFromSelectedItem(newValue?: any): void;
12186
12270
  scrollToFocusedItem(): void;
12187
12271
  }
12188
12272
  }
@@ -12199,7 +12283,7 @@ declare module "question_dropdown" {
12199
12283
  * [View Demo](https://surveyjs.io/form-library/examples/questiontype-dropdown/ (linkStyle))
12200
12284
  */
12201
12285
  export class QuestionDropdownModel extends QuestionSelectBase {
12202
- dropdownListModel: DropdownListModel;
12286
+ dropdownListModelValue: DropdownListModel;
12203
12287
  lastSelectedItemValue: ItemValue;
12204
12288
  updateReadOnlyText(): void;
12205
12289
  constructor(name: string);
@@ -12294,9 +12378,13 @@ declare module "question_dropdown" {
12294
12378
  get showSelectedItemLocText(): boolean;
12295
12379
  get showInputFieldComponent(): boolean;
12296
12380
  private get selectedItemText();
12381
+ get dropdownListModel(): DropdownListModel;
12382
+ set dropdownListModel(val: DropdownListModel);
12297
12383
  get popupModel(): PopupModel;
12384
+ get ariaExpanded(): boolean;
12298
12385
  onOpened: EventBase<QuestionDropdownModel>;
12299
12386
  onOpenedCallBack(): void;
12387
+ protected onSelectedItemValuesChangedHandler(newValue: any): void;
12300
12388
  protected hasUnknownValue(val: any, includeOther: boolean, isFilteredChoices: boolean, checkEmptyValue: boolean): boolean;
12301
12389
  protected onVisibleChoicesChanged(): void;
12302
12390
  protected getFirstInputElementId(): string;
@@ -12660,7 +12748,7 @@ declare module "multiSelectListModel" {
12660
12748
  selectedItems: Array<IAction>;
12661
12749
  hideSelectedItems: boolean;
12662
12750
  private updateItemState;
12663
- constructor(items: Array<IAction>, onSelectionChanged: (item: T, status: string) => void, allowSelection: boolean, selectedItems?: Array<IAction>, onFilterStringChangedCallback?: (text: string) => void);
12751
+ constructor(items: Array<IAction>, onSelectionChanged: (item: T, status: string) => void, allowSelection: boolean, selectedItems?: Array<IAction>, onFilterStringChangedCallback?: (text: string) => void, elementId?: string);
12664
12752
  onItemClick: (item: T) => void;
12665
12753
  isItemDisabled: (itemValue: T) => boolean;
12666
12754
  isItemSelected: (itemValue: T) => boolean;
@@ -12697,6 +12785,7 @@ declare module "dropdownMultiSelectListModel" {
12697
12785
  removeLastSelectedItem(): void;
12698
12786
  constructor(question: Question, onSelectionChanged?: (item: IAction, ...params: any[]) => void);
12699
12787
  inputKeyHandler(event: any): void;
12788
+ setInputStringFromSelectedItem(newValue: any): void;
12700
12789
  }
12701
12790
  }
12702
12791
  declare module "question_tagbox" {
@@ -12758,6 +12847,7 @@ declare module "question_tagbox" {
12758
12847
  getType(): string;
12759
12848
  get ariaRole(): string;
12760
12849
  get popupModel(): PopupModel;
12850
+ get ariaExpanded(): boolean;
12761
12851
  getControlClass(): string;
12762
12852
  onOpened: EventBase<QuestionTagboxModel>;
12763
12853
  onOpenedCallBack(): void;
@@ -12908,7 +12998,6 @@ declare module "dragdrop/choices" {
12908
12998
  protected get draggedElementType(): string;
12909
12999
  protected createDraggedElementShortcut(text: string, draggedElementNode: HTMLElement, event: PointerEvent): HTMLElement;
12910
13000
  private createImagePickerShortcut;
12911
- protected findDropTargetNodeByDragOverNode(dragOverNode: HTMLElement): HTMLElement;
12912
13001
  protected getDropTargetByDataAttributeValue(dataAttributeValue: string): ItemValue;
12913
13002
  private getVisibleChoices;
12914
13003
  protected doDragOver: () => any;
@@ -13079,6 +13168,7 @@ declare module "question_html" {
13079
13168
  set html(val: string);
13080
13169
  get locHtml(): LocalizableString;
13081
13170
  get processedHtml(): string;
13171
+ private processHtml;
13082
13172
  }
13083
13173
  }
13084
13174
  declare module "question_radiogroup" {
@@ -13256,12 +13346,15 @@ declare module "question_rating" {
13256
13346
  rateType: "numbers" | "labels" | "stars" | "smileys";
13257
13347
  smileysColorMode: "monochrome" | "colored";
13258
13348
  get isStar(): boolean;
13259
- get itemComponentName(): "sv-rating-item-star" | "sv-rating-item";
13349
+ get isSmiley(): boolean;
13350
+ get itemComponentName(): "sv-rating-item-star" | "sv-rating-item-smiley" | "sv-rating-item";
13260
13351
  protected valueToData(val: any): any;
13261
13352
  setValueFromClick(value: any): void;
13262
13353
  onItemMouseIn(item: RenderedRatingItem): void;
13263
13354
  onItemMouseOut(item: RenderedRatingItem): void;
13264
13355
  get ratingRootCss(): string;
13356
+ getItemSmiley(item: ItemValue): string;
13357
+ getItemSmileyIconName(item: ItemValue): string;
13265
13358
  getItemClass(item: ItemValue, highlight?: "none" | "highlighted" | "unhighlighted"): string;
13266
13359
  getControlClass(): string;
13267
13360
  get placeholder(): string;
@@ -13761,7 +13854,7 @@ declare module "question_custom" {
13761
13854
  */
13762
13855
  onPropertyChanged?(question: Question, propertyName: string, newValue: any): void;
13763
13856
  /**
13764
- * A function that is called when the question value is changed.
13857
+ * A function that is called after the question value is changed.
13765
13858
  *
13766
13859
  * Parameters:
13767
13860
  *
@@ -13773,6 +13866,21 @@ declare module "question_custom" {
13773
13866
  * A new value for the question.
13774
13867
  */
13775
13868
  onValueChanged?(question: Question, name: string, newValue: any): void;
13869
+ /**
13870
+ * A function that is called before a question value is changed.
13871
+ *
13872
+ * This function should return the value you want to save: `newValue`, a custom value, or `undefined` if you want to clear the question value.
13873
+ *
13874
+ * Parameters:
13875
+ *
13876
+ * - `question`: [Question](https://surveyjs.io/Documentation/Library?id=Question)\
13877
+ * A custom question.
13878
+ * - `name`: `String`\
13879
+ * The question's [name](https://surveyjs.io/Documentation/Library?id=Question#name).
13880
+ * - `newValue`: `any`\
13881
+ * A new value for the question.
13882
+ */
13883
+ onValueChanging?(question: Question, name: string, newValue: any): any;
13776
13884
  /**
13777
13885
  * A function that is called when an [ItemValue](https://surveyjs.io/Documentation/Library?id=itemvalue) property is changed.
13778
13886
  *
@@ -13834,6 +13942,7 @@ declare module "question_custom" {
13834
13942
  onUpdateQuestionCssClasses(question: Question, element: Question, css: any): void;
13835
13943
  onPropertyChanged(question: Question, propertyName: string, newValue: any): void;
13836
13944
  onValueChanged(question: Question, name: string, newValue: any): void;
13945
+ onValueChanging(question: Question, name: string, newValue: any): any;
13837
13946
  onItemValuePropertyChanged(question: Question, item: ItemValue, propertyName: string, name: string, newValue: any): void;
13838
13947
  getDisplayValue(keyAsText: boolean, value: any, question: Question): any;
13839
13948
  get isComposite(): boolean;
@@ -13875,6 +13984,8 @@ declare module "question_custom" {
13875
13984
  getTextProcessor(): ITextProcessor;
13876
13985
  getValue(name: string): any;
13877
13986
  setValue(name: string, newValue: any, locNotification: any, allowNotifyValueChanged?: boolean): any;
13987
+ protected getQuestionByName(name: string): IQuestion;
13988
+ protected isValueChanging(name: string, newValue: any): boolean;
13878
13989
  protected convertDataName(name: string): string;
13879
13990
  protected convertDataValue(name: string, newValue: any): any;
13880
13991
  getVariable(name: string): any;
@@ -13902,6 +14013,8 @@ declare module "question_custom" {
13902
14013
  protected createWrapper(): void;
13903
14014
  protected getElement(): SurveyElement;
13904
14015
  onAnyValueChanged(name: string): void;
14016
+ protected getQuestionByName(name: string): IQuestion;
14017
+ setValue(name: string, newValue: any, locNotification: any, allowNotifyValueChanged?: boolean): any;
13905
14018
  hasErrors(fireCallback?: boolean, rec?: any): boolean;
13906
14019
  focus(onError?: boolean): void;
13907
14020
  get contentQuestion(): Question;
@@ -13943,6 +14056,7 @@ declare module "question_custom" {
13943
14056
  setVisibleIndex(val: number): number;
13944
14057
  runCondition(values: HashTable<any>, properties: HashTable<any>): void;
13945
14058
  getValue(name: string): any;
14059
+ protected getQuestionByName(name: string): IQuestion;
13946
14060
  private settingNewValue;
13947
14061
  setValue(name: string, newValue: any, locNotification: any, allowNotifyValueChanged?: boolean): any;
13948
14062
  addConditionObjectsByContext(objects: Array<IConditionObject>, context: any): void;
@@ -14419,6 +14533,8 @@ declare module "defaultCss/cssstandard" {
14419
14533
  cleanButtonIconId: string;
14420
14534
  controlValue: string;
14421
14535
  filterStringInput: string;
14536
+ hintPrefix: string;
14537
+ hintSuffix: string;
14422
14538
  };
14423
14539
  html: {
14424
14540
  root: string;
@@ -14589,6 +14705,7 @@ declare module "defaultCss/cssstandard" {
14589
14705
  error: string;
14590
14706
  success: string;
14591
14707
  button: string;
14708
+ shown: string;
14592
14709
  };
14593
14710
  window: {
14594
14711
  root: string;
@@ -14879,6 +14996,8 @@ declare module "defaultCss/cssmodern" {
14879
14996
  filterStringInput: string;
14880
14997
  controlValue: string;
14881
14998
  controlInputFieldComponent: string;
14999
+ hintPrefix: string;
15000
+ hintSuffix: string;
14882
15001
  };
14883
15002
  tagbox: {
14884
15003
  root: string;
@@ -15029,6 +15148,7 @@ declare module "defaultCss/cssmodern" {
15029
15148
  error: string;
15030
15149
  success: string;
15031
15150
  button: string;
15151
+ shown: string;
15032
15152
  };
15033
15153
  window: {
15034
15154
  root: string;
@@ -15248,6 +15368,8 @@ declare module "plugins/themes/bootstrap/cssbootstrap" {
15248
15368
  cleanButtonSvg: string;
15249
15369
  cleanButtonIconId: string;
15250
15370
  filterStringInput: string;
15371
+ hintPrefix: string;
15372
+ hintSuffix: string;
15251
15373
  };
15252
15374
  tagbox: {
15253
15375
  root: string;
@@ -16054,6 +16176,8 @@ declare module "entries/plugins" {
16054
16176
  cleanButtonSvg: string;
16055
16177
  cleanButtonIconId: string;
16056
16178
  filterStringInput: string;
16179
+ hintPrefix: string;
16180
+ hintSuffix: string;
16057
16181
  };
16058
16182
  tagbox: {
16059
16183
  root: string;
@@ -20848,6 +20972,18 @@ declare module "react/components/rating/rating-item-star" {
20848
20972
  render(): JSX.Element | null;
20849
20973
  }
20850
20974
  }
20975
+ declare module "react/components/rating/rating-item-smiley" {
20976
+ import { QuestionRatingModel, RenderedRatingItem } from "entries/core";
20977
+ import { SurveyElementBase } from "react/reactquestion_element";
20978
+ import { IRatingItemProps } from "react/components/rating/rating-item";
20979
+ export class RatingItemSmiley extends SurveyElementBase<IRatingItemProps, any> {
20980
+ get question(): QuestionRatingModel;
20981
+ get item(): RenderedRatingItem;
20982
+ get index(): any;
20983
+ getStateElement(): RenderedRatingItem;
20984
+ render(): JSX.Element | null;
20985
+ }
20986
+ }
20851
20987
  declare module "react/tagbox-filter" {
20852
20988
  import { DropdownMultiSelectListModel, QuestionTagboxModel } from "entries/core";
20853
20989
  import { SurveyElementBase } from "react/reactquestion_element";
@@ -20865,6 +21001,7 @@ declare module "react/tagbox-filter" {
20865
21001
  onChange(e: any): void;
20866
21002
  keyhandler(e: any): void;
20867
21003
  onBlur(e: any): void;
21004
+ onFocus(e: any): void;
20868
21005
  constructor(props: any);
20869
21006
  getStateElement(): DropdownMultiSelectListModel;
20870
21007
  render(): JSX.Element;
@@ -20893,6 +21030,8 @@ declare module "react/dropdown-base" {
20893
21030
  clear: (event: any) => void;
20894
21031
  keyhandler: (event: any) => void;
20895
21032
  blur: (event: any) => void;
21033
+ focus: (event: any) => void;
21034
+ protected getStateElement(): any;
20896
21035
  protected setValueCore(newValue: any): void;
20897
21036
  protected getValueCore(): any;
20898
21037
  protected renderSelect(cssClasses: any): JSX.Element;
@@ -21539,6 +21678,7 @@ declare module "entries/react-ui-model" {
21539
21678
  export { SurveyQuestionRanking, SurveyQuestionRankingItem, } from "react/reactquestion_ranking";
21540
21679
  export { RatingItem } from "react/components/rating/rating-item";
21541
21680
  export { RatingItemStar } from "react/components/rating/rating-item-star";
21681
+ export { RatingItemSmiley } from "react/components/rating/rating-item-smiley";
21542
21682
  export { TagboxFilterString } from "react/tagbox-filter";
21543
21683
  export { SurveyQuestionOptionItem } from "react/dropdown-item";
21544
21684
  export { SurveyQuestionDropdownBase } from "react/dropdown-base";