Sha256: 134de96888a2dce8addff818be3e11b4a28200a7d3e9485d5a261bd80f0f5626

Contents?: true

Size: 624 Bytes

Versions: 18

Compression:

Stored size: 624 Bytes

Contents

import { Controller } from "@hotwired/stimulus"

export default class extends Controller {
  initialize() {
    this.abortController = new AbortController()
  }

  disconnect() {
    this.abortController.abort()
  }

  connect() {
    this.#supportsOTP && this.#requestOTP()
  }

  #requestOTP() {
    navigator.credentials.get(this.#options).then(otp => {
      this.element.value = otp.code
    }).catch(error => {
      console.log(error)
    })
  }

  get #options() {
    return { otp: { transport: ["sms"] }, signal: this.abortController.signal }
  }

  get #supportsOTP() {
    return "OTPCredential" in window
  }
}

Version data entries

18 entries across 18 versions & 1 rubygems

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