survey-react 1.12.1 → 1.12.3

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
@@ -57,7 +57,7 @@ declare module "packages/survey-core/src/helpers" {
57
57
  private static prepareStringToNumber;
58
58
  static getMaxLength(maxLength: number, surveyLength: number): any;
59
59
  static getRemainingCharacterCounterText(newValue: string | undefined, maxLength: number | null): string;
60
- static getNumberByIndex(index: number, startIndexStr: string): string;
60
+ static getNumberByIndex(index: number, startIndexStr: string, parentIndex?: number): string;
61
61
  static isCharNotLetterAndDigit(ch: string): boolean;
62
62
  static isCharDigit(ch: string): boolean;
63
63
  private static getNumberFromStr;
@@ -1603,7 +1603,6 @@ declare module "packages/survey-core/src/defaultCss/defaultV2Css" {
1603
1603
  titleExpanded: string;
1604
1604
  titleCollapsed: string;
1605
1605
  titleDisabled: string;
1606
- titleHidden: string;
1607
1606
  titleOnExpand: string;
1608
1607
  titleOnError: string;
1609
1608
  titleBar: string;
@@ -1616,7 +1615,6 @@ declare module "packages/survey-core/src/defaultCss/defaultV2Css" {
1616
1615
  footer: string;
1617
1616
  requiredText: string;
1618
1617
  header: string;
1619
- headerHidden: string;
1620
1618
  collapsed: string;
1621
1619
  expanded: string;
1622
1620
  expandable: string;
@@ -1705,6 +1703,7 @@ declare module "packages/survey-core/src/defaultCss/defaultV2Css" {
1705
1703
  emptyHeaderRoot: string;
1706
1704
  title: string;
1707
1705
  description: string;
1706
+ number: string;
1708
1707
  errorsContainer: string;
1709
1708
  };
1710
1709
  pageTitle: string;
@@ -2309,6 +2308,7 @@ declare module "packages/survey-core/src/defaultCss/defaultV2Css" {
2309
2308
  rootSelectToRankEmptyValueMod: string;
2310
2309
  rootSelectToRankAlignVertical: string;
2311
2310
  rootSelectToRankAlignHorizontal: string;
2311
+ rootSelectToRankSwapAreas: string;
2312
2312
  item: string;
2313
2313
  itemContent: string;
2314
2314
  itemIndex: string;
@@ -2632,7 +2632,7 @@ declare module "packages/survey-core/src/panel-layout-column" {
2632
2632
  declare module "packages/survey-core/src/textPreProcessor" {
2633
2633
  import { Question } from "packages/survey-core/src/question";
2634
2634
  import { PanelModel } from "packages/survey-core/src/panel";
2635
- import { ISurvey, ITextProcessor } from "packages/survey-core/src/base-interfaces";
2635
+ import { ISurvey, ITextProcessor, ITextProcessorProp, ITextProcessorResult } from "packages/survey-core/src/base-interfaces";
2636
2636
  export class TextPreProcessorItem {
2637
2637
  start: number;
2638
2638
  end: number;
@@ -2670,7 +2670,7 @@ declare module "packages/survey-core/src/textPreProcessor" {
2670
2670
  protected getQuestionDisplayText(question: Question): string;
2671
2671
  private getProcessedTextValue;
2672
2672
  processText(text: string, returnDisplayValue: boolean): string;
2673
- processTextEx(text: string, returnDisplayValue: boolean): any;
2673
+ processTextEx(params: ITextProcessorProp): ITextProcessorResult;
2674
2674
  private processTextCore;
2675
2675
  }
2676
2676
  }
@@ -3207,6 +3207,7 @@ declare module "packages/survey-core/src/question_custom" {
3207
3207
  private setValuesIntoQuestions;
3208
3208
  protected getDisplayValueCore(keyAsText: boolean, value: any): any;
3209
3209
  private setAfterRenderCallbacks;
3210
+ get ariaRole(): string;
3210
3211
  }
3211
3212
  }
3212
3213
  declare module "packages/survey-core/src/questionfactory" {
@@ -3351,6 +3352,8 @@ declare module "packages/survey-core/src/panel" {
3351
3352
  setSurveyImpl(value: ISurveyImpl, isLight?: boolean): void;
3352
3353
  endLoadingFromJson(): void;
3353
3354
  showTitle: boolean;
3355
+ hasTextInTitle: boolean;
3356
+ protected calcHasTextInTitle(): void;
3354
3357
  get hasTitle(): boolean;
3355
3358
  delete(doDispose?: boolean): void;
3356
3359
  private deletePanel;
@@ -3732,7 +3735,10 @@ declare module "packages/survey-core/src/panel" {
3732
3735
  get questionErrorLocation(): string;
3733
3736
  set questionErrorLocation(val: string);
3734
3737
  getQuestionErrorLocation(): string;
3738
+ getTitleOwner(): ITitleOwner;
3735
3739
  get no(): string;
3740
+ get cssTitleNumber(): string;
3741
+ get cssRequiredText(): string;
3736
3742
  get cssError(): string;
3737
3743
  protected getCssError(cssClasses: any): string;
3738
3744
  getSerializableColumnsValue(): Array<PanelLayoutColumnModel>;
@@ -3750,11 +3756,8 @@ declare module "packages/survey-core/src/panel" {
3750
3756
  getType(): string;
3751
3757
  get contentId(): string;
3752
3758
  getSurvey(live?: boolean): ISurvey;
3753
- get hasTextInTitle(): boolean;
3754
- private calcHasTextInTitle;
3755
3759
  onSurveyLoad(): void;
3756
3760
  protected onSetData(): void;
3757
- get cssHeader(): string;
3758
3761
  get isPanel(): boolean;
3759
3762
  /**
3760
3763
  * Returns a page to which the panel belongs and allows you to move this panel to a different page.
@@ -3770,7 +3773,6 @@ declare module "packages/survey-core/src/panel" {
3770
3773
  * @see showNumber
3771
3774
  */
3772
3775
  get visibleIndex(): number;
3773
- getTitleOwner(): ITitleOwner;
3774
3776
  /**
3775
3777
  * Specifies whether to show the panel number in the title.
3776
3778
  *
@@ -4360,6 +4362,64 @@ declare module "packages/survey-core/src/choicesRestful" {
4360
4362
  }) => void);
4361
4363
  }
4362
4364
  }
4365
+ declare module "packages/survey-core/src/utils/text-area" {
4366
+ import { Question } from "packages/survey-core/src/question";
4367
+ export interface ITextArea {
4368
+ question: any;
4369
+ id: () => string;
4370
+ propertyName: string;
4371
+ className: () => string;
4372
+ isDisabledAttr: () => boolean;
4373
+ isReadOnlyAttr?: () => boolean;
4374
+ placeholder: () => string;
4375
+ autoGrow: () => boolean;
4376
+ maxLength: () => number;
4377
+ rows: () => number;
4378
+ cols?: () => number;
4379
+ getTextValue?: () => any;
4380
+ onTextAreaChange?: (event: any) => void;
4381
+ onTextAreaInput?: (event: any) => void;
4382
+ onTextAreaKeyDown?: (event: any) => void;
4383
+ onTextAreaBlur?: (event: any) => void;
4384
+ onTextAreaFocus?: (event: any) => void;
4385
+ ariaRequired: () => "true" | "false";
4386
+ ariaLabel: () => string;
4387
+ ariaInvalid?: () => "true" | "false";
4388
+ ariaLabelledBy?: () => string;
4389
+ ariaDescribedBy?: () => string;
4390
+ ariaErrormessage?: () => string;
4391
+ }
4392
+ export class TextAreaModel {
4393
+ private options;
4394
+ private element;
4395
+ private onPropertyChangedCallback;
4396
+ constructor(options: ITextArea);
4397
+ setElement(element: HTMLTextAreaElement | null): void;
4398
+ getTextValue(): string;
4399
+ onTextAreaChange(event: any): void;
4400
+ onTextAreaInput(event: any): void;
4401
+ onTextAreaKeyDown(event: any): void;
4402
+ onTextAreaBlur(event: any): void;
4403
+ onTextAreaFocus(event: any): void;
4404
+ get question(): Question;
4405
+ get id(): string;
4406
+ get placeholder(): string;
4407
+ get className(): string;
4408
+ get maxLength(): number;
4409
+ get autoGrow(): boolean;
4410
+ get rows(): number;
4411
+ get cols(): number | undefined;
4412
+ get isDisabledAttr(): boolean;
4413
+ get isReadOnlyAttr(): boolean | undefined;
4414
+ get ariaRequired(): "true" | "false";
4415
+ get ariaLabel(): string;
4416
+ get ariaInvalid(): "true" | "false";
4417
+ get ariaLabelledBy(): string;
4418
+ get ariaDescribedBy(): string;
4419
+ get ariaErrormessage(): string;
4420
+ dispose(): void;
4421
+ }
4422
+ }
4363
4423
  declare module "packages/survey-core/src/question_baseselect" {
4364
4424
  import { SurveyError } from "packages/survey-core/src/survey-error";
4365
4425
  import { ISurveyImpl, ISurvey, ISurveyData, IPlainDataOptions } from "packages/survey-core/src/base-interfaces";
@@ -4368,12 +4428,14 @@ declare module "packages/survey-core/src/question_baseselect" {
4368
4428
  import { ChoicesRestful } from "packages/survey-core/src/choicesRestful";
4369
4429
  import { LocalizableString } from "packages/survey-core/src/localizablestring";
4370
4430
  import { HashTable } from "packages/survey-core/src/helpers";
4431
+ import { TextAreaModel } from "packages/survey-core/src/utils/text-area";
4371
4432
  /**
4372
4433
  * A base class for multiple-choice question types ([Checkboxes](https://surveyjs.io/form-library/documentation/questioncheckboxmodel), [Dropdown](https://surveyjs.io/form-library/documentation/questiondropdownmodel), [Radio Button Group](https://surveyjs.io/form-library/documentation/questionradiogroupmodel), etc.).
4373
4434
  */
4374
4435
  export class QuestionSelectBase extends Question {
4375
4436
  visibleChoicesChangedCallback: () => void;
4376
4437
  loadedChoicesFromServerCallback: () => void;
4438
+ otherTextAreaModel: TextAreaModel;
4377
4439
  renderedChoicesChangedCallback: () => void;
4378
4440
  private filteredChoicesValue;
4379
4441
  private conditionChoicesVisibleIfRunner;
@@ -4392,6 +4454,7 @@ declare module "packages/survey-core/src/question_baseselect" {
4392
4454
  private waitingGetChoiceDisplayValueResponse;
4393
4455
  private get waitingChoicesByURL();
4394
4456
  protected selectedItemValues: any;
4457
+ private getOtherTextAreaOptions;
4395
4458
  constructor(name: string);
4396
4459
  getType(): string;
4397
4460
  dispose(): void;
@@ -4602,7 +4665,7 @@ declare module "packages/survey-core/src/question_baseselect" {
4602
4665
  * }
4603
4666
  * ```
4604
4667
  *
4605
- * To enable Markdown support for the `text` property, implement Markdown-to-HTML conversion in the [onTextMarkdown](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onTextMarkdown) event handler. For an example, refer to the following demo: [Convert Markdown to HTML with Showdown](https://surveyjs.io/form-library/examples/edit-survey-questions-markdown/).
4668
+ * To enable Markdown support for the `text` property, implement Markdown-to-HTML conversion in the [`onTextMarkdown`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onTextMarkdown) event handler. For an example, refer to the following demo: [Convert Markdown to HTML with markdown-it](https://surveyjs.io/form-library/examples/edit-survey-questions-markdown/).
4606
4669
  *
4607
4670
  * If you add custom properties, refer to the following help topic to learn how to serialize them into JSON: [Add Custom Properties to Property Grid](https://surveyjs.io/survey-creator/documentation/property-grid#add-custom-properties-to-the-property-grid).
4608
4671
  *
@@ -4920,13 +4983,18 @@ declare module "packages/survey-core/src/validator" {
4920
4983
  constructor(value: any, error?: SurveyError);
4921
4984
  }
4922
4985
  /**
4923
- * Base SurveyJS validator class.
4986
+ * A base class for all classes that implement validators.
4987
+ *
4988
+ * [View Demo](https://surveyjs.io/form-library/examples/javascript-form-validation/ (linkStyle))
4924
4989
  */
4925
4990
  export class SurveyValidator extends Base {
4926
4991
  errorOwner: ISurveyErrorOwner;
4927
4992
  onAsyncCompleted: (result: ValidatorResult) => void;
4928
4993
  constructor();
4929
4994
  getSurvey(live?: boolean): ISurvey;
4995
+ /**
4996
+ * An error message to display when a value fails validation.
4997
+ */
4930
4998
  get text(): string;
4931
4999
  set text(value: string);
4932
5000
  get isValidateAllValues(): boolean;
@@ -4958,7 +5026,9 @@ declare module "packages/survey-core/src/validator" {
4958
5026
  private prepareAsyncValidators;
4959
5027
  }
4960
5028
  /**
4961
- * Validate numeric values.
5029
+ * A class that implements a validator for numeric values.
5030
+ *
5031
+ * [View Demo](https://surveyjs.io/form-library/examples/javascript-form-validation/ (linkStyle))
4962
5032
  */
4963
5033
  export class NumericValidator extends SurveyValidator {
4964
5034
  constructor(minValue?: number, maxValue?: number);
@@ -4966,18 +5036,24 @@ declare module "packages/survey-core/src/validator" {
4966
5036
  validate(value: any, name?: string, values?: any, properties?: any): ValidatorResult;
4967
5037
  protected getDefaultErrorText(name: string): string;
4968
5038
  /**
4969
- * The minValue property.
5039
+ * A minimum allowed numeric value.
5040
+ *
5041
+ * [View Demo](https://surveyjs.io/form-library/examples/javascript-form-validation/ (linkStyle))
4970
5042
  */
4971
5043
  get minValue(): number;
4972
5044
  set minValue(val: number);
4973
5045
  /**
4974
- * The maxValue property.
5046
+ * A maximum allowed numeric value.
5047
+ *
5048
+ * [View Demo](https://surveyjs.io/form-library/examples/javascript-form-validation/ (linkStyle))
4975
5049
  */
4976
5050
  get maxValue(): number;
4977
5051
  set maxValue(val: number);
4978
5052
  }
4979
5053
  /**
4980
- * Validate text values.
5054
+ * A class that implements a validator for text values.
5055
+ *
5056
+ * [View Demo](https://surveyjs.io/form-library/examples/javascript-form-validation/ (linkStyle))
4981
5057
  */
4982
5058
  export class TextValidator extends SurveyValidator {
4983
5059
  constructor();
@@ -4985,23 +5061,35 @@ declare module "packages/survey-core/src/validator" {
4985
5061
  validate(value: any, name?: string, values?: any, properties?: any): ValidatorResult;
4986
5062
  protected getDefaultErrorText(name: string): string;
4987
5063
  /**
4988
- * The minLength property.
5064
+ * The minimum length of a text value measured in characters.
5065
+ *
5066
+ * Default value: 0
5067
+ *
5068
+ * [View Demo](https://surveyjs.io/form-library/examples/javascript-form-validation/ (linkStyle))
4989
5069
  */
4990
5070
  get minLength(): number;
4991
5071
  set minLength(val: number);
4992
5072
  /**
4993
- * The maxLength property.
5073
+ * The maximum length of a text value measured in characters.
5074
+ *
5075
+ * Default value: 0 (unlimited)
5076
+ *
5077
+ * [View Demo](https://surveyjs.io/form-library/examples/javascript-form-validation/ (linkStyle))
4994
5078
  */
4995
5079
  get maxLength(): number;
4996
5080
  set maxLength(val: number);
4997
5081
  /**
4998
- * The allowDigits property.
5082
+ * Specifies whether a text value can include numerical digits.
5083
+ *
5084
+ * Default value: `true`
4999
5085
  */
5000
5086
  get allowDigits(): boolean;
5001
5087
  set allowDigits(val: boolean);
5002
5088
  }
5003
5089
  /**
5004
- * Validates the number of answers.
5090
+ * A class that implements answer count validation in the question types that can have multiple values (for instance, [Checkboxes](https://surveyjs.io/form-library/documentation/api-reference/checkbox-question-model)).
5091
+ *
5092
+ * [View Demo](https://surveyjs.io/form-library/examples/javascript-form-validation/ (linkStyle))
5005
5093
  */
5006
5094
  export class AnswerCountValidator extends SurveyValidator {
5007
5095
  constructor(minCount?: number, maxCount?: number);
@@ -5009,18 +5097,22 @@ declare module "packages/survey-core/src/validator" {
5009
5097
  validate(value: any, name?: string, values?: any, properties?: any): ValidatorResult;
5010
5098
  protected getDefaultErrorText(name: string): string;
5011
5099
  /**
5012
- * The minCount property.
5100
+ * A minimum number of selected answers.
5101
+ *
5102
+ * [View Demo](https://surveyjs.io/form-library/examples/javascript-form-validation/ (linkStyle))
5013
5103
  */
5014
5104
  get minCount(): number;
5015
5105
  set minCount(val: number);
5016
5106
  /**
5017
- * The maxCount property.
5107
+ * A maximum number of selected answers.
5108
+ *
5109
+ * [View Demo](https://surveyjs.io/form-library/examples/javascript-form-validation/ (linkStyle))
5018
5110
  */
5019
5111
  get maxCount(): number;
5020
5112
  set maxCount(val: number);
5021
5113
  }
5022
5114
  /**
5023
- * Use it to validate the text by regular expressions.
5115
+ * A class that implements validation using regular expressions.
5024
5116
  *
5025
5117
  * [View Demo](https://surveyjs.io/form-library/examples/javascript-form-validation/ (linkStyle))
5026
5118
  */
@@ -5030,16 +5122,27 @@ declare module "packages/survey-core/src/validator" {
5030
5122
  validate(value: any, name?: string, values?: any, properties?: any): ValidatorResult;
5031
5123
  private hasError;
5032
5124
  /**
5033
- * The regex property.
5125
+ * A regular expression used to validate values.
5126
+ *
5127
+ * [View Demo](https://surveyjs.io/form-library/examples/javascript-form-validation/ (linkStyle))
5034
5128
  */
5035
5129
  get regex(): string;
5036
5130
  set regex(val: string);
5131
+ /**
5132
+ * Specifies whether uppercase and lowercase letters must be treated as distinct or equivalent when validating values.
5133
+ *
5134
+ * Default value: `false` (uppercase and lowercase letters are treated as distinct)
5135
+ */
5136
+ get caseInsensitive(): boolean;
5137
+ set caseInsensitive(val: boolean);
5037
5138
  get insensitive(): boolean;
5038
5139
  set insensitive(val: boolean);
5039
5140
  private createRegExp;
5040
5141
  }
5041
5142
  /**
5042
- * Validate e-mail address in the text input
5143
+ * A class that implements a validator for e-mail addresses.
5144
+ *
5145
+ * [View Demo](https://surveyjs.io/form-library/examples/javascript-form-validation/ (linkStyle))
5043
5146
  */
5044
5147
  export class EmailValidator extends SurveyValidator {
5045
5148
  private re;
@@ -5049,7 +5152,9 @@ declare module "packages/survey-core/src/validator" {
5049
5152
  protected getDefaultErrorText(name: string): string;
5050
5153
  }
5051
5154
  /**
5052
- * Show error if expression returns false
5155
+ * A class that implements validation using [expressions](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#expressions).
5156
+ *
5157
+ * [View Demo](https://surveyjs.io/form-library/examples/javascript-form-validation/ (linkStyle))
5053
5158
  */
5054
5159
  export class ExpressionValidator extends SurveyValidator {
5055
5160
  private conditionRunner;
@@ -5064,7 +5169,9 @@ declare module "packages/survey-core/src/validator" {
5064
5169
  protected getDefaultErrorText(name: string): string;
5065
5170
  protected ensureConditionRunner(): boolean;
5066
5171
  /**
5067
- * The expression property.
5172
+ * A Boolean [expression](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#expressions). If it evaluates to `false`, validation fails.
5173
+ *
5174
+ * [View Demo](https://surveyjs.io/form-library/examples/javascript-form-validation/ (linkStyle))
5068
5175
  */
5069
5176
  get expression(): string;
5070
5177
  set expression(val: string);
@@ -5266,6 +5373,7 @@ declare module "packages/survey-core/src/question_matrixdropdowncolumn" {
5266
5373
  set visible(val: boolean);
5267
5374
  get hasVisibleCell(): boolean;
5268
5375
  set hasVisibleCell(newVal: boolean);
5376
+ isColumnsVisibleIf: boolean;
5269
5377
  getVisibleMultipleChoices(): Array<ItemValue>;
5270
5378
  get getVisibleChoicesInCell(): Array<any>;
5271
5379
  setVisibleChoicesInCell(val: Array<any>): void;
@@ -6129,6 +6237,7 @@ declare module "packages/survey-core/src/question_matrixdynamic" {
6129
6237
  private getInsertedDeletedIndex;
6130
6238
  private isEditingObjectValueChanged;
6131
6239
  updateValueFromSurvey(newValue: any, clearData?: boolean): void;
6240
+ protected getFilteredDataCore(): any;
6132
6241
  protected onBeforeValueChanged(val: any): void;
6133
6242
  protected createNewValue(): any;
6134
6243
  protected deleteRowValue(newValue: any, row: MatrixDropdownRowModelBase): any;
@@ -8314,8 +8423,12 @@ declare module "packages/survey-core/src/page" {
8314
8423
  getType(): string;
8315
8424
  toString(): string;
8316
8425
  get isPage(): boolean;
8426
+ get no(): string;
8427
+ get cssTitleNumber(): string;
8428
+ get cssRequiredText(): string;
8317
8429
  protected canShowPageNumber(): boolean;
8318
8430
  protected canShowTitle(): boolean;
8431
+ protected setTitleValue(val: string): void;
8319
8432
  /**
8320
8433
  * A caption displayed on a navigation button in the TOC or progress bar. Applies when [`showTOC`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#showTOC) is `true` or when the [progress bar is visible](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#showProgressBar), [`progressBarType`](https://surveyjs.io/form-library/documentation/surveymodel#progressBarType) is set to `"pages"`, and [`progressBarShowPageTitles`](https://surveyjs.io/form-library/documentation/surveymodel#progressBarShowPageTitles) is `true`.
8321
8434
  *
@@ -9165,7 +9278,7 @@ declare module "packages/survey-core/src/question_multipletext" {
9165
9278
  * }
9166
9279
  * ```
9167
9280
  *
9168
- * To enable Markdown support for the `title` property, implement Markdown-to-HTML conversion in the [`onTextMarkdown`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onTextMarkdown) event handler. For an example, refer to the following demo: [Convert Markdown to HTML with Showdown](https://surveyjs.io/form-library/examples/edit-survey-questions-markdown/).
9281
+ * To enable Markdown support for the `title` property, implement Markdown-to-HTML conversion in the [`onTextMarkdown`](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onTextMarkdown) event handler. For an example, refer to the following demo: [Convert Markdown to HTML with markdown-it](https://surveyjs.io/form-library/examples/edit-survey-questions-markdown/).
9169
9282
  * @see itemTitleWidth
9170
9283
  * @see addItem
9171
9284
  */
@@ -9323,6 +9436,7 @@ declare module "packages/survey-core/src/header" {
9323
9436
  cells: CoverCell[];
9324
9437
  actualHeight: number;
9325
9438
  height: number;
9439
+ mobileHeight: number;
9326
9440
  inheritWidthFrom: "survey" | "container";
9327
9441
  textAreaWidth: number;
9328
9442
  textGlowEnabled: boolean;
@@ -9462,7 +9576,7 @@ declare module "packages/survey-core/src/surveyToc" {
9462
9576
  declare module "packages/survey-core/src/survey" {
9463
9577
  import { JsonError } from "packages/survey-core/src/jsonobject";
9464
9578
  import { Base, EventBase } from "packages/survey-core/src/base";
9465
- import { ISurvey, ISurveyData, ISurveyImpl, ITextProcessor, IQuestion, IPanel, IElement, IPage, ISurveyErrorOwner, ISurveyElement, IProgressInfo, IFindElement, ISurveyLayoutElement, IPlainDataOptions, LayoutElementContainer, IValueItemCustomPropValues, ILoadFromJSONOptions, IDropdownMenuOptions } from "packages/survey-core/src/base-interfaces";
9579
+ import { ISurvey, ISurveyData, ISurveyImpl, ITextProcessor, IQuestion, IPanel, IElement, IPage, ISurveyErrorOwner, ISurveyElement, IProgressInfo, IFindElement, ISurveyLayoutElement, IPlainDataOptions, LayoutElementContainer, IValueItemCustomPropValues, ILoadFromJSONOptions, IDropdownMenuOptions, ITextProcessorProp, ITextProcessorResult } from "packages/survey-core/src/base-interfaces";
9466
9580
  import { SurveyElementCore } from "packages/survey-core/src/survey-element";
9467
9581
  import { ISurveyTriggerOwner, SurveyTrigger, Trigger } from "packages/survey-core/src/trigger";
9468
9582
  import { CalculatedValue } from "packages/survey-core/src/calculatedValue";
@@ -9526,7 +9640,7 @@ declare module "packages/survey-core/src/survey" {
9526
9640
  *
9527
9641
  * For information on event handler parameters, refer to descriptions within the interface.
9528
9642
  *
9529
- * [Conditional Survey Logic (Triggers)](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#conditional-survey-logic-triggers (linkStyle)).
9643
+ * [Conditional Survey Logic (Triggers)](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#conditional-survey-logic-triggers (linkStyle))
9530
9644
  * @see triggers
9531
9645
  * @see runTriggers
9532
9646
  */
@@ -12079,10 +12193,9 @@ declare module "packages/survey-core/src/survey" {
12079
12193
  validatePanel(panel: PanelModel): SurveyError;
12080
12194
  processHtml(html: string, reason?: string): string;
12081
12195
  processText(text: string, returnDisplayValue: boolean): string;
12082
- processTextEx(text: string, returnDisplayValue: boolean, doEncoding: boolean): any;
12196
+ processTextEx(params: ITextProcessorProp): ITextProcessorResult;
12083
12197
  private textPreProcessorValue;
12084
12198
  private get textPreProcessor();
12085
- private processTextCore;
12086
12199
  getSurveyMarkdownHtml(element: Question | PanelModel | PageModel | SurveyModel, text: string, name: string): string;
12087
12200
  getCorrectedAnswerCount(): number;
12088
12201
  /**
@@ -12388,6 +12501,7 @@ declare module "packages/survey-core/src/survey-element" {
12388
12501
  set title(val: string);
12389
12502
  get locTitle(): LocalizableString;
12390
12503
  protected getDefaultTitleValue(): string;
12504
+ protected setTitleValue(val: string): void;
12391
12505
  /**
12392
12506
  * Returns `true` if the survey element has a description.
12393
12507
  * @see description
@@ -12605,6 +12719,7 @@ declare module "packages/survey-core/src/survey-element" {
12605
12719
  */
12606
12720
  get cssClasses(): any;
12607
12721
  get cssTitleNumber(): any;
12722
+ get cssRequiredText(): any;
12608
12723
  protected calcCssClasses(css: any): any;
12609
12724
  protected updateElementCssCore(cssClasses: any): void;
12610
12725
  get cssError(): string;
@@ -12849,6 +12964,7 @@ declare module "packages/survey-core/src/question" {
12849
12964
  import { SurveyError } from "packages/survey-core/src/survey-error";
12850
12965
  import { PopupModel } from "packages/survey-core/src/popup";
12851
12966
  import { ITheme } from "packages/survey-core/src/themes";
12967
+ import { TextAreaModel } from "packages/survey-core/src/utils/text-area";
12852
12968
  export interface IConditionObject {
12853
12969
  name: string;
12854
12970
  text: string;
@@ -12902,6 +13018,8 @@ declare module "packages/survey-core/src/question" {
12902
13018
  private isReadyValue;
12903
13019
  private commentElements;
12904
13020
  private dependedQuestions;
13021
+ commentTextAreaModel: TextAreaModel;
13022
+ private getCommentTextAreaOptions;
12905
13023
  /**
12906
13024
  * An event that is raised when the question's ready state has changed (expressions are evaluated, choices are loaded from a web resource specified by the `choicesByUrl` property, etc.).
12907
13025
  *
@@ -13356,6 +13474,8 @@ declare module "packages/survey-core/src/question" {
13356
13474
  * A survey parses and runs all expressions on startup. If any values used in the expression change, the survey re-evaluates it.
13357
13475
  *
13358
13476
  * Refer to the following help topic for more information: [Conditional Visibility](https://surveyjs.io/form-library/documentation/design-survey-conditional-logic#conditional-visibility).
13477
+ *
13478
+ * [View Demo](https://surveyjs.io/form-library/examples/how-to-conditionally-make-input-field-read-only/ (linkStyle))
13359
13479
  * @see readOnly
13360
13480
  * @see isReadOnly
13361
13481
  */
@@ -13363,6 +13483,8 @@ declare module "packages/survey-core/src/question" {
13363
13483
  set enableIf(val: string);
13364
13484
  surveyChoiceItemVisibilityChange(): void;
13365
13485
  runCondition(values: HashTable<any>, properties: HashTable<any>): void;
13486
+ get isInDesignMode(): boolean;
13487
+ get isInDesignModeV2(): boolean;
13366
13488
  /**
13367
13489
  * A question number or letter (depends on the `questionStartIndex` property of the question container (panel, page, or survey)).
13368
13490
  *
@@ -13503,31 +13625,31 @@ declare module "packages/survey-core/src/question" {
13503
13625
  get defaultValueExpression(): any;
13504
13626
  set defaultValueExpression(val: any);
13505
13627
  /**
13506
- * A Boolean expression. If it evaluates to `true`, the question value is reset to [default](#defaultValue).
13628
+ * A Boolean [expression](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#expressions). If it evaluates to `true`, the question value is reset to [default](#defaultValue).
13507
13629
  *
13508
13630
  * A survey parses and runs all expressions on startup. If any values used in the expression change, the survey re-evaluates it.
13509
13631
  *
13510
- * [Expressions](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#expressions (linkStyle))
13632
+ * [View Demo](https://surveyjs.io/form-library/examples/set-question-value-dynamically/ (linkStyle))
13511
13633
  * @see setValueIf
13512
13634
  */
13513
13635
  get resetValueIf(): string;
13514
13636
  set resetValueIf(val: string);
13515
13637
  /**
13516
- * A Boolean expression. If it evaluates to `true`, the question value is set to a value calculated using the [`setValueExpression`](#setValueExpression).
13638
+ * A Boolean [expression](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#expressions). If it evaluates to `true`, the question value is set to a value calculated using the [`setValueExpression`](#setValueExpression).
13517
13639
  *
13518
13640
  * A survey parses and runs all expressions on startup. If any values used in the expression change, the survey re-evaluates it.
13519
13641
  *
13520
- * [Expressions](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#expressions (linkStyle))
13642
+ * [View Demo](https://surveyjs.io/form-library/examples/set-question-value-dynamically/ (linkStyle))
13521
13643
  * @see resetValueIf
13522
13644
  */
13523
13645
  get setValueIf(): string;
13524
13646
  set setValueIf(val: string);
13525
13647
  /**
13526
- * An expression used to calculate the question value.
13648
+ * An [expression](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#expressions) used to calculate the question value.
13527
13649
  *
13528
13650
  * You can use `setValueExpression` as a standalone property or in conjunction with the [`setValueIf`](#setValueIf) expression, in which case the calculated question value applies only when `setValueIf` evaluates to `true`.
13529
13651
  *
13530
- * [Expressions](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#expressions (linkStyle))
13652
+ * [View Demo](https://surveyjs.io/form-library/examples/set-question-value-dynamically/ (linkStyle))
13531
13653
  * @see defaultValueExpression
13532
13654
  * @see resetValueIf
13533
13655
  */
@@ -13861,11 +13983,11 @@ declare module "packages/survey-core/src/martixBase" {
13861
13983
  import { HashTable } from "packages/survey-core/src/helpers";
13862
13984
  import { ItemValue } from "packages/survey-core/src/itemvalue";
13863
13985
  import { Question } from "packages/survey-core/src/question";
13986
+ import { ConditionRunner } from "packages/survey-core/src/conditions";
13864
13987
  /**
13865
13988
  * A base class for all matrix question types.
13866
13989
  */
13867
13990
  export class QuestionMatrixBaseModel<TRow, TColumn> extends Question {
13868
- protected filteredColumns: Array<TColumn>;
13869
13991
  protected filteredRows: Array<ItemValue>;
13870
13992
  protected generatedVisibleRows: Array<TRow>;
13871
13993
  protected generatedTotalRow: TRow;
@@ -13896,6 +14018,7 @@ declare module "packages/survey-core/src/martixBase" {
13896
14018
  get columns(): Array<any>;
13897
14019
  set columns(newValue: Array<any>);
13898
14020
  get visibleColumns(): Array<any>;
14021
+ protected isColumnVisible(column: any): boolean;
13899
14022
  /**
13900
14023
  * An array of matrix rows.
13901
14024
  *
@@ -13938,20 +14061,20 @@ declare module "packages/survey-core/src/martixBase" {
13938
14061
  get columnsVisibleIf(): string;
13939
14062
  set columnsVisibleIf(val: string);
13940
14063
  runCondition(values: HashTable<any>, properties: HashTable<any>): void;
13941
- protected filterItems(): boolean;
13942
14064
  protected onColumnsChanged(): void;
13943
14065
  protected onRowsChanged(): void;
13944
14066
  protected updateVisibilityBasedOnRows(): void;
13945
14067
  protected isVisibleCore(): boolean;
13946
14068
  protected shouldRunColumnExpression(): boolean;
13947
14069
  protected hasRowsAsItems(): boolean;
13948
- protected runItemsCondition(values: HashTable<any>, properties: HashTable<any>): boolean;
14070
+ protected runItemsCondition(values: HashTable<any>, properties: HashTable<any>): void;
14071
+ protected isRowsFiltered(): boolean;
13949
14072
  protected clearGeneratedRows(): void;
14073
+ protected createRowsVisibleIfRunner(): ConditionRunner;
13950
14074
  private runConditionsForRows;
13951
- private runConditionsForColumns;
13952
- clearIncorrectValues(): void;
14075
+ protected runConditionsForColumns(values: HashTable<any>, properties: HashTable<any>): boolean;
14076
+ protected clearInvisibleColumnValues(): void;
13953
14077
  protected clearInvisibleValuesInRows(): void;
13954
- private restoreNewVisibleRowsValues;
13955
14078
  needResponsiveWidth(): boolean;
13956
14079
  protected get columnsAutoWidth(): boolean;
13957
14080
  getTableCss(): string;
@@ -14005,6 +14128,7 @@ declare module "packages/survey-core/src/question_matrixdropdownbase" {
14005
14128
  import { QuestionMatrixDropdownRenderedCell, QuestionMatrixDropdownRenderedRow, QuestionMatrixDropdownRenderedTable } from "packages/survey-core/src/question_matrixdropdownrendered";
14006
14129
  export interface IMatrixDropdownData {
14007
14130
  value: any;
14131
+ getFilteredData(): any;
14008
14132
  onRowChanged(row: MatrixDropdownRowModelBase, columnName: string, newRowValue: any, isDeletingValue: boolean): void;
14009
14133
  onRowChanging(row: MatrixDropdownRowModelBase, columnName: string, rowValue: any): any;
14010
14134
  isValidateOnValueChanging: boolean;
@@ -14030,6 +14154,7 @@ declare module "packages/survey-core/src/question_matrixdropdownbase" {
14030
14154
  getSurvey(): ISurvey;
14031
14155
  getDataFilteredValues(): any;
14032
14156
  isMatrixReadOnly(): boolean;
14157
+ onRowVisibilityChanged(row: MatrixDropdownRowModelBase): void;
14033
14158
  }
14034
14159
  export class MatrixDropdownCell {
14035
14160
  column: MatrixDropdownColumn;
@@ -14069,6 +14194,7 @@ declare module "packages/survey-core/src/question_matrixdropdownbase" {
14069
14194
  private idValue;
14070
14195
  private textPreProcessor;
14071
14196
  private detailPanelValue;
14197
+ private visibleValue;
14072
14198
  cells: Array<MatrixDropdownCell>;
14073
14199
  showHideDetailPanelClick: any;
14074
14200
  onDetailPanelShowingChanged: () => void;
@@ -14079,6 +14205,10 @@ declare module "packages/survey-core/src/question_matrixdropdownbase" {
14079
14205
  get text(): any;
14080
14206
  isRowEnabled(): boolean;
14081
14207
  protected isRowHasEnabledCondition(): boolean;
14208
+ get isVisible(): boolean;
14209
+ get visible(): boolean;
14210
+ set visible(val: boolean);
14211
+ protected isItemVisible(): boolean;
14082
14212
  get value(): any;
14083
14213
  set value(value: any);
14084
14214
  get locText(): LocalizableString;
@@ -14097,7 +14227,8 @@ declare module "packages/survey-core/src/question_matrixdropdownbase" {
14097
14227
  getFilteredValues(): any;
14098
14228
  getFilteredProperties(): any;
14099
14229
  private applyRowVariablesToValues;
14100
- runCondition(values: HashTable<any>, properties: HashTable<any>): void;
14230
+ runCondition(values: HashTable<any>, properties: HashTable<any>, rowsVisibleIf?: string): void;
14231
+ protected setRowsVisibleIfValues(values: any): void;
14101
14232
  getNamesWithDefaultValues(): Array<string>;
14102
14233
  clearValue(keepComment?: boolean): void;
14103
14234
  onAnyValueChanged(name: string, questionName: string): void;
@@ -14158,7 +14289,7 @@ declare module "packages/survey-core/src/question_matrixdropdownbase" {
14158
14289
  constructor(data: IMatrixDropdownData);
14159
14290
  protected createCell(column: MatrixDropdownColumn): MatrixDropdownCell;
14160
14291
  setValue(name: string, newValue: any): void;
14161
- runCondition(values: HashTable<any>, properties: HashTable<any>): void;
14292
+ runCondition(values: HashTable<any>, properties: HashTable<any>, rowsVisibleIf?: string): void;
14162
14293
  protected updateCellOnColumnChanged(cell: MatrixDropdownCell, name: string, newValue: any): void;
14163
14294
  }
14164
14295
  /**
@@ -14366,6 +14497,7 @@ declare module "packages/survey-core/src/question_matrixdropdownbase" {
14366
14497
  runTriggers(name: string, value: any): void;
14367
14498
  protected shouldRunColumnExpression(): boolean;
14368
14499
  protected runCellsCondition(values: HashTable<any>, properties: HashTable<any>): void;
14500
+ protected runConditionsForColumns(values: HashTable<any>, properties: HashTable<any>): boolean;
14369
14501
  private checkColumnsVisibility;
14370
14502
  private checkColumnsRenderedRequired;
14371
14503
  private isColumnVisibilityChanged;
@@ -14394,7 +14526,7 @@ declare module "packages/survey-core/src/question_matrixdropdownbase" {
14394
14526
  * }
14395
14527
  * ```
14396
14528
  *
14397
- * To enable Markdown support for the `text` property, implement Markdown-to-HTML conversion in the [onTextMarkdown](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onTextMarkdown) event handler. For an example, refer to the following demo: [Convert Markdown to HTML with Showdown](https://surveyjs.io/form-library/examples/edit-survey-questions-markdown/).
14529
+ * To enable Markdown support for the `text` property, implement Markdown-to-HTML conversion in the [onTextMarkdown](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onTextMarkdown) event handler. For an example, refer to the following demo: [Convert Markdown to HTML with markdown-it](https://surveyjs.io/form-library/examples/edit-survey-questions-markdown/).
14398
14530
  *
14399
14531
  * If you add custom properties, refer to the following help topic to learn how to serialize them into JSON: [Add Custom Properties to Property Grid](https://surveyjs.io/survey-creator/documentation/property-grid#add-custom-properties-to-the-property-grid).
14400
14532
  *
@@ -14423,7 +14555,13 @@ declare module "packages/survey-core/src/question_matrixdropdownbase" {
14423
14555
  get locKeyDuplicationError(): LocalizableString;
14424
14556
  get storeOthersAsComment(): boolean;
14425
14557
  addColumn(name: string, title?: string): MatrixDropdownColumn;
14558
+ private visibleRowsArray;
14559
+ protected clearVisibleRows(): void;
14560
+ protected isColumnVisible(column: any): boolean;
14561
+ private isGenereatingRows;
14426
14562
  protected getVisibleRows(): Array<MatrixDropdownRowModelBase>;
14563
+ private generateVisibleRowsIfNeeded;
14564
+ private getVisibleFromGenerated;
14427
14565
  private updateValueOnRowsGeneration;
14428
14566
  get totalValue(): any;
14429
14567
  protected getVisibleTotalRow(): MatrixDropdownRowModelBase;
@@ -14497,6 +14635,9 @@ declare module "packages/survey-core/src/question_matrixdropdownbase" {
14497
14635
  protected onCellValueChanged(row: MatrixDropdownRowModelBase, columnName: string, rowValue: any): void;
14498
14636
  validateCell(row: MatrixDropdownRowModelBase, columnName: string, rowValue: any): SurveyError;
14499
14637
  get isValidateOnValueChanging(): boolean;
14638
+ protected get hasInvisibleRows(): boolean;
14639
+ getFilteredData(): any;
14640
+ protected getFilteredDataCore(): any;
14500
14641
  onRowChanging(row: MatrixDropdownRowModelBase, columnName: string, rowValue: any): any;
14501
14642
  onRowChanged(row: MatrixDropdownRowModelBase, columnName: string, newRowValue: any, isDeletingValue: boolean): void;
14502
14643
  private getNewValueOnRowChanged;
@@ -14515,6 +14656,10 @@ declare module "packages/survey-core/src/question_matrixdropdownbase" {
14515
14656
  getDataFilteredValues(): any;
14516
14657
  getParentTextProcessor(): ITextProcessor;
14517
14658
  isMatrixReadOnly(): boolean;
14659
+ onRowVisibilityChanged(row: MatrixDropdownRowModelBase): void;
14660
+ protected clearValueIfInvisibleCore(reason: string): void;
14661
+ protected clearInvisibleValuesInRows(): void;
14662
+ protected isRowsFiltered(): boolean;
14518
14663
  getQuestionFromArray(name: string, index: number): IQuestion;
14519
14664
  private isMatrixValueEmpty;
14520
14665
  private get SurveyModel();
@@ -14556,9 +14701,19 @@ declare module "packages/survey-core/src/base-interfaces" {
14556
14701
  findQuestionByName(name: string): IQuestion;
14557
14702
  getEditingSurveyElement(): Base;
14558
14703
  }
14704
+ export interface ITextProcessorProp {
14705
+ text: string;
14706
+ returnDisplayValue?: boolean;
14707
+ doEncoding?: boolean;
14708
+ runAtDesign?: boolean;
14709
+ }
14710
+ export interface ITextProcessorResult {
14711
+ text: string;
14712
+ hasAllValuesOnLastRun: boolean;
14713
+ }
14559
14714
  export interface ITextProcessor {
14560
14715
  processText(text: string, returnDisplayValue: boolean): string;
14561
- processTextEx(text: string, returnDisplayValue: boolean, doEncoding: boolean): any;
14716
+ processTextEx(params: ITextProcessorProp): ITextProcessorResult;
14562
14717
  }
14563
14718
  export interface ISurveyErrorOwner extends ILocalizableOwner {
14564
14719
  getErrorCustomText(text: string, error: SurveyError): string;
@@ -14812,6 +14967,8 @@ declare module "packages/survey-core/src/base-interfaces" {
14812
14967
  name: string;
14813
14968
  no: string;
14814
14969
  requiredText: string;
14970
+ cssTitleNumber: string;
14971
+ cssRequiredText?: string;
14815
14972
  isRequireTextOnStart: boolean;
14816
14973
  isRequireTextBeforeTitle: boolean;
14817
14974
  isRequireTextAfterTitle: boolean;
@@ -15431,7 +15588,7 @@ declare module "packages/survey-core/src/base" {
15431
15588
  private static currentDependencis;
15432
15589
  static finishCollectDependencies(): Dependencies;
15433
15590
  static startCollectDependencies(updater: () => void, target: Base, property: string): void;
15434
- private static collectDependency;
15591
+ protected static collectDependency(target: Base, property: string): void;
15435
15592
  dependencies: {
15436
15593
  [key: string]: ComputedUpdater;
15437
15594
  };
@@ -16477,8 +16634,10 @@ declare module "packages/survey-core/src/question_matrixdropdown" {
16477
16634
  get rowName(): string;
16478
16635
  get text(): string;
16479
16636
  get locText(): LocalizableString;
16637
+ protected isItemVisible(): boolean;
16480
16638
  isRowEnabled(): boolean;
16481
16639
  protected isRowHasEnabledCondition(): boolean;
16640
+ protected setRowsVisibleIfValues(values: any): void;
16482
16641
  }
16483
16642
  /**
16484
16643
  * A class that describes the Multi-Select Matrix question type. Multi-Select Matrix allows you to use the [Dropdown](https://surveyjs.io/form-library/documentation/questiondropdownmodel), [Checkbox](https://surveyjs.io/form-library/documentation/questioncheckboxmodel), [Radiogroup](https://surveyjs.io/form-library/documentation/questionradiogroupmodel), [Text](https://surveyjs.io/form-library/documentation/questiontextmodel), and [Comment](https://surveyjs.io/form-library/documentation/questioncommentmodel) question types as cell editors.
@@ -16510,12 +16669,13 @@ declare module "packages/survey-core/src/question_matrixdropdown" {
16510
16669
  protected getConditionObjectsRowIndeces(): Array<number>;
16511
16670
  protected isNewValueCorrect(val: any): boolean;
16512
16671
  clearIncorrectValues(): void;
16513
- protected clearValueIfInvisibleCore(reason: string): void;
16672
+ private getRowByKey;
16514
16673
  private defaultValuesInRows;
16515
16674
  protected clearGeneratedRows(): void;
16516
16675
  private getRowValueForCreation;
16517
16676
  protected generateRows(): Array<MatrixDropdownRowModel>;
16518
16677
  protected createMatrixRow(item: ItemValue, value: any): MatrixDropdownRowModel;
16678
+ protected getFilteredDataCore(): any;
16519
16679
  protected getSearchableItemValueKeys(keys: Array<string>): void;
16520
16680
  protected updateProgressInfoByValues(res: IProgressInfo): void;
16521
16681
  }
@@ -16821,6 +16981,7 @@ declare module "packages/survey-core/src/question_matrix" {
16821
16981
  import { LocalizableString, ILocalizableOwner } from "packages/survey-core/src/localizablestring";
16822
16982
  import { IConditionObject, IQuestionPlainData } from "packages/survey-core/src/question";
16823
16983
  import { IPlainDataOptions } from "packages/survey-core/src/base-interfaces";
16984
+ import { ConditionRunner } from "packages/survey-core/src/conditions";
16824
16985
  export interface IMatrixData {
16825
16986
  onMatrixRowChanged(row: MatrixRowModel): void;
16826
16987
  getCorrectedRowValue(value: any): any;
@@ -16935,7 +17096,9 @@ declare module "packages/survey-core/src/question_matrix" {
16935
17096
  locStrsChanged(): void;
16936
17097
  protected getQuizQuestionCount(): number;
16937
17098
  protected getCorrectAnswerCount(): number;
16938
- protected runItemsCondition(values: HashTable<any>, properties: HashTable<any>): boolean;
17099
+ runCondition(values: HashTable<any>, properties: HashTable<any>): void;
17100
+ protected createRowsVisibleIfRunner(): ConditionRunner;
17101
+ protected onRowsChanged(): void;
16939
17102
  protected getVisibleRows(): Array<MatrixRowModel>;
16940
17103
  protected sortVisibleRows(array: Array<MatrixRowModel>): Array<MatrixRowModel>;
16941
17104
  endLoadingFromJson(): void;
@@ -16973,7 +17136,12 @@ declare module "packages/survey-core/src/question_matrix" {
16973
17136
  getPlainData(options?: IPlainDataOptions): IQuestionPlainData;
16974
17137
  addConditionObjectsByContext(objects: Array<IConditionObject>, context: any): void;
16975
17138
  getConditionJson(operator?: string, path?: string): any;
17139
+ clearIncorrectValues(): void;
16976
17140
  protected clearValueIfInvisibleCore(reason: string): void;
17141
+ protected clearInvisibleColumnValues(): void;
17142
+ protected clearInvisibleValuesInRows(): void;
17143
+ protected clearInvisibleValuesInRowsAndColumns(inRows: boolean, inColumns: boolean, inCorrectRows: boolean): void;
17144
+ private getVisibleColumnByValue;
16977
17145
  protected getFirstInputElementId(): string;
16978
17146
  onMatrixRowChanged(row: MatrixRowModel): void;
16979
17147
  getCorrectedRowValue(value: any): any;
@@ -17570,7 +17738,8 @@ declare module "packages/survey-core/src/dragdrop/choices" {
17570
17738
  protected doDragOver: () => any;
17571
17739
  protected isDropTargetValid(dropTarget: ItemValue, dropTargetNode?: HTMLElement): boolean;
17572
17740
  protected doBanDropHere: () => any;
17573
- protected calculateIsBottom(clientY: number): boolean;
17741
+ protected isDropTargetDoesntChanged(newIsBottom: boolean): boolean;
17742
+ protected calculateIsBottom(clientY: number, dropTargetNode?: HTMLElement): boolean;
17574
17743
  protected afterDragOver(dropTargetNode: HTMLElement): void;
17575
17744
  protected doDrop(): any;
17576
17745
  clear(): void;
@@ -17728,6 +17897,8 @@ declare module "packages/survey-core/src/question_ranking" {
17728
17897
  */
17729
17898
  get selectToRankEnabled(): boolean;
17730
17899
  set selectToRankEnabled(val: boolean);
17900
+ get selectToRankSwapAreas(): boolean;
17901
+ set selectToRankSwapAreas(val: boolean);
17731
17902
  carryForwardStartUnranked: boolean;
17732
17903
  /**
17733
17904
  * Specifies the layout of the ranked and unranked areas. Applies when [`selectToRankEnabled`](https://surveyjs.io/form-library/documentation/api-reference/ranking-question-model#selectToRankEnabled) is `true`.
@@ -17760,6 +17931,7 @@ declare module "packages/survey-core/src/question_ranking" {
17760
17931
  }
17761
17932
  declare module "packages/survey-core/src/question_comment" {
17762
17933
  import { QuestionTextBase } from "packages/survey-core/src/question_textbase";
17934
+ import { TextAreaModel } from "packages/survey-core/src/utils/text-area";
17763
17935
  /**
17764
17936
  * A class that describes the Long Text question type.
17765
17937
  *
@@ -17767,6 +17939,9 @@ declare module "packages/survey-core/src/question_comment" {
17767
17939
  */
17768
17940
  export class QuestionCommentModel extends QuestionTextBase {
17769
17941
  private element;
17942
+ textAreaModel: TextAreaModel;
17943
+ private getTextAreaOptions;
17944
+ constructor(name: string);
17770
17945
  /**
17771
17946
  * Specifies the visible height of the comment area, measured in lines.
17772
17947
  *
@@ -17934,7 +18109,7 @@ declare module "packages/survey-core/src/question_rating" {
17934
18109
  *
17935
18110
  * If you add custom properties, refer to the following help topic to learn how to serialize them into JSON: [Add Custom Properties to Property Grid](https://surveyjs.io/survey-creator/documentation/property-grid#add-custom-properties-to-the-property-grid).
17936
18111
  *
17937
- * To enable Markdown support for the `text` property, implement Markdown-to-HTML conversion in the [onTextMarkdown](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onTextMarkdown) event handler. For an example, refer to the following demo: [Convert Markdown to HTML with Showdown](https://surveyjs.io/form-library/examples/edit-survey-questions-markdown/).
18112
+ * To enable Markdown support for the `text` property, implement Markdown-to-HTML conversion in the [onTextMarkdown](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#onTextMarkdown) event handler. For an example, refer to the following demo: [Convert Markdown to HTML with markdown-it](https://surveyjs.io/form-library/examples/edit-survey-questions-markdown/).
17938
18113
  *
17939
18114
  * If you need to specify only the `value` property, you can set the `rateValues` property to an array of numbers, for example, `[ 3, 6, 10 ]`. These values are both saved in survey results and used as display text.
17940
18115
  *
@@ -18987,13 +19162,14 @@ declare module "packages/survey-core/entries/chunks/model" {
18987
19162
  export { DropdownMultiSelectListModel } from "packages/survey-core/src/dropdownMultiSelectListModel";
18988
19163
  export { QuestionButtonGroupModel, ButtonGroupItemModel, ButtonGroupItemValue } from "packages/survey-core/src/question_buttongroup";
18989
19164
  export { IsMobile, IsTouch, _setIsTouch } from "packages/survey-core/src/utils/devices";
18990
- export { confirmAction, confirmActionAsync, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, chooseFiles, sanitizeEditableContent, IAttachKey2clickOptions } from "packages/survey-core/src/utils/utils";
19165
+ export { confirmAction, confirmActionAsync, detectIEOrEdge, doKey2ClickUp, doKey2ClickDown, doKey2ClickBlur, loadFileFromBase64, increaseHeightByContent, createSvg, chooseFiles, sanitizeEditableContent, prepareElementForVerticalAnimation, cleanHtmlElementAfterAnimation, classesToSelector, IAttachKey2clickOptions } from "packages/survey-core/src/utils/utils";
18991
19166
  export { InputMaskBase } from "packages/survey-core/src/mask/mask_base";
18992
19167
  export { InputMaskPattern } from "packages/survey-core/src/mask/mask_pattern";
18993
19168
  export { InputMaskNumeric } from "packages/survey-core/src/mask/mask_numeric";
18994
19169
  export { InputMaskDateTime } from "packages/survey-core/src/mask/mask_datetime";
18995
19170
  export { InputMaskCurrency } from "packages/survey-core/src/mask/mask_currency";
18996
19171
  export * from "packages/survey-core/src/utils/cssClassBuilder";
19172
+ export * from "packages/survey-core/src/utils/text-area";
18997
19173
  export { surveyCss, defaultV2Css, defaultV2ThemeName } from "packages/survey-core/src/defaultCss/defaultV2Css";
18998
19174
  export { DragDropCore } from "packages/survey-core/src/dragdrop/core";
18999
19175
  export { DragDropChoices } from "packages/survey-core/src/dragdrop/choices";
@@ -19208,6 +19384,7 @@ declare module "src/defaultCss/cssstandard" {
19208
19384
  rootSelectToRankMod: string;
19209
19385
  rootSelectToRankAlignVertical: string;
19210
19386
  rootSelectToRankAlignHorizontal: string;
19387
+ rootSelectToRankSwapAreas: string;
19211
19388
  item: string;
19212
19389
  itemContent: string;
19213
19390
  itemIndex: string;
@@ -19560,6 +19737,7 @@ declare module "src/defaultCss/cssmodern" {
19560
19737
  page: {
19561
19738
  root: string;
19562
19739
  title: string;
19740
+ number: string;
19563
19741
  description: string;
19564
19742
  };
19565
19743
  pageTitle: string;
@@ -19637,6 +19815,7 @@ declare module "src/defaultCss/cssmodern" {
19637
19815
  rootSelectToRankMod: string;
19638
19816
  rootSelectToRankAlignVertical: string;
19639
19817
  rootSelectToRankAlignHorizontal: string;
19818
+ rootSelectToRankSwapAreas: string;
19640
19819
  item: string;
19641
19820
  itemContent: string;
19642
19821
  itemIndex: string;
@@ -20464,6 +20643,7 @@ declare module "src/plugins/themes/bootstrap-material-integration/cssbootstrapma
20464
20643
  rootSelectToRankMod: string;
20465
20644
  rootSelectToRankAlignVertical: string;
20466
20645
  rootSelectToRankAlignHorizontal: string;
20646
+ rootSelectToRankSwapAreas: string;
20467
20647
  item: string;
20468
20648
  itemContent: string;
20469
20649
  itemIndex: string;
@@ -21294,6 +21474,7 @@ declare module "src/entries/plugins" {
21294
21474
  rootSelectToRankMod: string;
21295
21475
  rootSelectToRankAlignVertical: string;
21296
21476
  rootSelectToRankAlignHorizontal: string;
21477
+ rootSelectToRankSwapAreas: string;
21297
21478
  item: string;
21298
21479
  itemContent: string;
21299
21480
  itemIndex: string;
@@ -26810,36 +26991,38 @@ declare module "packages/survey-react-ui/src/components/character-counter" {
26810
26991
  renderElement(): JSX.Element | null;
26811
26992
  }
26812
26993
  }
26994
+ declare module "packages/survey-react-ui/src/components/text-area" {
26995
+ import { TextAreaModel } from "src/entries/core";
26996
+ import { SurveyElementBase } from "packages/survey-react-ui/src/reactquestion_element";
26997
+ interface ITextAreaProps {
26998
+ viewModel: TextAreaModel;
26999
+ }
27000
+ export class TextAreaComponent extends SurveyElementBase<ITextAreaProps, any> {
27001
+ private initialValue;
27002
+ constructor(props: ITextAreaProps);
27003
+ get viewModel(): TextAreaModel;
27004
+ protected canRender(): boolean;
27005
+ protected renderElement(): JSX.Element;
27006
+ componentWillUnmount(): void;
27007
+ }
27008
+ }
26813
27009
  declare module "packages/survey-react-ui/src/reactquestion_comment" {
26814
27010
  import { ReactSurveyElement, SurveyQuestionUncontrolledElement } from "packages/survey-react-ui/src/reactquestion_element";
26815
- import { QuestionCommentModel } from "src/entries/core";
27011
+ import { QuestionCommentModel, TextAreaModel } from "src/entries/core";
26816
27012
  export class SurveyQuestionComment extends SurveyQuestionUncontrolledElement<QuestionCommentModel> {
27013
+ private renderCharacterCounter;
26817
27014
  constructor(props: any);
26818
27015
  protected renderElement(): JSX.Element;
26819
27016
  }
26820
27017
  export class SurveyQuestionCommentItem extends ReactSurveyElement {
26821
- private control;
27018
+ private textAreaModel;
26822
27019
  constructor(props: any);
26823
- componentDidUpdate(prevProps: any, prevState: any): void;
26824
- componentDidMount(): void;
26825
- protected updateDomElement(): void;
26826
- protected setControl(element: HTMLElement | null): void;
26827
27020
  protected canRender(): boolean;
26828
- protected onCommentChange(event: any): void;
26829
- protected onCommentInput(event: any): void;
26830
- protected getComment(): string;
26831
- protected setComment(value: any): void;
26832
- protected getId(): string;
26833
- protected getPlaceholder(): string;
27021
+ protected getTextAreaModel(): TextAreaModel;
26834
27022
  protected renderElement(): JSX.Element;
26835
27023
  }
26836
27024
  export class SurveyQuestionOtherValueItem extends SurveyQuestionCommentItem {
26837
- protected onCommentChange(event: any): void;
26838
- protected onCommentInput(event: any): void;
26839
- protected getComment(): string;
26840
- protected setComment(value: any): void;
26841
- protected getId(): string;
26842
- protected getPlaceholder(): string;
27025
+ protected getTextAreaModel(): TextAreaModel;
26843
27026
  }
26844
27027
  }
26845
27028
  declare module "packages/survey-react-ui/src/custom-widget" {