modal.d.ts 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. /** Returns a new `BaseComponent` instance. */
  2. declare class BaseComponent {
  3. element: Element;
  4. options?: BaseOptions;
  5. /**
  6. * @param target `Element` or selector string
  7. * @param config component instance options
  8. */
  9. constructor(target: Element | string, config?: BaseOptions);
  10. get version(): string;
  11. get name(): string;
  12. get defaults(): {};
  13. /** just to have something to extend from */
  14. _toggleEventListeners: () => void;
  15. /** Removes component from target element. */
  16. dispose(): void;
  17. }
  18. declare interface BaseOptions {
  19. [key: string]: unknown;
  20. }
  21. /** Returns a new `Modal` instance. */
  22. declare class Modal extends BaseComponent {
  23. static selector: string;
  24. static init: (element: Element) => Modal;
  25. static getInstance: (element: Element) => Modal | null;
  26. element: HTMLElement;
  27. options: ModalOptions;
  28. modalDialog: HTMLElement;
  29. triggers: HTMLElement[];
  30. isStatic: boolean;
  31. hasFade: boolean;
  32. relatedTarget: EventTarget & HTMLElement | null;
  33. _observer: ResizeObserver;
  34. /**
  35. * @param target usually the `.modal` element
  36. * @param config instance options
  37. */
  38. constructor(target: Element | string, config?: Partial<ModalOptions>);
  39. /**
  40. * Returns component name string.
  41. */
  42. get name(): string;
  43. /**
  44. * Returns component default options.
  45. */
  46. get defaults(): {
  47. backdrop: boolean;
  48. keyboard: boolean;
  49. };
  50. /** Toggles the visibility of the modal. */
  51. toggle(): void;
  52. /** Shows the modal to the user. */
  53. show(): void;
  54. /** Hide the modal from the user. */
  55. hide(): void;
  56. /**
  57. * Updates the modal layout.
  58. */
  59. update: () => void;
  60. /**
  61. * Toggles on/off the `click` event listener of the `Modal` instance.
  62. *
  63. * @param add when `true`, event listener(s) is/are added
  64. */
  65. _toggleEventListeners: (add?: boolean) => void;
  66. /** Removes the `Modal` component from target element. */
  67. dispose(): void;
  68. }
  69. export default Modal;
  70. declare interface ModalOptions extends BaseOptions {
  71. backdrop: boolean | "static";
  72. keyboard: boolean;
  73. }
  74. export { }