<commit_before><template lang="pug">
q-card.doc-api.q-my-lg(v-if="ready", flat, bordered)
  q-toolbar.text-grey-8.bg-white
    card-title(:title="name", prefix="API--")
    q-space
    .col-auto.text-grey {{ type }}

  q-separator

  div.bg-grey-2.text-grey-7.flex.no-wrap
    q-tabs.col(v-model="currentTab", indicator-color="primary", align="left", :breakpoint="0", dense)
      q-tab(
        v-for="tab in tabs"
        :key="`api-tab-${tab}`"
        :name="tab"
        :label="tab"
      )

    q-input.q-mx-sm(
      v-if="$q.screen.gt.xs"
      ref="input",
      v-model="filter",
      dense,
      input-class="text-right",
      borderless,
      placeholder="Filter..."
      style="min-width: 150px"
    )
      template(v-slot:append)
        q-icon.cursor-pointer(
          :name="filter !== '' ? 'clear' : 'search'"
          @click="onFilterClick"
        )

  q-separator

  q-tab-panels(v-model="currentTab", animated)
    q-tab-panel(v-for="tab in tabs", :name="tab", :key="tab" class="q-pa-none")
      .row.no-wrap.api-container(v-if="aggregationModel[tab]")
        .col-auto.row.items-center.bg-grey-1.text-grey-7.q-py-lg
          q-tabs(
            v-model="currentInnerTab[tab]",
            active-color="primary",
            indicator-color="primary",
            :breakpoint="0",
            vertical,
            dense,
            shrink
          )
            q-tab(
              v-for="category in apiTabs(tab)"
              :key="`api-inner-tab-${category}`"
              class="inner-tab"
              :name="category"
            )
              .row.no-wrap.items-center
                q-badge(v-if="apiCount(tab, category)") {{ formattedApiCount(tab, category) }}
                span.q-ml-xs.text-capitalize.text-weight-medium {{ category }}

        q-separator(vertical)

        q-tab-panels.col(v-model="currentInnerTab[tab]", animated)
          q-tab-panel(v-for="category in apiTabs(tab)", :name="category", :key="category", class="q-pa-none")
            ApiRows(:which="tab", :apiKey="category", :api="filteredApi[tab]")
      .api-container(v-else)
        ApiRows(:which="tab", :api="filteredApi")
</template><commit_msg>feat(docs): improve api cards animations<commit_after><template lang="pug">
q-card.doc-api.q-my-lg(v-if="ready", flat, bordered)
  q-toolbar.text-grey-8.bg-white
    card-title(:title="name", prefix="API--")
    q-space
    .col-auto.text-grey {{ type }}

  q-separator

  div.bg-grey-2.text-grey-7.flex.no-wrap
    q-tabs.col(v-model="currentTab", indicator-color="primary", align="left", :breakpoint="0", dense)
      q-tab(
        v-for="tab in tabs"
        :key="`api-tab-${tab}`"
        :name="tab"
        :label="tab"
      )

    q-input.q-mx-sm(
      v-if="$q.screen.gt.xs"
      ref="input",
      v-model="filter",
      dense,
      input-class="text-right",
      borderless,
      placeholder="Filter..."
      style="min-width: 150px"
    )
      template(v-slot:append)
        q-icon.cursor-pointer(
          :name="filter !== '' ? 'clear' : 'search'"
          @click="onFilterClick"
        )

  q-separator

  q-tab-panels(v-model="currentTab", animated)
    q-tab-panel(v-for="tab in tabs", :name="tab", :key="tab" class="q-pa-none")
      .row.no-wrap.api-container(v-if="aggregationModel[tab]")
        .col-auto.row.items-center.bg-grey-1.text-grey-7.q-py-lg
          q-tabs(
            v-model="currentInnerTab[tab]",
            active-color="primary",
            indicator-color="primary",
            :breakpoint="0",
            vertical,
            dense,
            shrink
          )
            q-tab(
              v-for="category in apiTabs(tab)"
              :key="`api-inner-tab-${category}`"
              class="inner-tab"
              :name="category"
            )
              .row.no-wrap.items-center
                q-badge(v-if="apiCount(tab, category)") {{ formattedApiCount(tab, category) }}
                span.q-ml-xs.text-capitalize.text-weight-medium {{ category }}

        q-separator(vertical)

        q-tab-panels.col(
          v-model="currentInnerTab[tab]",
          animated,
          transition-prev="slide-down",
          transition-next="slide-up"
        )
          q-tab-panel(v-for="category in apiTabs(tab)", :name="category", :key="category", class="q-pa-none")
            ApiRows(:which="tab", :apiKey="category", :api="filteredApi[tab]")
      .api-container(v-else)
        ApiRows(:which="tab", :api="filteredApi")
</template>
{'fraction_non_alphanumeric': 0.1841812930459898, 'fraction_numerical': 0.004443457009553432, 'mean_word_length': 2.0605030591434397, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 7, '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': '5976957', 'n_tokens_mistral': 1549, 'n_tokens_neox': 1500, 'n_words': 186}