Sha256: b7724325469ea11706f72674ccfaf4cf1e245729f78c59247da106ab94904095

Contents?: true

Size: 601 Bytes

Versions: 2

Compression:

Stored size: 601 Bytes

Contents

const classes = {
  root: "field",
  input: "field__input",
  label: "label"
};

const states = {
  root: { focused: `${classes.root}--is-focused` },
  label: { focused: `${classes.label}--is-focused` }
};

var Field = {
  init() {
    $(document).on("focusin focusout", `.${classes.input}`, (event) => {
      var method = event.type === "focusin" ? "add" : "remove",
          label = document.querySelector(`[for=${event.target.id}]`);

      event.target.parentNode.classList[method](states.root.focused);
      label.classList[method](states.label.focused);
    });
  }
};

export default Field;

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
docks_theme_api-1.0.3 source/components/field/field.js
docks_theme_api-1.0.2 source/components/field/field.js