<commit_before>class @Components.HoverGroup extends @Components.Base
  @autoInit: ->
    $('.component-hover_group').each (i, el) => new @($(el))

  constructor: (@el) ->
    @breakpoints =
      sm: 600
      md: 900

    super

    # Hover Items
    @items  = []
    $('.component-hover_item', @el).each (i, el) =>
      @items.push new Components.HoverItem($(el), @)

    @slider = $('[data-slick-carousel]', @el).not('[data-slick-carousel="false"]')

    @initSlider()

  initSlider: =>
    defaultOptions =
      slide:          'article'
      slidesToShow:   4
      slidesToScroll: 4
      dots:           true
      arrows:         true
      responsive:     [
        {
          breakpoint: 1200
          settings:
            slidesToShow:   3
            slidesToScroll: 3
        }
        {
          breakpoint: 767
          settings:
            slidesToShow:   1
            slidesToScroll: 1
        }
      ]

    customOptions = @slider.data('gallery-options') || {}

    @slider.slick Object.merge(defaultOptions, customOptions)

  onResponsiveSizeChange: ->
    @items.map 'checkPlugins'
    @slider.slickGoTo(0)

  onResize: ->
    super
    @items.map 'adjustText'


class @Components.HoverItem extends @Components.Base
  constructor: (@el, @hoverGroup) ->
    @breakpoints =<commit_msg>Update hover_group.coffee to use Slick 1.4<commit_after>class @Components.HoverGroup extends @Components.Base
  @autoInit: ->
    $('.component-hover_group').each (i, el) => new @($(el))

  constructor: (@el) ->
    @breakpoints =
      sm: 600
      md: 900

    super

    # Hover Items
    @items  = []
    $('.component-hover_item', @el).each (i, el) =>
      @items.push new Components.HoverItem($(el), @)

    @slider = $('[data-slick-carousel]', @el).not('[data-slick-carousel="false"]')

    @initSlider()

  initSlider: =>
    defaultOptions =
      slide:          'article'
      slidesToShow:   4
      slidesToScroll: 4
      dots:           true
      arrows:         true
      responsive:     [
        {
          breakpoint: 1200
          settings:
            slidesToShow:   3
            slidesToScroll: 3
        }
        {
          breakpoint: 767
          settings:
            slidesToShow:   1
            slidesToScroll: 1
        }
      ]

    customOptions = @slider.data('gallery-options') || {}

    @slider.slick Object.merge(defaultOptions, customOptions)

  onResponsiveSizeChange: ->
    @items.map 'checkPlugins'
    @slider.slick('slickGoTo', 0)

  onResize: ->
    super
    @items.map 'adjustText'


class @Components.HoverItem extends @Components.Base
  constructor: (@el, @hoverGroup) ->
    @breakpoints =
{'fraction_non_alphanumeric': 0.13240810202550637, 'fraction_numerical': 0.015753938484621154, 'mean_word_length': 2.006764374295378, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 19, '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': '1090083', 'n_tokens_mistral': 890, 'n_tokens_neox': 840, 'n_words': 166}