survey-react 1.9.92 → 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.
@@ -4237,7 +4250,7 @@ declare module "question_baseselect" {
4237
4250
  private randomizeArray;
4238
4251
  clearIncorrectValues(): void;
4239
4252
  protected hasValueToClearIncorrectValues(): boolean;
4240
- protected clearValueIfInvisibleCore(): void;
4253
+ protected clearValueIfInvisibleCore(reason: string): void;
4241
4254
  /**
4242
4255
  * Returns `true` if a passed choice item is selected.
4243
4256
  *
@@ -4681,6 +4694,8 @@ declare module "dragdrop/matrix-rows" {
4681
4694
  import { DragDropCore } from "dragdrop/core";
4682
4695
  export class DragDropMatrixRows extends DragDropCore<QuestionMatrixDynamicModel> {
4683
4696
  protected get draggedElementType(): string;
4697
+ protected restoreUserSelectValue: string;
4698
+ protected onStartDrag(): void;
4684
4699
  protected createDraggedElementShortcut(text: string, draggedElementNode: HTMLElement, event: PointerEvent): HTMLElement;
4685
4700
  private fromIndex;
4686
4701
  private toIndex;
@@ -5171,6 +5186,7 @@ declare module "question_paneldynamic" {
5171
5186
  import { SurveyError } from "survey-error";
5172
5187
  import { ActionContainer } from "actions/container";
5173
5188
  import { IAction } from "actions/action";
5189
+ import { AdaptiveActionContainer } from "actions/adaptive-container";
5174
5190
  export interface IQuestionPanelDynamicData {
5175
5191
  getItemIndex(item: ISurveyData): number;
5176
5192
  getVisibleItemIndex(item: ISurveyData): number;
@@ -5686,7 +5702,9 @@ declare module "question_paneldynamic" {
5686
5702
  hasErrors(fireCallback?: boolean, rec?: any): boolean;
5687
5703
  protected getContainsErrors(): boolean;
5688
5704
  protected getIsAnswered(): boolean;
5689
- protected clearValueIfInvisibleCore(): void;
5705
+ protected clearValueOnHidding(isClearOnHidden: boolean): void;
5706
+ clearValueIfInvisible(reason?: string): void;
5707
+ private clearValueInPanelsIfInvisible;
5690
5708
  protected getIsRunningValidators(): boolean;
5691
5709
  getAllErrors(): Array<SurveyError>;
5692
5710
  protected getDisplayValueCore(keysAsText: boolean, value: any): any;
@@ -5741,7 +5759,7 @@ declare module "question_paneldynamic" {
5741
5759
  getShowNoEntriesPlaceholder(): boolean;
5742
5760
  needResponsiveWidth(): boolean;
5743
5761
  private additionalTitleToolbarValue;
5744
- protected getAdditionalTitleToolbar(): ActionContainer | null;
5762
+ protected getAdditionalTitleToolbar(): AdaptiveActionContainer | null;
5745
5763
  private footerToolbarValue;
5746
5764
  get footerToolbar(): ActionContainer;
5747
5765
  legacyNavigation: boolean;
@@ -5757,6 +5775,7 @@ declare module "question_paneldynamic" {
5757
5775
  get showLegacyNavigation(): boolean;
5758
5776
  get showNavigation(): boolean;
5759
5777
  showSeparator(index: number): boolean;
5778
+ protected calcCssClasses(css: any): any;
5760
5779
  }
5761
5780
  }
5762
5781
  declare module "survey-events-api" {
@@ -5795,7 +5814,7 @@ declare module "survey-events-api" {
5795
5814
  }
5796
5815
  export interface MatrixDropdownQuestionEventMixin {
5797
5816
  /**
5798
- * 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.
5799
5818
  */
5800
5819
  question: QuestionMatrixDropdownModelBase;
5801
5820
  }
@@ -5861,7 +5880,7 @@ declare module "survey-events-api" {
5861
5880
  }
