UNPKG

@atlaskit/eslint-plugin-design-system

Version:

The essential plugin for use with the Atlassian Design System.

41 lines (40 loc) 1.4 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _createLintRule = require("../utils/create-lint-rule"); var _jsxElement = require("./node-types/jsx-element"); var _styledComponent = require("./node-types/styled-component"); var rule = (0, _createLintRule.createLintRule)({ meta: { name: 'no-html-select', type: 'suggestion', hasSuggestions: true, docs: { description: 'Discourage direct usage of HTML select elements in favor of the Atlassian Design System select component.', recommended: true, severity: 'warn' }, messages: { noHtmlSelect: "This <{{ name }}> should be replaced with the select component from the Atlassian Design System. ADS select components have event tracking, ensure accessible implementations, and provide access to ADS styling features like design tokens." } }, create: function create(context) { return { // transforms styled.<anchor>(...) usages CallExpression: function CallExpression(node) { _styledComponent.StyledComponent.lint(node, { context: context }); }, // transforms <anchor css={...}> usages JSXElement: function JSXElement(node) { _jsxElement.JSXElement.lint(node, { context: context }); } }; } }); var _default = exports.default = rule;