survey-react 1.9.121 → 1.9.123

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
@@ -347,6 +347,7 @@ declare module "localizablestring" {
347
347
  onStringChanged: EventBase<LocalizableString>;
348
348
  protected onCreating(): void;
349
349
  private hasHtmlValue;
350
+ private setHtmlValue;
350
351
  getHtmlValue(): string;
351
352
  private deleteValuesEqualsToDefault;
352
353
  private getValue;
@@ -384,6 +385,31 @@ declare module "localizablestring" {
384
385
  private getValuesKeys;
385
386
  }
386
387
  }
388
+ declare module "conditionProcessValue" {
389
+ import { HashTable } from "helpers";
390
+ export class ProcessValue {
391
+ values: HashTable<any>;
392
+ properties: HashTable<any>;
393
+ constructor();
394
+ getFirstName(text: string, obj?: any): string;
395
+ hasValue(text: string, values?: HashTable<any>): boolean;
396
+ getValue(text: string, values?: HashTable<any>): any;
397
+ setValue(obj: any, text: string, value: any): void;
398
+ getValueInfo(valueInfo: any): void;
399
+ isAnyKeyChanged(keys: any, usedNames: string[]): boolean;
400
+ private getValueFromPath;
401
+ private getValueCore;
402
+ private getQuestionDirectly;
403
+ private getValueFromSurvey;
404
+ private getValueFromValues;
405
+ private getNonNestedObject;
406
+ private getNonNestedObjectCore;
407
+ private getObjInArray;
408
+ private getFirstPropertyName;
409
+ private getObjectValue;
410
+ private getIntValue;
411
+ }
412
+ }
387
413
  declare module "console-warnings" {
388
414
  export class ConsoleWarnings {
389
415
  static disposedObjectChangedProperty(propName: string, objType: string): void;
@@ -392,408 +418,89 @@ declare module "console-warnings" {
392
418
  static error(text: string): void;
393
419
  }
394
420
  }
395
- declare module "jsonobject" {
396
- import { Base } from "base";
397
- export interface IPropertyDecoratorOptions<T = any> {
398
- defaultValue?: T;
399
- defaultSource?: string;
400
- getDefaultValue?: (objectInstance?: any) => T;
401
- localizable?: {
402
- name?: string;
403
- onGetTextCallback?: (str: string) => string;
404
- defaultStr?: string;
405
- } | boolean;
406
- onSet?: (val: T, objectInstance: any) => void;
421
+ declare module "functionsfactory" {
422
+ import { HashTable } from "helpers";
423
+ export class FunctionFactory {
424
+ static Instance: FunctionFactory;
425
+ private functionHash;
426
+ private isAsyncHash;
427
+ register(name: string, func: (params: any[]) => any, isAsync?: boolean): void;
428
+ unregister(name: string): void;
429
+ hasFunction(name: string): boolean;
430
+ isAsyncFunction(name: string): boolean;
431
+ clear(): void;
432
+ getAll(): Array<string>;
433
+ run(name: string, params: any[], properties?: HashTable<any>): any;
407
434
  }
408
- export function property(options?: IPropertyDecoratorOptions): (target: any, key: string) => void;
409
- export interface IArrayPropertyDecoratorOptions {
410
- onPush?: any;
411
- onRemove?: any;
412
- onSet?: (val: any, target: any) => void;
435
+ export var registerFunction: (name: string, func: (params: any[]) => any, isAsync?: boolean) => void;
436
+ }
437
+ declare module "expressions/expressions" {
438
+ import { HashTable } from "helpers";
439
+ import { ProcessValue } from "conditionProcessValue";
440
+ export abstract class Operand {
441
+ toString(func?: (op: Operand) => string): string;
442
+ abstract getType(): string;
443
+ abstract evaluate(processValue?: ProcessValue): any;
444
+ abstract setVariables(variables: Array<string>): any;
445
+ hasFunction(): boolean;
446
+ hasAsyncFunction(): boolean;
447
+ addToAsyncList(list: Array<FunctionOperand>): void;
448
+ isEqual(op: Operand): boolean;
449
+ protected abstract isContentEqual(op: Operand): boolean;
450
+ protected areOperatorsEquals(op1: Operand, op2: Operand): boolean;
413
451
  }
414
- export function propertyArray(options?: IArrayPropertyDecoratorOptions): (target: any, key: string) => void;
415
- export interface IObject {
416
- [key: string]: any;
452
+ export class BinaryOperand extends Operand {
453
+ private operatorName;
454
+ private left;
455
+ private right;
456
+ private consumer;
457
+ private isArithmeticValue;
458
+ constructor(operatorName: string, left?: any, right?: any, isArithmeticOp?: boolean);
459
+ private get requireStrictCompare();
460
+ private getIsOperandRequireStrict;
461
+ getType(): string;
462
+ get isArithmetic(): boolean;
463
+ get isConjunction(): boolean;
464
+ get conjunction(): string;
465
+ get operator(): string;
466
+ get leftOperand(): any;
467
+ get rightOperand(): any;
468
+ protected isContentEqual(op: Operand): boolean;
469
+ private evaluateParam;
470
+ evaluate(processValue?: ProcessValue): any;
471
+ toString(func?: (op: Operand) => string): string;
472
+ setVariables(variables: Array<string>): void;
473
+ hasFunction(): boolean;
474
+ hasAsyncFunction(): boolean;
475
+ addToAsyncList(list: Array<FunctionOperand>): void;
417
476
  }
418
- /**
419
- * Contains information about a property of a survey element (page, panel, questions, and etc).
420
- * @see addProperty
421
- * @see removeProperty
422
- * @see [Add Properties](https://surveyjs.io/Documentation/Survey-Creator#addproperties)
423
- * @see [Remove Properties](https://surveyjs.io/Documentation/Survey-Creator#removeproperties)
424
- */
425
- export class JsonObjectProperty implements IObject {
426
- name: string;
427
- static getItemValuesDefaultValue: (val: any, type: string) => any;
428
- [key: string]: any;
429
- private static Index;
430
- private static mergableValues;
431
- private idValue;
432
- private classInfoValue;
433
- private typeValue;
434
- private choicesValue;
435
- private baseValue;
436
- private isRequiredValue;
437
- private isUniqueValue;
438
- private uniquePropertyValue;
439
- private readOnlyValue;
440
- private visibleValue;
441
- private isLocalizableValue;
442
- private choicesfunc;
443
- private dependedProperties;
444
- isSerializable: boolean;
445
- isLightSerializable: boolean;
446
- isCustom: boolean;
447
- isDynamicChoices: boolean;
448
- isBindable: boolean;
449
- className: string;
450
- alternativeName: string;
451
- classNamePart: string;
452
- baseClassName: string;
453
- defaultValueValue: any;
454
- defaultValueFunc: (obj: Base) => any;
455
- serializationProperty: string;
456
- displayName: string;
457
- category: string;
458
- categoryIndex: number;
459
- visibleIndex: number;
460
- nextToProperty: string;
461
- overridingProperty: string;
462
- showMode: string;
463
- maxLength: number;
464
- maxValue: any;
465
- minValue: any;
466
- private dataListValue;
467
- layout: string;
468
- onSerializeValue: (obj: any) => any;
469
- onGetValue: (obj: any) => any;
470
- onSettingValue: (obj: any, value: any) => any;
471
- onSetValue: (obj: any, value: any, jsonConv: JsonObject) => any;
472
- visibleIf: (obj: any) => boolean;
473
- onExecuteExpression: (obj: any, res: any) => any;
474
- onPropertyEditorUpdate: (obj: any, propEditor: any) => any;
475
- constructor(classInfo: JsonMetadataClass, name: string, isRequired?: boolean);
476
- get id(): number;
477
- get classInfo(): JsonMetadataClass;
478
- get type(): string;
479
- set type(value: string);
480
- isArray: boolean;
481
- get isRequired(): boolean;
482
- set isRequired(val: boolean);
483
- get isUnique(): boolean;
484
- set isUnique(val: boolean);
485
- get uniquePropertyName(): string;
486
- set uniquePropertyName(val: string);
487
- get hasToUseGetValue(): string | ((obj: any) => any);
488
- getDefaultValue(obj: Base): any;
489
- get defaultValue(): any;
490
- set defaultValue(newValue: any);
491
- isDefaultValue(value: any): boolean;
492
- isDefaultValueByObj(obj: Base, value: any): boolean;
493
- getSerializableValue(obj: any): any;
494
- getValue(obj: any): any;
495
- getPropertyValue(obj: any): any;
496
- get hasToUseSetValue(): string | ((obj: any, value: any, jsonConv: JsonObject) => any);
497
- settingValue(obj: any, value: any): any;
498
- setValue(obj: any, value: any, jsonConv: JsonObject): void;
499
- getObjType(objType: string): string;
500
- /**
501
- * Depricated, please use getChoices
502
- */
503
- get choices(): Array<any>;
504
- get hasChoices(): boolean;
505
- getChoices(obj: any, choicesCallback?: any): Array<any>;
506
- setChoices(value: Array<any>, valueFunc?: (obj: any) => Array<any>): void;
507
- getBaseValue(): string;
508
- setBaseValue(val: any): void;
509
- get readOnly(): boolean;
510
- set readOnly(val: boolean);
511
- isVisible(layout: string, obj?: any): boolean;
512
- get visible(): boolean;
513
- set visible(val: boolean);
514
- get isLocalizable(): boolean;
515
- set isLocalizable(val: boolean);
516
- get dataList(): Array<string>;
517
- set dataList(val: Array<string>);
518
- mergeWith(prop: JsonObjectProperty): void;
519
- addDependedProperty(name: string): void;
520
- getDependedProperties(): Array<string>;
521
- schemaType(): string;
522
- schemaRef(): string;
523
- private mergeValue;
477
+ export class UnaryOperand extends Operand {
478
+ private expressionValue;
479
+ private operatorName;
480
+ private consumer;
481
+ constructor(expressionValue: Operand, operatorName: string);
482
+ get operator(): string;
483
+ get expression(): Operand;
484
+ getType(): string;
485
+ toString(func?: (op: Operand) => string): string;
486
+ protected isContentEqual(op: Operand): boolean;
487
+ hasFunction(): boolean;
488
+ hasAsyncFunction(): boolean;
489
+ addToAsyncList(list: Array<FunctionOperand>): void;
490
+ evaluate(processValue?: ProcessValue): boolean;
491
+ setVariables(variables: Array<string>): void;
524
492
  }
525
- export class CustomPropertiesCollection {
526
- private static properties;
527
- private static parentClasses;
528
- static addProperty(className: string, property: any): void;
529
- static removeProperty(className: string, propertyName: string): void;
530
- static removeAllProperties(className: string): void;
531
- static addClass(className: string, parentClassName: string): void;
532
- static getProperties(className: string): Array<any>;
533
- static createProperties(obj: any): void;
534
- private static createPropertiesCore;
535
- private static createPropertiesInObj;
536
- private static createPropertyInObj;
537
- private static checkIsPropertyExists;
538
- }
539
- export class JsonMetadataClass {
540
- name: string;
541
- creator: (json?: any) => any;
542
- parentName: string;
543
- static requiredSymbol: string;
544
- static typeSymbol: string;
545
- properties: Array<JsonObjectProperty>;
546
- private isCustomValue;
547
- private allProperties;
548
- private hashProperties;
549
- constructor(name: string, properties: Array<any>, creator?: (json?: any) => any, parentName?: string);
550
- find(name: string): JsonObjectProperty;
551
- findProperty(name: string): JsonObjectProperty;
552
- getAllProperties(): Array<JsonObjectProperty>;
553
- resetAllProperties(): void;
554
- get isCustom(): boolean;
555
- private fillAllProperties;
556
- private addPropCore;
557
- private isOverridedProp;
558
- private hasRegularChildClass;
559
- private makeParentRegularClass;
560
- createProperty(propInfo: any, isCustom?: boolean): JsonObjectProperty;
561
- private addDependsOnProperties;
562
- private addDependsOnProperty;
563
- private getIsPropertyNameRequired;
564
- private getPropertyName;
565
- }
566
- /**
567
- * The metadata object. It contains object properties' runtime information and allows you to modify it.
568
- */
569
- export class JsonMetadata {
570
- private classes;
571
- private alternativeNames;
572
- private childrenClasses;
573
- onSerializingProperty: ((obj: Base, prop: JsonObjectProperty, value: any, json: any) => boolean) | undefined;
574
- getObjPropertyValue(obj: any, name: string): any;
575
- setObjPropertyValue(obj: any, name: string, val: any): void;
576
- private getObjPropertyValueCore;
577
- private isObjWrapper;
578
- addClass(name: string, properties: Array<any>, creator?: (json?: any) => any, parentName?: string): JsonMetadataClass;
579
- removeClass(name: string): void;
580
- overrideClassCreatore(name: string, creator: () => any): void;
581
- overrideClassCreator(name: string, creator: () => any): void;
582
- getProperties(className: string): Array<JsonObjectProperty>;
583
- getPropertiesByObj(obj: any): Array<JsonObjectProperty>;
584
- getDynamicPropertiesByObj(obj: any, dynamicType?: string): Array<JsonObjectProperty>;
585
- hasOriginalProperty(obj: Base, propName: string): boolean;
586
- getOriginalProperty(obj: Base, propName: string): JsonObjectProperty;
587
- getProperty(className: string, propertyName: string): JsonObjectProperty;
588
- findProperty(className: string, propertyName: string): JsonObjectProperty;
589
- findProperties(className: string, propertyNames: Array<string>): Array<JsonObjectProperty>;
590
- getAllPropertiesByName(propertyName: string): Array<JsonObjectProperty>;
591
- getAllClasses(): Array<string>;
592
- createClass(name: string, json?: any): any;
593
- private createCustomType;
594
- getChildrenClasses(name: string, canBeCreated?: boolean): Array<JsonMetadataClass>;
595
- getRequiredProperties(name: string): Array<string>;
596
- addProperties(className: string, propertiesInfos: Array<any>): void;
597
- addProperty(className: string, propertyInfo: any): JsonObjectProperty;
598
- private addCustomPropertyCore;
599
- removeProperty(className: string, propertyName: string): boolean;
600
- private removePropertyFromClass;
601
- private fillChildrenClasses;
602
- findClass(name: string): JsonMetadataClass;
603
- isDescendantOf(className: string, ancestorClassName: string): boolean;
604
- addAlterNativeClassName(name: string, alternativeName: string): void;
605
- generateSchema(className?: string): any;
606
- private generateLocStrClass;
607
- private generateSchemaProperties;
608
- private generateSchemaProperty;
609
- private getChemeRefName;
610
- private generateChemaClass;
611
- private getChoicesValues;
612
- }
613
- export class JsonError {
614
- type: string;
615
- message: string;
616
- description: string;
617
- at: number;
618
- end: number;
619
- jsonObj: any;
620
- element: Base;
621
- constructor(type: string, message: string);
622
- getFullDescription(): string;
623
- }
624
- export class JsonUnknownPropertyError extends JsonError {
625
- propertyName: string;
626
- className: string;
627
- constructor(propertyName: string, className: string);
628
- }
629
- export class JsonMissingTypeErrorBase extends JsonError {
630
- baseClassName: string;
631
- type: string;
632
- message: string;
633
- constructor(baseClassName: string, type: string, message: string);
634
- }
635
- export class JsonMissingTypeError extends JsonMissingTypeErrorBase {
636
- propertyName: string;
637
- baseClassName: string;
638
- constructor(propertyName: string, baseClassName: string);
639
- }
640
- export class JsonIncorrectTypeError extends JsonMissingTypeErrorBase {
641
- propertyName: string;
642
- baseClassName: string;
643
- constructor(propertyName: string, baseClassName: string);
644
- }
645
- export class JsonRequiredPropertyError extends JsonError {
646
- propertyName: string;
647
- className: string;
648
- constructor(propertyName: string, className: string);
649
- }
650
- export class JsonRequiredArrayPropertyError extends JsonError {
651
- propertyName: string;
652
- className: string;
653
- constructor(propertyName: string, className: string);
654
- }
655
- export class JsonObject {
656
- private static typePropertyName;
657
- private static positionPropertyName;
658
- private static metaDataValue;
659
- static get metaData(): JsonMetadata;
660
- errors: JsonError[];
661
- lightSerializing: boolean;
662
- toJsonObject(obj: any, storeDefaults?: boolean): any;
663
- toObject(jsonObj: any, obj: any): void;
664
- toObjectCore(jsonObj: any, obj: any): void;
665
- toJsonObjectCore(obj: any, property: JsonObjectProperty, storeDefaults?: boolean): any;
666
- private getDynamicProperties;
667
- private addDynamicProperties;
668
- private propertiesToJson;
669
- valueToJson(obj: any, result: any, property: JsonObjectProperty, storeDefaults?: boolean): void;
670
- valueToObj(value: any, obj: any, property: JsonObjectProperty, jsonObj?: any): void;
671
- private removePos;
672
- private removePosFromObj;
673
- private isValueArray;
674
- private createNewObj;
675
- private getClassNameForNewObj;
676
- private checkNewObjectOnErrors;
677
- private getRequiredError;
678
- private addNewError;
679
- private valueToArray;
680
- private addValuesIntoArray;
681
- private findProperty;
682
- }
683
- /**
684
- * An alias for the metadata object. It contains object properties' runtime information and allows you to modify it.
685
- * @see JsonMetadata
686
- */
687
- export var Serializer: JsonMetadata;
688
- }
689
- declare module "conditionProcessValue" {
690
- import { HashTable } from "helpers";
691
- export class ProcessValue {
692
- values: HashTable<any>;
693
- properties: HashTable<any>;
694
- constructor();
695
- getFirstName(text: string, obj?: any): string;
696
- hasValue(text: string, values?: HashTable<any>): boolean;
697
- getValue(text: string, values?: HashTable<any>): any;
698
- setValue(obj: any, text: string, value: any): void;
699
- getValueInfo(valueInfo: any): void;
700
- isAnyKeyChanged(keys: any, usedNames: string[]): boolean;
701
- private getValueFromPath;
702
- private getValueCore;
703
- private getQuestionDirectly;
704
- private getValueFromSurvey;
705
- private getValueFromValues;
706
- private getNonNestedObject;
707
- private getNonNestedObjectCore;
708
- private getObjInArray;
709
- private getFirstPropertyName;
710
- private getObjectValue;
711
- private getIntValue;
712
- }
713
- }
714
- declare module "functionsfactory" {
715
- import { HashTable } from "helpers";
716
- export class FunctionFactory {
717
- static Instance: FunctionFactory;
718
- private functionHash;
719
- private isAsyncHash;
720
- register(name: string, func: (params: any[]) => any, isAsync?: boolean): void;
721
- unregister(name: string): void;
722
- hasFunction(name: string): boolean;
723
- isAsyncFunction(name: string): boolean;
724
- clear(): void;
725
- getAll(): Array<string>;
726
- run(name: string, params: any[], properties?: HashTable<any>): any;
727
- }
728
- export var registerFunction: (name: string, func: (params: any[]) => any, isAsync?: boolean) => void;
729
- }
730
- declare module "expressions/expressions" {
731
- import { HashTable } from "helpers";
732
- import { ProcessValue } from "conditionProcessValue";
733
- export abstract class Operand {
734
- toString(func?: (op: Operand) => string): string;
735
- abstract getType(): string;
736
- abstract evaluate(processValue?: ProcessValue): any;
737
- abstract setVariables(variables: Array<string>): any;
738
- hasFunction(): boolean;
739
- hasAsyncFunction(): boolean;
740
- addToAsyncList(list: Array<FunctionOperand>): void;
741
- isEqual(op: Operand): boolean;
742
- protected abstract isContentEqual(op: Operand): boolean;
743
- protected areOperatorsEquals(op1: Operand, op2: Operand): boolean;
744
- }
745
- export class BinaryOperand extends Operand {
746
- private operatorName;
747
- private left;
748
- private right;
749
- private consumer;
750
- private isArithmeticValue;
751
- constructor(operatorName: string, left?: any, right?: any, isArithmeticOp?: boolean);
752
- private get requireStrictCompare();
753
- private getIsOperandRequireStrict;
754
- getType(): string;
755
- get isArithmetic(): boolean;
756
- get isConjunction(): boolean;
757
- get conjunction(): string;
758
- get operator(): string;
759
- get leftOperand(): any;
760
- get rightOperand(): any;
761
- protected isContentEqual(op: Operand): boolean;
762
- private evaluateParam;
763
- evaluate(processValue?: ProcessValue): any;
764
- toString(func?: (op: Operand) => string): string;
765
- setVariables(variables: Array<string>): void;
766
- hasFunction(): boolean;
767
- hasAsyncFunction(): boolean;
768
- addToAsyncList(list: Array<FunctionOperand>): void;
769
- }
770
- export class UnaryOperand extends Operand {
771
- private expressionValue;
772
- private operatorName;
773
- private consumer;
774
- constructor(expressionValue: Operand, operatorName: string);
775
- get operator(): string;
776
- get expression(): Operand;
777
- getType(): string;
778
- toString(func?: (op: Operand) => string): string;
779
- protected isContentEqual(op: Operand): boolean;
780
- hasFunction(): boolean;
781
- hasAsyncFunction(): boolean;
782
- addToAsyncList(list: Array<FunctionOperand>): void;
783
- evaluate(processValue?: ProcessValue): boolean;
784
- setVariables(variables: Array<string>): void;
785
- }
786
- export class ArrayOperand extends Operand {
787
- values: Array<Operand>;
788
- constructor(values: Array<Operand>);
789
- getType(): string;
790
- toString(func?: (op: Operand) => string): string;
791
- evaluate(processValue?: ProcessValue): Array<any>;
792
- setVariables(variables: Array<string>): void;
793
- hasFunction(): boolean;
794
- hasAsyncFunction(): boolean;
795
- addToAsyncList(list: Array<FunctionOperand>): void;
796
- protected isContentEqual(op: Operand): boolean;
493
+ export class ArrayOperand extends Operand {
494
+ values: Array<Operand>;
495
+ constructor(values: Array<Operand>);
496
+ getType(): string;
497
+ toString(func?: (op: Operand) => string): string;
498
+ evaluate(processValue?: ProcessValue): Array<any>;
499
+ setVariables(variables: Array<string>): void;
500
+ hasFunction(): boolean;
501
+ hasAsyncFunction(): boolean;
502
+ addToAsyncList(list: Array<FunctionOperand>): void;
503
+ protected isContentEqual(op: Operand): boolean;
797
504
  }
798
505
  export class Const extends Operand {
799
506
  private value;
@@ -2189,6 +1896,9 @@ declare module "defaultCss/defaultV2Css" {
2189
1896
  rootDropdown: string;
2190
1897
  root: string;
2191
1898
  rootWrappable: string;
1899
+ rootLabelsTop: string;
1900
+ rootLabelsBottom: string;
1901
+ rootLabelsDiagonal: string;
2192
1902
  item: string;
2193
1903
  itemOnError: string;
2194
1904
  itemHover: string;
@@ -2911,6 +2621,8 @@ declare module "question_custom" {
2911
2621
  getType(): string;
2912
2622
  locStrsChanged(): void;
2913
2623
  localeChanged(): void;
2624
+ addUsedLocales(locales: Array<string>): void;
2625
+ needResponsiveWidth(): boolean;
2914
2626
  protected createWrapper(): void;
2915
2627
  protected onPropertyValueChanged(name: string, oldValue: any, newValue: any): void;
2916
2628
  itemValuePropertyChanged(item: ItemValue, name: string, oldValue: any, newValue: any): void;
@@ -3748,6 +3460,9 @@ declare module "question_file" {
3748
3460
  import { Camera } from "utils/camera";
3749
3461
  import { LocalizableString } from "localizablestring";
3750
3462
  export function dataUrl2File(dataUrl: string, fileName: string, type: string): File;
3463
+ /**
3464
+ * A base class for question types that support file upload: `QuestionFileModel` and `QuestionSignaturePadModel`.
3465
+ */
3751
3466
  export class QuestionFileModelBase extends Question {
3752
3467
  isUploading: boolean;
3753
3468
  currentState: string;
@@ -4035,7 +3750,7 @@ declare module "choicesRestful" {
4035
3750
  * }
4036
3751
  * ```
4037
3752
  *
4038
- * Typically, you should assign this object to a question's [`choicesByUrl`](https://surveyjs.io/Documentation/Library?id=QuestionSelectBase#choicesByUrl) property.
3753
+ * Typically, you should assign this object to a question's [`choicesByUrl`](https://surveyjs.io/Documentation/Library?id=QuestionSelectBase#choicesByUrl) property. You can also specify additional application-wide settings using the [`settings.web`](https://surveyjs.io/form-library/documentation/api-reference/settings#web) object.
4039
3754
  */
4040
3755
  export class ChoicesRestful extends Base {
4041
3756
  private static cacheText;
@@ -4047,9 +3762,12 @@ declare module "choicesRestful" {
4047
3762
  private static sendingSameRequests;
4048
3763
  private static addSameRequest;
4049
3764
  private static unregisterSameRequests;
4050
- static onBeforeSendRequest: (sender: ChoicesRestful, options: {
3765
+ static get onBeforeSendRequest(): (sender: ChoicesRestful, options: {
4051
3766
  request: XMLHttpRequest;
4052
3767
  }) => void;
3768
+ static set onBeforeSendRequest(val: (sender: ChoicesRestful, options: {
3769
+ request: XMLHttpRequest;
3770
+ }) => void);
4053
3771
  private static getCachedItemsResult;
4054
3772
  private lastObjHash;
4055
3773
  private isRunningValue;
@@ -4147,6 +3865,11 @@ declare module "choicesRestful" {
4147
3865
  */
4148
3866
  get imageLinkName(): string;
4149
3867
  set imageLinkName(val: string);
3868
+ /**
3869
+ * Specifies whether the service is allowed to return an empty response or an empty array in a response.
3870
+ *
3871
+ * Default value: `false`
3872
+ */
4150
3873
  get allowEmptyResponse(): boolean;
4151
3874
  set allowEmptyResponse(val: boolean);
4152
3875
  get attachOriginalItems(): boolean;
@@ -4331,7 +4054,9 @@ declare module "question_baseselect" {
4331
4054
  updateCommentFromSurvey(newValue: any): any;
4332
4055
  get renderedValue(): any;
4333
4056
  set renderedValue(val: any);
4057
+ private makeCommentEmpty;
4334
4058
  protected setQuestionValue(newValue: any, updateIsAnswered?: boolean, updateComment?: boolean): void;
4059
+ protected setValueCore(newValue: any): void;
4335
4060
  protected setNewValue(newValue: any): void;
4336
4061
  protected valueFromData(val: any): any;
4337
4062
  protected rendredValueFromData(val: any): any;
@@ -4349,9 +4074,9 @@ declare module "question_baseselect" {
4349
4074
  */
4350
4075
  clearIncorrectValuesCallback: () => void;
4351
4076
  /**
4352
- * 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.
4077
+ * 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. You can also specify additional application-wide settings using the [`settings.web`](https://surveyjs.io/form-library/documentation/api-reference/settings#web) object.
4353
4078
  *
4354
- * [View Demo](https://surveyjs.io/form-library/examples/questiontype-dropdownrestfull/ (linkStyle))
4079
+ * [View Demo](https://surveyjs.io/form-library/examples/dropdown-menu-load-data-from-restful-service/ (linkStyle))
4355
4080
  * @see choices
4356
4081
  * @see [settings.specialChoicesOrder](https://surveyjs.io/form-library/documentation/api-reference/settings#specialChoicesOrder)
4357
4082
  */
@@ -4618,7 +4343,7 @@ declare module "question_baseselect" {
4618
4343
  getAriaItemLabel(item: ItemValue): string;
4619
4344
  getItemId(item: ItemValue): string;
4620
4345
  get questionName(): string;
4621
- getItemEnabled(item: ItemValue): any;
4346
+ getItemEnabled(item: ItemValue): boolean;
4622
4347
  protected rootElement: HTMLElement;
4623
4348
  afterRender(el: HTMLElement): void;
4624
4349
  beforeDestroyQuestionElement(el: HTMLElement): void;
@@ -4648,7 +4373,6 @@ declare module "question_baseselect" {
4648
4373
  */
4649
4374
  get colCount(): number;
4650
4375
  set colCount(value: number);
4651
- clickItemHandler(item: ItemValue, checked: boolean): void;
4652
4376
  protected onParentChanged(): void;
4653
4377
  protected onParentQuestionChanged(): void;
4654
4378
  protected getSearchableItemValueKeys(keys: Array<string>): void;
@@ -6200,11 +5924,25 @@ declare module "question_paneldynamic" {
6200
5924
  * Specifies whether users are allowed to add new panels.
6201
5925
  *
6202
5926
  * Default value: `true`
5927
+ *
5928
+ * By default, users add new panels to the end. If you want to let users insert a new panel after the current panel, set the [`newPanelPosition`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#newPanelPosition) property to `"next"`.
6203
5929
  * @see canAddPanel
6204
5930
  * @see allowRemovePanel
6205
5931
  */
6206
5932
  get allowAddPanel(): boolean;
6207
5933
  set allowAddPanel(val: boolean);
5934
+ /**
5935
+ * Specifies the position of newly added panels.
5936
+ *
5937
+ * Possible values:
5938
+ *
5939
+ * - `"last"` (default) - New panels are added to the end.
5940
+ * - `"next"` - New panels are inserted after the current panel.
5941
+ * @see allowAddPanel
5942
+ * @see addPanel
5943
+ */
5944
+ get newPanelPosition(): string;
5945
+ set newPanelPosition(val: string);
6208
5946
  /**
6209
5947
  * Specifies whether users are allowed to delete panels.
6210
5948
  *
@@ -6343,13 +6081,15 @@ declare module "question_paneldynamic" {
6343
6081
  */
6344
6082
  addPanelUI(): PanelModel;
6345
6083
  /**
6346
- * Add a new dynamic panel based on the template Panel.
6347
- * @see template
6084
+ * Adds a new panel based on the [template](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#template).
6085
+ * @param index *(Optional)* An index at which to insert the new panel. `undefined` adds the panel to the end or inserts it after the current panel if [`renderMode`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#renderMode) is `"tab"`. A negative index (for instance, -1) adds the panel to the end in all cases, regardless of the `renderMode` value.
6348
6086
  * @see panelCount
6349
6087
  * @see panels
6350
- * @see renderMode
6088
+ * @see allowAddPanel
6089
+ * @see newPanelPosition
6351
6090
  */
6352
- addPanel(): PanelModel;
6091
+ addPanel(index?: number): PanelModel;
6092
+ private updateValueOnAddingPanel;
6353
6093
  private canLeaveCurrentPanel;
6354
6094
  private copyValue;
6355
6095
  /**
@@ -6362,6 +6102,7 @@ declare module "question_paneldynamic" {
6362
6102
  *
6363
6103
  */
6364
6104
  removePanelUI(value: any): void;
6105
+ isRequireConfirmOnDelete(val: any): boolean;
6365
6106
  /**
6366
6107
  * Switches Dynamic Panel to the next panel. Returns `true` in case of success, or `false` if `renderMode` is `"list"` or the current panel contains validation errors.
6367
6108
  * @see renderMode
@@ -7446,15 +7187,17 @@ declare module "survey-events-api" {
7446
7187
  */
7447
7188
  panel: PanelModel;
7448
7189
  }
7449
- export interface DynamicPanelGetTabTitleEvent extends PanelDynamicQuestionEventMixin {
7190
+ export interface DynamicPanelCurrentIndexChangedEvent extends PanelDynamicQuestionEventMixin {
7450
7191
  /**
7451
- * A panel whose tab title is being rendered.
7192
+ * A panel for which the event is raised.
7452
7193
  */
7453
7194
  panel: PanelModel;
7454
7195
  /**
7455
7196
  * The panel's index in the [`visiblePanels`](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model#visiblePanels) array of the Dynamic Panel.
7456
7197
  */
7457
7198
  visiblePanelIndex: number;
7199
+ }
7200
+ export interface DynamicPanelGetTabTitleEvent extends DynamicPanelCurrentIndexChangedEvent {
7458
7201
  /**
7459
7202
  * A tab title. You can change this parameter's value.
7460
7203
  */
@@ -8342,7 +8085,7 @@ declare module "question_multipletext" {
8342
8085
  /**
8343
8086
  * Adds a new input item.
8344
8087
  * @param name An item name.
8345
- * @param title (Optional) An item title.
8088
+ * @param title *(Optional)* An item title.
8346
8089
  * @see items
8347
8090
  */
8348
8091
  addItem(name: string, title?: string): MultipleTextItemModel;
@@ -8528,6 +8271,7 @@ declare module "header" {
8528
8271
  protected propertyValueChanged(name: string, oldValue: any, newValue: any): void;
8529
8272
  calculateActualHeight(logoHeight: number, titleHeight: number, descriptionHeight: number): number;
8530
8273
  processResponsiveness(width: number): void;
8274
+ get hasBackground(): boolean;
8531
8275
  }
8532
8276
  }
8533
8277
  declare module "surveyTaskManager" {
@@ -8550,7 +8294,7 @@ declare module "surveyTaskManager" {
8550
8294
  declare module "survey" {
8551
8295
  import { JsonError } from "jsonobject";
8552
8296
  import { Base, EventBase } from "base";
8553
- import { ISurvey, ISurveyData, ISurveyImpl, ITextProcessor, IQuestion, IPanel, IElement, IPage, ISurveyErrorOwner, ISurveyElement, IProgressInfo, IFindElement, ISurveyLayoutElement, IPlainDataOptions, LayoutElementContainer, IValueItemCustomPropValues } from "base-interfaces";
8297
+ import { ISurvey, ISurveyData, ISurveyImpl, ITextProcessor, IQuestion, IPanel, IElement, IPage, ISurveyErrorOwner, ISurveyElement, IProgressInfo, IFindElement, ISurveyLayoutElement, IPlainDataOptions, LayoutElementContainer, IValueItemCustomPropValues, ILoadFromJSONOptions } from "base-interfaces";
8554
8298
  import { SurveyElementCore } from "survey-element";
8555
8299
  import { ISurveyTriggerOwner, SurveyTrigger, Trigger } from "trigger";
8556
8300
  import { CalculatedValue } from "calculatedValue";
@@ -8568,7 +8312,7 @@ declare module "survey" {
8568
8312
  import { ActionContainer } from "actions/container";
8569
8313
  import { QuestionPanelDynamicModel } from "question_paneldynamic";
8570
8314
  import { Notifier } from "notifier";
8571
- import { TriggerExecutedEvent, CompletingEvent, CompleteEvent, ShowingPreviewEvent, NavigateToUrlEvent, CurrentPageChangingEvent, CurrentPageChangedEvent, ValueChangingEvent, ValueChangedEvent, VariableChangedEvent, QuestionVisibleChangedEvent, PageVisibleChangedEvent, PanelVisibleChangedEvent, QuestionCreatedEvent, QuestionAddedEvent, QuestionRemovedEvent, PanelAddedEvent, PanelRemovedEvent, PageAddedEvent, ValidateQuestionEvent, SettingQuestionErrorsEvent, ValidatePanelEvent, ErrorCustomTextEvent, ValidatedErrorsOnCurrentPageEvent, ProcessHtmlEvent, GetQuestionTitleEvent, GetTitleTagNameEvent, GetQuestionNoEvent, ProgressTextEvent, TextMarkdownEvent, TextRenderAsEvent, SendResultEvent, GetResultEvent, UploadFilesEvent, DownloadFileEvent, ClearFilesEvent, LoadChoicesFromServerEvent, ProcessTextValueEvent, UpdateQuestionCssClassesEvent, UpdatePanelCssClassesEvent, UpdatePageCssClassesEvent, UpdateChoiceItemCssEvent, AfterRenderSurveyEvent, AfterRenderHeaderEvent, AfterRenderPageEvent, AfterRenderQuestionEvent, AfterRenderQuestionInputEvent, AfterRenderPanelEvent, FocusInQuestionEvent, FocusInPanelEvent, ShowingChoiceItemEvent, ChoicesLazyLoadEvent, GetChoiceDisplayValueEvent, MatrixRowAddedEvent, MatrixBeforeRowAddedEvent, MatrixRowRemovingEvent, MatrixRowRemovedEvent, MatrixAllowRemoveRowEvent, MatrixCellCreatingEvent, MatrixCellCreatedEvent, MatrixAfterCellRenderEvent, MatrixCellValueChangedEvent, MatrixCellValueChangingEvent, MatrixCellValidateEvent, DynamicPanelModifiedEvent, DynamicPanelRemovingEvent, TimerPanelInfoTextEvent, DynamicPanelItemValueChangedEvent, DynamicPanelGetTabTitleEvent, IsAnswerCorrectEvent, DragDropAllowEvent, ScrollingElementToTopEvent, GetQuestionTitleActionsEvent, GetPanelTitleActionsEvent, GetPageTitleActionsEvent, GetPanelFooterActionsEvent, GetMatrixRowActionsEvent, ElementContentVisibilityChangedEvent, GetExpressionDisplayValueEvent, ServerValidateQuestionsEvent, MultipleTextItemAddedEvent, MatrixColumnAddedEvent, GetQuestionDisplayValueEvent, PopupVisibleChangedEvent } from "survey-events-api";
8315
+ import { TriggerExecutedEvent, CompletingEvent, CompleteEvent, ShowingPreviewEvent, NavigateToUrlEvent, CurrentPageChangingEvent, CurrentPageChangedEvent, ValueChangingEvent, ValueChangedEvent, VariableChangedEvent, QuestionVisibleChangedEvent, PageVisibleChangedEvent, PanelVisibleChangedEvent, QuestionCreatedEvent, QuestionAddedEvent, QuestionRemovedEvent, PanelAddedEvent, PanelRemovedEvent, PageAddedEvent, ValidateQuestionEvent, SettingQuestionErrorsEvent, ValidatePanelEvent, ErrorCustomTextEvent, ValidatedErrorsOnCurrentPageEvent, ProcessHtmlEvent, GetQuestionTitleEvent, GetTitleTagNameEvent, GetQuestionNoEvent, ProgressTextEvent, TextMarkdownEvent, TextRenderAsEvent, SendResultEvent, GetResultEvent, UploadFilesEvent, DownloadFileEvent, ClearFilesEvent, LoadChoicesFromServerEvent, ProcessTextValueEvent, UpdateQuestionCssClassesEvent, UpdatePanelCssClassesEvent, UpdatePageCssClassesEvent, UpdateChoiceItemCssEvent, AfterRenderSurveyEvent, AfterRenderHeaderEvent, AfterRenderPageEvent, AfterRenderQuestionEvent, AfterRenderQuestionInputEvent, AfterRenderPanelEvent, FocusInQuestionEvent, FocusInPanelEvent, ShowingChoiceItemEvent, ChoicesLazyLoadEvent, GetChoiceDisplayValueEvent, MatrixRowAddedEvent, MatrixBeforeRowAddedEvent, MatrixRowRemovingEvent, MatrixRowRemovedEvent, MatrixAllowRemoveRowEvent, MatrixCellCreatingEvent, MatrixCellCreatedEvent, MatrixAfterCellRenderEvent, MatrixCellValueChangedEvent, MatrixCellValueChangingEvent, MatrixCellValidateEvent, DynamicPanelModifiedEvent, DynamicPanelRemovingEvent, TimerPanelInfoTextEvent, DynamicPanelItemValueChangedEvent, DynamicPanelGetTabTitleEvent, DynamicPanelCurrentIndexChangedEvent, IsAnswerCorrectEvent, DragDropAllowEvent, ScrollingElementToTopEvent, GetQuestionTitleActionsEvent, GetPanelTitleActionsEvent, GetPageTitleActionsEvent, GetPanelFooterActionsEvent, GetMatrixRowActionsEvent, ElementContentVisibilityChangedEvent, GetExpressionDisplayValueEvent, ServerValidateQuestionsEvent, MultipleTextItemAddedEvent, MatrixColumnAddedEvent, GetQuestionDisplayValueEvent, PopupVisibleChangedEvent } from "survey-events-api";
8572
8316
  import { QuestionMatrixDropdownModelBase } from "question_matrixdropdownbase";
8573
8317
  import { QuestionMatrixDynamicModel } from "question_matrixdynamic";
8574
8318
  import { QuestionFileModel } from "question_file";
@@ -9183,6 +8927,10 @@ declare module "survey" {
9183
8927
  * [View Demo](https://surveyjs.io/form-library/examples/tabbed-interface-for-duplicate-group-option/ (linkStyle))
9184
8928
  */
9185
8929
  onGetDynamicPanelTabTitle: EventBase<SurveyModel, DynamicPanelGetTabTitleEvent>;
8930
+ /**
8931
+ * An event that is raised after the current panel is changed in a [Dynamic Panel](https://surveyjs.io/form-library/examples/questiontype-paneldynamic/) question.
8932
+ */
8933
+ onDynamicPanelCurrentIndexChanged: EventBase<SurveyModel, DynamicPanelCurrentIndexChangedEvent>;
9186
8934
  /**
9187
8935
  * An event that is raised to define whether a question answer is correct. Applies only to [quiz surveys](https://surveyjs.io/form-library/documentation/design-survey/create-a-quiz).
9188
8936
  */
@@ -10062,7 +9810,7 @@ declare module "survey" {
10062
9810
  /**
10063
9811
  * Merges a specified data object with the object from the [`data`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#data) property.
10064
9812
  *
10065
- * Refer to the following help topic for more information: [Merge Question Values](https://surveyjs.io/form-library/documentation/design-survey/merge-question-values).
9813
+ * Refer to the following help topic for more information: [Populate Form Fields | Multiple Question Values](https://surveyjs.io/form-library/documentation/design-survey/pre-populate-form-fields#multiple-question-values).
10066
9814
  *
10067
9815
  * @param data A data object to merge. It should have the following structure: `{ questionName: questionValue, ... }`
10068
9816
  * @see setValue
@@ -10499,6 +10247,7 @@ declare module "survey" {
10499
10247
  protected onQuestionsOnPageModeChanged(oldValue: string): void;
10500
10248
  private restoreOriginalPages;
10501
10249
  private getPageStartIndex;
10250
+ private isCreatingPagesForPreview;
10502
10251
  private setupPagesForPageModes;
10503
10252
  private createPagesForQuestionOnPageMode;
10504
10253
  private createSinglePage;
@@ -10657,6 +10406,7 @@ declare module "survey" {
10657
10406
  dynamicPanelRemoving(question: QuestionPanelDynamicModel, panelIndex: number, panel: PanelModel): boolean;
10658
10407
  dynamicPanelItemValueChanged(question: IQuestion, options: any): void;
10659
10408
  dynamicPanelGetTabTitle(question: IQuestion, options: any): void;
10409
+ dynamicPanelCurrentIndexChanged(question: IQuestion, options: any): void;
10660
10410
  dragAndDropAllow(options: DragDropAllowEvent): boolean;
10661
10411
  elementContentVisibilityChanged(element: ISurveyElement): void;
10662
10412
  getUpdatedPanelFooterActions(panel: PanelModel, actions: Array<IAction>, question?: QuestionPanelDynamicModel): Array<IAction>;
@@ -10677,13 +10427,8 @@ declare module "survey" {
10677
10427
  * question,
10678
10428
  * question.name,
10679
10429
  * question.value,
10680
- * (status, data) => {
10681
- * if (status === "success") {
10682
- * // Handle success
10683
- * }
10684
- * if (status === "error") {
10685
- * // Handle error
10686
- * }
10430
+ * (data, errors) => {
10431
+ * // ...
10687
10432
  * }
10688
10433
  * );
10689
10434
  * ```
@@ -10768,7 +10513,7 @@ declare module "survey" {
10768
10513
  /**
10769
10514
  * Returns a question with a specified [`name`](https://surveyjs.io/form-library/documentation/api-reference/question#name).
10770
10515
  * @param name A question name
10771
- * @param caseInsensitive (Optional) A Boolean value that specifies case sensitivity when searching for the question. Default value: `false` (uppercase and lowercase letters are treated as distinct).
10516
+ * @param caseInsensitive *(Optional)* A Boolean value that specifies case sensitivity when searching for the question. Default value: `false` (uppercase and lowercase letters are treated as distinct).
10772
10517
  * @returns A question with a specified name.
10773
10518
  * @see getAllQuestions
10774
10519
  * @see getQuestionByValueName
@@ -10780,7 +10525,7 @@ declare module "survey" {
10780
10525
  *
10781
10526
  * > Since `valueName` does not have to be unique, multiple questions can have the same `valueName` value. In this case, the `getQuestionByValueName()` method returns the first such question. If you need to get all questions with the same `valueName`, call the `getQuestionsByValueName()` method.
10782
10527
  * @param valueName A question's `valueName` property value.
10783
- * @param caseInsensitive (Optional) A Boolean value that specifies case sensitivity when searching for the question. Default value: `false` (uppercase and lowercase letters are treated as distinct).
10528
+ * @param caseInsensitive *(Optional)* A Boolean value that specifies case sensitivity when searching for the question. Default value: `false` (uppercase and lowercase letters are treated as distinct).
10784
10529
  * @returns A question with a specified `valueName`.
10785
10530
  * @see getAllQuestions
10786
10531
  * @see getQuestionByName
@@ -10789,7 +10534,7 @@ declare module "survey" {
10789
10534
  /**
10790
10535
  * Returns all questions with a specified [`valueName`](https://surveyjs.io/form-library/documentation/api-reference/question#valueName). If a question's `valueName` is undefined, its [`name`](https://surveyjs.io/form-library/documentation/api-reference/question#name) property is used.
10791
10536
  * @param valueName A question's `valueName` property value.
10792
- * @param caseInsensitive (Optional) A Boolean value that specifies case sensitivity when searching for the questions. Default value: `false` (uppercase and lowercase letters are treated as distinct).
10537
+ * @param caseInsensitive *(Optional)* A Boolean value that specifies case sensitivity when searching for the questions. Default value: `false` (uppercase and lowercase letters are treated as distinct).
10793
10538
  * @returns An array of questions with a specified `valueName`.
10794
10539
  * @see getAllQuestions
10795
10540
  * @see getQuestionByName
@@ -10799,7 +10544,7 @@ declare module "survey" {
10799
10544
  /**
10800
10545
  * Returns an array of questions with specified [names](https://surveyjs.io/form-library/documentation/api-reference/question#name).
10801
10546
  * @param names An array of question names.
10802
- * @param caseInsensitive (Optional) A Boolean value that specifies case sensitivity when searching for the questions. Default value: `false` (uppercase and lowercase letters are treated as distinct).
10547
+ * @param caseInsensitive *(Optional)* A Boolean value that specifies case sensitivity when searching for the questions. Default value: `false` (uppercase and lowercase letters are treated as distinct).
10803
10548
  * @returns An array of questions with specified names
10804
10549
  * @see getAllQuestions
10805
10550
  */
@@ -10844,7 +10589,7 @@ declare module "survey" {
10844
10589
  /**
10845
10590
  * Returns a [panel](https://surveyjs.io/form-library/documentation/api-reference/panel-model) with a specified [`name`](https://surveyjs.io/form-library/documentation/api-reference/panel-model#name).
10846
10591
  * @param name A panel name.
10847
- * @param caseInsensitive (Optional) A Boolean value that specifies case sensitivity when searching for the panel. Default value: `false` (uppercase and lowercase letters are treated as distinct).
10592
+ * @param caseInsensitive *(Optional)* A Boolean value that specifies case sensitivity when searching for the panel. Default value: `false` (uppercase and lowercase letters are treated as distinct).
10848
10593
  * @returns A panel with a specified name.
10849
10594
  * @see getAllPanels
10850
10595
  */
@@ -10921,7 +10666,7 @@ declare module "survey" {
10921
10666
  private resetVisibleIndexes;
10922
10667
  private updateVisibleIndexes;
10923
10668
  private updatePageVisibleIndexes;
10924
- fromJSON(json: any): void;
10669
+ fromJSON(json: any, options?: ILoadFromJSONOptions): void;
10925
10670
  setJsonObject(jsonObj: any): void;
10926
10671
  private isEndLoadingFromJson;
10927
10672
  endLoadingFromJson(): void;
@@ -11528,7 +11273,8 @@ declare module "survey-element" {
11528
11273
  set readOnly(val: boolean);
11529
11274
  protected onReadOnlyChanged(): void;
11530
11275
  private get css();
11531
- cssClassesValue: any;
11276
+ get cssClassesValue(): any;
11277
+ set cssClassesValue(val: any);
11532
11278
  private ensureCssClassesValue;
11533
11279
  /**
11534
11280
  * Returns an object in which keys are UI elements and values are CSS classes applied to them.
@@ -12579,6 +12325,7 @@ declare module "question" {
12579
12325
  protected isMouseDown: boolean;
12580
12326
  onMouseDown(): void;
12581
12327
  protected setNewComment(newValue: string): void;
12328
+ protected setCommentIntoData(newValue: string): void;
12582
12329
  protected getValidName(name: string): string;
12583
12330
  updateValueFromSurvey(newValue: any, clearData?: boolean): void;
12584
12331
  private updateValueFromSurveyCore;
@@ -12657,6 +12404,97 @@ declare module "question" {
12657
12404
  get a11y_input_ariaDescribedBy(): string;
12658
12405
  }
12659
12406
  }
12407
+ declare module "itemvalue" {
12408
+ import { ILocalizableOwner, LocalizableString } from "localizablestring";
12409
+ import { ConditionRunner } from "conditions";
12410
+ import { IShortcutText, ISurvey } from "base-interfaces";
12411
+ import { BaseAction } from "actions/action";
12412
+ /**
12413
+ * Array of ItemValue is used in checkbox, dropdown and radiogroup choices, matrix columns and rows.
12414
+ * It has two main properties: value and text. If text is empty, value is used for displaying.
12415
+ * The text property is localizable and support markdown.
12416
+ */
12417
+ export class ItemValue extends BaseAction implements ILocalizableOwner, IShortcutText {
12418
+ protected typeName: string;
12419
+ [index: string]: any;
12420
+ getMarkdownHtml(text: string, name: string): string;
12421
+ getRenderer(name: string): string;
12422
+ getRendererContext(locStr: LocalizableString): any;
12423
+ getProcessedText(text: string): string;
12424
+ static get Separator(): string;
12425
+ static set Separator(val: string);
12426
+ /**
12427
+ * Resets the input array and fills it with values from the values array
12428
+ */
12429
+ static setData(items: Array<ItemValue>, values: Array<any>, type?: string): void;
12430
+ static getData(items: Array<ItemValue>): any;
12431
+ static getItemByValue(items: Array<ItemValue>, val: any): ItemValue;
12432
+ static getTextOrHtmlByValue(items: Array<ItemValue>, val: any): string;
12433
+ static locStrsChanged(items: Array<ItemValue>): void;
12434
+ static runConditionsForItems(items: Array<ItemValue>, filteredItems: Array<ItemValue>, runner: ConditionRunner, values: any, properties: any, useItemExpression?: boolean, onItemCallBack?: (item: ItemValue, val: boolean) => boolean): boolean;
12435
+ static runEnabledConditionsForItems(items: Array<ItemValue>, runner: ConditionRunner, values: any, properties: any, onItemCallBack?: (item: ItemValue, val: boolean) => boolean): boolean;
12436
+ private static runConditionsForItemsCore;
12437
+ ownerPropertyName: string;
12438
+ private _visible;
12439
+ private locTextValue;
12440
+ private visibleConditionRunner;
12441
+ private enableConditionRunner;
12442
+ constructor(value: any, text?: string, typeName?: string);
12443
+ onCreating(): any;
12444
+ getType(): string;
12445
+ getSurvey(live?: boolean): ISurvey;
12446
+ getLocale(): string;
12447
+ isGhost: boolean;
12448
+ protected get isInternal(): boolean;
12449
+ get locText(): LocalizableString;
12450
+ setLocText(locText: LocalizableString): void;
12451
+ private _locOwner;
12452
+ get locOwner(): ILocalizableOwner;
12453
+ set locOwner(value: ILocalizableOwner);
12454
+ get value(): any;
12455
+ set value(newValue: any);
12456
+ get hasText(): boolean;
12457
+ get pureText(): string;
12458
+ set pureText(val: string);
12459
+ get text(): string;
12460
+ set text(newText: string);
12461
+ get calculatedText(): string;
12462
+ get shortcutText(): string;
12463
+ private canSerializeValue;
12464
+ getData(): any;
12465
+ toJSON(): any;
12466
+ setData(value: any): void;
12467
+ get visibleIf(): string;
12468
+ set visibleIf(val: string);
12469
+ get enableIf(): string;
12470
+ set enableIf(val: string);
12471
+ get isVisible(): boolean;
12472
+ setIsVisible(val: boolean): void;
12473
+ get isEnabled(): boolean;
12474
+ setIsEnabled(val: boolean): void;
12475
+ addUsedLocales(locales: Array<string>): void;
12476
+ locStrsChanged(): void;
12477
+ protected onPropertyValueChanged(name: string, oldValue: any, newValue: any): void;
12478
+ protected getConditionRunner(isVisible: boolean): ConditionRunner;
12479
+ private getVisibleConditionRunner;
12480
+ private getEnableConditionRunner;
12481
+ originalItem: any;
12482
+ selectedValue: boolean;
12483
+ get selected(): boolean;
12484
+ private componentValue;
12485
+ getComponent(): string;
12486
+ setComponent(val: string): void;
12487
+ protected getEnabled(): boolean;
12488
+ protected setEnabled(val: boolean): void;
12489
+ protected getVisible(): boolean;
12490
+ protected setVisible(val: boolean): void;
12491
+ protected getLocTitle(): LocalizableString;
12492
+ protected getTitle(): string;
12493
+ protected setLocTitle(val: LocalizableString): void;
12494
+ protected setTitle(val: string): void;
12495
+ icon: string;
12496
+ }
12497
+ }
12660
12498
  declare module "martixBase" {
12661
12499
  import { HashTable } from "helpers";
12662
12500
  import { ItemValue } from "itemvalue";
@@ -13067,7 +12905,7 @@ declare module "question_matrixdropdownbase" {
13067
12905
  private get renderedTableValue();
13068
12906
  private set renderedTableValue(value);
13069
12907
  protected clearRowsAndResetRenderedTable(): void;
13070
- protected resetRenderedTable(): void;
12908
+ resetRenderedTable(): void;
13071
12909
  protected clearGeneratedRows(): void;
13072
12910
  protected get isRendredTableCreated(): boolean;
13073
12911
  get renderedTable(): QuestionMatrixDropdownRenderedTable;
@@ -13441,6 +13279,7 @@ declare module "base-interfaces" {
13441
13279
  dynamicPanelRemoving(question: IQuestion, panelIndex: number, panel: IPanel): boolean;
13442
13280
  dynamicPanelItemValueChanged(question: IQuestion, options: any): any;
13443
13281
  dynamicPanelGetTabTitle(question: IQuestion, options: any): any;
13282
+ dynamicPanelCurrentIndexChanged(question: IQuestion, options: any): void;
13444
13283
  dragAndDropAllow(options: DragDropAllowEvent): boolean;
13445
13284
  scrollElementToTop(element: ISurveyElement, question: IQuestion, page: IPage, id: string, scrollIfVisible?: boolean): any;
13446
13285
  runExpression(expression: string): any;
@@ -13542,157 +13381,371 @@ declare module "base-interfaces" {
13542
13381
  ensureRowsVisibility(): void;
13543
13382
  validateContainerOnly(): void;
13544
13383
  }
13545
- export interface IPage extends IPanel, IConditionRunner {
13546
- isStartPage: boolean;
13384
+ export interface IPage extends IPanel, IConditionRunner {
13385
+ isStartPage: boolean;
13386
+ }
13387
+ export interface ITitleOwner {
13388
+ name: string;
13389
+ no: string;
13390
+ requiredText: string;
13391
+ isRequireTextOnStart: boolean;
13392
+ isRequireTextBeforeTitle: boolean;
13393
+ isRequireTextAfterTitle: boolean;
13394
+ locTitle: LocalizableString;
13395
+ }
13396
+ export interface IProgressInfo {
13397
+ questionCount: number;
13398
+ answeredQuestionCount: number;
13399
+ requiredQuestionCount: number;
13400
+ requiredAnsweredQuestionCount: number;
13401
+ }
13402
+ export interface IWrapperObject {
13403
+ getOriginalObj(): Base;
13404
+ getClassNameProperty(): string;
13405
+ }
13406
+ export interface IFindElement {
13407
+ element: Base;
13408
+ str: LocalizableString;
13409
+ }
13410
+ export type ISurveyEnvironment = {
13411
+ root: Document | ShadowRoot;
13412
+ rootElement: HTMLElement | ShadowRoot;
13413
+ popupMountContainer: HTMLElement | string;
13414
+ svgMountContainer: HTMLElement | string;
13415
+ stylesSheetsMountContainer: HTMLElement;
13416
+ };
13417
+ export type LayoutElementContainer = "header" | "footer" | "left" | "right" | "contentTop" | "contentBottom" | "center";
13418
+ export type HorizontalAlignment = "left" | "center" | "right";
13419
+ export type VerticalAlignment = "top" | "middle" | "bottom";
13420
+ export interface ISurveyLayoutElement {
13421
+ id: string;
13422
+ container?: LayoutElementContainer | Array<LayoutElementContainer>;
13423
+ component?: string;
13424
+ template?: string;
13425
+ data?: any;
13426
+ index?: number;
13427
+ processResponsiveness?: (width: number) => void;
13428
+ }
13429
+ export interface IPlainDataOptions {
13430
+ includeEmpty?: boolean;
13431
+ includeQuestionTypes?: boolean;
13432
+ includeValues?: boolean;
13433
+ calculations?: Array<{
13434
+ propertyName: string;
13435
+ }>;
13436
+ }
13437
+ export interface ILoadFromJSONOptions {
13438
+ validatePropertyValues?: boolean;
13439
+ }
13440
+ }
13441
+ declare module "jsonobject" {
13442
+ import { Base } from "base";
13443
+ import { ILoadFromJSONOptions } from "base-interfaces";
13444
+ export interface IPropertyDecoratorOptions<T = any> {
13445
+ defaultValue?: T;
13446
+ defaultSource?: string;
13447
+ getDefaultValue?: (objectInstance?: any) => T;
13448
+ localizable?: {
13449
+ name?: string;
13450
+ onGetTextCallback?: (str: string) => string;
13451
+ defaultStr?: string;
13452
+ } | boolean;
13453
+ onSet?: (val: T, objectInstance: any) => void;
13454
+ }
13455
+ export function property(options?: IPropertyDecoratorOptions): (target: any, key: string) => void;
13456
+ export interface IArrayPropertyDecoratorOptions {
13457
+ onPush?: any;
13458
+ onRemove?: any;
13459
+ onSet?: (val: any, target: any) => void;
13460
+ }
13461
+ export function propertyArray(options?: IArrayPropertyDecoratorOptions): (target: any, key: string) => void;
13462
+ export interface IObject {
13463
+ [key: string]: any;
13464
+ }
13465
+ /**
13466
+ * Contains information about a property of a survey element (page, panel, questions, and etc).
13467
+ * @see addProperty
13468
+ * @see removeProperty
13469
+ * @see [Add Properties](https://surveyjs.io/Documentation/Survey-Creator#addproperties)
13470
+ * @see [Remove Properties](https://surveyjs.io/Documentation/Survey-Creator#removeproperties)
13471
+ */
13472
+ export class JsonObjectProperty implements IObject {
13473
+ name: string;
13474
+ static getItemValuesDefaultValue: (val: any, type: string) => any;
13475
+ [key: string]: any;
13476
+ private static Index;
13477
+ private static mergableValues;
13478
+ private idValue;
13479
+ private classInfoValue;
13480
+ private typeValue;
13481
+ private choicesValue;
13482
+ private baseValue;
13483
+ private isRequiredValue;
13484
+ private isUniqueValue;
13485
+ private uniquePropertyValue;
13486
+ private readOnlyValue;
13487
+ private visibleValue;
13488
+ private isLocalizableValue;
13489
+ private choicesfunc;
13490
+ private dependedProperties;
13491
+ isSerializable: boolean;
13492
+ isLightSerializable: boolean;
13493
+ isCustom: boolean;
13494
+ isDynamicChoices: boolean;
13495
+ isBindable: boolean;
13496
+ className: string;
13497
+ alternativeName: string;
13498
+ classNamePart: string;
13499
+ baseClassName: string;
13500
+ defaultValueValue: any;
13501
+ defaultValueFunc: (obj: Base) => any;
13502
+ serializationProperty: string;
13503
+ displayName: string;
13504
+ category: string;
13505
+ categoryIndex: number;
13506
+ visibleIndex: number;
13507
+ nextToProperty: string;
13508
+ overridingProperty: string;
13509
+ showMode: string;
13510
+ maxLength: number;
13511
+ maxValue: any;
13512
+ minValue: any;
13513
+ private dataListValue;
13514
+ layout: string;
13515
+ onSerializeValue: (obj: any) => any;
13516
+ onGetValue: (obj: any) => any;
13517
+ onSettingValue: (obj: any, value: any) => any;
13518
+ onSetValue: (obj: any, value: any, jsonConv: JsonObject) => any;
13519
+ visibleIf: (obj: any) => boolean;
13520
+ onExecuteExpression: (obj: any, res: any) => any;
13521
+ onPropertyEditorUpdate: (obj: any, propEditor: any) => any;
13522
+ constructor(classInfo: JsonMetadataClass, name: string, isRequired?: boolean);
13523
+ get id(): number;
13524
+ get classInfo(): JsonMetadataClass;
13525
+ get type(): string;
13526
+ set type(value: string);
13527
+ isArray: boolean;
13528
+ get isRequired(): boolean;
13529
+ set isRequired(val: boolean);
13530
+ get isUnique(): boolean;
13531
+ set isUnique(val: boolean);
13532
+ get uniquePropertyName(): string;
13533
+ set uniquePropertyName(val: string);
13534
+ get hasToUseGetValue(): string | ((obj: any) => any);
13535
+ getDefaultValue(obj: Base): any;
13536
+ get defaultValue(): any;
13537
+ set defaultValue(newValue: any);
13538
+ isDefaultValue(value: any): boolean;
13539
+ isDefaultValueByObj(obj: Base, value: any): boolean;
13540
+ getSerializableValue(obj: any): any;
13541
+ getValue(obj: any): any;
13542
+ getPropertyValue(obj: any): any;
13543
+ get hasToUseSetValue(): string | ((obj: any, value: any, jsonConv: JsonObject) => any);
13544
+ settingValue(obj: any, value: any): any;
13545
+ setValue(obj: any, value: any, jsonConv: JsonObject): void;
13546
+ validateValue(value: any): boolean;
13547
+ getObjType(objType: string): string;
13548
+ /**
13549
+ * Depricated, please use getChoices
13550
+ */
13551
+ get choices(): Array<any>;
13552
+ get hasChoices(): boolean;
13553
+ getChoices(obj: any, choicesCallback?: any): Array<any>;
13554
+ setChoices(value: Array<any>, valueFunc?: (obj: any) => Array<any>): void;
13555
+ getBaseValue(): string;
13556
+ setBaseValue(val: any): void;
13557
+ get readOnly(): boolean;
13558
+ set readOnly(val: boolean);
13559
+ isVisible(layout: string, obj?: any): boolean;
13560
+ get visible(): boolean;
13561
+ set visible(val: boolean);
13562
+ get isLocalizable(): boolean;
13563
+ set isLocalizable(val: boolean);
13564
+ get dataList(): Array<string>;
13565
+ set dataList(val: Array<string>);
13566
+ mergeWith(prop: JsonObjectProperty): void;
13567
+ addDependedProperty(name: string): void;
13568
+ getDependedProperties(): Array<string>;
13569
+ schemaType(): string;
13570
+ schemaRef(): string;
13571
+ private mergeValue;
13572
+ }
13573
+ export class CustomPropertiesCollection {
13574
+ private static properties;
13575
+ private static parentClasses;
13576
+ static addProperty(className: string, property: any): void;
13577
+ static removeProperty(className: string, propertyName: string): void;
13578
+ static removeAllProperties(className: string): void;
13579
+ static addClass(className: string, parentClassName: string): void;
13580
+ static getProperties(className: string): Array<any>;
13581
+ static createProperties(obj: any): void;
13582
+ private static createPropertiesCore;
13583
+ private static createPropertiesInObj;
13584
+ private static createPropertyInObj;
13585
+ private static checkIsPropertyExists;
13586
+ }
13587
+ export class JsonMetadataClass {
13588
+ name: string;
13589
+ creator: (json?: any) => any;
13590
+ parentName: string;
13591
+ static requiredSymbol: string;
13592
+ static typeSymbol: string;
13593
+ properties: Array<JsonObjectProperty>;
13594
+ private isCustomValue;
13595
+ private allProperties;
13596
+ private hashProperties;
13597
+ constructor(name: string, properties: Array<any>, creator?: (json?: any) => any, parentName?: string);
13598
+ find(name: string): JsonObjectProperty;
13599
+ findProperty(name: string): JsonObjectProperty;
13600
+ getAllProperties(): Array<JsonObjectProperty>;
13601
+ resetAllProperties(): void;
13602
+ get isCustom(): boolean;
13603
+ private fillAllProperties;
13604
+ private addPropCore;
13605
+ private isOverridedProp;
13606
+ private hasRegularChildClass;
13607
+ private makeParentRegularClass;
13608
+ createProperty(propInfo: any, isCustom?: boolean): JsonObjectProperty;
13609
+ private addDependsOnProperties;
13610
+ private addDependsOnProperty;
13611
+ private getIsPropertyNameRequired;
13612
+ private getPropertyName;
13613
+ }
13614
+ /**
13615
+ * The metadata object. It contains object properties' runtime information and allows you to modify it.
13616
+ */
13617
+ export class JsonMetadata {
13618
+ private classes;
13619
+ private alternativeNames;
13620
+ private childrenClasses;
13621
+ onSerializingProperty: ((obj: Base, prop: JsonObjectProperty, value: any, json: any) => boolean) | undefined;
13622
+ getObjPropertyValue(obj: any, name: string): any;
13623
+ setObjPropertyValue(obj: any, name: string, val: any): void;
13624
+ private getObjPropertyValueCore;
13625
+ private isObjWrapper;
13626
+ addClass(name: string, properties: Array<any>, creator?: (json?: any) => any, parentName?: string): JsonMetadataClass;
13627
+ removeClass(name: string): void;
13628
+ overrideClassCreatore(name: string, creator: () => any): void;
13629
+ overrideClassCreator(name: string, creator: () => any): void;
13630
+ getProperties(className: string): Array<JsonObjectProperty>;
13631
+ getPropertiesByObj(obj: any): Array<JsonObjectProperty>;
13632
+ getDynamicPropertiesByObj(obj: any, dynamicType?: string): Array<JsonObjectProperty>;
13633
+ hasOriginalProperty(obj: Base, propName: string): boolean;
13634
+ getOriginalProperty(obj: Base, propName: string): JsonObjectProperty;
13635
+ getProperty(className: string, propertyName: string): JsonObjectProperty;
13636
+ findProperty(className: string, propertyName: string): JsonObjectProperty;
13637
+ findProperties(className: string, propertyNames: Array<string>): Array<JsonObjectProperty>;
13638
+ getAllPropertiesByName(propertyName: string): Array<JsonObjectProperty>;
13639
+ getAllClasses(): Array<string>;
13640
+ createClass(name: string, json?: any): any;
13641
+ private createCustomType;
13642
+ getChildrenClasses(name: string, canBeCreated?: boolean): Array<JsonMetadataClass>;
13643
+ getRequiredProperties(name: string): Array<string>;
13644
+ addProperties(className: string, propertiesInfos: Array<any>): void;
13645
+ addProperty(className: string, propertyInfo: any): JsonObjectProperty;
13646
+ private addCustomPropertyCore;
13647
+ removeProperty(className: string, propertyName: string): boolean;
13648
+ private removePropertyFromClass;
13649
+ private fillChildrenClasses;
13650
+ findClass(name: string): JsonMetadataClass;
13651
+ isDescendantOf(className: string, ancestorClassName: string): boolean;
13652
+ addAlterNativeClassName(name: string, alternativeName: string): void;
13653
+ generateSchema(className?: string): any;
13654
+ private generateLocStrClass;
13655
+ private generateSchemaProperties;
13656
+ private generateSchemaProperty;
13657
+ private getChemeRefName;
13658
+ private generateChemaClass;
13659
+ private getChoicesValues;
13660
+ }
13661
+ export class JsonError {
13662
+ type: string;
13663
+ message: string;
13664
+ description: string;
13665
+ at: number;
13666
+ end: number;
13667
+ jsonObj: any;
13668
+ element: Base;
13669
+ constructor(type: string, message: string);
13670
+ getFullDescription(): string;
13671
+ }
13672
+ export class JsonUnknownPropertyError extends JsonError {
13673
+ propertyName: string;
13674
+ className: string;
13675
+ constructor(propertyName: string, className: string);
13547
13676
  }
13548
- export interface ITitleOwner {
13549
- name: string;
13550
- no: string;
13551
- requiredText: string;
13552
- isRequireTextOnStart: boolean;
13553
- isRequireTextBeforeTitle: boolean;
13554
- isRequireTextAfterTitle: boolean;
13555
- locTitle: LocalizableString;
13677
+ export class JsonMissingTypeErrorBase extends JsonError {
13678
+ baseClassName: string;
13679
+ type: string;
13680
+ message: string;
13681
+ constructor(baseClassName: string, type: string, message: string);
13556
13682
  }
13557
- export interface IProgressInfo {
13558
- questionCount: number;
13559
- answeredQuestionCount: number;
13560
- requiredQuestionCount: number;
13561
- requiredAnsweredQuestionCount: number;
13683
+ export class JsonMissingTypeError extends JsonMissingTypeErrorBase {
13684
+ propertyName: string;
13685
+ baseClassName: string;
13686
+ constructor(propertyName: string, baseClassName: string);
13562
13687
  }
13563
- export interface IWrapperObject {
13564
- getOriginalObj(): Base;
13565
- getClassNameProperty(): string;
13688
+ export class JsonIncorrectTypeError extends JsonMissingTypeErrorBase {
13689
+ propertyName: string;
13690
+ baseClassName: string;
13691
+ constructor(propertyName: string, baseClassName: string);
13566
13692
  }
13567
- export interface IFindElement {
13568
- element: Base;
13569
- str: LocalizableString;
13693
+ export class JsonRequiredPropertyError extends JsonError {
13694
+ propertyName: string;
13695
+ className: string;
13696
+ constructor(propertyName: string, className: string);
13570
13697
  }
13571
- export type ISurveyEnvironment = {
13572
- root: Document | ShadowRoot;
13573
- rootElement: HTMLElement | ShadowRoot;
13574
- popupMountContainer: HTMLElement | string;
13575
- svgMountContainer: HTMLElement | string;
13576
- stylesSheetsMountContainer: HTMLElement;
13577
- };
13578
- export type LayoutElementContainer = "header" | "footer" | "left" | "right" | "contentTop" | "contentBottom" | "center";
13579
- export type HorizontalAlignment = "left" | "center" | "right";
13580
- export type VerticalAlignment = "top" | "middle" | "bottom";
13581
- export interface ISurveyLayoutElement {
13582
- id: string;
13583
- container?: LayoutElementContainer | Array<LayoutElementContainer>;
13584
- component?: string;
13585
- template?: string;
13586
- data?: any;
13587
- index?: number;
13588
- processResponsiveness?: (width: number) => void;
13698
+ export class JsonRequiredArrayPropertyError extends JsonError {
13699
+ propertyName: string;
13700
+ className: string;
13701
+ constructor(propertyName: string, className: string);
13589
13702
  }
13590
- export interface IPlainDataOptions {
13591
- includeEmpty?: boolean;
13592
- includeQuestionTypes?: boolean;
13593
- includeValues?: boolean;
13594
- calculations?: Array<{
13595
- propertyName: string;
13596
- }>;
13703
+ export class JsonIncorrectPropertyValueError extends JsonError {
13704
+ property: JsonObjectProperty;
13705
+ value: any;
13706
+ constructor(property: JsonObjectProperty, value: any);
13707
+ }
13708
+ export class JsonObject {
13709
+ private static typePropertyName;
13710
+ private static positionPropertyName;
13711
+ private static metaDataValue;
13712
+ static get metaData(): JsonMetadata;
13713
+ errors: JsonError[];
13714
+ lightSerializing: boolean;
13715
+ options: ILoadFromJSONOptions;
13716
+ toJsonObject(obj: any, storeDefaults?: boolean): any;
13717
+ toObject(jsonObj: any, obj: any, options?: ILoadFromJSONOptions): void;
13718
+ toObjectCore(jsonObj: any, obj: any, options?: ILoadFromJSONOptions): void;
13719
+ toJsonObjectCore(obj: any, property: JsonObjectProperty, storeDefaults?: boolean): any;
13720
+ private getDynamicProperties;
13721
+ private addDynamicProperties;
13722
+ private propertiesToJson;
13723
+ valueToJson(obj: any, result: any, property: JsonObjectProperty, storeDefaults?: boolean): void;
13724
+ valueToObj(value: any, obj: any, property: JsonObjectProperty, jsonObj?: any, options?: ILoadFromJSONOptions): void;
13725
+ private removePos;
13726
+ private removePosFromObj;
13727
+ private isValueArray;
13728
+ private createNewObj;
13729
+ private getClassNameForNewObj;
13730
+ private checkNewObjectOnErrors;
13731
+ private getRequiredError;
13732
+ private addNewError;
13733
+ private valueToArray;
13734
+ private addValuesIntoArray;
13735
+ private findProperty;
13597
13736
  }
13598
- }
13599
- declare module "itemvalue" {
13600
- import { ILocalizableOwner, LocalizableString } from "localizablestring";
13601
- import { ConditionRunner } from "conditions";
13602
- import { IShortcutText, ISurvey } from "base-interfaces";
13603
- import { BaseAction } from "actions/action";
13604
13737
  /**
13605
- * Array of ItemValue is used in checkbox, dropdown and radiogroup choices, matrix columns and rows.
13606
- * It has two main properties: value and text. If text is empty, value is used for displaying.
13607
- * The text property is localizable and support markdown.
13738
+ * An alias for the metadata object. It contains object properties' runtime information and allows you to modify it.
13739
+ * @see JsonMetadata
13608
13740
  */
13609
- export class ItemValue extends BaseAction implements ILocalizableOwner, IShortcutText {
13610
- protected typeName: string;
13611
- [index: string]: any;
13612
- getMarkdownHtml(text: string, name: string): string;
13613
- getRenderer(name: string): string;
13614
- getRendererContext(locStr: LocalizableString): any;
13615
- getProcessedText(text: string): string;
13616
- static get Separator(): string;
13617
- static set Separator(val: string);
13618
- /**
13619
- * Resets the input array and fills it with values from the values array
13620
- */
13621
- static setData(items: Array<ItemValue>, values: Array<any>, type?: string): void;
13622
- static getData(items: Array<ItemValue>): any;
13623
- static getItemByValue(items: Array<ItemValue>, val: any): ItemValue;
13624
- static getTextOrHtmlByValue(items: Array<ItemValue>, val: any): string;
13625
- static locStrsChanged(items: Array<ItemValue>): void;
13626
- static runConditionsForItems(items: Array<ItemValue>, filteredItems: Array<ItemValue>, runner: ConditionRunner, values: any, properties: any, useItemExpression?: boolean, onItemCallBack?: (item: ItemValue, val: boolean) => boolean): boolean;
13627
- static runEnabledConditionsForItems(items: Array<ItemValue>, runner: ConditionRunner, values: any, properties: any, onItemCallBack?: (item: ItemValue, val: boolean) => boolean): boolean;
13628
- private static runConditionsForItemsCore;
13629
- ownerPropertyName: string;
13630
- private _visible;
13631
- private locTextValue;
13632
- private visibleConditionRunner;
13633
- private enableConditionRunner;
13634
- constructor(value: any, text?: string, typeName?: string);
13635
- onCreating(): any;
13636
- getType(): string;
13637
- getSurvey(live?: boolean): ISurvey;
13638
- getLocale(): string;
13639
- isGhost: boolean;
13640
- protected get isInternal(): boolean;
13641
- get locText(): LocalizableString;
13642
- setLocText(locText: LocalizableString): void;
13643
- private _locOwner;
13644
- get locOwner(): ILocalizableOwner;
13645
- set locOwner(value: ILocalizableOwner);
13646
- get value(): any;
13647
- set value(newValue: any);
13648
- get hasText(): boolean;
13649
- get pureText(): string;
13650
- set pureText(val: string);
13651
- get text(): string;
13652
- set text(newText: string);
13653
- get calculatedText(): string;
13654
- get shortcutText(): string;
13655
- private canSerializeValue;
13656
- getData(): any;
13657
- toJSON(): any;
13658
- setData(value: any): void;
13659
- get visibleIf(): string;
13660
- set visibleIf(val: string);
13661
- get enableIf(): string;
13662
- set enableIf(val: string);
13663
- get isVisible(): any;
13664
- setIsVisible(val: boolean): void;
13665
- get isEnabled(): any;
13666
- setIsEnabled(val: boolean): void;
13667
- addUsedLocales(locales: Array<string>): void;
13668
- locStrsChanged(): void;
13669
- protected onPropertyValueChanged(name: string, oldValue: any, newValue: any): void;
13670
- protected getConditionRunner(isVisible: boolean): ConditionRunner;
13671
- private getVisibleConditionRunner;
13672
- private getEnableConditionRunner;
13673
- originalItem: any;
13674
- selectedValue: boolean;
13675
- get selected(): boolean;
13676
- private componentValue;
13677
- getComponent(): string;
13678
- setComponent(val: string): void;
13679
- protected getEnabled(): boolean;
13680
- protected setEnabled(val: boolean): void;
13681
- protected getVisible(): boolean;
13682
- protected setVisible(val: boolean): void;
13683
- protected getLocTitle(): LocalizableString;
13684
- protected getTitle(): string;
13685
- protected setLocTitle(val: LocalizableString): void;
13686
- protected setTitle(val: string): void;
13687
- icon: string;
13688
- }
13741
+ export var Serializer: JsonMetadata;
13689
13742
  }
13690
13743
  declare module "base" {
13691
13744
  import { ILocalizableOwner, LocalizableString } from "localizablestring";
13692
13745
  import { HashTable } from "helpers";
13693
13746
  import { JsonObjectProperty } from "jsonobject";
13694
13747
  import { ItemValue } from "itemvalue";
13695
- import { IElement, IFindElement, IProgressInfo, ISurvey } from "base-interfaces";
13748
+ import { IElement, IFindElement, IProgressInfo, ISurvey, ILoadFromJSONOptions } from "base-interfaces";
13696
13749
  import { ExpressionRunner } from "conditions";
13697
13750
  export class Bindings {
13698
13751
  private obj;
@@ -13760,7 +13813,7 @@ declare module "base" {
13760
13813
  * Returns `true` if a passed `value` is an empty string, array, or object or if it equals to `undefined` or `null`.
13761
13814
  *
13762
13815
  * @param value A value to be checked.
13763
- * @param trimString (Optional) When this parameter is `true`, the method ignores whitespace characters at the beginning and end of a string value. Pass `false` to disable this functionality.
13816
+ * @param trimString *(Optional)* When this parameter is `true`, the method ignores whitespace characters at the beginning and end of a string value. Pass `false` to disable this functionality.
13764
13817
  */
13765
13818
  isValueEmpty(value: any, trimString?: boolean): boolean;
13766
13819
  protected trimValue(value: any): any;
@@ -13866,9 +13919,11 @@ declare module "base" {
13866
13919
  * The JSON object should contain only serializable properties of this SurveyJS object. Event handlers and properties that do not belong to the SurveyJS object are ignored.
13867
13920
  *
13868
13921
  * @param json A JSON object with properties that you want to apply to the current SurveyJS object.
13922
+ * @param options An object with configuration options.
13923
+ * @param {boolean} options.validatePropertyValues Pass `true` if you want to validate property values. Use the [`jsonErrors`](#jsonErrors) array to access validation errors.
13869
13924
  * @see toJSON
13870
13925
  */
13871
- fromJSON(json: any): void;
13926
+ fromJSON(json: any, options?: ILoadFromJSONOptions): void;
13872
13927
  onSurveyLoad(): void;
13873
13928
  /**
13874
13929
  * Creates a new object that has the same type and properties as the current SurveyJS object.
@@ -13892,7 +13947,7 @@ declare module "base" {
13892
13947
  * If the property is not found or does not have a value, this method returns either `undefined`, `defaultValue` specified in the property configuration, or a value passed as the `defaultValue` parameter.
13893
13948
  *
13894
13949
  * @param name A property name.
13895
- * @param defaultValue (Optional) A value to return if the property is not found or does not have a value.
13950
+ * @param defaultValue *(Optional)* A value to return if the property is not found or does not have a value.
13896
13951
  */
13897
13952
  getPropertyValue(name: string, defaultValue?: any): any;
13898
13953
  getDefaultPropertyValue(name: string): any;
@@ -13937,14 +13992,14 @@ declare module "base" {
13937
13992
  * Registers a function to call when a property value changes.
13938
13993
  * @param propertyNames An array of one or multiple property names.
13939
13994
  * @param handler A function to call when one of the listed properties change.
13940
- * @param key (Optional) A key that identifies the current registration. If a function for one of the properties is already registered with the same key, the function will be overwritten. You can also use the key to subsequently unregister handlers.
13995
+ * @param key *(Optional)* A key that identifies the current registration. If a function for one of the properties is already registered with the same key, the function will be overwritten. You can also use the key to subsequently unregister handlers.
13941
13996
  * @see unregisterPropertyChangedHandlers
13942
13997
  */
13943
13998
  registerPropertyChangedHandlers(propertyNames: Array<string>, handler: any, key?: string): void;
13944
13999
  /**
13945
14000
  * Unregisters value change event handlers for the specified properties.
13946
14001
  * @param propertyNames An array of one or multiple property names.
13947
- * @param key (Optional) A key of the registration that you want to cancel.
14002
+ * @param key *(Optional)* A key of the registration that you want to cancel.
13948
14003
  * @see registerPropertyChangedHandlers
13949
14004
  */
13950
14005
  unregisterPropertyChangedHandlers(propertyNames: Array<string>, key?: string): void;
@@ -14136,13 +14191,7 @@ declare module "settings" {
14136
14191
  showEmptyDescriptions: boolean;
14137
14192
  showEmptyTitles: boolean;
14138
14193
  };
14139
- /**
14140
- * This property is obsolete. Use the [`settings.designMode.showEmptyDescriptions`](https://surveyjs.io/form-library/documentation/api-reference/settings#designMode) property instead.
14141
- */
14142
14194
  allowShowEmptyDescriptionInDesignMode: boolean;
14143
- /**
14144
- * This property is obsolete. Use the [`settings.designMode.showEmptyTitles`](https://surveyjs.io/form-library/documentation/api-reference/settings#designMode) property instead.
14145
- */
14146
14195
  allowShowEmptyTitleInDesignMode: boolean;
14147
14196
  /**
14148
14197
  * An object that contains properties related to localization.
@@ -14163,17 +14212,8 @@ declare module "settings" {
14163
14212
  storeDuplicatedTranslations: boolean;
14164
14213
  defaultLocaleName: string;
14165
14214
  };
14166
- /**
14167
- * This property is obsolete. Use the [`settings.localization.useLocalTimeZone`](https://surveyjs.io/form-library/documentation/api-reference/settings#localization) property instead.
14168
- */
14169
14215
  useLocalTimeZone: boolean;
14170
- /**
14171
- * This property is obsolete. Use the [`settings.localization.storeDuplicatedTranslations`](https://surveyjs.io/form-library/documentation/api-reference/settings#localization) property instead.
14172
- */
14173
14216
  storeDuplicatedTranslations: boolean;
14174
- /**
14175
- * This property is obsolete. Use the [`settings.localization.defaultLocaleName`](https://surveyjs.io/form-library/documentation/api-reference/settings#localization) property instead.
14176
- */
14177
14217
  defaultLocaleName: string;
14178
14218
  /**
14179
14219
  * An object with properties that configure surveys when they work with a web service.
@@ -14184,36 +14224,38 @@ declare module "settings" {
14184
14224
  * Specifies whether to encode URL parameters when you access a web service. Default value: `true`.
14185
14225
  *
14186
14226
  * - `cacheLoadedChoices`: `boolean`\
14187
- * Specifies whether to cache [choices](https://surveyjs.io/form-library/documentation/api-reference/checkbox-question-model#choicesByUrl) loaded from a web service. Default value: `true`.
14227
+ * Specifies whether to cache [choices loaded from a web service](https://surveyjs.io/form-library/documentation/api-reference/questionselectbase#choicesByUrl). Default value: `true`.
14188
14228
  *
14189
14229
  * - `disableQuestionWhileLoadingChoices`: `boolean`\
14190
14230
  * Disables a question while its choices are being loaded from a web service. Default value: `false`.
14191
14231
  *
14192
14232
  * - `surveyServiceUrl`: `string`\
14193
14233
  * The URL of the SurveyJS Service API endpoint.
14234
+ *
14235
+ * - `onBeforeRequestChoices`: `(sender: ChoicesRestful, options: { request: XMLHttpRequest })`\
14236
+ * An event that is raised before a request for choices is send. Applies to questions with a specified [`choiceByUrl`](https://surveyjs.io/form-library/documentation/api-reference/questionselectbase#choicesByUrl) property. Use the `options.request` parameter to access and modify the `XMLHttpRequest` object. For instance, you can add authentication headers to it:
14237
+ *
14238
+ * ```js
14239
+ * import { settings } from "survey-core";
14240
+ *
14241
+ * settings.web.onBeforeSendRequest = (sender, options) => {
14242
+ * options.request.setRequestHeader('RequestVerificationToken', requestVerificationToken);
14243
+ * };
14244
+ * ```
14194
14245
  */
14195
14246
  web: {
14247
+ onBeforeRequestChoices: (sender: any, options: {
14248
+ request: XMLHttpRequest;
14249
+ }) => void;
14196
14250
  encodeUrlParams: boolean;
14197
14251
  cacheLoadedChoices: boolean;
14198
14252
  disableQuestionWhileLoadingChoices: boolean;
14199
14253
  surveyServiceUrl: string;
14200
14254
  };
14201
- /**
14202
- * This property is obsolete. Use the [`settings.web.encodeUrlParams`](https://surveyjs.io/form-library/documentation/api-reference/settings#web) property instead.
14203
- */
14204
14255
  webserviceEncodeParameters: boolean;
14205
- /**
14206
- * This property is obsolete. Use the [`settings.web.cacheLoadedChoices`](https://surveyjs.io/form-library/documentation/api-reference/settings#web) property instead.
14207
- */
14208
14256
  useCachingForChoicesRestful: boolean;
14209
14257
  useCachingForChoicesRestfull: boolean;
14210
- /**
14211
- * This property is obsolete. Use the [`settings.web.disableQuestionWhileLoadingChoices`](https://surveyjs.io/form-library/documentation/api-reference/settings#web) property instead.
14212
- */
14213
14258
  disableOnGettingChoicesFromWeb: boolean;
14214
- /**
14215
- * This property is obsolete. Use the [`settings.web.surveyServiceUrl`](https://surveyjs.io/form-library/documentation/api-reference/settings#web) property instead.
14216
- */
14217
14259
  surveyServiceUrl: string;
14218
14260
  /**
14219
14261
  * An object that contains properties related to [triggers](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#conditional-survey-logic-triggers).
@@ -14236,17 +14278,8 @@ declare module "settings" {
14236
14278
  executeCompleteOnValueChanged: boolean;
14237
14279
  executeSkipOnValueChanged: boolean;
14238
14280
  };
14239
- /**
14240
- * This property is obsolete. Use the [`settings.triggers.executeCompleteOnValueChanged`](https://surveyjs.io/form-library/documentation/api-reference/settings#triggers) property instead.
14241
- */
14242
14281
  executeCompleteTriggerOnValueChanged: boolean;
14243
- /**
14244
- * This property is obsolete. Use the [`settings.triggers.changeNavigationButtonsOnComplete`](https://surveyjs.io/form-library/documentation/api-reference/settings#triggers) property instead.
14245
- */
14246
14282
  changeNavigationButtonsOnCompleteTrigger: boolean;
14247
- /**
14248
- * This property is obsolete. Use the [`settings.triggers.executeSkipOnValueChanged`](https://surveyjs.io/form-library/documentation/api-reference/settings#triggers) property instead.
14249
- */
14250
14283
  executeSkipTriggerOnValueChanged: boolean;
14251
14284
  /**
14252
14285
  * An object that contains properties related to JSON serialization.
@@ -14281,17 +14314,8 @@ declare module "settings" {
14281
14314
  itemValueSerializeDisplayText: boolean;
14282
14315
  localizableStringSerializeAsObject: boolean;
14283
14316
  };
14284
- /**
14285
- * This property is obsolete. Use the [`settings.serialization.itemValueSerializeAsObject`](https://surveyjs.io/form-library/documentation/api-reference/settings#serialization) property instead.
14286
- */
14287
14317
  itemValueAlwaysSerializeAsObject: boolean;
14288
- /**
14289
- * This property is obsolete. Use the [`settings.serialization.itemValueSerializeDisplayText`](https://surveyjs.io/form-library/documentation/api-reference/settings#serialization) property instead.
14290
- */
14291
14318
  itemValueAlwaysSerializeText: boolean;
14292
- /**
14293
- * This property is obsolete. Use the [`settings.serialization.localizableStringSerializeAsObject`](https://surveyjs.io/form-library/documentation/api-reference/settings#serialization) property instead.
14294
- */
14295
14319
  serializeLocalizableStringAsObject: boolean;
14296
14320
  /**
14297
14321
  * An object that configures lazy rendering.
@@ -14307,9 +14331,6 @@ declare module "settings" {
14307
14331
  enabled: boolean;
14308
14332
  firstBatchSize: number;
14309
14333
  };
14310
- /**
14311
- * This property is obsolete. Use the [`settings.lazyRender.enabled`](https://surveyjs.io/form-library/documentation/api-reference/settings#lazyRender) property instead.
14312
- */
14313
14334
  lazyRowsRendering: boolean;
14314
14335
  lazyRowsRenderingStartRow: number;
14315
14336
  /**
@@ -14360,29 +14381,11 @@ declare module "settings" {
14360
14381
  };
14361
14382
  rateSize: "small" | "normal";
14362
14383
  };
14363
- /**
14364
- * This property is obsolete. Use the [`settings.matrix.defaultRowName`](https://surveyjs.io/form-library/documentation/api-reference/settings#matrix) property instead.
14365
- */
14366
14384
  matrixDefaultRowName: string;
14367
- /**
14368
- * This property is obsolete. Use the [`settings.matrix.defaultCellType`](https://surveyjs.io/form-library/documentation/api-reference/settings#matrix) property instead.
14369
- */
14370
14385
  matrixDefaultCellType: string;
14371
- /**
14372
- * This property is obsolete. Use the [`settings.matrix.totalsSuffix`](https://surveyjs.io/form-library/documentation/api-reference/settings#matrix) property instead.
14373
- */
14374
14386
  matrixTotalValuePostFix: string;
14375
- /**
14376
- * This property is obsolete. Use the [`settings.matrix.maxRowCount`](https://surveyjs.io/form-library/documentation/api-reference/settings#matrix) property instead.
14377
- */
14378
14387
  matrixMaximumRowCount: number;
14379
- /**
14380
- * This property is obsolete. Use the [`settings.matrix.maxRowCountInCondition`](https://surveyjs.io/form-library/documentation/api-reference/settings#matrix) property instead.
14381
- */
14382
14388
  matrixMaxRowCountInCondition: number;
14383
- /**
14384
- * This property is obsolete. Use the [`settings.matrix.renderRemoveAsIcon`](https://surveyjs.io/form-library/documentation/api-reference/settings#matrix) property instead.
14385
- */
14386
14389
  matrixRenderRemoveAsIcon: boolean;
14387
14390
  /**
14388
14391
  * An object with properties that apply to [Dynamic Panel](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model) questions.
@@ -14401,13 +14404,7 @@ declare module "settings" {
14401
14404
  maxPanelCount: number;
14402
14405
  maxPanelCountInCondition: number;
14403
14406
  };
14404
- /**
14405
- * This property is obsolete. Use the [`settings.panel.maxPanelCountInCondition`](https://surveyjs.io/form-library/documentation/api-reference/settings#panel) property instead.
14406
- */
14407
14407
  panelDynamicMaxPanelCountInCondition: number;
14408
- /**
14409
- * This property is obsolete. Use the [`settings.panel.maxPanelCount`](https://surveyjs.io/form-library/documentation/api-reference/settings#panel) property instead.
14410
- */
14411
14408
  panelMaximumPanelCount: number;
14412
14409
  /**
14413
14410
  * An object with properties that configure questions in read-only mode.
@@ -14425,13 +14422,7 @@ declare module "settings" {
14425
14422
  commentRenderMode: string;
14426
14423
  textRenderMode: string;
14427
14424
  };
14428
- /**
14429
- * This property is obsolete. Use the [`settings.readOnly.commentRenderMode`](https://surveyjs.io/form-library/documentation/api-reference/settings#readOnly) property instead.
14430
- */
14431
14425
  readOnlyCommentRenderMode: string;
14432
- /**
14433
- * This property is obsolete. Use the [`settings.readOnly.textRenderMode`](https://surveyjs.io/form-library/documentation/api-reference/settings#readOnly) property instead.
14434
- */
14435
14426
  readOnlyTextRenderMode: string;
14436
14427
  /**
14437
14428
  * An object with properties that configure question numbering.
@@ -14448,13 +14439,7 @@ declare module "settings" {
14448
14439
  includeQuestionsWithHiddenNumber: boolean;
14449
14440
  includeQuestionsWithHiddenTitle: boolean;
14450
14441
  };
14451
- /**
14452
- * This property is obsolete. Use the [`settings.numbering.includeQuestionsWithHiddenTitle`](https://surveyjs.io/form-library/documentation/api-reference/settings#numbering) property instead.
14453
- */
14454
14442
  setQuestionVisibleIndexForHiddenTitle: boolean;
14455
- /**
14456
- * This property is obsolete. Use the [`settings.numbering.includeQuestionsWithHiddenNumber`](https://surveyjs.io/form-library/documentation/api-reference/settings#numbering) property instead.
14457
- */
14458
14443
  setQuestionVisibleIndexForHiddenNumber: boolean;
14459
14444
  /**
14460
14445
  * Specifies an action to perform when users press the Enter key within a survey.
@@ -15244,6 +15229,7 @@ declare module "question_checkbox" {
15244
15229
  * @see clearValue
15245
15230
  */
15246
15231
  selectAll(): void;
15232
+ clickItemHandler(item: ItemValue, checked?: boolean): void;
15247
15233
  protected isItemSelectedCore(item: ItemValue): boolean;
15248
15234
  private getRealValue;
15249
15235
  get isValueArray(): boolean;
@@ -15402,7 +15388,6 @@ declare module "question_tagbox" {
15402
15388
  private itemDisplayNameMap;
15403
15389
  constructor(name: string);
15404
15390
  locStrsChanged(): void;
15405
- readOnlyText: string;
15406
15391
  private updateReadOnlyText;
15407
15392
  protected getDefaultItemComponent(): string;
15408
15393
  onSurveyLoad(): void;
@@ -15443,6 +15428,9 @@ declare module "question_tagbox" {
15443
15428
  get clearCaption(): string;
15444
15429
  set clearCaption(value: string);
15445
15430
  get locClearCaption(): LocalizableString;
15431
+ get readOnlyText(): string;
15432
+ set readOnlyText(val: string);
15433
+ get locReadOnlyText(): LocalizableString;
15446
15434
  getType(): string;
15447
15435
  get ariaRole(): string;
15448
15436
  get popupModel(): PopupModel;
@@ -15567,10 +15555,8 @@ declare module "question_imagepicker" {
15567
15555
  *
15568
15556
  * Possible values:
15569
15557
  *
15570
- * - `"image"` - Images in one of the following formats: JPEG, GIF, PNG, APNG, SVG, BMP, ICO.
15558
+ * - `"image"` (default) - Images in one of the following formats: JPEG, GIF, PNG, APNG, SVG, BMP, ICO.
15571
15559
  * - `"video"` - Videos in one of the following formats: MP4, MOV, WMV, FLV, AVI, MKV.
15572
- * - `"youtube"` - Links to YouTube videos.
15573
- * - `"auto"` (default) - Selects one of the above based on the `imageLink` property value of each choice item.
15574
15560
  */
15575
15561
  get contentMode(): string;
15576
15562
  set contentMode(val: string);
@@ -16027,18 +16013,20 @@ declare module "question_rating" {
16027
16013
  protected getPlainDataCalculatedValue(propName: string): any;
16028
16014
  /**
16029
16015
  * Specifies a description for the minimum (first) rate value.
16016
+ * @see rateDescriptionLocation
16017
+ * @see displayRateDescriptionsAsExtremeItems
16030
16018
  * @see rateValues
16031
16019
  * @see rateMin
16032
- * @see displayRateDescriptionsAsExtremeItems
16033
16020
  */
16034
16021
  get minRateDescription(): string;
16035
16022
  set minRateDescription(val: string);
16036
16023
  get locMinRateDescription(): LocalizableString;
16037
16024
  /**
16038
16025
  * Specifies a description for the maximum (last) rate value.
16026
+ * @see rateDescriptionLocation
16027
+ * @see displayRateDescriptionsAsExtremeItems
16039
16028
  * @see rateValues
16040
16029
  * @see rateMax
16041
- * @see displayRateDescriptionsAsExtremeItems
16042
16030
  */
16043
16031
  get maxRateDescription(): string;
16044
16032
  set maxRateDescription(val: string);
@@ -16048,15 +16036,14 @@ declare module "question_rating" {
16048
16036
  get hasMinLabel(): boolean;
16049
16037
  get hasMaxLabel(): boolean;
16050
16038
  /**
16051
- * Specifies whether to display `minRateDescription` and `maxRateDescription` values as captions for buttons that correspond to the extreme (first and last) rate values.
16039
+ * Specifies whether to display [`minRateDescription`](https://surveyjs.io/form-library/documentation/api-reference/rating-scale-question-model#minRateDescription) and [`maxRateDescription`](https://surveyjs.io/form-library/documentation/api-reference/rating-scale-question-model#maxRateDescription) values as captions for buttons that correspond to the extreme (first and last) rate values.
16052
16040
  *
16053
16041
  * Default value: `false`
16054
16042
  *
16055
16043
  * If this property is disabled, the `minRateDescription` and `maxRateDescription` values are displayed as plain non-clickable texts.
16056
16044
  *
16057
16045
  * If any of the `minRateDescription` and `maxRateDescription` properties is empty, the corresponding rate value's `value` or `text` is displayed as a button caption.
16058
- * @see minRateDescription
16059
- * @see maxRateDescription
16046
+ * @see rateDescriptionLocation
16060
16047
  * @see rateMin
16061
16048
  * @see rateMax
16062
16049
  * @see rateValues
@@ -16075,6 +16062,18 @@ declare module "question_rating" {
16075
16062
  * @see rateType
16076
16063
  */
16077
16064
  displayMode: "dropdown" | "buttons" | "auto";
16065
+ /**
16066
+ * Specifies the alignment of [`minRateDescription`](https://surveyjs.io/form-library/documentation/api-reference/rating-scale-question-model#minRateDescription) and [`maxRateDescription`](https://surveyjs.io/form-library/documentation/api-reference/rating-scale-question-model#maxRateDescription) texts.
16067
+ *
16068
+ * Possible values:
16069
+ *
16070
+ * - `"leftRight"` (default) - Aligns `minRateDescription` to the left of rate values and `maxRateDescription` to their right.
16071
+ * - `"top"` - Displays the descriptions above the minimum and maximum rate values.
16072
+ * - `"bottom"` - Displays both descriptions below the minimum and maximum rate values.
16073
+ * - `"topBottom"` - Displays `minRateDescription` above the minimum rate value and `maxRateDescription` below the maximum rate value.
16074
+ * @see displayRateDescriptionsAsExtremeItems
16075
+ */
16076
+ rateDescriptionLocation: "leftRight" | "top" | "bottom" | "topBottom";
16078
16077
  /**
16079
16078
  * Specifies the visual representation of rate values.
16080
16079
  *
@@ -16632,7 +16631,7 @@ declare module "entries/chunks/model" {
16632
16631
  export { AnswerCountValidator, EmailValidator, NumericValidator, RegexValidator, SurveyValidator, TextValidator, ValidatorResult, ExpressionValidator, ValidatorRunner } from "validator";
16633
16632
  export { ItemValue } from "itemvalue";
16634
16633
  export { Base, Event, EventBase, ArrayChanges, ComputedUpdater } from "base";
16635
- export { ISurvey, ISurveyElement, IElement, IQuestion, IPage, IPanel, ISurveyData, ITitleOwner, ISurveyLayoutElement, IPlainDataOptions as IPlainData, IShortcutText } from "base-interfaces";
16634
+ export { ISurvey, ISurveyElement, IElement, IQuestion, IPage, IPanel, ISurveyData, ITitleOwner, ISurveyLayoutElement, IPlainDataOptions as IPlainData, IShortcutText, ILoadFromJSONOptions } from "base-interfaces";
16636
16635
  export { SurveyError } from "survey-error";
16637
16636
  export { SurveyElementCore, SurveyElement, DragTypeOverMeEnum } from "survey-element";
16638
16637
  export { CalculatedValue } from "calculatedValue";
@@ -24431,7 +24430,6 @@ declare module "react/reactquestion_checkbox" {
24431
24430
  private get hideCaption();
24432
24431
  shouldComponentUpdate(nextProps: any, nextState: any): boolean;
24433
24432
  handleOnChange: (event: any) => void;
24434
- selectAllChanged: (event: any) => void;
24435
24433
  protected canRender(): boolean;
24436
24434
  protected renderElement(): JSX.Element;
24437
24435
  protected get inputStyle(): any;
@@ -24561,6 +24559,7 @@ declare module "react/dropdown-base" {
24561
24559
  protected getStateElement(): any;
24562
24560
  protected setValueCore(newValue: any): void;
24563
24561
  protected getValueCore(): any;
24562
+ protected renderReadOnlyElement(): JSX.Element | null;
24564
24563
  protected renderSelect(cssClasses: any): JSX.Element;
24565
24564
  renderValueElement(dropdownListModel: DropdownListModel): JSX.Element | null;
24566
24565
  protected renderInput(dropdownListModel: DropdownListModel): JSX.Element;
@@ -24599,6 +24598,7 @@ declare module "react/reactquestion_tagbox" {
24599
24598
  protected renderItem(key: string, item: any): JSX.Element;
24600
24599
  protected renderInput(dropdownListModel: DropdownListModel): JSX.Element;
24601
24600
  protected renderElement(): JSX.Element;
24601
+ protected renderReadOnlyElement(): JSX.Element | null;
24602
24602
  }
24603
24603
  }
24604
24604
  declare module "react/dropdown-select" {