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-textarea', type: 'suggestion', hasSuggestions: true, docs: { description: 'Discourage direct usage of HTML textarea elements in favor of the Atlassian Design System textarea component.', recommended: true, severity: 'warn' }, messages: { noHtmlTextarea: "This <{{ name }}> should be replaced with a textarea component from the Atlassian Design System. ADS components include event tracking, ensure accessible implementations, and provide access to ADS styling features like design tokens." } }, create: function create(context) { return { // transforms styled.<textarea>(...) usages CallExpression: function CallExpression(node) { _styledComponent.StyledComponent.lint(node, { context: context }); }, // transforms <textarea css={...}> usages JSXElement: function JSXElement(node) { _jsxElement.JSXElement.lint(node, { context: context }); } }; } }); var _default = exports.default = rule;