{"version":3,"file":"Facet.vue.mjs","sources":["../../lib/facets/Facet.vue"],"sourcesContent":["<template>\n  <!-- Component for a collapsible facet -->\n  <div class=\"list-group\">\n    <slot name=\"before\" />\n    <template v-if=\"header\">\n      <div class=\"d-none d-md-block list-group-item facet-header\">\n        <h2 class=\"h5 mb-0 float-left\">{{ header }}</h2>\n        <i class=\"tooltip-icon material-icons small-icon align-right text-dark pl-1\"\n           data-toggle=\"tooltip\"\n           data-placement=\"right\"\n           :title=\"toolTipTitle\">\n          help_outline\n        </i>\n      </div>\n      <a\n        class=\"d-flex d-md-none list-group-item justify-content-between align-items-baseline\"\n        data-toggle=\"collapse\"\n        :data-target=\"`#${myId}`\"\n        @click=\"isExpanded = !isExpanded\"\n      >\n        <h2 class=\"h5 mb-0\">{{ header }}</h2>\n        <button class=\"btn\">\n          <i class=\"material-icons small-icon expand-more animated\" v-if=\"!isExpanded\">expand_more</i>\n          <i class=\"material-icons small-icon expand-less animated\" v-else>expand_less</i>\n        </button>\n      </a>\n    </template>\n\n    <div\n      :id=\"myId\"\n      class=\"collapse dont-collapse-sm\">\n      <template v-if=\"items && items.length > 0\">\n        <div\n          class=\"list-item-container\"\n          v-for=\"(item, index) in items.slice(0, numItemsAllowed)\"\n          :key=\"`field@${index}`\"\n        >\n          <slot\n            :item=\"item\"\n            :index=\"index\"\n          />\n        </div>\n        <button\n          v-if=\"items.length > minItems\"\n          class=\"d-block btn btn-primary btn-color w-100 facet-expand-button\"\n          @click=\"handleGrowToggle\"\n        >\n          <i class=\"material-icons align-bottom expand-more animated\">{{ isGrown ? 'expand_less' : 'expand_more' }}</i>\n        </button>\n      </template>\n\n      <slot name=\"after\" />\n    </div>\n  </div>\n</template>\n\n<script>\n\nexport default {\n  name: 'Facet',\n  props: {\n    header: {\n      type: String,\n      default: '',\n    },\n    items: {\n      type: Array,\n      required: true,\n    },\n    maxItems: {\n      type: Number,\n      default: 50,\n    },\n    minItems: {\n      type: Number,\n      default: 5,\n    },\n    toolTipTitle: {\n      type: String,\n      default: '',\n    },\n  },\n  data() {\n    return {\n      id: null,\n      isExpanded: false,\n      isGrown: false,\n      numItemsAllowed: this.minItems,\n    };\n  },\n  computed: {\n    myId() {\n      // Use Vue generated uid to set give each facet a unique id\n      return `facet-${this.id}`;\n    },\n  },\n  methods: {\n    handleGrowToggle() {\n      this.isGrown = !this.isGrown;\n      this.numItemsAllowed = this.isGrown\n        ? this.maxItems\n        : this.minItems;\n    },\n  },\n  mounted() {\n    this.id = this._uid; // eslint-disable-line\n  },\n};\n</script>\n\n<style lang=\"scss\" scoped>\n.facet-header {\n  // background-color: #fffade;\n  // background-color: rgba(255, 204, 0, 0.1);\n  background-color: rgba(0, 29, 133,0.05);\n  // background-color: #cddbe8;\n\n  // background-color: #001d85;\n  // color: white !important;\n}\n.tooltip-icon {\n  font-size: 15px;\n}\n\n@media (min-width: 768px) {\n  .collapse.dont-collapse-sm {\n    display: block;\n    height: auto !important;\n    visibility: visible;\n  }\n}\n\n.list-item-container {\n  margin-bottom: -1px;\n}\n\n.btn-color {\n  background-color: var(--primary);\n  border-color: var(--primary);\n\n  &:hover {\n    background-color: #196fd2;\n    border-color: #196fd2;\n  }\n}\n</style>\n"],"names":["_sfc_main","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_6","_hoisted_7","_hoisted_11","_openBlock","_createElementBlock","_renderSlot","_ctx","$props","_Fragment","_createElementVNode","_toDisplayString","_hoisted_4","$options","_cache","$event","$data","_hoisted_9","_hoisted_8","_renderList","item","index","args"],"mappings":"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"}