survey-react 1.11.14 → 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
@@ -72,6 +72,7 @@ declare module "packages/survey-core/src/helpers" {
72
72
  static convertDateTimeToString(date: Date): string;
73
73
  static convertValToQuestionVal(val: any, inputType?: string): any;
74
74
  static compareVerions(ver1: string, ver2: string): number;
75
+ static isUrlYoutubeVideo(url: string): boolean;
75
76
  }
76
77
  }
77
78
  declare module "packages/survey-core/src/localization/english" {
@@ -775,6 +776,7 @@ declare module "packages/survey-core/src/utils/animation" {
775
776
  sync(newValue: T): void;
776
777
  private cancelCallback;
777
778
  cancel(): void;
779
+ cancelAnimations(): void;
778
780
  }
779
781
  export class AnimationBoolean extends AnimationProperty<boolean> {
780
782
  protected animation: AnimationPropertyUtils;
@@ -931,6 +933,20 @@ declare module "packages/survey-core/src/utils/utils" {
931
933
  }>;
932
934
  mergedItems: Array<T>;
933
935
  };
936
+ interface IVerticalDimensions {
937
+ paddingTop: string;
938
+ paddingBottom: string;
939
+ marginTop: string;
940
+ marginBottom: string;
941
+ heightTo: string;
942
+ borderTopWidth: string;
943
+ borderBottomWidth: string;
944
+ heightFrom: string;
945
+ }
946
+ export function getVerticalDimensions(el: HTMLElement): IVerticalDimensions;
947
+ export function setPropertiesOnElementForAnimation(el: HTMLElement, styles: any, prefix?: string): void;
948
+ export function prepareElementForVerticalAnimation(el: HTMLElement): void;
949
+ export function cleanHtmlElementAfterAnimation(el: HTMLElement): void;
934
950
  export function roundTo2Decimals(number: number): number;
935
951
  export { mergeValues, getElementWidth, isContainerVisible, classesToSelector, compareVersions, confirmAction, confirmActionAsync, detectIEOrEdge, detectIEBrowser, loadFileFromBase64, isMobile, isShadowDOM, getElement, isElementVisible, findScrollableParent, scrollElementByChildId, navigateToUrl, wrapUrlForBackgroundImage, createSvg, getIconNameFromProxy, increaseHeightByContent, getOriginalEvent, preventDefaults, findParentByClassNames, getFirstVisibleChild, chooseFiles };
936
952
  }
