survey-react 1.10.6 → 1.11.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
@@ -341,15 +341,15 @@ declare module "functionsfactory" {
341
341
  static Instance: FunctionFactory;
342
342
  private functionHash;
343
343
  private isAsyncHash;
344
- register(name: string, func: (params: any[]) => any, isAsync?: boolean): void;
344
+ register(name: string, func: (params: any[], originalParams?: any[]) => any, isAsync?: boolean): void;
345
345
  unregister(name: string): void;
346
346
  hasFunction(name: string): boolean;
347
347
  isAsyncFunction(name: string): boolean;
348
348
  clear(): void;
349
349
  getAll(): Array<string>;
350
- run(name: string, params: any[], properties?: HashTable<any>): any;
350
+ run(name: string, params: any[], properties: HashTable<any>, originalParams: any[]): any;
351
351
  }
352
- export var registerFunction: (name: string, func: (params: any[]) => any, isAsync?: boolean) => void;
352
+ export var registerFunction: (name: string, func: (params: any[], originalParams?: any[]) => any, isAsync?: boolean) => void;
353
353
  }
354
354
  declare module "expressions/expressions" {
355
355
  import { HashTable } from "helpers";
@@ -685,16 +685,30 @@ declare module "utils/taskmanager" {
685
685
  };
686
686
  }
