survey-react 1.9.122 → 1.9.124

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;
@@ -4043,7 +3750,7 @@ declare module "choicesRestful" {
4043
3750
  * }
4044
3751
  * ```
4045
3752
  *
4046
- * 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.
4047
3754
  */
4048
3755
  export class ChoicesRestful extends Base {
4049
3756
  private static cacheText;
@@ -4055,9 +3762,12 @@ declare module "choicesRestful" {
4055
3762
  private static sendingSameRequests;
4056
3763
  private static addSameRequest;
4057
3764
  private static unregisterSameRequests;
4058
- static onBeforeSendRequest: (sender: ChoicesRestful, options: {
3765
+ static get onBeforeSendRequest(): (sender: ChoicesRestful, options: {
4059
3766
  request: XMLHttpRequest;
4060
3767
  }) => void;
3768
+ static set onBeforeSendRequest(val: (sender: ChoicesRestful, options: {
3769
+ request: XMLHttpRequest;
3770
+ }) => void);
4061
3771
  private static getCachedItemsResult;
4062
3772
  private lastObjHash;
4063
3773
  private isRunningValue;
@@ -4155,6 +3865,11 @@ declare module "choicesRestful" {
4155
3865
  */
4156
3866
  get imageLinkName(): string;
4157
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
+ */
4158
3873
  get allowEmptyResponse(): boolean;
4159
3874
  set allowEmptyResponse(val: boolean);
4160
3875
  get attachOriginalItems(): boolean;
@@ -4231,6 +3946,8 @@ declare module "question_baseselect" {
4231
3946
  get isUsingCarryForward(): boolean;
4232
3947
  get carryForwardQuestionType(): string;
4233
3948
  private setCarryForwardQuestionType;
3949
+ get isUsingRestful(): boolean;
3950
+ updateIsUsingRestful(): void;
4234
3951
  supportGoNextPageError(): boolean;
4235
3952
  isLayoutTypeSupported(layoutType: string): boolean;
4236
3953
  localeChanged(): void;
@@ -4339,7 +4056,9 @@ declare module "question_baseselect" {
4339
4056
  updateCommentFromSurvey(newValue: any): any;
4340
4057
  get renderedValue(): any;
4341
4058
  set renderedValue(val: any);
4059
+ private makeCommentEmpty;
4342
4060
  protected setQuestionValue(newValue: any, updateIsAnswered?: boolean, updateComment?: boolean): void;
4061
+ protected setValueCore(newValue: any): void;
4343
4062
  protected setNewValue(newValue: any): void;
4344
4063
  protected valueFromData(val: any): any;
4345
4064
  protected rendredValueFromData(val: any): any;
@@ -4357,9 +4076,9 @@ declare module "question_baseselect" {
4357
4076
  */
4358
4077
  clearIncorrectValuesCallback: () => void;
4359
4078
  /**
4360
- * 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.
4079
+ * 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.
4361
4080
  *
4362
- * [View Demo](https://surveyjs.io/form-library/examples/questiontype-dropdownrestfull/ (linkStyle))
4081
+ * [View Demo](https://surveyjs.io/form-library/examples/dropdown-menu-load-data-from-restful-service/ (linkStyle))
4363
4082
  * @see choices
4364
4083
  * @see [settings.specialChoicesOrder](https://surveyjs.io/form-library/documentation/api-reference/settings#specialChoicesOrder)
4365
4084
  */
@@ -4577,6 +4296,7 @@ declare module "question_baseselect" {
4577
4296
  private sortVisibleChoices;
4578
4297
  private sortArray;
4579
4298
  private randomizeArray;
4299
+ private get hasChoicesUrl();
4580
4300
  clearIncorrectValues(): void;
4581
4301
  protected hasValueToClearIncorrectValues(): boolean;
4582
4302
  protected clearValueIfInvisibleCore(reason: string): void;
@@ -4626,7 +4346,7 @@ declare module "question_baseselect" {
4626
4346
  getAriaItemLabel(item: ItemValue): string;
4627
4347
  getItemId(item: ItemValue): string;
4628
4348
  get questionName(): string;
4629
- getItemEnabled(item: ItemValue): any;
4349
+ getItemEnabled(item: ItemValue): boolean;
4630
4350
  protected rootElement: HTMLElement;
4631
4351
  afterRender(el: HTMLElement): void;
4632
4352
  beforeDestroyQuestionElement(el: HTMLElement): void;
@@ -4786,6 +4506,9 @@ declare module "validator" {
4786
4506
  */
4787
4507
  get regex(): string;
4788
4508
  set regex(val: string);
4509
+ get insensitive(): boolean;
4510
+ set insensitive(val: boolean);
4511
+ private createRegExp;
4789
4512
  }
4790
4513
  /**
4791
4514
  * Validate e-mail address in the text input
@@ -5092,6 +4815,11 @@ declare module "dragdrop/engine" {
5092
4815
  }
5093
4816
  declare module "utils/devices" {
5094
4817
  export const IsMobile: boolean;
4818
+ export var mouseInfo: {
4819
+ readonly isTouch: boolean;
4820
+ readonly hasTouchEvent: boolean;
4821
+ hasMouse: boolean;
4822
+ };
5095
4823
  export let IsTouch: boolean;
5096
4824
  export function _setIsTouch(val: boolean): void;
5097
4825
  }
@@ -5238,7 +4966,6 @@ declare module "question_matrixdropdownrendered" {
5238
4966
  choiceIndex: number;
5239
4967
  isOtherChoice: boolean;
5240
4968
  matrix: QuestionMatrixDropdownModelBase;
5241
- requiredText: string;
5242
4969
  isEmpty: boolean;
5243
4970
  colSpans: number;
5244
4971
  panel: PanelModel;
@@ -5249,6 +4976,7 @@ declare module "question_matrixdropdownrendered" {
5249
4976
  isDetailRowCell: boolean;
5250
4977
  private classNameValue;
5251
4978
  constructor();
4979
+ get requiredText(): string;
5252
4980
  get hasQuestion(): boolean;
5253
4981
  get hasTitle(): boolean;
5254
4982
  get hasPanel(): boolean;
@@ -5317,7 +5045,7 @@ declare module "question_matrixdropdownrendered" {
5317
5045
  isRequireReset(): boolean;
5318
5046
  get headerRow(): QuestionMatrixDropdownRenderedRow;
5319
5047
  get footerRow(): QuestionMatrixDropdownRenderedRow;
5320
- get allowRowsDragAndDrop(): boolean;
5048
+ get isRowsDragAndDrop(): boolean;
5321
5049
  private get showCellErrorsTop();
5322
5050
  private get showCellErrorsBottom();
5323
5051
  protected build(): void;
@@ -5366,8 +5094,6 @@ declare module "question_matrixdropdownrendered" {
5366
5094
  private createHeaderCell;
5367
5095
  private setHeaderCell;
5368
5096
  private setHeaderCellWidth;
5369
- private setRequriedToHeaderCell;
5370
- private createRemoveRowCell;
5371
5097
  private createTextCell;
5372
5098
  private createEmptyCell;
5373
5099
  }
@@ -5483,6 +5209,7 @@ declare module "question_matrixdynamic" {
5483
5209
  */
5484
5210
  get allowRowsDragAndDrop(): boolean;
5485
5211
  set allowRowsDragAndDrop(val: boolean);
5212
+ get isRowsDragAndDrop(): boolean;
5486
5213
  get iconDragElement(): string;
5487
5214
  protected createRenderedTable(): QuestionMatrixDropdownRenderedTable;
5488
5215
  private get rowCountValue();
@@ -6207,11 +5934,25 @@ declare module "question_paneldynamic" {
6207
5934
  * Specifies whether users are allowed to add new panels.
6208
5935
  *
6209
5936
  * Default value: `true`
5937
+ *
5938
+ * 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"`.
6210
5939
  * @see canAddPanel
6211
5940
  * @see allowRemovePanel
6212
5941
  */
6213
5942
  get allowAddPanel(): boolean;
6214
5943
  set allowAddPanel(val: boolean);
