Sha256: 09372396589be9c5c5beaeb599ec0a71191e80d6e5feea5bbd25f75eb08bc784

Contents?: true

Size: 554 Bytes

Versions: 56

Compression:

Stored size: 554 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

56 entries across 56 versions & 1 rubygems

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