text: (window.webpackJsonp=window.webpackJsonp||[]).push([[865],{1148:function(t,e){throw new Error('Module parse failed: Unexpected token (1:10)\nYou may need an appropriate loader to handle this file type, currently no loaders are configured to process this file. See https://webpack.js.org/concepts#loaders\n> {"version":3,"file":"items-list.vue.js","sources":["../../../src/components/items-list.vue"],"sourcesContent":["<template>\\n  <component\\n    :is=\\"animation\\"\\n    v-if=\\"items.length\\"\\n    tag=\\"ul\\"\\n    class=\\"x-items-list\\"\\n    data-test=\\"items-list\\"\\n  >\\n    <li\\n      v-for=\\"item in computedItems\\"\\n      :key=\\"item.id\\"\\n      class=\\"x-items-list__item\\"\\n      :class=\\"item.class\\"\\n      :data-test=\\"item.dataTest\\"\\n    >\\n      \x3c!--\\n        @slot Custom item to render.\\n          @binding {ListItem} item - Item data.\\n      --\x3e\\n      <slot :item=\\"item\\" :name=\\"item.slotName\\">{{ item.id }}</slot>\\n    </li>\\n  </component>\\n</template>\\n\\n<script lang=\\"ts\\">\\n  import Vue from \'vue\';\\n  import { Component, Prop } from \'vue-property-decorator\';\\n  import { ListItem } from \'../utils/types\';\\n  import { toKebabCase } from \'../utils/string\';\\n\\n  /**\\n   * It renders a list of {@link ListItem} providing a slot for each `slotName` which depends on\\n   * the `modelName`of the item.\\n   *\\n   * @public\\n   */\\n  @Component\\n  export default class ItemsList extends Vue {\\n    /**\\n     * Animation component that will be used to animate the list.\\n     *\\n     * @public\\n     */\\n    @Prop({ default: \'ul\' })\\n    protected animation!: Vue | string;\\n\\n    /**\\n     * List of items.\\n     *\\n     * @public\\n     */\\n    @Prop({ required: true })\\n    protected items!: ListItem[];\\n\\n    /**\\n     * The list of the items with additional properties.\\n     *\\n     * @returns A list of items with `dataTest`, `class` and the `slotName` for each item.\\n     *\\n     * @internal\\n     */\\n    protected get computedItems(): {\\n      dataTest: string;\\n      class: string[];\\n    }[] {\\n      return this.items.map(item => {\\n        const modelName = toKebabCase(item.modelName);\\n        return {\\n          ...item,\\n          dataTest: `${modelName}s-list-item`,\\n          class: [`x-${modelName}s-list-item`],\\n          slotName: modelName\\n        };\\n      });\\n    }\\n  }\\n<\/script>\\n"],"names":["const"],"mappings":";;;;AAEAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}')}}]);