component-classes.d.ts 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. /**
  2. * source by `component-classes`
  3. * https://github.com/component/classes.git
  4. */
  5. export declare class ClassList {
  6. el: Element;
  7. list: DOMTokenList;
  8. constructor(el: Element);
  9. array(): string[];
  10. /**
  11. * Add class `name` if not already present.
  12. *
  13. * @param {String} name
  14. * @return {ClassList}
  15. * @api public
  16. */
  17. add(name: string): ClassList;
  18. /**
  19. * Remove class `name` when present, or
  20. * pass a regular expression to remove
  21. * any which match.
  22. *
  23. * @param {String|RegExp} name
  24. * @return {ClassList}
  25. * @api public
  26. */
  27. remove(name: string | RegExp): ClassList;
  28. /**
  29. * Remove all classes matching `re`.
  30. *
  31. * @param {RegExp} re
  32. * @return {ClassList}
  33. * @api private
  34. */
  35. _removeMatching(re: RegExp): ClassList;
  36. /**
  37. * Toggle class `name`, can force state via `force`.
  38. *
  39. * For browsers that support classList, but do not support `force` yet,
  40. * the mistake will be detected and corrected.
  41. *
  42. * @param {String} name
  43. * @param {Boolean} force
  44. * @return {ClassList}
  45. * @api public
  46. */
  47. toggle(name: string, force: boolean): ClassList;
  48. /**
  49. * Check if class `name` is present.
  50. *
  51. * @param {String} name
  52. * @api public
  53. */
  54. has(name: string): boolean;
  55. /**
  56. * Check if class `name` is present.
  57. *
  58. * @param {String} name
  59. * @api public
  60. */
  61. contains(name: string): boolean;
  62. }
  63. /**
  64. * Wrap `el` in a `ClassList`.
  65. *
  66. * @param {Element} el
  67. * @return {ClassList}
  68. * @api public
  69. */
  70. export default function (el: Element): ClassList;