survey-react 1.9.133 → 1.9.134

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/modern.css CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - Survey JavaScript library v1.9.133
2
+ * surveyjs - Survey JavaScript library v1.9.134
3
3
  * Copyright (c) 2015-2024 Devsoft Baltic OÜ - http://surveyjs.io/
4
4
  * License: MIT (http://www.opensource.org/licenses/mit-license.php)
5
5
  */
package/modern.min.css CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - Survey JavaScript library v1.9.133
2
+ * surveyjs - Survey JavaScript library v1.9.134
3
3
  * Copyright (c) 2015-2024 Devsoft Baltic OÜ - http://surveyjs.io/
4
4
  * License: MIT (http://www.opensource.org/licenses/mit-license.php)
5
5
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "survey-react",
3
- "version": "1.9.133",
3
+ "version": "1.9.134",
4
4
  "description": "survey.js is a JavaScript Survey Library. It is a modern way to add a survey to your website. It uses JSON for survey metadata and results.",
5
5
  "keywords": [
6
6
  "Survey",
package/survey.css CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - Survey JavaScript library v1.9.133
2
+ * surveyjs - Survey JavaScript library v1.9.134
3
3
  * Copyright (c) 2015-2024 Devsoft Baltic OÜ - http://surveyjs.io/
4
4
  * License: MIT (http://www.opensource.org/licenses/mit-license.php)
5
5
  */
package/survey.min.css CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * surveyjs - Survey JavaScript library v1.9.133
2
+ * surveyjs - Survey JavaScript library v1.9.134
3
3
  * Copyright (c) 2015-2024 Devsoft Baltic OÜ - http://surveyjs.io/
4
4
  * License: MIT (http://www.opensource.org/licenses/mit-license.php)
5
5
  */
package/survey.react.d.ts CHANGED
@@ -1872,6 +1872,7 @@ declare module "defaultCss/defaultV2Css" {
1872
1872
  chooseFileAsIcon: string;
1873
1873
  chooseFileIconId: string;
1874
1874
  disabled: string;
1875
+ controlDisabled: string;
1875
1876
  removeButton: string;
1876
1877
  removeButtonBottom: string;
1877
1878
  removeButtonIconId: string;
@@ -5128,6 +5129,7 @@ declare module "dragdrop/core" {
5128
5129
  protected domAdapter: IDragDropDOMAdapter;
5129
5130
  constructor(surveyValue?: ISurvey, creator?: any, longTap?: boolean, domAdapter?: IDragDropDOMAdapter);
5130
5131
  startDrag(event: PointerEvent, draggedElement: any, parentElement?: any, draggedElementNode?: HTMLElement, preventSaveTargetNode?: boolean): void;
5132
+ private getRootElement;
5131
5133
  dragInit(event: PointerEvent, draggedElement: any, parentElement?: any, draggedElementNode?: HTMLElement): void;
5132
5134
  protected onStartDrag(event?: PointerEvent): void;
5133
5135
  protected isDropTargetDoesntChanged(newIsBottom: boolean): boolean;
@@ -8064,12 +8066,64 @@ declare module "question_textbase" {
8064
8066
  onKeyDownPreprocess: (event: any) => void;
8065
8067
  }
8066
8068
  }
8069
+ declare module "mask/mask_utils" {
8070
+ export var numberDefinition: RegExp;
8071
+ export interface IMaskedInputResult {
8072
+ value: string;
8073
+ caretPosition: number;
8074
+ cancelPreventDefault?: boolean;
8075
+ }
8076
+ export interface ITextInputParams {
8077
+ prevValue: string;
8078
+ selectionStart: number;
8079
+ selectionEnd: number;
8080
+ insertedChars: string | null;
8081
+ inputDirection?: "forward" | "backward";
8082
+ }
8083
+ export interface IInputMask {
8084
+ getMaskedValue(src: any): string;
8085
+ getUnmaskedValue(src: string): any;
8086
+ processInput(args: ITextInputParams): IMaskedInputResult;
8087
+ }
8088
+ }
8089
+ declare module "mask/mask_base" {
8090
+ import { Base } from "base";
8091
+ import { IInputMask, IMaskedInputResult, ITextInputParams } from "mask/mask_utils";
8092
+ export class InputMaskBase extends Base implements IInputMask {
8093
+ saveMaskedValue: boolean;
8094
+ getType(): string;
8095
+ setData(json: any): void;
8096
+ getData(): any;
8097
+ processInput(args: ITextInputParams): IMaskedInputResult;
8098
+ getUnmaskedValue(src: string): any;
8099
+ getMaskedValue(src: any): string;
8100
+ }
8101
+ }
8102
+ declare module "mask/input_element_adapter" {
8103
+ import { InputMaskBase } from "mask/mask_base";
8104
+ import { ITextInputParams } from "mask/mask_utils";
8105
+ export class InputElementAdapter {
8106
+ private inputMaskInstance;
8107
+ private inputElement;
8108
+ private prevUnmaskedValue;
8109
+ constructor(inputMaskInstance: InputMaskBase, inputElement: HTMLInputElement, value?: string);
8110
+ inputMaskInstancePropertyChangedHandler: (sender: any, options: any) => void;
8111
+ beforeInputHandler: (event: any) => void;
8112
+ blurInputHandler: (event: any) => void;
8113
+ createArgs(event: any): ITextInputParams;
8114
+ addInputEventListener(): void;
8115
+ removeInputEventListener(): void;
8116
+ dispose(): void;
8117
+ }
8118
+ }
8067
8119
  declare module "question_text" {
8068
8120
  import { LocalizableString, LocalizableStrings } from "localizablestring";
8069
8121
  import { HashTable } from "helpers";
8070
8122
  import { SurveyError } from "survey-error";
8071
8123
  import { QuestionTextBase } from "question_textbase";
8072
8124
  import { CssClassBuilder } from "utils/cssClassBuilder";
8125
+ import { InputMaskBase } from "mask/mask_base";
8126
+ import { IInputMask } from "mask/mask_utils";
8073
8127
  /**
8074
8128
  * A class that describes the Single-Line Input question type.
8075
8129
  *
@@ -8079,6 +8133,17 @@ declare module "question_text" {
8079
8133
  private locDataListValue;
8080
8134
  private minValueRunner;
8081
8135
  private maxValueRunner;
8136
+ private maskInputAdapter;
8137
+ private createMaskAdapter;
8138
+ private deleteMaskAdapter;
8139
+ private updateMaskAdapter;
8140
+ onSetMaskType(newValue: string): void;
8141
+ maskType: string;
8142
+ get maskTypeIsEmpty(): boolean;
8143
+ get maskSettings(): InputMaskBase;
8144
+ set maskSettings(val: InputMaskBase);
8145
+ private setNewMaskSettingsProperty;
8146
+ protected createMaskSettings(): InputMaskBase;
8082
8147
  constructor(name: string);
8083
8148
  protected isTextValue(): boolean;
8084
8149
  getType(): string;
@@ -8155,6 +8220,9 @@ declare module "question_text" {
8155
8220
  * @see max
8156
8221
  */
8157
8222
  get isMinMaxType(): boolean;
8223
+ get maskInstance(): IInputMask;
8224
+ get inputValue(): string;
8225
+ set inputValue(val: string);
8158
8226
  protected onCheckForErrors(errors: Array<SurveyError>, isOnValueChanged: boolean): void;
8159
8227
  protected canSetValueToSurvey(): boolean;
8160
8228
  protected convertFuncValuetoQuestionValue(val: any): any;
@@ -8194,6 +8262,8 @@ declare module "question_text" {
8194
8262
  onChange: (event: any) => void;
8195
8263
  onBlur: (event: any) => void;
8196
8264
  onFocus: (event: any) => void;
8265
+ afterRenderQuestionElement(el: HTMLElement): void;
8266
+ beforeDestroyQuestionElement(el: HTMLElement): void;
8197
8267
  }
8198
8268
  export function isMinMaxType(obj: any): boolean;
8199
8269
  }
@@ -10664,10 +10734,10 @@ declare module "survey" {
10664
10734
  private onShowingPreviewChanged;
10665
10735
  private changeCurrentPageFromPreview;
10666
10736
  private originalPages;
10667
- protected onQuestionsOnPageModeChanged(oldValue: string): void;
10737
+ protected onQuestionsOnPageModeChanged(oldValue: string, isFirstLoad?: boolean): void;
10668
10738
  private restoreOriginalPages;
10669
10739
  private getPageStartIndex;
10670
- private isCreatingPagesForPreview;
10740
+ private isLockingUpdateOnPageModes;
10671
10741
  private setupPagesForPageModes;
10672
10742
  private createPagesForQuestionOnPageMode;
10673
10743
  private createSinglePage;
@@ -11577,6 +11647,7 @@ declare module "survey-element" {
11577
11647
  isDragMe: boolean;
11578
11648
  readOnlyChangedCallback: () => void;
11579
11649
  static ScrollElementToTop(elementId: string, scrollIfVisible?: boolean): boolean;
11650
+ private static ScrollElementToViewCore;
11580
11651
  static GetFirstNonTextElement(elements: any, removeSpaces?: boolean): any;
11581
11652
  static FocusElement(elementId: string): boolean;
11582
11653
  private static focusElementCore;
@@ -15370,6 +15441,13 @@ declare module "settings" {
15370
15441
  dataList: string[];
15371
15442
  };
15372
15443
  legacyProgressBarView: boolean;
15444
+ maskSettings: {
15445
+ patternPlaceholderChar: string;
15446
+ patternEscapeChar: string;
15447
+ patternDefinitions: {
15448
+ [key: string]: RegExp;
15449
+ };
15450
+ };
15373
15451
  };
15374
15452
  }
15375
15453
  declare module "question_matrixdropdown" {
@@ -17376,6 +17454,114 @@ declare module "question_buttongroup" {
17376
17454
  onChange(): void;
17377
17455
  }
17378
17456
  }
17457
+ declare module "mask/mask_pattern" {
17458
+ import { InputMaskBase } from "mask/mask_base";
17459
+ import { IMaskedInputResult, ITextInputParams } from "mask/mask_utils";
17460
+ import { ILoadFromJSONOptions } from "base-interfaces";
17461
+ export interface IMaskLiteral {
17462
+ type: "const" | "regex" | "fixed";
17463
+ value: any;
17464
+ }
17465
+ export function getLiterals(pattern: string): Array<IMaskLiteral>;
17466
+ export function getMaskedValueByPattern(src: string, pattern: string | Array<IMaskLiteral>, matchWholeMask: boolean): string;
17467
+ export function getUnmaskedValueByPattern(str: string, pattern: string | Array<IMaskLiteral>, matchWholeMask: boolean, skipFixedChar?: boolean): string;
17468
+ export class InputMaskPattern extends InputMaskBase {
17469
+ private literals;
17470
+ pattern: string;
17471
+ protected updateLiterals(): void;
17472
+ protected onPropertyValueChanged(name: string, oldValue: any, newValue: any): void;
17473
+ getType(): string;
17474
+ fromJSON(json: any, options?: ILoadFromJSONOptions): void;
17475
+ _getMaskedValue(src: string, matchWholeMask?: boolean): string;
17476
+ _getUnmaskedValue(src: string, matchWholeMask?: boolean): string;
17477
+ processInput(args: ITextInputParams): IMaskedInputResult;
17478
+ getMaskedValue(src: any): string;
17479
+ getUnmaskedValue(src: string): any;
17480
+ }
17481
+ }
17482
+ declare module "mask/mask_numeric" {
17483
+ import { InputMaskBase } from "mask/mask_base";
17484
+ import { IMaskedInputResult, ITextInputParams } from "mask/mask_utils";
17485
+ interface INumericalComposition {
17486
+ integralPart: string;
17487
+ fractionalPart: string;
17488
+ isNegative?: boolean;
17489
+ hasDecimalSeparator?: boolean;
17490
+ }
17491
+ export function splitString(str: string, reverse?: boolean, n?: number): Array<string>;
17492
+ export class InputMaskNumeric extends InputMaskBase {
17493
+ allowNegativeValues: boolean;
17494
+ decimalSeparator: string;
17495
+ precision: number;
17496
+ thousandsSeparator: string;
17497
+ min: number;
17498
+ max: number;
17499
+ private calccaretPosition;
17500
+ displayNumber(parsedNumber: INumericalComposition, insertThousandsSeparator?: boolean, matchWholeMask?: boolean): string;
17501
+ convertNumber(parsedNumber: INumericalComposition): number;
17502
+ validateNumber(number: INumericalComposition): boolean;
17503
+ parseNumber(src: string | number): INumericalComposition;
17504
+ getNumberMaskedValue(src: string | number, matchWholeMask?: boolean): string;
17505
+ private getNumberUnmaskedValue;
17506
+ getMaskedValue(src: any): string;
17507
+ getUnmaskedValue(src: string): any;
17508
+ processInput(args: ITextInputParams): IMaskedInputResult;
17509
+ getType(): string;
17510
+ protected isPropertyEmpty(value: any): boolean;
17511
+ }
17512
+ }
17513
+ declare module "mask/mask_datetime" {
17514
+ import { InputMaskPattern } from "mask/mask_pattern";
17515
+ import { IMaskedInputResult, ITextInputParams } from "mask/mask_utils";
17516
+ export interface IDateTimeMaskLexem {
17517
+ type: "month" | "day" | "year" | "separator";
17518
+ value: any;
17519
+ count: number;
17520
+ maxCount: number;
17521
+ }
17522
+ export function getDateTimeLexems(pattern: string): Array<IDateTimeMaskLexem>;
17523
+ export class InputMaskDateTime extends InputMaskPattern {
17524
+ private turnOfTheCentury;
17525
+ private lexems;
17526
+ private inputDateTimeData;
17527
+ min: string;
17528
+ max: string;
17529
+ getType(): string;
17530
+ protected updateLiterals(): void;
17531
+ private leaveOnlyNumbers;
17532
+ private getMaskedStrFromISO;
17533
+ private initInputDateTimeData;
17534
+ private getISO_8601Format;
17535
+ private isYearValid;
17536
+ private isDateValid;
17537
+ private getPlaceholder;
17538
+ private updateInputDateTimeData;
17539
+ private getCorrectDatePartFormat;
17540
+ private createIDateTimeComposition;
17541
+ private parseTwoDigitYear;
17542
+ private getFormatedString;
17543
+ private setInputDateTimeData;
17544
+ _getMaskedValue(src: string, matchWholeMask?: boolean): string;
17545
+ private getPartsOld;
17546
+ private getParts;
17547
+ getUnmaskedValue(src: string): any;
17548
+ getMaskedValue(src: string): string;
17549
+ processInput(args: ITextInputParams): IMaskedInputResult;
17550
+ }
17551
+ }
17552
+ declare module "mask/mask_currency" {
17553
+ import { InputMaskNumeric } from "mask/mask_numeric";
17554
+ import { IMaskedInputResult, ITextInputParams } from "mask/mask_utils";
17555
+ export class InputMaskCurrency extends InputMaskNumeric {
17556
+ prefix: string;
17557
+ suffix: string;
17558
+ getType(): string;
17559
+ private wrapText;
17560
+ unwrapInputArgs(args: ITextInputParams): void;
17561
+ processInput(args: ITextInputParams): IMaskedInputResult;
17562
+ getMaskedValue(src: any): string;
17563
+ }
17564
+ }
17379
17565
  declare module "entries/chunks/model" {
17380
17566
  export var Version: string;
17381
17567
  export var ReleaseDate: string;
@@ -17468,6 +17654,11 @@ declare module "entries/chunks/model" {
17468
17654
  export { QuestionButtonGroupModel, ButtonGroupItemModel, ButtonGroupItemValue } from "question_buttongroup";
17469
17655
  export { IsMobile, IsTouch, _setIsTouch } from "utils/devices";
17470
17656
  export { confirmAction, confirmActionAsync, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, chooseFiles, sanitizeEditableContent, IAttachKey2clickOptions } from "utils/utils";
17657
+ export { InputMaskBase } from "mask/mask_base";
17658
+ export { InputMaskPattern } from "mask/mask_pattern";
17659
+ export { InputMaskNumeric } from "mask/mask_numeric";
17660
+ export { InputMaskDateTime } from "mask/mask_datetime";
17661
+ export { InputMaskCurrency } from "mask/mask_currency";
17471
17662
  export * from "utils/cssClassBuilder";
17472
17663
  export { surveyCss, defaultV2Css, defaultV2ThemeName } from "defaultCss/defaultV2Css";
17473
17664
  export { DragDropCore } from "dragdrop/core";
@@ -25107,6 +25298,7 @@ declare module "react/components/action-bar/action-bar" {
25107
25298
  get model(): ActionContainer<Action>;
25108
25299
  componentDidMount(): void;
25109
25300
  componentWillUnmount(): void;
25301
+ componentDidUpdate(prevProps: IActionBarProps, prevState: any): void;
25110
25302
  protected getStateElement(): Base;
25111
25303
  renderElement(): any;
25112
25304
  renderItems(): JSX.Element[];
@@ -25905,6 +26097,8 @@ declare module "react/reactquestion_text" {
25905
26097
  constructor(props: any);
25906
26098
  protected renderInput(): JSX.Element;
25907
26099
  protected renderElement(): JSX.Element;
26100
+ protected setValueCore(newValue: any): void;
26101
+ protected getValueCore(): any;
25908
26102
  private renderDataList;
25909
26103
  }
25910
26104
  }