Sha256: 342374a642f12700ffb2bc32dba312a8d5ad61520e048bbaab992fb479d12219

Contents?: true

Size: 1020 Bytes

Versions: 1

Compression:

Stored size: 1020 Bytes

Contents

/* eslint-disable */

const cls = {
  main: 'ps',
  rtl: 'ps__rtl',
  element: {
    thumb: (x) => `ps__thumb-${x}`,
    rail: (x) => `ps__rail-${x}`,
    consuming: 'ps__child--consume',
  },
  state: {
    focus: 'ps--focus',
    clicking: 'ps--clicking',
    active: (x) => `ps--active-${x}`,
    scrolling: (x) => `ps--scrolling-${x}`,
  },
};

export default cls;

/*
 * Helper methods
 */
const scrollingClassTimeout = { x: null, y: null };

export function addScrollingClass(i, x) {
  const classList = i.element.classList;
  const className = cls.state.scrolling(x);

  if (classList.contains(className)) {
    clearTimeout(scrollingClassTimeout[x]);
  } else {
    classList.add(className);
  }
}

export function removeScrollingClass(i, x) {
  scrollingClassTimeout[x] = setTimeout(
    () => i.isAlive && i.element.classList.remove(cls.state.scrolling(x)),
    i.settings.scrollingThreshold
  );
}

export function setScrollingClassInstantly(i, x) {
  addScrollingClass(i, x);
  removeScrollingClass(i, x);
}

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
jekyll-rubin-collab-theme-0.1.1 _third_party/mdb-ui-kit/src/js/mdb/perfect-scrollbar/lib/class-names.js