5862
5881
  export interface CompletingEvent extends CompleteBaseEvent {
5863
5882
  /**
5864
- * 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.
5865
5884
  */
5866
5885
  allow: boolean;
5867
5886
  allowComplete: boolean;
@@ -5890,14 +5909,14 @@ declare module "survey-events-api" {
5890
5909
  }
5891
5910
  export interface ShowingPreviewEvent {
5892
5911
  /**
5893
- * 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.
5894
5913
  */
5895
5914
  allow: boolean;
5896
5915
  allowShowPreview: boolean;
5897
5916
  }
5898
5917
  export interface NavigateToUrlEvent {
5899
5918
  /**
5900
- * 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).
5901
5920
  */
5902
5921
  allow: boolean;
5903
5922
  /**
@@ -5933,7 +5952,7 @@ declare module "survey-events-api" {
5933
5952
  }
5934
5953
  export interface CurrentPageChangingEvent extends CurrentPageChangedEvent {
5935
5954
  /**
5936
- * 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.
5937
5956
  */
5938
5957
  allow: boolean;
5939
5958
  allowChanging: boolean;
@@ -6283,13 +6302,13 @@ declare module "survey-events-api" {
6283
6302
  }
6284
6303
  export interface UpdateChoiceItemCssEvent extends QuestionEventMixin {
6285
6304
  /**
6286
- * 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.
6287
6306
  */
6288
- css: string;
6307
+ item: ItemValue;
6289
6308
  /**
6290
- * 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.
6291
6310
  */
6292
- item: ItemValue;
6311
+ css: string;
6293
6312
  }
6294
6313
  export interface AfterRenderSurveyEvent extends AfterRenderElementEventMixin {
6295
6314
  survey: SurveyModel;
@@ -6353,135 +6372,136 @@ declare module "survey-events-api" {
6353
6372
  }
6354
6373
  export interface MatrixRowAddedEvent extends MatrixDynamicQuestionEventMixin {
6355
6374
  /**
6356
- * a new added row
6375
+ * An added matrix row.
6357
6376
  */
6358
6377
  row: any;
6359
6378
  }
6360
6379
  export interface MatrixBeforeRowAddedEvent extends MatrixDynamicQuestionEventMixin {
6361
6380
  /**
6362
- * 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.
6363
6382
  */
6364
6383
  canAddRow: boolean;
6365
6384
  }
6366
6385
  export interface MatrixRowRemovingEvent extends MatrixDynamicQuestionEventMixin {
6367
6386
  /**
6368
- * a boolean property. Set it to `false` to disable the row removing
6369
- */
6370
- allow: boolean;
6371
- /**
6372
- * 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`.
6373
6388
  */
6374
6389
  row: any;
6375
6390
  /**
6376
- * a row index
6391
+ * A zero-based index of the matrix row to be deleted.
6377
6392
  */
6378
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;
6379
6398
  }
6380
6399
  export interface MatrixRowRemovedEvent extends MatrixDynamicQuestionEventMixin {
6381
6400
  /**
6382
- * a removed row object
6401
+ * A deleted matrix row.
6383
6402
  */
6384
6403
  row: any;
6385
6404
  /**
6386
- * a removed row index
6405
+ * A zero-based index of the deleted row.
6387
6406
  */
6388
6407
  rowIndex: number;
6389
6408
  }
6390
6409
  export interface MatrixAllowRemoveRowEvent extends MatrixDynamicQuestionEventMixin {
6391
6410
  /**
6392
- * a boolean property. Set it to `false` to disable the row removing
6393
- */
6394
- allow: boolean;
6395
- /**
6396
- * a row object
6411
+ * A matrix row for which the event is raised.
6397
6412
  */
6398
6413
  row: any;
6399
6414
  /**
6400
- * a row index
6415
+ * A zero-based row index.
6401
6416
  */
6402
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;
6403
6422
  }
6404
6423
  export interface MatrixCellCreatingBaseEvent extends MatrixDropdownQuestionEventMixin {
6405
6424
  /**
6406
- * the matrix row object
6425
+ * A matrix column to which the cell belongs.
6407
6426
  */
6408
- row: MatrixDropdownRowModelBase;
6427
+ column: MatrixDropdownColumn;
6409
6428
  /**
6410
- * the matrix column name
6429
+ * The name of the matrix column to which the cell belongs.
6411
6430
  */
6412
6431
  columnName: string;
6413
6432
  /**
6414
- * the matrix column object
6433
+ * A matrix row to which the cell belongs.
6415
6434
  */
6416
- column: MatrixDropdownColumn;
6435
+ row: MatrixDropdownRowModelBase;
6417
6436
  /**
6418
- * 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"]`
6419
6439
  */
6420
6440
  rowValue: any;
6421
6441
  }
6422
6442
  export interface MatrixCellCreatingEvent extends MatrixCellCreatingBaseEvent {
6423
6443
  /**
6424
- * 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.
6425
6445
  */
6426
6446
  cellType: string;
6427
6447
  }
6428
6448
  export interface MatrixCellCreatedEvent extends MatrixCellCreatingBaseEvent {
6429
6449
  /**
6430
- * 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.
6431
6451
  */
6432
- cellQuestion: Question;
6452
+ cell: MatrixDropdownCell;
6433
6453
  /**
6434
- * 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.
6435
6455
  */
6436
- cell: MatrixDropdownCell;
6456
+ cellQuestion: Question;
6437
6457
  }
6438
6458
  export interface MatrixAfterCellRenderEvent extends QuestionEventMixin, AfterRenderElementEventMixin {
6439
6459
  /**
6440
- * the matrix row object
6460
+ * A matrix cell for which the event is raised.
6441
6461
  */
6442
- row: MatrixDropdownRowModelBase;
6462
+ cell: MatrixDropdownCell;
6443
6463
  /**
6444
- * the matrix column object
6464
+ * A Question instance within the matrix cell.
6445
6465
  */
6446
- column: MatrixDropdownColumn | MatrixDropdownCell;
6466
+ cellQuestion: Question;
6447
6467
  /**
6448
- * the question/editor in the cell
6468
+ * A matrix row to which the cell belongs.
6449
6469
  */
6450
- cellQuestion: Question;
6470
+ row: MatrixDropdownRowModelBase;
6451
6471
  /**
6452
- * the matrix cell
6472
+ * A matrix column to which the cell belongs.
6453
6473
  */
6454
- cell: MatrixDropdownCell;
6474
+ column: MatrixDropdownColumn | MatrixDropdownCell;
6455
6475
  }
6456
6476
  export interface MatrixCellValueBaseEvent extends MatrixDropdownQuestionEventMixin {
6457
6477
  /**
6458
- * the function that returns the cell question by column name
6478
+ * A matrix row to which the cell belongs.
6459
6479
  */
6460
- getCellQuestion: (columnName: string) => Question;
6480
+ row: MatrixDropdownRowModelBase;
6461
6481
  /**
6462
- * the matrix row object
6482
+ * The name of a matrix column to which the cell belongs.
6463
6483
  */
6464
- row: MatrixDropdownRowModelBase;
6484
+ columnName: string;
6465
6485
  /**
6466
- * a new value
6486
+ * A method that returns a Question instance within the matrix cell given a column name.
6467
6487
  */
6468
- value: any;
6488
+ getCellQuestion: (columnName: string) => Question;
6469
6489
  /**
6470
- * the matrix column name
6490
+ * A new cell value.
6471
6491
  */
6472
- columnName: string;
6492
+ value: any;
6473
6493
  }
6474
6494
  export interface MatrixCellValueChangedEvent extends MatrixCellValueBaseEvent {
6475
6495
  }
6476
6496
  export interface MatrixCellValueChangingEvent extends MatrixCellValueBaseEvent {
6477
6497
  /**
6478
- * the old value
6498
+ * A previous cell value.
6479
6499
  */
6480
6500
  oldValue: any;
6481
6501
  }
6482
6502
  export interface MatrixCellValidateEvent extends MatrixCellValueBaseEvent {
6483
6503
  /**
6484
- * an error string. It is empty by default
6504
+ * A field for your custom error message. Default value: `undefined`.
6485
6505
  */
6486
6506
  error?: string;
6487
6507
  }
@@ -6493,7 +6513,7 @@ declare module "survey-events-api" {
6493
6513
  }
6494
6514
  export interface DynamicPanelRemovingEvent extends DynamicPanelModifiedEvent {
6495
6515
  /**
6496
- * 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.
6497
6517
  */
6498
6518
  allow: boolean;
6499
6519
  }
@@ -6594,13 +6614,13 @@ declare module "survey-events-api" {
6594
6614
  }
6595
6615
  export interface GetPanelFooterActionsEvent extends GetActionsEventMixin, PanelEventMixin {
6596
6616
  /**
6597
- * 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.
6598
6618
  */
6599
6619
  question?: QuestionPanelDynamicModel;
6600
6620
  }
6601
6621
  export interface GetMatrixRowActionsEvent extends QuestionEventMixin, GetActionsEventMixin {
6602
6622
  /**
6603
- * A matrix row for which the event is fired
6623
+ * A matrix row for which the event is raised.
6604
6624
  */
6605
6625
  row: any;
6606
6626
  }
@@ -6630,7 +6650,7 @@ declare module "survey-events-api" {
6630
6650
  }
6631
6651
  export interface MatrixColumnAddedEvent extends QuestionEventMixin {
6632
6652
  /**
6633
- * A new added column.
6653
+ * An added matrix column.
6634
6654
  */
6635
6655
  column: any;
6636
6656
  }
@@ -6996,6 +7016,7 @@ declare module "question_textbase" {
6996
7016
  import { Question } from "question";
6997
7017
  import { LocalizableString } from "localizablestring";
6998
7018
  import { Base } from "base";
7019
+ import { ISurveyImpl } from "base-interfaces";
6999
7020
  export class CharacterCounter extends Base {
7000
7021
  remainingCharacterCounter: string;
7001
7022
  updateRemainingCharacterCounter(newValue: string, maxLength: number): void;
@@ -7044,10 +7065,13 @@ declare module "question_textbase" {
7044
7065
  protected onReadOnlyChanged(): void;
7045
7066
  onSurveyLoad(): void;
7046
7067
  localeChanged(): void;
7068
+ setSurveyImpl(value: ISurveyImpl, isLight?: boolean): void;
7047
7069
  protected calcRenderedPlaceholder(): void;
7048
7070
  protected hasPlaceHolder(): boolean;
7049
7071
  protected setNewValue(newValue: any): void;
7050
7072
  protected setQuestionValue(newValue: any, updateIsAnswered?: boolean): void;
7073
+ disableNativeUndoRedo: boolean;
7074
+ protected checkForUndo(event: KeyboardEvent): void;
7051
7075
  getControlClass(): string;
7052
7076
  get ariaRole(): string;
7053
7077
  get ariaRequired(): any;
@@ -7841,7 +7865,9 @@ declare module "survey" {
7841
7865
  */
7842
7866
  onUpdateQuestionCssClasses: EventBase<SurveyModel, UpdateQuestionCssClassesEvent>;
7843
7867
  /**
7844
- * 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.
7845
7871
  *
7846
7872
  * [View Demo](/form-library/examples/customize-survey-with-css/ (linkStyle))
7847
7873
  * @see css
@@ -7850,6 +7876,8 @@ declare module "survey" {
7850
7876
  /**
7851
7877
  * An event that is raised before rendering a page. Use it to override default page CSS classes.
7852
7878
  *
7879
+ * For information on event handler parameters, refer to descriptions within the interface.
7880
+ *
7853
7881
  * [View Demo](/form-library/examples/customize-survey-with-css/ (linkStyle))
7854
7882
  * @see css
7855
7883
  */
@@ -7857,6 +7885,8 @@ declare module "survey" {
7857
7885
  /**
7858
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.
7859
7887
  *
7888
+ * For information on event handler parameters, refer to descriptions within the interface.
7889
+ *
7860
7890
  * [View Demo](/form-library/examples/customize-survey-with-css/ (linkStyle))
7861
7891
  * @see css
7862
7892
  */
@@ -7933,91 +7963,61 @@ declare module "survey" {
7933
7963
  */
7934
7964
  onGetChoiceDisplayValue: EventBase<SurveyModel, GetChoiceDisplayValueEvent>;
7935
7965
  /**
7936
- * An event that is raised on adding a new row in Matrix Dynamic question.
7937
- * @see QuestionMatrixDynamicModel
7938
- * @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/).
7939
7967
  */
7940
7968
  onMatrixRowAdded: EventBase<SurveyModel, MatrixRowAddedEvent>;
7941
7969
  /**
7942
- * An event that is raised before adding a new row in Matrix Dynamic question.
7943
- * @see QuestionMatrixDynamicModel
7944
- * @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/).
7945
7971
  */
7946
7972
  onMatrixBeforeRowAdded: EventBase<SurveyModel, MatrixBeforeRowAddedEvent>;
7947
7973
  /**
7948
- * An event that is raised before removing a row from Matrix Dynamic question. You can disable removing and clear the data instead.
7949
- * @see QuestionMatrixDynamicModel
7950
- * @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.
7951
7975
  * @see onMatrixAllowRemoveRow
7952
7976
  */
7953
7977
  onMatrixRowRemoving: EventBase<SurveyModel, MatrixRowRemovingEvent>;
7954
7978
  /**
7955
- * An event that is raised on removing a row from Matrix Dynamic question.
7956
- * @see QuestionMatrixDynamicModel
7957
- * @see QuestionMatrixDynamicModel.visibleRows
7958
- * @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/).
7959
7980
  * @see onMatrixAllowRemoveRow
7960
7981
  */
7961
7982
  onMatrixRowRemoved: EventBase<SurveyModel, MatrixRowRemovedEvent>;
7962
7983
  /**
7963
- * An event that is raised before rendering "Remove" button for removing a row from Matrix Dynamic question.
7964
- * @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.
7965
7985
  * @see onMatrixRowRemoving
7966
7986
  * @see onMatrixRowRemoved
7967
7987
  */
7968
7988
  onMatrixAllowRemoveRow: EventBase<SurveyModel, MatrixAllowRemoveRowEvent>;
7969
7989
  /**
7970
- * An event that is raised before creating cell question in the matrix. You can change the cell question type by setting different options.cellType.
7971
- * @see onMatrixBeforeRowAdded
7972
- * @see onMatrixCellCreated
7973
- * @see QuestionMatrixDynamicModel
7974
- * @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
7975
7992
  */
7976
7993
  onMatrixCellCreating: EventBase<SurveyModel, MatrixCellCreatingEvent>;
7977
7994
  /**
7978
- * An event that is raised for every cell created in Matrix Dynamic and Matrix Dropdown questions.
7979
- * @see onMatrixBeforeRowAdded
7980
- * @see onMatrixCellCreating
7981
- * @see onMatrixRowAdded
7982
- * @see QuestionMatrixDynamicModel
7983
- * @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
7984
7997
  */
7985
7998
  onMatrixCellCreated: EventBase<SurveyModel, MatrixCellCreatedEvent>;
7986
7999
  /**
7987
- * 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.
7988
8001
  * @see onMatrixCellCreated
7989
- * @see QuestionMatrixDynamicModel
7990
- * @see QuestionMatrixDropdownModel
7991
8002
  */
7992
8003
  onMatrixAfterCellRender: EventBase<SurveyModel, MatrixAfterCellRenderEvent>;
7993
8004
  /**
7994
- * An event that is raised when cell value is changed in Matrix Dynamic and Matrix Dropdown questions.
7995
- * @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/).
7996
8006
  * @see onMatrixBeforeRowAdded
7997
- * @see onMatrixRowAdded
7998
- * @see QuestionMatrixDynamicModel
7999
- * @see QuestionMatrixDropdownModel
8000
8007
  */
8001
8008
  onMatrixCellValueChanged: EventBase<SurveyModel, MatrixCellValueChangedEvent>;
8002
8009
  /**
8003
- * 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.
8004
- * @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.
8005
8011
  * @see onMatrixBeforeRowAdded
8006
- * @see onMatrixRowAdded
8007
- * @see QuestionMatrixDynamicModel
8008
- * @see QuestionMatrixDropdownModel
8009
8012
  */
8010
8013
  onMatrixCellValueChanging: EventBase<SurveyModel, MatrixCellValueChangingEvent>;
8011
8014
  /**
8012
- * 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.
8013
8016
  * @see onMatrixBeforeRowAdded
8014
- * @see onMatrixRowAdded
8015
- * @see QuestionMatrixDynamicModel
8016
- * @see QuestionMatrixDropdownModel
8017
8017
  */
8018
8018
  onMatrixCellValidate: EventBase<SurveyModel, MatrixCellValidateEvent>;
8019
8019
  /**
8020
- * 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/).
8021
8021
  */
8022
8022
  onMatrixColumnAdded: EventBase<SurveyModel, MatrixColumnAddedEvent>;
8023
8023
  /**
@@ -8095,9 +8095,12 @@ declare module "survey" {
8095
8095
  */
8096
8096
  onGetPanelFooterActions: EventBase<SurveyModel, GetPanelFooterActionsEvent>;
8097
8097
  /**
8098
- * 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))
8099
8103
  * @see IAction
8100
- * @see QuestionMatrixDropdownModelBase
8101
8104
  */
8102
8105
  onGetMatrixRowActions: EventBase<SurveyModel, GetMatrixRowActionsEvent>;
8103
8106
  /**
@@ -8508,27 +8511,53 @@ declare module "survey" {
8508
8511
  */
8509
8512
  get emptySurveyText(): string;
8510
8513
  /**
8511
- * Gets or sets a survey logo.
8512
- * @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
8513
8519
  */
8514
8520
  get logo(): string;
8515
8521
  set logo(value: string);
8516
8522
  get locLogo(): LocalizableString;
8517
8523
  /**
8518
- * 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
8519
8530
  * @see logo
8531
+ * @see logoPosition
8532
+ * @see logoFit
8520
8533
  */
8521
8534
  get logoWidth(): any;
8522
8535
  set logoWidth(value: any);
8523
8536
  /**
8524
- * 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
8525
8543
  * @see logo
8544
+ * @see logoPosition
8545
+ * @see logoFit
8526
8546
  */
8527
8547
  get logoHeight(): any;
8528
8548
  set logoHeight(value: any);
8529
8549
  /**
8530
- * 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))
8531
8559
  * @see logo
8560
+ * @see logoFit
8532
8561
  */
8533
8562
  get logoPosition(): string;
8534
8563
  set logoPosition(value: string);
@@ -8543,8 +8572,20 @@ declare module "survey" {
8543
8572
  get renderedHasLogo(): boolean;
8544
8573
  get renderedHasHeader(): boolean;
8545
8574
  /**
8546
- * 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))
8547
8587
  * @see logo
8588
+ * @see logoPosition
8548
8589
  */
8549
8590
  get logoFit(): string;
8550
8591
  set logoFit(val: string);
@@ -8942,12 +8983,12 @@ declare module "survey" {
8942
8983
  */
8943
8984
  get isShowStartingPage(): boolean;
8944
8985
  /**
8945
- * 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.
8946
8987
  *
8947
8988
  * Possible values:
8948
8989
  *
8949
- * - `"entireItem"` (default) - Users can use the entire choice item as a drag handle.
8950
- * - `"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.
8951
8992
  */
8952
8993
  get matrixDragHandleArea(): string;
8953
8994
  set matrixDragHandleArea(val: string);
@@ -9708,8 +9749,7 @@ declare module "survey" {
9708
9749
  */
9709
9750
  get clearValueOnDisableItems(): boolean;
9710
9751
  set clearValueOnDisableItems(val: boolean);
9711
- get isClearValueOnHidden(): boolean;
9712
- get isClearValueOnHiddenContainer(): boolean;
9752
+ getQuestionClearIfInvisible(questionClearIf: string): string;
9713
9753
  questionVisibilityChanged(question: Question, newValue: boolean): void;
9714
9754
  pageVisibilityChanged(page: PageModel, newValue: boolean): void;
9715
9755
  panelVisibilityChanged(panel: PanelModel, newValue: boolean): void;
@@ -10544,7 +10584,7 @@ declare module "question" {
10544
10584
  /**
10545
10585
  * Hides the question number from the title and excludes the question from numbering.
10546
10586
  *
10547
- * 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`.
10548
10588
  * @see SurveyModel.showQuestionNumbers
10549
10589
  */
10550
10590
  get hideNumber(): boolean;
@@ -10622,6 +10662,7 @@ declare module "question" {
10622
10662
  getTitleOwner(): ITitleOwner;
10623
10663
  protected getIsTitleRenderedAsString(): boolean;
10624
10664
  private notifySurveyVisibilityChanged;
10665
+ protected clearValueOnHidding(isClearOnHidden: boolean): void;
10625
10666
  /**
10626
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).
10627
10668
  * @see titleLocation
@@ -10882,7 +10923,7 @@ declare module "question" {
10882
10923
  */
10883
10924
  get isParentVisible(): boolean;
10884
10925
  clearValueIfInvisible(reason?: string): void;
10885
- protected clearValueIfInvisibleCore(): void;
10926
+ protected clearValueIfInvisibleCore(reason: string): void;
10886
10927
  /**
10887
10928
  * Specifies when to clear the question value if the question becomes invisible.
10888
10929
  *
@@ -10890,6 +10931,7 @@ declare module "question" {
10890
10931
  *
10891
10932
  * - `"default"` (default) - Inherits the setting from the Survey's [`clearInvisibleValues`](https://surveyjs.io/form-library/documentation/surveymodel#clearInvisibleValues) property.
10892
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.
10893
10935
  * - `"onComplete"` - Clears the value when the survey is complete.
10894
10936
  * - `"none"` - Never clears the value of an invisible question.
10895
10937
  * @see SurveyModel.clearInvisibleValues
@@ -10898,6 +10940,7 @@ declare module "question" {
10898
10940
  */
10899
10941
  get clearIfInvisible(): string;
10900
10942
  set clearIfInvisible(val: string);
10943
+ protected getClearIfInvisible(): string;
10901
10944
  get displayValue(): any;
10902
10945
  /**
10903
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.
@@ -11758,8 +11801,7 @@ declare module "base-interfaces" {
11758
11801
  panelVisibilityChanged(panel: IPanel, newValue: boolean): any;
11759
11802
  questionVisibilityChanged(question: IQuestion, newValue: boolean): any;
11760
11803
  isEditingSurveyElement: boolean;
11761
- isClearValueOnHidden: boolean;
11762
- isClearValueOnHiddenContainer: boolean;
11804
+ getQuestionClearIfInvisible(questionClearIf: string): string;
11763
11805
  questionsOrder: string;
11764
11806
  matrixDragHandleArea: string;
11765
11807
  keepIncorrectValues: boolean;
@@ -12592,7 +12634,7 @@ declare module "question_matrixdropdown" {
12592
12634
  protected getConditionObjectsRowIndeces(): Array<number>;
12593
12635
  protected setNewValue(newValue: any): void;
12594
12636
  clearIncorrectValues(): void;
12595
- protected clearValueIfInvisibleCore(): void;
12637
+ protected clearValueIfInvisibleCore(reason: string): void;
12596
12638
  protected generateRows(): Array<MatrixDropdownRowModel>;
12597
12639
  protected createMatrixRow(item: ItemValue, value: any): MatrixDropdownRowModel;
12598
12640
  protected getSearchableItemValueKeys(keys: Array<string>): void;
@@ -12613,6 +12655,7 @@ declare module "dropdownListModel" {
12613
12655
  readonly loadingItemHeight = 40;
12614
12656
  private _markdownMode;
12615
12657
  private _popupModel;
12658
+ focused: boolean;
12616
12659
  private get focusFirstInputSelector();
12617
12660
  protected readonly selectedItemSelector = ".sv-list__item--selected";
12618
12661
  protected readonly itemSelector = ".sv-list__item";
@@ -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" {
@@ -14571,7 +14616,7 @@ declare module "question_custom" {
14571
14616
  updateElementCss(reNew?: boolean): void;
14572
14617
  getTextProcessor(): ITextProcessor;
14573
14618
  findQuestionByName(name: string): IQuestion;
14574
- protected clearValueIfInvisibleCore(): void;
14619
+ protected clearValueIfInvisibleCore(reason: string): void;
14575
14620
  onAnyValueChanged(name: string): void;
14576
14621
  protected createPanel(): PanelModel;
14577
14622
  protected onReadOnlyChanged(): void;