survey-react 1.12.1 → 1.12.2

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
@@ -1705,6 +1705,7 @@ declare module "packages/survey-core/src/defaultCss/defaultV2Css" {
1705
1705
  emptyHeaderRoot: string;
1706
1706
  title: string;
1707
1707
  description: string;
1708
+ number: string;
1708
1709
  errorsContainer: string;
1709
1710
  };
1710
1711
  pageTitle: string;
@@ -3732,7 +3733,10 @@ declare module "packages/survey-core/src/panel" {
3732
3733
  get questionErrorLocation(): string;
3733
3734
  set questionErrorLocation(val: string);
3734
3735
  getQuestionErrorLocation(): string;
3736
+ getTitleOwner(): ITitleOwner;
3735
3737
  get no(): string;
3738
+ get cssTitleNumber(): string;
3739
+ get cssRequiredText(): string;
3736
3740
  get cssError(): string;
3737
3741
  protected getCssError(cssClasses: any): string;
3738
3742
  getSerializableColumnsValue(): Array<PanelLayoutColumnModel>;
@@ -3770,7 +3774,6 @@ declare module "packages/survey-core/src/panel" {
3770
3774
  * @see showNumber
3771
3775
  */
3772
3776
  get visibleIndex(): number;
3773
- getTitleOwner(): ITitleOwner;
3774
3777
  /**
3775
3778
  * Specifies whether to show the panel number in the title.
3776
3779
  *
@@ -4360,6 +4363,64 @@ declare module "packages/survey-core/src/choicesRestful" {
4360
4363
  }) => void);
4361
4364
  }
4362
4365
  }
4366
+ declare module "packages/survey-core/src/utils/text-area" {
4367
+ import { Question } from "packages/survey-core/src/question";
4368
+ export interface ITextArea {
4369
+ question: any;
4370
+ id: () => string;
4371
+ propertyName: string;
4372
+ className: () => string;
4373
+ isDisabledAttr: () => boolean;
4374
+ isReadOnlyAttr?: () => boolean;
4375
+ placeholder: () => string;
4376
+ autoGrow: () => boolean;
4377
+ maxLength: () => number;
4378
+ rows: () => number;
4379
+ cols?: () => number;
4380
+ getTextValue?: () => any;
4381
+ onTextAreaChange?: (event: any) => void;
4382
+ onTextAreaInput?: (event: any) => void;
4383
+ onTextAreaKeyDown?: (event: any) => void;
4384
+ onTextAreaBlur?: (event: any) => void;
4385
+ onTextAreaFocus?: (event: any) => void;
4386
+ ariaRequired: () => "true" | "false";
4387
+ ariaLabel: () => string;
4388
+ ariaInvalid?: () => "true" | "false";
4389
+ ariaLabelledBy?: () => string;
4390
+ ariaDescribedBy?: () => string;
4391
+ ariaErrormessage?: () => string;
4392
+ }
4393
+ export class TextAreaModel {
4394
+ private options;
4395
+ private element;
4396
+ private onPropertyChangedCallback;
4397
+ constructor(options: ITextArea);
4398
+ setElement(element: HTMLTextAreaElement | null): void;
4399
+ getTextValue(): string;
4400
+ onTextAreaChange(event: any): void;
4401
+ onTextAreaInput(event: any): void;
4402
+ onTextAreaKeyDown(event: any): void;
4403
+ onTextAreaBlur(event: any): void;
4404
+ onTextAreaFocus(event: any): void;
4405
+ get question(): Question;
4406
+ get id(): string;
4407
+ get placeholder(): string;
4408
+ get className(): string;
4409
+ get maxLength(): number;
4410
+ get autoGrow(): boolean;
4411
+ get rows(): number;
4412
+ get cols(): number | undefined;
4413
+ get isDisabledAttr(): boolean;
4414
+ get isReadOnlyAttr(): boolean | undefined;
4415
+ get ariaRequired(): "true" | "false";
4416
+ get ariaLabel(): string;
4417
+ get ariaInvalid(): "true" | "false";
4418
+ get ariaLabelledBy(): string;
4419
+ get ariaDescribedBy(): string;
4420
+ get ariaErrormessage(): string;
4421
+ dispose(): void;
4422
+ }
4423
+ }
4363
4424
  declare module "packages/survey-core/src/question_baseselect" {
4364
4425
  import { SurveyError } from "packages/survey-core/src/survey-error";
4365
4426
  import { ISurveyImpl, ISurvey, ISurveyData, IPlainDataOptions } from "packages/survey-core/src/base-interfaces";
@@ -4368,12 +4429,14 @@ declare module "packages/survey-core/src/question_baseselect" {
4368
4429
  import { ChoicesRestful } from "packages/survey-core/src/choicesRestful";
4369
4430
  import { LocalizableString } from "packages/survey-core/src/localizablestring";
4370
4431
  import { HashTable } from "packages/survey-core/src/helpers";
4432
+ import { TextAreaModel } from "packages/survey-core/src/utils/text-area";
4371
4433
  /**
4372
4434
  * 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
4435
  */
4374
4436
  export class QuestionSelectBase extends Question {
4375
4437
  visibleChoicesChangedCallback: () => void;
4376
4438
  loadedChoicesFromServerCallback: () => void;
4439
+ otherTextAreaModel: TextAreaModel;
4377
4440
  renderedChoicesChangedCallback: () => void;
4378
4441
  private filteredChoicesValue;
4379
4442
  private conditionChoicesVisibleIfRunner;
@@ -4392,6 +4455,7 @@ declare module "packages/survey-core/src/question_baseselect" {
4392
4455
  private waitingGetChoiceDisplayValueResponse;
4393
4456
  private get waitingChoicesByURL();
4394
4457
  protected selectedItemValues: any;
4458
+ private getOtherTextAreaOptions;
4395
4459
  constructor(name: string);
4396
4460
  getType(): string;
4397
4461
  dispose(): void;
@@ -4920,13 +4984,18 @@ declare module "packages/survey-core/src/validator" {
4920
4984
  constructor(value: any, error?: SurveyError);
4921
4985
  }
4922
4986
  /**
4923
- * Base SurveyJS validator class.
4987
+ * A base class for all classes that implement validators.
4988
+ *
4989
+ * [View Demo](https://surveyjs.io/form-library/examples/javascript-form-validation/ (linkStyle))
4924
4990
  */
4925
4991
  export class SurveyValidator extends Base {
4926
4992
  errorOwner: ISurveyErrorOwner;
4927
4993
  onAsyncCompleted: (result: ValidatorResult) => void;
4928
4994
  constructor();
4929
4995
  getSurvey(live?: boolean): ISurvey;
4996
+ /**
4997
+ * An error message to display when a value fails validation.
4998
+ */
4930
4999
  get text(): string;
4931
5000
  set text(value: string);
4932
5001
  get isValidateAllValues(): boolean;
@@ -4958,7 +5027,9 @@ declare module "packages/survey-core/src/validator" {
4958
5027
  private prepareAsyncValidators;
4959
5028
  }
4960
5029
  /**
4961
- * Validate numeric values.
5030
+ * A class that implements a validator for numeric values.
5031
+ *
5032
+ * [View Demo](https://surveyjs.io/form-library/examples/javascript-form-validation/ (linkStyle))
4962
5033
  */
4963
5034
  export class NumericValidator extends SurveyValidator {
4964
5035
  constructor(minValue?: number, maxValue?: number);
@@ -4966,18 +5037,24 @@ declare module "packages/survey-core/src/validator" {
4966
5037
  validate(value: any, name?: string, values?: any, properties?: any): ValidatorResult;
4967
5038
  protected getDefaultErrorText(name: string): string;
4968
5039
  /**
4969
- * The minValue property.
5040
+ * A minimum allowed numeric value.
5041
+ *
5042
+ * [View Demo](https://surveyjs.io/form-library/examples/javascript-form-validation/ (linkStyle))
4970
5043
  */
4971
5044
  get minValue(): number;
4972
5045
  set minValue(val: number);
4973
5046
  /**
4974
- * The maxValue property.
5047
+ * A maximum allowed numeric value.
5048
+ *
5049
+ * [View Demo](https://surveyjs.io/form-library/examples/javascript-form-validation/ (linkStyle))
4975
5050
  */
4976
5051
  get maxValue(): number;
4977
5052
  set maxValue(val: number);
4978
5053
  }
4979
5054
  /**
4980
- * Validate text values.
5055
+ * A class that implements a validator for text values.
5056
+ *
5057
+ * [View Demo](https://surveyjs.io/form-library/examples/javascript-form-validation/ (linkStyle))
4981
5058
  */
4982
5059
  export class TextValidator extends SurveyValidator {
4983
5060
  constructor();
@@ -4985,23 +5062,35 @@ declare module "packages/survey-core/src/validator" {
4985
5062
  validate(value: any, name?: string, values?: any, properties?: any): ValidatorResult;
4986
5063
  protected getDefaultErrorText(name: string): string;
4987
5064
  /**
4988
- * The minLength property.
5065
+ * The minimum length of a text value measured in characters.
5066
+ *
5067
+ * Default value: 0
5068
+ *
5069
+ * [View Demo](https://surveyjs.io/form-library/examples/javascript-form-validation/ (linkStyle))
4989
5070
  */
4990
5071
  get minLength(): number;
4991
5072
  set minLength(val: number);
4992
5073
  /**
4993
- * The maxLength property.
5074
+ * The maximum length of a text value measured in characters.
5075
+ *
5076
+ * Default value: 0 (unlimited)
5077
+ *
5078
+ * [View Demo](https://surveyjs.io/form-library/examples/javascript-form-validation/ (linkStyle))
4994
5079
  */
4995
5080
  get maxLength(): number;
4996
5081
  set maxLength(val: number);
4997
5082
  /**
4998
- * The allowDigits property.
5083
+ * Specifies whether a text value can include numerical digits.
5084
+ *
5085
+ * Default value: `true`
4999
5086
  */
5000
5087
  get allowDigits(): boolean;
5001
5088
  set allowDigits(val: boolean);
5002
5089
  }
5003
5090
  /**
5004
- * Validates the number of answers.
5091
+ * 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)).
5092
+ *
5093
+ * [View Demo](https://surveyjs.io/form-library/examples/javascript-form-validation/ (linkStyle))
5005
5094
  */
5006
5095
  export class AnswerCountValidator extends SurveyValidator {
5007
5096
  constructor(minCount?: number, maxCount?: number);
@@ -5009,18 +5098,22 @@ declare module "packages/survey-core/src/validator" {
5009
5098
  validate(value: any, name?: string, values?: any, properties?: any): ValidatorResult;
5010
5099
  protected getDefaultErrorText(name: string): string;
5011
5100
  /**
5012
- * The minCount property.
5101
+ * A minimum number of selected answers.
5102
+ *
5103
+ * [View Demo](https://surveyjs.io/form-library/examples/javascript-form-validation/ (linkStyle))
5013
5104
  */
5014
5105
  get minCount(): number;
5015
5106
  set minCount(val: number);
5016
5107
  /**
5017
- * The maxCount property.
5108
+ * A maximum number of selected answers.
5109
+ *
5110
+ * [View Demo](https://surveyjs.io/form-library/examples/javascript-form-validation/ (linkStyle))
5018
5111
  */
5019
5112
  get maxCount(): number;
5020
5113
  set maxCount(val: number);
5021
5114
  }
5022
5115
  /**
5023
- * Use it to validate the text by regular expressions.
5116
+ * A class that implements validation using regular expressions.
5024
5117
  *
5025
5118
  * [View Demo](https://surveyjs.io/form-library/examples/javascript-form-validation/ (linkStyle))
5026
5119
  */
@@ -5030,16 +5123,27 @@ declare module "packages/survey-core/src/validator" {
5030
5123
  validate(value: any, name?: string, values?: any, properties?: any): ValidatorResult;
5031
5124
  private hasError;
5032
5125
  /**
5033
- * The regex property.
5126
+ * A regular expression used to validate values.
5127
+ *
5128
+ * [View Demo](https://surveyjs.io/form-library/examples/javascript-form-validation/ (linkStyle))
5034
5129
  */
5035
5130
  get regex(): string;
5036
5131
  set regex(val: string);
5132
+ /**
5133
+ * Specifies whether uppercase and lowercase letters must be treated as distinct or equivalent when validating values.
5134
+ *
5135
+ * Default value: `false` (uppercase and lowercase letters are treated as distinct)
5136
+ */
5137
+ get caseInsensitive(): boolean;
5138
+ set caseInsensitive(val: boolean);
5037
5139
  get insensitive(): boolean;
5038
5140
  set insensitive(val: boolean);
5039
5141
  private createRegExp;
5040
5142
  }
5041
5143
  /**
5042
- * Validate e-mail address in the text input
5144
+ * A class that implements a validator for e-mail addresses.
5145
+ *
5146
+ * [View Demo](https://surveyjs.io/form-library/examples/javascript-form-validation/ (linkStyle))
5043
5147
  */
5044
5148
  export class EmailValidator extends SurveyValidator {
5045
5149
  private re;
@@ -5049,7 +5153,9 @@ declare module "packages/survey-core/src/validator" {
5049
5153
  protected getDefaultErrorText(name: string): string;
5050
5154
  }
5051
5155
  /**
5052
- * Show error if expression returns false
5156
+ * A class that implements validation using [expressions](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#expressions).
5157
+ *
5158
+ * [View Demo](https://surveyjs.io/form-library/examples/javascript-form-validation/ (linkStyle))
5053
5159
  */
5054
5160
  export class ExpressionValidator extends SurveyValidator {
5055
5161
  private conditionRunner;
@@ -5064,7 +5170,9 @@ declare module "packages/survey-core/src/validator" {
5064
5170
  protected getDefaultErrorText(name: string): string;
5065
5171
  protected ensureConditionRunner(): boolean;
5066
5172
  /**
5067
- * The expression property.
5173
+ * A Boolean [expression](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#expressions). If it evaluates to `false`, validation fails.
5174
+ *
5175
+ * [View Demo](https://surveyjs.io/form-library/examples/javascript-form-validation/ (linkStyle))
5068
5176
  */
5069
5177
  get expression(): string;
5070
5178
  set expression(val: string);
@@ -5266,6 +5374,7 @@ declare module "packages/survey-core/src/question_matrixdropdowncolumn" {
5266
5374
  set visible(val: boolean);
5267
5375
  get hasVisibleCell(): boolean;
5268
5376
  set hasVisibleCell(newVal: boolean);
5377
+ isColumnsVisibleIf: boolean;
5269
5378
  getVisibleMultipleChoices(): Array<ItemValue>;
5270
5379
  get getVisibleChoicesInCell(): Array<any>;
5271
5380
  setVisibleChoicesInCell(val: Array<any>): void;
@@ -6129,6 +6238,7 @@ declare module "packages/survey-core/src/question_matrixdynamic" {
6129
6238
  private getInsertedDeletedIndex;
6130
6239
  private isEditingObjectValueChanged;
6131
6240
  updateValueFromSurvey(newValue: any, clearData?: boolean): void;
6241
+ protected getFilteredDataCore(): any;
6132
6242
  protected onBeforeValueChanged(val: any): void;
6133
6243
  protected createNewValue(): any;
6134
6244
  protected deleteRowValue(newValue: any, row: MatrixDropdownRowModelBase): any;
@@ -8314,6 +8424,9 @@ declare module "packages/survey-core/src/page" {
8314
8424
  getType(): string;
8315
8425
  toString(): string;
8316
8426
  get isPage(): boolean;
8427
+ get no(): string;
8428
+ get cssTitleNumber(): string;
8429
+ get cssRequiredText(): string;
8317
8430
  protected canShowPageNumber(): boolean;
8318
8431
  protected canShowTitle(): boolean;
8319
8432
  /**
@@ -9526,7 +9639,7 @@ declare module "packages/survey-core/src/survey" {
9526
9639
  *
9527
9640
  * For information on event handler parameters, refer to descriptions within the interface.
9528
9641
  *
9529
- * [Conditional Survey Logic (Triggers)](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#conditional-survey-logic-triggers (linkStyle)).
9642
+ * [Conditional Survey Logic (Triggers)](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#conditional-survey-logic-triggers (linkStyle))
9530
9643
  * @see triggers
9531
9644
  * @see runTriggers
9532
9645
  */
@@ -12605,6 +12718,7 @@ declare module "packages/survey-core/src/survey-element" {
12605
12718
  */
12606
12719
  get cssClasses(): any;
12607
12720
  get cssTitleNumber(): any;
12721
+ get cssRequiredText(): any;
12608
12722
  protected calcCssClasses(css: any): any;
12609
12723
  protected updateElementCssCore(cssClasses: any): void;
12610
12724
  get cssError(): string;
@@ -12849,6 +12963,7 @@ declare module "packages/survey-core/src/question" {
12849
12963
  import { SurveyError } from "packages/survey-core/src/survey-error";
12850
12964
  import { PopupModel } from "packages/survey-core/src/popup";
12851
12965
  import { ITheme } from "packages/survey-core/src/themes";
12966
+ import { TextAreaModel } from "packages/survey-core/src/utils/text-area";
12852
12967
  export interface IConditionObject {
12853
12968
  name: string;
12854
12969
  text: string;
@@ -12902,6 +13017,8 @@ declare module "packages/survey-core/src/question" {
12902
13017
  private isReadyValue;
12903
13018
  private commentElements;
12904
13019
  private dependedQuestions;
13020
+ commentTextAreaModel: TextAreaModel;
13021
+ private getCommentTextAreaOptions;
12905
13022
  /**
12906
13023
  * 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
13024
  *
@@ -13503,31 +13620,31 @@ declare module "packages/survey-core/src/question" {
13503
13620
  get defaultValueExpression(): any;
13504
13621
  set defaultValueExpression(val: any);
13505
13622
  /**
13506
- * A Boolean expression. If it evaluates to `true`, the question value is reset to [default](#defaultValue).
13623
+ * 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
13624
  *
13508
13625
  * A survey parses and runs all expressions on startup. If any values used in the expression change, the survey re-evaluates it.
13509
13626
  *
13510
- * [Expressions](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#expressions (linkStyle))
13627
+ * [View Demo](https://surveyjs.io/form-library/examples/trigger-setvalue/ (linkStyle))
13511
13628
  * @see setValueIf
13512
13629
  */
13513
13630
  get resetValueIf(): string;
13514
13631
  set resetValueIf(val: string);
13515
13632
  /**
13516
- * A Boolean expression. If it evaluates to `true`, the question value is set to a value calculated using the [`setValueExpression`](#setValueExpression).
13633
+ * 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
13634
  *
13518
13635
  * A survey parses and runs all expressions on startup. If any values used in the expression change, the survey re-evaluates it.
13519
13636
  *
13520
- * [Expressions](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#expressions (linkStyle))
13637
+ * [View Demo](https://surveyjs.io/form-library/examples/trigger-setvalue/ (linkStyle))
13521
13638
  * @see resetValueIf
13522
13639
  */
13523
13640
  get setValueIf(): string;
13524
13641
  set setValueIf(val: string);
13525
13642
  /**
13526
- * An expression used to calculate the question value.
13643
+ * An [expression](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#expressions) used to calculate the question value.
13527
13644
  *
13528
13645
  * 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
13646
  *
13530
- * [Expressions](https://surveyjs.io/form-library/documentation/design-survey/conditional-logic#expressions (linkStyle))
13647
+ * [View Demo](https://surveyjs.io/form-library/examples/trigger-setvalue/ (linkStyle))
13531
13648
  * @see defaultValueExpression
13532
13649
  * @see resetValueIf
13533
13650
  */
@@ -13861,11 +13978,11 @@ declare module "packages/survey-core/src/martixBase" {
13861
13978
  import { HashTable } from "packages/survey-core/src/helpers";
13862
13979
  import { ItemValue } from "packages/survey-core/src/itemvalue";
13863
13980
  import { Question } from "packages/survey-core/src/question";
13981
+ import { ConditionRunner } from "packages/survey-core/src/conditions";
13864
13982
  /**
13865
13983
  * A base class for all matrix question types.
13866
13984
  */
13867
13985
  export class QuestionMatrixBaseModel<TRow, TColumn> extends Question {
13868
- protected filteredColumns: Array<TColumn>;
13869
13986
  protected filteredRows: Array<ItemValue>;
13870
13987
  protected generatedVisibleRows: Array<TRow>;
13871
13988
  protected generatedTotalRow: TRow;
@@ -13896,6 +14013,7 @@ declare module "packages/survey-core/src/martixBase" {
13896
14013
  get columns(): Array<any>;
13897
14014
  set columns(newValue: Array<any>);
13898
14015
  get visibleColumns(): Array<any>;
14016
+ protected isColumnVisible(column: any): boolean;
13899
14017
  /**
13900
14018
  * An array of matrix rows.
13901
14019
  *
@@ -13938,20 +14056,20 @@ declare module "packages/survey-core/src/martixBase" {
13938
14056
  get columnsVisibleIf(): string;
13939
14057
  set columnsVisibleIf(val: string);
13940
14058
  runCondition(values: HashTable<any>, properties: HashTable<any>): void;
13941
- protected filterItems(): boolean;
13942
14059
  protected onColumnsChanged(): void;
13943
14060
  protected onRowsChanged(): void;
13944
14061
  protected updateVisibilityBasedOnRows(): void;
13945
14062
  protected isVisibleCore(): boolean;
13946
14063
  protected shouldRunColumnExpression(): boolean;
13947
14064
  protected hasRowsAsItems(): boolean;
13948
- protected runItemsCondition(values: HashTable<any>, properties: HashTable<any>): boolean;
14065
+ protected runItemsCondition(values: HashTable<any>, properties: HashTable<any>): void;
14066
+ protected isRowsFiltered(): boolean;
13949
14067
  protected clearGeneratedRows(): void;
14068
+ protected createRowsVisibleIfRunner(): ConditionRunner;
13950
14069
  private runConditionsForRows;
13951
- private runConditionsForColumns;
13952
- clearIncorrectValues(): void;
14070
+ protected runConditionsForColumns(values: HashTable<any>, properties: HashTable<any>): boolean;
14071
+ protected clearInvisibleColumnValues(): void;
13953
14072
  protected clearInvisibleValuesInRows(): void;
13954
- private restoreNewVisibleRowsValues;
13955
14073
  needResponsiveWidth(): boolean;
13956
14074
  protected get columnsAutoWidth(): boolean;
13957
14075
  getTableCss(): string;
@@ -14005,6 +14123,7 @@ declare module "packages/survey-core/src/question_matrixdropdownbase" {
14005
14123
  import { QuestionMatrixDropdownRenderedCell, QuestionMatrixDropdownRenderedRow, QuestionMatrixDropdownRenderedTable } from "packages/survey-core/src/question_matrixdropdownrendered";
14006
14124
  export interface IMatrixDropdownData {
14007
14125
  value: any;
14126
+ getFilteredData(): any;
14008
14127
  onRowChanged(row: MatrixDropdownRowModelBase, columnName: string, newRowValue: any, isDeletingValue: boolean): void;
14009
14128
  onRowChanging(row: MatrixDropdownRowModelBase, columnName: string, rowValue: any): any;
14010
14129
  isValidateOnValueChanging: boolean;
@@ -14030,6 +14149,7 @@ declare module "packages/survey-core/src/question_matrixdropdownbase" {
14030
14149
  getSurvey(): ISurvey;
14031
14150
  getDataFilteredValues(): any;
14032
14151
  isMatrixReadOnly(): boolean;
14152
+ onRowVisibilityChanged(row: MatrixDropdownRowModelBase): void;
14033
14153
  }
14034
14154
  export class MatrixDropdownCell {
14035
14155
  column: MatrixDropdownColumn;
@@ -14069,6 +14189,7 @@ declare module "packages/survey-core/src/question_matrixdropdownbase" {
14069
14189
  private idValue;
14070
14190
  private textPreProcessor;
14071
14191
  private detailPanelValue;
14192
+ private visibleValue;
14072
14193
  cells: Array<MatrixDropdownCell>;
14073
14194
  showHideDetailPanelClick: any;
14074
14195
  onDetailPanelShowingChanged: () => void;
@@ -14079,6 +14200,10 @@ declare module "packages/survey-core/src/question_matrixdropdownbase" {
14079
14200
  get text(): any;
14080
14201
  isRowEnabled(): boolean;
14081
14202
  protected isRowHasEnabledCondition(): boolean;
14203
+ get isVisible(): boolean;
14204
+ get visible(): boolean;
14205
+ set visible(val: boolean);
14206
+ protected isItemVisible(): boolean;
14082
14207
  get value(): any;
14083
14208
  set value(value: any);
14084
14209
  get locText(): LocalizableString;
@@ -14097,7 +14222,8 @@ declare module "packages/survey-core/src/question_matrixdropdownbase" {
14097
14222
  getFilteredValues(): any;
14098
14223
  getFilteredProperties(): any;
14099
14224
  private applyRowVariablesToValues;
14100
- runCondition(values: HashTable<any>, properties: HashTable<any>): void;
14225
+ runCondition(values: HashTable<any>, properties: HashTable<any>, rowsVisibleIf?: string): void;
14226
+ protected setRowsVisibleIfValues(values: any): void;
14101
14227
  getNamesWithDefaultValues(): Array<string>;
14102
14228
  clearValue(keepComment?: boolean): void;
14103
14229
  onAnyValueChanged(name: string, questionName: string): void;
@@ -14158,7 +14284,7 @@ declare module "packages/survey-core/src/question_matrixdropdownbase" {
14158
14284
  constructor(data: IMatrixDropdownData);
14159
14285
  protected createCell(column: MatrixDropdownColumn): MatrixDropdownCell;
14160
14286
  setValue(name: string, newValue: any): void;
14161
- runCondition(values: HashTable<any>, properties: HashTable<any>): void;
14287
+ runCondition(values: HashTable<any>, properties: HashTable<any>, rowsVisibleIf?: string): void;
14162
14288
  protected updateCellOnColumnChanged(cell: MatrixDropdownCell, name: string, newValue: any): void;
14163
14289
  }
14164
14290
  /**
@@ -14366,6 +14492,7 @@ declare module "packages/survey-core/src/question_matrixdropdownbase" {
14366
14492
  runTriggers(name: string, value: any): void;
14367
14493
  protected shouldRunColumnExpression(): boolean;
14368
14494
  protected runCellsCondition(values: HashTable<any>, properties: HashTable<any>): void;
14495
+ protected runConditionsForColumns(values: HashTable<any>, properties: HashTable<any>): boolean;
14369
14496
  private checkColumnsVisibility;
14370
14497
  private checkColumnsRenderedRequired;
14371
14498
  private isColumnVisibilityChanged;
@@ -14423,7 +14550,13 @@ declare module "packages/survey-core/src/question_matrixdropdownbase" {
14423
14550
  get locKeyDuplicationError(): LocalizableString;
14424
14551
  get storeOthersAsComment(): boolean;
14425
14552
  addColumn(name: string, title?: string): MatrixDropdownColumn;
14553
+ private visibleRowsArray;
14554
+ protected clearVisibleRows(): void;
14555
+ protected isColumnVisible(column: any): boolean;
14556
+ private isGenereatingRows;
14426
14557
  protected getVisibleRows(): Array<MatrixDropdownRowModelBase>;
14558
+ private generateVisibleRowsIfNeeded;
14559
+ private getVisibleFromGenerated;
14427
14560
  private updateValueOnRowsGeneration;
14428
14561
  get totalValue(): any;
14429
14562
  protected getVisibleTotalRow(): MatrixDropdownRowModelBase;
@@ -14497,6 +14630,9 @@ declare module "packages/survey-core/src/question_matrixdropdownbase" {
14497
14630
  protected onCellValueChanged(row: MatrixDropdownRowModelBase, columnName: string, rowValue: any): void;
14498
14631
  validateCell(row: MatrixDropdownRowModelBase, columnName: string, rowValue: any): SurveyError;
14499
14632
  get isValidateOnValueChanging(): boolean;
14633
+ protected get hasInvisibleRows(): boolean;
14634
+ getFilteredData(): any;
14635
+ protected getFilteredDataCore(): any;
14500
14636
  onRowChanging(row: MatrixDropdownRowModelBase, columnName: string, rowValue: any): any;
14501
14637
  onRowChanged(row: MatrixDropdownRowModelBase, columnName: string, newRowValue: any, isDeletingValue: boolean): void;
14502
14638
  private getNewValueOnRowChanged;
@@ -14515,6 +14651,10 @@ declare module "packages/survey-core/src/question_matrixdropdownbase" {
14515
14651
  getDataFilteredValues(): any;
14516
14652
  getParentTextProcessor(): ITextProcessor;
14517
14653
  isMatrixReadOnly(): boolean;
14654
+ onRowVisibilityChanged(row: MatrixDropdownRowModelBase): void;
14655
+ protected clearValueIfInvisibleCore(reason: string): void;
14656
+ protected clearInvisibleValuesInRows(): void;
14657
+ protected isRowsFiltered(): boolean;
14518
14658
  getQuestionFromArray(name: string, index: number): IQuestion;
14519
14659
  private isMatrixValueEmpty;
14520
14660
  private get SurveyModel();
@@ -14812,6 +14952,8 @@ declare module "packages/survey-core/src/base-interfaces" {
14812
14952
  name: string;
14813
14953
  no: string;
14814
14954
  requiredText: string;
14955
+ cssTitleNumber: string;
14956
+ cssRequiredText?: string;
14815
14957
  isRequireTextOnStart: boolean;
14816
14958
  isRequireTextBeforeTitle: boolean;
14817
14959
  isRequireTextAfterTitle: boolean;
@@ -16477,8 +16619,10 @@ declare module "packages/survey-core/src/question_matrixdropdown" {
16477
16619
  get rowName(): string;
16478
16620
  get text(): string;
16479
16621
  get locText(): LocalizableString;
16622
+ protected isItemVisible(): boolean;
16480
16623
  isRowEnabled(): boolean;
16481
16624
  protected isRowHasEnabledCondition(): boolean;
16625
+ protected setRowsVisibleIfValues(values: any): void;
16482
16626
  }
16483
16627
  /**
16484
16628
  * 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 +16654,13 @@ declare module "packages/survey-core/src/question_matrixdropdown" {
16510
16654
  protected getConditionObjectsRowIndeces(): Array<number>;
16511
16655
  protected isNewValueCorrect(val: any): boolean;
16512
16656
  clearIncorrectValues(): void;
16513
- protected clearValueIfInvisibleCore(reason: string): void;
16657
+ private getRowByKey;
16514
16658
  private defaultValuesInRows;
16515
16659
  protected clearGeneratedRows(): void;
16516
16660
  private getRowValueForCreation;
16517
16661
  protected generateRows(): Array<MatrixDropdownRowModel>;
16518
16662
  protected createMatrixRow(item: ItemValue, value: any): MatrixDropdownRowModel;
16663
+ protected getFilteredDataCore(): any;
16519
16664
  protected getSearchableItemValueKeys(keys: Array<string>): void;
16520
16665
  protected updateProgressInfoByValues(res: IProgressInfo): void;
16521
16666
  }
@@ -16821,6 +16966,7 @@ declare module "packages/survey-core/src/question_matrix" {
16821
16966
  import { LocalizableString, ILocalizableOwner } from "packages/survey-core/src/localizablestring";
16822
16967
  import { IConditionObject, IQuestionPlainData } from "packages/survey-core/src/question";
16823
16968
  import { IPlainDataOptions } from "packages/survey-core/src/base-interfaces";
16969
+ import { ConditionRunner } from "packages/survey-core/src/conditions";
16824
16970
  export interface IMatrixData {
16825
16971
  onMatrixRowChanged(row: MatrixRowModel): void;
16826
16972
  getCorrectedRowValue(value: any): any;
@@ -16935,7 +17081,9 @@ declare module "packages/survey-core/src/question_matrix" {
16935
17081
  locStrsChanged(): void;
16936
17082
  protected getQuizQuestionCount(): number;
16937
17083
  protected getCorrectAnswerCount(): number;
16938
- protected runItemsCondition(values: HashTable<any>, properties: HashTable<any>): boolean;
17084
+ runCondition(values: HashTable<any>, properties: HashTable<any>): void;
17085
+ protected createRowsVisibleIfRunner(): ConditionRunner;
17086
+ protected onRowsChanged(): void;
16939
17087
  protected getVisibleRows(): Array<MatrixRowModel>;
16940
17088
  protected sortVisibleRows(array: Array<MatrixRowModel>): Array<MatrixRowModel>;
16941
17089
  endLoadingFromJson(): void;
@@ -16973,7 +17121,12 @@ declare module "packages/survey-core/src/question_matrix" {
16973
17121
  getPlainData(options?: IPlainDataOptions): IQuestionPlainData;
16974
17122
  addConditionObjectsByContext(objects: Array<IConditionObject>, context: any): void;
16975
17123
  getConditionJson(operator?: string, path?: string): any;
17124
+ clearIncorrectValues(): void;
16976
17125
  protected clearValueIfInvisibleCore(reason: string): void;
17126
+ protected clearInvisibleColumnValues(): void;
17127
+ protected clearInvisibleValuesInRows(): void;
17128
+ protected clearInvisibleValuesInRowsAndColumns(inRows: boolean, inColumns: boolean, inCorrectRows: boolean): void;
17129
+ private getVisibleColumnByValue;
16977
17130
  protected getFirstInputElementId(): string;
16978
17131
  onMatrixRowChanged(row: MatrixRowModel): void;
16979
17132
  getCorrectedRowValue(value: any): any;
@@ -17760,6 +17913,7 @@ declare module "packages/survey-core/src/question_ranking" {
17760
17913
  }
17761
17914
  declare module "packages/survey-core/src/question_comment" {
17762
17915
  import { QuestionTextBase } from "packages/survey-core/src/question_textbase";
17916
+ import { TextAreaModel } from "packages/survey-core/src/utils/text-area";
17763
17917
  /**
17764
17918
  * A class that describes the Long Text question type.
17765
17919
  *
@@ -17767,6 +17921,9 @@ declare module "packages/survey-core/src/question_comment" {
17767
17921
  */
17768
17922
  export class QuestionCommentModel extends QuestionTextBase {
17769
17923
  private element;
17924
+ textAreaModel: TextAreaModel;
17925
+ private getTextAreaOptions;
17926
+ constructor(name: string);
17770
17927
  /**
17771
17928
  * Specifies the visible height of the comment area, measured in lines.
17772
17929
  *
@@ -18994,6 +19151,7 @@ declare module "packages/survey-core/entries/chunks/model" {
18994
19151
  export { InputMaskDateTime } from "packages/survey-core/src/mask/mask_datetime";
18995
19152
  export { InputMaskCurrency } from "packages/survey-core/src/mask/mask_currency";
18996
19153
  export * from "packages/survey-core/src/utils/cssClassBuilder";
19154
+ export * from "packages/survey-core/src/utils/text-area";
18997
19155
  export { surveyCss, defaultV2Css, defaultV2ThemeName } from "packages/survey-core/src/defaultCss/defaultV2Css";
18998
19156
  export { DragDropCore } from "packages/survey-core/src/dragdrop/core";
18999
19157
  export { DragDropChoices } from "packages/survey-core/src/dragdrop/choices";
@@ -19560,6 +19718,7 @@ declare module "src/defaultCss/cssmodern" {
19560
19718
  page: {
19561
19719
  root: string;
19562
19720
  title: string;
19721
+ number: string;
19563
19722
  description: string;
19564
19723
  };
19565
19724
  pageTitle: string;
@@ -26810,36 +26969,38 @@ declare module "packages/survey-react-ui/src/components/character-counter" {
26810
26969
  renderElement(): JSX.Element | null;
26811
26970
  }
26812
26971
  }
26972
+ declare module "packages/survey-react-ui/src/components/text-area" {
26973
+ import { TextAreaModel } from "src/entries/core";
26974
+ import { SurveyElementBase } from "packages/survey-react-ui/src/reactquestion_element";
26975
+ interface ITextAreaProps {
26976
+ viewModel: TextAreaModel;
26977
+ }
26978
+ export class TextAreaComponent extends SurveyElementBase<ITextAreaProps, any> {
26979
+ private initialValue;
26980
+ constructor(props: ITextAreaProps);
26981
+ get viewModel(): TextAreaModel;
26982
+ protected canRender(): boolean;
26983
+ protected renderElement(): JSX.Element;
26984
+ componentWillUnmount(): void;
26985
+ }
26986
+ }
26813
26987
  declare module "packages/survey-react-ui/src/reactquestion_comment" {
26814
26988
  import { ReactSurveyElement, SurveyQuestionUncontrolledElement } from "packages/survey-react-ui/src/reactquestion_element";
26815
- import { QuestionCommentModel } from "src/entries/core";
26989
+ import { QuestionCommentModel, TextAreaModel } from "src/entries/core";
26816
26990
  export class SurveyQuestionComment extends SurveyQuestionUncontrolledElement<QuestionCommentModel> {
26991
+ private renderCharacterCounter;
26817
26992
  constructor(props: any);
26818
26993
  protected renderElement(): JSX.Element;
26819
26994
  }
26820
26995
  export class SurveyQuestionCommentItem extends ReactSurveyElement {
26821
- private control;
26996
+ private textAreaModel;
26822
26997
  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
26998
  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;
26999
+ protected getTextAreaModel(): TextAreaModel;
26834
27000
  protected renderElement(): JSX.Element;
26835
27001
  }
26836
27002
  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;
27003
+ protected getTextAreaModel(): TextAreaModel;
26843
27004
  }
26844
27005
  }
26845
27006
  declare module "packages/survey-react-ui/src/custom-widget" {