Sha256: 145dedbd599a09be063221b328c0a585df22ce54dd735d679c70a50184c5f389

Contents?: true

Size: 608 Bytes

Versions: 57

Compression:

Stored size: 608 Bytes

Contents

import { Controller } from "@hotwired/stimulus"

export default class extends Controller {
  static targets = [ "content" ]

  next() {
    this.contentTarget.scrollTo({ left: this.#nextPosition, behavior: "smooth" })
  }

  prev() {
    this.contentTarget.scrollTo({ left: this.#prevPosition, behavior: "smooth" })
  }

  get #nextPosition() {
    return this.#scrollLeft + this.#slideSize
  }

  get #prevPosition() {
    return this.#scrollLeft - this.#slideSize
  }

  get #scrollLeft() {
    return this.contentTarget.scrollLeft
  }

  get #slideSize() {
    return this.contentTarget.clientWidth
  }
}

Version data entries

57 entries across 57 versions & 1 rubygems

Version Path
css-zero-0.0.93 lib/generators/css_zero/add/templates/app/javascript/controllers/carousel_controller.js
css-zero-0.0.92 lib/generators/css_zero/add/templates/app/javascript/controllers/carousel_controller.js
css-zero-0.0.91 lib/generators/css_zero/add/templates/app/javascript/controllers/carousel_controller.js
css-zero-0.0.90 lib/generators/css_zero/add/templates/app/javascript/controllers/carousel_controller.js
css-zero-0.0.89 lib/generators/css_zero/add/templates/app/javascript/controllers/carousel_controller.js
css-zero-0.0.88 lib/generators/css_zero/add/templates/app/javascript/controllers/carousel_controller.js
css-zero-0.0.87 lib/generators/css_zero/add/templates/app/javascript/controllers/carousel_controller.js
css-zero-0.0.86 lib/generators/css_zero/add/templates/app/javascript/controllers/carousel_controller.js
css-zero-0.0.85 lib/generators/css_zero/add/templates/app/javascript/controllers/carousel_controller.js
css-zero-0.0.84 lib/generators/css_zero/add/templates/app/javascript/controllers/carousel_controller.js
css-zero-0.0.83 lib/generators/css_zero/add/templates/app/javascript/controllers/carousel_controller.js
css-zero-0.0.82 lib/generators/css_zero/add/templates/app/javascript/controllers/carousel_controller.js
css-zero-0.0.81 lib/generators/css_zero/add/templates/app/javascript/controllers/carousel_controller.js
css-zero-0.0.80 lib/generators/css_zero/add/templates/app/javascript/controllers/carousel_controller.js
css-zero-0.0.79 lib/generators/css_zero/add/templates/app/javascript/controllers/carousel_controller.js
css-zero-0.0.78 lib/generators/css_zero/add/templates/app/javascript/controllers/carousel_controller.js
css-zero-0.0.77 lib/generators/css_zero/add/templates/app/javascript/controllers/carousel_controller.js
css-zero-0.0.76 lib/generators/css_zero/add/templates/app/javascript/controllers/carousel_controller.js
css-zero-0.0.75 lib/generators/css_zero/add/templates/app/javascript/controllers/carousel_controller.js
css-zero-0.0.74 lib/generators/css_zero/add/templates/app/javascript/controllers/carousel_controller.js