687
687
  declare module "utils/animation" {
688
+ import { EventBase, Base } from "base";
688
689
  export interface AnimationOptions {
689
690
  cssClass: string;
690
691
  onBeforeRunAnimation?: (element: HTMLElement) => void;
691
692
  onAfterRunAnimation?: (element: HTMLElement) => void;
692
693
  }
693
694
  export interface IAnimationConsumer<T extends Array<any> = []> {
694
- getLeaveOptions(...args: T): AnimationOptions;
695
- getEnterOptions(...args: T): AnimationOptions;
695
+ getLeaveOptions?(...args: T): AnimationOptions;
696
+ getEnterOptions?(...args: T): AnimationOptions;
696
697
  getAnimatedElement(...args: T): HTMLElement;
697
698
  isAnimationEnabled(): boolean;
699
+ getRerenderEvent(): EventBase<Base>;
700
+ }
701
+ interface IGroupAnimationInfo {
702
+ isReorderingRunning: boolean;
703
+ isDeletingRunning: boolean;
704
+ isAddingRunning: boolean;
705
+ }
706
+ export interface IAnimationGroupConsumer<T> extends IAnimationConsumer<[T]> {
707
+ getLeaveOptions?(item: T, info?: IGroupAnimationInfo): AnimationOptions;
708
+ getEnterOptions?(item: T, info?: IGroupAnimationInfo): AnimationOptions;
709
+ getReorderOptions?(item: T, movedForward: boolean, info?: IGroupAnimationInfo): AnimationOptions;
710
+ getKey?: (item: T) => any;
711
+ allowSyncRemovalAddition?: boolean;
698
712
  }
699
713
  export class AnimationUtils {
700
714
  private getMsFromRule;
@@ -705,11 +719,12 @@ declare module "utils/animation" {
705
719
  private addCancelCallback;
706
720
  private removeCancelCallback;
707
721
  protected onAnimationEnd(element: HTMLElement, callback: (isCancel?: boolean) => void, options: AnimationOptions): void;
722
+ protected afterAnimationRun(element: HTMLElement, options: AnimationOptions | AnimationOptions): void;
708
723
  protected beforeAnimationRun(element: HTMLElement, options: AnimationOptions | AnimationOptions): void;
709
724
  private getCssClasses;
710
725
  protected runAnimation(element: HTMLElement, options: AnimationOptions, callback: (isCancel?: boolean) => void): void;
711
726
  protected clearHtmlElement(element: HTMLElement, options: AnimationOptions): void;
712
- protected onNextRender(callback: () => void, runEarly?: () => boolean, isCancel?: boolean): void;
727
+ protected onNextRender(callback: (isCancel?: boolean) => void, isCancel?: boolean): void;
713
728
  cancel(): void;
714
729
  }
715
730
  export class AnimationPropertyUtils extends AnimationUtils {
@@ -717,31 +732,36 @@ declare module "utils/animation" {
717
732
  onLeave(options: IAnimationConsumer, callback: () => void): void;
718
733
  }
719
734
  export class AnimationGroupUtils<T> extends AnimationUtils {
720
- runGroupAnimation(options: IAnimationConsumer<[T]>, addedElements: Array<T>, removedElements: Array<T>, callback?: () => void): void;
735
+ runGroupAnimation(options: IAnimationGroupConsumer<T>, addedItems: Array<T>, removedItems: Array<T>, reorderedItems: Array<{
736
+ item: T;
737
+ movedForward: boolean;
738
+ }>, callback?: () => void): void;
721
739
  }
722
- export abstract class AnimationProperty<T, S extends Array<any> = []> {
723
- protected animationOptions: IAnimationConsumer<S>;
740
+ export abstract class AnimationProperty<T, S extends IAnimationConsumer<any> = IAnimationConsumer> {
741
+ protected animationOptions: S;
724
742
  protected update: (val: T, isTempUpdate?: boolean) => void;
725
743
  protected getCurrentValue: () => T;
726
- constructor(animationOptions: IAnimationConsumer<S>, update: (val: T, isTempUpdate?: boolean) => void, getCurrentValue: () => T);
744
+ constructor(animationOptions: S, update: (val: T, isTempUpdate?: boolean) => void, getCurrentValue: () => T);
727
745
  protected animation: AnimationUtils;
746
+ protected onNextRender(callback: () => void, onCancel?: () => void): void;
728
747
  protected abstract _sync(newValue: T): void;
729
748
  private _debouncedSync;
730
749
  sync(newValue: T): void;
750
+ private cancelCallback;
731
751
  cancel(): void;
732
752
  }
733
753
  export class AnimationBoolean extends AnimationProperty<boolean> {
734
754
  protected animation: AnimationPropertyUtils;
735
755
  protected _sync(newValue: boolean): void;
736
756
  }
737
- export class AnimationGroup<T> extends AnimationProperty<Array<T>, [T]> {
757
+ export class AnimationGroup<T> extends AnimationProperty<Array<T>, IAnimationGroupConsumer<T>> {
738
758
  protected animation: AnimationGroupUtils<T>;
739
759
  protected _sync(newValue: Array<T>): void;
740
760
  }
741
- export class AnimationTab<T> extends AnimationProperty<Array<T>, [T]> {
761
+ export class AnimationTab<T> extends AnimationProperty<Array<T>, IAnimationGroupConsumer<T>> {
742
762
  protected mergeValues?: (newValue: Array<T>, oldValue: Array<T>) => Array<T>;
743
763
  protected animation: AnimationGroupUtils<T>;
744
- constructor(animationOptions: IAnimationConsumer<[T]>, update: (val: Array<T>, isTempUpdate?: boolean) => void, getCurrentValue: () => Array<T>, mergeValues?: (newValue: Array<T>, oldValue: Array<T>) => Array<T>);
764
+ constructor(animationOptions: IAnimationGroupConsumer<T>, update: (val: Array<T>, isTempUpdate?: boolean) => void, getCurrentValue: () => Array<T>, mergeValues?: (newValue: Array<T>, oldValue: Array<T>) => Array<T>);
745
765
  protected _sync(newValue: [T]): void;
746
766
  }
747
767
  }
@@ -774,6 +794,7 @@ declare module "popup-view-model" {
774
794
  getEnterOptions(): AnimationOptions;
775
795
  getAnimatedElement(): HTMLElement;
776
796
  isAnimationEnabled(): boolean;
797
+ getRerenderEvent(): EventBase<Base>;
777
798
  private getAnimationContainer;
778
799
  get isVisible(): boolean;
779
800
  set isVisible(val: boolean);
@@ -822,7 +843,7 @@ declare module "popup-view-model" {
822
843
  cancel(): void;
823
844
  dispose(): void;
824
845
  initializePopupContainer(): void;
825
- setComponentElement(componentRoot: HTMLElement, targetElement?: HTMLElement | null): void;
846
+ setComponentElement(componentRoot: HTMLElement, targetElement?: HTMLElement | null, areaElement?: HTMLElement | null): void;
826
847
  resetComponentElement(): void;
827
848
  protected preventScrollOuside(event: any, deltaY: number): void;
828
849
  }
@@ -874,6 +895,15 @@ declare module "utils/utils" {
874
895
  export function showConfirmDialog(message: string, callback: (res: boolean) => void, applyTitle?: string, locale?: string, rootElement?: HTMLElement): boolean;
875
896
  export function configConfirmDialog(popupViewModel: PopupBaseViewModel): void;
876
897
  function chooseFiles(input: HTMLInputElement, callback: (files: File[]) => void): void;
898
+ export function compareArrays<T>(oldValue: Array<T>, newValue: Array<T>, getKey: (item: T) => any): {
899
+ addedItems: Array<T>;
900
+ deletedItems: Array<T>;
901
+ reorderedItems: Array<{
902
+ item: T;
903
+ movedForward: boolean;
904
+ }>;
905
+ mergedItems: Array<T>;
906
+ };
877
907
  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 };
878
908
  }
879
909
  declare module "actions/container" {
@@ -924,6 +954,10 @@ declare module "actions/container" {
924
954
  addAction(val: IAction, sortByVisibleIndex?: boolean): T;
925
955
  private sortItems;
926
956
  setItems(items: Array<IAction>, sortByVisibleIndex?: boolean): void;
957
+ subItemsShowDelay: number;
958
+ subItemsHideDelay: number;
959
+ protected popupAfterShowCallback(itemValue: T): void;
960
+ mouseOverHandler(itemValue: T): void;
927
961
  initResponsivityManager(container: HTMLDivElement, delayedUpdateFunction?: (callback: () => void) => void): void;
928
962
  resetResponsivityManager(): void;
929
963
  getActionById(id: string): T;
@@ -953,8 +987,10 @@ declare module "list" {
953
987
  itemWithIcon: string;
954
988
  itemDisabled: string;
955
989
  itemFocused: string;
990
+ itemHovered: string;
956
991
  itemTextWrap: string;
957
992
  itemIcon: string;
993
+ itemMarkerIcon: string;
958
994
  itemSeparator: string;
959
995
  itemBody: string;
960
996
  itemsContainer: string;
@@ -967,7 +1003,7 @@ declare module "list" {
967
1003
  };
968
1004
  export interface IListModel {
969
1005
  items: Array<IAction>;
970
- onSelectionChanged: (item: IAction, ...params: any[]) => void;
1006
+ onSelectionChanged?: (item: IAction, ...params: any[]) => void;
971
1007
  allowSelection?: boolean;
972
1008
  searchEnabled?: boolean;
973
1009
  selectedItem?: IAction;
@@ -1002,6 +1038,7 @@ declare module "list" {
1002
1038
  areSameItemsCallback: (item1: IAction, item2: IAction) => boolean;
1003
1039
  private hasText;
1004
1040
  isItemVisible(item: T): boolean;
1041
+ protected getRenderedActions(): Array<T>;
1005
1042
  get visibleItems(): Array<T>;
1006
1043
  private get shouldProcessFilter();
1007
1044
  private onFilterStringChanged;
@@ -1020,8 +1057,10 @@ declare module "list" {
1020
1057
  itemWithIcon: string;
1021
1058
  itemDisabled: string;
1022
1059
  itemFocused: string;
1060
+ itemHovered: string;
1023
1061
  itemTextWrap: string;
1024
1062
  itemIcon: string;
1063
+ itemMarkerIcon: string;
1025
1064
  itemSeparator: string;
1026
1065
  itemBody: string;
1027
1066
  itemsContainer: string;
@@ -1033,6 +1072,9 @@ declare module "list" {
1033
1072
  emptyText: string;
1034
1073
  };
1035
1074
  onItemClick: (itemValue: T) => void;
1075
+ protected popupAfterShowCallback(itemValue: T): void;
1076
+ onItemHover: (itemValue: T) => void;
1077
+ onItemLeave(itemValue: T): void;
1036
1078
  isItemDisabled: (itemValue: T) => boolean;
1037
1079
  isItemSelected: (itemValue: T) => boolean;
1038
1080
  isItemFocused: (itemValue: T) => boolean;
@@ -1216,6 +1258,11 @@ declare module "actions/action" {
1216
1258
  ariaExpanded?: boolean;
1217
1259
  ariaRole?: string;
1218
1260
  elementId?: string;
1261
+ items?: Array<IAction>;
1262
+ markerIconName?: string;
1263
+ markerIconSize?: number;
1264
+ showPopup?: () => void;
1265
+ hidePopup?: () => void;
1219
1266
  }
1220
1267
  export interface IActionDropdownPopupOptions extends IListModel, IPopupOptionsBase {
1221
1268
  }
@@ -1224,6 +1271,7 @@ declare module "actions/action" {
1224
1271
  export function createPopupModelWithListModel(listOptions: IListModel, popupOptions: IPopupOptionsBase): PopupModel;
1225
1272
  export function getActionDropdownButtonTarget(container: HTMLElement): HTMLElement;
1226
1273
  export abstract class BaseAction extends Base implements IAction {
1274
+ items?: IAction[];
1227
1275
  private static renderedId;
1228
1276
  private static getNextRendredId;
1229
1277
  private cssClassesValue;
@@ -1251,6 +1299,8 @@ declare module "actions/action" {
1251
1299
  removePriority: number;
1252
1300
  iconName: string;
1253
1301
  iconSize: number;
1302
+ markerIconName: string;
1303
+ markerIconSize: number;
1254
1304
  css?: string;
1255
1305
  minDimension: number;
1256
1306
  maxDimension: number;
@@ -1278,6 +1328,15 @@ declare module "actions/action" {
1278
1328
  getActionRootCss(): string;
1279
1329
  getTooltip(): string;
1280
1330
  getIsTrusted(args: any): boolean;
1331
+ showPopup(): void;
1332
+ hidePopup(): void;
1333
+ isPressed: boolean;
1334
+ isHovered: boolean;
1335
+ private showPopupTimeout;
1336
+ private hidePopupTimeout;
1337
+ private clearPopupTimeouts;
1338
+ showPopupDelayed(delay: number): void;
1339
+ hidePopupDelayed(delay: number): void;
1281
1340
  protected abstract getEnabled(): boolean;
1282
1341
  protected abstract setEnabled(val: boolean): void;
1283
1342
  protected abstract getVisible(): boolean;
@@ -1296,6 +1355,7 @@ declare module "actions/action" {
1296
1355
  private raiseUpdate;
1297
1356
  constructor(innerItem: IAction);
1298
1357
  private createLocTitle;
1358
+ setItems(items: Array<IAction>, onSelectionChanged?: (item: Action, ...params: any[]) => void): void;
1299
1359
  location?: string;
1300
1360
  id: string;
1301
1361
  private _visible;
@@ -1397,7 +1457,6 @@ declare module "actions/adaptive-container" {
1397
1457
  private static ContainerID;
1398
1458
  constructor();
1399
1459
  get hiddenItemsListModel(): ListModel;
1400
- protected hiddenItemSelected(item: T): void;
1401
1460
  protected onSet(): void;
1402
1461
  protected onPush(item: T): void;
1403
1462
  protected getRenderedActions(): Array<T>;
@@ -1598,6 +1657,7 @@ declare module "defaultCss/defaultV2Css" {
1598
1657
  rowMultiple: string;
1599
1658
  rowCompact: string;
1600
1659
  rowFadeIn: string;
1660
+ rowDelayedFadeIn: string;
1601
1661
  rowFadeOut: string;
1602
1662
  pageRow: string;
1603
1663
  question: {
@@ -1657,6 +1717,7 @@ declare module "defaultCss/defaultV2Css" {
1657
1717
  disabled: string;
1658
1718
  readOnly: string;
1659
1719
  preview: string;
1720
+ noPointerEventsMode: string;
1660
1721
  errorsContainer: string;
1661
1722
  errorsContainerTop: string;
1662
1723
  errorsContainerBottom: string;
@@ -3046,7 +3107,7 @@ declare module "questionfactory" {
3046
3107
  static get DefaultColums(): string[];
3047
3108
  static get DefaultRows(): string[];
3048
3109
  static get DefaultMutlipleTextItems(): string[];
3049
- registerQuestion(questionType: string, questionCreator: (name: string) => Question): void;
3110
+ registerQuestion(questionType: string, questionCreator: (name: string) => Question, showInToolbox?: boolean): void;
3050
3111
  registerCustomQuestion(questionType: string): void;
3051
3112
  unregisterElement(elementType: string, removeFromSerializer?: boolean): void;
3052
3113
  clear(): void;
@@ -3056,12 +3117,14 @@ declare module "questionfactory" {
3056
3117
  export class ElementFactory {
3057
3118
  static Instance: ElementFactory;
3058
3119
  private creatorHash;
3059
- registerElement(elementType: string, elementCreator: (name: string) => IElement): void;
3060
- registerCustomQuestion: (questionType: string) => void;
3120
+ registerElement(elementType: string, elementCreator: (name: string) => IElement, showInToolbox?: boolean): void;
3121
+ registerCustomQuestion: (questionType: string, showInToolbox?: boolean) => void;
3061
3122
  clear(): void;
3062
3123
  unregisterElement(elementType: string, removeFromSerializer?: boolean): void;
3124
+ getAllToolboxTypes(): Array<string>;
3063
3125
  getAllTypes(): Array<string>;
3064
3126
  createElement(elementType: string, name: string): IElement;
3127
+ private getAllTypesCore;
3065
3128
  }
3066
3129
  }
3067
3130
  declare module "drag-drop-helper-v1" {
@@ -3621,7 +3684,6 @@ declare module "panel" {
3621
3684
  protected getPanelStartIndex(index: number): number;
3622
3685
  protected isContinueNumbering(): boolean;
3623
3686
  private notifySurveyOnVisibilityChanged;
3624
- protected hasErrorsCore(rec: any): void;
3625
3687
  protected getRenderedTitle(str: string): string;
3626
3688
  /**
3627
3689
  * Increases or decreases an indent of panel content from the left edge. Accepts positive integer values and 0.
@@ -3656,6 +3718,7 @@ declare module "panel" {
3656
3718
  protected getHasFrameV2(): boolean;
3657
3719
  protected getIsNested(): boolean;
3658
3720
  get showPanelAsPage(): boolean;
3721
+ protected onElementExpanded(elementIsRendered: boolean): void;
3659
3722
  protected getCssRoot(cssClasses: {
3660
3723
  [index: string]: string;
3661
3724
  }): string;
@@ -3957,8 +4020,9 @@ declare module "question_file" {
3957
4020
  doChange: (event: any) => void;
3958
4021
  doClean: () => void;
3959
4022
  private clearFilesCore;
3960
- doRemoveFile(data: any): void;
4023
+ doRemoveFile(data: any, event: any): void;
3961
4024
  private removeFileCore;
4025
+ doDownloadFileFromContainer: (event: MouseEvent) => void;
3962
4026
  doDownloadFile: (event: any, data: any) => void;
3963
4027
  dispose(): void;
3964
4028
  }
@@ -4197,6 +4261,8 @@ declare module "question_baseselect" {
4197
4261
  isLayoutTypeSupported(layoutType: string): boolean;
4198
4262
  localeChanged(): void;
4199
4263
  locStrsChanged(): void;
4264
+ private prevOtherErrorValue;
4265
+ private updatePrevOtherErrorValue;
4200
4266
  get otherValue(): string;
4201
4267
  set otherValue(val: string);
4202
4268
  protected get otherValueCore(): string;
@@ -5542,7 +5608,6 @@ declare module "question_matrixdropdownrendered" {
5542
5608
  private hasRemoveRowsValue;
5543
5609
  private rowsActions;
5544
5610
  private cssClasses;
5545
- renderedRowsChangedCallback: () => void;
5546
5611
  rows: Array<QuestionMatrixDropdownRenderedRow>;
5547
5612
  protected getIsAnimationAllowed(): boolean;
5548
5613
  private getRenderedRowsAnimationOptions;
@@ -5636,7 +5701,6 @@ declare module "utils/dragOrClickHelper" {
5636
5701
  }
5637
5702
  declare module "question_matrixdynamic" {
5638
5703
  import { QuestionMatrixDropdownModelBase, MatrixDropdownRowModelBase, IMatrixDropdownData } from "question_matrixdropdownbase";
5639
- import { LocalizableString } from "localizablestring";
5640
5704
  import { SurveyError } from "survey-error";
5641
5705
  import { DragDropMatrixRows } from "dragdrop/matrix-rows";
5642
5706
  import { IShortcutText, ISurveyImpl, IProgressInfo } from "base-interfaces";
@@ -5837,14 +5901,14 @@ declare module "question_matrixdynamic" {
5837
5901
  */
5838
5902
  get confirmDeleteText(): string;
5839
5903
  set confirmDeleteText(val: string);
5840
- get locConfirmDeleteText(): LocalizableString;
5904
+ get locConfirmDeleteText(): import("localizablestring").LocalizableString;
5841
5905
  /**
5842
5906
  * A caption for the Add Row button.
5843
5907
  * @see addRowLocation
5844
5908
  */
5845
5909
  get addRowText(): string;
5846
5910
  set addRowText(val: string);
5847
- get locAddRowText(): LocalizableString;
5911
+ get locAddRowText(): import("localizablestring").LocalizableString;
5848
5912
  private get defaultAddRowText();
5849
5913
  /**
5850
5914
  * Specifies the location of the Add Row button.
@@ -5875,14 +5939,14 @@ declare module "question_matrixdynamic" {
5875
5939
  */
5876
5940
  get removeRowText(): string;
5877
5941
  set removeRowText(val: string);
5878
- get locRemoveRowText(): LocalizableString;
5942
+ get locRemoveRowText(): import("localizablestring").LocalizableString;
5879
5943
  /**
5880
5944
  * A message displayed when the matrix does not contain any rows. Applies only if `hideColumnsIfEmpty` is enabled.
5881
5945
  * @see hideColumnsIfEmpty
5882
5946
  */
5883
5947
  get emptyRowsText(): string;
5884
5948
  set emptyRowsText(val: string);
5885
- get locEmptyRowsText(): LocalizableString;
5949
+ get locEmptyRowsText(): import("localizablestring").LocalizableString;
5886
5950
  protected getDisplayValueCore(keysAsText: boolean, value: any): any;
5887
5951
  protected getConditionObjectRowName(index: number): string;
5888
5952
  protected getConditionObjectsRowIndeces(): Array<number>;
@@ -6136,7 +6200,7 @@ declare module "question_paneldynamic" {
6136
6200
  import { IAction } from "actions/action";
6137
6201
  import { AdaptiveActionContainer } from "actions/adaptive-container";
6138
6202
  import { ITheme } from "themes";
6139
- import { AnimationProperty } from "utils/animation";
6203
+ import { AnimationProperty, IAnimationGroupConsumer } from "utils/animation";
6140
6204
  export interface IQuestionPanelDynamicData {
6141
6205
  getItemIndex(item: ISurveyData): number;
6142
6206
  getVisibleItemIndex(item: ISurveyData): number;
@@ -6330,7 +6394,7 @@ declare module "question_paneldynamic" {
6330
6394
  private disablePanelsAnimations;
6331
6395
  private enablePanelsAnimations;
6332
6396
  private updatePanelsAnimation;
6333
- get panelsAnimation(): AnimationProperty<Array<PanelModel>, [PanelModel]>;
6397
+ get panelsAnimation(): AnimationProperty<Array<PanelModel>, IAnimationGroupConsumer<PanelModel>>;
6334
6398
  onHidingContent(): void;
6335
6399
  /**
6336
6400
  * Specifies whether to display a confirmation dialog when a respondent wants to delete a panel.
@@ -7969,6 +8033,18 @@ declare module "survey-events-api" {
7969
8033
  */
7970
8034
  visible: boolean;
7971
8035
  }
8036
+ export interface ElementWrapperComponentEventMixin {
8037
+ element: any;
8038
+ wrapperName: string;
8039
+ reason?: string;
8040
+ item?: ItemValue;
8041
+ }
8042
+ export interface ElementWrapperComponentNameEvent extends ElementWrapperComponentEventMixin {
8043
+ componentName: string;
8044
+ }
8045
+ export interface ElementWrapperComponentDataEvent extends ElementWrapperComponentEventMixin {
8046
+ data: any;
8047
+ }
7972
8048
  }
7973
8049
  declare module "drag-drop-page-helper-v1" {
7974
8050
  import { IElement, ISurveyElement } from "base-interfaces";
@@ -8386,7 +8462,7 @@ declare module "question_textbase" {
8386
8462
  */
8387
8463
  get textUpdateMode(): string;
8388
8464
  set textUpdateMode(val: string);
8389
- get isSurveyInputTextUpdate(): boolean;
8465
+ protected getIsInputTextUpdate(): boolean;
8390
8466
  get renderedPlaceholder(): string;
8391
8467
  protected setRenderedPlaceholder(val: string): void;
8392
8468
  protected onReadOnlyChanged(): void;
@@ -8626,6 +8702,7 @@ declare module "question_text" {
8626
8702
  get step(): string;
8627
8703
  set step(val: string);
8628
8704
  get renderedStep(): string;
8705
+ protected getIsInputTextUpdate(): boolean;
8629
8706
  supportGoNextPageAutomatic(): boolean;
8630
8707
  supportGoNextPageError(): boolean;
8631
8708
  /**
@@ -9156,7 +9233,11 @@ declare module "surveyToc" {
9156
9233
  export function getTocRootCss(survey: SurveyModel, isMobile?: boolean): string;
9157
9234
  export class TOCModel {
9158
9235
  survey: SurveyModel;
9236
+ static RootStyle: string;
9237
+ static StickyPosition: boolean;
9159
9238
  constructor(survey: SurveyModel);
9239
+ private initStickyTOCSubscriptions;
9240
+ updateStickyTOCSize(rootElement: HTMLElement): void;
9160
9241
  get isMobile(): boolean;
9161
9242
  get containerCss(): string;
9162
9243
  listModel: ListModel<Action>;
@@ -9187,7 +9268,7 @@ declare module "survey" {
9187
9268
  import { ActionContainer } from "actions/container";
9188
9269
  import { QuestionPanelDynamicModel } from "question_paneldynamic";
9189
9270
  import { Notifier } from "notifier";
9190
- import { TriggerExecutedEvent, CompletingEvent, CompleteEvent, ShowingPreviewEvent, NavigateToUrlEvent, CurrentPageChangingEvent, CurrentPageChangedEvent, ValueChangingEvent, ValueChangedEvent, VariableChangedEvent, QuestionVisibleChangedEvent, PageVisibleChangedEvent, PanelVisibleChangedEvent, QuestionCreatedEvent, QuestionAddedEvent, QuestionRemovedEvent, PanelAddedEvent, PanelRemovedEvent, PageAddedEvent, ValidateQuestionEvent, SettingQuestionErrorsEvent, ValidatePanelEvent, ErrorCustomTextEvent, ValidatedErrorsOnCurrentPageEvent, ProcessHtmlEvent, GetQuestionTitleEvent, GetTitleTagNameEvent, GetQuestionNoEvent, ProgressTextEvent, TextMarkdownEvent, TextRenderAsEvent, SendResultEvent, GetResultEvent, UploadFilesEvent, DownloadFileEvent, ClearFilesEvent, LoadChoicesFromServerEvent, ProcessTextValueEvent, UpdateQuestionCssClassesEvent, UpdatePanelCssClassesEvent, UpdatePageCssClassesEvent, UpdateChoiceItemCssEvent, AfterRenderSurveyEvent, AfterRenderHeaderEvent, AfterRenderPageEvent, AfterRenderQuestionEvent, AfterRenderQuestionInputEvent, AfterRenderPanelEvent, FocusInQuestionEvent, FocusInPanelEvent, ShowingChoiceItemEvent, ChoicesLazyLoadEvent, GetChoiceDisplayValueEvent, MatrixRowAddedEvent, MatrixBeforeRowAddedEvent, MatrixRowRemovingEvent, MatrixRowRemovedEvent, MatrixAllowRemoveRowEvent, MatrixDetailPanelVisibleChangedEvent, MatrixCellCreatingEvent, MatrixCellCreatedEvent, MatrixAfterCellRenderEvent, MatrixCellValueChangedEvent, MatrixCellValueChangingEvent, MatrixCellValidateEvent, DynamicPanelModifiedEvent, DynamicPanelRemovingEvent, TimerPanelInfoTextEvent, DynamicPanelItemValueChangedEvent, DynamicPanelGetTabTitleEvent, DynamicPanelCurrentIndexChangedEvent, IsAnswerCorrectEvent, DragDropAllowEvent, ScrollingElementToTopEvent, GetQuestionTitleActionsEvent, GetPanelTitleActionsEvent, GetPageTitleActionsEvent, GetPanelFooterActionsEvent, GetMatrixRowActionsEvent, ElementContentVisibilityChangedEvent, GetExpressionDisplayValueEvent, ServerValidateQuestionsEvent, MultipleTextItemAddedEvent, MatrixColumnAddedEvent, GetQuestionDisplayValueEvent, PopupVisibleChangedEvent, ChoicesSearchEvent, OpenFileChooserEvent } from "survey-events-api";
9271
+ import { TriggerExecutedEvent, CompletingEvent, CompleteEvent, ShowingPreviewEvent, NavigateToUrlEvent, CurrentPageChangingEvent, CurrentPageChangedEvent, ValueChangingEvent, ValueChangedEvent, VariableChangedEvent, QuestionVisibleChangedEvent, PageVisibleChangedEvent, PanelVisibleChangedEvent, QuestionCreatedEvent, QuestionAddedEvent, QuestionRemovedEvent, PanelAddedEvent, PanelRemovedEvent, PageAddedEvent, ValidateQuestionEvent, SettingQuestionErrorsEvent, ValidatePanelEvent, ErrorCustomTextEvent, ValidatedErrorsOnCurrentPageEvent, ProcessHtmlEvent, GetQuestionTitleEvent, GetTitleTagNameEvent, GetQuestionNoEvent, ProgressTextEvent, TextMarkdownEvent, TextRenderAsEvent, SendResultEvent, GetResultEvent, UploadFilesEvent, DownloadFileEvent, ClearFilesEvent, LoadChoicesFromServerEvent, ProcessTextValueEvent, UpdateQuestionCssClassesEvent, UpdatePanelCssClassesEvent, UpdatePageCssClassesEvent, UpdateChoiceItemCssEvent, AfterRenderSurveyEvent, AfterRenderHeaderEvent, AfterRenderPageEvent, AfterRenderQuestionEvent, AfterRenderQuestionInputEvent, AfterRenderPanelEvent, FocusInQuestionEvent, FocusInPanelEvent, ShowingChoiceItemEvent, ChoicesLazyLoadEvent, GetChoiceDisplayValueEvent, MatrixRowAddedEvent, MatrixBeforeRowAddedEvent, MatrixRowRemovingEvent, MatrixRowRemovedEvent, MatrixAllowRemoveRowEvent, MatrixDetailPanelVisibleChangedEvent, MatrixCellCreatingEvent, MatrixCellCreatedEvent, MatrixAfterCellRenderEvent, MatrixCellValueChangedEvent, MatrixCellValueChangingEvent, MatrixCellValidateEvent, DynamicPanelModifiedEvent, DynamicPanelRemovingEvent, TimerPanelInfoTextEvent, DynamicPanelItemValueChangedEvent, DynamicPanelGetTabTitleEvent, DynamicPanelCurrentIndexChangedEvent, IsAnswerCorrectEvent, DragDropAllowEvent, ScrollingElementToTopEvent, GetQuestionTitleActionsEvent, GetPanelTitleActionsEvent, GetPageTitleActionsEvent, GetPanelFooterActionsEvent, GetMatrixRowActionsEvent, ElementContentVisibilityChangedEvent, GetExpressionDisplayValueEvent, ServerValidateQuestionsEvent, MultipleTextItemAddedEvent, MatrixColumnAddedEvent, GetQuestionDisplayValueEvent, PopupVisibleChangedEvent, ChoicesSearchEvent, OpenFileChooserEvent, ElementWrapperComponentNameEvent, ElementWrapperComponentDataEvent } from "survey-events-api";
9191
9272
  import { QuestionMatrixDropdownModelBase } from "question_matrixdropdownbase";
9192
9273
  import { QuestionMatrixDynamicModel } from "question_matrixdynamic";
9193
9274
  import { QuestionFileModel } from "question_file";
@@ -9885,6 +9966,8 @@ declare module "survey" {
9885
9966
  * An event that is raised after the visibility of a popup is changed. This event can be raised for [Single-](https://surveyjs.io/form-library/documentation/api-reference/dropdown-menu-model) and [Multi-Select Dropdown](https://surveyjs.io/form-library/documentation/api-reference/dropdown-tag-box-model) questions and [Rating](https://surveyjs.io/form-library/documentation/api-reference/rating-scale-question-model) questions [rendered as drop-down menus](https://surveyjs.io/form-library/documentation/api-reference/rating-scale-question-model#displayMode).
9886
9967
  */
9887
9968
  onPopupVisibleChanged: EventBase<SurveyModel, PopupVisibleChangedEvent>;
9969
+ onElementWrapperComponentName: EventBase<SurveyModel, ElementWrapperComponentNameEvent>;
9970
+ onElementWrapperComponentData: EventBase<SurveyModel, ElementWrapperComponentDataEvent>;
9888
9971
  constructor(jsonObj?: any, renderedElement?: any);
9889
9972
  processClosedPopup(question: IQuestion, popupModel: PopupModel<any>): void;
9890
9973
  protected createTryAgainAction(): IAction;
@@ -11348,7 +11431,7 @@ declare module "survey" {
11348
11431
  private getUpdatedPanelTitleActions;
11349
11432
  private getUpdatedPageTitleActions;
11350
11433
  getUpdatedMatrixRowActions(question: QuestionMatrixDropdownModelBase, row: any, actions: Array<IAction>): IAction[];
11351
- scrollElementToTop(element: ISurveyElement, question: Question, page: PageModel, id: string, scrollIfVisible?: boolean): any;
11434
+ scrollElementToTop(element: ISurveyElement, question: Question, page: PageModel, id: string, scrollIfVisible?: boolean, scrollIntoViewOptions?: ScrollIntoViewOptions): any;
11352
11435
  /**
11353
11436
  * Opens a dialog window for users to select files.
11354
11437
  * @param input A [file input HTML element](https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement).
@@ -11946,12 +12029,14 @@ declare module "survey" {
11946
12029
  focusQuestionByInstance(question: Question, onError?: boolean): boolean;
11947
12030
  private focusQuestionInfo;
11948
12031
  questionEditFinishCallback(question: Question, event: any): void;
12032
+ private elementWrapperComponentNameCore;
12033
+ private elementWrapperDataCore;
11949
12034
  getElementWrapperComponentName(element: any, reason?: string): string;
11950
12035
  getQuestionContentWrapperComponentName(element: any): string;
11951
12036
  getRowWrapperComponentName(row: QuestionRowModel): string;
12037
+ getItemValueWrapperComponentName(item: ItemValue, question: QuestionSelectBase): string;
11952
12038
  getElementWrapperComponentData(element: any, reason?: string): any;
11953
12039
  getRowWrapperComponentData(row: QuestionRowModel): any;
11954
- getItemValueWrapperComponentName(item: ItemValue, question: QuestionSelectBase): string;
11955
12040
  getItemValueWrapperComponentData(item: ItemValue, question: QuestionSelectBase): any;
11956
12041
  getMatrixCellTemplateData(cell: any): any;
11957
12042
  searchText(text: string): Array<IFindElement>;
@@ -12142,7 +12227,7 @@ declare module "survey-element" {
12142
12227
  dragTypeOverMe: DragTypeOverMeEnum;
12143
12228
  isDragMe: boolean;
12144
12229
  readOnlyChangedCallback: () => void;
12145
- static ScrollElementToTop(elementId: string, scrollIfVisible?: boolean): boolean;
12230
+ static ScrollElementToTop(elementId: string, scrollIfVisible?: boolean, scrollIntoViewOptions?: ScrollIntoViewOptions): boolean;
12146
12231
  static ScrollElementToViewCore(el: HTMLElement, checkLeft: boolean, scrollIfVisible?: boolean, scrollIntoViewOptions?: ScrollIntoViewOptions): boolean;
12147
12232
  static GetFirstNonTextElement(elements: any, removeSpaces?: boolean): any;
12148
12233
  static FocusElement(elementId: string): boolean;
@@ -12471,7 +12556,9 @@ declare module "survey-element" {
12471
12556
  private _isAnimatingCollapseExpand;
12472
12557
  private set isAnimatingCollapseExpand(value);
12473
12558
  private get isAnimatingCollapseExpand();
12559
+ protected onElementExpanded(elementIsRendered: boolean): void;
12474
12560
  private getExpandCollapseAnimationOptions;
12561
+ private get isExpandCollapseAnimationEnabled();
12475
12562
  private animationCollapsed;
12476
12563
  set renderedIsExpanded(val: boolean);
12477
12564
  get renderedIsExpanded(): boolean;
@@ -12970,7 +13057,8 @@ declare module "question" {
12970
13057
  */
12971
13058
  focus(onError?: boolean, scrollIfVisible?: boolean): void;
12972
13059
  private focuscore;
12973
- private expandAllParents;
13060
+ expandAllParents(): void;
13061
+ private expandAllParentsCore;
12974
13062
  focusIn(): void;
12975
13063
  protected fireCallback(callback: () => void): void;
12976
13064
  getOthersMaxLength(): any;
@@ -13035,6 +13123,8 @@ declare module "question" {
13035
13123
  get isInputReadOnly(): boolean;
13036
13124
  get renderedInputReadOnly(): string;
13037
13125
  get renderedInputDisabled(): string;
13126
+ get isReadOnlyAttr(): boolean;
13127
+ get isDisabledAttr(): boolean;
13038
13128
  protected onReadOnlyChanged(): void;
13039
13129
  /**
13040
13130
  * A Boolean expression. If it evaluates to `false`, this question becomes read-only.
@@ -13255,6 +13345,7 @@ declare module "question" {
13255
13345
  */
13256
13346
  isAnswerCorrect(): boolean;
13257
13347
  updateValueWithDefaults(): void;
13348
+ get isValueDefault(): boolean;
13258
13349
  protected get isClearValueOnHidden(): boolean;
13259
13350
  getQuestionFromArray(name: string, index: number): IQuestion;
13260
13351
  getDefaultValue(): any;
@@ -13345,7 +13436,7 @@ declare module "question" {
13345
13436
  protected isNewValueCorrect(val: any): boolean;
13346
13437
  protected isNewValueEqualsToValue(newValue: any): boolean;
13347
13438
  protected isTextValue(): boolean;
13348
- get isSurveyInputTextUpdate(): boolean;
13439
+ protected getIsInputTextUpdate(): boolean;
13349
13440
  get requireStrictCompare(): boolean;
13350
13441
  private getDataLocNotification;
13351
13442
  get isInputTextUpdate(): boolean;
@@ -13756,7 +13847,9 @@ declare module "question_matrixdropdownbase" {
13756
13847
  getAllValues(): any;
13757
13848
  getFilteredValues(): any;
13758
13849
  getFilteredProperties(): any;
13850
+ private applyRowVariablesToValues;
13759
13851
  runCondition(values: HashTable<any>, properties: HashTable<any>): void;
13852
+ getNamesWithDefaultValues(): Array<string>;
13760
13853
  clearValue(keepComment?: boolean): void;
13761
13854
  onAnyValueChanged(name: string, questionName: string): void;
13762
13855
  getDataValueCore(valuesHash: any, key: string): any;
@@ -14338,7 +14431,7 @@ declare module "base-interfaces" {
14338
14431
  dynamicPanelGetTabTitle(question: IQuestion, options: any): any;
14339
14432
  dynamicPanelCurrentIndexChanged(question: IQuestion, options: any): void;
14340
14433
  dragAndDropAllow(options: DragDropAllowEvent): boolean;
14341
- scrollElementToTop(element: ISurveyElement, question: IQuestion, page: IPage, id: string, scrollIfVisible?: boolean): any;
14434
+ scrollElementToTop(element: ISurveyElement, question: IQuestion, page: IPage, id: string, scrollIfVisible?: boolean, scrollIntoViewOptions?: ScrollIntoViewOptions): any;
14342
14435
  runExpression(expression: string): any;
14343
14436
  elementContentVisibilityChanged(element: ISurveyElement): void;
14344
14437
  onCorrectQuestionAnswer(question: IQuestion, options: any): void;
@@ -15307,6 +15400,13 @@ declare module "base" {
15307
15400
  private animationAllowedLock;
15308
15401
  blockAnimations(): void;
15309
15402
  releaseAnimations(): void;
15403
+ supportOnElementRenderedEvent: boolean;
15404
+ onElementRenderedEventEnabled: boolean;
15405
+ enableOnElementRenderedEvent(): void;
15406
+ disableOnElementRenderedEvent(): void;
15407
+ protected _onElementRerendered: EventBase<Base>;
15408
+ get onElementRerendered(): EventBase<Base>;
15409
+ afterRerender(): void;
15310
15410
  }
15311
15411
  export class ArrayChanges<T = any> {
15312
15412
  index: number;
@@ -15347,10 +15447,21 @@ declare module "utils/popup" {
15347
15447
  width: number;
15348
15448
  height: number;
15349
15449
  }
15450
+ export class Rect implements ISize, INumberPosition {
15451
+ private x;
15452
+ private y;
15453
+ width: number;
15454
+ height: number;
15455
+ constructor(x: number, y: number, width: number, height: number);
15456
+ get left(): number;
15457
+ get top(): number;
15458
+ get right(): number;
15459
+ get bottom(): number;
15460
+ }
15350
15461
  export class PopupUtils {
15351
15462
  static bottomIndent: number;
15352
- static calculatePosition(targetRect: ClientRect, height: number, width: number, verticalPosition: VerticalPosition, horizontalPosition: HorizontalPosition, showPointer: boolean, positionMode?: PositionMode): INumberPosition;
15353
- static getCorrectedVerticalDimensions(top: number, height: number, windowHeight: number, verticalPosition: VerticalPosition): any;
15463
+ static calculatePosition(targetRect: Rect, height: number, width: number, verticalPosition: VerticalPosition, horizontalPosition: HorizontalPosition, positionMode?: PositionMode): INumberPosition;
15464
+ static getCorrectedVerticalDimensions(top: number, height: number, windowHeight: number, verticalPosition: VerticalPosition, canShrink?: boolean): any;
15354
15465
  static updateHorizontalDimensions(left: number, width: number, windowWidth: number, horizontalPosition: HorizontalPosition, positionMode?: PositionMode, margins?: {
15355
15466
  left: number;
15356
15467
  right: number;
@@ -15358,9 +15469,10 @@ declare module "utils/popup" {
15358
15469
  width: number;
15359
15470
  left: number;
15360
15471
  };
15361
- static updateVerticalPosition(targetRect: ClientRect, height: number, verticalPosition: VerticalPosition, showPointer: boolean, windowHeight: number): VerticalPosition;
15472
+ static updateVerticalPosition(targetRect: Rect, height: number, horizontalPosition: HorizontalPosition, verticalPosition: VerticalPosition, windowHeight: number): VerticalPosition;
15473
+ static updateHorizontalPosition(targetRect: Rect, width: number, horizontalPosition: HorizontalPosition, windowWidth: number): HorizontalPosition;
15362
15474
  static calculatePopupDirection(verticalPosition: VerticalPosition, horizontalPosition: HorizontalPosition): string;
15363
- static calculatePointerTarget(targetRect: ClientRect, top: number, left: number, verticalPosition: VerticalPosition, horizontalPosition: HorizontalPosition, marginLeft?: number, marginRight?: number): INumberPosition;
15475
+ static calculatePointerTarget(targetRect: Rect, top: number, left: number, verticalPosition: VerticalPosition, horizontalPosition: HorizontalPosition, marginLeft?: number, marginRight?: number): INumberPosition;
15364
15476
  }
15365
15477
  }
15366
15478
  declare module "popup" {
@@ -15378,6 +15490,7 @@ declare module "popup" {
15378
15490
  horizontalPosition?: HorizontalPosition;
15379
15491
  showPointer?: boolean;
15380
15492
  isModal?: boolean;
15493
+ canShrink?: boolean;
15381
15494
  displayMode?: "popup" | "overlay";
15382
15495
  }
15383
15496
  export interface IDialogOptions extends IPopupOptionsBase {
@@ -15401,6 +15514,7 @@ declare module "popup" {
15401
15514
  horizontalPosition: HorizontalPosition;
15402
15515
  showPointer: boolean;
15403
15516
  isModal: boolean;
15517
+ canShrink: boolean;
15404
15518
  isFocusedContent: boolean;
15405
15519
  isFocusedContainer: boolean;
15406
15520
  cssClass: string;
@@ -16054,6 +16168,9 @@ declare module "question_matrixdropdown" {
16054
16168
  protected isNewValueCorrect(val: any): boolean;
16055
16169
  clearIncorrectValues(): void;
16056
16170
  protected clearValueIfInvisibleCore(reason: string): void;
16171
+ private defaultValuesInRows;
16172
+ protected clearGeneratedRows(): void;
16173
+ private getRowValueForCreation;
16057
16174
  protected generateRows(): Array<MatrixDropdownRowModel>;
16058
16175
  protected createMatrixRow(item: ItemValue, value: any): MatrixDropdownRowModel;
16059
16176
  protected getSearchableItemValueKeys(keys: Array<string>): void;
@@ -16323,6 +16440,8 @@ declare module "question_matrix" {
16323
16440
  cssClasses: any;
16324
16441
  isDisabledStyle: boolean;
16325
16442
  isInputReadOnly: boolean;
16443
+ isDisabledAttr: boolean;
16444
+ isReadOnlyAttr: boolean;
16326
16445
  hasErrorInRow(row: MatrixRowModel): boolean;
16327
16446
  }
16328
16447
  export class MatrixRowModel extends Base {
@@ -16338,6 +16457,8 @@ declare module "question_matrix" {
16338
16457
  set value(val: any);
16339
16458
  setValueDirectly(val: any): void;
16340
16459
  get isReadOnly(): boolean;
16460
+ get isReadOnlyAttr(): boolean;
16461
+ get isDisabledAttr(): boolean;
16341
16462
  get rowTextClasses(): string;
16342
16463
  get hasError(): boolean;
16343
16464
  set hasError(val: boolean);
@@ -17063,6 +17184,7 @@ declare module "dragdrop/choices" {
17063
17184
  declare module "dragdrop/ranking-choices" {
17064
17185
  import { ItemValue } from "itemvalue";
17065
17186
  import { DragDropChoices } from "dragdrop/choices";
17187
+ import { QuestionRankingModel } from "question_ranking";
17066
17188
  export class DragDropRankingChoices extends DragDropChoices {
17067
17189
  protected get draggedElementType(): string;
17068
17190
  protected createDraggedElementShortcut(text: string, draggedElementNode: HTMLElement, event: PointerEvent): HTMLElement;
@@ -17072,9 +17194,14 @@ declare module "dragdrop/ranking-choices" {
17072
17194
  protected findDropTargetNodeByDragOverNode(dragOverNode: HTMLElement): HTMLElement;
17073
17195
  private getIsDragOverRootNode;
17074
17196
  protected isDropTargetValid(dropTarget: ItemValue, dropTargetNode?: HTMLElement): boolean;
17075
- protected calculateIsBottom(clientY: number): boolean;
17197
+ protected calculateIsBottom(clientY: number, dropTargetNode?: HTMLElement): boolean;
17076
17198
  protected doDragOver: () => any;
17199
+ getIndixies(model: any, fromChoicesArray: Array<ItemValue>, toChoicesArray: Array<ItemValue>): {
17200
+ fromIndex: number;
17201
+ toIndex: number;
17202
+ };
17077
17203
  protected afterDragOver(dropTargetNode: HTMLElement): void;
17204
+ reorderRankedItem: (questionModel: QuestionRankingModel, fromIndex: number, toIndex: number) => void;
17078
17205
  protected updateDraggedElementShortcut(newIndex: number): void;
17079
17206
  protected ghostPositionChanged(): void;
17080
17207
  protected doBanDropHere: () => any;
@@ -17093,27 +17220,17 @@ declare module "dragdrop/ranking-select-to-rank" {
17093
17220
  protected isDropTargetValid(dropTarget: ItemValue | string, dropTargetNode?: HTMLElement): boolean;
17094
17221
  protected afterDragOver(dropTargetNode: HTMLElement): void;
17095
17222
  doRankBetween(dropTargetNode: HTMLElement, fromChoicesArray: Array<ItemValue>, toChoicesArray: Array<ItemValue>, rankFunction: Function): void;
17096
- getIndixies(model: any, fromChoicesArray: Array<ItemValue>, toChoicesArray: Array<ItemValue>): {
17097
- fromIndex: number;
17098
- toIndex: number;
17099
- };
17100
- protected calculateIsBottom(clientY: number, dropTargetNode?: HTMLElement): boolean;
17101
- private doUIEffects;
17102
17223
  private get isDraggedElementRanked();
17103
17224
  private get isDropTargetRanked();
17104
17225
  private get isDraggedElementUnranked();
17105
- private get isDropTargetUnranked();
17106
17226
  private updateChoices;
17107
17227
  selectToRank: (questionModel: QuestionRankingModel, fromIndex: number, toIndex: number) => void;
17108
17228
  unselectFromRank: (questionModel: QuestionRankingModel, fromIndex: number, toIndex?: number) => void;
17109
- reorderRankedItem: (questionModel: QuestionRankingModel, fromIndex: number, toIndex: number, dropTargetNode?: HTMLElement) => void;
17110
- clear(): void;
17111
17229
  }
17112
17230
  }
17113
17231
  declare module "question_ranking" {
17114
17232
  import { ISurveyImpl } from "base-interfaces";
17115
17233
  import { DragDropRankingChoices } from "dragdrop/ranking-choices";
17116
- import { DragDropRankingSelectToRank } from "dragdrop/ranking-select-to-rank";
17117
17234
  import { ItemValue } from "itemvalue";
17118
17235
  import { QuestionCheckboxModel } from "question_checkbox";
17119
17236
  import { AnimationGroup } from "utils/animation";
@@ -17143,28 +17260,34 @@ declare module "question_ranking" {
17143
17260
  isAnswerCorrect(): boolean;
17144
17261
  get requireStrictCompare(): boolean;
17145
17262
  onSurveyValueChanged(newValue: any): void;
17263
+ onSurveyLoad(): void;
17146
17264
  protected onVisibleChoicesChanged: () => void;
17147
17265
  localeChanged: () => void;
17148
17266
  private addToValueByVisibleChoices;
17149
17267
  private removeFromValueByVisibleChoices;
17150
- private getChoicesAnimation;
17268
+ private getChoicesAnimationOptions;
17151
17269
  private _rankingChoicesAnimation;
17152
17270
  get rankingChoicesAnimation(): AnimationGroup<ItemValue>;
17153
17271
  private _unRankingChoicesAnimation;
17154
17272
  get unRankingChoicesAnimation(): AnimationGroup<ItemValue>;
17155
- get rankingChoices(): Array<ItemValue>;
17156
- set rankingChoices(val: Array<ItemValue>);
17157
- get unRankingChoices(): Array<ItemValue>;
17158
- set unRankingChoices(val: Array<ItemValue>);
17273
+ rankingChoices: Array<ItemValue>;
17274
+ unRankingChoices: Array<ItemValue>;
17275
+ private _renderedRankingChoices;
17276
+ private _renderedUnRankingChoices;
17277
+ get renderedRankingChoices(): Array<ItemValue>;
17278
+ set renderedRankingChoices(val: Array<ItemValue>);
17279
+ get renderedUnRankingChoices(): Array<ItemValue>;
17280
+ set renderedUnRankingChoices(val: Array<ItemValue>);
17281
+ private updateRenderedRankingChoices;
17282
+ private updateRenderedUnRankingChoices;
17159
17283
  private updateRankingChoices;
17160
17284
  updateUnRankingChoices(newRankingChoices: Array<ItemValue>): void;
17161
17285
  private updateRankingChoicesSelectToRankMode;
17162
17286
  dragDropRankingChoices: DragDropRankingChoices;
17163
17287
  currentDropTarget: ItemValue;
17164
- dropTargetNodeMove: string;
17165
17288
  endLoadingFromJson(): void;
17166
17289
  private setDragDropRankingChoices;
17167
- protected createDragDropRankingChoices(): DragDropRankingChoices | DragDropRankingSelectToRank;
17290
+ protected createDragDropRankingChoices(): DragDropRankingChoices;
17168
17291
  private draggedChoise;
17169
17292
  private draggedTargetNode;
17170
17293
  handlePointerDown: (event: PointerEvent, choice: ItemValue, node: HTMLElement) => void;
@@ -17183,7 +17306,6 @@ declare module "question_ranking" {
17183
17306
  supportNone(): boolean;
17184
17307
  supportRefuse(): boolean;
17185
17308
  supportDontKnow(): boolean;
17186
- private handleArrowKeys;
17187
17309
  handleKeydownSelectToRank(event: KeyboardEvent, movedElement: ItemValue, hardKey?: string, isNeedFocus?: boolean): void;
17188
17310
  private setValueAfterKeydown;
17189
17311
  private focusItem;
@@ -17200,6 +17322,11 @@ declare module "question_ranking" {
17200
17322
  */
17201
17323
  get longTap(): boolean;
17202
17324
  set longTap(val: boolean);
17325
+ /**
17326
+ * The name of a component used to render items.
17327
+ */
17328
+ get itemContentComponent(): string;
17329
+ set itemContentComponent(value: string);
17203
17330
  /**
17204
17331
  * Specifies whether users can select choices they want to rank.
17205
17332
  *
@@ -17747,6 +17874,8 @@ declare module "question_boolean" {
17747
17874
  getItemCss(): string;
17748
17875
  getCheckboxItemCss(): string;
17749
17876
  getLabelCss(checked: boolean): string;
17877
+ updateValueFromSurvey(newValue: any, clearData?: boolean): void;
17878
+ protected onValueChanged(): void;
17750
17879
  get svgIcon(): string;
17751
17880
  get itemSvgIcon(): string;
17752
17881
  get allowClick(): boolean;
@@ -17993,12 +18122,13 @@ declare module "popup-survey" {
17993
18122
  }
17994
18123
  }
17995
18124
  declare module "popup-dropdown-view-model" {
17996
- import { IPosition } from "utils/popup";
18125
+ import { IPosition, Rect } from "utils/popup";
17997
18126
  import { CssClassBuilder } from "utils/cssClassBuilder";
17998
18127
  import { PopupModel } from "popup";
17999
18128
  import { PopupBaseViewModel } from "popup-view-model";
18000
18129
  export class PopupDropdownViewModel extends PopupBaseViewModel {
18001
18130
  targetElement?: HTMLElement;
18131
+ areaElement?: HTMLElement;
18002
18132
  private scrollEventCallBack;
18003
18133
  private static readonly tabletSizeBreakpoint;
18004
18134
  private calculateIsTablet;
@@ -18008,6 +18138,8 @@ declare module "popup-dropdown-view-model" {
18008
18138
  private isTablet;
18009
18139
  private touchStartEventCallback;
18010
18140
  private touchMoveEventCallback;
18141
+ protected getAvailableAreaRect(): Rect;
18142
+ protected getTargetElementRect(): Rect;
18011
18143
  private _updatePosition;
18012
18144
  protected getActualHorizontalPosition(): "left" | "center" | "right";
18013
18145
  protected getStyleClass(): CssClassBuilder;
@@ -18016,8 +18148,8 @@ declare module "popup-dropdown-view-model" {
18016
18148
  popupDirection: string;
18017
18149
  pointerTarget: IPosition;
18018
18150
  private recalculatePositionHandler;
18019
- constructor(model: PopupModel, targetElement?: HTMLElement);
18020
- setComponentElement(componentRoot: HTMLElement, targetElement?: HTMLElement | null): void;
18151
+ constructor(model: PopupModel, targetElement?: HTMLElement, areaElement?: HTMLElement);
18152
+ setComponentElement(componentRoot: HTMLElement, targetElement?: HTMLElement | null, areaElement?: HTMLElement | null): void;
18021
18153
  resetComponentElement(): void;
18022
18154
  updateOnShowing(): void;
18023
18155
  private get shouldCreateResizeCallback();
@@ -26286,6 +26418,7 @@ declare module "react/components/popup/popup" {
26286
26418
  interface IPopupProps {
26287
26419
  model: PopupModel;
26288
26420
  getTarget?: (container: HTMLElement) => HTMLElement;
26421
+ getArea?: (container: HTMLElement) => HTMLElement;
26289
26422
  }
26290
26423
  export class Popup extends SurveyElementBase<IPopupProps, any> {
26291
26424
  private popup;
@@ -26849,6 +26982,11 @@ declare module "react/reactquestion_ranking" {
26849
26982
  protected renderEmptyIcon(): JSX.Element;
26850
26983
  protected renderElement(): JSX.Element;
26851
26984
  }
26985
+ export class SurveyQuestionRankingItemContent extends ReactSurveyElement {
26986
+ protected get item(): ItemValue;
26987
+ protected get cssClasses(): any;
26988
+ protected renderElement(): JSX.Element;
26989
+ }
26852
26990
  }
26853
26991
  declare module "react/components/rating/rating-item" {
26854
26992
  import { Base, QuestionRatingModel, RenderedRatingItem } from "entries/core";
@@ -27229,7 +27367,7 @@ declare module "react/components/matrix-actions/drag-drop-icon/drag-drop-icon" {
27229
27367
  declare module "react/reactquestion_matrixdropdownbase" {
27230
27368
  import { SurveyQuestionElementBase } from "react/reactquestion_element";
27231
27369
  import { SurveyQuestionAndErrorsCell } from "react/reactquestion";
27232
- import { QuestionMatrixDropdownModelBase, QuestionMatrixDropdownRenderedRow, QuestionMatrixDropdownRenderedCell, Question } from "entries/core";
27370
+ import { QuestionMatrixDropdownModelBase, Question } from "entries/core";
27233
27371
  export class SurveyQuestionMatrixDropdownBase extends SurveyQuestionElementBase {
27234
27372
  constructor(props: any);
27235
27373
  protected get question(): QuestionMatrixDropdownModelBase;
@@ -27239,12 +27377,6 @@ declare module "react/reactquestion_matrixdropdownbase" {
27239
27377
  componentWillUnmount(): void;
27240
27378
  protected renderElement(): JSX.Element;
27241
27379
  renderTableDiv(): JSX.Element;
27242
- renderHeader(): JSX.Element | null;
27243
- renderFooter(): JSX.Element | null;
27244
- renderRows(): JSX.Element;
27245
- renderRow(keyValue: any, row: QuestionMatrixDropdownRenderedRow, cssClasses: any, reason?: string): JSX.Element;
27246
- renderCell(cell: QuestionMatrixDropdownRenderedCell, index: number, cssClasses: any, reason?: string): JSX.Element;
27247
- private renderCellContent;
27248
27380
  }
27249
27381
  export class SurveyQuestionMatrixDropdownCell extends SurveyQuestionAndErrorsCell {
27250
27382
  constructor(props: any);
@@ -27565,6 +27697,34 @@ declare module "react/reactquestion_custom" {
27565
27697
  protected renderElement(): JSX.Element;
27566
27698
  }
27567
27699
  }
27700
+ declare module "react/components/list/list-item-content" {
27701
+ import { ListModel } from "entries/core";
27702
+ import { SurveyElementBase } from "react/reactquestion_element";
27703
+ interface IListItemProps {
27704
+ model: ListModel;
27705
+ item: any;
27706
+ }
27707
+ export class ListItemContent extends SurveyElementBase<IListItemProps, any> {
27708
+ get model(): ListModel;
27709
+ get item(): any;
27710
+ getStateElement(): any;
27711
+ render(): JSX.Element | null;
27712
+ }
27713
+ }
27714
+ declare module "react/components/list/list-item-group" {
27715
+ import { ListModel } from "entries/core";
27716
+ import { SurveyElementBase } from "react/reactquestion_element";
27717
+ interface IListItemProps {
27718
+ model: ListModel;
27719
+ item: any;
27720
+ }
27721
+ export class ListItemGroup extends SurveyElementBase<IListItemProps, any> {
27722
+ get model(): ListModel;
27723
+ get item(): any;
27724
+ getStateElement(): any;
27725
+ render(): JSX.Element | null;
27726
+ }
27727
+ }
27568
27728
  declare module "react/components/survey-header/logo-image" {
27569
27729
  import React from "react";
27570
27730
  import { SurveyModel } from "entries/core";
@@ -27684,7 +27844,7 @@ declare module "entries/react-ui-model" {
27684
27844
  export { ReactSurveyElement, SurveyElementBase, SurveyQuestionElementBase, } from "react/reactquestion_element";
27685
27845
  export { SurveyQuestionCommentItem, SurveyQuestionComment, } from "react/reactquestion_comment";
27686
27846
  export { SurveyQuestionCheckbox, SurveyQuestionCheckboxItem, } from "react/reactquestion_checkbox";
27687
- export { SurveyQuestionRanking, SurveyQuestionRankingItem, } from "react/reactquestion_ranking";
27847
+ export { SurveyQuestionRanking, SurveyQuestionRankingItem, SurveyQuestionRankingItemContent } from "react/reactquestion_ranking";
27688
27848
  export { RatingItem } from "react/components/rating/rating-item";
27689
27849
  export { RatingItemStar } from "react/components/rating/rating-item-star";
27690
27850
  export { RatingItemSmiley } from "react/components/rating/rating-item-smiley";
@@ -27727,6 +27887,8 @@ declare module "entries/react-ui-model" {
27727
27887
  export { SurveyQuestionButtonGroup } from "react/reactquestion_buttongroup";
27728
27888
  export { SurveyQuestionCustom, SurveyQuestionComposite } from "react/reactquestion_custom";
27729
27889
  export { Popup } from "react/components/popup/popup";
27890
+ export { ListItemContent } from "react/components/list/list-item-content";
27891
+ export { ListItemGroup } from "react/components/list/list-item-group";
27730
27892
  export { List } from "react/components/list/list";
27731
27893
  export { TitleActions } from "react/components/title/title-actions";
27732
27894
  export { TitleElement } from "react/components/title/title-element";