survey-react 1.9.91 → 1.9.93

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
@@ -1913,7 +1913,7 @@ declare module "actions/action" {
1913
1913
  export class Action extends BaseAction implements IAction, ILocalizableOwner {
1914
1914
  innerItem: IAction;
1915
1915
  private locTitleValue;
1916
- updateCallback: () => void;
1916
+ updateCallback: (isResetInitialized: boolean) => void;
1917
1917
  private raiseUpdate;
1918
1918
  constructor(innerItem: IAction);
1919
1919
  private createLocTitle;
@@ -2003,7 +2003,7 @@ declare module "actions/adaptive-container" {
2003
2003
  import { Action, actionModeType } from "actions/action";
2004
2004
  import { ActionContainer } from "actions/container";
2005
2005
  export class AdaptiveActionContainer<T extends Action = Action> extends ActionContainer<T> {
2006
- protected dotsItem: Action;
2006
+ dotsItem: Action;
2007
2007
  private responsivityManager;
2008
2008
  minVisibleItemsCount: number;
2009
2009
  isResponsivenessDisabled: boolean;
@@ -2140,6 +2140,17 @@ declare module "defaultCss/defaultV2Css" {
2140
2140
  progressBtnIcon: string;
2141
2141
  noEntriesPlaceholder: string;
2142
2142
  compact: string;
2143
+ tabsRoot: string;
2144
+ tabsLeft: string;
2145
+ tabsRight: string;
2146
+ tabsCenter: string;
2147
+ tabs: {
2148
+ item: string;
2149
+ itemPressed: string;
2150
+ itemAsIcon: string;
2151
+ itemIcon: string;
2152
+ itemTitle: string;
2153
+ };
2143
2154
  };
2144
2155
  progress: string;
2145
2156
  progressTop: string;
@@ -2656,6 +2667,7 @@ declare module "defaultCss/defaultV2Css" {
2656
2667
  other: string;
2657
2668
  onError: string;
2658
2669
  label: string;
2670
+ itemSvgIconId: string;
2659
2671
  item: string;
2660
2672
  itemDisabled: string;
2661
2673
  itemChecked: string;
@@ -3579,6 +3591,7 @@ declare module "question_file" {
3579
3591
  private getFileIndexCaption;
3580
3592
  isPreviewVisible(index: number): boolean;
3581
3593
  getType(): string;
3594
+ clearValue(): void;
3582
3595
  clearOnDeletingContainer(): void;
3583
3596
  /**
3584
3597
  * Disable this property only to implement a custom preview.
@@ -3906,7 +3919,6 @@ declare module "question_baseselect" {
3906
3919
  private noneItemValue;
3907
3920
  private newItemValue;
3908
3921
  private canShowOptionItemCallback;
3909
- private isUsingCarrayForward;
3910
3922
  private waitingGetChoiceDisplayValueResponse;
3911
3923
  protected selectedItemValues: any;
3912
3924
  constructor(name: string);
@@ -3916,6 +3928,8 @@ declare module "question_baseselect" {
3916
3928
  protected getCommentElementsId(): Array<string>;
3917
3929
  protected getItemValueType(): string;
3918
3930
  createItemValue(value: any, text?: string): ItemValue;
3931
+ get isUsingCarryForward(): boolean;
3932
+ private setIsUsingCarrayForward;
3919
3933
  supportGoNextPageError(): boolean;
3920
3934
  isLayoutTypeSupported(layoutType: string): boolean;
3921
3935
  localeChanged(): void;
@@ -4081,6 +4095,7 @@ declare module "question_baseselect" {
4081
4095
  */
4082
4096
  get choicesFromQuestion(): string;
4083
4097
  set choicesFromQuestion(val: string);
4098
+ private isLockVisibleChoices;
4084
4099
  private addIntoDependedQuestion;
4085
4100
  private removeFromDependedQuestion;
4086
4101
  /**
@@ -4235,7 +4250,7 @@ declare module "question_baseselect" {
4235
4250
  private randomizeArray;
4236
4251
  clearIncorrectValues(): void;
4237
4252
  protected hasValueToClearIncorrectValues(): boolean;
4238
- protected clearValueIfInvisibleCore(): void;
4253
+ protected clearValueIfInvisibleCore(reason: string): void;
4239
4254
  /**
4240
4255
  * Returns `true` if a passed choice item is selected.
4241
4256
  *
@@ -4679,6 +4694,8 @@ declare module "dragdrop/matrix-rows" {
4679
4694
  import { DragDropCore } from "dragdrop/core";
4680
4695
  export class DragDropMatrixRows extends DragDropCore<QuestionMatrixDynamicModel> {
4681
4696
  protected get draggedElementType(): string;
4697
+ protected restoreUserSelectValue: string;
4698
+ protected onStartDrag(): void;
4682
4699
  protected createDraggedElementShortcut(text: string, draggedElementNode: HTMLElement, event: PointerEvent): HTMLElement;
4683
4700
  private fromIndex;
4684
4701
  private toIndex;
@@ -5169,6 +5186,7 @@ declare module "question_paneldynamic" {
5169
5186
  import { SurveyError } from "survey-error";
5170
5187
  import { ActionContainer } from "actions/container";
5171
5188
  import { IAction } from "actions/action";
5189
+ import { AdaptiveActionContainer } from "actions/adaptive-container";
5172
5190
  export interface IQuestionPanelDynamicData {
5173
5191
  getItemIndex(item: ISurveyData): number;
5174
5192
  getVisibleItemIndex(item: ISurveyData): number;
@@ -5684,7 +5702,9 @@ declare module "question_paneldynamic" {
5684
5702
  hasErrors(fireCallback?: boolean, rec?: any): boolean;
5685
5703
  protected getContainsErrors(): boolean;
5686
5704
  protected getIsAnswered(): boolean;
5687
- protected clearValueIfInvisibleCore(): void;
5705
+ protected clearValueOnHidding(isClearOnHidden: boolean): void;
5706
+ clearValueIfInvisible(reason?: string): void;
5707
+ private clearValueInPanelsIfInvisible;
5688
5708
  protected getIsRunningValidators(): boolean;
5689
5709
  getAllErrors(): Array<SurveyError>;
5690
5710
  protected getDisplayValueCore(keysAsText: boolean, value: any): any;
@@ -5739,7 +5759,7 @@ declare module "question_paneldynamic" {
5739
5759
  getShowNoEntriesPlaceholder(): boolean;
5740
5760
  needResponsiveWidth(): boolean;
5741
5761
  private additionalTitleToolbarValue;
5742
- protected getAdditionalTitleToolbar(): ActionContainer | null;
5762
+ protected getAdditionalTitleToolbar(): AdaptiveActionContainer | null;
5743
5763
  private footerToolbarValue;
5744
5764
  get footerToolbar(): ActionContainer;
5745
5765
  legacyNavigation: boolean;
@@ -5755,6 +5775,7 @@ declare module "question_paneldynamic" {
5755
5775
  get showLegacyNavigation(): boolean;
5756
5776
  get showNavigation(): boolean;
5757
5777
  showSeparator(index: number): boolean;
5778
+ protected calcCssClasses(css: any): any;
5758
5779
  }
5759
5780
  }
5760
5781
  declare module "survey-events-api" {
@@ -5793,7 +5814,7 @@ declare module "survey-events-api" {
5793
5814
  }
5794
5815
  export interface MatrixDropdownQuestionEventMixin {
5795
5816
  /**
5796
- * A Multiple-Choice Matrix question instance for which the event is raised.
5817
+ * A Multi-Select Matrix question instance for which the event is raised.
5797
5818
  */
5798
5819
  question: QuestionMatrixDropdownModelBase;
5799
5820
  }
@@ -5859,7 +5880,7 @@ declare module "survey-events-api" {
5859
5880
  }
5860
5881
  export interface CompletingEvent extends CompleteBaseEvent {
5861
5882
  /**
5862
- * Set this property to `false` if you want to prevent survey completion.
5883
+ * A Boolean property that you can set to `false` if you want to prevent survey completion.
5863
5884
  */
5864
5885
  allow: boolean;
5865
5886
  allowComplete: boolean;
@@ -5888,14 +5909,14 @@ declare module "survey-events-api" {
5888
5909
  }
5889
5910
  export interface ShowingPreviewEvent {
5890
5911
  /**
5891
- * Set this property to `false` if you want to cancel the preview.
5912
+ * A Boolean property that you can set to `false` if you want to cancel the preview.
5892
5913
  */
5893
5914
  allow: boolean;
5894
5915
  allowShowPreview: boolean;
5895
5916
  }
5896
5917
  export interface NavigateToUrlEvent {
5897
5918
  /**
5898
- * Set this property to `false` if you want to cancel the navigation and show the [complete page](https://surveyjs.io/form-library/documentation/design-survey/create-a-multi-page-survey#complete-page).
5919
+ * A Boolean property that you can set to `false` if you want to cancel the navigation and show the [complete page](https://surveyjs.io/form-library/documentation/design-survey/create-a-multi-page-survey#complete-page).
5899
5920
  */
5900
5921
  allow: boolean;
5901
5922
  /**
@@ -5931,7 +5952,7 @@ declare module "survey-events-api" {
5931
5952
  }
5932
5953
  export interface CurrentPageChangingEvent extends CurrentPageChangedEvent {
5933
5954
  /**
5934
- * Set this property to `false` if you do not want to switch the current page.
5955
+ * A Boolean property that you can set to `false` if you do not want to switch the current page.
5935
5956
  */
5936
5957
  allow: boolean;
5937
5958
  allowChanging: boolean;
@@ -6281,13 +6302,13 @@ declare module "survey-events-api" {
6281
6302
  }
6282
6303
  export interface UpdateChoiceItemCssEvent extends QuestionEventMixin {
6283
6304
  /**
6284
- * a string with css classes divided by space. You can change it
6305
+ * A choice item. To access its value and display text, use the `options.item.value` and `options.item.text` properties.
6285
6306
  */
6286
- css: string;
6307
+ item: ItemValue;
6287
6308
  /**
6288
- * a choice item of ItemValue type. You can get value or text choice properties as options.item.value or options.choice.text
6309
+ * A string with CSS classes applied to the choice item. The CSS classes are separated by a space character. You can modify this string to apply custom CSS classes.
6289
6310
  */
6290
- item: ItemValue;
6311
+ css: string;
6291
6312
  }
6292
6313
  export interface AfterRenderSurveyEvent extends AfterRenderElementEventMixin {
6293
6314
  survey: SurveyModel;
@@ -6351,135 +6372,136 @@ declare module "survey-events-api" {
6351
6372
  }
6352
6373
  export interface MatrixRowAddedEvent extends MatrixDynamicQuestionEventMixin {
6353
6374
  /**
6354
- * a new added row
6375
+ * An added matrix row.
6355
6376
  */
6356
6377
  row: any;
6357
6378
  }
6358
6379
  export interface MatrixBeforeRowAddedEvent extends MatrixDynamicQuestionEventMixin {
6359
6380
  /**
6360
- * specifies whether a new row can be added
6381
+ * A Boolean property that you can set to `false` if you do not want to add the row.
6361
6382
  */
6362
6383
  canAddRow: boolean;
6363
6384
  }
6364
6385
  export interface MatrixRowRemovingEvent extends MatrixDynamicQuestionEventMixin {
6365
6386
  /**
6366
- * a boolean property. Set it to `false` to disable the row removing
6367
- */
6368
- allow: boolean;
6369
- /**
6370
- * a row object
6387
+ * A matrix row to be deleted. If you want to clear row data, set the `options.row.value` property to `undefined`.
6371
6388
  */
6372
6389
  row: any;
6373
6390
  /**
6374
- * a row index
6391
+ * A zero-based index of the matrix row to be deleted.
6375
6392
  */
6376
6393
  rowIndex: number;
6394
+ /**
6395
+ * A Boolean property that you can set to `false` if you want to cancel row deletion.
6396
+ */
6397
+ allow: boolean;
6377
6398
  }
6378
6399
  export interface MatrixRowRemovedEvent extends MatrixDynamicQuestionEventMixin {
6379
6400
  /**
6380
- * a removed row object
6401
+ * A deleted matrix row.
6381
6402
  */
6382
6403
  row: any;
6383
6404
  /**
6384
- * a removed row index
6405
+ * A zero-based index of the deleted row.
6385
6406
  */
6386
6407
  rowIndex: number;
6387
6408
  }
6388
6409
  export interface MatrixAllowRemoveRowEvent extends MatrixDynamicQuestionEventMixin {
6389
6410
  /**
6390
- * a boolean property. Set it to `false` to disable the row removing
6391
- */
6392
- allow: boolean;
6393
- /**
6394
- * a row object
6411
+ * A matrix row for which the event is raised.
6395
6412
  */
6396
6413
  row: any;
6397
6414
  /**
6398
- * a row index
6415
+ * A zero-based row index.
6399
6416
  */
6400
6417
  rowIndex: number;
6418
+ /**
6419
+ * A Boolean property that you can set to `false` if you want to hide the Remove button for this row.
6420
+ */
6421
+ allow: boolean;
6401
6422
  }
6402
6423
  export interface MatrixCellCreatingBaseEvent extends MatrixDropdownQuestionEventMixin {
6403
6424
  /**
6404
- * the matrix row object
6425
+ * A matrix column to which the cell belongs.
6405
6426
  */
6406
- row: MatrixDropdownRowModelBase;
6427
+ column: MatrixDropdownColumn;
6407
6428
  /**
6408
- * the matrix column name
6429
+ * The name of the matrix column to which the cell belongs.
6409
6430
  */
6410
6431
  columnName: string;
6411
6432
  /**
6412
- * the matrix column object
6433
+ * A matrix row to which the cell belongs.
6413
6434
  */
6414
- column: MatrixDropdownColumn;
6435
+ row: MatrixDropdownRowModelBase;
6415
6436
  /**
6416
- * the value of the current row. To access a particular column's value within the current row, use: `options.rowValue["columnValue"]`
6437
+ * The values of this matrix row.\
6438
+ * To access a particular column's value, use the following code: `options.rowValue["columnName"]`
6417
6439
  */
6418
6440
  rowValue: any;
6419
6441
  }
6420
6442
  export interface MatrixCellCreatingEvent extends MatrixCellCreatingBaseEvent {
6421
6443
  /**
6422
- * the cell question type. You can change it
6444
+ * The type of this matrix cell. You can change this property value to one of the values described in the [`cellType`](https://surveyjs.io/form-library/documentation/api-reference/matrix-table-with-dropdown-list#cellType) documentation.
6423
6445
  */
6424
6446
  cellType: string;
6425
6447
  }
6426
6448
  export interface MatrixCellCreatedEvent extends MatrixCellCreatingBaseEvent {
6427
6449
  /**
6428
- * the question/editor in the cell. You may customize it, change it's properties, like choices or visible
6450
+ * A matrix cell for which the event is raised.
6429
6451
  */
6430
- cellQuestion: Question;
6452
+ cell: MatrixDropdownCell;
6431
6453
  /**
6432
- * the matrix cell
6454
+ * A Question instance within the matrix cell. You can use the properties and methods exposed by the instance to customize it.
6433
6455
  */
6434
- cell: MatrixDropdownCell;
6456
+ cellQuestion: Question;
6435
6457
  }
6436
6458
  export interface MatrixAfterCellRenderEvent extends QuestionEventMixin, AfterRenderElementEventMixin {
6437
6459
  /**
6438
- * the matrix row object
6460
+ * A matrix cell for which the event is raised.
6439
6461
  */
6440
- row: MatrixDropdownRowModelBase;
6462
+ cell: MatrixDropdownCell;
6441
6463
  /**
6442
- * the matrix column object
6464
+ * A Question instance within the matrix cell.
6443
6465
  */
6444
- column: MatrixDropdownColumn | MatrixDropdownCell;
6466
+ cellQuestion: Question;
6445
6467
  /**
6446
- * the question/editor in the cell
6468
+ * A matrix row to which the cell belongs.
6447
6469
  */
6448
- cellQuestion: Question;
6470
+ row: MatrixDropdownRowModelBase;
6449
6471
  /**
6450
- * the matrix cell
6472
+ * A matrix column to which the cell belongs.
6451
6473
  */
6452
- cell: MatrixDropdownCell;
6474
+ column: MatrixDropdownColumn | MatrixDropdownCell;
6453
6475
  }
6454
6476
  export interface MatrixCellValueBaseEvent extends MatrixDropdownQuestionEventMixin {
6455
6477
  /**
6456
- * the function that returns the cell question by column name
6478
+ * A matrix row to which the cell belongs.
6457
6479
  */
6458
- getCellQuestion: (columnName: string) => Question;
6480
+ row: MatrixDropdownRowModelBase;
6459
6481
  /**
6460
- * the matrix row object
6482
+ * The name of a matrix column to which the cell belongs.
6461
6483
  */
6462
- row: MatrixDropdownRowModelBase;
6484
+ columnName: string;
6463
6485
  /**
6464
- * a new value
6486
+ * A method that returns a Question instance within the matrix cell given a column name.
6465
6487
  */
6466
- value: any;
6488
+ getCellQuestion: (columnName: string) => Question;
6467
6489
  /**
6468
- * the matrix column name
6490
+ * A new cell value.
6469
6491
  */
6470
- columnName: string;
6492
+ value: any;
6471
6493
  }
6472
6494
  export interface MatrixCellValueChangedEvent extends MatrixCellValueBaseEvent {
6473
6495
  }
6474
6496
  export interface MatrixCellValueChangingEvent extends MatrixCellValueBaseEvent {
6475
6497
  /**
6476
- * the old value
6498
+ * A previous cell value.
6477
6499
  */
6478
6500
  oldValue: any;
6479
6501
  }
6480
6502
  export interface MatrixCellValidateEvent extends MatrixCellValueBaseEvent {
6481
6503
  /**
6482
- * an error string. It is empty by default
6504
+ * A field for your custom error message. Default value: `undefined`.
6483
6505
  */
6484
6506
  error?: string;
6485
6507
  }
@@ -6491,7 +6513,7 @@ declare module "survey-events-api" {
6491
6513
  }
6492
6514
  export interface DynamicPanelRemovingEvent extends DynamicPanelModifiedEvent {
6493
6515
  /**
6494
- * Set this property to `false` if you want to cancel the panel deletion.
6516
+ * A Boolean property that you can set to `false` if you want to cancel panel deletion.
6495
6517
  */
6496
6518
  allow: boolean;
6497
6519
  }
@@ -6592,13 +6614,13 @@ declare module "survey-events-api" {
6592
6614
  }
6593
6615
  export interface GetPanelFooterActionsEvent extends GetActionsEventMixin, PanelEventMixin {
6594
6616
  /**
6595
- * A [Dynamic Panel](https://surveyjs.io/form-library/documentation/questionpaneldynamicmodel) to which the Panel belongs. This field is `undefined` if the Panel does not belong to any Dynamic Panel
6617
+ * A [Dynamic Panel](https://surveyjs.io/form-library/documentation/questionpaneldynamicmodel) to which the Panel belongs. This field is `undefined` if the Panel does not belong to any Dynamic Panel.
6596
6618
  */
6597
6619
  question?: QuestionPanelDynamicModel;
6598
6620
  }
6599
6621
  export interface GetMatrixRowActionsEvent extends QuestionEventMixin, GetActionsEventMixin {
6600
6622
  /**
6601
- * A matrix row for which the event is fired
6623
+ * A matrix row for which the event is raised.
6602
6624
  */
6603
6625
  row: any;
6604
6626
  }
@@ -6628,7 +6650,7 @@ declare module "survey-events-api" {
6628
6650
  }
6629
6651
  export interface MatrixColumnAddedEvent extends QuestionEventMixin {
6630
6652
  /**
6631
- * A new added column.
6653
+ * An added matrix column.
6632
6654
  */
6633
6655
  column: any;
6634
6656
  }
@@ -6994,6 +7016,7 @@ declare module "question_textbase" {
6994
7016
  import { Question } from "question";
6995
7017
  import { LocalizableString } from "localizablestring";
6996
7018
  import { Base } from "base";
7019
+ import { ISurveyImpl } from "base-interfaces";
6997
7020
  export class CharacterCounter extends Base {
6998
7021
  remainingCharacterCounter: string;
6999
7022
  updateRemainingCharacterCounter(newValue: string, maxLength: number): void;
@@ -7042,10 +7065,13 @@ declare module "question_textbase" {
7042
7065
  protected onReadOnlyChanged(): void;
7043
7066
  onSurveyLoad(): void;
7044
7067
  localeChanged(): void;
7068
+ setSurveyImpl(value: ISurveyImpl, isLight?: boolean): void;
7045
7069
  protected calcRenderedPlaceholder(): void;
7046
7070
  protected hasPlaceHolder(): boolean;
7047
7071
  protected setNewValue(newValue: any): void;
7048
7072
  protected setQuestionValue(newValue: any, updateIsAnswered?: boolean): void;
7073
+ disableNativeUndoRedo: boolean;
7074
+ protected checkForUndo(event: KeyboardEvent): void;
7049
7075
  getControlClass(): string;
7050
7076
  get ariaRole(): string;
7051
7077
  get ariaRequired(): any;
@@ -7839,7 +7865,9 @@ declare module "survey" {
7839
7865
  */
7840
7866
  onUpdateQuestionCssClasses: EventBase<SurveyModel, UpdateQuestionCssClassesEvent>;
7841
7867
  /**
7842
- * An event that is raised before rendering a panel. Use it to override default panel CSS classes.
7868
+ * An event that is raised before rendering a standalone panel and panels within [Dynamic Panel](/form-library/examples/duplicate-group-of-fields-in-form/). Use it to override default panel CSS classes.
7869
+ *
7870
+ * For information on event handler parameters, refer to descriptions within the interface.
7843
7871
  *
7844
7872
  * [View Demo](/form-library/examples/customize-survey-with-css/ (linkStyle))
7845
7873
  * @see css
@@ -7848,6 +7876,8 @@ declare module "survey" {
7848
7876
  /**
7849
7877
  * An event that is raised before rendering a page. Use it to override default page CSS classes.
7850
7878
  *
7879
+ * For information on event handler parameters, refer to descriptions within the interface.
7880
+ *
7851
7881
  * [View Demo](/form-library/examples/customize-survey-with-css/ (linkStyle))
7852
7882
  * @see css
7853
7883
  */
@@ -7855,6 +7885,8 @@ declare module "survey" {
7855
7885
  /**
7856
7886
  * An event that is raised before rendering a choice item in Radio Button Group, Checkboxes, and Dropdown questions. Use it to override default CSS classes applied to choice items.
7857
7887
  *
7888
+ * For information on event handler parameters, refer to descriptions within the interface.
7889
+ *
7858
7890
  * [View Demo](/form-library/examples/customize-survey-with-css/ (linkStyle))
7859
7891
  * @see css
7860
7892
  */
@@ -7931,91 +7963,61 @@ declare module "survey" {
7931
7963
  */
7932
7964
  onGetChoiceDisplayValue: EventBase<SurveyModel, GetChoiceDisplayValueEvent>;
7933
7965
  /**
7934
- * An event that is raised on adding a new row in Matrix Dynamic question.
7935
- * @see QuestionMatrixDynamicModel
7936
- * @see QuestionMatrixDynamicModel.visibleRows
7966
+ * An event that is raised after a new row is added to a [Dynamic Matrix](https://surveyjs.io/form-library/examples/questiontype-matrixdynamic/).
7937
7967
  */
7938
7968
  onMatrixRowAdded: EventBase<SurveyModel, MatrixRowAddedEvent>;
7939
7969
  /**
7940
- * An event that is raised before adding a new row in Matrix Dynamic question.
7941
- * @see QuestionMatrixDynamicModel
7942
- * @see QuestionMatrixDynamicModel.visibleRows
7970
+ * An event that is raised before a new row is added to a [Dynamic Matrix](https://surveyjs.io/form-library/examples/questiontype-matrixdynamic/).
7943
7971
  */
7944
7972
  onMatrixBeforeRowAdded: EventBase<SurveyModel, MatrixBeforeRowAddedEvent>;
7945
7973
  /**
7946
- * An event that is raised before removing a row from Matrix Dynamic question. You can disable removing and clear the data instead.
7947
- * @see QuestionMatrixDynamicModel
7948
- * @see onMatrixRowRemoved
7974
+ * An event that is raised before a row is deleted from a [Dynamic Matrix](https://surveyjs.io/form-library/examples/questiontype-matrixdynamic/). You can cancel row deletion and clear row data instead.
7949
7975
  * @see onMatrixAllowRemoveRow
7950
7976
  */
7951
7977
  onMatrixRowRemoving: EventBase<SurveyModel, MatrixRowRemovingEvent>;
7952
7978
  /**
7953
- * An event that is raised on removing a row from Matrix Dynamic question.
7954
- * @see QuestionMatrixDynamicModel
7955
- * @see QuestionMatrixDynamicModel.visibleRows
7956
- * @see onMatrixRowRemoving
7979
+ * An event that is raised after a row is deleted from a [Dynamic Matrix](https://surveyjs.io/form-library/examples/questiontype-matrixdynamic/).
7957
7980
  * @see onMatrixAllowRemoveRow
7958
7981
  */
7959
7982
  onMatrixRowRemoved: EventBase<SurveyModel, MatrixRowRemovedEvent>;
7960
7983
  /**
7961
- * An event that is raised before rendering "Remove" button for removing a row from Matrix Dynamic question.
7962
- * @see QuestionMatrixDynamicModel
7984
+ * An event that is raised before rendering the Remove button in a row of a [Dynamic Matrix](https://surveyjs.io/form-library/examples/questiontype-matrixdynamic/). Use this event to hide the Remove button for individual matrix rows.
7963
7985
  * @see onMatrixRowRemoving
7964
7986
  * @see onMatrixRowRemoved
7965
7987
  */
7966
7988
  onMatrixAllowRemoveRow: EventBase<SurveyModel, MatrixAllowRemoveRowEvent>;
7967
7989
  /**
7968
- * An event that is raised before creating cell question in the matrix. You can change the cell question type by setting different options.cellType.
7969
- * @see onMatrixBeforeRowAdded
7970
- * @see onMatrixCellCreated
7971
- * @see QuestionMatrixDynamicModel
7972
- * @see QuestionMatrixDropdownModel
7990
+ * An event that is raised before a cell in a [Multi-Select Matrix](https://surveyjs.io/form-library/examples/questiontype-matrixdropdown/) or [Dynamic Matrix](https://surveyjs.io/form-library/examples/questiontype-matrixdynamic/) is created. Use this event to change the type of individual matrix cells.
7991
+ * @see onMatrixAfterCellRender
7973
7992
  */
7974
7993
  onMatrixCellCreating: EventBase<SurveyModel, MatrixCellCreatingEvent>;
7975
7994
  /**
7976
- * An event that is raised for every cell created in Matrix Dynamic and Matrix Dropdown questions.
7977
- * @see onMatrixBeforeRowAdded
7978
- * @see onMatrixCellCreating
7979
- * @see onMatrixRowAdded
7980
- * @see QuestionMatrixDynamicModel
7981
- * @see QuestionMatrixDropdownModel
7995
+ * An event that is raised after a cell in a [Multi-Select Matrix](https://surveyjs.io/form-library/examples/questiontype-matrixdropdown/) or [Dynamic Matrix](https://surveyjs.io/form-library/examples/questiontype-matrixdynamic/) is created.
7996
+ * @see onMatrixAfterCellRender
7982
7997
  */
7983
7998
  onMatrixCellCreated: EventBase<SurveyModel, MatrixCellCreatedEvent>;
7984
7999
  /**
7985
- * An event that is raised for every cell after is has been rendered in DOM.
8000
+ * An event that is raised for every matrix cell after it is rendered to the DOM.
7986
8001
  * @see onMatrixCellCreated
7987
- * @see QuestionMatrixDynamicModel
7988
- * @see QuestionMatrixDropdownModel
7989
8002
  */
7990
8003
  onMatrixAfterCellRender: EventBase<SurveyModel, MatrixAfterCellRenderEvent>;
7991
8004
  /**
7992
- * An event that is raised when cell value is changed in Matrix Dynamic and Matrix Dropdown questions.
7993
- * @see onMatrixCellValueChanging
8005
+ * An event that is raised after a cell value is changed in a [Multi-Select Matrix](https://surveyjs.io/form-library/examples/questiontype-matrixdropdown/) or [Dynamic Matrix](https://surveyjs.io/form-library/examples/questiontype-matrixdynamic/).
7994
8006
  * @see onMatrixBeforeRowAdded
7995
- * @see onMatrixRowAdded
7996
- * @see QuestionMatrixDynamicModel
7997
- * @see QuestionMatrixDropdownModel
7998
8007
  */
7999
8008
  onMatrixCellValueChanged: EventBase<SurveyModel, MatrixCellValueChangedEvent>;
8000
8009
  /**
8001
- * An event that is raised on changing cell value in Matrix Dynamic and Matrix Dropdown questions. You may change the `options.value` property to change a cell value.
8002
- * @see onMatrixCellValueChanged
8010
+ * An event that is raised before a cell value is changed in a [Multi-Select Matrix](https://surveyjs.io/form-library/examples/questiontype-matrixdropdown/) or [Dynamic Matrix](https://surveyjs.io/form-library/examples/questiontype-matrixdynamic/). Use this event to change the cell value.
8003
8011
  * @see onMatrixBeforeRowAdded
8004
- * @see onMatrixRowAdded
8005
- * @see QuestionMatrixDynamicModel
8006
- * @see QuestionMatrixDropdownModel
8007
8012
  */
8008
8013
  onMatrixCellValueChanging: EventBase<SurveyModel, MatrixCellValueChangingEvent>;
8009
8014
  /**
8010
- * An event that is raised when Matrix Dynamic and Matrix Dropdown questions validate the cell value.
8015
+ * An event that is raised for [Multi-Select Matrix](https://surveyjs.io/form-library/examples/questiontype-matrixdropdown/) and [Dynamic Matrix](https://surveyjs.io/form-library/examples/questiontype-matrixdynamic/) questions when they validate a cell value. Use this event to display a custom error message based on a condition.
8011
8016
  * @see onMatrixBeforeRowAdded
8012
- * @see onMatrixRowAdded
8013
- * @see QuestionMatrixDynamicModel
8014
- * @see QuestionMatrixDropdownModel
8015
8017
  */
8016
8018
  onMatrixCellValidate: EventBase<SurveyModel, MatrixCellValidateEvent>;
8017
8019
  /**
8018
- * An event that is raised on adding a new column in Matrix Dynamic or Matrix Dropdown question.
8020
+ * An event that is raised after a new column is added to a [Multi-Select Matrix](https://surveyjs.io/form-library/examples/questiontype-matrixdropdown/) or [Dynamic Matrix](https://surveyjs.io/form-library/examples/questiontype-matrixdynamic/).
8019
8021
  */
8020
8022
  onMatrixColumnAdded: EventBase<SurveyModel, MatrixColumnAddedEvent>;
8021
8023
  /**
@@ -8093,9 +8095,12 @@ declare module "survey" {
8093
8095
  */
8094
8096
  onGetPanelFooterActions: EventBase<SurveyModel, GetPanelFooterActionsEvent>;
8095
8097
  /**
8096
- * Use this event to create/customize actions to be displayed in a matrix question's row.
8098
+ * An event that allows you to add, delete, or modify actions in rows of a [Dynamic Matrix](https://surveyjs.io/form-library/examples/questiontype-matrixdynamic/).
8099
+ *
8100
+ * For information on event handler parameters, refer to descriptions within the interface.
8101
+ *
8102
+ * [View Demo](https://surveyjs.io/form-library/examples/employee-information-form/ (linkStyle))
8097
8103
  * @see IAction
8098
- * @see QuestionMatrixDropdownModelBase
8099
8104
  */
8100
8105
  onGetMatrixRowActions: EventBase<SurveyModel, GetMatrixRowActionsEvent>;
8101
8106
  /**
@@ -8506,27 +8511,53 @@ declare module "survey" {
8506
8511
  */
8507
8512
  get emptySurveyText(): string;
8508
8513
  /**
8509
- * Gets or sets a survey logo.
8510
- * @see title
8514
+ * An image URL or a Base64-encoded image to use as a survey logo.
8515
+ *
8516
+ * [View Demo](https://surveyjs.io/form-library/examples/survey-logo/ (linkStyle))
8517
+ * @see logoPosition
8518
+ * @see logoFit
8511
8519
  */
8512
8520
  get logo(): string;
8513
8521
  set logo(value: string);
8514
8522
  get locLogo(): LocalizableString;
8515
8523
  /**
8516
- * Gets or sets a survey logo width.
8524
+ * A logo width in CSS-accepted values.
8525
+ *
8526
+ * Default value: `300px`
8527
+ *
8528
+ * [View Demo](https://surveyjs.io/form-library/examples/survey-logo/ (linkStyle))
8529
+ * @see logoHeight
8517
8530
  * @see logo
8531
+ * @see logoPosition
8532
+ * @see logoFit
8518
8533
  */
8519
8534
  get logoWidth(): any;
8520
8535
  set logoWidth(value: any);
8521
8536
  /**
8522
- * Gets or sets a survey logo height.
8537
+ * A logo height in CSS-accepted values.
8538
+ *
8539
+ * Default value: `200px`
8540
+ *
8541
+ * [View Demo](https://surveyjs.io/form-library/examples/survey-logo/ (linkStyle))
8542
+ * @see logoHeight
8523
8543
  * @see logo
8544
+ * @see logoPosition
8545
+ * @see logoFit
8524
8546
  */
8525
8547
  get logoHeight(): any;
8526
8548
  set logoHeight(value: any);
8527
8549
  /**
8528
- * Gets or sets a survey logo position.
8550
+ * A logo position relative to the [survey title](https://surveyjs.io/form-library/documentation/api-reference/survey-data-model#title).
8551
+ *
8552
+ * Possible values:
8553
+ *
8554
+ * - `"left"` (default) - Places the logo to the left of the survey title.
8555
+ * - `"right"` - Places the logo to the right of the survey title.
8556
+ * - `"none"` - Hides the logo.
8557
+ *
8558
+ * [View Demo](https://surveyjs.io/form-library/examples/survey-logo/ (linkStyle))
8529
8559
  * @see logo
8560
+ * @see logoFit
8530
8561
  */
8531
8562
  get logoPosition(): string;
8532
8563
  set logoPosition(value: string);
@@ -8541,8 +8572,20 @@ declare module "survey" {
8541
8572
  get renderedHasLogo(): boolean;
8542
8573
  get renderedHasHeader(): boolean;
8543
8574
  /**
8544
- * The logo fit mode.
8575
+ * Specifies how to resize a logo to fit it into its container.
8576
+ *
8577
+ * Possible values:
8578
+ *
8579
+ * - `"contain"` (default)
8580
+ * - `"cover"`
8581
+ * - `"fill"`
8582
+ * - `"none"`
8583
+ *
8584
+ * Refer to the [`object-fit`](https://developer.mozilla.org/en-US/docs/Web/CSS/object-fit) CSS property description for information on the possible values.
8585
+ *
8586
+ * [View Demo](https://surveyjs.io/form-library/examples/survey-logo/ (linkStyle))
8545
8587
  * @see logo
8588
+ * @see logoPosition
8546
8589
  */
8547
8590
  get logoFit(): string;
8548
8591
  set logoFit(val: string);
@@ -8940,12 +8983,12 @@ declare module "survey" {
8940
8983
  */
8941
8984
  get isShowStartingPage(): boolean;
8942
8985
  /**
8943
- * Specifies which part of a choice item responds to a drag gesture in MatrixDynamic questions.
8986
+ * Specifies which part of a matrix row responds to a drag gesture in [Dynamic Matrix](https://surveyjs.io/form-library/examples/questiontype-matrixdynamic/) questions.
8944
8987
  *
8945
8988
  * Possible values:
8946
8989
  *
8947
- * - `"entireItem"` (default) - Users can use the entire choice item as a drag handle.
8948
- * - `"icon"` - Users can only use the choice item icon as a drag handle.
8990
+ * - `"entireItem"` (default) - Users can use the entire matrix row as a drag handle.
8991
+ * - `"icon"` - Users can only use a drag icon as a drag handle.
8949
8992
  */
8950
8993
  get matrixDragHandleArea(): string;
8951
8994
  set matrixDragHandleArea(val: string);
@@ -9706,8 +9749,7 @@ declare module "survey" {
9706
9749
  */
9707
9750
  get clearValueOnDisableItems(): boolean;
9708
9751
  set clearValueOnDisableItems(val: boolean);
9709
- get isClearValueOnHidden(): boolean;
9710
- get isClearValueOnHiddenContainer(): boolean;
9752
+ getQuestionClearIfInvisible(questionClearIf: string): string;
9711
9753
  questionVisibilityChanged(question: Question, newValue: boolean): void;
9712
9754
  pageVisibilityChanged(page: PageModel, newValue: boolean): void;
9713
9755
  panelVisibilityChanged(panel: PanelModel, newValue: boolean): void;
@@ -10316,7 +10358,6 @@ declare module "survey-element" {
10316
10358
  set paddingLeft(val: string);
10317
10359
  get paddingRight(): string;
10318
10360
  set paddingRight(val: string);
10319
- get isDescriptionVisible(): boolean;
10320
10361
  allowRootStyle: boolean;
10321
10362
  get rootStyle(): {
10322
10363
  [index: string]: any;
@@ -10543,7 +10584,7 @@ declare module "question" {
10543
10584
  /**
10544
10585
  * Hides the question number from the title and excludes the question from numbering.
10545
10586
  *
10546
- * If you want to disable question numbering in the entire survey, set SurveyModel's `showQuestionNumbers` property to `false`.
10587
+ * If you want to disable question numbering in the entire survey, set `SurveyModel`'s `showQuestionNumbers` property to `false`.
10547
10588
  * @see SurveyModel.showQuestionNumbers
10548
10589
  */
10549
10590
  get hideNumber(): boolean;
@@ -10621,6 +10662,7 @@ declare module "question" {
10621
10662
  getTitleOwner(): ITitleOwner;
10622
10663
  protected getIsTitleRenderedAsString(): boolean;
10623
10664
  private notifySurveyVisibilityChanged;
10665
+ protected clearValueOnHidding(isClearOnHidden: boolean): void;
10624
10666
  /**
10625
10667
  * Returns title location calculated based on the question's `titleLocation` property and the `questionTitleLocation` property of the question's containers (survey, page, or panel).
10626
10668
  * @see titleLocation
@@ -10881,7 +10923,7 @@ declare module "question" {
10881
10923
  */
10882
10924
  get isParentVisible(): boolean;
10883
10925
  clearValueIfInvisible(reason?: string): void;
10884
- protected clearValueIfInvisibleCore(): void;
10926
+ protected clearValueIfInvisibleCore(reason: string): void;
10885
10927
  /**
10886
10928
  * Specifies when to clear the question value if the question becomes invisible.
10887
10929
  *
@@ -10889,6 +10931,7 @@ declare module "question" {
10889
10931
  *
10890
10932
  * - `"default"` (default) - Inherits the setting from the Survey's [`clearInvisibleValues`](https://surveyjs.io/form-library/documentation/surveymodel#clearInvisibleValues) property.
10891
10933
  * - `"onHidden"` - Clears the value when the question becomes invisible. If a question is invisible on startup and has an initial value, this value will be cleared when the survey is complete.
10934
+ * - `"onHiddenContainer"` - Clears the value when the question or its containter (page or panel) becomes invisible. If the question is invisible initially, its value is removed on survey completion.
10892
10935
  * - `"onComplete"` - Clears the value when the survey is complete.
10893
10936
  * - `"none"` - Never clears the value of an invisible question.
10894
10937
  * @see SurveyModel.clearInvisibleValues
@@ -10897,6 +10940,7 @@ declare module "question" {
10897
10940
  */
10898
10941
  get clearIfInvisible(): string;
10899
10942
  set clearIfInvisible(val: string);
10943
+ protected getClearIfInvisible(): string;
10900
10944
  get displayValue(): any;
10901
10945
  /**
10902
10946
  * Returns a display text that corresponds to the question value. For example, if you call this method for a Dropdown question, it returns an item text instead of an item value.
@@ -11757,8 +11801,7 @@ declare module "base-interfaces" {
11757
11801
  panelVisibilityChanged(panel: IPanel, newValue: boolean): any;
11758
11802
  questionVisibilityChanged(question: IQuestion, newValue: boolean): any;
11759
11803
  isEditingSurveyElement: boolean;
11760
- isClearValueOnHidden: boolean;
11761
- isClearValueOnHiddenContainer: boolean;
11804
+ getQuestionClearIfInvisible(questionClearIf: string): string;
11762
11805
  questionsOrder: string;
11763
11806
  matrixDragHandleArea: string;
11764
11807
  keepIncorrectValues: boolean;
@@ -12006,7 +12049,7 @@ declare module "itemvalue" {
12006
12049
  import { IShortcutText, ISurvey } from "base-interfaces";
12007
12050
  import { BaseAction } from "actions/action";
12008
12051
  /**
12009
- * Array of ItemValue is used in checkox, dropdown and radiogroup choices, matrix columns and rows.
12052
+ * Array of ItemValue is used in checkbox, dropdown and radiogroup choices, matrix columns and rows.
12010
12053
  * It has two main properties: value and text. If text is empty, value is used for displaying.
12011
12054
  * The text property is localizable and support markdown.
12012
12055
  */
@@ -12591,7 +12634,7 @@ declare module "question_matrixdropdown" {
12591
12634
  protected getConditionObjectsRowIndeces(): Array<number>;
12592
12635
  protected setNewValue(newValue: any): void;
12593
12636
  clearIncorrectValues(): void;
12594
- protected clearValueIfInvisibleCore(): void;
12637
+ protected clearValueIfInvisibleCore(reason: string): void;
12595
12638
  protected generateRows(): Array<MatrixDropdownRowModel>;
12596
12639
  protected createMatrixRow(item: ItemValue, value: any): MatrixDropdownRowModel;
12597
12640
  protected getSearchableItemValueKeys(keys: Array<string>): void;
@@ -12612,6 +12655,7 @@ declare module "dropdownListModel" {
12612
12655
  readonly loadingItemHeight = 40;
12613
12656
  private _markdownMode;
12614
12657
  private _popupModel;
12658
+ focused: boolean;
12615
12659
  private get focusFirstInputSelector();
12616
12660
  protected readonly selectedItemSelector = ".sv-list__item--selected";
12617
12661
  protected readonly itemSelector = ".sv-list__item";
@@ -12640,7 +12684,6 @@ declare module "dropdownListModel" {
12640
12684
  searchEnabled: boolean;
12641
12685
  filterString: string;
12642
12686
  inputString: string;
12643
- showSelectedItemLocText: boolean;
12644
12687
  showInputFieldComponent: boolean;
12645
12688
  ariaActivedescendant: string;
12646
12689
  private applyInputString;
@@ -12667,6 +12710,7 @@ declare module "dropdownListModel" {
12667
12710
  setSearchEnabled(newValue: boolean): void;
12668
12711
  updateItems(): void;
12669
12712
  onClick(event: any): void;
12713
+ protected onPropertyChangedHandler(sender: any, options: any): void;
12670
12714
  protected focusItemOnClickAndPopup(): void;
12671
12715
  onClear(event: any): void;
12672
12716
  getSelectedAction(): ItemValue;
@@ -12939,7 +12983,7 @@ declare module "question_matrix" {
12939
12983
  }): import("question").IQuestionPlainData;
12940
12984
  addConditionObjectsByContext(objects: Array<IConditionObject>, context: any): void;
12941
12985
  getConditionJson(operator?: string, path?: string): any;
12942
- protected clearValueIfInvisibleCore(): void;
12986
+ protected clearValueIfInvisibleCore(reason: string): void;
12943
12987
  protected getFirstInputElementId(): string;
12944
12988
  onMatrixRowChanged(row: MatrixRowModel): void;
12945
12989
  getCorrectedRowValue(value: any): any;
@@ -13211,6 +13255,7 @@ declare module "dropdownMultiSelectListModel" {
13211
13255
  protected onEscape(): void;
13212
13256
  protected beforeScrollToFocusedItem(focusedItem: ItemValue): void;
13213
13257
  protected afterScrollToFocusedItem(): void;
13258
+ protected onPropertyChangedHandler(sender: any, options: any): void;
13214
13259
  }
13215
13260
  }
13216
13261
  declare module "question_tagbox" {
@@ -14151,8 +14196,9 @@ declare module "question_signaturepad" {
14151
14196
  declare module "surveyToc" {
14152
14197
  import { Action } from "actions/action";
14153
14198
  import { ListModel } from "list";
14199
+ import { PageModel } from "page";
14154
14200
  import { SurveyModel } from "survey";
14155
- export function tryNavigateToPage(survey: SurveyModel, index: number): boolean;
14201
+ export function tryNavigateToPage(survey: SurveyModel, page: PageModel): boolean;
14156
14202
  export function createTOCListModel(survey: SurveyModel): ListModel<Action>;
14157
14203
  export function getTocRootCss(survey: SurveyModel): string;
14158
14204
  }
@@ -14570,7 +14616,7 @@ declare module "question_custom" {
14570
14616
  updateElementCss(reNew?: boolean): void;
14571
14617
  getTextProcessor(): ITextProcessor;
14572
14618
  findQuestionByName(name: string): IQuestion;
14573
- protected clearValueIfInvisibleCore(): void;
14619
+ protected clearValueIfInvisibleCore(reason: string): void;
14574
14620
  onAnyValueChanged(name: string): void;
14575
14621
  protected createPanel(): PanelModel;
14576
14622
  protected onReadOnlyChanged(): void;