survey-react 1.9.36 → 1.9.39

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
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Type definition for Survey JavaScript library for React v1.9.36
2
+ * Type definition for Survey JavaScript library for React v1.9.39
3
3
  * Copyright (c) 2015-2022 Devsoft Baltic OÜ - https://surveyjs.io/
4
4
  * License: MIT (http://www.opensource.org/licenses/mit-license.php)
5
5
  */
@@ -184,6 +184,7 @@ export interface IAction {
184
184
  * If you set it to `false`, the `title` hides when the screen space is limited, and the item displays only the icon.
185
185
  */
186
186
  disableShrink?: boolean;
187
+ disableHide?: boolean;
187
188
  mode?: any;
188
189
  visibleIndex?: number;
189
190
  needSpace?: boolean;
@@ -223,6 +224,7 @@ export interface IConditionObject {
223
224
  }
224
225
  export interface IMatrixColumnOwner extends ILocalizableOwner {
225
226
  getRequiredText(): string;
227
+ hasChoices(): boolean;
226
228
  onColumnPropertyChanged(column: MatrixDropdownColumn, name: string, newValue: any): void;
227
229
  onColumnItemValuePropertyChanged(column: MatrixDropdownColumn, propertyName: string, obj: ItemValue, name: string, newValue: any, oldValue: any): void;
228
230
  onShowInMultipleColumnsChanged(column: MatrixDropdownColumn): void;
@@ -361,7 +363,7 @@ export interface ISurvey extends ITextProcessor, ISurveyErrorOwner {
361
363
  isValidateOnValueChanging: boolean;
362
364
  isValidateOnValueChanged: boolean;
363
365
  matrixCellValidate(question: IQuestion, options: any): SurveyError;
364
- dynamicPanelAdded(question: IQuestion): any;
366
+ dynamicPanelAdded(question: IQuestion, panelIndex?: number, panel?: IPanel): any;
365
367
  dynamicPanelRemoved(question: IQuestion, panelIndex: number, panel: IPanel): any;
366
368
  dynamicPanelItemValueChanged(question: IQuestion, options: any): any;
367
369
  dragAndDropAllow(options: any): boolean;
@@ -529,6 +531,26 @@ export interface IQuestionPanelDynamicData {
529
531
  getSurvey(): ISurvey;
530
532
  getRootData(): ISurveyData;
531
533
  }
534
+ export interface ICustomComponentDescription {
535
+ name: string;
536
+ onInit(): void;
537
+ /*
538
+ * Set this property to false if you don't want to show the component in toolbox in Creator
539
+ */
540
+ showInToolbox?: boolean;
541
+ onCreated(question: Question): void;
542
+ onLoaded(question: Question): void;
543
+ onAfterRender(question: Question, htmlElement: any): void;
544
+ onAfterRenderContentElement(question: Question, element: Question, htmlElement: any): void;
545
+ onPropertyChanged(question: Question, propertyName: string, newValue: any): void;
546
+ onValueChanged(question: Question, name: string, newValue: any): void;
547
+ onItemValuePropertyChanged(question: Question, options: any): void;
548
+ getDisplayValue?: any;
549
+ elementsJSON?: any;
550
+ createElements?: any;
551
+ questionJSON?: any;
552
+ createQuestion?: any;
553
+ }
532
554
  export interface IActionBarItemProps {
533
555
  item: any;
534
556
  }
@@ -715,6 +737,11 @@ export declare class Base {
715
737
  get isEditingSurveyElement(): boolean;
716
738
  iteratePropertiesHash(func: (hash: any, key: any) => void): void;
717
739
  /*
740
+ * set property value and before check if new property value is correct by calling JsonProperty onSettingValue function
741
+ * If onSettingValue is not set in declaration, then this function works as `setPropertyValue`.
742
+ */
743
+ checkAndSetPropertyValue(name: string, val: any): void;
744
+ /*
718
745
  * set property value
719
746
  */
720
747
  setPropertyValue(name: string, val: any): void;
@@ -811,7 +838,7 @@ export declare class ComponentCollection {
811
838
  onCreateComposite: (name: string, questionJSON: ComponentQuestionJSON) => QuestionCompositeModel;
812
839
  onCreateCustom: (name: string, questionJSON: ComponentQuestionJSON) => QuestionCustomModel;
813
840
  onAddingJson: (name: string, isComposite: boolean) => void;
814
- add(json: any): void;
841
+ add(json: ICustomComponentDescription): void;
815
842
  get items(): any;
816
843
  getCustomQuestionByName(name: string): ComponentQuestionJSON;
817
844
  clear(): void;
@@ -820,9 +847,9 @@ export declare class ComponentCollection {
820
847
  protected createCustomModel(name: string, questionJSON: ComponentQuestionJSON): QuestionCustomModel;
821
848
  }
822
849
  export declare class ComponentQuestionJSON {
823
- constructor(name: string, json: any);
850
+ constructor(name: string, json: ICustomComponentDescription);
824
851
  name: string;
825
- json: any;
852
+ json: ICustomComponentDescription;
826
853
  onInit(): void;
827
854
  onCreated(question: Question): void;
828
855
  onLoaded(question: Question): void;
@@ -942,6 +969,8 @@ export declare class Event<T, Options> {
942
969
  onCallbacksChanged: any;
943
970
  protected callbacks: any;
944
971
  get isEmpty(): boolean;
972
+ get length(): number;
973
+ fireByCreatingOptions(sender: any, createOptions: any): void;
945
974
  fire(sender: any, options: any): void;
946
975
  clear(): void;
947
976
  add(func: T): void;
@@ -1501,6 +1530,7 @@ export declare class Action extends Base implements IAction {
1501
1530
  mode: any;
1502
1531
  disableTabStop: boolean;
1503
1532
  disableShrink: boolean;
1533
+ disableHide: boolean;
1504
1534
  needSpace: boolean;
1505
1535
  locTitle: any;
1506
1536
  titleValue: string;
@@ -1954,6 +1984,7 @@ export declare class JsonObjectProperty implements IObject {
1954
1984
  dataListValue: any;
1955
1985
  layout: string;
1956
1986
  onGetValue: (obj: any) => any;
1987
+ onSettingValue: (obj: any, value: any) => any;
1957
1988
  onSetValue: (obj: any, value: any, jsonConv: JsonObject) => any;
1958
1989
  visibleIf: (obj: any) => boolean;
1959
1990
  onExecuteExpression: (obj: any, res: any) => any;
@@ -1974,6 +2005,7 @@ export declare class JsonObjectProperty implements IObject {
1974
2005
  getValue(obj: any): any;
1975
2006
  getPropertyValue(obj: any): any;
1976
2007
  get hasToUseSetValue(): any;
2008
+ settingValue(obj: any, value: any): any;
1977
2009
  setValue(obj: any, value: any, jsonConv: JsonObject): void;
1978
2010
  getObjType(objType: string): any;
1979
2011
  getClassName(className: string): string;
@@ -2449,7 +2481,7 @@ export declare class PopupBaseViewModel extends Base {
2449
2481
  top: string;
2450
2482
  left: string;
2451
2483
  height: string;
2452
- width: string;
2484
+ minWidth: string;
2453
2485
  isVisible: boolean;
2454
2486
  popupDirection: string;
2455
2487
  pointerTarget: IPosition;
@@ -2510,7 +2542,6 @@ export declare class PopupModel<T = any> extends Base {
2510
2542
  cssClass: string;
2511
2543
  title: string;
2512
2544
  displayMode: "popup" | "overlay";
2513
- widthMode: "contentWidth" | "fixedWidth";
2514
2545
  onVisibilityChanged: EventBase<PopupModel<any>>;
2515
2546
  get isVisible(): boolean;
2516
2547
  set isVisible(val: boolean);
@@ -3390,6 +3421,7 @@ export declare class SurveyElement extends SurveyElementCore implements ISurveyE
3390
3421
  get titleActions(): any;
3391
3422
  isTitleActionRequested: boolean;
3392
3423
  getTitleActions(): Array<any>;
3424
+ protected getDefaultTitleActions(): Array<IAction>;
3393
3425
  get hasTitleActions(): boolean;
3394
3426
  get hasTitleEvents(): boolean;
3395
3427
  get titleTabIndex(): number;
@@ -3577,39 +3609,39 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
3577
3609
  navigationBarValue: any;
3578
3610
  /*
3579
3611
  * The event is fired after a trigger has been executed
3580
- * `sender` - the survey object that fires the event.
3581
- * `options.trigger` - An instance of a trigger that has been just perform it's action.
3612
+ * - `sender` - the survey object that fires the event.
3613
+ * - `options.trigger` - An instance of a trigger that has been just perform it's action.
3582
3614
  */
3583
3615
  onTriggerExecuted: EventBase<SurveyModel>;
3584
3616
  /*
3585
3617
  * The event is fired before the survey is completed and the `onComplete` event is fired. You can prevent the survey from completing by setting `options.allowComplete` to `false`
3586
- * `sender` - the survey object that fires the event.
3587
- * `options.allowComplete` - Specifies whether a user can complete a survey. Set this property to `false` to prevent the survey from completing. The default value is `true`.
3588
- * `options.isCompleteOnTrigger` - returns true if the survey is completing on "complete" trigger.
3618
+ * - `sender` - the survey object that fires the event.
3619
+ * - `options.allowComplete` - Specifies whether a user can complete a survey. Set this property to `false` to prevent the survey from completing. The default value is `true`.
3620
+ * - `options.isCompleteOnTrigger` - returns true if the survey is completing on "complete" trigger.
3589
3621
  */
3590
3622
  onCompleting: EventBase<SurveyModel>;
3591
3623
  /*
3592
3624
  * The event is fired after a user clicks the 'Complete' button and finishes a survey. Use this event to send the survey data to your web server.
3593
- * `sender` - the survey object that fires the event.
3594
- * `options.showDataSaving(text)` - call this method to show that the survey is saving survey data on your server. The `text` is an optional parameter to show a custom message instead of default.
3595
- * `options.showDataSavingError(text)` - call this method to show that an error occurred while saving the data on your server. If you want to show a custom error, use an optional `text` parameter.
3596
- * `options.showDataSavingSuccess(text)` - call this method to show that the data was successfully saved on the server.
3597
- * `options.showDataSavingClear` - call this method to hide the text about the saving progress.
3598
- * `options.isCompleteOnTrigger` - returns true if the survey is completed on "complete" trigger.
3625
+ * - `sender` - the survey object that fires the event.
3626
+ * - `options.showDataSaving(text)` - call this method to show that the survey is saving survey data on your server. The `text` is an optional parameter to show a custom message instead of default.
3627
+ * - `options.showDataSavingError(text)` - call this method to show that an error occurred while saving the data on your server. If you want to show a custom error, use an optional `text` parameter.
3628
+ * - `options.showDataSavingSuccess(text)` - call this method to show that the data was successfully saved on the server.
3629
+ * - `options.showDataSavingClear` - call this method to hide the text about the saving progress.
3630
+ * - `options.isCompleteOnTrigger` - returns true if the survey is completed on "complete" trigger.
3599
3631
  */
3600
3632
  onComplete: EventBase<SurveyModel>;
3601
3633
  /*
3602
3634
  * The event is fired before the survey is going to preview mode, state equals to `preview`. It happens when a user click on "Preview" button. It shows when "showPreviewBeforeComplete" proeprty equals to "showAllQuestions" or "showAnsweredQuestions".
3603
3635
  * You can prevent showing it by setting allowShowPreview to `false`.
3604
- * `sender` - the survey object that fires the event.
3605
- * `options.allowShowPreview` - Specifies whether a user can see a preview. Set this property to `false` to prevent from showing the preview. The default value is `true`.
3636
+ * - `sender` - the survey object that fires the event.
3637
+ * - `options.allowShowPreview` - Specifies whether a user can see a preview. Set this property to `false` to prevent from showing the preview. The default value is `true`.
3606
3638
  */
3607
3639
  onShowingPreview: EventBase<SurveyModel>;
3608
3640
  /*
3609
3641
  * The event is fired after a user clicks the 'Complete' button. The event allows you to specify the URL opened after completing a survey.
3610
3642
  * Specify the `navigateToUrl` property to make survey navigate to another url.
3611
- * `sender` - the survey object that fires the event.
3612
- * `options.url` - Specifies a URL opened after completing a survey. Set this property to an empty string to cancel the navigation and show the completed survey page.
3643
+ * - `sender` - the survey object that fires the event.
3644
+ * - `options.url` - Specifies a URL opened after completing a survey. Set this property to an empty string to cancel the navigation and show the completed survey page.
3613
3645
  */
3614
3646
  onNavigateToUrl: EventBase<SurveyModel>;
3615
3647
  /*
@@ -3619,73 +3651,73 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
3619
3651
  onStarted: EventBase<SurveyModel>;
3620
3652
  /*
3621
3653
  * The event is fired on clicking the 'Next' button if the `sendResultOnPageNext` is set to `true`. You can use it to save the intermediate results, for example, if your survey is large enough.
3622
- * `sender` - the survey object that fires the event.
3654
+ * - `sender` - the survey object that fires the event.
3623
3655
  */
3624
3656
  onPartialSend: EventBase<SurveyModel>;
3625
3657
  /*
3626
3658
  * The event is fired before the current page changes to another page. Typically it happens when a user click the 'Next' or 'Prev' buttons.
3627
- * `sender` - the survey object that fires the event.
3628
- * `option.oldCurrentPage` - the previous current/active page.
3629
- * `option.newCurrentPage` - a new current/active page.
3630
- * `option.allowChanging` - set it to `false` to disable the current page changing. It is `true` by default.
3631
- * `option.isNextPage` - commonly means, that end-user press the next page button. In general, it means that options.newCurrentPage is the next page after options.oldCurrentPage
3632
- * `option.isPrevPage` - commonly means, that end-user press the previous page button. In general, it means that options.newCurrentPage is the previous page before options.oldCurrentPage
3659
+ * - `sender` - the survey object that fires the event.
3660
+ * - `option.oldCurrentPage` - the previous current/active page.
3661
+ * - `option.newCurrentPage` - a new current/active page.
3662
+ * - `option.allowChanging` - set it to `false` to disable the current page changing. It is `true` by default.
3663
+ * - `option.isNextPage` - commonly means, that end-user press the next page button. In general, it means that options.newCurrentPage is the next page after options.oldCurrentPage
3664
+ * - `option.isPrevPage` - commonly means, that end-user press the previous page button. In general, it means that options.newCurrentPage is the previous page before options.oldCurrentPage
3633
3665
  */
3634
3666
  onCurrentPageChanging: EventBase<SurveyModel>;
3635
3667
  /*
3636
3668
  * The event is fired when the current page has been changed to another page. Typically it happens when a user click on 'Next' or 'Prev' buttons.
3637
- * `sender` - the survey object that fires the event.
3638
- * `option.oldCurrentPage` - a previous current/active page.
3639
- * `option.newCurrentPage` - a new current/active page.
3640
- * `option.isNextPage` - commonly means, that end-user press the next page button. In general, it means that options.newCurrentPage is the next page after options.oldCurrentPage
3641
- * `option.isPrevPage` - commonly means, that end-user press the previous page button. In general, it means that options.newCurrentPage is the previous page before options.oldCurrentPage
3669
+ * - `sender` - the survey object that fires the event.
3670
+ * - `option.oldCurrentPage` - a previous current/active page.
3671
+ * - `option.newCurrentPage` - a new current/active page.
3672
+ * - `option.isNextPage` - commonly means, that end-user press the next page button. In general, it means that options.newCurrentPage is the next page after options.oldCurrentPage
3673
+ * - `option.isPrevPage` - commonly means, that end-user press the previous page button. In general, it means that options.newCurrentPage is the previous page before options.oldCurrentPage
3642
3674
  */
3643
3675
  onCurrentPageChanged: EventBase<SurveyModel>;
3644
3676
  /*
3645
3677
  * The event is fired before the question value (answer) is changed. It can be done via UI by a user or programmatically on calling the `setValue` method.
3646
- * `sender` - the survey object that fires the event.
3647
- * `options.name` - the value name that has being changed.
3648
- * `options.question` - a question which `question.name` equals to the value name. If there are several questions with the same name, the first question is used. If there is no such questions, the `options.question` is null.
3649
- * `options.oldValue` - an old, previous value.
3650
- * `options.value` - a new value. You can change it.
3678
+ * - `sender` - the survey object that fires the event.
3679
+ * - `options.name` - the value name that has being changed.
3680
+ * - `options.question` - a question which `question.name` equals to the value name. If there are several questions with the same name, the first question is used. If there is no such questions, the `options.question` is null.
3681
+ * - `options.oldValue` - an old, previous value.
3682
+ * - `options.value` - a new value. You can change it.
3651
3683
  */
3652
3684
  onValueChanging: EventBase<SurveyModel>;
3653
3685
  /*
3654
3686
  * The event is fired when the question value (i.e., answer) has been changed. The question value can be changed in UI (by a user) or programmatically (on calling `setValue` method).
3655
3687
  * Use the `onDynamicPanelItemValueChanged` and `onMatrixCellValueChanged` events to handle changes in a question in the Panel Dynamic and a cell question in matrices.
3656
- * `sender` - the survey object that fires the event.
3657
- * `options.name` - the value name that has been changed.
3658
- * `options.question` - a question which `question.name` equals to the value name. If there are several questions with the same name, the first question is used. If there is no such questions, the `options.question` is `null`.
3659
- * `options.value` - a new value.
3688
+ * - `sender` - the survey object that fires the event.
3689
+ * - `options.name` - the value name that has been changed.
3690
+ * - `options.question` - a question which `question.name` equals to the value name. If there are several questions with the same name, the first question is used. If there is no such questions, the `options.question` is `null`.
3691
+ * - `options.value` - a new value.
3660
3692
  */
3661
3693
  onValueChanged: EventBase<SurveyModel>;
3662
3694
  /*
3663
3695
  * The event is fired when setVariable function is called. It can be called on changing a calculated value.
3664
- * `sender` - the survey object that fires the event.
3665
- * `options.name` - the variable name that has been changed.
3666
- * `options.value` - a new value.
3696
+ * - `sender` - the survey object that fires the event.
3697
+ * - `options.name` - the variable name that has been changed.
3698
+ * - `options.value` - a new value.
3667
3699
  */
3668
3700
  onVariableChanged: EventBase<SurveyModel>;
3669
3701
  /*
3670
3702
  * The event is fired when a question visibility has been changed.
3671
- * `sender` - the survey object that fires the event.
3672
- * `options.question` - a question which visibility has been changed.
3673
- * `options.name` - a question name.
3674
- * `options.visible` - a question `visible` boolean value.
3703
+ * - `sender` - the survey object that fires the event.
3704
+ * - `options.question` - a question which visibility has been changed.
3705
+ * - `options.name` - a question name.
3706
+ * - `options.visible` - a question `visible` boolean value.
3675
3707
  */
3676
3708
  onVisibleChanged: EventBase<SurveyModel>;
3677
3709
  /*
3678
3710
  * The event is fired on changing a page visibility.
3679
- * `sender` - the survey object that fires the event.
3680
- * `options.page` - a page which visibility has been changed.
3681
- * `options.visible` - a page `visible` boolean value.
3711
+ * - `sender` - the survey object that fires the event.
3712
+ * - `options.page` - a page which visibility has been changed.
3713
+ * - `options.visible` - a page `visible` boolean value.
3682
3714
  */
3683
3715
  onPageVisibleChanged: EventBase<SurveyModel>;
3684
3716
  /*
3685
3717
  * The event is fired on changing a panel visibility.
3686
- * `sender` - the survey object that fires the event.
3687
- * `options.panel` - a panel which visibility has been changed.
3688
- * `options.visible` - a panel `visible` boolean value.
3718
+ * - `sender` - the survey object that fires the event.
3719
+ * - `options.panel` - a panel which visibility has been changed.
3720
+ * - `options.visible` - a panel `visible` boolean value.
3689
3721
  */
3690
3722
  onPanelVisibleChanged: EventBase<SurveyModel>;
3691
3723
  /*
@@ -3694,88 +3726,88 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
3694
3726
  * or inside a matrix cell or it can be a text question in multiple text items or inside a panel of a panel dynamic.
3695
3727
  * You can use this event to set up properties to a question based on it's type for all questions, regardless where they are located, on the page or inside a matrix cell.
3696
3728
  * Please note: If you want to use this event for questions loaded from JSON then you have to create survey with empty/null JSON parameter, assign the event and call survey.fromJSON(yourJSON) function.
3697
- * `sender` - the survey object that fires the event.
3698
- * `options.question` - a newly created question object.
3729
+ * - `sender` - the survey object that fires the event.
3730
+ * - `options.question` - a newly created question object.
3699
3731
  */
3700
3732
  onQuestionCreated: EventBase<SurveyModel>;
3701
3733
  /*
3702
3734
  * The event is fired on adding a new question into survey.
3703
- * `sender` - the survey object that fires the event.
3704
- * `options.question` - a newly added question object.
3705
- * `options.name` - a question name.
3706
- * `options.index` - an index of the question in the container (page or panel).
3707
- * `options.parentPanel` - a container where a new question is located. It can be a page or panel.
3708
- * `options.rootPanel` - typically, it is a page.
3735
+ * - `sender` - the survey object that fires the event.
3736
+ * - `options.question` - a newly added question object.
3737
+ * - `options.name` - a question name.
3738
+ * - `options.index` - an index of the question in the container (page or panel).
3739
+ * - `options.parentPanel` - a container where a new question is located. It can be a page or panel.
3740
+ * - `options.rootPanel` - typically, it is a page.
3709
3741
  */
3710
3742
  onQuestionAdded: EventBase<SurveyModel>;
3711
3743
  /*
3712
3744
  * The event is fired on removing a question from survey.
3713
- * `sender` - the survey object that fires the event.
3714
- * `options.question` - a removed question object.
3715
- * `options.name` - a question name.
3745
+ * - `sender` - the survey object that fires the event.
3746
+ * - `options.question` - a removed question object.
3747
+ * - `options.name` - a question name.
3716
3748
  */
3717
3749
  onQuestionRemoved: EventBase<SurveyModel>;
3718
3750
  /*
3719
3751
  * The event is fired on adding a panel into survey.
3720
- * `sender` - the survey object that fires the event.
3721
- * `options.panel` - a newly added panel object.
3722
- * `options.name` - a panel name.
3723
- * `options.index` - an index of the panel in the container (a page or panel).
3724
- * `options.parentPanel` - a container (a page or panel) where a new panel is located.
3725
- * `options.rootPanel` - a root container, typically it is a page.
3752
+ * - `sender` - the survey object that fires the event.
3753
+ * - `options.panel` - a newly added panel object.
3754
+ * - `options.name` - a panel name.
3755
+ * - `options.index` - an index of the panel in the container (a page or panel).
3756
+ * - `options.parentPanel` - a container (a page or panel) where a new panel is located.
3757
+ * - `options.rootPanel` - a root container, typically it is a page.
3726
3758
  */
3727
3759
  onPanelAdded: EventBase<SurveyModel>;
3728
3760
  /*
3729
3761
  * The event is fired on removing a panel from survey.
3730
- * `sender` - the survey object that fires the event.
3731
- * `options.panel` - a removed panel object.
3732
- * `options.name` - a panel name.
3762
+ * - `sender` - the survey object that fires the event.
3763
+ * - `options.panel` - a removed panel object.
3764
+ * - `options.name` - a panel name.
3733
3765
  */
3734
3766
  onPanelRemoved: EventBase<SurveyModel>;
3735
3767
  /*
3736
3768
  * The event is fired on adding a page into survey.
3737
- * `sender` - the survey object that fires the event.
3738
- * `options.page` - a newly added `panel` object.
3769
+ * - `sender` - the survey object that fires the event.
3770
+ * - `options.page` - a newly added `panel` object.
3739
3771
  */
3740
3772
  onPageAdded: EventBase<SurveyModel>;
3741
3773
  /*
3742
3774
  * The event is fired on validating value in a question. You can specify a custom error message using `options.error`. The survey blocks completing the survey or going to the next page when the error messages are displayed.
3743
- * `sender` - the survey object that fires the event.
3744
- * `options.question` - a validated question.
3745
- * `options.name` - a question name.
3746
- * `options.value` - the current question value (answer).
3747
- * `options.error` - an error string. It is empty by default.
3775
+ * - `sender` - the survey object that fires the event.
3776
+ * - `options.question` - a validated question.
3777
+ * - `options.name` - a question name.
3778
+ * - `options.value` - the current question value (answer).
3779
+ * - `options.error` - an error string. It is empty by default.
3748
3780
  */
3749
3781
  onValidateQuestion: EventBase<SurveyModel>;
3750
3782
  /*
3751
3783
  * The event is fired before errors are assigned to a question. You may add/remove/modify errors for a question.
3752
- * `sender` - the survey object that fires the event.
3753
- * `options.question` - a validated question.
3754
- * `options.errors` - the list of errors. The list is empty by default and remains empty if a validated question has no errors.
3784
+ * - `sender` - the survey object that fires the event.
3785
+ * - `options.question` - a validated question.
3786
+ * - `options.errors` - the list of errors. The list is empty by default and remains empty if a validated question has no errors.
3755
3787
  */
3756
3788
  onSettingQuestionErrors: EventBase<SurveyModel>;
3757
3789
  /*
3758
3790
  * Use this event to validate data on your server.
3759
- * `sender` - the survey object that fires the event.
3760
- * `options.data` - the values of all non-empty questions on the current page. You can get a question value as `options.data["myQuestionName"]`.
3761
- * `options.errors` - set your errors to this object as: `options.errors["myQuestionName"] = "Error text";`. It will be shown as a question error.
3762
- * `options.complete()` - call this function to tell survey that your server callback has been processed.
3791
+ * - `sender` - the survey object that fires the event.
3792
+ * - `options.data` - the values of all non-empty questions on the current page. You can get a question value as `options.data["myQuestionName"]`.
3793
+ * - `options.errors` - set your errors to this object as: `options.errors["myQuestionName"] = "Error text";`. It will be shown as a question error.
3794
+ * - `options.complete()` - call this function to tell survey that your server callback has been processed.
3763
3795
  */
3764
3796
  onServerValidateQuestions: any;
3765
3797
  /*
3766
3798
  * The event is fired on validating a panel. Set your error to `options.error` and survey will show the error for the panel and block completing the survey or going to the next page.
3767
- * `sender` - the survey object that fires the event.
3768
- * `options.name` - a panel name.
3769
- * `options.error` - an error string. It is empty by default.
3799
+ * - `sender` - the survey object that fires the event.
3800
+ * - `options.name` - a panel name.
3801
+ * - `options.error` - an error string. It is empty by default.
3770
3802
  */
3771
3803
  onValidatePanel: EventBase<SurveyModel>;
3772
3804
  /*
3773
3805
  * Use the event to change the default error text.
3774
- * `sender` - the survey object that fires the event.
3775
- * `options.text` - an error text.
3776
- * `options.error` - an instance of the `SurveyError` object.
3777
- * `options.obj` - an instance of Question, Panel or Survey object to where error is located.
3778
- * `options.name` - the error name. The following error names are available:
3806
+ * - `sender` - the survey object that fires the event.
3807
+ * - `options.text` - an error text.
3808
+ * - `options.error` - an instance of the `SurveyError` object.
3809
+ * - `options.obj` - an instance of Question, Panel or Survey object to where error is located.
3810
+ * - `options.name` - the error name. The following error names are available:
3779
3811
  * required, requireoneanswer, requirenumeric, exceedsize, webrequest, webrequestempty, otherempty,
3780
3812
  * uploadingfile, requiredinallrowserror, minrowcounterror, keyduplicationerror, custom
3781
3813
  */
@@ -3789,206 +3821,206 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
3789
3821
  onValidatedErrorsOnCurrentPage: EventBase<SurveyModel>;
3790
3822
  /*
3791
3823
  * Use this event to modify the HTML content before rendering, for example `completeHtml` or `loadingHtml`.
3792
- * `options.html` - specifies the modified HTML content.
3824
+ * - `options.html` - specifies the modified HTML content.
3793
3825
  */
3794
3826
  onProcessHtml: EventBase<SurveyModel>;
3795
3827
  /*
3796
3828
  * Use this event to change the question title in code. If you want to remove question numbering then set showQuestionNumbers to "off".
3797
- * `sender` - the survey object that fires the event.
3798
- * `options.title` - a calculated question title, based on question `title`, `name`.
3799
- * `options.question` - a question object.
3829
+ * - `sender` - the survey object that fires the event.
3830
+ * - `options.title` - a calculated question title, based on question `title`, `name`.
3831
+ * - `options.question` - a question object.
3800
3832
  */
3801
3833
  onGetQuestionTitle: EventBase<SurveyModel>;
3802
3834
  /*
3803
3835
  * Use this event to change the element title tag name that renders by default.
3804
- * `sender` - the survey object that fires the event.
3805
- * `options.element` - an element (question, panel, page and survey) that SurveyJS is going to render.
3806
- * `options.tagName` - an element title tagName that are used to render a title. You can change it from the default value.
3836
+ * - `sender` - the survey object that fires the event.
3837
+ * - `options.element` - an element (question, panel, page and survey) that SurveyJS is going to render.
3838
+ * - `options.tagName` - an element title tagName that are used to render a title. You can change it from the default value.
3807
3839
  */
3808
3840
  onGetTitleTagName: EventBase<SurveyModel>;
3809
3841
  /*
3810
3842
  * Use this event to change the question no in code. If you want to remove question numbering then set showQuestionNumbers to "off".
3811
- * `sender` - the survey object that fires the event.
3812
- * `options.no` - a calculated question no, based on question `visibleIndex`, survey `.questionStartIndex` properties. You can change it.
3813
- * `options.question` - a question object.
3843
+ * - `sender` - the survey object that fires the event.
3844
+ * - `options.no` - a calculated question no, based on question `visibleIndex`, survey `.questionStartIndex` properties. You can change it.
3845
+ * - `options.question` - a question object.
3814
3846
  */
3815
3847
  onGetQuestionNo: EventBase<SurveyModel>;
3816
3848
  /*
3817
3849
  * Use this event to change the progress text in code.
3818
- * `sender` - the survey object that fires the event.
3819
- * `options.text` - a progress text, that SurveyJS will render in progress bar.
3820
- * `options.questionCount` - a number of questions that have input(s). We do not count html or expression questions
3821
- * `options.answeredQuestionCount` - a number of questions that have input(s) and an user has answered.
3822
- * `options.requiredQuestionCount` - a number of required questions that have input(s). We do not count html or expression questions
3823
- * `options.requiredAnsweredQuestionCount` - a number of required questions that have input(s) and an user has answered.
3850
+ * - `sender` - the survey object that fires the event.
3851
+ * - `options.text` - a progress text, that SurveyJS will render in progress bar.
3852
+ * - `options.questionCount` - a number of questions that have input(s). We do not count html or expression questions
3853
+ * - `options.answeredQuestionCount` - a number of questions that have input(s) and an user has answered.
3854
+ * - `options.requiredQuestionCount` - a number of required questions that have input(s). We do not count html or expression questions
3855
+ * - `options.requiredAnsweredQuestionCount` - a number of required questions that have input(s) and an user has answered.
3824
3856
  */
3825
3857
  onProgressText: EventBase<SurveyModel>;
3826
3858
  /*
3827
3859
  * Use this event to process the markdown text.
3828
- * `sender` - the survey object that fires the event.
3829
- * `options.element` - SurveyJS element (a question, panel, page, or survey) where the string is going to be rendered.
3830
- * `options.name` - a property name is going to be rendered.
3831
- * `options.text` - a text that is going to be rendered.
3832
- * `options.html` - an HTML content. It is `null` by default. Use this property to specify the HTML content rendered instead of `options.text`.
3860
+ * - `sender` - the survey object that fires the event.
3861
+ * - `options.element` - SurveyJS element (a question, panel, page, or survey) where the string is going to be rendered.
3862
+ * - `options.name` - a property name is going to be rendered.
3863
+ * - `options.text` - a text that is going to be rendered.
3864
+ * - `options.html` - an HTML content. It is `null` by default. Use this property to specify the HTML content rendered instead of `options.text`.
3833
3865
  */
3834
3866
  onTextMarkdown: EventBase<SurveyModel>;
3835
3867
  /*
3836
3868
  * Use this event to specity render component name used for text rendering.
3837
- * `sender` - the survey object that fires the event.
3838
- * `options.element` - SurveyJS element (a question, panel, page, or survey) where the string is going to be rendered.
3839
- * `options.name` - a property name is going to be rendered.
3840
- * `options.renderAs` - a component name used for text rendering.
3869
+ * - `sender` - the survey object that fires the event.
3870
+ * - `options.element` - SurveyJS element (a question, panel, page, or survey) where the string is going to be rendered.
3871
+ * - `options.name` - a property name is going to be rendered.
3872
+ * - `options.renderAs` - a component name used for text rendering.
3841
3873
  */
3842
3874
  onTextRenderAs: EventBase<SurveyModel>;
3843
3875
  /*
3844
3876
  * The event fires when it gets response from the [api.surveyjs.io](https://api.surveyjs.io) service on saving survey results. Use it to find out if the results have been saved successfully.
3845
- * `sender` - the survey object that fires the event.
3846
- * `options.success` - it is `true` if the results has been sent to the service successfully.
3847
- * `options.response` - a response from the service.
3877
+ * - `sender` - the survey object that fires the event.
3878
+ * - `options.success` - it is `true` if the results has been sent to the service successfully.
3879
+ * - `options.response` - a response from the service.
3848
3880
  */
3849
3881
  onSendResult: EventBase<SurveyModel>;
3850
3882
  /*
3851
3883
  * Use it to get results after calling the `getResult` method. It returns a simple analytics from [api.surveyjs.io](https://api.surveyjs.io) service.
3852
- * `sender` - the survey object that fires the event.
3853
- * `options.success` - it is `true` if the results were got from the service successfully.
3854
- * `options.data` - the object `{AnswersCount, QuestionResult : {} }`. `AnswersCount` is the number of posted survey results. `QuestionResult` is an object with all possible unique answers to the question and number of these answers.
3855
- * `options.dataList` - an array of objects `{name, value}`, where `name` is a unique value/answer to the question and `value` is a number/count of such answers.
3856
- * `options.response` - the server response.
3884
+ * - `sender` - the survey object that fires the event.
3885
+ * - `options.success` - it is `true` if the results were got from the service successfully.
3886
+ * - `options.data` - the object `{AnswersCount, QuestionResult : {} }`. `AnswersCount` is the number of posted survey results. `QuestionResult` is an object with all possible unique answers to the question and number of these answers.
3887
+ * - `options.dataList` - an array of objects `{name, value}`, where `name` is a unique value/answer to the question and `value` is a number/count of such answers.
3888
+ * - `options.response` - the server response.
3857
3889
  */
3858
3890
  onGetResult: EventBase<SurveyModel>;
3859
3891
  /*
3860
3892
  * The event is fired on uploading the file in QuestionFile when `storeDataAsText` is set to `false`. Use this event to change the uploaded file name or to prevent a particular file from being uploaded.
3861
- * `sender` - the survey object that fires the event.
3862
- * `options.question` - the file question instance.
3863
- * `options.name` - the question name.
3864
- * `options.files` - the Javascript File objects array to upload.
3865
- * `options.callback` - a callback function to get the file upload status and the updloaded file content.
3893
+ * - `sender` - the survey object that fires the event.
3894
+ * - `options.question` - the file question instance.
3895
+ * - `options.name` - the question name.
3896
+ * - `options.files` - the Javascript File objects array to upload.
3897
+ * - `options.callback` - a callback function to get the file upload status and the updloaded file content.
3866
3898
  */
3867
3899
  onUploadFiles: EventBase<SurveyModel>;
3868
3900
  /*
3869
3901
  * The event is fired on downloading a file in QuestionFile. Use this event to pass the file to a preview.
3870
- * `sender` - the survey object that fires the event.
3871
- * `options.name` - the question name.
3872
- * `options.content` - the file content.
3873
- * `options.fileValue` - single file question value.
3874
- * `options.callback` - a callback function to get the file downloading status and the downloaded file content.
3902
+ * - `sender` - the survey object that fires the event.
3903
+ * - `options.name` - the question name.
3904
+ * - `options.content` - the file content.
3905
+ * - `options.fileValue` - single file question value.
3906
+ * - `options.callback` - a callback function to get the file downloading status and the downloaded file content.
3875
3907
  */
3876
3908
  onDownloadFile: EventBase<SurveyModel>;
3877
3909
  /*
3878
3910
  * This event is fired on clearing the value in a QuestionFile. Use this event to remove files stored on your server.
3879
- * `sender` - the survey object that fires the event.
3880
- * `question` - the question instance.
3881
- * `options.name` - the question name.
3882
- * `options.value` - the question value.
3883
- * `options.fileName` - a removed file's name, set it to `null` to clear all files.
3884
- * `options.callback` - a callback function to get the operation status.
3911
+ * - `sender` - the survey object that fires the event.
3912
+ * - `question` - the question instance.
3913
+ * - `options.name` - the question name.
3914
+ * - `options.value` - the question value.
3915
+ * - `options.fileName` - a removed file's name, set it to `null` to clear all files.
3916
+ * - `options.callback` - a callback function to get the operation status.
3885
3917
  */
3886
3918
  onClearFiles: EventBase<SurveyModel>;
3887
3919
  /*
3888
3920
  * The event is fired after choices for radiogroup, checkbox, and dropdown has been loaded from a RESTful service and before they are assigned to a question.
3889
3921
  * You may change the choices, before they are assigned or disable/enabled make visible/invisible question, based on loaded results.
3890
- * `sender` - the survey object that fires the event.
3891
- * `question` - the question where loaded choices are going to be assigned.
3892
- * `choices` - the loaded choices. You can change the loaded choices to before they are assigned to question.
3893
- * `serverResult` - a result that comes from the server as it is.
3922
+ * - `sender` - the survey object that fires the event.
3923
+ * - `question` - the question where loaded choices are going to be assigned.
3924
+ * - `choices` - the loaded choices. You can change the loaded choices to before they are assigned to question.
3925
+ * - `serverResult` - a result that comes from the server as it is.
3894
3926
  */
3895
3927
  onLoadChoicesFromServer: EventBase<SurveyModel>;
3896
3928
  /*
3897
3929
  * The event is fired after survey is loaded from api.surveyjs.io service.
3898
3930
  * You can use this event to perform manipulation with the survey model after it was loaded from the web service.
3899
- * `sender` - the survey object that fires the event.
3931
+ * - `sender` - the survey object that fires the event.
3900
3932
  */
3901
3933
  onLoadedSurveyFromService: EventBase<SurveyModel>;
3902
3934
  /*
3903
3935
  * The event is fired on processing the text when it finds a text in brackets: `{somevalue}`. By default, it uses the value of survey question values and variables.
3904
3936
  * For example, you may use the text processing in loading choices from the web. If your `choicesByUrl.url` equals to "UrlToServiceToGetAllCities/{country}/{state}",
3905
3937
  * you may set on this event `options.value` to "all" or empty string when the "state" value/question is non selected by a user.
3906
- * `sender` - the survey object that fires the event.
3907
- * `options.name` - the name of the processing value, for example, "state" in our example.
3908
- * `options.value` - the value of the processing text.
3909
- * `options.isExists` - a boolean value. Set it to `true` if you want to use the value and set it to `false` if you don't.
3938
+ * - `sender` - the survey object that fires the event.
3939
+ * - `options.name` - the name of the processing value, for example, "state" in our example.
3940
+ * - `options.value` - the value of the processing text.
3941
+ * - `options.isExists` - a boolean value. Set it to `true` if you want to use the value and set it to `false` if you don't.
3910
3942
  */
3911
3943
  onProcessTextValue: EventBase<SurveyModel>;
3912
3944
  /*
3913
3945
  * The event is fired before rendering a question. Use it to override the default question CSS classes.
3914
- * `sender` - the survey object that fires the event.
3915
- * `options.question` - a question for which you can change the CSS classes.
3916
- * `options.cssClasses` - an object with CSS classes. For example `{root: "table", button: "button"}`. You can change them to your own CSS classes.
3946
+ * - `sender` - the survey object that fires the event.
3947
+ * - `options.question` - a question for which you can change the CSS classes.
3948
+ * - `options.cssClasses` - an object with CSS classes. For example `{root: "table", button: "button"}`. You can change them to your own CSS classes.
3917
3949
  */
3918
3950
  onUpdateQuestionCssClasses: EventBase<SurveyModel>;
3919
3951
  /*
3920
3952
  * The event is fired before rendering a panel. Use it to override the default panel CSS classes.
3921
- * `sender` - the survey object that fires the event.
3922
- * `options.panel` - a panel for which you can change the CSS classes.
3923
- * `options.cssClasses` - an object with CSS classes. For example `{title: "sv_p_title", description: "small"}`. You can change them to your own CSS classes.
3953
+ * - `sender` - the survey object that fires the event.
3954
+ * - `options.panel` - a panel for which you can change the CSS classes.
3955
+ * - `options.cssClasses` - an object with CSS classes. For example `{title: "sv_p_title", description: "small"}`. You can change them to your own CSS classes.
3924
3956
  */
3925
3957
  onUpdatePanelCssClasses: EventBase<SurveyModel>;
3926
3958
  /*
3927
3959
  * The event is fired before rendering a page. Use it to override the default page CSS classes.
3928
- * `sender` - the survey object that fires the event.
3929
- * `options.page` - a page for which you can change the CSS classes.
3930
- * `options.cssClasses` - an object with CSS classes. For example `{title: "sv_p_title", description: "small"}`. You can change them to your own CSS classes.
3960
+ * - `sender` - the survey object that fires the event.
3961
+ * - `options.page` - a page for which you can change the CSS classes.
3962
+ * - `options.cssClasses` - an object with CSS classes. For example `{title: "sv_p_title", description: "small"}`. You can change them to your own CSS classes.
3931
3963
  */
3932
3964
  onUpdatePageCssClasses: EventBase<SurveyModel>;
3933
3965
  /*
3934
3966
  * The event is fired before rendering a choice item in radiogroup, checkbox or dropdown questions. Use it to override the default choice item css.
3935
- * `sender` - the survey object that fires the event.
3936
- * `options.question` - a question where choice item is rendered.
3937
- * `options.item` - a choice item of ItemValue type. You can get value or text choice properties as options.item.value or options.choice.text
3938
- * `options.css` - a string with css classes divided by space. You can change it.
3967
+ * - `sender` - the survey object that fires the event.
3968
+ * - `options.question` - a question where choice item is rendered.
3969
+ * - `options.item` - a choice item of ItemValue type. You can get value or text choice properties as options.item.value or options.choice.text
3970
+ * - `options.css` - a string with css classes divided by space. You can change it.
3939
3971
  */
3940
3972
  onUpdateChoiceItemCss: EventBase<SurveyModel>;
3941
3973
  /*
3942
3974
  * The event is fired right after survey is rendered in DOM.
3943
- * `sender` - the survey object that fires the event.
3944
- * `options.htmlElement` - a root HTML element bound to the survey object.
3975
+ * - `sender` - the survey object that fires the event.
3976
+ * - `options.htmlElement` - a root HTML element bound to the survey object.
3945
3977
  */
3946
3978
  onAfterRenderSurvey: EventBase<SurveyModel>;
3947
3979
  /*
3948
3980
  * The event is fired right after a page is rendered in DOM. Use it to modify HTML elements.
3949
- * `sender` - the survey object that fires the event.
3950
- * `options.htmlElement` - an HTML element bound to the survey header object.
3981
+ * - `sender` - the survey object that fires the event.
3982
+ * - `options.htmlElement` - an HTML element bound to the survey header object.
3951
3983
  */
3952
3984
  onAfterRenderHeader: EventBase<SurveyModel>;
3953
3985
  /*
3954
3986
  * The event is fired right after a page is rendered in DOM. Use it to modify HTML elements.
3955
- * `sender` - the survey object that fires the event.
3956
- * `options.page` - a page object for which the event is fired. Typically the current/active page.
3957
- * `options.htmlElement` - an HTML element bound to the page object.
3987
+ * - `sender` - the survey object that fires the event.
3988
+ * - `options.page` - a page object for which the event is fired. Typically the current/active page.
3989
+ * - `options.htmlElement` - an HTML element bound to the page object.
3958
3990
  */
3959
3991
  onAfterRenderPage: EventBase<SurveyModel>;
3960
3992
  /*
3961
3993
  * The event is fired right after a question is rendered in DOM. Use it to modify HTML elements.
3962
- * `sender` - the survey object that fires the event.
3963
- * `options.question` - a question object for which the event is fired.
3964
- * `options.htmlElement` - an HTML element bound to the question object.
3994
+ * - `sender` - the survey object that fires the event.
3995
+ * - `options.question` - a question object for which the event is fired.
3996
+ * - `options.htmlElement` - an HTML element bound to the question object.
3965
3997
  */
3966
3998
  onAfterRenderQuestion: EventBase<SurveyModel>;
3967
3999
  /*
3968
4000
  * The event is fired right after a non-composite question (text, comment, dropdown, radiogroup, checkbox) is rendered in DOM. Use it to modify HTML elements.
3969
4001
  * This event is not fired for matrices, panels, multiple text and image picker.
3970
- * `sender` - the survey object that fires the event.
3971
- * `options.question` - a question object for which the event is fired.
3972
- * `options.htmlElement` - an HTML element bound to the question object.
4002
+ * - `sender` - the survey object that fires the event.
4003
+ * - `options.question` - a question object for which the event is fired.
4004
+ * - `options.htmlElement` - an HTML element bound to the question object.
3973
4005
  */
3974
4006
  onAfterRenderQuestionInput: EventBase<SurveyModel>;
3975
4007
  /*
3976
4008
  * The event is fired right after a panel is rendered in DOM. Use it to modify HTML elements.
3977
- * `sender` - the survey object that fires the event
3978
- * `options.panel` - a panel object for which the event is fired
3979
- * `options.htmlElement` - an HTML element bound to the panel object
4009
+ * - `sender` - the survey object that fires the event
4010
+ * - `options.panel` - a panel object for which the event is fired
4011
+ * - `options.htmlElement` - an HTML element bound to the panel object
3980
4012
  */
3981
4013
  onAfterRenderPanel: EventBase<SurveyModel>;
3982
4014
  /*
3983
4015
  * The event occurs when an element within a question gets focus.
3984
- * `sender` - A [survey](https://surveyjs.io/Documentation/Library?id=surveymodel) object that fires the event.
3985
- * `options.question` - A [question](https://surveyjs.io/Documentation/Library?id=Question) whose child element gets focus.
4016
+ * - `sender` - A [survey](https://surveyjs.io/Documentation/Library?id=surveymodel) object that fires the event.
4017
+ * - `options.question` - A [question](https://surveyjs.io/Documentation/Library?id=Question) whose child element gets focus.
3986
4018
  */
3987
4019
  onFocusInQuestion: EventBase<SurveyModel>;
3988
4020
  /*
3989
4021
  * The event occurs when an element within a panel gets focus.
3990
- * `sender` - A [survey](https://surveyjs.io/Documentation/Library?id=surveymodel) object that fires the event.
3991
- * `options.panel` - A [panel](https://surveyjs.io/Documentation/Library?id=PanelModelBase) whose child element gets focus.
4022
+ * - `sender` - A [survey](https://surveyjs.io/Documentation/Library?id=surveymodel) object that fires the event.
4023
+ * - `options.panel` - A [panel](https://surveyjs.io/Documentation/Library?id=PanelModelBase) whose child element gets focus.
3992
4024
  */
3993
4025
  onFocusInPanel: EventBase<SurveyModel>;
3994
4026
  /*
@@ -4004,123 +4036,123 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
4004
4036
  onShowingChoiceItem: EventBase<SurveyModel>;
4005
4037
  /*
4006
4038
  * The event is fired on adding a new row in Matrix Dynamic question.
4007
- * `sender` - the survey object that fires the event
4008
- * `options.question` - a matrix question.
4009
- * `options.row` - a new added row.
4039
+ * - `sender` - the survey object that fires the event
4040
+ * - `options.question` - a matrix question.
4041
+ * - `options.row` - a new added row.
4010
4042
  */
4011
4043
  onMatrixRowAdded: EventBase<SurveyModel>;
4012
4044
  /*
4013
4045
  * The event is fired before adding a new row in Matrix Dynamic question.
4014
- * `sender` - the survey object that fires the event
4015
- * `options.question` - a matrix question.
4016
- * `options.canAddRow` - specifies whether a new row can be added
4046
+ * - `sender` - the survey object that fires the event
4047
+ * - `options.question` - a matrix question.
4048
+ * - `options.canAddRow` - specifies whether a new row can be added
4017
4049
  */
4018
4050
  onMatrixBeforeRowAdded: EventBase<SurveyModel>;
4019
4051
  /*
4020
4052
  * The event is fired before removing a row from Matrix Dynamic question. You can disable removing and clear the data instead.
4021
- * `sender` - the survey object that fires the event
4022
- * `options.question` - a matrix question.
4023
- * `options.rowIndex` - a row index.
4024
- * `options.row` - a row object.
4025
- * `options.allow` - a boolean property. Set it to `false` to disable the row removing.
4053
+ * - `sender` - the survey object that fires the event
4054
+ * - `options.question` - a matrix question.
4055
+ * - `options.rowIndex` - a row index.
4056
+ * - `options.row` - a row object.
4057
+ * - `options.allow` - a boolean property. Set it to `false` to disable the row removing.
4026
4058
  */
4027
4059
  onMatrixRowRemoving: EventBase<SurveyModel>;
4028
4060
  /*
4029
4061
  * The event is fired on removing a row from Matrix Dynamic question.
4030
- * `sender` - the survey object that fires the event
4031
- * `options.question` - a matrix question
4032
- * `options.rowIndex` - a removed row index
4033
- * `options.row` - a removed row object
4062
+ * - `sender` - the survey object that fires the event
4063
+ * - `options.question` - a matrix question
4064
+ * - `options.rowIndex` - a removed row index
4065
+ * - `options.row` - a removed row object
4034
4066
  */
4035
4067
  onMatrixRowRemoved: EventBase<SurveyModel>;
4036
4068
  /*
4037
4069
  * The event is fired before rendering "Remove" button for removing a row from Matrix Dynamic question.
4038
- * `sender` - the survey object that fires the event
4039
- * `options.question` - a matrix question.
4040
- * `options.rowIndex` - a row index.
4041
- * `options.row` - a row object.
4042
- * `options.allow` - a boolean property. Set it to `false` to disable the row removing.
4070
+ * - `sender` - the survey object that fires the event
4071
+ * - `options.question` - a matrix question.
4072
+ * - `options.rowIndex` - a row index.
4073
+ * - `options.row` - a row object.
4074
+ * - `options.allow` - a boolean property. Set it to `false` to disable the row removing.
4043
4075
  */
4044
4076
  onMatrixAllowRemoveRow: EventBase<SurveyModel>;
4045
4077
  /*
4046
4078
  * The event is fired before creating cell question in the matrix. You can change the cell question type by setting different options.cellType.
4047
- * `sender` - the survey object that fires the event.
4048
- * `options.question` - the matrix question.
4049
- * `options.cellType` - the cell question type. You can change it.
4050
- * `options.rowValue` - the value of the current row. To access a particular column's value within the current row, use: `options.rowValue["columnValue"]`.
4051
- * `options.column` - the matrix column object.
4052
- * `options.columnName` - the matrix column name.
4053
- * `options.row` - the matrix row object.
4079
+ * - `sender` - the survey object that fires the event.
4080
+ * - `options.question` - the matrix question.
4081
+ * - `options.cellType` - the cell question type. You can change it.
4082
+ * - `options.rowValue` - the value of the current row. To access a particular column's value within the current row, use: `options.rowValue["columnValue"]`.
4083
+ * - `options.column` - the matrix column object.
4084
+ * - `options.columnName` - the matrix column name.
4085
+ * - `options.row` - the matrix row object.
4054
4086
  */
4055
4087
  onMatrixCellCreating: EventBase<SurveyModel>;
4056
4088
  /*
4057
4089
  * The event is fired for every cell created in Matrix Dynamic and Matrix Dropdown questions.
4058
- * `sender` - the survey object that fires the event.
4059
- * `options.question` - the matrix question.
4060
- * `options.cell` - the matrix cell.
4061
- * `options.cellQuestion` - the question/editor in the cell. You may customize it, change it's properties, like choices or visible.
4062
- * `options.rowValue` - the value of the current row. To access a particular column's value within the current row, use: `options.rowValue["columnValue"]`.
4063
- * `options.column` - the matrix column object.
4064
- * `options.columnName` - the matrix column name.
4065
- * `options.row` - the matrix row object.
4090
+ * - `sender` - the survey object that fires the event.
4091
+ * - `options.question` - the matrix question.
4092
+ * - `options.cell` - the matrix cell.
4093
+ * - `options.cellQuestion` - the question/editor in the cell. You may customize it, change it's properties, like choices or visible.
4094
+ * - `options.rowValue` - the value of the current row. To access a particular column's value within the current row, use: `options.rowValue["columnValue"]`.
4095
+ * - `options.column` - the matrix column object.
4096
+ * - `options.columnName` - the matrix column name.
4097
+ * - `options.row` - the matrix row object.
4066
4098
  */
4067
4099
  onMatrixCellCreated: EventBase<SurveyModel>;
4068
4100
  /*
4069
4101
  * The event is fired for every cell after is has been rendered in DOM.
4070
- * `sender` - the survey object that fires the event.
4071
- * `options.question` - the matrix question.
4072
- * `options.cell` - the matrix cell.
4073
- * `options.cellQuestion` - the question/editor in the cell.
4074
- * `options.htmlElement` - an HTML element bound to the `cellQuestion` object.
4075
- * `options.column` - the matrix column object.
4076
- * `options.row` - the matrix row object.
4102
+ * - `sender` - the survey object that fires the event.
4103
+ * - `options.question` - the matrix question.
4104
+ * - `options.cell` - the matrix cell.
4105
+ * - `options.cellQuestion` - the question/editor in the cell.
4106
+ * - `options.htmlElement` - an HTML element bound to the `cellQuestion` object.
4107
+ * - `options.column` - the matrix column object.
4108
+ * - `options.row` - the matrix row object.
4077
4109
  */
4078
4110
  onMatrixAfterCellRender: EventBase<SurveyModel>;
4079
4111
  /*
4080
4112
  * The event is fired when cell value is changed in Matrix Dynamic and Matrix Dropdown questions.
4081
- * `sender` - the survey object that fires the event.
4082
- * `options.question` - the matrix question.
4083
- * `options.columnName` - the matrix column name.
4084
- * `options.value` - a new value.
4085
- * `options.row` - the matrix row object.
4086
- * `options.getCellQuestion(columnName)` - the function that returns the cell question by column name.
4113
+ * - `sender` - the survey object that fires the event.
4114
+ * - `options.question` - the matrix question.
4115
+ * - `options.columnName` - the matrix column name.
4116
+ * - `options.value` - a new value.
4117
+ * - `options.row` - the matrix row object.
4118
+ * - `options.getCellQuestion(columnName)` - the function that returns the cell question by column name.
4087
4119
  */
4088
4120
  onMatrixCellValueChanged: EventBase<SurveyModel>;
4089
4121
  /*
4090
4122
  * The event is fired on changing cell value in Matrix Dynamic and Matrix Dropdown questions. You may change the `options.value` property to change a cell value.
4091
- * `sender` - the survey object that fires the event.
4092
- * `options.question` - the matrix question.
4093
- * `options.columnName` - the matrix column name.
4094
- * `options.value` - a new value.
4095
- * `options.oldValue` - the old value.
4096
- * `options.row` - the matrix row object.
4097
- * `options.getCellQuestion(columnName)` - the function that returns a cell question by column name.
4123
+ * - `sender` - the survey object that fires the event.
4124
+ * - `options.question` - the matrix question.
4125
+ * - `options.columnName` - the matrix column name.
4126
+ * - `options.value` - a new value.
4127
+ * - `options.oldValue` - the old value.
4128
+ * - `options.row` - the matrix row object.
4129
+ * - `options.getCellQuestion(columnName)` - the function that returns a cell question by column name.
4098
4130
  */
4099
4131
  onMatrixCellValueChanging: EventBase<SurveyModel>;
4100
4132
  /*
4101
4133
  * The event is fired when Matrix Dynamic and Matrix Dropdown questions validate the cell value.
4102
- * `sender` - the survey object that fires the event.
4103
- * `options.error` - an error string. It is empty by default.
4104
- * `options.question` - the matrix question.
4105
- * `options.columnName` - the matrix column name.
4106
- * `options.value` - a cell value.
4107
- * `options.row` - the matrix row object.
4108
- * `options.getCellQuestion(columnName)` - the function that returns the cell question by column name.
4134
+ * - `sender` - the survey object that fires the event.
4135
+ * - `options.error` - an error string. It is empty by default.
4136
+ * - `options.question` - the matrix question.
4137
+ * - `options.columnName` - the matrix column name.
4138
+ * - `options.value` - a cell value.
4139
+ * - `options.row` - the matrix row object.
4140
+ * - `options.getCellQuestion(columnName)` - the function that returns the cell question by column name.
4109
4141
  */
4110
4142
  onMatrixCellValidate: EventBase<SurveyModel>;
4111
4143
  /*
4112
4144
  * The event is fired on adding a new panel in Panel Dynamic question.
4113
- * `sender` - the survey object that fires the event.
4114
- * `options.question` - a panel question.
4115
- * `options.panel` - an added panel.
4145
+ * - `sender` - the survey object that fires the event.
4146
+ * - `options.question` - a panel question.
4147
+ * - `options.panel` - an added panel.
4116
4148
  */
4117
4149
  onDynamicPanelAdded: EventBase<SurveyModel>;
4118
4150
  /*
4119
4151
  * The event is fired on removing a panel from Panel Dynamic question.
4120
- * `sender` - the survey object that fires the event.
4121
- * `options.question` - a panel question.
4122
- * `options.panelIndex` - a removed panel index.
4123
- * `options.panel` - a removed panel.
4152
+ * - `sender` - the survey object that fires the event.
4153
+ * - `options.question` - a panel question.
4154
+ * - `options.panelIndex` - a removed panel index.
4155
+ * - `options.panel` - a removed panel.
4124
4156
  */
4125
4157
  onDynamicPanelRemoved: EventBase<SurveyModel>;
4126
4158
  /*
@@ -4129,92 +4161,92 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
4129
4161
  onTimer: EventBase<SurveyModel>;
4130
4162
  /*
4131
4163
  * The event is fired before displaying a new information in the Timer Panel. Use it to change the default text.
4132
- * `sender` - the survey object that fires the event.
4133
- * `options.text` - the timer panel info text.
4164
+ * - `sender` - the survey object that fires the event.
4165
+ * - `options.text` - the timer panel info text.
4134
4166
  */
4135
4167
  onTimerPanelInfoText: EventBase<SurveyModel>;
4136
4168
  /*
4137
4169
  * The event is fired when item value is changed in Panel Dynamic question.
4138
- * `sender` - the survey object that fires the event.
4139
- * `options.question` - the panel question.
4140
- * `options.panel` - the dynamic panel item.
4141
- * `options.name` - the item name.
4142
- * `options.value` - a new value.
4143
- * `options.itemIndex` - the panel item index.
4144
- * `options.itemValue` - the panel item object.
4170
+ * - `sender` - the survey object that fires the event.
4171
+ * - `options.question` - the panel question.
4172
+ * - `options.panel` - the dynamic panel item.
4173
+ * - `options.name` - the item name.
4174
+ * - `options.value` - a new value.
4175
+ * - `options.itemIndex` - the panel item index.
4176
+ * - `options.itemValue` - the panel item object.
4145
4177
  */
4146
4178
  onDynamicPanelItemValueChanged: EventBase<SurveyModel>;
4147
4179
  /*
4148
4180
  * Use this event to define, whether an answer to a question is correct or not.
4149
- * `sender` - the survey object that fires the event.
4150
- * `options.question` - a question on which you have to decide if the answer is correct or not.
4151
- * `options.result` - returns `true`, if an answer is correct, or `false`, if the answer is not correct. Use questions' `value` and `correctAnswer` properties to return the correct value.
4152
- * `options.correctAnswers` - you may change the default number of correct or incorrect answers in the question, for example for matrix, where each row is a quiz question.
4181
+ * - `sender` - the survey object that fires the event.
4182
+ * - `options.question` - a question on which you have to decide if the answer is correct or not.
4183
+ * - `options.result` - returns `true`, if an answer is correct, or `false`, if the answer is not correct. Use questions' `value` and `correctAnswer` properties to return the correct value.
4184
+ * - `options.correctAnswers` - you may change the default number of correct or incorrect answers in the question, for example for matrix, where each row is a quiz question.
4153
4185
  */
4154
4186
  onIsAnswerCorrect: EventBase<SurveyModel>;
4155
4187
  /*
4156
4188
  * Use this event to control drag&drop operations during design mode.
4157
- * `sender` - the survey object that fires the event.
4158
- * `options.allow` - set it to `false` to disable dragging.
4159
- * `options.target` - a target element that is dragged.
4160
- * `options.source` - a source element. It can be `null`, if it is a new element, dragging from toolbox.
4161
- * `options.parent` - a page or panel where target element is dragging.
4162
- * `options.insertBefore` - an element before the target element is dragging. It can be `null` if parent container (page or panel) is empty or dragging an element after the last element in a container.
4163
- * `options.insertAfter` - an element after the target element is dragging. It can be `null` if parent container (page or panel) is empty or dragging element to the first position within the parent container.
4189
+ * - `sender` - the survey object that fires the event.
4190
+ * - `options.allow` - set it to `false` to disable dragging.
4191
+ * - `options.target` - a target element that is dragged.
4192
+ * - `options.source` - a source element. It can be `null`, if it is a new element, dragging from toolbox.
4193
+ * - `options.parent` - a page or panel where target element is dragging.
4194
+ * - `options.insertBefore` - an element before the target element is dragging. It can be `null` if parent container (page or panel) is empty or dragging an element after the last element in a container.
4195
+ * - `options.insertAfter` - an element after the target element is dragging. It can be `null` if parent container (page or panel) is empty or dragging element to the first position within the parent container.
4164
4196
  */
4165
4197
  onDragDropAllow: EventBase<SurveyModel>;
4166
4198
  /*
4167
4199
  * Use this event to control scrolling element to top. You can cancel the default behavior by setting options.cancel property to true.
4168
- * `sender` - the survey object that fires the event.
4169
- * `options.element` - an element that is going to be scrolled on top.
4170
- * `options.question` - a question that is going to be scrolled on top. It can be null if options.page is not null.
4171
- * `options.page` - a page that is going to be scrolled on top. It can be null if options.question is not null.
4172
- * `options.elementId` - the unique element DOM Id.
4173
- * `options.cancel` - set this property to true to cancel the default scrolling.
4200
+ * - `sender` - the survey object that fires the event.
4201
+ * - `options.element` - an element that is going to be scrolled on top.
4202
+ * - `options.question` - a question that is going to be scrolled on top. It can be null if options.page is not null.
4203
+ * - `options.page` - a page that is going to be scrolled on top. It can be null if options.question is not null.
4204
+ * - `options.elementId` - the unique element DOM Id.
4205
+ * - `options.cancel` - set this property to true to cancel the default scrolling.
4174
4206
  */
4175
4207
  onScrollingElementToTop: EventBase<SurveyModel>;
4176
4208
  onLocaleChangedEvent: EventBase<SurveyModel>;
4177
4209
  /*
4178
4210
  * Use this event to create/customize actions to be displayed in a question's title.
4179
- * `sender` - A [Survey](https://surveyjs.io/Documentation/Library?id=SurveyModel) object that fires the event.
4180
- * `options.question` - A [Question](https://surveyjs.io/Documentation/Library?id=Question) object for which the event is fired.
4181
- * `options.titleActions` - A list of actions ([IAction](https://surveyjs.io/Documentation/Library?id=IAction) objects) associated with the processed question.
4211
+ * - `sender` - A [Survey](https://surveyjs.io/Documentation/Library?id=SurveyModel) object that fires the event.
4212
+ * - `options.question` - A [Question](https://surveyjs.io/Documentation/Library?id=Question) object for which the event is fired.
4213
+ * - `options.titleActions` - A list of actions ([IAction](https://surveyjs.io/Documentation/Library?id=IAction) objects) associated with the processed question.
4182
4214
  */
4183
4215
  onGetQuestionTitleActions: EventBase<SurveyModel>;
4184
4216
  /*
4185
4217
  * Use this event to create/customize actions to be displayed in a panel's title.
4186
- * `sender` - A survey object that fires the event.
4187
- * `options.panel` - A panel ([PanelModel](https://surveyjs.io/Documentation/Library?id=panelmodel) object) for which the event is fired.
4188
- * `options.titleActions` - A list of actions ([IAction](https://surveyjs.io/Documentation/Library?id=IAction) objects) associated with the processed panel.
4218
+ * - `sender` - A survey object that fires the event.
4219
+ * - `options.panel` - A panel ([PanelModel](https://surveyjs.io/Documentation/Library?id=panelmodel) object) for which the event is fired.
4220
+ * - `options.titleActions` - A list of actions ([IAction](https://surveyjs.io/Documentation/Library?id=IAction) objects) associated with the processed panel.
4189
4221
  */
4190
4222
  onGetPanelTitleActions: EventBase<SurveyModel>;
4191
4223
  /*
4192
4224
  * Use this event to create/customize actions to be displayed in a page's title.
4193
- * `sender` - A survey object that fires the event.
4194
- * `options.page` - A page ([PageModel](https://surveyjs.io/Documentation/Library?id=pagemodel) object) for which the event is fired.
4195
- * `options.titleActions` - A list of actions ([IAction](https://surveyjs.io/Documentation/Library?id=IAction) objects) associated with the processed page.
4225
+ * - `sender` - A survey object that fires the event.
4226
+ * - `options.page` - A page ([PageModel](https://surveyjs.io/Documentation/Library?id=pagemodel) object) for which the event is fired.
4227
+ * - `options.titleActions` - A list of actions ([IAction](https://surveyjs.io/Documentation/Library?id=IAction) objects) associated with the processed page.
4196
4228
  */
4197
4229
  onGetPageTitleActions: EventBase<SurveyModel>;
4198
4230
  /*
4199
4231
  * Use this event to create/customize actions to be displayed in a matrix question's row.
4200
- * `sender` - A survey object that fires the event.
4201
- * `options.question` - A matrix question ([QuestionMatrixBaseModel](https://surveyjs.io/Documentation/Library?id=questionmatrixbasemodel) object) for which the event is fired.
4202
- * `options.row` - A matrix row for which the event is fired.
4203
- * `options.actions` - A list of actions ([IAction](https://surveyjs.io/Documentation/Library?id=IAction) objects) associated with the processed matrix question and row.
4232
+ * - `sender` - A survey object that fires the event.
4233
+ * - `options.question` - A matrix question ([QuestionMatrixBaseModel](https://surveyjs.io/Documentation/Library?id=questionmatrixbasemodel) object) for which the event is fired.
4234
+ * - `options.row` - A matrix row for which the event is fired.
4235
+ * - `options.actions` - A list of actions ([IAction](https://surveyjs.io/Documentation/Library?id=IAction) objects) associated with the processed matrix question and row.
4204
4236
  */
4205
4237
  onGetMatrixRowActions: EventBase<SurveyModel>;
4206
4238
  /*
4207
4239
  * The event is fired after the survey element content was collapsed or expanded.
4208
- * `sender` - the survey object that fires the event.
4209
- * `options.element` - Specifies which survey element content was collapsed or expanded.
4240
+ * - `sender` - the survey object that fires the event.
4241
+ * - `options.element` - Specifies which survey element content was collapsed or expanded.
4210
4242
  */
4211
4243
  onElementContentVisibilityChanged: EventBase<SurveyModel>;
4212
4244
  /*
4213
4245
  * The event is fired before expression question convert it's value into display value for rendering.
4214
- * `sender` - the survey object that fires the event.
4215
- * `options.question` - The expression question.
4216
- * `options.value` - The question value.
4217
- * `options.displayValue` - the display value that you can change before rendering.
4246
+ * - `sender` - the survey object that fires the event.
4247
+ * - `options.question` - The expression question.
4248
+ * - `options.value` - The question value.
4249
+ * - `options.displayValue` - the display value that you can change before rendering.
4218
4250
  */
4219
4251
  onGetExpressionDisplayValue: EventBase<SurveyModel>;
4220
4252
  /*
@@ -5031,6 +5063,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
5031
5063
  * Gets whether the question values on the current page are validating on the server at the current moment.
5032
5064
  */
5033
5065
  get isValidatingOnServer(): boolean;
5066
+ serverValidationEventCount: number;
5034
5067
  protected onIsValidatingOnServerChanged(): void;
5035
5068
  protected doServerValidation(doComplete: boolean, isPreview?: boolean): boolean;
5036
5069
  protected doNextPage(): void;
@@ -5088,7 +5121,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
5088
5121
  get isValidateOnValueChanging(): boolean;
5089
5122
  get isValidateOnValueChanged(): boolean;
5090
5123
  matrixCellValidate(question: IQuestion, options: any): SurveyError;
5091
- dynamicPanelAdded(question: IQuestion): void;
5124
+ dynamicPanelAdded(question: IQuestion, panelIndex?: number, panel?: IPanel): void;
5092
5125
  dynamicPanelRemoved(question: IQuestion, panelIndex: number, panel: IPanel): void;
5093
5126
  dynamicPanelItemValueChanged(question: IQuestion, options: any): void;
5094
5127
  dragAndDropAllow(options: any): boolean;
@@ -5621,6 +5654,8 @@ export declare class SurveyQuestionMultipleText extends SurveyQuestionElementBas
5621
5654
  }
5622
5655
  export declare class SurveyQuestionOptionItem extends ReactSurveyElement {
5623
5656
  constructor(props: any);
5657
+ componentDidUpdate(prevProps: any, prevState: any): void;
5658
+ componentWillUnmount(): void;
5624
5659
  protected getStateElement(): Base;
5625
5660
  protected canRender(): boolean;
5626
5661
  protected renderElement(): JSX.Element;
@@ -6717,7 +6752,6 @@ export declare class SurveyQuestionPanelDynamicItem extends SurveyPanel {
6717
6752
  constructor(props: any);
6718
6753
  protected getSurvey(): SurveyModel;
6719
6754
  protected getCss(): any;
6720
- handleOnPanelRemoveClick(event: any): void;
6721
6755
  render(): JSX.Element;
6722
6756
  protected renderButton(): JSX.Element;
6723
6757
  }
@@ -6735,6 +6769,11 @@ export declare class SurveyQuestionPanelDynamicProgressText extends SurveyQuesti
6735
6769
  constructor(props: any);
6736
6770
  protected renderElement(): JSX.Element;
6737
6771
  }
6772
+ export declare class SurveyQuestionPanelDynamicRemoveButton extends SurveyQuestionPanelDynamicAction {
6773
+ constructor(props: any);
6774
+ protected handleClick: (event: any) => void;
6775
+ protected renderElement(): JSX.Element;
6776
+ }
6738
6777
  export declare class SurveyQuestionText extends SurveyQuestionUncontrolledElement<QuestionTextModel> {
6739
6778
  constructor(props: any);
6740
6779
  _isWaitingForEnter: boolean;
@@ -7353,6 +7392,7 @@ export declare class QuestionMatrixBaseModel<TRow, TColumn> extends Question {
7353
7392
  visibleRowsChangedCallback: any;
7354
7393
  protected createColumnValues(): any;
7355
7394
  getType(): string;
7395
+ endLoadingFromJson(): void;
7356
7396
  get isCompositeQuestion(): boolean;
7357
7397
  /*
7358
7398
  * Set this property to false, to hide table header. The default value is true.
@@ -7390,6 +7430,7 @@ export declare class QuestionMatrixBaseModel<TRow, TColumn> extends Question {
7390
7430
  protected filterItems(): boolean;
7391
7431
  protected onColumnsChanged(): void;
7392
7432
  protected onRowsChanged(): void;
7433
+ protected updateVisibilityBasedOnRows(): void;
7393
7434
  protected shouldRunColumnExpression(): boolean;
7394
7435
  protected hasRowsAsItems(): boolean;
7395
7436
  protected runItemsCondition(values: any, properties: any): boolean;
@@ -7398,7 +7439,13 @@ export declare class QuestionMatrixBaseModel<TRow, TColumn> extends Question {
7398
7439
  protected clearInvisibleValuesInRows(): void;
7399
7440
  needResponsiveWidth(): boolean;
7400
7441
  getTableCss(): string;
7442
+ /*
7443
+ * Aligns matrix cell content in the vertical direction.
7444
+ */
7401
7445
  verticalAlign: "top" | "middle";
7446
+ /*
7447
+ * Specifies whether to apply shading to alternate matrix rows.
7448
+ */
7402
7449
  alternateRows: boolean;
7403
7450
  }
7404
7451
  /*
@@ -7858,10 +7905,10 @@ export declare class QuestionRatingModel extends Question {
7858
7905
  get ratingRootCss(): string;
7859
7906
  getItemClass(item: ItemValue): string;
7860
7907
  getControlClass(): string;
7861
- get optionsCaption(): string;
7862
- set optionsCaption(val: string);
7863
- get locOptionsCaption(): LocalizableString;
7864
- get showOptionsCaption(): boolean;
7908
+ get placeholder(): string;
7909
+ set placeholder(val: string);
7910
+ get locPlaceholder(): LocalizableString;
7911
+ get allowClear(): boolean;
7865
7912
  get renderedValue(): boolean;
7866
7913
  set renderedValue(val: boolean);
7867
7914
  get visibleChoices(): any;
@@ -8379,17 +8426,16 @@ export declare class QuestionCustomModel extends QuestionCustomModelBase {
8379
8426
  */
8380
8427
  export declare class QuestionDropdownModel extends QuestionSelectBase {
8381
8428
  constructor(name: string);
8382
- /*
8383
- * This flag controls whether to show options caption item ('Choose...').
8384
- */
8385
8429
  get showOptionsCaption(): boolean;
8386
8430
  set showOptionsCaption(val: boolean);
8387
- /*
8388
- * Use this property to set the options caption different from the default value. The default value is taken from localization strings.
8389
- */
8390
8431
  get optionsCaption(): string;
8391
8432
  set optionsCaption(val: string);
8392
- get locOptionsCaption(): LocalizableString;
8433
+ /*
8434
+ * The input place holder.
8435
+ */
8436
+ get placeholder(): string;
8437
+ set placeholder(val: string);
8438
+ get locPlaceholder(): LocalizableString;
8393
8439
  getType(): string;
8394
8440
  get selectedItem(): ItemValue;
8395
8441
  supportGoNextPageAutomatic(): boolean;
@@ -8416,10 +8462,12 @@ export declare class QuestionDropdownModel extends QuestionSelectBase {
8416
8462
  */
8417
8463
  get autoComplete(): string;
8418
8464
  set autoComplete(val: string);
8419
- showClearButton: boolean;
8465
+ /*
8466
+ * Use it to clear the question value.
8467
+ */
8468
+ allowClear: boolean;
8420
8469
  itemComponent: string;
8421
8470
  denySearch: boolean;
8422
- dropdownWidthMode: "contentWidth" | "editorWidth";
8423
8471
  getControlClass(): string;
8424
8472
  get readOnlyText(): any;
8425
8473
  onClear(event: any): void;
@@ -8505,6 +8553,7 @@ export declare class QuestionMatrixDropdownModelBase extends QuestionMatrixBaseM
8505
8553
  static set defaultCellType(val: string);
8506
8554
  static addDefaultColumns(matrix: QuestionMatrixDropdownModelBase): void;
8507
8555
  detailPanelValue: PanelModel;
8556
+ isUniqueCaseSensitiveValue: boolean;
8508
8557
  protected isRowChanging: boolean;
8509
8558
  columnsChangedCallback: any;
8510
8559
  onRenderedTableResetCallback: any;
@@ -8540,6 +8589,12 @@ export declare class QuestionMatrixDropdownModelBase extends QuestionMatrixBaseM
8540
8589
  */
8541
8590
  get isColumnLayoutHorizontal(): boolean;
8542
8591
  /*
8592
+ * Set this property to true if you want to differ case sensitive values in unique columns, for example to allow enter "ABC" into the first row and "abc" into the second.
8593
+ * It doesn't allow by default.
8594
+ */
8595
+ get isUniqueCaseSensitive(): boolean;
8596
+ set isUniqueCaseSensitive(val: boolean);
8597
+ /*
8543
8598
  * Set the value to "underRow" to show the detailPanel under the row.
8544
8599
  */
8545
8600
  get detailPanelMode(): string;
@@ -8597,6 +8652,7 @@ export declare class QuestionMatrixDropdownModelBase extends QuestionMatrixBaseM
8597
8652
  get allowAdaptiveActions(): boolean;
8598
8653
  set allowAdaptiveActions(val: boolean);
8599
8654
  getRequiredText(): string;
8655
+ hasChoices(): boolean;
8600
8656
  onColumnPropertyChanged(column: MatrixDropdownColumn, name: string, newValue: any): void;
8601
8657
  onColumnItemValuePropertyChanged(column: MatrixDropdownColumn, propertyName: string, obj: ItemValue, name: string, newValue: any, oldValue: any): void;
8602
8658
  onShowInMultipleColumnsChanged(column: MatrixDropdownColumn): void;
@@ -8634,11 +8690,13 @@ export declare class QuestionMatrixDropdownModelBase extends QuestionMatrixBaseM
8634
8690
  get choices(): any;
8635
8691
  set choices(val: any);
8636
8692
  /*
8637
- * The default options caption for dropdown cell type.
8693
+ * The default placeholder for dropdown cell type.
8638
8694
  */
8695
+ get placeholder(): string;
8696
+ set placeholder(val: string);
8697
+ get locPlaceholder(): LocalizableString;
8639
8698
  get optionsCaption(): string;
8640
8699
  set optionsCaption(val: string);
8641
- get locOptionsCaption(): LocalizableString;
8642
8700
  /*
8643
8701
  * The duplication value error text. Set it to show the text different from the default.
8644
8702
  */
@@ -8788,7 +8846,6 @@ export declare class QuestionMatrixModel extends QuestionMatrixBaseModel<MatrixR
8788
8846
  getConditionJson(operator?: string, path?: string): any;
8789
8847
  protected clearValueIfInvisibleCore(): void;
8790
8848
  protected getFirstInputElementId(): string;
8791
- protected onRowsChanged(): void;
8792
8849
  onMatrixRowChanged(row: MatrixRowModel): void;
8793
8850
  getCorrectedRowValue(value: any): any;
8794
8851
  protected getSearchableItemValueKeys(keys: any): void;
@@ -9095,6 +9152,11 @@ export declare class QuestionMatrixDropdownModel extends QuestionMatrixDropdownM
9095
9152
  get rowTitleWidth(): string;
9096
9153
  set rowTitleWidth(val: string);
9097
9154
  getRowTitleWidth(): string;
9155
+ /*
9156
+ * Set this property to true to hide the question if there is no visible rows in the matrix.
9157
+ */
9158
+ get hideIfRowsEmpty(): boolean;
9159
+ set hideIfRowsEmpty(val: boolean);
9098
9160
  protected getDisplayValueCore(keysAsText: boolean, value: any): any;
9099
9161
  protected getConditionObjectRowName(index: number): string;
9100
9162
  protected getConditionObjectRowText(index: number): string;
@@ -9290,6 +9352,8 @@ export declare class QuestionRadiogroupModel extends QuestionCheckboxBase {
9290
9352
  get canShowClearButton(): boolean;
9291
9353
  get clearButtonCaption(): string;
9292
9354
  supportGoNextPageAutomatic(): boolean;
9355
+ get showClearButtonInContent(): boolean;
9356
+ protected getDefaultTitleActions(): Array<Action>;
9293
9357
  }
9294
9358
  /*
9295
9359
  * A Model for a ranking question
@@ -10628,6 +10692,7 @@ export declare var defaultV2Css: {
10628
10692
  titleCollapsed: string,
10629
10693
  titleOnExpand: string,
10630
10694
  titleOnError: string,
10695
+ titleBar: string,
10631
10696
  description: string,
10632
10697
  container: string,
10633
10698
  withFrame: string,
@@ -10638,6 +10703,7 @@ export declare var defaultV2Css: {
10638
10703
  requiredText: string,
10639
10704
  header: string,
10640
10705
  collapsed: string,
10706
+ expanded: string,
10641
10707
  nested: string,
10642
10708
  invisible: string,
10643
10709
  navigationButton: string,
@@ -10712,6 +10778,7 @@ export declare var defaultV2Css: {
10712
10778
  titleExpandable: string,
10713
10779
  titleExpanded: string,
10714
10780
  titleCollapsed: string,
10781
+ titleBar: string,
10715
10782
  requiredText: string,
10716
10783
  number: string,
10717
10784
  description: string,
@@ -10725,6 +10792,7 @@ export declare var defaultV2Css: {
10725
10792
  formGroup: string,
10726
10793
  hasError: string,
10727
10794
  collapsed: string,
10795
+ expanded: string,
10728
10796
  nested: string,
10729
10797
  invisible: string,
10730
10798
  },
@@ -10872,7 +10940,6 @@ export declare var defaultV2Css: {
10872
10940
  itemControl: string,
10873
10941
  image: string,
10874
10942
  itemText: string,
10875
- clearButton: string,
10876
10943
  other: string,
10877
10944
  itemNoImage: string,
10878
10945
  itemNoImageSvgIcon: string,
@@ -11054,6 +11121,7 @@ export declare var defaultV2Css: {
11054
11121
  rootMobileMod: string,
11055
11122
  rootDragMod: string,
11056
11123
  rootDisabled: string,
11124
+ rootDesignMode: string,
11057
11125
  item: string,
11058
11126
  itemContent: string,
11059
11127
  itemIndex: string,