Sha256: 2098363a0192f92978f6058facc1d38047ce89739bdc3bea48286f5782b1142e

Contents?: true

Size: 549 Bytes

Versions: 12

Compression:

Stored size: 549 Bytes

Contents

import { Controller } from "@hotwired/stimulus"

export default class extends Controller {
  static targets = [ "input", "showIcon", "hideIcon" ]
  static values  = { revealed: Boolean }

  revealedValueChanged() {
    this.#update()
  }

  reveal() {
    this.revealedValue = !this.revealedValue
  }

  #update() {
    this.inputTarget.type = this.#inputType
    this.showIconTarget.hidden = this.revealedValue
    this.hideIconTarget.hidden = !this.revealedValue
  }

  get #inputType() {
    return this.revealedValue ? "text" : "password"
  }
}

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
css-zero-1.0.6 lib/generators/css_zero/add/templates/app/javascript/controllers/revealable_input_controller.js
css-zero-1.0.5 lib/generators/css_zero/add/templates/app/javascript/controllers/revealable_input_controller.js
css-zero-1.0.4 lib/generators/css_zero/add/templates/app/javascript/controllers/revealable_input_controller.js
css-zero-1.0.3 lib/generators/css_zero/add/templates/app/javascript/controllers/revealable_input_controller.js
css-zero-1.0.2 lib/generators/css_zero/add/templates/app/javascript/controllers/revealable_input_controller.js
css-zero-1.0.1 lib/generators/css_zero/add/templates/app/javascript/controllers/revealable_input_controller.js
css-zero-1.0.0 lib/generators/css_zero/add/templates/app/javascript/controllers/revealable_input_controller.js
css-zero-0.0.98 lib/generators/css_zero/add/templates/app/javascript/controllers/revealable_input_controller.js
css-zero-0.0.97 lib/generators/css_zero/add/templates/app/javascript/controllers/revealable_input_controller.js
css-zero-0.0.96 lib/generators/css_zero/add/templates/app/javascript/controllers/revealable_input_controller.js
css-zero-0.0.95 lib/generators/css_zero/add/templates/app/javascript/controllers/revealable_input_controller.js
css-zero-0.0.94 lib/generators/css_zero/add/templates/app/javascript/controllers/revealable_input_controller.js