<commit_before>let ripple = {
  show: (e, el, binding) => {
    var container = document.createElement('span')
    var animation = document.createElement('span')

    container.appendChild(animation)
    container.className = 'ripple__container'
    
    if (binding.value.class) {
      container.classList.add(binding.value.class)
    }

    animation.className = 'ripple__animation'
    animation.style.width = `${el.clientWidth * 2}px`
    animation.style.height = animation.style.width

    el.appendChild(container)

    const x = e.pageX - el.offsetLeft
    const y = e.pageY - el.offsetTop

    animation.classList.add('ripple__animation--enter')
    animation.classList.add('ripple__animation--visible')
    animation.style.transform = `translate3d(-50%, -50%, 0) translate3d(${x}px, ${y}px, 0) scale3d(.001, .001, 1)`
    animation.dataset.activated = Date.now()

    setTimeout(() => {
      animation.classList.remove('ripple__animation--enter')
      animation.style.transform = `translate3d(-50%, -50%, 0) translate3d(${x}px, ${y}px, 0)`
    }, 0)
  },

  hide: (el) => {
    let ripples = el.getElementsByClassName('ripple__animation')

    if (ripples.length === 0) return
    let animation = ripples[ripples.length - 1]
    let diff = Date.now() - Number(animation.dataset.activated)
    let delay = 400 - diff

    delay = delay < 0 ? 0 : delay

    setTimeout(() => {
      animation.classList.remove('ripple__animation--visible')<commit_msg>updated styles to support older browsers<commit_after>function style (el, value) {
  [
    'transform',
    'webkitTransform'
  ].forEach(i => {
    el.style[i] = value
  })
}

let ripple = {
  show: (e, el, binding) => {
    var container = document.createElement('span')
    var animation = document.createElement('span')

    container.appendChild(animation)
    container.className = 'ripple__container'
    
    if (binding.value.class) {
      container.classList.add(binding.value.class)
    }

    animation.className = 'ripple__animation'
    animation.style.width = `${el.clientWidth * 2}px`
    animation.style.height = animation.style.width

    el.appendChild(container)

    const x = e.pageX - el.offsetLeft
    const y = e.pageY - el.offsetTop

    animation.classList.add('ripple__animation--enter')
    animation.classList.add('ripple__animation--visible')
    style(animation, `translate3d(-50%, -50%, 0) translate3d(${x}px, ${y}px, 0) scale3d(.001, .001, 1)`)
    animation.dataset.activated = Date.now()

    setTimeout(() => {
      animation.classList.remove('ripple__animation--enter')
      style(animation, `translate3d(-50%, -50%, 0) translate3d(${x}px, ${y}px, 0)`)
    }, 0)
  },

  hide: (el) => {
    let ripples = el.getElementsByClassName('ripple__animation')

    if (ripples.length === 0) return
    let animation = ripples[ripples.length - 1]
    let diff = Date.now() - Number(animation.dataset.activated)
    let delay = 400 - diff

    delay = delay < 0 ? 0 : delay

    setTimeout(() => {
      animation.classList.remove('ripple__animation--visible')
{'fraction_non_alphanumeric': 0.15104849279161206, 'fraction_numerical': 0.02162516382699869, 'mean_word_length': 3.3428165007112374, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 12, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3481949', 'n_tokens_mistral': 1027, 'n_tokens_neox': 955, 'n_words': 185}