5944
+ /**
5945
+ * Specifies the position of newly added panels.
5946
+ *
5947
+ * Possible values:
5948
+ *
5949
+ * - `"last"` (default) - New panels are added to the end.
5950
+ * - `"next"` - New panels are inserted after the current panel.
5951
+ * @see allowAddPanel
5952
+ * @see addPanel
5953
+ */
5954
+ get newPanelPosition(): string;
5955
+ set newPanelPosition(val: string);
6215
5956
  /**
6216
5957
  * Specifies whether users are allowed to delete panels.
6217
5958
  *
@@ -6354,6 +6095,8 @@ declare module "question_paneldynamic" {
6354
6095
  * @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.
6355
6096
  * @see panelCount
6356
6097
  * @see panels
6098
+ * @see allowAddPanel
6099
+ * @see newPanelPosition
6357
6100
  */
6358
6101
  addPanel(index?: number): PanelModel;
6359
6102
  private updateValueOnAddingPanel;
@@ -6369,6 +6112,7 @@ declare module "question_paneldynamic" {
6369
6112
  *
6370
6113
  */
6371
6114
  removePanelUI(value: any): void;
6115
+ isRequireConfirmOnDelete(val: any): boolean;
6372
6116
  /**
6373
6117
  * 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.
6374
6118
  * @see renderMode
@@ -8560,7 +8304,7 @@ declare module "surveyTaskManager" {
8560
8304
  declare module "survey" {
8561
8305
  import { JsonError } from "jsonobject";
8562
8306
  import { Base, EventBase } from "base";
8563
- import { ISurvey, ISurveyData, ISurveyImpl, ITextProcessor, IQuestion, IPanel, IElement, IPage, ISurveyErrorOwner, ISurveyElement, IProgressInfo, IFindElement, ISurveyLayoutElement, IPlainDataOptions, LayoutElementContainer, IValueItemCustomPropValues } from "base-interfaces";
8307
+ import { ISurvey, ISurveyData, ISurveyImpl, ITextProcessor, IQuestion, IPanel, IElement, IPage, ISurveyErrorOwner, ISurveyElement, IProgressInfo, IFindElement, ISurveyLayoutElement, IPlainDataOptions, LayoutElementContainer, IValueItemCustomPropValues, ILoadFromJSONOptions } from "base-interfaces";
8564
8308
  import { SurveyElementCore } from "survey-element";
8565
8309
  import { ISurveyTriggerOwner, SurveyTrigger, Trigger } from "trigger";
8566
8310
  import { CalculatedValue } from "calculatedValue";
@@ -9435,15 +9179,24 @@ declare module "survey" {
9435
9179
  * - `"none"` - Hides the navigation buttons. This setting may be useful if you [implement custom external navigation](https://surveyjs.io/form-library/examples/external-form-navigation-system/).
9436
9180
  * @see goNextPageAutomatic
9437
9181
  * @see showPrevButton
9182
+ * @see showCompleteButton
9438
9183
  */
9439
9184
  get showNavigationButtons(): string | any;
9440
9185
  set showNavigationButtons(val: string | any);
9441
9186
  /**
9442
9187
  * Specifies whether to display the Previous button. Set this property to `false` if respondents should not move backward along the survey.
9443
9188
  * @see showNavigationButtons
9189
+ * @see showCompleteButton
9444
9190
  */
9445
9191
  get showPrevButton(): boolean;
9446
9192
  set showPrevButton(val: boolean);
9193
+ /**
9194
+ * Specifies whether to display the Complete button. Set this property to `false` if respondents should not complete the survey.
9195
+ * @see showNavigationButtons
9196
+ * @see showPrevButton
9197
+ */
9198
+ get showCompleteButton(): boolean;
9199
+ set showCompleteButton(val: boolean);
9447
9200
  /**
9448
9201
  * Gets or sets the visibility of the table of contents.
9449
9202
  *
@@ -10932,7 +10685,7 @@ declare module "survey" {
10932
10685
  private resetVisibleIndexes;
10933
10686
  private updateVisibleIndexes;
10934
10687
  private updatePageVisibleIndexes;
10935
- fromJSON(json: any): void;
10688
+ fromJSON(json: any, options?: ILoadFromJSONOptions): void;
10936
10689
  setJsonObject(jsonObj: any): void;
10937
10690
  private isEndLoadingFromJson;
10938
10691
  endLoadingFromJson(): void;
@@ -11045,6 +10798,7 @@ declare module "survey" {
11045
10798
  panelVisibilityChanged(panel: PanelModel, newValue: boolean): void;
11046
10799
  questionCreated(question: Question): any;
11047
10800
  questionAdded(question: Question, index: number, parentPanel: any, rootPanel: any): void;
10801
+ private canFireAddElement;
11048
10802
  questionRemoved(question: Question): void;
11049
10803
  questionRenamed(question: IQuestion, oldName: string, oldValueName: string): any;
11050
10804
  private questionHashes;
@@ -11539,7 +11293,8 @@ declare module "survey-element" {
11539
11293
  set readOnly(val: boolean);
11540
11294
  protected onReadOnlyChanged(): void;
11541
11295
  private get css();
11542
- cssClassesValue: any;
11296
+ get cssClassesValue(): any;
11297
+ set cssClassesValue(val: any);
11543
11298
  private ensureCssClassesValue;
11544
11299
  /**
11545
11300
  * Returns an object in which keys are UI elements and values are CSS classes applied to them.
@@ -12590,6 +12345,7 @@ declare module "question" {
12590
12345
  protected isMouseDown: boolean;
12591
12346
  onMouseDown(): void;
12592
12347
  protected setNewComment(newValue: string): void;
12348
+ protected setCommentIntoData(newValue: string): void;
12593
12349
  protected getValidName(name: string): string;
12594
12350
  updateValueFromSurvey(newValue: any, clearData?: boolean): void;
12595
12351
  private updateValueFromSurveyCore;
@@ -12668,6 +12424,97 @@ declare module "question" {
12668
12424
  get a11y_input_ariaDescribedBy(): string;
12669
12425
  }
12670
12426
  }
12427
+ declare module "itemvalue" {
12428
+ import { ILocalizableOwner, LocalizableString } from "localizablestring";
12429
+ import { ConditionRunner } from "conditions";
12430
+ import { IShortcutText, ISurvey } from "base-interfaces";
12431
+ import { BaseAction } from "actions/action";
12432
+ /**
12433
+ * Array of ItemValue is used in checkbox, dropdown and radiogroup choices, matrix columns and rows.
12434
+ * It has two main properties: value and text. If text is empty, value is used for displaying.
12435
+ * The text property is localizable and support markdown.
12436
+ */
12437
+ export class ItemValue extends BaseAction implements ILocalizableOwner, IShortcutText {
12438
+ protected typeName: string;
12439
+ [index: string]: any;
12440
+ getMarkdownHtml(text: string, name: string): string;
12441
+ getRenderer(name: string): string;
12442
+ getRendererContext(locStr: LocalizableString): any;
12443
+ getProcessedText(text: string): string;
12444
+ static get Separator(): string;
12445
+ static set Separator(val: string);
12446
+ /**
12447
+ * Resets the input array and fills it with values from the values array
12448
+ */
12449
+ static setData(items: Array<ItemValue>, values: Array<any>, type?: string): void;
12450
+ static getData(items: Array<ItemValue>): any;
12451
+ static getItemByValue(items: Array<ItemValue>, val: any): ItemValue;
12452
+ static getTextOrHtmlByValue(items: Array<ItemValue>, val: any): string;
12453
+ static locStrsChanged(items: Array<ItemValue>): void;
12454
+ static runConditionsForItems(items: Array<ItemValue>, filteredItems: Array<ItemValue>, runner: ConditionRunner, values: any, properties: any, useItemExpression?: boolean, onItemCallBack?: (item: ItemValue, val: boolean) => boolean): boolean;
12455
+ static runEnabledConditionsForItems(items: Array<ItemValue>, runner: ConditionRunner, values: any, properties: any, onItemCallBack?: (item: ItemValue, val: boolean) => boolean): boolean;
12456
+ private static runConditionsForItemsCore;
12457
+ ownerPropertyName: string;
12458
+ private _visible;
12459
+ private locTextValue;
12460
+ private visibleConditionRunner;
12461
+ private enableConditionRunner;
12462
+ constructor(value: any, text?: string, typeName?: string);
12463
+ onCreating(): any;
12464
+ getType(): string;
12465
+ getSurvey(live?: boolean): ISurvey;
12466
+ getLocale(): string;
12467
+ isGhost: boolean;
12468
+ protected get isInternal(): boolean;
12469
+ get locText(): LocalizableString;
12470
+ setLocText(locText: LocalizableString): void;
12471
+ private _locOwner;
12472
+ get locOwner(): ILocalizableOwner;
12473
+ set locOwner(value: ILocalizableOwner);
12474
+ get value(): any;
12475
+ set value(newValue: any);
12476
+ get hasText(): boolean;
12477
+ get pureText(): string;
12478
+ set pureText(val: string);
12479
+ get text(): string;
12480
+ set text(newText: string);
12481
+ get calculatedText(): string;
12482
+ get shortcutText(): string;
12483
+ private canSerializeValue;
12484
+ getData(): any;
12485
+ toJSON(): any;
12486
+ setData(value: any): void;
12487
+ get visibleIf(): string;
12488
+ set visibleIf(val: string);
12489
+ get enableIf(): string;
12490
+ set enableIf(val: string);
12491
+ get isVisible(): boolean;
12492
+ setIsVisible(val: boolean): void;
12493
+ get isEnabled(): boolean;
12494
+ setIsEnabled(val: boolean): void;
12495
+ addUsedLocales(locales: Array<string>): void;
12496
+ locStrsChanged(): void;
12497
+ protected onPropertyValueChanged(name: string, oldValue: any, newValue: any): void;
12498
+ protected getConditionRunner(isVisible: boolean): ConditionRunner;
12499
+ private getVisibleConditionRunner;
12500
+ private getEnableConditionRunner;
12501
+ originalItem: any;
12502
+ selectedValue: boolean;
12503
+ get selected(): boolean;
12504
+ private componentValue;
12505
+ getComponent(): string;
12506
+ setComponent(val: string): void;
12507
+ protected getEnabled(): boolean;
12508
+ protected setEnabled(val: boolean): void;
12509
+ protected getVisible(): boolean;
12510
+ protected setVisible(val: boolean): void;
12511
+ protected getLocTitle(): LocalizableString;
12512
+ protected getTitle(): string;
12513
+ protected setLocTitle(val: LocalizableString): void;
12514
+ protected setTitle(val: string): void;
12515
+ icon: string;
12516
+ }
12517
+ }
12671
12518
  declare module "martixBase" {
12672
12519
  import { HashTable } from "helpers";
12673
12520
  import { ItemValue } from "itemvalue";
@@ -13078,7 +12925,7 @@ declare module "question_matrixdropdownbase" {
13078
12925
  private get renderedTableValue();
13079
12926
  private set renderedTableValue(value);
13080
12927
  protected clearRowsAndResetRenderedTable(): void;
13081
- protected resetRenderedTable(): void;
12928
+ resetRenderedTable(): void;
13082
12929
  protected clearGeneratedRows(): void;
13083
12930
  protected get isRendredTableCreated(): boolean;
13084
12931
  get renderedTable(): QuestionMatrixDropdownRenderedTable;
@@ -13554,157 +13401,371 @@ declare module "base-interfaces" {
13554
13401
  ensureRowsVisibility(): void;
13555
13402
  validateContainerOnly(): void;
13556
13403
  }
13557
- export interface IPage extends IPanel, IConditionRunner {
13558
- isStartPage: boolean;
13404
+ export interface IPage extends IPanel, IConditionRunner {
13405
+ isStartPage: boolean;
13406
+ }
13407
+ export interface ITitleOwner {
13408
+ name: string;
13409
+ no: string;
13410
+ requiredText: string;
13411
+ isRequireTextOnStart: boolean;
13412
+ isRequireTextBeforeTitle: boolean;
13413
+ isRequireTextAfterTitle: boolean;
13414
+ locTitle: LocalizableString;
13415
+ }
13416
+ export interface IProgressInfo {
13417
+ questionCount: number;
13418
+ answeredQuestionCount: number;
13419
+ requiredQuestionCount: number;
13420
+ requiredAnsweredQuestionCount: number;
13421
+ }
13422
+ export interface IWrapperObject {
13423
+ getOriginalObj(): Base;
13424
+ getClassNameProperty(): string;
13425
+ }
13426
+ export interface IFindElement {
13427
+ element: Base;
13428
+ str: LocalizableString;
13429
+ }
13430
+ export type ISurveyEnvironment = {
13431
+ root: Document | ShadowRoot;
13432
+ rootElement: HTMLElement | ShadowRoot;
13433
+ popupMountContainer: HTMLElement | string;
13434
+ svgMountContainer: HTMLElement | string;
13435
+ stylesSheetsMountContainer: HTMLElement;
13436
+ };
13437
+ export type LayoutElementContainer = "header" | "footer" | "left" | "right" | "contentTop" | "contentBottom" | "center";
13438
+ export type HorizontalAlignment = "left" | "center" | "right";
13439
+ export type VerticalAlignment = "top" | "middle" | "bottom";
13440
+ export interface ISurveyLayoutElement {
13441
+ id: string;
13442
+ container?: LayoutElementContainer | Array<LayoutElementContainer>;
13443
+ component?: string;
13444
+ template?: string;
13445
+ data?: any;
13446
+ index?: number;
13447
+ processResponsiveness?: (width: number) => void;
13448
+ }
13449
+ export interface IPlainDataOptions {
13450
+ includeEmpty?: boolean;
13451
+ includeQuestionTypes?: boolean;
13452
+ includeValues?: boolean;
13453
+ calculations?: Array<{
13454
+ propertyName: string;
13455
+ }>;
13456
+ }
13457
+ export interface ILoadFromJSONOptions {
13458
+ validatePropertyValues?: boolean;
13459
+ }
13460
+ }
13461
+ declare module "jsonobject" {
13462
+ import { Base } from "base";
13463
+ import { ILoadFromJSONOptions } from "base-interfaces";
13464
+ export interface IPropertyDecoratorOptions<T = any> {
13465
+ defaultValue?: T;
13466
+ defaultSource?: string;
13467
+ getDefaultValue?: (objectInstance?: any) => T;
13468
+ localizable?: {
13469
+ name?: string;
13470
+ onGetTextCallback?: (str: string) => string;
13471
+ defaultStr?: string;
13472
+ } | boolean;
13473
+ onSet?: (val: T, objectInstance: any) => void;
13474
+ }
13475
+ export function property(options?: IPropertyDecoratorOptions): (target: any, key: string) => void;
13476
+ export interface IArrayPropertyDecoratorOptions {
13477
+ onPush?: any;
13478
+ onRemove?: any;
13479
+ onSet?: (val: any, target: any) => void;
13480
+ }
13481
+ export function propertyArray(options?: IArrayPropertyDecoratorOptions): (target: any, key: string) => void;
13482
+ export interface IObject {
13483
+ [key: string]: any;
13484
+ }
13485
+ /**
13486
+ * Contains information about a property of a survey element (page, panel, questions, and etc).
13487
+ * @see addProperty
13488
+ * @see removeProperty
13489
+ * @see [Add Properties](https://surveyjs.io/Documentation/Survey-Creator#addproperties)
13490
+ * @see [Remove Properties](https://surveyjs.io/Documentation/Survey-Creator#removeproperties)
13491
+ */
13492
+ export class JsonObjectProperty implements IObject {
13493
+ name: string;
13494
+ static getItemValuesDefaultValue: (val: any, type: string) => any;
13495
+ [key: string]: any;
13496
+ private static Index;
13497
+ private static mergableValues;
13498
+ private idValue;
13499
+ private classInfoValue;
13500
+ private typeValue;
13501
+ private choicesValue;
13502
+ private baseValue;
13503
+ private isRequiredValue;
13504
+ private isUniqueValue;
13505
+ private uniquePropertyValue;
13506
+ private readOnlyValue;
13507
+ private visibleValue;
13508
+ private isLocalizableValue;
13509
+ private choicesfunc;
13510
+ private dependedProperties;
13511
+ isSerializable: boolean;
13512
+ isLightSerializable: boolean;
13513
+ isCustom: boolean;
13514
+ isDynamicChoices: boolean;
13515
+ isBindable: boolean;
13516
+ className: string;
13517
+ alternativeName: string;
13518
+ classNamePart: string;
13519
+ baseClassName: string;
13520
+ defaultValueValue: any;
13521
+ defaultValueFunc: (obj: Base) => any;
13522
+ serializationProperty: string;
13523
+ displayName: string;
13524
+ category: string;
13525
+ categoryIndex: number;
13526
+ visibleIndex: number;
13527
+ nextToProperty: string;
13528
+ overridingProperty: string;
13529
+ showMode: string;
13530
+ maxLength: number;
13531
+ maxValue: any;
13532
+ minValue: any;
13533
+ private dataListValue;
13534
+ layout: string;
13535
+ onSerializeValue: (obj: any) => any;
13536
+ onGetValue: (obj: any) => any;
13537
+ onSettingValue: (obj: any, value: any) => any;
13538
+ onSetValue: (obj: any, value: any, jsonConv: JsonObject) => any;
13539
+ visibleIf: (obj: any) => boolean;
13540
+ onExecuteExpression: (obj: any, res: any) => any;
13541
+ onPropertyEditorUpdate: (obj: any, propEditor: any) => any;
13542
+ constructor(classInfo: JsonMetadataClass, name: string, isRequired?: boolean);
13543
+ get id(): number;
13544
+ get classInfo(): JsonMetadataClass;
13545
+ get type(): string;
13546
+ set type(value: string);
13547
+ isArray: boolean;
13548
+ get isRequired(): boolean;
13549
+ set isRequired(val: boolean);
13550
+ get isUnique(): boolean;
13551
+ set isUnique(val: boolean);
13552
+ get uniquePropertyName(): string;
13553
+ set uniquePropertyName(val: string);
13554
+ get hasToUseGetValue(): string | ((obj: any) => any);
13555
+ getDefaultValue(obj: Base): any;
13556
+ get defaultValue(): any;
13557
+ set defaultValue(newValue: any);
13558
+ isDefaultValue(value: any): boolean;
13559
+ isDefaultValueByObj(obj: Base, value: any): boolean;
13560
+ getSerializableValue(obj: any): any;
13561
+ getValue(obj: any): any;
13562
+ getPropertyValue(obj: any): any;
13563
+ get hasToUseSetValue(): string | ((obj: any, value: any, jsonConv: JsonObject) => any);
13564
+ settingValue(obj: any, value: any): any;
13565
+ setValue(obj: any, value: any, jsonConv: JsonObject): void;
13566
+ validateValue(value: any): boolean;
13567
+ getObjType(objType: string): string;
13568
+ /**
13569
+ * Depricated, please use getChoices
13570
+ */
13571
+ get choices(): Array<any>;
13572
+ get hasChoices(): boolean;
13573
+ getChoices(obj: any, choicesCallback?: any): Array<any>;
13574
+ setChoices(value: Array<any>, valueFunc?: (obj: any) => Array<any>): void;
13575
+ getBaseValue(): string;
13576
+ setBaseValue(val: any): void;
13577
+ get readOnly(): boolean;
13578
+ set readOnly(val: boolean);
13579
+ isVisible(layout: string, obj?: any): boolean;
13580
+ get visible(): boolean;
13581
+ set visible(val: boolean);
13582
+ get isLocalizable(): boolean;
13583
+ set isLocalizable(val: boolean);
13584
+ get dataList(): Array<string>;
13585
+ set dataList(val: Array<string>);
13586
+ mergeWith(prop: JsonObjectProperty): void;
13587
+ addDependedProperty(name: string): void;
13588
+ getDependedProperties(): Array<string>;
13589
+ schemaType(): string;
13590
+ schemaRef(): string;
13591
+ private mergeValue;
13592
+ }
13593
+ export class CustomPropertiesCollection {
13594
+ private static properties;
13595
+ private static parentClasses;
13596
+ static addProperty(className: string, property: any): void;
13597
+ static removeProperty(className: string, propertyName: string): void;
13598
+ static removeAllProperties(className: string): void;
13599
+ static addClass(className: string, parentClassName: string): void;
13600
+ static getProperties(className: string): Array<any>;
13601
+ static createProperties(obj: any): void;
13602
+ private static createPropertiesCore;
13603
+ private static createPropertiesInObj;
13604
+ private static createPropertyInObj;
13605
+ private static checkIsPropertyExists;
13606
+ }
13607
+ export class JsonMetadataClass {
13608
+ name: string;
13609
+ creator: (json?: any) => any;
13610
+ parentName: string;
13611
+ static requiredSymbol: string;
13612
+ static typeSymbol: string;
13613
+ properties: Array<JsonObjectProperty>;
13614
+ private isCustomValue;
13615
+ private allProperties;
13616
+ private hashProperties;
13617
+ constructor(name: string, properties: Array<any>, creator?: (json?: any) => any, parentName?: string);
13618
+ find(name: string): JsonObjectProperty;
13619
+ findProperty(name: string): JsonObjectProperty;
13620
+ getAllProperties(): Array<JsonObjectProperty>;
13621
+ resetAllProperties(): void;
13622
+ get isCustom(): boolean;
13623
+ private fillAllProperties;
13624
+ private addPropCore;
13625
+ private isOverridedProp;
13626
+ private hasRegularChildClass;
13627
+ private makeParentRegularClass;
13628
+ createProperty(propInfo: any, isCustom?: boolean): JsonObjectProperty;
13629
+ private addDependsOnProperties;
13630
+ private addDependsOnProperty;
13631
+ private getIsPropertyNameRequired;
13632
+ private getPropertyName;
13633
+ }
13634
+ /**
13635
+ * The metadata object. It contains object properties' runtime information and allows you to modify it.
13636
+ */
13637
+ export class JsonMetadata {
13638
+ private classes;
13639
+ private alternativeNames;
13640
+ private childrenClasses;
13641
+ onSerializingProperty: ((obj: Base, prop: JsonObjectProperty, value: any, json: any) => boolean) | undefined;
13642
+ getObjPropertyValue(obj: any, name: string): any;
13643
+ setObjPropertyValue(obj: any, name: string, val: any): void;
13644
+ private getObjPropertyValueCore;
13645
+ private isObjWrapper;
13646
+ addClass(name: string, properties: Array<any>, creator?: (json?: any) => any, parentName?: string): JsonMetadataClass;
13647
+ removeClass(name: string): void;
13648
+ overrideClassCreatore(name: string, creator: () => any): void;
13649
+ overrideClassCreator(name: string, creator: () => any): void;
13650
+ getProperties(className: string): Array<JsonObjectProperty>;
13651
+ getPropertiesByObj(obj: any): Array<JsonObjectProperty>;
13652
+ getDynamicPropertiesByObj(obj: any, dynamicType?: string): Array<JsonObjectProperty>;
13653
+ hasOriginalProperty(obj: Base, propName: string): boolean;
13654
+ getOriginalProperty(obj: Base, propName: string): JsonObjectProperty;
13655
+ getProperty(className: string, propertyName: string): JsonObjectProperty;
13656
+ findProperty(className: string, propertyName: string): JsonObjectProperty;
13657
+ findProperties(className: string, propertyNames: Array<string>): Array<JsonObjectProperty>;
13658
+ getAllPropertiesByName(propertyName: string): Array<JsonObjectProperty>;
13659
+ getAllClasses(): Array<string>;
13660
+ createClass(name: string, json?: any): any;
13661
+ private createCustomType;
13662
+ getChildrenClasses(name: string, canBeCreated?: boolean): Array<JsonMetadataClass>;
13663
+ getRequiredProperties(name: string): Array<string>;
13664
+ addProperties(className: string, propertiesInfos: Array<any>): void;
13665
+ addProperty(className: string, propertyInfo: any): JsonObjectProperty;
13666
+ private addCustomPropertyCore;
13667
+ removeProperty(className: string, propertyName: string): boolean;
13668
+ private removePropertyFromClass;
13669
+ private fillChildrenClasses;
13670
+ findClass(name: string): JsonMetadataClass;
13671
+ isDescendantOf(className: string, ancestorClassName: string): boolean;
13672
+ addAlterNativeClassName(name: string, alternativeName: string): void;
13673
+ generateSchema(className?: string): any;
13674
+ private generateLocStrClass;
13675
+ private generateSchemaProperties;
13676
+ private generateSchemaProperty;
13677
+ private getChemeRefName;
13678
+ private generateChemaClass;
13679
+ private getChoicesValues;
13680
+ }
13681
+ export class JsonError {
13682
+ type: string;
13683
+ message: string;
13684
+ description: string;
13685
+ at: number;
13686
+ end: number;
13687
+ jsonObj: any;
13688
+ element: Base;
13689
+ constructor(type: string, message: string);
13690
+ getFullDescription(): string;
13691
+ }
13692
+ export class JsonUnknownPropertyError extends JsonError {
13693
+ propertyName: string;
13694
+ className: string;
13695
+ constructor(propertyName: string, className: string);
13696
+ }
13697
+ export class JsonMissingTypeErrorBase extends JsonError {
13698
+ baseClassName: string;
13699
+ type: string;
13700
+ message: string;
13701
+ constructor(baseClassName: string, type: string, message: string);
13559
13702
  }
13560
- export interface ITitleOwner {
13561
- name: string;
13562
- no: string;
13563
- requiredText: string;
13564
- isRequireTextOnStart: boolean;
13565
- isRequireTextBeforeTitle: boolean;
13566
- isRequireTextAfterTitle: boolean;
13567
- locTitle: LocalizableString;
13703
+ export class JsonMissingTypeError extends JsonMissingTypeErrorBase {
13704
+ propertyName: string;
13705
+ baseClassName: string;
13706
+ constructor(propertyName: string, baseClassName: string);
13568
13707
  }
13569
- export interface IProgressInfo {
13570
- questionCount: number;
13571
- answeredQuestionCount: number;
13572
- requiredQuestionCount: number;
13573
- requiredAnsweredQuestionCount: number;
13708
+ export class JsonIncorrectTypeError extends JsonMissingTypeErrorBase {
13709
+ propertyName: string;
13710
+ baseClassName: string;
13711
+ constructor(propertyName: string, baseClassName: string);
13574
13712
  }
13575
- export interface IWrapperObject {
13576
- getOriginalObj(): Base;
13577
- getClassNameProperty(): string;
13713
+ export class JsonRequiredPropertyError extends JsonError {
13714
+ propertyName: string;
13715
+ className: string;
13716
+ constructor(propertyName: string, className: string);
13578
13717
  }
13579
- export interface IFindElement {
13580
- element: Base;
13581
- str: LocalizableString;
13718
+ export class JsonRequiredArrayPropertyError extends JsonError {
13719
+ propertyName: string;
13720
+ className: string;
13721
+ constructor(propertyName: string, className: string);
13582
13722
  }
13583
- export type ISurveyEnvironment = {
13584
- root: Document | ShadowRoot;
13585
- rootElement: HTMLElement | ShadowRoot;
13586
- popupMountContainer: HTMLElement | string;
13587
- svgMountContainer: HTMLElement | string;
13588
- stylesSheetsMountContainer: HTMLElement;
13589
- };
13590
- export type LayoutElementContainer = "header" | "footer" | "left" | "right" | "contentTop" | "contentBottom" | "center";
13591
- export type HorizontalAlignment = "left" | "center" | "right";
13592
- export type VerticalAlignment = "top" | "middle" | "bottom";
13593
- export interface ISurveyLayoutElement {
13594
- id: string;
13595
- container?: LayoutElementContainer | Array<LayoutElementContainer>;
13596
- component?: string;
13597
- template?: string;
13598
- data?: any;
13599
- index?: number;
13600
- processResponsiveness?: (width: number) => void;
13723
+ export class JsonIncorrectPropertyValueError extends JsonError {
13724
+ property: JsonObjectProperty;
13725
+ value: any;
13726
+ constructor(property: JsonObjectProperty, value: any);
13601
13727
  }
13602
- export interface IPlainDataOptions {
13603
- includeEmpty?: boolean;
13604
- includeQuestionTypes?: boolean;
13605
- includeValues?: boolean;
13606
- calculations?: Array<{
13607
- propertyName: string;
13608
- }>;
13728
+ export class JsonObject {
13729
+ private static typePropertyName;
13730
+ private static positionPropertyName;
13731
+ private static metaDataValue;
13732
+ static get metaData(): JsonMetadata;
13733
+ errors: JsonError[];
13734
+ lightSerializing: boolean;
13735
+ options: ILoadFromJSONOptions;
13736
+ toJsonObject(obj: any, storeDefaults?: boolean): any;
13737
+ toObject(jsonObj: any, obj: any, options?: ILoadFromJSONOptions): void;
13738
+ toObjectCore(jsonObj: any, obj: any, options?: ILoadFromJSONOptions): void;
13739
+ toJsonObjectCore(obj: any, property: JsonObjectProperty, storeDefaults?: boolean): any;
13740
+ private getDynamicProperties;
13741
+ private addDynamicProperties;
13742
+ private propertiesToJson;
13743
+ valueToJson(obj: any, result: any, property: JsonObjectProperty, storeDefaults?: boolean): void;
13744
+ valueToObj(value: any, obj: any, property: JsonObjectProperty, jsonObj?: any, options?: ILoadFromJSONOptions): void;
13745
+ private removePos;
13746
+ private removePosFromObj;
13747
+ private isValueArray;
13748
+ private createNewObj;
13749
+ private getClassNameForNewObj;
13750
+ private checkNewObjectOnErrors;
13751
+ private getRequiredError;
13752
+ private addNewError;
13753
+ private valueToArray;
13754
+ private addValuesIntoArray;
13755
+ private findProperty;
13609
13756
  }
13610
- }
13611
- declare module "itemvalue" {
13612
- import { ILocalizableOwner, LocalizableString } from "localizablestring";
13613
- import { ConditionRunner } from "conditions";
13614
- import { IShortcutText, ISurvey } from "base-interfaces";
13615
- import { BaseAction } from "actions/action";
13616
13757
  /**
13617
- * Array of ItemValue is used in checkbox, dropdown and radiogroup choices, matrix columns and rows.
13618
- * It has two main properties: value and text. If text is empty, value is used for displaying.
13619
- * The text property is localizable and support markdown.
13758
+ * An alias for the metadata object. It contains object properties' runtime information and allows you to modify it.
13759
+ * @see JsonMetadata
13620
13760
  */
13621
- export class ItemValue extends BaseAction implements ILocalizableOwner, IShortcutText {
13622
- protected typeName: string;
13623
- [index: string]: any;
13624
- getMarkdownHtml(text: string, name: string): string;
13625
- getRenderer(name: string): string;
13626
- getRendererContext(locStr: LocalizableString): any;
13627
- getProcessedText(text: string): string;
13628
- static get Separator(): string;
13629
- static set Separator(val: string);
13630
- /**
13631
- * Resets the input array and fills it with values from the values array
13632
- */
13633
- static setData(items: Array<ItemValue>, values: Array<any>, type?: string): void;
13634
- static getData(items: Array<ItemValue>): any;
13635
- static getItemByValue(items: Array<ItemValue>, val: any): ItemValue;
13636
- static getTextOrHtmlByValue(items: Array<ItemValue>, val: any): string;
13637
- static locStrsChanged(items: Array<ItemValue>): void;
13638
- static runConditionsForItems(items: Array<ItemValue>, filteredItems: Array<ItemValue>, runner: ConditionRunner, values: any, properties: any, useItemExpression?: boolean, onItemCallBack?: (item: ItemValue, val: boolean) => boolean): boolean;
13639
- static runEnabledConditionsForItems(items: Array<ItemValue>, runner: ConditionRunner, values: any, properties: any, onItemCallBack?: (item: ItemValue, val: boolean) => boolean): boolean;
13640
- private static runConditionsForItemsCore;
13641
- ownerPropertyName: string;
13642
- private _visible;
13643
- private locTextValue;
13644
- private visibleConditionRunner;
13645
- private enableConditionRunner;
13646
- constructor(value: any, text?: string, typeName?: string);
13647
- onCreating(): any;
13648
- getType(): string;
13649
- getSurvey(live?: boolean): ISurvey;
13650
- getLocale(): string;
13651
- isGhost: boolean;
13652
- protected get isInternal(): boolean;
13653
- get locText(): LocalizableString;
13654
- setLocText(locText: LocalizableString): void;
13655
- private _locOwner;
13656
- get locOwner(): ILocalizableOwner;
13657
- set locOwner(value: ILocalizableOwner);
13658
- get value(): any;
13659
- set value(newValue: any);
13660
- get hasText(): boolean;
13661
- get pureText(): string;
13662
- set pureText(val: string);
13663
- get text(): string;
13664
- set text(newText: string);
13665
- get calculatedText(): string;
13666
- get shortcutText(): string;
13667
- private canSerializeValue;
13668
- getData(): any;
13669
- toJSON(): any;
13670
- setData(value: any): void;
13671
- get visibleIf(): string;
13672
- set visibleIf(val: string);
13673
- get enableIf(): string;
13674
- set enableIf(val: string);
13675
- get isVisible(): any;
13676
- setIsVisible(val: boolean): void;
13677
- get isEnabled(): any;
13678
- setIsEnabled(val: boolean): void;
13679
- addUsedLocales(locales: Array<string>): void;
13680
- locStrsChanged(): void;
13681
- protected onPropertyValueChanged(name: string, oldValue: any, newValue: any): void;
13682
- protected getConditionRunner(isVisible: boolean): ConditionRunner;
13683
- private getVisibleConditionRunner;
13684
- private getEnableConditionRunner;
13685
- originalItem: any;
13686
- selectedValue: boolean;
13687
- get selected(): boolean;
13688
- private componentValue;
13689
- getComponent(): string;
13690
- setComponent(val: string): void;
13691
- protected getEnabled(): boolean;
13692
- protected setEnabled(val: boolean): void;
13693
- protected getVisible(): boolean;
13694
- protected setVisible(val: boolean): void;
13695
- protected getLocTitle(): LocalizableString;
13696
- protected getTitle(): string;
13697
- protected setLocTitle(val: LocalizableString): void;
13698
- protected setTitle(val: string): void;
13699
- icon: string;
13700
- }
13761
+ export var Serializer: JsonMetadata;
13701
13762
  }
13702
13763
  declare module "base" {
13703
13764
  import { ILocalizableOwner, LocalizableString } from "localizablestring";
13704
13765
  import { HashTable } from "helpers";
13705
13766
  import { JsonObjectProperty } from "jsonobject";
13706
13767
  import { ItemValue } from "itemvalue";
13707
- import { IElement, IFindElement, IProgressInfo, ISurvey } from "base-interfaces";
13768
+ import { IElement, IFindElement, IProgressInfo, ISurvey, ILoadFromJSONOptions } from "base-interfaces";
13708
13769
  import { ExpressionRunner } from "conditions";
13709
13770
  export class Bindings {
13710
13771
  private obj;
@@ -13849,6 +13910,7 @@ declare module "base" {
13849
13910
  * Returns `true` if the survey is being designed in Survey Creator.
13850
13911
  */
13851
13912
  get isDesignMode(): boolean;
13913
+ get isDesignModeV2(): boolean;
13852
13914
  /**
13853
13915
  * Returns `true` if the object is included in a survey.
13854
13916
  *
@@ -13878,9 +13940,11 @@ declare module "base" {
13878
13940
  * 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.
13879
13941
  *
13880
13942
  * @param json A JSON object with properties that you want to apply to the current SurveyJS object.
13943
+ * @param options An object with configuration options.
13944
+ * @param {boolean} options.validatePropertyValues Pass `true` if you want to validate property values. Use the [`jsonErrors`](#jsonErrors) array to access validation errors.
13881
13945
  * @see toJSON
13882
13946
  */
13883
- fromJSON(json: any): void;
13947
+ fromJSON(json: any, options?: ILoadFromJSONOptions): void;
13884
13948
  onSurveyLoad(): void;
13885
13949
  /**
13886
13950
  * Creates a new object that has the same type and properties as the current SurveyJS object.
@@ -14148,13 +14212,7 @@ declare module "settings" {
14148
14212
  showEmptyDescriptions: boolean;
14149
14213
  showEmptyTitles: boolean;
14150
14214
  };
14151
- /**
14152
- * This property is obsolete. Use the [`settings.designMode.showEmptyDescriptions`](https://surveyjs.io/form-library/documentation/api-reference/settings#designMode) property instead.
14153
- */
14154
14215
  allowShowEmptyDescriptionInDesignMode: boolean;
14155
- /**
14156
- * This property is obsolete. Use the [`settings.designMode.showEmptyTitles`](https://surveyjs.io/form-library/documentation/api-reference/settings#designMode) property instead.
14157
- */
14158
14216
  allowShowEmptyTitleInDesignMode: boolean;
14159
14217
  /**
14160
14218
  * An object that contains properties related to localization.
@@ -14175,17 +14233,8 @@ declare module "settings" {
14175
14233
  storeDuplicatedTranslations: boolean;
14176
14234
  defaultLocaleName: string;
14177
14235
  };
14178
- /**
14179
- * This property is obsolete. Use the [`settings.localization.useLocalTimeZone`](https://surveyjs.io/form-library/documentation/api-reference/settings#localization) property instead.
14180
- */
14181
14236
  useLocalTimeZone: boolean;
14182
- /**
14183
- * This property is obsolete. Use the [`settings.localization.storeDuplicatedTranslations`](https://surveyjs.io/form-library/documentation/api-reference/settings#localization) property instead.
14184
- */
14185
14237
  storeDuplicatedTranslations: boolean;
14186
- /**
14187
- * This property is obsolete. Use the [`settings.localization.defaultLocaleName`](https://surveyjs.io/form-library/documentation/api-reference/settings#localization) property instead.
14188
- */
14189
14238
  defaultLocaleName: string;
14190
14239
  /**
14191
14240
  * An object with properties that configure surveys when they work with a web service.
@@ -14196,36 +14245,38 @@ declare module "settings" {
14196
14245
  * Specifies whether to encode URL parameters when you access a web service. Default value: `true`.
14197
14246
  *
14198
14247
  * - `cacheLoadedChoices`: `boolean`\
14199
- * 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`.
14248
+ * Specifies whether to cache [choices loaded from a web service](https://surveyjs.io/form-library/documentation/api-reference/questionselectbase#choicesByUrl). Default value: `true`.
14200
14249
  *
14201
14250
  * - `disableQuestionWhileLoadingChoices`: `boolean`\
14202
14251
  * Disables a question while its choices are being loaded from a web service. Default value: `false`.
14203
14252
  *
14204
14253
  * - `surveyServiceUrl`: `string`\
14205
14254
  * The URL of the SurveyJS Service API endpoint.
14255
+ *
14256
+ * - `onBeforeRequestChoices`: `(sender: ChoicesRestful, options: { request: XMLHttpRequest })`\
14257
+ * 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:
14258
+ *
14259
+ * ```js
14260
+ * import { settings } from "survey-core";
14261
+ *
14262
+ * settings.web.onBeforeSendRequest = (sender, options) => {
14263
+ * options.request.setRequestHeader('RequestVerificationToken', requestVerificationToken);
14264
+ * };
14265
+ * ```
14206
14266
  */
14207
14267
  web: {
14268
+ onBeforeRequestChoices: (sender: any, options: {
14269
+ request: XMLHttpRequest;
14270
+ }) => void;
14208
14271
  encodeUrlParams: boolean;
14209
14272
  cacheLoadedChoices: boolean;
14210
14273
  disableQuestionWhileLoadingChoices: boolean;
14211
14274
  surveyServiceUrl: string;
14212
14275
  };
14213
- /**
14214
- * This property is obsolete. Use the [`settings.web.encodeUrlParams`](https://surveyjs.io/form-library/documentation/api-reference/settings#web) property instead.
14215
- */
14216
14276
  webserviceEncodeParameters: boolean;
14217
- /**
14218
- * This property is obsolete. Use the [`settings.web.cacheLoadedChoices`](https://surveyjs.io/form-library/documentation/api-reference/settings#web) property instead.
14219
- */
14220
14277
  useCachingForChoicesRestful: boolean;
14221
14278
  useCachingForChoicesRestfull: boolean;
14222
- /**
14223
- * This property is obsolete. Use the [`settings.web.disableQuestionWhileLoadingChoices`](https://surveyjs.io/form-library/documentation/api-reference/settings#web) property instead.
14224
- */
14225
14279
  disableOnGettingChoicesFromWeb: boolean;
14226
- /**
14227
- * This property is obsolete. Use the [`settings.web.surveyServiceUrl`](https://surveyjs.io/form-library/documentation/api-reference/settings#web) property instead.
14228
- */
14229
14280
  surveyServiceUrl: string;
14230
14281
  /**
14231
14282
  * An object that contains properties related to [triggers](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#conditional-survey-logic-triggers).
@@ -14248,17 +14299,8 @@ declare module "settings" {
14248
14299
  executeCompleteOnValueChanged: boolean;
14249
14300
  executeSkipOnValueChanged: boolean;
14250
14301
  };
14251
- /**
14252
- * This property is obsolete. Use the [`settings.triggers.executeCompleteOnValueChanged`](https://surveyjs.io/form-library/documentation/api-reference/settings#triggers) property instead.
14253
- */
14254
14302
  executeCompleteTriggerOnValueChanged: boolean;
14255
- /**
14256
- * This property is obsolete. Use the [`settings.triggers.changeNavigationButtonsOnComplete`](https://surveyjs.io/form-library/documentation/api-reference/settings#triggers) property instead.
14257
- */
14258
14303
  changeNavigationButtonsOnCompleteTrigger: boolean;
14259
- /**
14260
- * This property is obsolete. Use the [`settings.triggers.executeSkipOnValueChanged`](https://surveyjs.io/form-library/documentation/api-reference/settings#triggers) property instead.
14261
- */
14262
14304
  executeSkipTriggerOnValueChanged: boolean;
14263
14305
  /**
14264
14306
  * An object that contains properties related to JSON serialization.
@@ -14293,17 +14335,8 @@ declare module "settings" {
14293
14335
  itemValueSerializeDisplayText: boolean;
14294
14336
  localizableStringSerializeAsObject: boolean;
14295
14337
  };
14296
- /**
14297
- * This property is obsolete. Use the [`settings.serialization.itemValueSerializeAsObject`](https://surveyjs.io/form-library/documentation/api-reference/settings#serialization) property instead.
14298
- */
14299
14338
  itemValueAlwaysSerializeAsObject: boolean;
14300
- /**
14301
- * This property is obsolete. Use the [`settings.serialization.itemValueSerializeDisplayText`](https://surveyjs.io/form-library/documentation/api-reference/settings#serialization) property instead.
14302
- */
14303
14339
  itemValueAlwaysSerializeText: boolean;
14304
- /**
14305
- * This property is obsolete. Use the [`settings.serialization.localizableStringSerializeAsObject`](https://surveyjs.io/form-library/documentation/api-reference/settings#serialization) property instead.
14306
- */
14307
14340
  serializeLocalizableStringAsObject: boolean;
14308
14341
  /**
14309
14342
  * An object that configures lazy rendering.
@@ -14319,9 +14352,6 @@ declare module "settings" {
14319
14352
  enabled: boolean;
14320
14353
  firstBatchSize: number;
14321
14354
  };
14322
- /**
14323
- * This property is obsolete. Use the [`settings.lazyRender.enabled`](https://surveyjs.io/form-library/documentation/api-reference/settings#lazyRender) property instead.
14324
- */
14325
14355
  lazyRowsRendering: boolean;
14326
14356
  lazyRowsRenderingStartRow: number;
14327
14357
  /**
@@ -14372,29 +14402,11 @@ declare module "settings" {
14372
14402
  };
14373
14403
  rateSize: "small" | "normal";
14374
14404
  };
14375
- /**
14376
- * This property is obsolete. Use the [`settings.matrix.defaultRowName`](https://surveyjs.io/form-library/documentation/api-reference/settings#matrix) property instead.
14377
- */
14378
14405
  matrixDefaultRowName: string;
14379
- /**
14380
- * This property is obsolete. Use the [`settings.matrix.defaultCellType`](https://surveyjs.io/form-library/documentation/api-reference/settings#matrix) property instead.
14381
- */
14382
14406
  matrixDefaultCellType: string;
14383
- /**
14384
- * This property is obsolete. Use the [`settings.matrix.totalsSuffix`](https://surveyjs.io/form-library/documentation/api-reference/settings#matrix) property instead.
14385
- */
14386
14407
  matrixTotalValuePostFix: string;
14387
- /**
14388
- * This property is obsolete. Use the [`settings.matrix.maxRowCount`](https://surveyjs.io/form-library/documentation/api-reference/settings#matrix) property instead.
14389
- */
14390
14408
  matrixMaximumRowCount: number;
14391
- /**
14392
- * This property is obsolete. Use the [`settings.matrix.maxRowCountInCondition`](https://surveyjs.io/form-library/documentation/api-reference/settings#matrix) property instead.
14393
- */
14394
14409
  matrixMaxRowCountInCondition: number;
14395
- /**
14396
- * This property is obsolete. Use the [`settings.matrix.renderRemoveAsIcon`](https://surveyjs.io/form-library/documentation/api-reference/settings#matrix) property instead.
14397
- */
14398
14410
  matrixRenderRemoveAsIcon: boolean;
14399
14411
  /**
14400
14412
  * An object with properties that apply to [Dynamic Panel](https://surveyjs.io/form-library/documentation/api-reference/dynamic-panel-model) questions.
@@ -14413,13 +14425,7 @@ declare module "settings" {
14413
14425
  maxPanelCount: number;
14414
14426
  maxPanelCountInCondition: number;
14415
14427
  };
14416
- /**
14417
- * This property is obsolete. Use the [`settings.panel.maxPanelCountInCondition`](https://surveyjs.io/form-library/documentation/api-reference/settings#panel) property instead.
14418
- */
14419
14428
  panelDynamicMaxPanelCountInCondition: number;
14420
- /**
14421
- * This property is obsolete. Use the [`settings.panel.maxPanelCount`](https://surveyjs.io/form-library/documentation/api-reference/settings#panel) property instead.
14422
- */
14423
14429
  panelMaximumPanelCount: number;
14424
14430
  /**
14425
14431
  * An object with properties that configure questions in read-only mode.
@@ -14437,13 +14443,7 @@ declare module "settings" {
14437
14443
  commentRenderMode: string;
14438
14444
  textRenderMode: string;
14439
14445
  };
14440
- /**
14441
- * This property is obsolete. Use the [`settings.readOnly.commentRenderMode`](https://surveyjs.io/form-library/documentation/api-reference/settings#readOnly) property instead.
14442
- */
14443
14446
  readOnlyCommentRenderMode: string;
14444
- /**
14445
- * This property is obsolete. Use the [`settings.readOnly.textRenderMode`](https://surveyjs.io/form-library/documentation/api-reference/settings#readOnly) property instead.
14446
- */
14447
14447
  readOnlyTextRenderMode: string;
14448
14448
  /**
14449
14449
  * An object with properties that configure question numbering.
@@ -14460,13 +14460,7 @@ declare module "settings" {
14460
14460
  includeQuestionsWithHiddenNumber: boolean;
14461
14461
  includeQuestionsWithHiddenTitle: boolean;
14462
14462
  };
14463
- /**
14464
- * This property is obsolete. Use the [`settings.numbering.includeQuestionsWithHiddenTitle`](https://surveyjs.io/form-library/documentation/api-reference/settings#numbering) property instead.
14465
- */
14466
14463
  setQuestionVisibleIndexForHiddenTitle: boolean;
14467
- /**
14468
- * This property is obsolete. Use the [`settings.numbering.includeQuestionsWithHiddenNumber`](https://surveyjs.io/form-library/documentation/api-reference/settings#numbering) property instead.
14469
- */
14470
14464
  setQuestionVisibleIndexForHiddenNumber: boolean;
14471
14465
  /**
14472
14466
  * Specifies an action to perform when users press the Enter key within a survey.
@@ -15031,6 +15025,11 @@ declare module "question_matrix" {
15031
15025
  private cellsValue;
15032
15026
  constructor(name: string);
15033
15027
  getType(): string;
15028
+ /**
15029
+ * The name of a component used to render cells.
15030
+ */
15031
+ get cellComponent(): string;
15032
+ set itemComponent(value: string);
15034
15033
  get hasSingleInput(): boolean;
15035
15034
  /**
15036
15035
  * Specifies whether each row requires an answer. If a respondent skips a row, the question displays a validation error.
@@ -15415,7 +15414,6 @@ declare module "question_tagbox" {
15415
15414
  private itemDisplayNameMap;
15416
15415
  constructor(name: string);
15417
15416
  locStrsChanged(): void;
15418
- readOnlyText: string;
15419
15417
  private updateReadOnlyText;
15420
15418
  protected getDefaultItemComponent(): string;
15421
15419
  onSurveyLoad(): void;
@@ -15456,6 +15454,9 @@ declare module "question_tagbox" {
15456
15454
  get clearCaption(): string;
15457
15455
  set clearCaption(value: string);
15458
15456
  get locClearCaption(): LocalizableString;
15457
+ get readOnlyText(): string;
15458
+ set readOnlyText(val: string);
15459
+ get locReadOnlyText(): LocalizableString;
15459
15460
  getType(): string;
15460
15461
  get ariaRole(): string;
15461
15462
  get popupModel(): PopupModel;
@@ -16235,8 +16236,8 @@ declare module "question_boolean" {
16235
16236
  * @see valueTrue
16236
16237
  * @see valueFalse
16237
16238
  */
16238
- get labelTrue(): any;
16239
- set labelTrue(val: any);
16239
+ get labelTrue(): string;
16240
+ set labelTrue(val: string);
16240
16241
  get locLabelTrue(): LocalizableString;
16241
16242
  get isDeterminated(): boolean;
16242
16243
  /**
@@ -16246,8 +16247,8 @@ declare module "question_boolean" {
16246
16247
  * @see valueTrue
16247
16248
  * @see valueFalse
16248
16249
  */
16249
- get labelFalse(): any;
16250
- set labelFalse(val: any);
16250
+ get labelFalse(): string;
16251
+ set labelFalse(val: string);
16251
16252
  get locLabelFalse(): LocalizableString;
16252
16253
  /**
16253
16254
  * A value to save in survey results when respondents give a positive answer.
@@ -16656,7 +16657,7 @@ declare module "entries/chunks/model" {
16656
16657
  export { AnswerCountValidator, EmailValidator, NumericValidator, RegexValidator, SurveyValidator, TextValidator, ValidatorResult, ExpressionValidator, ValidatorRunner } from "validator";
16657
16658
  export { ItemValue } from "itemvalue";
16658
16659
  export { Base, Event, EventBase, ArrayChanges, ComputedUpdater } from "base";
16659
- export { ISurvey, ISurveyElement, IElement, IQuestion, IPage, IPanel, ISurveyData, ITitleOwner, ISurveyLayoutElement, IPlainDataOptions as IPlainData, IShortcutText } from "base-interfaces";
16660
+ export { ISurvey, ISurveyElement, IElement, IQuestion, IPage, IPanel, ISurveyData, ITitleOwner, ISurveyLayoutElement, IPlainDataOptions as IPlainData, IShortcutText, ILoadFromJSONOptions } from "base-interfaces";
16660
16661
  export { SurveyError } from "survey-error";
16661
16662
  export { SurveyElementCore, SurveyElement, DragTypeOverMeEnum } from "survey-element";
16662
16663
  export { CalculatedValue } from "calculatedValue";
@@ -24584,6 +24585,7 @@ declare module "react/dropdown-base" {
24584
24585
  protected getStateElement(): any;
24585
24586
  protected setValueCore(newValue: any): void;
24586
24587
  protected getValueCore(): any;
24588
+ protected renderReadOnlyElement(): JSX.Element | null;
24587
24589
  protected renderSelect(cssClasses: any): JSX.Element;
24588
24590
  renderValueElement(dropdownListModel: DropdownListModel): JSX.Element | null;
24589
24591
  protected renderInput(dropdownListModel: DropdownListModel): JSX.Element;
@@ -24622,6 +24624,7 @@ declare module "react/reactquestion_tagbox" {
24622
24624
  protected renderItem(key: string, item: any): JSX.Element;
24623
24625
  protected renderInput(dropdownListModel: DropdownListModel): JSX.Element;
24624
24626
  protected renderElement(): JSX.Element;
24627
+ protected renderReadOnlyElement(): JSX.Element | null;
24625
24628
  }
24626
24629
  }
24627
24630
  declare module "react/dropdown-select" {
@@ -24645,14 +24648,24 @@ declare module "react/reactquestion_matrix" {
24645
24648
  constructor(props: any);
24646
24649
  private get question();
24647
24650
  private get row();
24648
- handleOnChange(event: any): void;
24649
- handleOnMouseDown(event: any): void;
24650
24651
  protected wrapCell(cell: any, element: JSX.Element, reason: string): JSX.Element;
24651
24652
  protected canRender(): boolean;
24652
24653
  protected renderElement(): JSX.Element;
24653
- generateTds(): JSX.Element[];
24654
+ generateTds(): Array<JSX.Element>;
24654
24655
  cellClick(row: any, column: any): void;
24655
24656
  }
24657
+ export class SurveyQuestionMatrixCell extends ReactSurveyElement {
24658
+ constructor(props: any);
24659
+ handleOnChange(event: any): void;
24660
+ handleOnMouseDown(event: any): void;
24661
+ private get question();
24662
+ private get row();
24663
+ private get column();
24664
+ private get columnIndex();
24665
+ protected canRender(): boolean;
24666
+ protected renderElement(): JSX.Element;
24667
+ protected renderInput(inputId: string, isChecked: boolean): JSX.Element;
24668
+ }
24656
24669
  }
24657
24670
  declare module "react/reactquestion_html" {
24658
24671
  import { SurveyQuestionElementBase } from "react/reactquestion_element";
@@ -25296,7 +25309,7 @@ declare module "entries/react-ui-model" {
25296
25309
  export { SurveyQuestionTagboxItem } from "react/tagbox-item";
25297
25310
  export { SurveyQuestionTagbox } from "react/reactquestion_tagbox";
25298
25311
  export { SurveyQuestionDropdownSelect } from "react/dropdown-select";
25299
- export { SurveyQuestionMatrix, SurveyQuestionMatrixRow, } from "react/reactquestion_matrix";
25312
+ export { SurveyQuestionMatrix, SurveyQuestionMatrixRow, SurveyQuestionMatrixCell } from "react/reactquestion_matrix";
25300
25313
  export { SurveyQuestionHtml } from "react/reactquestion_html";
25301
25314
  export { SurveyQuestionFile } from "react/reactquestion_file";
25302
25315
  export { SurveyFileChooseButton } from "react/components/file/file-choose-button";