@@ -1449,7 +1465,7 @@ declare module "packages/survey-core/src/utils/responsivity-manager" {
1449
1465
  private model;
1450
1466
  private itemsSelector;
1451
1467
  private dotsItemSize;
1452
- private delayedUpdateFunction?;
1468
+ private delayedUpdateFunction;
1453
1469
  private resizeObserver;
1454
1470
  private isInitialized;
1455
1471
  protected minDimensionConst: number;
@@ -1464,7 +1480,6 @@ declare module "packages/survey-core/src/utils/responsivity-manager" {
1464
1480
  protected getAvailableSpace(): number;
1465
1481
  protected calcItemSize(item: HTMLDivElement): number;
1466
1482
  private calcMinDimension;
1467
- private getRenderedVisibleActionsCount;
1468
1483
  private calcItemsSizes;
1469
1484
  protected calcActionDimensions(currentAction: Action, item: HTMLDivElement): void;
1470
1485
  private get isContainerVisible();
@@ -1576,10 +1591,10 @@ declare module "packages/survey-core/src/defaultCss/defaultV2Css" {
1576
1591
  edit: string;
1577
1592
  };
1578
1593
  panel: {
1579
- contentFadeIn: string;
1580
- contentFadeOut: string;
1581
- fadeIn: string;
1582
- fadeOut: string;
1594
+ contentEnter: string;
1595
+ contentLeave: string;
1596
+ enter: string;
1597
+ leave: string;
1583
1598
  asPage: string;
1584
1599
  number: string;
1585
1600
  title: string;
@@ -1640,8 +1655,8 @@ declare module "packages/survey-core/src/defaultCss/defaultV2Css" {
1640
1655
  footerButtonsContainer: string;
1641
1656
  panelsContainer: string;
1642
1657
  panelWrapperInRow: string;
1643
- panelWrapperFadeIn: string;
1644
- panelWrapperFadeOut: string;
1658
+ panelWrapperEnter: string;
1659
+ panelWrapperLeave: string;
1645
1660
  panelWrapperList: string;
1646
1661
  progressBtnIcon: string;
1647
1662
  noEntriesPlaceholder: string;
@@ -1690,6 +1705,7 @@ declare module "packages/survey-core/src/defaultCss/defaultV2Css" {
1690
1705
  emptyHeaderRoot: string;
1691
1706
  title: string;
1692
1707
  description: string;
1708
+ number: string;
1693
1709
  errorsContainer: string;
1694
1710
  };
1695
1711
  pageTitle: string;
@@ -1697,16 +1713,17 @@ declare module "packages/survey-core/src/defaultCss/defaultV2Css" {
1697
1713
  row: string;
1698
1714
  rowMultiple: string;
1699
1715
  rowCompact: string;
1700
- rowFadeIn: string;
1701
- rowDelayedFadeIn: string;
1702
- rowFadeOut: string;
1716
+ rowEnter: string;
1717
+ rowDelayedEnter: string;
1718
+ rowLeave: string;
1719
+ rowReplace: string;
1703
1720
  pageRow: string;
1704
1721
  question: {
1705
- contentFadeIn: string;
1706
- contentFadeOut: string;
1722
+ contentEnter: string;
1723
+ contentLeave: string;
1724
+ enter: string;
1725
+ leave: string;
1707
1726
  mobile: string;
1708
- fadeIn: string;
1709
- fadeOut: string;
1710
1727
  mainRoot: string;
1711
1728
  flowRoot: string;
1712
1729
  withFrame: string;
@@ -1792,6 +1809,8 @@ declare module "packages/survey-core/src/defaultCss/defaultV2Css" {
1792
1809
  rootRow: string;
1793
1810
  rootMultiColumn: string;
1794
1811
  item: string;
1812
+ itemEnter: string;
1813
+ itemLeave: string;
1795
1814
  itemOnError: string;
1796
1815
  itemSelectAll: string;
1797
1816
  itemNone: string;
@@ -1822,6 +1841,8 @@ declare module "packages/survey-core/src/defaultCss/defaultV2Css" {
1822
1841
  itemInline: string;
1823
1842
  label: string;
1824
1843
  labelChecked: string;
1844
+ itemEnter: string;
1845
+ itemLeave: string;
1825
1846
  itemDisabled: string;
1826
1847
  itemReadOnly: string;
1827
1848
  itemPreview: string;
@@ -1927,6 +1948,8 @@ declare module "packages/survey-core/src/defaultCss/defaultV2Css" {
1927
1948
  other: string;
1928
1949
  onError: string;
1929
1950
  label: string;
1951
+ itemEnter: string;
1952
+ itemLeave: string;
1930
1953
  item: string;
1931
1954
  itemDisabled: string;
1932
1955
  itemChecked: string;
@@ -2030,8 +2053,9 @@ declare module "packages/survey-core/src/defaultCss/defaultV2Css" {
2030
2053
  errorsCellBottom: string;
2031
2054
  itemCell: string;
2032
2055
  row: string;
2033
- rowFadeIn: string;
2034
- rowFadeOut: string;
2056
+ rowDelayedEnter: string;
2057
+ rowEnter: string;
2058
+ rowLeave: string;
2035
2059
  expandedRow: string;
2036
2060
  rowHasPanel: string;
2037
2061
  rowHasEndActions: string;
@@ -2071,8 +2095,9 @@ declare module "packages/survey-core/src/defaultCss/defaultV2Css" {
2071
2095
  cell: string;
2072
2096
  cellResponsiveTitle: string;
2073
2097
  row: string;
2074
- rowFadeIn: string;
2075
- rowFadeOut: string;
2098
+ rowDelayedEnter: string;
2099
+ rowEnter: string;
2100
+ rowLeave: string;
2076
2101
  rowHasPanel: string;
2077
2102
  rowHasEndActions: string;
2078
2103
  expandedRow: string;
@@ -2355,6 +2380,8 @@ declare module "packages/survey-core/src/defaultCss/defaultV2Css" {
2355
2380
  itemHover: string;
2356
2381
  itemControl: string;
2357
2382
  itemDecorator: string;
2383
+ itemEnter: string;
2384
+ itemLeave: string;
2358
2385
  cleanButton: string;
2359
2386
  cleanButtonSvg: string;
2360
2387
  cleanButtonIconId: string;
@@ -3057,7 +3084,7 @@ declare module "packages/survey-core/src/question_custom" {
3057
3084
  protected onUpdateQuestionCssClasses(element: Question, css: any): void;
3058
3085
  protected setQuestionValue(newValue: any, updateIsAnswered?: boolean): void;
3059
3086
  protected setNewValue(newValue: any): void;
3060
- protected onCheckForErrors(errors: Array<SurveyError>, isOnValueChanged: boolean): void;
3087
+ protected onCheckForErrors(errors: Array<SurveyError>, isOnValueChanged: boolean, fireCallback: boolean): void;
3061
3088
  getSurveyData(): ISurveyData;
3062
3089
  getTextProcessor(): ITextProcessor;
3063
3090
  getValue(name: string): any;
@@ -3590,6 +3617,7 @@ declare module "packages/survey-core/src/panel" {
3590
3617
  getDragDropInfo(): any;
3591
3618
  private updateRowsOnElementRemoved;
3592
3619
  updateRowsRemoveElementFromRow(element: IElement, row: QuestionRowModel): void;
3620
+ disableLazyRenderingBeforeElement(el?: IElement): void;
3593
3621
  findRowByElement(el: IElement): QuestionRowModel;
3594
3622
  elementWidthChanged(el: IElement): void;
3595
3623
  get processedTitle(): string;
@@ -3705,7 +3733,10 @@ declare module "packages/survey-core/src/panel" {
3705
3733
  get questionErrorLocation(): string;
3706
3734
  set questionErrorLocation(val: string);
3707
3735
  getQuestionErrorLocation(): string;
3736
+ getTitleOwner(): ITitleOwner;
3708
3737
  get no(): string;
3738
+ get cssTitleNumber(): string;
3739
+ get cssRequiredText(): string;
3709
3740
  get cssError(): string;
3710
3741
  protected getCssError(cssClasses: any): string;
3711
3742
  getSerializableColumnsValue(): Array<PanelLayoutColumnModel>;
@@ -3743,7 +3774,6 @@ declare module "packages/survey-core/src/panel" {
3743
3774
  * @see showNumber
3744
3775
  */
3745
3776
  get visibleIndex(): number;
3746
- getTitleOwner(): ITitleOwner;
3747
3777
  /**
3748
3778
  * Specifies whether to show the panel number in the title.
3749
3779
  *
@@ -3832,6 +3862,8 @@ declare module "packages/survey-core/src/panel" {
3832
3862
  protected getHasFrameV2(): boolean;
3833
3863
  protected getIsNested(): boolean;
3834
3864
  get showPanelAsPage(): boolean;
3865
+ private forcusFirstQuestionOnExpand;
3866
+ expand(focusFirstQuestion?: boolean): void;
3835
3867
  protected onElementExpanded(elementIsRendered: boolean): void;
3836
3868
  protected getCssRoot(cssClasses: {
3837
3869
  [index: string]: string;
@@ -3914,7 +3946,7 @@ declare module "packages/survey-core/src/question_file" {
3914
3946
  set waitForUpload(val: boolean);
3915
3947
  clearValue(keepComment?: boolean): void;
3916
3948
  clearOnDeletingContainer(): void;
3917
- protected onCheckForErrors(errors: Array<SurveyError>, isOnValueChanged: boolean): void;
3949
+ protected onCheckForErrors(errors: Array<SurveyError>, isOnValueChanged: boolean, fireCallback: boolean): void;
3918
3950
  protected uploadFiles(files: File[]): void;
3919
3951
  protected loadPreview(newValue: any): void;
3920
3952
  protected onChangeQuestionValue(newValue: any): void;
@@ -4223,6 +4255,7 @@ declare module "packages/survey-core/src/choicesRestful" {
4223
4255
  getCustomPropertiesNames(): Array<string>;
4224
4256
  private getCustomPropertyName;
4225
4257
  private getCustomProperties;
4258
+ private getAllPropertiesNames;
4226
4259
  setData(json: any): void;
4227
4260
  getData(): any;
4228
4261
  /**
@@ -4330,6 +4363,64 @@ declare module "packages/survey-core/src/choicesRestful" {
4330
4363
  }) => void);
4331
4364
  }
4332
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
+ }
4333
4424
  declare module "packages/survey-core/src/question_baseselect" {
4334
4425
  import { SurveyError } from "packages/survey-core/src/survey-error";
4335
4426
  import { ISurveyImpl, ISurvey, ISurveyData, IPlainDataOptions } from "packages/survey-core/src/base-interfaces";
@@ -4338,12 +4429,15 @@ declare module "packages/survey-core/src/question_baseselect" {
4338
4429
  import { ChoicesRestful } from "packages/survey-core/src/choicesRestful";
4339
4430
  import { LocalizableString } from "packages/survey-core/src/localizablestring";
4340
4431
  import { HashTable } from "packages/survey-core/src/helpers";
4432
+ import { TextAreaModel } from "packages/survey-core/src/utils/text-area";
4341
4433
  /**
4342
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.).
4343
4435
  */
4344
4436
  export class QuestionSelectBase extends Question {
4345
4437
  visibleChoicesChangedCallback: () => void;
4346
4438
  loadedChoicesFromServerCallback: () => void;
4439
+ otherTextAreaModel: TextAreaModel;
4440
+ renderedChoicesChangedCallback: () => void;
4347
4441
  private filteredChoicesValue;
4348
4442
  private conditionChoicesVisibleIfRunner;
4349
4443
  private conditionChoicesEnableIfRunner;
@@ -4361,6 +4455,7 @@ declare module "packages/survey-core/src/question_baseselect" {
4361
4455
  private waitingGetChoiceDisplayValueResponse;
4362
4456
  private get waitingChoicesByURL();
4363
4457
  protected selectedItemValues: any;
4458
+ private getOtherTextAreaOptions;
4364
4459
  constructor(name: string);
4365
4460
  getType(): string;
4366
4461
  dispose(): void;
@@ -4548,6 +4643,7 @@ declare module "packages/survey-core/src/question_baseselect" {
4548
4643
  protected hasUnknownValue(val: any, includeOther?: boolean, isFilteredChoices?: boolean, checkEmptyValue?: boolean): boolean;
4549
4644
  protected hasUnknownValueItem(val: any, includeOther?: boolean, isFilteredChoices?: boolean, checkEmptyValue?: boolean): boolean;
4550
4645
  protected isValueDisabled(val: any): boolean;
4646
+ endLoadingFromJson(): void;
4551
4647
  clearIncorrectValuesCallback: () => void;
4552
4648
  /**
4553
4649
  * Configures access to a RESTful service that returns choice items. Refer to the [`ChoicesRestful`](https://surveyjs.io/form-library/documentation/choicesrestful) class description for more information. You can also specify additional application-wide settings using the [`settings.web`](https://surveyjs.io/form-library/documentation/api-reference/settings#web) object.
@@ -4750,7 +4846,7 @@ declare module "packages/survey-core/src/question_baseselect" {
4750
4846
  supportRefuse(): boolean;
4751
4847
  supportDontKnow(): boolean;
4752
4848
  protected isSupportProperty(propName: string): boolean;
4753
- protected onCheckForErrors(errors: Array<SurveyError>, isOnValueChanged: boolean): void;
4849
+ protected onCheckForErrors(errors: Array<SurveyError>, isOnValueChanged: boolean, fireCallback: boolean): void;
4754
4850
  setSurveyImpl(value: ISurveyImpl, isLight?: boolean): void;
4755
4851
  protected setSurveyCore(value: ISurvey): void;
4756
4852
  getStoreOthersAsComment(): boolean;
@@ -4807,6 +4903,13 @@ declare module "packages/survey-core/src/question_baseselect" {
4807
4903
  protected getItemClassCore(item: any, options: any): string;
4808
4904
  getLabelClass(item: ItemValue): string;
4809
4905
  getControlLabelClass(item: ItemValue): string;
4906
+ _renderedChoices: Array<ItemValue>;
4907
+ onGetRenderedChoicesCallback?: (visibleChoices: Array<ItemValue>) => Array<ItemValue>;
4908
+ private updateRenderedChoices;
4909
+ private getRenderedChoicesAnimationOptions;
4910
+ private renderedChoicesAnimation;
4911
+ get renderedChoices(): Array<ItemValue>;
4912
+ set renderedChoices(val: Array<ItemValue>);
4810
4913
  private headItemsCount;
4811
4914
  private footItemsCount;
4812
4915
  get headItems(): ItemValue[];
@@ -4881,13 +4984,18 @@ declare module "packages/survey-core/src/validator" {
4881
4984
  constructor(value: any, error?: SurveyError);
4882
4985
  }
4883
4986
  /**
4884
- * 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))
4885
4990
  */
4886
4991
  export class SurveyValidator extends Base {
4887
4992
  errorOwner: ISurveyErrorOwner;
4888
4993
  onAsyncCompleted: (result: ValidatorResult) => void;
4889
4994
  constructor();
4890
4995
  getSurvey(live?: boolean): ISurvey;
4996
+ /**
4997
+ * An error message to display when a value fails validation.
4998
+ */
4891
4999
  get text(): string;
4892
5000
  set text(value: string);
4893
5001
  get isValidateAllValues(): boolean;
@@ -4919,7 +5027,9 @@ declare module "packages/survey-core/src/validator" {
4919
5027
  private prepareAsyncValidators;
4920
5028
  }
4921
5029
  /**
4922
- * 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))
4923
5033
  */
4924
5034
  export class NumericValidator extends SurveyValidator {
4925
5035
  constructor(minValue?: number, maxValue?: number);
@@ -4927,18 +5037,24 @@ declare module "packages/survey-core/src/validator" {
4927
5037
  validate(value: any, name?: string, values?: any, properties?: any): ValidatorResult;
4928
5038
  protected getDefaultErrorText(name: string): string;
4929
5039
  /**
4930
- * The minValue property.
5040
+ * A minimum allowed numeric value.
5041
+ *
5042
+ * [View Demo](https://surveyjs.io/form-library/examples/javascript-form-validation/ (linkStyle))
4931
5043
  */
4932
5044
  get minValue(): number;
4933
5045
  set minValue(val: number);
4934
5046
  /**
4935
- * The maxValue property.
5047
+ * A maximum allowed numeric value.
5048
+ *
5049
+ * [View Demo](https://surveyjs.io/form-library/examples/javascript-form-validation/ (linkStyle))
4936
5050
  */
4937
5051
  get maxValue(): number;
4938
5052
  set maxValue(val: number);
4939
5053
  }
4940
5054
  /**
4941
- * 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))
4942
5058
  */
4943
5059
  export class TextValidator extends SurveyValidator {
4944
5060
  constructor();
@@ -4946,23 +5062,35 @@ declare module "packages/survey-core/src/validator" {
4946
5062
  validate(value: any, name?: string, values?: any, properties?: any): ValidatorResult;
4947
5063
  protected getDefaultErrorText(name: string): string;
4948
5064
  /**
4949
- * 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))
4950
5070
  */
4951
5071
  get minLength(): number;
4952
5072
  set minLength(val: number);
4953
5073
  /**
4954
- * 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))
4955
5079
  */
4956
5080
  get maxLength(): number;
4957
5081
  set maxLength(val: number);
4958
5082
  /**
4959
- * The allowDigits property.
5083
+ * Specifies whether a text value can include numerical digits.
5084
+ *
5085
+ * Default value: `true`
4960
5086
  */
4961
5087
  get allowDigits(): boolean;
4962
5088
  set allowDigits(val: boolean);
4963
5089
  }
4964
5090
  /**
4965
- * 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))
4966
5094
  */
4967
5095
  export class AnswerCountValidator extends SurveyValidator {
4968
5096
  constructor(minCount?: number, maxCount?: number);
@@ -4970,18 +5098,22 @@ declare module "packages/survey-core/src/validator" {
4970
5098
  validate(value: any, name?: string, values?: any, properties?: any): ValidatorResult;
4971
5099
  protected getDefaultErrorText(name: string): string;
4972
5100
  /**
4973
- * The minCount property.
5101
+ * A minimum number of selected answers.
5102
+ *
5103
+ * [View Demo](https://surveyjs.io/form-library/examples/javascript-form-validation/ (linkStyle))
4974
5104
  */
4975
5105
  get minCount(): number;
4976
5106
  set minCount(val: number);
4977
5107
  /**
4978
- * The maxCount property.
5108
+ * A maximum number of selected answers.
5109
+ *
5110
+ * [View Demo](https://surveyjs.io/form-library/examples/javascript-form-validation/ (linkStyle))
4979
5111
  */
4980
5112
  get maxCount(): number;
4981
5113
  set maxCount(val: number);
4982
5114
  }
4983
5115
  /**
4984
- * Use it to validate the text by regular expressions.
5116
+ * A class that implements validation using regular expressions.
4985
5117
  *
4986
5118
  * [View Demo](https://surveyjs.io/form-library/examples/javascript-form-validation/ (linkStyle))
4987
5119
  */
@@ -4991,16 +5123,27 @@ declare module "packages/survey-core/src/validator" {
4991
5123
  validate(value: any, name?: string, values?: any, properties?: any): ValidatorResult;
4992
5124
  private hasError;
4993
5125
  /**
4994
- * 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))
4995
5129
  */
4996
5130
  get regex(): string;
4997
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);
4998
5139
  get insensitive(): boolean;
4999
5140
  set insensitive(val: boolean);
5000
5141
  private createRegExp;
5001
5142
  }
5002
5143
  /**
5003
- * 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))
5004
5147
  */
5005
5148
  export class EmailValidator extends SurveyValidator {
5006
5149
  private re;
@@ -5010,7 +5153,9 @@ declare module "packages/survey-core/src/validator" {
5010
5153
  protected getDefaultErrorText(name: string): string;
5011
5154
  }
5012
5155
  /**
5013
- * 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))
5014
5159
  */
5015
5160
  export class ExpressionValidator extends SurveyValidator {
5016
5161
  private conditionRunner;
@@ -5025,7 +5170,9 @@ declare module "packages/survey-core/src/validator" {
5025
5170
  protected getDefaultErrorText(name: string): string;
5026
5171
  protected ensureConditionRunner(): boolean;
5027
5172
  /**
5028
- * 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))
5029
5176
  */
5030
5177
  get expression(): string;
5031
5178
  set expression(val: string);
@@ -5145,7 +5292,7 @@ declare module "packages/survey-core/src/question_expression" {
5145
5292
  }
5146
5293
  declare module "packages/survey-core/src/question_matrixdropdowncolumn" {
5147
5294
  import { Question } from "packages/survey-core/src/question";
5148
- import { Base } from "packages/survey-core/src/base";
5295
+ import { Base, ArrayChanges } from "packages/survey-core/src/base";
5149
5296
  import { ISurvey, IWrapperObject } from "packages/survey-core/src/base-interfaces";
5150
5297
  import { ItemValue } from "packages/survey-core/src/itemvalue";
5151
5298
  import { ILocalizableOwner, LocalizableString } from "packages/survey-core/src/localizablestring";
@@ -5227,6 +5374,7 @@ declare module "packages/survey-core/src/question_matrixdropdowncolumn" {
5227
5374
  set visible(val: boolean);
5228
5375
  get hasVisibleCell(): boolean;
5229
5376
  set hasVisibleCell(newVal: boolean);
5377
+ isColumnsVisibleIf: boolean;
5230
5378
  getVisibleMultipleChoices(): Array<ItemValue>;
5231
5379
  get getVisibleChoicesInCell(): Array<any>;
5232
5380
  setVisibleChoicesInCell(val: Array<any>): void;
@@ -5480,7 +5628,7 @@ declare module "packages/survey-core/src/question_matrixdropdowncolumn" {
5480
5628
  private setParentQuestionToTemplate;
5481
5629
  private previousChoicesId;
5482
5630
  protected setQuestionProperties(question: Question, onUpdateJson?: (json: any) => any): void;
5483
- protected propertyValueChanged(name: string, oldValue: any, newValue: any): void;
5631
+ protected propertyValueChanged(name: string, oldValue: any, newValue: any, arrayChanges?: ArrayChanges, target?: Base): void;
5484
5632
  private doItemValuePropertyChanged;
5485
5633
  private doShowInMultipleColumnsChanged;
5486
5634
  private doColumnVisibilityChanged;
@@ -6081,7 +6229,7 @@ declare module "packages/survey-core/src/question_matrixdynamic" {
6081
6229
  protected getConditionObjectsRowIndeces(): Array<number>;
6082
6230
  supportGoNextPageAutomatic(): boolean;
6083
6231
  get hasRowText(): boolean;
6084
- protected onCheckForErrors(errors: Array<SurveyError>, isOnValueChanged: boolean): void;
6232
+ protected onCheckForErrors(errors: Array<SurveyError>, isOnValueChanged: boolean, fireCallback: boolean): void;
6085
6233
  private hasErrorInMinRows;
6086
6234
  protected getUniqueColumnsNames(): Array<string>;
6087
6235
  protected generateRows(): Array<MatrixDynamicRowModel>;
@@ -6090,6 +6238,7 @@ declare module "packages/survey-core/src/question_matrixdynamic" {
6090
6238
  private getInsertedDeletedIndex;
6091
6239
  private isEditingObjectValueChanged;
6092
6240
  updateValueFromSurvey(newValue: any, clearData?: boolean): void;
6241
+ protected getFilteredDataCore(): any;
6093
6242
  protected onBeforeValueChanged(val: any): void;
6094
6243
  protected createNewValue(): any;
6095
6244
  protected deleteRowValue(newValue: any, row: MatrixDropdownRowModelBase): any;
@@ -6392,6 +6541,7 @@ declare module "packages/survey-core/src/question_paneldynamic" {
6392
6541
  get hasSingleInput(): boolean;
6393
6542
  get isContainer(): boolean;
6394
6543
  getFirstQuestionToFocus(withError: boolean): Question;
6544
+ protected getFirstInputElementId(): string;
6395
6545
  setSurveyImpl(value: ISurveyImpl, isLight?: boolean): void;
6396
6546
  private assignOnPropertyChangedToTemplate;
6397
6547
  private addOnPropertyChangedCallback;
@@ -6683,6 +6833,7 @@ declare module "packages/survey-core/src/question_paneldynamic" {
6683
6833
  */
6684
6834
  get allowAddPanel(): boolean;
6685
6835
  set allowAddPanel(val: boolean);
6836
+ get addButtonId(): string;
6686
6837
  /**
6687
6838
  * Specifies the position of newly added panels.
6688
6839
  *
@@ -6911,6 +7062,7 @@ declare module "packages/survey-core/src/question_paneldynamic" {
6911
7062
  private hasPanelBuildFirstTime;
6912
7063
  private isBuildingPanelsFirstTime;
6913
7064
  private buildPanelsFirstTime;
7065
+ private get showAddPanelButton();
6914
7066
  private get wasNotRenderedInSurvey();
6915
7067
  private get canBuildPanels();
6916
7068
  onFirstRendering(): void;
@@ -8272,6 +8424,9 @@ declare module "packages/survey-core/src/page" {
8272
8424
  getType(): string;
8273
8425
  toString(): string;
8274
8426
  get isPage(): boolean;
8427
+ get no(): string;
8428
+ get cssTitleNumber(): string;
8429
+ get cssRequiredText(): string;
8275
8430
  protected canShowPageNumber(): boolean;
8276
8431
  protected canShowTitle(): boolean;
8277
8432
  /**
@@ -8665,6 +8820,7 @@ declare module "packages/survey-core/src/mask/mask_base" {
8665
8820
  getUnmaskedValue(src: string): any;
8666
8821
  getMaskedValue(src: any): string;
8667
8822
  getTextAlignment(): "left" | "right" | "auto";
8823
+ getTypeForExpressions(): string;
8668
8824
  }
8669
8825
  }
8670
8826
  declare module "packages/survey-core/src/mask/input_element_adapter" {
@@ -8839,7 +8995,7 @@ declare module "packages/survey-core/src/question_text" {
8839
8995
  protected valueForSurveyCore(val: any): any;
8840
8996
  protected valueFromDataCore(val: any): any;
8841
8997
  private dateValidationMessage;
8842
- protected onCheckForErrors(errors: Array<SurveyError>, isOnValueChanged: boolean): void;
8998
+ protected onCheckForErrors(errors: Array<SurveyError>, isOnValueChanged: boolean, fireCallback: boolean): void;
8843
8999
  protected canSetValueToSurvey(): boolean;
8844
9000
  protected convertFuncValuetoQuestionValue(val: any): any;
8845
9001
  private getMinMaxErrorText;
@@ -9243,7 +9399,7 @@ declare module "packages/survey-core/src/question_multipletext" {
9243
9399
  }
9244
9400
  }
9245
9401
  declare module "packages/survey-core/src/header" {
9246
- import { Base } from "packages/survey-core/src/base";
9402
+ import { Base, ArrayChanges } from "packages/survey-core/src/base";
9247
9403
  import { HorizontalAlignment, VerticalAlignment } from "packages/survey-core/src/base-interfaces";
9248
9404
  import { SurveyModel } from "packages/survey-core/src/survey";
9249
9405
  import { ITheme } from "packages/survey-core/src/themes";
@@ -9322,7 +9478,7 @@ declare module "packages/survey-core/src/header" {
9322
9478
  backgroundImage: string;
9323
9479
  backgroundSize: string;
9324
9480
  };
9325
- protected propertyValueChanged(name: string, oldValue: any, newValue: any): void;
9481
+ protected propertyValueChanged(name: string, oldValue: any, newValue: any, arrayChanges?: ArrayChanges, target?: Base): void;
9326
9482
  calculateActualHeight(logoHeight: number, titleHeight: number, descriptionHeight: number): number;
9327
9483
  processResponsiveness(width: number): void;
9328
9484
  get hasBackground(): boolean;
@@ -9483,7 +9639,7 @@ declare module "packages/survey-core/src/survey" {
9483
9639
  *
9484
9640
  * For information on event handler parameters, refer to descriptions within the interface.
9485
9641
  *
9486
- * [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))
9487
9643
  * @see triggers
9488
9644
  * @see runTriggers
9489
9645
  */
@@ -10215,6 +10371,7 @@ declare module "packages/survey-core/src/survey" {
10215
10371
  lazyRenderingFirstBatchSizeValue: number;
10216
10372
  get lazyRenderingFirstBatchSize(): number;
10217
10373
  set lazyRenderingFirstBatchSize(val: number);
10374
+ disableLazyRenderingBeforeElement(el: IElement): void;
10218
10375
  private updateLazyRenderingRowsOnRemovingElements;
10219
10376
  /**
10220
10377
  * A list of triggers in the survey.
@@ -12561,6 +12718,7 @@ declare module "packages/survey-core/src/survey-element" {
12561
12718
  */
12562
12719
  get cssClasses(): any;
12563
12720
  get cssTitleNumber(): any;
12721
+ get cssRequiredText(): any;
12564
12722
  protected calcCssClasses(css: any): any;
12565
12723
  protected updateElementCssCore(cssClasses: any): void;
12566
12724
  get cssError(): string;
@@ -12805,6 +12963,7 @@ declare module "packages/survey-core/src/question" {
12805
12963
  import { SurveyError } from "packages/survey-core/src/survey-error";
12806
12964
  import { PopupModel } from "packages/survey-core/src/popup";
12807
12965
  import { ITheme } from "packages/survey-core/src/themes";
12966
+ import { TextAreaModel } from "packages/survey-core/src/utils/text-area";
12808
12967
  export interface IConditionObject {
12809
12968
  name: string;
12810
12969
  text: string;
@@ -12858,6 +13017,8 @@ declare module "packages/survey-core/src/question" {
12858
13017
  private isReadyValue;
12859
13018
  private commentElements;
12860
13019
  private dependedQuestions;
13020
+ commentTextAreaModel: TextAreaModel;
13021
+ private getCommentTextAreaOptions;
12861
13022
  /**
12862
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.).
12863
13024
  *
@@ -13459,31 +13620,31 @@ declare module "packages/survey-core/src/question" {
13459
13620
  get defaultValueExpression(): any;
13460
13621
  set defaultValueExpression(val: any);
13461
13622
  /**
13462
- * 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).
13463
13624
  *
13464
13625
  * A survey parses and runs all expressions on startup. If any values used in the expression change, the survey re-evaluates it.
13465
13626
  *
13466
- * [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))
13467
13628
  * @see setValueIf
13468
13629
  */
13469
13630
  get resetValueIf(): string;
13470
13631
  set resetValueIf(val: string);
13471
13632
  /**
13472
- * 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).
13473
13634
  *
13474
13635
  * A survey parses and runs all expressions on startup. If any values used in the expression change, the survey re-evaluates it.
13475
13636
  *
13476
- * [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))
13477
13638
  * @see resetValueIf
13478
13639
  */
13479
13640
  get setValueIf(): string;
13480
13641
  set setValueIf(val: string);
13481
13642
  /**
13482
- * 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.
13483
13644
  *
13484
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`.
13485
13646
  *
13486
- * [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))
13487
13648
  * @see defaultValueExpression
13488
13649
  * @see resetValueIf
13489
13650
  */
@@ -13601,7 +13762,7 @@ declare module "packages/survey-core/src/question" {
13601
13762
  private collectErrors;
13602
13763
  protected canRunValidators(isOnValueChanged: boolean): boolean;
13603
13764
  private fireSurveyValidation;
13604
- protected onCheckForErrors(errors: Array<SurveyError>, isOnValueChanged: boolean): void;
13765
+ protected onCheckForErrors(errors: Array<SurveyError>, isOnValueChanged: boolean, fireCallback: boolean): void;
13605
13766
  hasRequiredError(): boolean;
13606
13767
  private validatorRunner;
13607
13768
  private isRunningValidatorsValue;
@@ -13799,6 +13960,9 @@ declare module "packages/survey-core/src/itemvalue" {
13799
13960
  private componentValue;
13800
13961
  getComponent(): string;
13801
13962
  setComponent(val: string): void;
13963
+ private _htmlElement;
13964
+ setRootElement(val: HTMLElement): void;
13965
+ getRootElement(): HTMLElement;
13802
13966
  protected getEnabled(): boolean;
13803
13967
  protected setEnabled(val: boolean): void;
13804
13968
  protected getVisible(): boolean;
@@ -13814,11 +13978,11 @@ declare module "packages/survey-core/src/martixBase" {
13814
13978
  import { HashTable } from "packages/survey-core/src/helpers";
13815
13979
  import { ItemValue } from "packages/survey-core/src/itemvalue";
13816
13980
  import { Question } from "packages/survey-core/src/question";
13981
+ import { ConditionRunner } from "packages/survey-core/src/conditions";
13817
13982
  /**
13818
13983
  * A base class for all matrix question types.
13819
13984
  */
13820
13985
  export class QuestionMatrixBaseModel<TRow, TColumn> extends Question {
13821
- protected filteredColumns: Array<TColumn>;
13822
13986
  protected filteredRows: Array<ItemValue>;
13823
13987
  protected generatedVisibleRows: Array<TRow>;
13824
13988
  protected generatedTotalRow: TRow;
@@ -13849,6 +14013,7 @@ declare module "packages/survey-core/src/martixBase" {
13849
14013
  get columns(): Array<any>;
13850
14014
  set columns(newValue: Array<any>);
13851
14015
  get visibleColumns(): Array<any>;
14016
+ protected isColumnVisible(column: any): boolean;
13852
14017
  /**
13853
14018
  * An array of matrix rows.
13854
14019
  *
@@ -13891,20 +14056,20 @@ declare module "packages/survey-core/src/martixBase" {
13891
14056
  get columnsVisibleIf(): string;
13892
14057
  set columnsVisibleIf(val: string);
13893
14058
  runCondition(values: HashTable<any>, properties: HashTable<any>): void;
13894
- protected filterItems(): boolean;
13895
14059
  protected onColumnsChanged(): void;
13896
14060
  protected onRowsChanged(): void;
13897
14061
  protected updateVisibilityBasedOnRows(): void;
13898
14062
  protected isVisibleCore(): boolean;
13899
14063
  protected shouldRunColumnExpression(): boolean;
13900
14064
  protected hasRowsAsItems(): boolean;
13901
- protected runItemsCondition(values: HashTable<any>, properties: HashTable<any>): boolean;
14065
+ protected runItemsCondition(values: HashTable<any>, properties: HashTable<any>): void;
14066
+ protected isRowsFiltered(): boolean;
13902
14067
  protected clearGeneratedRows(): void;
14068
+ protected createRowsVisibleIfRunner(): ConditionRunner;
13903
14069
  private runConditionsForRows;
13904
- private runConditionsForColumns;
13905
- clearIncorrectValues(): void;
14070
+ protected runConditionsForColumns(values: HashTable<any>, properties: HashTable<any>): boolean;
14071
+ protected clearInvisibleColumnValues(): void;
13906
14072
  protected clearInvisibleValuesInRows(): void;
13907
- private restoreNewVisibleRowsValues;
13908
14073
  needResponsiveWidth(): boolean;
13909
14074
  protected get columnsAutoWidth(): boolean;
13910
14075
  getTableCss(): string;
@@ -13958,6 +14123,7 @@ declare module "packages/survey-core/src/question_matrixdropdownbase" {
13958
14123
  import { QuestionMatrixDropdownRenderedCell, QuestionMatrixDropdownRenderedRow, QuestionMatrixDropdownRenderedTable } from "packages/survey-core/src/question_matrixdropdownrendered";
13959
14124
  export interface IMatrixDropdownData {
13960
14125
  value: any;
14126
+ getFilteredData(): any;
13961
14127
  onRowChanged(row: MatrixDropdownRowModelBase, columnName: string, newRowValue: any, isDeletingValue: boolean): void;
13962
14128
  onRowChanging(row: MatrixDropdownRowModelBase, columnName: string, rowValue: any): any;
13963
14129
  isValidateOnValueChanging: boolean;
@@ -13983,6 +14149,7 @@ declare module "packages/survey-core/src/question_matrixdropdownbase" {
13983
14149
  getSurvey(): ISurvey;
13984
14150
  getDataFilteredValues(): any;
13985
14151
  isMatrixReadOnly(): boolean;
14152
+ onRowVisibilityChanged(row: MatrixDropdownRowModelBase): void;
13986
14153
  }
13987
14154
  export class MatrixDropdownCell {
13988
14155
  column: MatrixDropdownColumn;
@@ -14022,6 +14189,7 @@ declare module "packages/survey-core/src/question_matrixdropdownbase" {
14022
14189
  private idValue;
14023
14190
  private textPreProcessor;
14024
14191
  private detailPanelValue;
14192
+ private visibleValue;
14025
14193
  cells: Array<MatrixDropdownCell>;
14026
14194
  showHideDetailPanelClick: any;
14027
14195
  onDetailPanelShowingChanged: () => void;
@@ -14032,6 +14200,10 @@ declare module "packages/survey-core/src/question_matrixdropdownbase" {
14032
14200
  get text(): any;
14033
14201
  isRowEnabled(): boolean;
14034
14202
  protected isRowHasEnabledCondition(): boolean;
14203
+ get isVisible(): boolean;
14204
+ get visible(): boolean;
14205
+ set visible(val: boolean);
14206
+ protected isItemVisible(): boolean;
14035
14207
  get value(): any;
14036
14208
  set value(value: any);
14037
14209
  get locText(): LocalizableString;
@@ -14050,7 +14222,8 @@ declare module "packages/survey-core/src/question_matrixdropdownbase" {
14050
14222
  getFilteredValues(): any;
14051
14223
  getFilteredProperties(): any;
14052
14224
  private applyRowVariablesToValues;
14053
- 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;
14054
14227
  getNamesWithDefaultValues(): Array<string>;
14055
14228
  clearValue(keepComment?: boolean): void;
14056
14229
  onAnyValueChanged(name: string, questionName: string): void;
@@ -14111,7 +14284,7 @@ declare module "packages/survey-core/src/question_matrixdropdownbase" {
14111
14284
  constructor(data: IMatrixDropdownData);
14112
14285
  protected createCell(column: MatrixDropdownColumn): MatrixDropdownCell;
14113
14286
  setValue(name: string, newValue: any): void;
14114
- runCondition(values: HashTable<any>, properties: HashTable<any>): void;
14287
+ runCondition(values: HashTable<any>, properties: HashTable<any>, rowsVisibleIf?: string): void;
14115
14288
  protected updateCellOnColumnChanged(cell: MatrixDropdownCell, name: string, newValue: any): void;
14116
14289
  }
14117
14290
  /**
@@ -14319,6 +14492,7 @@ declare module "packages/survey-core/src/question_matrixdropdownbase" {
14319
14492
  runTriggers(name: string, value: any): void;
14320
14493
  protected shouldRunColumnExpression(): boolean;
14321
14494
  protected runCellsCondition(values: HashTable<any>, properties: HashTable<any>): void;
14495
+ protected runConditionsForColumns(values: HashTable<any>, properties: HashTable<any>): boolean;
14322
14496
  private checkColumnsVisibility;
14323
14497
  private checkColumnsRenderedRequired;
14324
14498
  private isColumnVisibilityChanged;
@@ -14376,7 +14550,13 @@ declare module "packages/survey-core/src/question_matrixdropdownbase" {
14376
14550
  get locKeyDuplicationError(): LocalizableString;
14377
14551
  get storeOthersAsComment(): boolean;
14378
14552
  addColumn(name: string, title?: string): MatrixDropdownColumn;
14553
+ private visibleRowsArray;
14554
+ protected clearVisibleRows(): void;
14555
+ protected isColumnVisible(column: any): boolean;
14556
+ private isGenereatingRows;
14379
14557
  protected getVisibleRows(): Array<MatrixDropdownRowModelBase>;
14558
+ private generateVisibleRowsIfNeeded;
14559
+ private getVisibleFromGenerated;
14380
14560
  private updateValueOnRowsGeneration;
14381
14561
  get totalValue(): any;
14382
14562
  protected getVisibleTotalRow(): MatrixDropdownRowModelBase;
@@ -14450,6 +14630,9 @@ declare module "packages/survey-core/src/question_matrixdropdownbase" {
14450
14630
  protected onCellValueChanged(row: MatrixDropdownRowModelBase, columnName: string, rowValue: any): void;
14451
14631
  validateCell(row: MatrixDropdownRowModelBase, columnName: string, rowValue: any): SurveyError;
14452
14632
  get isValidateOnValueChanging(): boolean;
14633
+ protected get hasInvisibleRows(): boolean;
14634
+ getFilteredData(): any;
14635
+ protected getFilteredDataCore(): any;
14453
14636
  onRowChanging(row: MatrixDropdownRowModelBase, columnName: string, rowValue: any): any;
14454
14637
  onRowChanged(row: MatrixDropdownRowModelBase, columnName: string, newRowValue: any, isDeletingValue: boolean): void;
14455
14638
  private getNewValueOnRowChanged;
@@ -14468,6 +14651,10 @@ declare module "packages/survey-core/src/question_matrixdropdownbase" {
14468
14651
  getDataFilteredValues(): any;
14469
14652
  getParentTextProcessor(): ITextProcessor;
14470
14653
  isMatrixReadOnly(): boolean;
14654
+ onRowVisibilityChanged(row: MatrixDropdownRowModelBase): void;
14655
+ protected clearValueIfInvisibleCore(reason: string): void;
14656
+ protected clearInvisibleValuesInRows(): void;
14657
+ protected isRowsFiltered(): boolean;
14471
14658
  getQuestionFromArray(name: string, index: number): IQuestion;
14472
14659
  private isMatrixValueEmpty;
14473
14660
  private get SurveyModel();
@@ -14765,6 +14952,8 @@ declare module "packages/survey-core/src/base-interfaces" {
14765
14952
  name: string;
14766
14953
  no: string;
14767
14954
  requiredText: string;
14955
+ cssTitleNumber: string;
14956
+ cssRequiredText?: string;
14768
14957
  isRequireTextOnStart: boolean;
14769
14958
  isRequireTextBeforeTitle: boolean;
14770
14959
  isRequireTextAfterTitle: boolean;
@@ -16430,8 +16619,10 @@ declare module "packages/survey-core/src/question_matrixdropdown" {
16430
16619
  get rowName(): string;
16431
16620
  get text(): string;
16432
16621
  get locText(): LocalizableString;
16622
+ protected isItemVisible(): boolean;
16433
16623
  isRowEnabled(): boolean;
16434
16624
  protected isRowHasEnabledCondition(): boolean;
16625
+ protected setRowsVisibleIfValues(values: any): void;
16435
16626
  }
16436
16627
  /**
16437
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.
@@ -16463,12 +16654,13 @@ declare module "packages/survey-core/src/question_matrixdropdown" {
16463
16654
  protected getConditionObjectsRowIndeces(): Array<number>;
16464
16655
  protected isNewValueCorrect(val: any): boolean;
16465
16656
  clearIncorrectValues(): void;
16466
- protected clearValueIfInvisibleCore(reason: string): void;
16657
+ private getRowByKey;
16467
16658
  private defaultValuesInRows;
16468
16659
  protected clearGeneratedRows(): void;
16469
16660
  private getRowValueForCreation;
16470
16661
  protected generateRows(): Array<MatrixDropdownRowModel>;
16471
16662
  protected createMatrixRow(item: ItemValue, value: any): MatrixDropdownRowModel;
16663
+ protected getFilteredDataCore(): any;
16472
16664
  protected getSearchableItemValueKeys(keys: Array<string>): void;
16473
16665
  protected updateProgressInfoByValues(res: IProgressInfo): void;
16474
16666
  }
@@ -16774,6 +16966,7 @@ declare module "packages/survey-core/src/question_matrix" {
16774
16966
  import { LocalizableString, ILocalizableOwner } from "packages/survey-core/src/localizablestring";
16775
16967
  import { IConditionObject, IQuestionPlainData } from "packages/survey-core/src/question";
16776
16968
  import { IPlainDataOptions } from "packages/survey-core/src/base-interfaces";
16969
+ import { ConditionRunner } from "packages/survey-core/src/conditions";
16777
16970
  export interface IMatrixData {
16778
16971
  onMatrixRowChanged(row: MatrixRowModel): void;
16779
16972
  getCorrectedRowValue(value: any): any;
@@ -16888,7 +17081,9 @@ declare module "packages/survey-core/src/question_matrix" {
16888
17081
  locStrsChanged(): void;
16889
17082
  protected getQuizQuestionCount(): number;
16890
17083
  protected getCorrectAnswerCount(): number;
16891
- 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;
16892
17087
  protected getVisibleRows(): Array<MatrixRowModel>;
16893
17088
  protected sortVisibleRows(array: Array<MatrixRowModel>): Array<MatrixRowModel>;
16894
17089
  endLoadingFromJson(): void;
@@ -16913,7 +17108,7 @@ declare module "packages/survey-core/src/question_matrix" {
16913
17108
  getCellDisplayLocText(row: any, column: any): LocalizableString;
16914
17109
  supportGoNextPageAutomatic(): boolean;
16915
17110
  private errorsInRow;
16916
- protected onCheckForErrors(errors: Array<SurveyError>, isOnValueChanged: boolean): void;
17111
+ protected onCheckForErrors(errors: Array<SurveyError>, isOnValueChanged: boolean, fireCallback: boolean): void;
16917
17112
  private hasValuesInAllRows;
16918
17113
  private checkErrorsAllRows;
16919
17114
  private addErrorIntoRow;
@@ -16926,7 +17121,12 @@ declare module "packages/survey-core/src/question_matrix" {
16926
17121
  getPlainData(options?: IPlainDataOptions): IQuestionPlainData;
16927
17122
  addConditionObjectsByContext(objects: Array<IConditionObject>, context: any): void;
16928
17123
  getConditionJson(operator?: string, path?: string): any;
17124
+ clearIncorrectValues(): void;
16929
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;
16930
17130
  protected getFirstInputElementId(): string;
16931
17131
  onMatrixRowChanged(row: MatrixRowModel): void;
16932
17132
  getCorrectedRowValue(value: any): any;
@@ -17129,7 +17329,7 @@ declare module "packages/survey-core/src/question_checkbox" {
17129
17329
  protected getMultipleSelectedItems(): Array<ItemValue>;
17130
17330
  protected validateItemValues(itemValues: Array<ItemValue>): Array<ItemValue>;
17131
17331
  protected getAnswerCorrectIgnoreOrder(): boolean;
17132
- protected onCheckForErrors(errors: Array<SurveyError>, isOnValueChanged: boolean): void;
17332
+ protected onCheckForErrors(errors: Array<SurveyError>, isOnValueChanged: boolean, fireCallback: boolean): void;
17133
17333
  protected onVisibleChoicesChanged(): void;
17134
17334
  protected onEnableItemCallBack(item: ItemValue): boolean;
17135
17335
  protected onAfterRunItemsEnableCondition(): void;
@@ -17713,6 +17913,7 @@ declare module "packages/survey-core/src/question_ranking" {
17713
17913
  }
17714
17914
  declare module "packages/survey-core/src/question_comment" {
17715
17915
  import { QuestionTextBase } from "packages/survey-core/src/question_textbase";
17916
+ import { TextAreaModel } from "packages/survey-core/src/utils/text-area";
17716
17917
  /**
17717
17918
  * A class that describes the Long Text question type.
17718
17919
  *
@@ -17720,6 +17921,9 @@ declare module "packages/survey-core/src/question_comment" {
17720
17921
  */
17721
17922
  export class QuestionCommentModel extends QuestionTextBase {
17722
17923
  private element;
17924
+ textAreaModel: TextAreaModel;
17925
+ private getTextAreaOptions;
17926
+ constructor(name: string);
17723
17927
  /**
17724
17928
  * Specifies the visible height of the comment area, measured in lines.
17725
17929
  *
@@ -18779,6 +18983,7 @@ declare module "packages/survey-core/src/mask/mask_datetime" {
18779
18983
  get hasTimePart(): boolean;
18780
18984
  private get is12Hours();
18781
18985
  getType(): string;
18986
+ getTypeForExpressions(): string;
18782
18987
  protected updateLiterals(): void;
18783
18988
  private leaveOnlyNumbers;
18784
18989
  private getMaskedStrFromISO;
@@ -18946,6 +19151,7 @@ declare module "packages/survey-core/entries/chunks/model" {
18946
19151
  export { InputMaskDateTime } from "packages/survey-core/src/mask/mask_datetime";
18947
19152
  export { InputMaskCurrency } from "packages/survey-core/src/mask/mask_currency";
18948
19153
  export * from "packages/survey-core/src/utils/cssClassBuilder";
19154
+ export * from "packages/survey-core/src/utils/text-area";
18949
19155
  export { surveyCss, defaultV2Css, defaultV2ThemeName } from "packages/survey-core/src/defaultCss/defaultV2Css";
18950
19156
  export { DragDropCore } from "packages/survey-core/src/dragdrop/core";
18951
19157
  export { DragDropChoices } from "packages/survey-core/src/dragdrop/choices";
@@ -19512,6 +19718,7 @@ declare module "src/defaultCss/cssmodern" {
19512
19718
  page: {
19513
19719
  root: string;
19514
19720
  title: string;
19721
+ number: string;
19515
19722
  description: string;
19516
19723
  };
19517
19724
  pageTitle: string;
@@ -26762,36 +26969,38 @@ declare module "packages/survey-react-ui/src/components/character-counter" {
26762
26969
  renderElement(): JSX.Element | null;
26763
26970
  }
26764
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
+ }
26765
26987
  declare module "packages/survey-react-ui/src/reactquestion_comment" {
26766
26988
  import { ReactSurveyElement, SurveyQuestionUncontrolledElement } from "packages/survey-react-ui/src/reactquestion_element";
26767
- import { QuestionCommentModel } from "src/entries/core";
26989
+ import { QuestionCommentModel, TextAreaModel } from "src/entries/core";
26768
26990
  export class SurveyQuestionComment extends SurveyQuestionUncontrolledElement<QuestionCommentModel> {
26991
+ private renderCharacterCounter;
26769
26992
  constructor(props: any);
26770
26993
  protected renderElement(): JSX.Element;
26771
26994
  }
26772
26995
  export class SurveyQuestionCommentItem extends ReactSurveyElement {
26773
- private control;
26996
+ private textAreaModel;
26774
26997
  constructor(props: any);
26775
- componentDidUpdate(prevProps: any, prevState: any): void;
26776
- componentDidMount(): void;
26777
- protected updateDomElement(): void;
26778
- protected setControl(element: HTMLElement | null): void;
26779
26998
  protected canRender(): boolean;
26780
- protected onCommentChange(event: any): void;
26781
- protected onCommentInput(event: any): void;
26782
- protected getComment(): string;
26783
- protected setComment(value: any): void;
26784
- protected getId(): string;
26785
- protected getPlaceholder(): string;
26999
+ protected getTextAreaModel(): TextAreaModel;
26786
27000
  protected renderElement(): JSX.Element;
26787
27001
  }
26788
27002
  export class SurveyQuestionOtherValueItem extends SurveyQuestionCommentItem {
26789
- protected onCommentChange(event: any): void;
26790
- protected onCommentInput(event: any): void;
26791
- protected getComment(): string;
26792
- protected setComment(value: any): void;
26793
- protected getId(): string;
26794
- protected getPlaceholder(): string;
27003
+ protected getTextAreaModel(): TextAreaModel;
26795
27004
  }
26796
27005
  }
26797
27006
  declare module "packages/survey-react-ui/src/custom-widget" {
@@ -27053,6 +27262,7 @@ declare module "packages/survey-react-ui/src/reactquestion_element" {
27053
27262
  private _allowComponentUpdate;
27054
27263
  protected allowComponentUpdate(): void;
27055
27264
  protected denyComponentUpdate(): void;
27265
+ private prevStateElements;
27056
27266
  shouldComponentUpdate(nextProps: any, nextState: any): boolean;
27057
27267
  render(): JSX.Element | null;
27058
27268
  protected wrapElement(element: JSX.Element): JSX.Element;
@@ -27064,6 +27274,7 @@ declare module "packages/survey-react-ui/src/reactquestion_element" {
27064
27274
  protected get changedStatePropName(): string | undefined;
27065
27275
  private makeBaseElementsReact;
27066
27276
  private unMakeBaseElementsReact;
27277
+ protected disableStateElementsRerenderEvent(els: Array<Base>): void;
27067
27278
  protected getStateElements(): Array<Base>;
27068
27279
  protected getStateElement(): Base | null;
27069
27280
  protected get isDisplayMode(): boolean;
@@ -27375,9 +27586,10 @@ declare module "packages/survey-react-ui/src/reactquestion_checkbox" {
27375
27586
  protected getItems(cssClasses: any, choices: Array<ItemValue>): Array<any>;
27376
27587
  protected get textStyle(): any;
27377
27588
  protected renderOther(): JSX.Element;
27378
- protected renderItem(key: string, item: any, isFirst: boolean, cssClasses: any, index?: string): JSX.Element;
27589
+ protected renderItem(item: any, isFirst: boolean, cssClasses: any, index?: string): JSX.Element;
27379
27590
  }
27380
27591
  export class SurveyQuestionCheckboxItem extends ReactSurveyElement {
27592
+ private rootRef;
27381
27593
  constructor(props: any);
27382
27594
  protected getStateElement(): Base;
27383
27595
  protected get question(): QuestionCheckboxModel;
@@ -27386,12 +27598,15 @@ declare module "packages/survey-react-ui/src/reactquestion_checkbox" {
27386
27598
  protected get isFirst(): any;
27387
27599
  protected get index(): number;
27388
27600
  private get hideCaption();
27601
+ componentDidUpdate(prevProps: any, prevState: any): void;
27389
27602
  shouldComponentUpdate(nextProps: any, nextState: any): boolean;
27390
27603
  handleOnChange: (event: any) => void;
27391
27604
  protected canRender(): boolean;
27392
27605
  protected renderElement(): JSX.Element;
27393
27606
  protected get inputStyle(): any;
27394
27607
  protected renderCheckbox(isChecked: boolean, otherItem: JSX.Element | null): JSX.Element;
27608
+ componentDidMount(): void;
27609
+ componentWillUnmount(): void;
27395
27610
  }
27396
27611
  }
27397
27612
  declare module "packages/survey-react-ui/src/reactquestion_ranking" {
@@ -27703,6 +27918,7 @@ declare module "packages/survey-react-ui/src/reactquestion_radiogroup" {
27703
27918
  private getStateValue;
27704
27919
  }
27705
27920
  export class SurveyQuestionRadioItem extends ReactSurveyElement {
27921
+ private rootRef;
27706
27922
  constructor(props: any);
27707
27923
  protected getStateElement(): Base;
27708
27924
  protected get question(): QuestionRadiogroupModel;
@@ -27715,7 +27931,10 @@ declare module "packages/survey-react-ui/src/reactquestion_radiogroup" {
27715
27931
  handleOnChange(event: any): void;
27716
27932
  handleOnMouseDown(event: any): void;
27717
27933
  protected canRender(): boolean;
27934
+ componentDidUpdate(prevProps: any, prevState: any): void;
27718
27935
  protected renderElement(): JSX.Element;
27936
+ componentDidMount(): void;
27937
+ componentWillUnmount(): void;
27719
27938
  }
27720
27939
  }
27721
27940
  declare module "packages/survey-react-ui/src/reactquestion_text" {
@@ -27798,7 +28017,8 @@ declare module "packages/survey-react-ui/src/components/matrix-actions/drag-drop
27798
28017
  import { ReactSurveyElement } from "packages/survey-react-ui/src/reactquestion_element";
27799
28018
  export class SurveyQuestionMatrixDynamicDragDropIcon extends ReactSurveyElement {
27800
28019
  private get question();
27801
- protected renderElement(): JSX.Element;
28020
+ protected renderElement(): JSX.Element | null;
28021
+ protected renderIcon(): JSX.Element;
27802
28022
  }
27803
28023
  }
27804
28024
  declare module "packages/survey-react-ui/src/reactquestion_matrixdropdownbase" {