survey-react 1.9.51 → 1.9.53

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.51
2
+ * Type definition for Survey JavaScript library for React v1.9.53
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
  */
@@ -451,6 +451,7 @@ export interface IElement extends IConditionRunner, ISurveyElement {
451
451
  isCollapsed: boolean;
452
452
  rightIndent: number;
453
453
  startWithNewLine: boolean;
454
+ registerPropertyChangedHandlers(propertyNames: any, handler: any, key: string): void;
454
455
  registerFunctionOnPropertyValueChanged(name: string, func: any, key: string): void;
455
456
  unRegisterFunctionOnPropertyValueChanged(name: string, key: string): void;
456
457
  getPanel(): IPanel;
@@ -890,20 +891,16 @@ export declare class Base {
890
891
  protected runConditionCore(values: any, properties: any): void;
891
892
  protected canRunConditions(): boolean;
892
893
  /*
893
- * Register a function that will be called on a property value changed.
894
+ * Register a function that will be called on a property value changed from the propertyNames list.
894
895
  */
895
- registerFunctionOnPropertyValueChanged(name: string, func: any, key?: string): void;
896
+ registerPropertyChangedHandlers(propertyNames: any, handler: any, key?: string): void;
896
897
  /*
897
- * Register a function that will be called on a property value changed from the names list.
898
+ * Unregister notification on property value changed for all properties in the propetyNames list.
898
899
  */
900
+ unregisterPropertyChangedHandlers(propertyNames: any, key?: string): void;
901
+ registerFunctionOnPropertyValueChanged(name: string, func: any, key?: string): void;
899
902
  registerFunctionOnPropertiesValueChanged(names: any, func: any, key?: string): void;
900
- /*
901
- * Unregister notification on property value changed
902
- */
903
903
  unRegisterFunctionOnPropertyValueChanged(name: string, key?: string): void;
904
- /*
905
- * Unregister notification on property value changed for all properties in the names list.
906
- */
907
904
  unRegisterFunctionOnPropertiesValueChanged(names: any, key?: string): void;
908
905
  createCustomLocalizableObj(name: string): void;
909
906
  getLocale(): string;
@@ -926,6 +923,7 @@ export declare class Base {
926
923
  protected setArray(name: string, src: any, dest: any, isItemValues: boolean, onPush: any): void;
927
924
  protected isTwoValueEquals(x: any, y: any, caseInSensitive?: boolean, trimString?: boolean): boolean;
928
925
  protected copyCssClasses(dest: any, source: any): void;
926
+ getElementsInDesign(includeHidden?: boolean): Array<IElement>;
929
927
  }
930
928
  export declare class Bindings {
931
929
  constructor(obj: Base);
@@ -1164,6 +1162,8 @@ export declare class Helpers {
1164
1162
  static correctAfterMultiple(a: number, b: number, res: number): number;
1165
1163
  static convertArrayValueToObject(src: any, propName: string, dest?: any): Array<any>;
1166
1164
  static convertArrayObjectToValue(src: any, propName: string): Array<any>;
1165
+ static convertDateToString(date: any): string;
1166
+ static convertValToQuestionVal(val: any): any;
1167
1167
  }
1168
1168
  export declare class JsonError {
1169
1169
  constructor(type: string, message: string);
@@ -2029,6 +2029,7 @@ export declare class DropdownListModel extends Base {
2029
2029
  updateItems(): void;
2030
2030
  onClick(event: any): void;
2031
2031
  onClear(event: any): void;
2032
+ getSelectedAction(): Action;
2032
2033
  keyHandler(event: any): void;
2033
2034
  onBlur(event: any): void;
2034
2035
  scrollToFocusedItem(): void;
@@ -2709,7 +2710,7 @@ export declare class Popup extends SurveyElementBase<IPopupProps, any> {
2709
2710
  popup: any;
2710
2711
  containerRef: any;
2711
2712
  get model(): any;
2712
- protected getStateElement(): any;
2713
+ protected getStateElement(): Base;
2713
2714
  componentDidMount(): void;
2714
2715
  componentDidUpdate(prevProps: any, prevState: any): void;
2715
2716
  componentWillUnmount(): void;
@@ -2717,40 +2718,43 @@ export declare class Popup extends SurveyElementBase<IPopupProps, any> {
2717
2718
  render(): JSX.Element;
2718
2719
  }
2719
2720
  export declare class PopupBaseViewModel extends Base {
2720
- constructor(model: any, targetElement?: any);
2721
- targetElement: any;
2722
- isAutoScroll: boolean;
2723
- prevActiveElement: any;
2724
- scrollEventCallBack: any;
2721
+ constructor(model: any);
2722
+ protected prevActiveElement: any;
2723
+ protected footerToolbarValue: any;
2725
2724
  top: string;
2726
2725
  left: string;
2727
2726
  height: string;
2728
2727
  width: string;
2729
2728
  minWidth: string;
2730
2729
  isVisible: boolean;
2731
- popupDirection: string;
2732
- pointerTarget: IPosition;
2733
2730
  container: any;
2731
+ protected hidePopup(): void;
2732
+ protected getStyleClass(): CssClassBuilder;
2733
+ protected getShowFooter(): boolean;
2734
+ protected getShowHeader(): boolean;
2735
+ protected getPopupHeaderTemplate(): string;
2736
+ protected createFooterActionBar(): void;
2734
2737
  _model: any;
2735
2738
  get model(): any;
2736
2739
  set model(val: any);
2737
2740
  get title(): string;
2738
2741
  get contentComponentName(): string;
2739
2742
  get contentComponentData(): any;
2740
- get showPointer(): boolean;
2741
2743
  get isModal(): boolean;
2742
2744
  get isFocusedContent(): boolean;
2743
2745
  get showFooter(): boolean;
2746
+ get showHeader(): boolean;
2747
+ get popupHeaderTemplate(): string;
2744
2748
  get isOverlay(): boolean;
2745
2749
  get styleClass(): string;
2750
+ get cancelButtonText(): string;
2751
+ get footerToolbar(): any;
2746
2752
  onKeyDown(event: any): void;
2753
+ switchFocus(): void;
2747
2754
  updateOnShowing(): void;
2748
2755
  updateOnHiding(): void;
2749
2756
  clickOutside(): void;
2750
2757
  cancel(): void;
2751
- apply(): void;
2752
- get cancelButtonText(): string;
2753
- get applyButtonText(): string;
2754
2758
  dispose(): void;
2755
2759
  initializePopupContainer(): void;
2756
2760
  unmountPopupContainer(): void;
@@ -2760,16 +2764,14 @@ export declare class PopupContainer extends SurveyElementBase<any, any> {
2760
2764
  prevIsVisible: boolean;
2761
2765
  handleKeydown: (event: any) => void;
2762
2766
  get model(): any;
2763
- protected getStateElement(): any;
2767
+ protected getStateElement(): Base;
2764
2768
  clickInside: (ev: any) => void;
2765
2769
  componentDidUpdate(prevProps: any, prevState: any): void;
2766
- renderContainer(): JSX.Element;
2767
- renderPointer(): JSX.Element;
2768
- renderHeader(): JSX.Element;
2770
+ renderContainer(PopupBaseViewModel: any): JSX.Element;
2771
+ renderHeaderContent(): JSX.Element;
2769
2772
  renderContent(): JSX.Element;
2770
- renderCancelButton(): JSX.Element;
2771
- renderApplyButton(): JSX.Element;
2772
- renderFooter(): JSX.Element;
2773
+ protected renderHeaderPopup(popupModel: any): JSX.Element;
2774
+ protected renderFooter(popuModel: any): JSX.Element;
2773
2775
  render(): JSX.Element;
2774
2776
  }
2775
2777
  export declare class PopupModel<T = any> extends Base {
@@ -3633,6 +3635,34 @@ export declare class NumericValidator extends SurveyValidator {
3633
3635
  get maxValue(): number;
3634
3636
  set maxValue(val: number);
3635
3637
  }
3638
+ export declare class PopupDropdownContainer extends PopupContainer {
3639
+ constructor(props: any);
3640
+ protected renderHeaderPopup(popupModel: any): JSX.Element;
3641
+ }
3642
+ export declare class PopupDropdownViewModel extends PopupBaseViewModel {
3643
+ constructor(model: any, targetElement?: any);
3644
+ targetElement: any;
3645
+ isAutoScroll: boolean;
3646
+ scrollEventCallBack: any;
3647
+ protected hidePopup(): void;
3648
+ protected getStyleClass(): CssClassBuilder;
3649
+ protected getShowHeader(): boolean;
3650
+ protected getPopupHeaderTemplate(): string;
3651
+ popupDirection: string;
3652
+ pointerTarget: IPosition;
3653
+ updateOnShowing(): void;
3654
+ updateOnHiding(): void;
3655
+ }
3656
+ export declare class PopupModalViewModel extends PopupBaseViewModel {
3657
+ constructor(model: any);
3658
+ protected getStyleClass(): CssClassBuilder;
3659
+ protected getShowFooter(): boolean;
3660
+ protected createFooterActionBar(): void;
3661
+ get applyButtonText(): string;
3662
+ apply(): void;
3663
+ clickOutside(): void;
3664
+ onKeyDown(event: any): void;
3665
+ }
3636
3666
  export declare class PopupSurvey extends Survey {
3637
3667
  constructor(props: any);
3638
3668
  protected popup: any;
@@ -3833,7 +3863,6 @@ export declare class SurveyElement extends SurveyElementCore implements ISurveyE
3833
3863
  get containsErrors(): boolean;
3834
3864
  updateContainsErrors(): void;
3835
3865
  protected getContainsErrors(): boolean;
3836
- getElementsInDesign(includeHidden?: boolean): Array<IElement>;
3837
3866
  get selectedElementInDesign(): SurveyElement;
3838
3867
  set selectedElementInDesign(val: SurveyElement);
3839
3868
  updateCustomWidgets(): void;
@@ -4801,12 +4830,14 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
4801
4830
  get maxOthersLength(): number;
4802
4831
  set maxOthersLength(val: number);
4803
4832
  /*
4804
- * Gets or ses whether a user can navigate the next page automatically after answering all the questions on a page without pressing the "Next" button.
4833
+ * Gets or ses whether user proceeds to the next page without pressing the "Next" button after answering all page questions.
4805
4834
  * The available options:
4806
4835
  *
4807
- * - `true` - navigate the next page and submit survey data automatically.
4808
- * - `autogonext` - navigate the next page automatically but do not submit survey data.
4809
- * - `false` - do not navigate the next page and do not submit survey data automatically.
4836
+ * - `true` - navigate to the next page and submit survey data automatically.
4837
+ * - `autogonext` - navigate to the next page automatically but do not submit survey data.
4838
+ * - `false` - do not navigate to the next page and do not submit survey data automatically.
4839
+ *
4840
+ * > NOTE: If any of the following questions is answered last, the survey won't be switched to the next page: Checkbox, Boolean (rendered as Checkbox), Comment, Signature Pad, Image Picker (with Multi Select), File, Single-Choice Matrix (not all rows are answered), Dynamic Matrix, Panel Dynamic.
4810
4841
  */
4811
4842
  get goNextPageAutomatic(): boolean | "autogonext";
4812
4843
  set goNextPageAutomatic(val: boolean | "autogonext");
@@ -4888,7 +4919,7 @@ export declare class SurveyModel extends SurveyElementCore implements ISurvey, I
4888
4919
  getErrorCustomText(text: string, error: SurveyError): string;
4889
4920
  getSurveyErrorCustomText(obj: Base, text: string, error: SurveyError): string;
4890
4921
  /*
4891
- * Returns the text that is displayed when there are no any visible pages and questiona.
4922
+ * Returns the text displayed when a survey has no visible pages and questions.
4892
4923
  */
4893
4924
  get emptySurveyText(): string;
4894
4925
  /*
@@ -6117,6 +6148,7 @@ export declare class SurveyQuestionRankingItem extends ReactSurveyElement {
6117
6148
  protected get handlePointerDown(): (event: any) => void;
6118
6149
  protected get cssClasses(): any;
6119
6150
  protected get itemClass(): string;
6151
+ protected get itemTabIndex(): number;
6120
6152
  protected get question(): any;
6121
6153
  protected renderElement(): JSX.Element;
6122
6154
  }
@@ -6837,8 +6869,10 @@ export declare class Question extends SurveyElement implements IQuestion, ICondi
6837
6869
  get requiredIf(): string;
6838
6870
  set requiredIf(val: string);
6839
6871
  /*
6840
- * Specifies whether to display a comment area. Incompatible with the `hasOther` property.
6872
+ * Specifies whether to display a comment area. Incompatible with the `showOtherItem` property.
6841
6873
  */
6874
+ get showCommentArea(): boolean;
6875
+ set showCommentArea(val: boolean);
6842
6876
  get hasComment(): boolean;
6843
6877
  set hasComment(val: boolean);
6844
6878
  /*
@@ -6851,6 +6885,8 @@ export declare class Question extends SurveyElement implements IQuestion, ICondi
6851
6885
  /*
6852
6886
  * Specifies whether to display the "Other" choice item. Incompatible with the `hasComment` property.
6853
6887
  */
6888
+ get showOtherItem(): boolean;
6889
+ set showOtherItem(val: boolean);
6854
6890
  get hasOther(): boolean;
6855
6891
  set hasOther(val: boolean);
6856
6892
  protected hasOtherChanged(): void;
@@ -7148,6 +7184,7 @@ export declare class SurveyQuestionDropdownBase<T> extends SurveyQuestionUncontr
7148
7184
  protected setValueCore(newValue: any): void;
7149
7185
  protected getValueCore(): any;
7150
7186
  protected renderSelect(cssClasses: any): JSX.Element;
7187
+ renderValueElement(dropdownListModel: any): JSX.Element;
7151
7188
  protected renderInput(dropdownListModel: any): JSX.Element;
7152
7189
  createClearButton(): JSX.Element;
7153
7190
  protected renderOther(cssClasses: any): JSX.Element;
@@ -7456,60 +7493,65 @@ export declare class PanelModel extends PanelModelBase implements IElement {
7456
7493
  getContainerCss(): string;
7457
7494
  }
7458
7495
  /*
7459
- * A Model for a boolean question.
7496
+ * A class that describes the Boolean question type.
7497
+ *
7498
+ * [View Demo](https://surveyjs.io/form-library/examples/questiontype-boolean/ (linkStyle))
7460
7499
  */
7461
7500
  export declare class QuestionBooleanModel extends Question {
7462
7501
  constructor(name: string);
7463
7502
  getType(): string;
7464
7503
  isLayoutTypeSupported(layoutType: string): boolean;
7465
7504
  supportGoNextPageAutomatic(): boolean;
7466
- /*
7467
- * Returns true if the question check will be rendered in indeterminate mode. value is empty.
7468
- */
7469
7505
  get isIndeterminate(): boolean;
7470
7506
  get hasTitle(): boolean;
7471
7507
  /*
7472
- * Get/set question value in 3 modes: indeterminate (value is empty), true (check is set) and false (check is unset).
7508
+ * Gets or sets the question value as a Boolean value.
7509
+ *
7510
+ * If you set the `valueTrue` and `valueFalse` properties, the `value` property contains their values instead of Boolean values. This may be inconvenient when you operate the question value in code. To access the standard Boolean values, use the `booleanValue` property.
7473
7511
  */
7474
- get checkedValue(): any;
7475
- set checkedValue(val: any);
7512
+ get booleanValue(): any;
7513
+ set booleanValue(val: any);
7476
7514
  /*
7477
- * Set the default state of the check: "indeterminate" - default (value is empty/null), "true" - value equals valueTrue or true, "false" - value equals valueFalse or false.
7515
+ * Obsolete, please use booleanValue property
7478
7516
  */
7517
+ get checkedValue(): any;
7518
+ set checkedValue(val: any);
7479
7519
  get defaultValue(): any;
7480
7520
  set defaultValue(val: any);
7481
7521
  getDefaultValue(): any;
7482
7522
  get locTitle(): LocalizableString;
7483
- /*
7484
- * The checkbox label. If it is empty and showTitle is false then title is rendered
7485
- */
7486
7523
  get label(): string;
7487
7524
  set label(val: string);
7488
7525
  get locLabel(): LocalizableString;
7489
7526
  get locDisplayLabel(): LocalizableString;
7490
7527
  /*
7491
- * Set this property, if you want to have a different label for state when check is set.
7528
+ * Gets or sets a text label that corresponds to a positive answer.
7529
+ *
7530
+ * Default value: "Yes"
7492
7531
  */
7493
7532
  get labelTrue(): any;
7494
7533
  set labelTrue(val: any);
7495
7534
  get locLabelTrue(): LocalizableString;
7496
7535
  get isDeterminated(): boolean;
7497
7536
  /*
7498
- * Set this property, if you want to have a different label for state when check is unset.
7537
+ * Gets or sets a text label that corresponds to a negative answer.
7538
+ *
7539
+ * Default value: "No"
7499
7540
  */
7500
7541
  get labelFalse(): any;
7501
7542
  set labelFalse(val: any);
7502
7543
  get locLabelFalse(): LocalizableString;
7503
- /*
7504
- * Set this property to true to show the question title. It is hidden by default.
7505
- */
7506
7544
  showTitle: boolean;
7507
7545
  /*
7508
- * Set this property, if you want to have a different value from true when check is set.
7546
+ * A value to save in survey results when respondents give a positive answer.
7547
+ *
7548
+ * Default value: `true`
7509
7549
  */
7510
7550
  valueTrue: any;
7511
7551
  /*
7512
- * Set this property, if you want to have a different value from false when check is unset.
7552
+ * A value to save in survey results when respondents give a negative answer.
7553
+ *
7554
+ * Default value: `false`
7513
7555
  */
7514
7556
  valueFalse: any;
7515
7557
  protected setDefaultValue(): void;
@@ -7577,7 +7619,9 @@ export declare class QuestionEmptyModel extends Question {
7577
7619
  getType(): string;
7578
7620
  }
7579
7621
  /*
7580
- * A Model for expression question. It is a read-only question. It calculates value based on epxression property.
7622
+ * A class that describes the Expression question type. It is a read-only question type that calculates a value based on a specified expression.
7623
+ *
7624
+ * [View Demo](https://surveyjs.io/form-library/examples/questiontype-expression/ (linkStyle))
7581
7625
  */
7582
7626
  export declare class QuestionExpressionModel extends Question {
7583
7627
  constructor(name: string);
@@ -7586,14 +7630,15 @@ export declare class QuestionExpressionModel extends Question {
7586
7630
  getType(): string;
7587
7631
  get hasInput(): boolean;
7588
7632
  /*
7589
- * Use this property to display the value in your own format. Make sure you have "{0}" substring in your string, to display the actual value.
7633
+ * A string that formats a question value. Use `{0}` to reference the question value in the format string.
7590
7634
  */
7591
7635
  get format(): string;
7592
7636
  set format(val: string);
7593
7637
  get locFormat(): LocalizableString;
7594
7638
  /*
7595
- * The Expression that used to calculate the question value. You may use standard operators like +, -, * and /, squares (). Here is the example of accessing the question value {questionname}.
7596
- * Example: "({quantity} * {price}) * (100 - {discount}) / 100"
7639
+ * An expression used to calculate the question value.
7640
+ *
7641
+ * Refer to the following help topic for more information: [Expressions](https://surveyjs.io/form-library/documentation/design-survey-conditional-logic#expressions).
7597
7642
  */
7598
7643
  get expression(): string;
7599
7644
  set expression(val: string);
@@ -7603,12 +7648,16 @@ export declare class QuestionExpressionModel extends Question {
7603
7648
  protected canCollectErrors(): boolean;
7604
7649
  protected hasRequiredError(): boolean;
7605
7650
  /*
7606
- * The maximum number of fraction digits to use if displayStyle is not "none". Possible values are from 0 to 20. The default value is -1 and it means that this property is not used.
7651
+ * The maximum number of fraction digits. Applies only if the `displayStyle` property is not `"none"`. Accepts values in the range from -1 to 20, where -1 disables the property.
7652
+ *
7653
+ * Default value: -1
7607
7654
  */
7608
7655
  get maximumFractionDigits(): number;
7609
7656
  set maximumFractionDigits(val: number);
7610
7657
  /*
7611
- * The minimum number of fraction digits to use if displayStyle is not "none". Possible values are from 0 to 20. The default value is -1 and it means that this property is not used.
7658
+ * The minimum number of fraction digits. Applies only if the `displayStyle` property is not `"none"`. Accepts values in the range from -1 to 20, where -1 disables the property.
7659
+ *
7660
+ * Default value: -1
7612
7661
  */
7613
7662
  get minimumFractionDigits(): number;
7614
7663
  set minimumFractionDigits(val: number);
@@ -7621,17 +7670,31 @@ export declare class QuestionExpressionModel extends Question {
7621
7670
  updateValueFromSurvey(newValue: any): void;
7622
7671
  protected getDisplayValueCore(keysAsText: boolean, value: any): any;
7623
7672
  /*
7624
- * You may set this property to "decimal", "currency", "percent" or "date". If you set it to "currency", you may use the currency property to display the value in currency different from USD.
7673
+ * Specifies a display style for the question value.
7674
+ *
7675
+ * Possible values:
7676
+ *
7677
+ * - `"decimal"`
7678
+ * - `"currency"`
7679
+ * - `"percent"`
7680
+ * - `"date"`
7681
+ * - `"none"` (default)
7682
+ *
7683
+ * If you use the `"currency"` display style, you can also set the `currency` property to specify a currency other than USD.
7625
7684
  */
7626
7685
  get displayStyle(): string;
7627
7686
  set displayStyle(val: string);
7628
7687
  /*
7629
- * Use it to display the value in the currency differen from USD. The displayStype should be set to "currency".
7688
+ * A three-letter currency code. Applies only if the `displayStyle` property is set to `"currency"`.
7689
+ *
7690
+ * Default value: "USD".
7630
7691
  */
7631
7692
  get currency(): string;
7632
7693
  set currency(val: string);
7633
7694
  /*
7634
- * Determines whether to display grouping separators. The default value is true.
7695
+ * Specifies whether to use grouping separators in number representation. Separators depend on the selected [locale](https://surveyjs.io/form-library/documentation/surveymodel#locale).
7696
+ *
7697
+ * Default value: `true`
7635
7698
  */
7636
7699
  get useGrouping(): boolean;
7637
7700
  set useGrouping(val: boolean);
@@ -7785,7 +7848,8 @@ export declare class QuestionFileModel extends Question {
7785
7848
  /*
7786
7849
  * Remove file item programmatically.
7787
7850
  */
7788
- removeFile(content: any): void;
7851
+ removeFile(name: string): void;
7852
+ protected removeFileByContent(content: any): void;
7789
7853
  /*
7790
7854
  * Load multiple files programmatically.
7791
7855
  */
@@ -8272,9 +8336,7 @@ export declare class QuestionPanelDynamicModel extends Question implements IQues
8272
8336
  */
8273
8337
  export declare class QuestionRatingModel extends Question {
8274
8338
  constructor(name: string);
8275
- rateValuesChangedCallback: any;
8276
8339
  endLoadingFromJson(): void;
8277
- onSurveyLoad(): void;
8278
8340
  /*
8279
8341
  * The list of rate items. Every item has value and text. If text is empty, the value is rendered. The item text supports markdown. If it is empty the array is generated by using rateMin, rateMax and rateStep properties.
8280
8342
  */
@@ -8297,7 +8359,8 @@ export declare class QuestionRatingModel extends Question {
8297
8359
  set rateStep(val: number);
8298
8360
  protected getDisplayValueCore(keysAsText: boolean, value: any): any;
8299
8361
  get visibleRateValues(): any;
8300
- get renderedRateItems(): any;
8362
+ itemValuePropertyChanged(item: ItemValue, name: string, oldValue: any, newValue: any): void;
8363
+ renderedRateItems: any;
8301
8364
  getType(): string;
8302
8365
  protected getFirstInputElementId(): string;
8303
8366
  getInputId(index: number): string;
@@ -8357,7 +8420,7 @@ export declare class QuestionRatingModel extends Question {
8357
8420
  protected getDesktopRenderAs(): string;
8358
8421
  }
8359
8422
  /*
8360
- * It is a base class for checkbox, dropdown and radiogroup questions.
8423
+ * A base class for multiple-choice question types ([Checkbox](https://surveyjs.io/form-library/documentation/questioncheckboxmodel), [Dropdown](https://surveyjs.io/form-library/documentation/questiondropdownmodel), [Radiogroup](https://surveyjs.io/form-library/documentation/questionradiogroupmodel), etc.).
8361
8424
  */
8362
8425
  export declare class QuestionSelectBase extends Question {
8363
8426
  constructor(name: string);
@@ -8386,35 +8449,51 @@ export declare class QuestionSelectBase extends Question {
8386
8449
  localeChanged(): void;
8387
8450
  locStrsChanged(): void;
8388
8451
  /*
8389
- * Returns the other item. By using this property, you may change programmatically it's value and text.
8452
+ * Returns the "Other" choice item. Use this property to change the item's `value` or `text`.
8390
8453
  */
8391
8454
  get otherItem(): ItemValue;
8392
8455
  /*
8393
- * Returns true if a user select the 'other' item.
8456
+ * Returns `true` if the "Other" choice item is selected.
8394
8457
  */
8395
8458
  get isOtherSelected(): boolean;
8396
8459
  /*
8397
- * Set this property to true, to show the "None" item on the bottom. If end-user checks this item, all other items would be unchecked.
8460
+ * Specifies whether to display the "None" choice item.
8461
+ *
8462
+ * When users select the "None" item in multi-select questions, all other items become unselected.
8398
8463
  */
8464
+ get showNoneItem(): boolean;
8465
+ set showNoneItem(val: boolean);
8399
8466
  get hasNone(): boolean;
8400
8467
  set hasNone(val: boolean);
8401
8468
  /*
8402
- * Returns the none item. By using this property, you may change programmatically it's value and text.
8469
+ * Returns the "None" choice item. Use this property to change the item's `value` or `text`.
8403
8470
  */
8404
8471
  get noneItem(): ItemValue;
8405
8472
  /*
8406
- * Use this property to set the different text for none item.
8473
+ * Gets or sets a caption for the "None" choice item.
8407
8474
  */
8408
8475
  get noneText(): string;
8409
8476
  set noneText(val: string);
8410
8477
  get locNoneText(): LocalizableString;
8411
8478
  /*
8412
- * An expression that returns true or false. It runs against each choices item and if for this item it returns true, then the item is visible otherwise the item becomes invisible. Please use {item} to get the current item value in the expression.
8479
+ * A Boolean expression that is evaluated against each choice item. If the expression evaluates to `false`, the choice item becomes hidden.
8480
+ *
8481
+ * A survey parses and runs all expressions on startup. If any values used in the expression change, the survey re-evaluates it.
8482
+ *
8483
+ * Use the `{item}` placeholder to reference the current choice item in the expression.
8484
+ *
8485
+ * Refer to the following help topic for more information: [Conditional Visibility](https://surveyjs.io/form-library/documentation/design-survey-conditional-logic#conditional-visibility).
8413
8486
  */
8414
8487
  get choicesVisibleIf(): string;
8415
8488
  set choicesVisibleIf(val: string);
8416
8489
  /*
8417
- * An expression that returns true or false. It runs against each choices item and if for this item it returns true, then the item is enabled otherwise the item becomes disabled. Please use {item} to get the current item value in the expression.
8490
+ * A Boolean expression that is evaluated against each choice item. If the expression evaluates to `false`, the choice item becomes read-only.
8491
+ *
8492
+ * A survey parses and runs all expressions on startup. If any values used in the expression change, the survey re-evaluates it.
8493
+ *
8494
+ * Use the `{item}` placeholder to reference the current choice item in the expression.
8495
+ *
8496
+ * Refer to the following help topic for more information: [Conditional Visibility](https://surveyjs.io/form-library/documentation/design-survey-conditional-logic#conditional-visibility).
8418
8497
  */
8419
8498
  get choicesEnableIf(): string;
8420
8499
  set choicesEnableIf(val: string);
@@ -8458,50 +8537,78 @@ export declare class QuestionSelectBase extends Question {
8458
8537
  */
8459
8538
  clearIncorrectValuesCallback: any;
8460
8539
  /*
8461
- * Use this property to fill the choices from a RESTful service.
8540
+ * Configures access to a RESTful service that returns choice items. Refer to the [ChoicesRestful](https://surveyjs.io/form-library/documentation/choicesrestful) class description for more information.
8541
+ *
8542
+ * [View "Dropdown + RESTful" demo](https://surveyjs.io/form-library/examples/questiontype-dropdownrestfull/ (linkStyle))
8462
8543
  */
8463
8544
  get choicesByUrl(): ChoicesRestful;
8464
8545
  set choicesByUrl(val: ChoicesRestful);
8465
8546
  /*
8466
- * The list of items. Every item has value and text. If text is empty, the value is rendered. The item text supports markdown.
8547
+ * Gets or sets choice items. This property accepts an array of objects with the following structure:
8548
+ *
8549
+ * ```js
8550
+ * {
8551
+ * "value": any, // A value to be saved in the survey results
8552
+ * "text": String, // A display text. This property supports Markdown. When `text` is undefined, `value` is used.
8553
+ * "imageLink": String // A link to the image or video that represents this choice value. Applies only to Image Picker questions.
8554
+ * "customProperty": any // Any property that you find useful
8555
+ * }
8556
+ * ```
8557
+ *
8558
+ * Refer to the following help topic for information on how to add custom properties so that they are serialized into JSON: [Add Custom Properties to Property Grid](https://surveyjs.io/survey-creator/documentation/property-grid#add-custom-properties-to-the-property-grid).
8559
+ *
8560
+ * If you need to specify only the `value` property, you can set the `choices` property to an array of primitive values, for example, `[ "item1", "item2", "item3" ]`. These values are both saved in survey results and used as display text.
8467
8561
  */
8468
8562
  get choices(): any;
8469
8563
  set choices(val: any);
8470
8564
  /*
8471
- * Set this property to get choices from the specified question instead of defining them in the current question. This avoids duplication of choices declaration in your survey definition.
8472
- * By setting this property, the "choices", "choicesVisibleIf", "choicesEnableIf" and "choicesOrder" properties become invisible, because these question characteristics depend on actions in another (specified) question.
8473
- * Use the `choicesFromQuestionMode` property to filter choices obtained from the specified question.
8565
+ * Inherits choice items from a specified question. Accepts a question name.
8566
+ *
8567
+ * If you specify this property, the `choices`, `choicesVisibleIf`, `choicesEnableIf`, and `choicesOrder` properties do not apply because their values are inherited.
8568
+ *
8569
+ * In addition, you can specify the `choicesFromQuestionMode` property if you do not want to inherit all choice items.
8474
8570
  */
8475
8571
  get choicesFromQuestion(): string;
8476
8572
  set choicesFromQuestion(val: string);
8477
8573
  /*
8478
- * This property becomes visible when the `choicesFromQuestion` property is selected. The default value is "all" (all visible choices from another question are displayed as they are).
8479
- * You can set this property to "selected" or "unselected" to display only selected or unselected choices from the specified question.
8574
+ * Specifies which choice items to inherit from another question. Applies only when the `choicesFromQuestion` property is specified.
8575
+ *
8576
+ * Possible values:
8577
+ *
8578
+ * - `"all"` (default) - Inherits all choice items.
8579
+ * - `"selected"` - Inherits only selected choice items.
8580
+ * - `"unselected"` - Inherits only unselected choice items.
8581
+ *
8582
+ * Use the `visibleChoices` property to access inherited choice items.
8480
8583
  */
8481
8584
  get choicesFromQuestionMode(): string;
8482
8585
  set choicesFromQuestionMode(val: string);
8483
8586
  /*
8484
- * Set this property to true to hide the question if there is no visible choices.
8587
+ * Specifies whether to hide the question if no choice items are visible.
8588
+ *
8589
+ * This property is useful if you show or hide choice items at runtime based on a [condition](https://surveyjs.io/form-library/documentation/questionselectbase#choicesVisibleIf).
8485
8590
  */
8486
8591
  get hideIfChoicesEmpty(): boolean;
8487
8592
  set hideIfChoicesEmpty(val: boolean);
8488
8593
  get keepIncorrectValues(): boolean;
8489
8594
  set keepIncorrectValues(val: boolean);
8490
- /*
8491
- * Please use survey.storeOthersAsComment to change the behavior on the survey level. This property is depricated and invisible in Survey Creator.
8492
- * By default the entered text in the others input in the checkbox/radiogroup/dropdown are stored as "question name " + "-Comment". The value itself is "question name": "others". Set this property to false, to store the entered text directly in the "question name" key.
8493
- * Possible values are: "default", true, false
8494
- */
8495
8595
  get storeOthersAsComment(): any;
8496
8596
  set storeOthersAsComment(val: any);
8497
8597
  protected hasOtherChanged(): void;
8498
8598
  /*
8499
- * Use this property to render items in a specific order: "asc", "desc", "random". Default value is "none".
8599
+ * Specifies the sort order of choice items.
8600
+ *
8601
+ * Possible values:
8602
+ *
8603
+ * - `"none"` (default) - Preserves the original order of choice items.
8604
+ * - `"asc"`- Sorts choice items in ascending order.
8605
+ * - `"desc"`- Sorts choice items in ascending order.
8606
+ * - `"random"` - Displays choice items in random order.
8500
8607
  */
8501
8608
  get choicesOrder(): string;
8502
8609
  set choicesOrder(val: string);
8503
8610
  /*
8504
- * Use this property to set the different text for other item.
8611
+ * Gets or sets a caption for the "Other" choice item.
8505
8612
  */
8506
8613
  get otherText(): string;
8507
8614
  set otherText(val: string);
@@ -8511,7 +8618,7 @@ export declare class QuestionSelectBase extends Question {
8511
8618
  */
8512
8619
  separateSpecialChoices: boolean;
8513
8620
  /*
8514
- * Use this property to set the place holder text for other or comment field .
8621
+ * A placeholder for the comment area. Applies when the `hasOther` or `hasComment` property is `true`.
8515
8622
  */
8516
8623
  get otherPlaceholder(): string;
8517
8624
  set otherPlaceholder(val: string);
@@ -8519,17 +8626,17 @@ export declare class QuestionSelectBase extends Question {
8519
8626
  get otherPlaceHolder(): string;
8520
8627
  set otherPlaceHolder(val: string);
8521
8628
  /*
8522
- * The text that shows when the other item is choosed by the other input is empty.
8629
+ * Get or sets an error message displayed when users select the "Other" choice item but leave the comment area empty.
8523
8630
  */
8524
8631
  get otherErrorText(): string;
8525
8632
  set otherErrorText(val: string);
8526
8633
  get locOtherErrorText(): LocalizableString;
8527
8634
  /*
8528
- * The list of items as they will be rendered. If needed items are sorted and the other item is added.
8635
+ * An array of visible choice items. Includes the "Select All", "Other", and "None" choice items if they are visible. Items are sorted according to the `choicesOrder` value.
8529
8636
  */
8530
8637
  get visibleChoices(): any;
8531
8638
  /*
8532
- * The list of enabled items as they will be rendered. The disabled items are not included
8639
+ * An array of choice items with which users can interact. Includes the "Select All", "Other", and "None" choice items if they are not disabled. Items are sorted according to the `choicesOrder` value.
8533
8640
  */
8534
8641
  get enabledChoices(): any;
8535
8642
  protected updateVisibleChoices(): void;
@@ -8538,15 +8645,9 @@ export declare class QuestionSelectBase extends Question {
8538
8645
  get newItem(): ItemValue;
8539
8646
  protected addToVisibleChoices(items: any, isAddAll: boolean): void;
8540
8647
  protected canShowOptionItem(item: ItemValue, isAddAll: boolean, hasItem: boolean): boolean;
8541
- /*
8542
- * For internal use in SurveyJS Creator V2.
8543
- */
8544
8648
  isItemInList(item: ItemValue): boolean;
8545
8649
  protected get isAddDefaultItems(): boolean;
8546
8650
  getPlainData(options?: any): any;
8547
- /*
8548
- * Returns the text for the current value. If the value is null then returns empty string. If 'other' is selected then returns the text for other value.
8549
- */
8550
8651
  protected getDisplayValueCore(keysAsText: boolean, value: any): any;
8551
8652
  protected getDisplayValueEmpty(): string;
8552
8653
  protected getChoicesDisplayValue(items: any, val: any): any;
@@ -8583,7 +8684,9 @@ export declare class QuestionSelectBase extends Question {
8583
8684
  protected hasValueToClearIncorrectValues(): boolean;
8584
8685
  protected clearValueIfInvisibleCore(): void;
8585
8686
  /*
8586
- * Returns true if item is selected
8687
+ * Returns `true` if a passed choice item is selected.
8688
+ *
8689
+ * To obtain a choice item to check, use the `noneItem` or `otherItem` property or the `choices` array.
8587
8690
  */
8588
8691
  isItemSelected(item: ItemValue): boolean;
8589
8692
  protected isItemSelectedCore(item: ItemValue): boolean;
@@ -8623,6 +8726,12 @@ export declare class QuestionSelectBase extends Question {
8623
8726
  afterRender(el: any): void;
8624
8727
  prevIsOtherSelected: boolean;
8625
8728
  protected onValueChanged(): void;
8729
+ protected getDefaultItemComponent(): string;
8730
+ /*
8731
+ * The name of a component used to render items.
8732
+ */
8733
+ get itemComponent(): string;
8734
+ set itemComponent(val: string);
8626
8735
  }
8627
8736
  /*
8628
8737
  * A Model for signature pad question.
@@ -8679,20 +8788,21 @@ export declare class QuestionSignaturePadModel extends Question {
8679
8788
  endLoadingFromJson(): void;
8680
8789
  }
8681
8790
  /*
8682
- * A Base Model for a comment and text questions
8791
+ * A base class for the [Text](https://surveyjs.io/form-library/documentation/questiontextmodel) and [Comment](https://surveyjs.io/form-library/documentation/questioncommentmodel) question types.
8683
8792
  */
8684
8793
  export declare class QuestionTextBase extends Question {
8685
8794
  constructor(name: string);
8686
8795
  protected isTextValue(): boolean;
8687
8796
  /*
8688
- * The maximum text length. If it is -1, defaul value, then the survey maxTextLength property will be used.
8689
- * If it is 0, then the value is unlimited
8797
+ * The maximum text length measured in characters. Assign 0 if the length should be unlimited.
8798
+ *
8799
+ * Default value: -1 (inherits the actual value from the `SurveyModel`'s [`maxTextLength`](https://surveyjs.io/form-library/documentation/surveymodel#maxTextLength) property).
8690
8800
  */
8691
8801
  get maxLength(): number;
8692
8802
  set maxLength(val: number);
8693
8803
  getMaxLength(): any;
8694
8804
  /*
8695
- * Use this property to set the input place holder.
8805
+ * A placeholder for the input field.
8696
8806
  */
8697
8807
  get placeholder(): string;
8698
8808
  set placeholder(val: string);
@@ -8703,14 +8813,15 @@ export declare class QuestionTextBase extends Question {
8703
8813
  getType(): string;
8704
8814
  isEmpty(): boolean;
8705
8815
  /*
8706
- * Gets or sets a value that specifies how the question updates it's value.
8816
+ * Gets or sets a value that specifies when to update the question value.
8707
8817
  *
8708
- * The following options are available:
8709
- * - `default` - get the value from survey.textUpdateMode
8710
- * - `onBlur` - the value is updated after an input loses the focus.
8711
- * - `onTyping` - update the value of text questions, "text" and "comment", on every key press.
8818
+ * Possible values:
8712
8819
  *
8713
- * Note, that setting to "onTyping" may lead to a performance degradation, in case you have many expressions in the survey.
8820
+ * - `"onBlur"` - Updates the value after the input field loses focus.
8821
+ * - `"onTyping"` - Updates the value on every key press.
8822
+ * - `"default"` (default) - Inherits the value from the `SurveyModel`'s [`textUpdateMode`](https://surveyjs.io/form-library/documentation/surveymodel#textUpdateMode) property.
8823
+ *
8824
+ * > NOTE: Do not use the `"onTyping"` mode if your survey contains many expressions. Expressions are reevaluated each time a question value is changed. In `"onTyping"` mode, the question value changes frequently. This may cause performance degradation.
8714
8825
  */
8715
8826
  get textUpdateMode(): string;
8716
8827
  set textUpdateMode(val: string);
@@ -8777,13 +8888,15 @@ export declare class FlowPanelModel extends PanelModel {
8777
8888
  getElementContentText(element: IElement): string;
8778
8889
  }
8779
8890
  /*
8780
- * A base class for checkbox and radiogroup questions. It introduced a colCount property.
8891
+ * A base class for multiple-selection question types that can display choice items in multiple columns ([Checkbox](https://surveyjs.io/form-library/documentation/questioncheckboxmodel), [Radiogroup](https://surveyjs.io/form-library/documentation/questionradiogroupmodel), [Image Picker](https://surveyjs.io/form-library/documentation/questionimagepickermodel)).
8781
8892
  */
8782
8893
  export declare class QuestionCheckboxBase extends QuestionSelectBase {
8783
8894
  constructor(name: string);
8784
8895
  colCountChangedCallback: any;
8785
8896
  /*
8786
- * The number of columns for radiogroup and checkbox questions. Items are rendred in one line if the value is 0.
8897
+ * Get or sets the number of columns used to arrange choice items.
8898
+ *
8899
+ * Set this property to 0 if you want to display all items in one line. The default value depends on the available width.
8787
8900
  */
8788
8901
  get colCount(): number;
8789
8902
  set colCount(val: number);
@@ -8792,29 +8905,38 @@ export declare class QuestionCheckboxBase extends QuestionSelectBase {
8792
8905
  protected getSearchableItemValueKeys(keys: any): void;
8793
8906
  }
8794
8907
  /*
8795
- * A Model for a comment question
8908
+ * A class that describes the Comment question type.
8909
+ *
8910
+ * [View Demo](https://surveyjs.io/form-library/examples/questiontype-comment/ (linkStyle))
8796
8911
  */
8797
8912
  export declare class QuestionCommentModel extends QuestionTextBase {
8798
8913
  constructor(name: string);
8799
8914
  element: any;
8800
8915
  /*
8801
- * The html rows attribute.
8916
+ * Specifies the visible height of the comment area, measured in lines.
8917
+ *
8918
+ * The value of this property is passed on to the `rows` attribute of the underlying `<textarea>` element.
8802
8919
  */
8803
8920
  get rows(): number;
8804
8921
  set rows(val: number);
8805
8922
  /*
8806
- * The html cols attribute.
8923
+ * Specifies the visible width of the comment area, measured in average character width.
8924
+ *
8925
+ * The value of this property is passed on to the `cols` attribute of the underlying `<textarea>` element.
8807
8926
  */
8808
8927
  get cols(): number;
8809
8928
  set cols(val: number);
8810
8929
  /*
8811
- * Accepts pressing the Enter key by end-users and accepts carriage return symbols - \n - in the question value assigned.
8930
+ * Specifies whether the question allows line breaks.
8931
+ *
8932
+ * When this property is enabled, a user can press Enter to insert line breaks. They are saved as `\n` in survey results. The Comment question also recognizes and interprets the `\n` sequence as a line break when you set the question `value` in code.
8812
8933
  */
8813
8934
  get acceptCarriageReturn(): boolean;
8814
8935
  set acceptCarriageReturn(val: boolean);
8815
8936
  /*
8816
- * Specifies whether the question's text area automatically expands its height to avoid the vertical scrollbar and to display the entire multi-line contents entered by respondents.
8817
- * Default value is false.
8937
+ * Specifies whether the comment area automatically increases its height to accomodate multi-line content.
8938
+ *
8939
+ * Default value: `false` (inherited from `SurveyModel`'s [`autoGrowComment`](https://surveyjs.io/form-library/documentation/surveymodel#autoGrowComment) property)
8818
8940
  */
8819
8941
  get autoGrow(): boolean;
8820
8942
  set autoGrow(val: boolean);
@@ -8882,7 +9004,9 @@ export declare class QuestionCustomModel extends QuestionCustomModelBase {
8882
9004
  protected getDisplayValueCore(keyAsText: boolean, value: any): any;
8883
9005
  }
8884
9006
  /*
8885
- * A Model for a dropdown question
9007
+ * A class that describes the Dropdown question type.
9008
+ *
9009
+ * [View Demo](https://surveyjs.io/form-library/examples/questiontype-dropdown/ (linkStyle))
8886
9010
  */
8887
9011
  export declare class QuestionDropdownModel extends QuestionSelectBase {
8888
9012
  constructor(name: string);
@@ -8894,34 +9018,56 @@ export declare class QuestionDropdownModel extends QuestionSelectBase {
8894
9018
  get optionsCaption(): string;
8895
9019
  set optionsCaption(val: string);
8896
9020
  /*
8897
- * A text displayed in the input field when it doesn't have a value.
9021
+ * A placeholder for the input field.
8898
9022
  */
8899
9023
  get placeholder(): string;
8900
9024
  set placeholder(val: string);
8901
9025
  get locPlaceholder(): LocalizableString;
9026
+ get cleanCaption(): string;
9027
+ set cleanCaption(val: string);
9028
+ get locCleanCaption(): LocalizableString;
8902
9029
  getType(): string;
8903
9030
  get selectedItem(): ItemValue;
8904
9031
  supportGoNextPageAutomatic(): boolean;
8905
9032
  minMaxChoices: any;
8906
9033
  protected getChoices(): Array<ItemValue>;
8907
9034
  /*
8908
- * Use this and choicesMax property to automatically add choices. For example choicesMin = 1 and choicesMax = 10 will generate ten additional choices from 1 to 10.
9035
+ * Use the `choicesMin`, `choicesMax`, and `choicesStep` properties to generate choice items automatically. For example, the configuration below generates three choice items: [10, 20, 30].
9036
+ *
9037
+ * ```js
9038
+ * "choicesMin": 10,
9039
+ * "choicesMax": 30
9040
+ * "choicesStep": 10
9041
+ * ```
8909
9042
  */
8910
9043
  get choicesMin(): number;
8911
9044
  set choicesMin(val: number);
8912
9045
  /*
8913
- * Use this and choicesMax property to automatically add choices. For example choicesMin = 1 and choicesMax = 10 will generate ten additional choices from 1 to 10.
9046
+ * Use the `choicesMin`, `choicesMax`, and `choicesStep` properties to generate choice items automatically. For example, the configuration below generates three choice items: [10, 20, 30].
9047
+ *
9048
+ * ```js
9049
+ * "choicesMin": 10,
9050
+ * "choicesMax": 30
9051
+ * "choicesStep": 10
9052
+ * ```
8914
9053
  */
8915
9054
  get choicesMax(): number;
8916
9055
  set choicesMax(val: number);
8917
9056
  /*
8918
- * The default value is 1. It tells the value of the iterator between choicesMin and choicesMax properties.
8919
- * If choicesMin = 10, choicesMax = 30 and choicesStep = 10 then you will have only three additional choices: [10, 20, 30].
9057
+ * Use the `choicesMin`, `choicesMax`, and `choicesStep` properties to generate choice items automatically. For example, the configuration below generates three choice items: [10, 20, 30].
9058
+ *
9059
+ * ```js
9060
+ * "choicesMin": 10,
9061
+ * "choicesMax": 30
9062
+ * "choicesStep": 10
9063
+ * ```
9064
+ *
9065
+ * The default value of the `choicesStep` property is 1.
8920
9066
  */
8921
9067
  get choicesStep(): number;
8922
9068
  set choicesStep(val: number);
8923
9069
  /*
8924
- * Dropdown auto complete
9070
+ * An [autocomplete](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete) attribute value for the underlying `<input>` element.
8925
9071
  */
8926
9072
  get autoComplete(): string;
8927
9073
  set autoComplete(val: string);
@@ -8930,23 +9076,16 @@ export declare class QuestionDropdownModel extends QuestionSelectBase {
8930
9076
  */
8931
9077
  allowClear: boolean;
8932
9078
  /*
8933
- * The name of a component used to render drop-down menu items.
8934
- */
8935
- itemComponent: string;
8936
- /*
8937
9079
  * Specifies whether users can enter a value into the input field to filter the drop-down list.
8938
9080
  */
8939
9081
  searchEnabled: boolean;
8940
- /*
8941
- * The clean files button caption.
8942
- */
8943
- get cleanButtonCaption(): string;
8944
- set cleanButtonCaption(val: string);
8945
- get locCleanButtonCaption(): LocalizableString;
8946
9082
  inputHasValue: boolean;
8947
9083
  readOnlyText: string;
8948
9084
  getControlClass(): string;
8949
9085
  get selectedItemLocText(): LocalizableString;
9086
+ get inputFieldComponentName(): string;
9087
+ get showSelectedItemLocText(): boolean;
9088
+ get showInputFieldComponent(): boolean;
8950
9089
  get popupModel(): any;
8951
9090
  onOpened: EventBase<QuestionDropdownModel>;
8952
9091
  onOpenedCallBack(): void;
@@ -9465,63 +9604,70 @@ export declare class QuestionButtonGroupModel extends QuestionCheckboxBase {
9465
9604
  supportOther(): boolean;
9466
9605
  }
9467
9606
  /*
9468
- * A Model for a checkbox question
9607
+ * A class that describes the Checkbox question type.
9608
+ *
9609
+ * [View Demo](https://surveyjs.io/form-library/examples/questiontype-checkbox/ (linkStyle))
9469
9610
  */
9470
9611
  export declare class QuestionCheckboxModel extends QuestionCheckboxBase {
9471
9612
  constructor(name: string);
9472
9613
  selectAllItemValue: ItemValue;
9473
9614
  invisibleOldValues: any;
9615
+ protected getDefaultItemComponent(): string;
9474
9616
  get ariaRole(): string;
9475
9617
  getType(): string;
9476
9618
  protected onCreating(): void;
9477
9619
  protected getFirstInputElementId(): string;
9478
9620
  /*
9479
- * Set this property if you want to store the checkbox value as array of objects instead of array of values
9480
- * For example: if "valuePropertyName" equals car, then instead of having ["Ford", "Tesla"], you will have [{car: "Ford"}, {car: "Tesla"}]
9621
+ * Specifies a property name used to store selected values.
9622
+ *
9623
+ * Set this property if you want to store selected values in an array of objects instead of an array of primitive values. For example, if you set `valuePropertyName` to `"car"`, the `value` property will contain an array of objects `[{ car: "Ford" }, { car: "Tesla" }]`, not an array of string values `[ "Ford", "Tesla" ]`.
9481
9624
  */
9482
9625
  get valuePropertyName(): string;
9483
9626
  set valuePropertyName(val: string);
9484
9627
  getQuestionFromArray(name: string, index: number): IQuestion;
9485
9628
  /*
9486
- * Returns the select all item. By using this property, you may change programmatically it's value and text.
9629
+ * Returns the "Select All" choice item. Use this property to change the item's `value` or `text`.
9487
9630
  */
9488
9631
  get selectAllItem(): ItemValue;
9489
9632
  /*
9490
- * Use this property to set the different text for Select All item.
9633
+ * Gets or sets a caption for the "Select All" choice item.
9491
9634
  */
9492
9635
  get selectAllText(): string;
9493
9636
  set selectAllText(val: string);
9494
9637
  get locSelectAllText(): LocalizableString;
9495
9638
  /*
9496
- * Set this property to true, to show the "Select All" item on the top. If end-user checks this item, then all items are checked.
9639
+ * Enable this property to display a "Select All" item. When users select it, all other choice items, except "Other" and "None", also become selected.
9497
9640
  */
9641
+ get showSelectAllItem(): boolean;
9642
+ set showSelectAllItem(val: boolean);
9498
9643
  get hasSelectAll(): boolean;
9499
9644
  set hasSelectAll(val: boolean);
9500
9645
  /*
9501
- * Returns true if all items are selected
9646
+ * Returns `true` if all choice items, except "Other" and "None", are selected.
9502
9647
  */
9503
9648
  get isAllSelected(): boolean;
9504
9649
  set isAllSelected(val: boolean);
9505
- /*
9506
- * It will select all items, except other and none. If all items have been already selected then it will clear the value
9507
- */
9508
9650
  toggleSelectAll(): void;
9509
9651
  /*
9510
- * Select all items, except other and none.
9652
+ * Selects all choice items, except "Other" and "None".
9653
+ *
9654
+ * To clear selection, call the `clearValue()` method.
9511
9655
  */
9512
9656
  selectAll(): void;
9657
+ protected isItemSelectedCore(item: ItemValue): boolean;
9513
9658
  /*
9514
- * Returns true if item is checked
9515
- */
9516
- isItemSelectedCore(item: ItemValue): boolean;
9517
- /*
9518
- * Set this property different to 0 to limit the number of selected choices in the checkbox.
9659
+ * Sets a limit on the number of selected choices.
9660
+ *
9661
+ * Default value: 0 (unlimited)
9662
+ *
9663
+ * > NOTE: This property only limits the number of choice items that can be selected by users. You can select any number of choice items in code, regardless of the `maxSelectedChoices` value.
9519
9664
  */
9520
9665
  get maxSelectedChoices(): number;
9521
9666
  set maxSelectedChoices(val: number);
9522
9667
  /*
9523
- * Return the selected items in the checkbox. Returns empty array if the value is empty
9668
+ * An array of selected choice items. Includes the "Other" and "None" choice items if they are selected, but not "Select All". Items are sorted in the order they were selected.
9524
9669
  */
9670
+ get selectedChoices(): any;
9525
9671
  get selectedItems(): any;
9526
9672
  protected onEnableItemCallBack(item: ItemValue): boolean;
9527
9673
  protected onAfterRunItemsEnableCondition(): void;
@@ -9537,9 +9683,6 @@ export declare class QuestionCheckboxModel extends QuestionCheckboxBase {
9537
9683
  protected supportSelectAll(): boolean;
9538
9684
  protected addToVisibleChoices(items: any, isAddAll: boolean): void;
9539
9685
  protected isHeadChoice(item: ItemValue, question: QuestionSelectBase): boolean;
9540
- /*
9541
- * For internal use in SurveyJS Creator V2.
9542
- */
9543
9686
  isItemInList(item: ItemValue): boolean;
9544
9687
  protected getDisplayValueCore(keysAsText: boolean, value: any): any;
9545
9688
  protected clearIncorrectValuesCore(): void;
@@ -9841,6 +9984,7 @@ export declare class QuestionMatrixDynamicModel extends QuestionMatrixDropdownMo
9841
9984
  */
9842
9985
  export declare class QuestionRadiogroupModel extends QuestionCheckboxBase {
9843
9986
  constructor(name: string);
9987
+ protected getDefaultItemComponent(): string;
9844
9988
  getType(): string;
9845
9989
  get ariaRole(): string;
9846
9990
  get titleAriaLabel(): string;
@@ -9866,7 +10010,9 @@ export declare class QuestionRadiogroupModel extends QuestionCheckboxBase {
9866
10010
  export declare class QuestionRankingModel extends QuestionCheckboxModel {
9867
10011
  constructor(name: string);
9868
10012
  domNode: any;
10013
+ protected getDefaultItemComponent(): string;
9869
10014
  getType(): string;
10015
+ getItemTabIndex(item: ItemValue): number;
9870
10016
  get rootClass(): string;
9871
10017
  protected getItemClassCore(item: ItemValue, options: any): string;
9872
10018
  protected isItemCurrentDropTarget(item: ItemValue): boolean;
@@ -9911,6 +10057,7 @@ export declare class QuestionRankingModel extends QuestionCheckboxModel {
9911
10057
  export declare class QuestionTagboxModel extends QuestionCheckboxModel {
9912
10058
  constructor(name: string);
9913
10059
  dropdownListModel: DropdownMultiSelectListModel;
10060
+ protected getDefaultItemComponent(): string;
9914
10061
  get readOnlyText(): any;
9915
10062
  onSurveyLoad(): void;
9916
10063
  /*
@@ -9922,25 +10069,18 @@ export declare class QuestionTagboxModel extends QuestionCheckboxModel {
9922
10069
  */
9923
10070
  searchEnabled: boolean;
9924
10071
  /*
9925
- * The name of a component used to render drop-down menu items.
9926
- */
9927
- itemComponent: string;
9928
- /*
9929
10072
  * Specifies whether to remove selected items from the drop-down list.
9930
10073
  */
9931
10074
  hideSelectedItems: boolean;
9932
10075
  /*
9933
- * The clean files button caption.
9934
- */
9935
- get cleanButtonCaption(): string;
9936
- set cleanButtonCaption(val: string);
9937
- get locCleanButtonCaption(): LocalizableString;
9938
- /*
9939
10076
  * A text displayed in the input field when it doesn't have a value.
9940
10077
  */
9941
10078
  get placeholder(): string;
9942
10079
  set placeholder(val: string);
9943
10080
  get locPlaceholder(): LocalizableString;
10081
+ get cleanCaption(): string;
10082
+ set cleanCaption(val: string);
10083
+ get locCleanCaption(): LocalizableString;
9944
10084
  getType(): string;
9945
10085
  get popupModel(): any;
9946
10086
  getControlClass(): string;
@@ -9959,10 +10099,11 @@ export declare function doKey2ClickUp(evt: any, options?: IAttachKey2clickOption
9959
10099
  export declare function doKey2ClickDown(evt: any, options?: IAttachKey2clickOptions): void;
9960
10100
  export declare function sanitizeEditableContent(element: any): void;
9961
10101
  export declare function createDialogOptions(componentName: string, data: any, onApply: any, onCancel?: any, onHide?: any, onShow?: any, cssClass?: string, title?: string, displayMode?: "popup" | "overlay"): IDialogOptions;
9962
- export declare function createPopupModalViewModel(options: IDialogOptions): PopupBaseViewModel;
9963
10102
  export declare function createDropdownActionModel(actionOptions: IAction, dropdownOptions: IActionDropdownPopupOptions, locOwner?: any): Action;
9964
10103
  export declare function createDropdownActionModelAdvanced(actionOptions: IAction, listOptions: IListModel, popupOptions?: IPopupOptionsBase, locOwner?: any): Action;
9965
10104
  export declare function getCurrecyCodes(): Array<any>;
10105
+ export declare function createPopupModalViewModel(options: IDialogOptions): PopupBaseViewModel;
10106
+ export declare function createPopupViewModel(model: any, targetElement: any): PopupBaseViewModel;
9966
10107
  export declare function checkLibraryVersion(ver: string, libraryName: string): void;
9967
10108
  export declare function showModal(componentName: string, data: any, onApply: any, onCancel?: any, cssClass?: string, title?: string, displayMode?: "popup" | "overlay"): void;
9968
10109
  export declare function showDialog(dialogOptions: any): void;
@@ -10025,6 +10166,10 @@ export declare var settings: {
10025
10166
  */
10026
10167
  defaultLocaleName: string,
10027
10168
  /*
10169
+ * By default we do not store a value for a locale if it equals to "default" locale value
10170
+ */
10171
+ storeDuplicatedTranslations: boolean,
10172
+ /*
10028
10173
  * Default row name for matrix (single choice)
10029
10174
  */
10030
10175
  matrixDefaultRowName: string,
@@ -10227,7 +10372,6 @@ export declare var defaultListCss: {
10227
10372
  emptyContainer: string,
10228
10373
  emptyText: string,
10229
10374
  };
10230
- export declare var FOCUS_INPUT_SELECTOR: any;
10231
10375
  export declare var surveyCss: {
10232
10376
  currentType: string,
10233
10377
  getCss: any,
@@ -10383,6 +10527,7 @@ export declare var defaultStandardCss: {
10383
10527
  dropdown: {
10384
10528
  root: string,
10385
10529
  control: string,
10530
+ controlInputFieldComponent: string,
10386
10531
  selectWrapper: string,
10387
10532
  other: string,
10388
10533
  cleanButton: string,
@@ -10620,6 +10765,7 @@ export declare var youtubeUrl: any;
10620
10765
  export declare var youtubeEmbed: any;
10621
10766
  export declare var defaultWidth: number;
10622
10767
  export declare var defaultHeight: number;
10768
+ export declare var FOCUS_INPUT_SELECTOR: any;
10623
10769
  export declare var Version: string;
10624
10770
  export declare var defaultBootstrapCss: {
10625
10771
  root: string,
@@ -10768,10 +10914,12 @@ export declare var defaultBootstrapCss: {
10768
10914
  root: string,
10769
10915
  selectWrapper: string,
10770
10916
  control: string,
10917
+ controlValue: string,
10771
10918
  other: string,
10772
10919
  cleanButton: string,
10773
10920
  cleanButtonSvg: string,
10774
10921
  cleanButtonIconId: string,
10922
+ filterStringInput: string,
10775
10923
  },
10776
10924
  tagbox: {
10777
10925
  root: string,
@@ -10781,6 +10929,7 @@ export declare var defaultBootstrapCss: {
10781
10929
  cleanButton: string,
10782
10930
  cleanButtonSvg: string,
10783
10931
  cleanButtonIconId: string,
10932
+ filterStringInput: string,
10784
10933
  },
10785
10934
  html: {
10786
10935
  root: string,
@@ -11102,10 +11251,12 @@ export declare var defaultBootstrapMaterialCss: {
11102
11251
  root: string,
11103
11252
  selectWrapper: string,
11104
11253
  control: string,
11254
+ controlValue: string,
11105
11255
  other: string,
11106
11256
  cleanButton: string,
11107
11257
  cleanButtonSvg: string,
11108
11258
  cleanButtonIconId: string,
11259
+ filterStringInput: string,
11109
11260
  },
11110
11261
  tagbox: {
11111
11262
  root: string,
@@ -11115,6 +11266,7 @@ export declare var defaultBootstrapMaterialCss: {
11115
11266
  cleanButton: string,
11116
11267
  cleanButtonSvg: string,
11117
11268
  cleanButtonIconId: string,
11269
+ filterStringInput: string,
11118
11270
  },
11119
11271
  html: {
11120
11272
  root: string,
@@ -11567,6 +11719,7 @@ export declare var defaultV2Css: {
11567
11719
  cleanButtonSvg: string,
11568
11720
  cleanButtonIconId: string,
11569
11721
  control: string,
11722
+ controlInputFieldComponent: string,
11570
11723
  controlValue: string,
11571
11724
  controlDisabled: string,
11572
11725
  controlEmpty: string,
@@ -12097,6 +12250,7 @@ export declare var modernCss: {
12097
12250
  cleanButtonIconId: string,
12098
12251
  filterStringInput: string,
12099
12252
  controlValue: string,
12253
+ controlInputFieldComponent: string,
12100
12254
  },
12101
12255
  tagbox: {
12102
12256
  root: string,