can-stick.d.ts 1.4 KB

12345678910111213141516171819202122232425262728293031323334
  1. /**
  2. * @license
  3. * Copyright Google LLC All Rights Reserved.
  4. *
  5. * Use of this source code is governed by an MIT-style license that can be
  6. * found in the LICENSE file at https://angular.io/license
  7. */
  8. /** @docs-private */
  9. export declare type Constructor<T> = new (...args: any[]) => T;
  10. /**
  11. * Interface for a mixin to provide a directive with a function that checks if the sticky input has
  12. * been changed since the last time the function was called. Essentially adds a dirty-check to the
  13. * sticky value.
  14. * @docs-private
  15. */
  16. export interface CanStick {
  17. /** Whether sticky positioning should be applied. */
  18. sticky: boolean;
  19. /** Whether the sticky input has changed since it was last checked. */
  20. _hasStickyChanged: boolean;
  21. /** Whether the sticky value has changed since this was last called. */
  22. hasStickyChanged(): boolean;
  23. /** Resets the dirty check for cases where the sticky state has been used without checking. */
  24. resetStickyChanged(): void;
  25. }
  26. /** @docs-private */
  27. export declare type CanStickCtor = Constructor<CanStick>;
  28. /**
  29. * Mixin to provide a directive with a function that checks if the sticky input has been
  30. * changed since the last time the function was called. Essentially adds a dirty-check to the
  31. * sticky value.
  32. * @docs-private
  33. */
  34. export declare function mixinHasStickyInput<T extends Constructor<{}>>(base: T): CanStickCtor & T;