HEX
Server: Apache
System: Linux webd004.cluster130.gra.hosting.ovh.net 5.15.206-ovh-vps-grsec-zfs-classid #1 SMP Fri May 15 02:41:25 UTC 2026 x86_64
User: frenchy (106757)
PHP: 7.4.33
Disabled: _dyuweyrj4,_dyuweyrj4r,dl
Upload Files
File: /home/frenchy/www/french-american.org/current/node_modules/stylelint/lib/utils/isCustomElement.js
/* @flow */
"use strict";

const htmlTags = require("html-tags");
const keywordSets = require("../reference/keywordSets");
const mathMLTags = require("mathml-tag-names");
const svgTags = require("svg-tags");

/**
 * Check whether a type selector is a custom element
 */
module.exports = function(selector /*: string*/) /*: boolean*/ {
  if (!/^[a-z]/.test(selector)) {
    return false;
  }

  if (selector.indexOf("-") === -1) {
    return false;
  }

  const selectorLowerCase = selector.toLowerCase();

  if (selectorLowerCase !== selector) {
    return false;
  }

  if (svgTags.indexOf(selectorLowerCase) !== -1) {
    return false;
  }

  if (htmlTags.indexOf(selectorLowerCase) !== -1) {
    return false;
  }

  if (keywordSets.nonStandardHtmlTags.has(selectorLowerCase)) {
    return false;
  }

  if (mathMLTags.indexOf(selectorLowerCase) !== -1) {
    return false;
  }

  return true;
};