{
  "oruga": {
    "metas": {
      "slug": "oruga",
      "name": "Oruga",
      "imgPath": "/ui/oruga.svg",
      "url": "https://oruga.io"
    },
    "detectors": {
      "js": [
        "[...document.querySelectorAll('*')].map((el) => Boolean(el.__vue__?.$oruga)).filter(Boolean).length",
        "[...document.querySelectorAll('*')].filter((el) =>  ['o-autocomplete', 'o-button', 'o-checkbox ', 'o-collapse', 'o-dropdown', 'o-field', 'o-icon', 'o-input', 'o-loading', 'o-modal', 'o-pagination', 'o-radio', 'o-select', 'o-sidebar', 'o-skeleton', 'o-slider', 'o-steps', 'o-switch', 'o-table', 'o-tabs', 'o-tooltip', 'o-upload', 'o-carousel', 'o-dialog', 'o-clockpicker', 'o-datepicker', 'o-datimepicker', 'o-numberinput', 'o-timepicker', 'o-taginput', 'o-image', 'o-notification', 'o-navbar', 'o-menu', 'o-tag'].includes(el.__vue__?.$options?._componentTag)).length"
      ]
    }
  },
  "element-ui": {
    "metas": {
      "slug": "element-ui",
      "name": "Element UI",
      "imgPath": "/ui/element.svg",
      "url": "https://element.eleme.io/"
    },
    "detectors": {
      "html": "<(?:div|button|a) [^>]*class=\"el-(?:table-column|table-filter|popper|pagination|pager|select-group|form|form-item|color-predefine|color-hue-slider|color-svpanel|color-alpha-slider|color-dropdown|color-picker|badge|tree|tree-node|select|message|dialog|checkbox|checkbox-button|checkbox-group|container|steps|carousel|menu|menu-item|submenu|menu-item-group|button|button-group|card|table|select-dropdown|row|tabs|notification|radio|progress|progress-bar|tag|popover|tooltip|cascader|cascader-menus|cascader-menu|time-spinner|spinner|spinner-inner|transfer|transfer-panel|rate|slider|dropdown|dropdown-menu|textarea|input|input-group|popup-parent|radio-group|main|breadcrumb|time-range-picker|date-range-picker|year-table|date-editor|range-editor|time-spinner|date-picker|time-panel|date-table|month-table|picker-panel|collapse|collapse-item|alert|select-dropdown|select-dropdown__empty|select-dropdown__wrap|select-dropdown__list|scrollbar|switch|carousel|upload|upload-dragger|upload-list|upload-cover|aside|input-number|header|message-box|footer|radio-button|step|autocomplete|autocomplete-suggestion|loading-parent|loading-mask|loading-spinner)"
    }
  },
  "vuetify": {
    "metas": {
      "slug": "vuetify",
      "name": "Vuetify",
      "imgPath": "/ui/vuetify.svg",
      "url": "https://vuetifyjs.com/"
    },
    "detectors": {
      "js": "[...document.querySelectorAll('*')].map((el) => Boolean(el.__vue__?.$vuetify)).filter(Boolean).length"
    }
  },
  "bootstrap-vue": {
    "metas": {
      "slug": "bootstrap-vue",
      "name": "Bootstrap Vue",
      "imgPath": "/ui/bootstrap.svg",
      "url": "https://bootstrap-vue.org/"
    },
    "detectors": {
      "js": "[...document.querySelectorAll('*')].map((el) => Boolean(el.__vue__?.$bvModal || el.__vue__?.$bvConfig || el.__vue__?.$bvToast)).filter(Boolean).length"
    }
  },
  "vue-tailwind": {
    "metas": {
      "slug": "vue-tailwind",
      "name": "VueTailwind",
      "imgPath": "/ui/vue-tailwind.svg",
      "url": "https://www.vue-tailwind.com/"
    },
    "detectors": {
      "js": "[...document.querySelectorAll('*')].map((el) => Boolean(el.__vue__?.$vueTailwind || (el.__vue__?.$options?.components.TInput && el.__vue__?.$options?.components?.TButton && el.__vue__?.$options?.components?.TModal))).filter(Boolean).length"
    }
  },
  "tailwindcss": {
    "metas": {
      "slug": "tailwind-css",
      "name": "Tailwind CSS",
      "imgPath": "/ui/tailwind.svg",
      "url": "https://tailwindcss.com/"
    },
    "detectors": {
      "html": [
        "<link [^>]*href=\"[^\"]+tailwindcss(?:\\.min)?\\.css",
        "<(?:div|button|a) [^>]*class=\"[^\"]*(?:sm:|md:|lg:|xl:|hover:|active:|focus:|disabled:|visited:|first:|last:|odd:|even:|group-hover:|focus-within:)"
      ]
    }
  },
  "buefy": {
    "metas": {
      "slug": "buefy",
      "name": "Buefy",
      "imgPath": "/ui/buefy.svg",
      "url": "https://buefy.org/"
    },
    "detectors": {
      "js": "[...document.querySelectorAll('*')].map((el) => Boolean(el.__vue__?.$buefy)).filter(Boolean).length"
    }
  },
  "inkline": {
    "metas": {
      "slug": "inkline",
      "name": "Inkline",
      "imgPath": "/ui/inkline.svg",
      "url": "https://inkline.io/"
    },
    "detectors": {
      "html": "<(?:div|button|a) [^>]*class=\"[^\"]*[^_](?:_border-|_rounded|_rounded-|_clearfix|_background-|_display-|_embed|_float-|_overflow-|_overlay|_position-|_width-|_margin-|_padding-|_align-|_visibility-)"
    }
  },
  "chakra-ui": {
    "metas": {
      "slug": "chakra-ui",
      "name": "Chakra UI",
      "imgPath": "/ui/chakra-ui.svg",
      "url": "https://vue.chakra-ui.com"
    },
    "detectors": {
      "js": "[...document.querySelectorAll('*')].map((el) => Boolean(el.__vue__?.$chakra)).filter(Boolean).length"
    }
  },
  "primevue": {
    "metas": {
      "slug": "primevue",
      "name": "PrimeVue",
      "imgPath": "/ui/primevue.svg",
      "url": "https://www.primefaces.org/primevue/showcase"
    },
    "detectors": {
      "js": [
        "[...document.querySelectorAll('*')].map((el) => Boolean(el.__vue__?.$primevue)).filter(Boolean).length",
        "[...document.querySelectorAll('*')].map((el) => el.__vue_app__?.config?.globalProperties?.$primevue).filter(Boolean).length"
      ]
    }
  },
  "vuesax": {
    "metas": {
      "slug": "vuesax",
      "name": "Vuesax",
      "imgPath": "/ui/vuesax.svg",
      "url": "https://vuesax.com"
    },
    "detectors": {
      "js": "[...document.querySelectorAll('*')].map((el) => el.__vue__?.$vs?.loading).filter(Boolean).length"
    }
  }
}
