<commit_before><template>
  <div
    class="q-if row no-wrap items-center relative-position"
    :class="classes"
    :tabindex="focusable && !disable ? 0 : null"
    @click="__onClick"
    v-ripple.mat="inverted"
  >
    <template v-if="before">
      <q-icon
        v-for="item in before"
        :key="item"
        class="q-if-control q-if-control-before"
        :class="{hidden: __additionalHidden(item, hasError, length)}"
        :name="item.icon"
        @click="item.handler || __defaultHander"
      ></q-icon>
    </template>

    <div class="q-if-inner col row no-wrap items-center relative-position">
      <div
        v-if="label"
        class="q-if-label ellipsis full-width absolute self-start"
        :class="{'q-if-label-above': labelIsAbove}"
        v-html="label"
      ></div>

      <span
        v-if="prefix"
        class="q-if-addon q-if-addon-left"
        :class="addonClass"
        v-html="prefix"
      ></span>

      <slot></slot>

      <span
        v-if="suffix"
        class="q-if-addon q-if-addon-right"
        :class="addonClass"
        v-html="suffix"
      ></span>
    </div>

    <slot name="after"></slot>
    <template v-if="after">
      <q-icon
        v-for="item in after"
        :key="item"
        class="q-if-control"
        :class="{hidden: __additionalHidden(item, hasError, length)}"
        :name="item.icon"
        @click="item.handler || __defaultHandler"
      ></q-icon>
    </template>
  </div>
</template>

<script>
import Mixin from './input-frame-mixin'
import Ripple from '../../directives/ripple'

export default {
  name: 'q-input-frame',
  mixins: [Mixin],
  directives: {
    Ripple
  },
  props: {
    topAddons: Boolean,
    focused: Boolean,
    length: Number,
    focusable: Boolean,
    additionalLength: Boolean
  },
  data () {
    return {
      field: {}
    }
  },
  inject: ['__field'],
  computed: {<commit_msg>Fix QInputFrame defaultHandler call (#708)<commit_after><template>
  <div
    class="q-if row no-wrap items-center relative-position"
    :class="classes"
    :tabindex="focusable && !disable ? 0 : null"
    @click="__onClick"
    v-ripple.mat="inverted"
  >
    <template v-if="before">
      <q-icon
        v-for="item in before"
        :key="item"
        class="q-if-control q-if-control-before"
        :class="{hidden: __additionalHidden(item, hasError, length)}"
        :name="item.icon"
        @click="(item.handler || __defaultHandler)($event)"
      ></q-icon>
    </template>

    <div class="q-if-inner col row no-wrap items-center relative-position">
      <div
        v-if="label"
        class="q-if-label ellipsis full-width absolute self-start"
        :class="{'q-if-label-above': labelIsAbove}"
        v-html="label"
      ></div>

      <span
        v-if="prefix"
        class="q-if-addon q-if-addon-left"
        :class="addonClass"
        v-html="prefix"
      ></span>

      <slot></slot>

      <span
        v-if="suffix"
        class="q-if-addon q-if-addon-right"
        :class="addonClass"
        v-html="suffix"
      ></span>
    </div>

    <slot name="after"></slot>
    <template v-if="after">
      <q-icon
        v-for="item in after"
        :key="item"
        class="q-if-control"
        :class="{hidden: __additionalHidden(item, hasError, length)}"
        :name="item.icon"
        @click="(item.handler || __defaultHandler)($event)"
      ></q-icon>
    </template>
  </div>
</template>

<script>
import Mixin from './input-frame-mixin'
import Ripple from '../../directives/ripple'

export default {
  name: 'q-input-frame',
  mixins: [Mixin],
  directives: {
    Ripple
  },
  props: {
    topAddons: Boolean,
    focused: Boolean,
    length: Number,
    focusable: Boolean,
    additionalLength: Boolean
  },
  data () {
    return {
      field: {}
    }
  },
  inject: ['__field'],
  computed: {
{'fraction_non_alphanumeric': 0.16917098445595855, 'fraction_numerical': 0.0012953367875647669, 'mean_word_length': 2.2418136020151134, 'pattern_counts': {'":': 0, '<': 53, '<?xml version=': 0, '>': 53, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6602463', 'n_tokens_mistral': 1354, 'n_tokens_neox': 1307, 'n_words': 246}