isAbstractRole.js 831 B

1234567891011121314151617181920212223
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. exports["default"] = void 0;
  6. var _ariaQuery = require("aria-query");
  7. var _jsxAstUtils = require("jsx-ast-utils");
  8. var abstractRoles = new Set(_ariaQuery.roles.keys().filter(function (role) {
  9. return _ariaQuery.roles.get(role)["abstract"];
  10. }));
  11. var DOMElements = new Set(_ariaQuery.dom.keys());
  12. var isAbstractRole = function isAbstractRole(tagName, attributes) {
  13. // Do not test higher level JSX components, as we do not know what
  14. // low-level DOM element this maps to.
  15. if (!DOMElements.has(tagName)) {
  16. return false;
  17. }
  18. var role = (0, _jsxAstUtils.getLiteralPropValue)((0, _jsxAstUtils.getProp)(attributes, 'role'));
  19. return abstractRoles.has(role);
  20. };
  21. var _default = exports["default"] = isAbstractRole;
  22. module.exports = exports.default;