@dnncommunity/dnn-elements 0.24.4-beta.8 → 0.24.4-beta.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/eslint-plugin/dist/index.d.ts +13 -0
  2. package/eslint-plugin/dist/index.js +18 -0
  3. package/eslint-plugin/dist/index.js.map +1 -0
  4. package/eslint-plugin/dist/rules/index.d.ts +3 -0
  5. package/eslint-plugin/{rules → dist/rules}/index.js +3 -2
  6. package/eslint-plugin/dist/rules/index.js.map +1 -0
  7. package/eslint-plugin/dist/rules/no-label-slot-in-checkbox.d.ts +1 -0
  8. package/eslint-plugin/dist/rules/no-label-slot-in-checkbox.js +47 -0
  9. package/eslint-plugin/dist/rules/no-label-slot-in-checkbox.js.map +1 -0
  10. package/eslint-plugin/dist/rules/no-label-slot-in-checkbox.tests.js +30 -0
  11. package/eslint-plugin/dist/rules/no-label-slot-in-checkbox.tests.js.map +1 -0
  12. package/eslint-plugin/dist/utils.d.ts +7 -0
  13. package/eslint-plugin/dist/utils.js +7 -0
  14. package/eslint-plugin/dist/utils.js.map +1 -0
  15. package/package.json +15 -6
  16. package/dist/collection/eslint-plugin/__tests__/no-label-slot-in-checkbox.tests.js +0 -26
  17. package/dist/collection/eslint-plugin/__tests__/no-label-slot-in-checkbox.tests.js.map +0 -1
  18. package/dist/collection/eslint-plugin/src/configs/index.js +0 -7
  19. package/dist/collection/eslint-plugin/src/configs/index.js.map +0 -1
  20. package/dist/collection/eslint-plugin/src/configs/recommended.js +0 -6
  21. package/dist/collection/eslint-plugin/src/configs/recommended.js.map +0 -1
  22. package/dist/collection/eslint-plugin/src/index.js +0 -17
  23. package/dist/collection/eslint-plugin/src/index.js.map +0 -1
  24. package/dist/collection/eslint-plugin/src/rules/index.js +0 -5
  25. package/dist/collection/eslint-plugin/src/rules/index.js.map +0 -1
  26. package/dist/collection/eslint-plugin/src/rules/no-label-slot-in-checkbox.js +0 -45
  27. package/dist/collection/eslint-plugin/src/rules/no-label-slot-in-checkbox.js.map +0 -1
  28. package/dist/types/eslint-plugin/src/configs/index.d.ts +0 -11
  29. package/dist/types/eslint-plugin/src/configs/recommended.d.ts +0 -6
  30. package/dist/types/eslint-plugin/src/index.d.ts +0 -15
  31. package/dist/types/eslint-plugin/src/rules/index.d.ts +0 -4
  32. package/dist/types/eslint-plugin/src/rules/no-label-slot-in-checkbox.d.ts +0 -2
  33. package/eslint-plugin/configs/index.d.ts +0 -11
  34. package/eslint-plugin/configs/index.js +0 -12
  35. package/eslint-plugin/configs/index.js.map +0 -1
  36. package/eslint-plugin/configs/recommended.d.ts +0 -6
  37. package/eslint-plugin/configs/recommended.js +0 -8
  38. package/eslint-plugin/configs/recommended.js.map +0 -1
  39. package/eslint-plugin/index.d.ts +0 -15
  40. package/eslint-plugin/index.js +0 -22
  41. package/eslint-plugin/index.js.map +0 -1
  42. package/eslint-plugin/rules/index.d.ts +0 -4
  43. package/eslint-plugin/rules/index.js.map +0 -1
  44. package/eslint-plugin/rules/no-label-slot-in-checkbox.d.ts +0 -2
  45. package/eslint-plugin/rules/no-label-slot-in-checkbox.js +0 -48
  46. package/eslint-plugin/rules/no-label-slot-in-checkbox.js.map +0 -1
  47. /package/{dist/types/eslint-plugin/__tests__ → eslint-plugin/dist/rules}/no-label-slot-in-checkbox.tests.d.ts +0 -0
@@ -0,0 +1,13 @@
1
+ declare const plugin: {
2
+ configs: {
3
+ readonly recommended: {
4
+ plugins: {
5
+ "dnn-elements": any;
6
+ };
7
+ rules: {
8
+ "no-label-slot-in-checkbox": import("@typescript-eslint/utils/ts-eslint").RuleModule<"noLabelSlotInCheckbox", [], import("./utils").TypedLintingRuleDocs, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
9
+ };
10
+ };
11
+ };
12
+ };
13
+ export default plugin;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const rules_1 = require("./rules");
4
+ const plugin = {
5
+ configs: {
6
+ get recommended() {
7
+ return recommended;
8
+ }
9
+ }
10
+ };
11
+ const recommended = {
12
+ plugins: {
13
+ "dnn-elements": plugin,
14
+ },
15
+ rules: rules_1.rules,
16
+ };
17
+ exports.default = plugin;
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AAAA,mCAAgC;AAEhC,MAAM,MAAM,GAAG;IACX,OAAO,EAAE;QACL,IAAI,WAAW;YACX,OAAO,WAAW,CAAC;QACvB,CAAC;KACJ;CACJ,CAAA;AACD,MAAM,WAAW,GAAG;IAChB,OAAO,EAAE;QACL,cAAc,EAAE,MAAM;KACzB;IACD,KAAK,EAAL,aAAK;CACR,CAAC;AAEF,kBAAe,MAAM,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare const rules: {
2
+ "no-label-slot-in-checkbox": import("@typescript-eslint/utils/ts-eslint").RuleModule<"noLabelSlotInCheckbox", [], import("../utils").TypedLintingRuleDocs, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
3
+ };
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.rules = void 0;
3
4
  const no_label_slot_in_checkbox_1 = require("./no-label-slot-in-checkbox");
4
- exports.default = {
5
- "no-label-slot-in-checkbox": no_label_slot_in_checkbox_1.noLabelSlotInCheckbox,
5
+ exports.rules = {
6
+ "no-label-slot-in-checkbox": no_label_slot_in_checkbox_1.rule,
6
7
  };
7
8
  //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/rules/index.ts"],"names":[],"mappings":";;;AAAA,2EAA4E;AAE/D,QAAA,KAAK,GAAG;IACjB,2BAA2B,EAAE,gCAAqB;CACrD,CAAA"}
@@ -0,0 +1 @@
1
+ export declare const rule: import("@typescript-eslint/utils/ts-eslint").RuleModule<"noLabelSlotInCheckbox", [], import("../utils").TypedLintingRuleDocs, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.rule = void 0;
4
+ const utils_1 = require("../utils");
5
+ exports.rule = (0, utils_1.createRule)({
6
+ name: "no-label-slot-in-checkbox",
7
+ defaultOptions: [],
8
+ meta: {
9
+ docs: {
10
+ description: "Disallow label slot in checkbox",
11
+ recommended: true,
12
+ url: "https://github.com/DNNCommunity/dnn-elements/releases/tag/v0.24.0",
13
+ },
14
+ type: "problem",
15
+ messages: {
16
+ noLabelSlotInCheckbox: "Label slot is not allowed in dnn-checkbox, wrap dnn-checkbox with a label instead."
17
+ },
18
+ fixable: "code",
19
+ schema: [], // Ensure schema is defined as an empty array or with the appropriate schema definition
20
+ },
21
+ create(context) {
22
+ return {
23
+ JSXElement(node) {
24
+ if (node.openingElement.name.type === "JSXIdentifier" &&
25
+ node.openingElement.name.name === "dnn-checkbox") {
26
+ const innerContent = node.children
27
+ .map(child => context.sourceCode.getText(child))
28
+ .join("")
29
+ .trim();
30
+ if (innerContent) {
31
+ context.report({
32
+ node,
33
+ messageId: "noLabelSlotInCheckbox",
34
+ fix: fixer => {
35
+ const checkboxText = context.sourceCode.getText(node.openingElement);
36
+ const selfClosing = checkboxText.replace(/>$/, " />");
37
+ const replacement = `<label>\n${selfClosing}\n${innerContent}\n</label>`;
38
+ return fixer.replaceText(node, replacement);
39
+ }
40
+ });
41
+ }
42
+ }
43
+ }
44
+ };
45
+ },
46
+ });
47
+ //# sourceMappingURL=no-label-slot-in-checkbox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"no-label-slot-in-checkbox.js","sourceRoot":"","sources":["../../src/rules/no-label-slot-in-checkbox.ts"],"names":[],"mappings":";;;AAAA,oCAAsC;AAEzB,QAAA,IAAI,GAAG,IAAA,kBAAU,EAAC;IAC3B,IAAI,EAAE,2BAA2B;IACjC,cAAc,EAAE,EAAE;IAClB,IAAI,EAAE;QACF,IAAI,EAAE;YACF,WAAW,EAAE,iCAAiC;YAC9C,WAAW,EAAE,IAAI;YACjB,GAAG,EAAE,mEAAmE;SAC3E;QACD,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE;YACN,qBAAqB,EAAE,oFAAoF;SAC9G;QACD,OAAO,EAAE,MAAM;QACf,MAAM,EAAE,EAAE,EAAE,uFAAuF;KACtG;IACD,MAAM,CAAC,OAAO;QACV,OAAO;YACH,UAAU,CAAC,IAAI;gBACX,IACI,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,KAAK,eAAe;oBACjD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,KAAK,cAAc,EAClD,CAAC;oBACC,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ;yBAC7B,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;yBAC/C,IAAI,CAAC,EAAE,CAAC;yBACR,IAAI,EAAE,CAAC;oBAEZ,IAAI,YAAY,EAAE,CAAC;wBACf,OAAO,CAAC,MAAM,CAAC;4BACX,IAAI;4BACJ,SAAS,EAAE,uBAAuB;4BAClC,GAAG,EAAE,KAAK,CAAC,EAAE;gCACT,MAAM,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gCACrE,MAAM,WAAW,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gCAEtD,MAAM,WAAW,GAAG,YAAY,WAAW,KAAK,YAAY,YAAY,CAAC;gCACzE,OAAO,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;4BAChD,CAAC;yBACJ,CAAC,CAAC;oBACP,CAAC;gBACL,CAAC;YACL,CAAC;SACJ,CAAC;IACN,CAAC;CACJ,CAAC,CAAC"}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const rule_tester_1 = require("@typescript-eslint/rule-tester");
4
+ const no_label_slot_in_checkbox_1 = require("./no-label-slot-in-checkbox");
5
+ const ruleTester = new rule_tester_1.RuleTester();
6
+ // Define a reusable configuration for JSX parser options
7
+ const jsxParserOptions = {
8
+ parserOptions: {
9
+ ecmaFeatures: {
10
+ jsx: true,
11
+ },
12
+ },
13
+ };
14
+ ruleTester.run("no-label-slot-in-checkbox", no_label_slot_in_checkbox_1.rule, {
15
+ valid: [
16
+ {
17
+ code: "<dnn-checkbox></dnn-checkbox>",
18
+ languageOptions: jsxParserOptions,
19
+ },
20
+ ],
21
+ invalid: [
22
+ {
23
+ code: "<dnn-checkbox onClick={e => console.log(e)}>Something</dnn-checkbox>",
24
+ languageOptions: jsxParserOptions,
25
+ errors: [{ messageId: "noLabelSlotInCheckbox" }],
26
+ output: "<label>\n<dnn-checkbox onClick={e => console.log(e)} />\nSomething\n</label>",
27
+ },
28
+ ],
29
+ });
30
+ //# sourceMappingURL=no-label-slot-in-checkbox.tests.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"no-label-slot-in-checkbox.tests.js","sourceRoot":"","sources":["../../src/rules/no-label-slot-in-checkbox.tests.ts"],"names":[],"mappings":";;AAAA,gEAA4D;AAC5D,2EAAmD;AAEnD,MAAM,UAAU,GAAG,IAAI,wBAAU,EAAE,CAAC;AAEpC,yDAAyD;AACzD,MAAM,gBAAgB,GAAG;IACrB,aAAa,EAAE;QACX,YAAY,EAAE;YACV,GAAG,EAAE,IAAI;SACZ;KACJ;CACJ,CAAC;AAEF,UAAU,CAAC,GAAG,CAAC,2BAA2B,EAAE,gCAAI,EAAE;IAC9C,KAAK,EAAE;QACH;YACI,IAAI,EAAE,+BAA+B;YACrC,eAAe,EAAE,gBAAgB;SACpC;KACJ;IACD,OAAO,EAAE;QACL;YACI,IAAI,EAAE,sEAAsE;YAC5E,eAAe,EAAE,gBAAgB;YACjC,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,uBAAuB,EAAE,CAAC;YAChD,MAAM,EAAE,8EAA8E;SACzF;KACJ;CACJ,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { ESLintUtils } from "@typescript-eslint/utils";
2
+ export interface TypedLintingRuleDocs {
3
+ description: string;
4
+ recommended?: boolean;
5
+ requiresTyepeChecking?: boolean;
6
+ }
7
+ export declare const createRule: <Options extends readonly unknown[], MessageIds extends string>({ meta, name, ...rule }: Readonly<ESLintUtils.RuleWithMetaAndName<Options, MessageIds, TypedLintingRuleDocs>>) => ESLintUtils.RuleModule<MessageIds, Options, TypedLintingRuleDocs, ESLintUtils.RuleListener>;
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createRule = void 0;
4
+ const utils_1 = require("@typescript-eslint/utils");
5
+ ;
6
+ exports.createRule = utils_1.ESLintUtils.RuleCreator(name => `https://github.com/DNNCommunity/dnn-elements/tree/main/packages/stencil-library/eslint-plugin/docs/${name}.md`);
7
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;AAAA,oDAAuD;AAMtD,CAAC;AAEW,QAAA,UAAU,GAAG,mBAAW,CAAC,WAAW,CAC7C,IAAI,CAAC,EAAE,CAAC,sGAAsG,IAAI,KAAK,CAC1H,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dnncommunity/dnn-elements",
3
- "version": "0.24.4-beta.8",
3
+ "version": "0.24.4-beta.9",
4
4
  "description": "Dnn themed custom elements.",
5
5
  "repository": "https://github.com/dnncommunity/dnn-elements",
6
6
  "homepage": "https://dnncommunity.github.io/dnn-elements",
@@ -16,8 +16,13 @@
16
16
  "files": [
17
17
  "dist/",
18
18
  "loader/",
19
- "eslint-plugin/"
19
+ "eslint-plugin/dist"
20
20
  ],
21
+ "exports": {
22
+ "./eslint": {
23
+ "import": "./eslint-plugin/dist/index.js"
24
+ }
25
+ },
21
26
  "scripts": {
22
27
  "build": "npm run build:eslint-plugin && npm run eslint && stencil build --docs",
23
28
  "postbuild": "license-checker-rseidelsohn --out licenses.json --json --direct --relativeLicensePath --relativeModulePath",
@@ -28,12 +33,13 @@
28
33
  "test": "stencil test --spec --e2e",
29
34
  "test.watch": "stencil test --spec --e2e --watchAll",
30
35
  "test.eslint": "jest --config jest.eslint.config.js",
36
+ "test.eslint.watch": "jest --config jest.eslint.config.js --watchAll",
31
37
  "generate": "stencil generate",
32
38
  "eslint": "eslint",
33
39
  "storybook": "storybook dev -p 6006",
34
40
  "build-storybook": "echo 'Storybook build is disabled for this release.'",
35
41
  "deploy-storybook": "gh-pages -d storybook-static --branch site",
36
- "build:eslint-plugin": "tsc -p src/eslint-plugin/tsconfig.json"
42
+ "build:eslint-plugin": "tsc -p eslint-plugin/tsconfig.json"
37
43
  },
38
44
  "devDependencies": {
39
45
  "@chromatic-com/storybook": "^3.1.0",
@@ -53,8 +59,10 @@
53
59
  "@timkendrick/monaco-editor": "^0.0.9",
54
60
  "@types/estree-jsx": "^1.0.5",
55
61
  "@types/jest": "^29.5.10",
56
- "@typescript-eslint/eslint-plugin": "^8.0.1",
57
- "@typescript-eslint/parser": "^8.0.1",
62
+ "@typescript-eslint/eslint-plugin": "^8.30.1",
63
+ "@typescript-eslint/parser": "^8.30.1",
64
+ "@typescript-eslint/rule-tester": "^8.30.1",
65
+ "@typescript-eslint/utils": "^8.30.1",
58
66
  "axe-playwright": "^2.0.1",
59
67
  "babel-loader": "^9.1.2",
60
68
  "eslint": "^8.57.0",
@@ -72,7 +80,8 @@
72
80
  "rollup-plugin-node-polyfills": "^0.2.1",
73
81
  "storybook": "^8.3.2",
74
82
  "ts-jest": "^29.3.2",
75
- "typescript": "5.6.3"
83
+ "typescript": "5.6.3",
84
+ "typescript-eslint": "^8.30.1"
76
85
  },
77
86
  "dependencies": {
78
87
  "jodit": "^4.2.27"
@@ -1,26 +0,0 @@
1
- import { RuleTester } from "eslint";
2
- import { noLabelSlotInCheckbox } from "../src/rules/no-label-slot-in-checkbox";
3
- const tsParser = require.resolve("@typescript-eslint/parser");
4
- const ruleTester = new RuleTester({
5
- parser: tsParser,
6
- parserOptions: {
7
- ecmaVersion: 2022,
8
- ecmaFeatures: {
9
- jsx: true,
10
- },
11
- sourceType: "module",
12
- },
13
- });
14
- ruleTester.run("no-label-slot-in-checkbox", noLabelSlotInCheckbox, {
15
- valid: [
16
- { code: "<dnn-checkbox></dnn-checkbox>" },
17
- ],
18
- invalid: [
19
- {
20
- code: "<dnn-checkbox onClick={e => console.log(e)}>Something</dnn-checkbox>",
21
- errors: [{ messageId: "noLabelSlotInCheckbox" }],
22
- output: "<label>\n<dnn-checkbox onClick={e => console.log(e)}></dnn-checkbox>\nSomething\n</label>",
23
- }
24
- ],
25
- });
26
- //# sourceMappingURL=no-label-slot-in-checkbox.tests.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"no-label-slot-in-checkbox.tests.js","sourceRoot":"","sources":["../../../src/eslint-plugin/__tests__/no-label-slot-in-checkbox.tests.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAC/E,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC;AAE9D,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC;IAC9B,MAAM,EAAE,QAAQ;IAChB,aAAa,EAAE;QACX,WAAW,EAAE,IAAI;QACjB,YAAY,EAAE;YACV,GAAG,EAAE,IAAI;SACZ;QACD,UAAU,EAAE,QAAQ;KACvB;CACJ,CAAC,CAAC;AAEH,UAAU,CAAC,GAAG,CAAC,2BAA2B,EAAE,qBAAqB,EAAE;IAC/D,KAAK,EAAE;QACH,EAAE,IAAI,EAAE,+BAA+B,EAAE;KAC5C;IACD,OAAO,EAAE;QACL;YACI,IAAI,EAAE,sEAAsE;YAC5E,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,uBAAuB,EAAE,CAAC;YAChD,MAAM,EAAE,2FAA2F;SACtG;KACJ;CACJ,CAAC,CAAC","sourcesContent":["import { RuleTester } from \"eslint\";\r\nimport { noLabelSlotInCheckbox } from \"../src/rules/no-label-slot-in-checkbox\";\r\nconst tsParser = require.resolve(\"@typescript-eslint/parser\");\r\n\r\nconst ruleTester = new RuleTester({\r\n parser: tsParser,\r\n parserOptions: {\r\n ecmaVersion: 2022,\r\n ecmaFeatures: {\r\n jsx: true,\r\n },\r\n sourceType: \"module\",\r\n },\r\n});\r\n\r\nruleTester.run(\"no-label-slot-in-checkbox\", noLabelSlotInCheckbox, {\r\n valid: [\r\n { code: \"<dnn-checkbox></dnn-checkbox>\" },\r\n ],\r\n invalid: [\r\n {\r\n code: \"<dnn-checkbox onClick={e => console.log(e)}>Something</dnn-checkbox>\",\r\n errors: [{ messageId: \"noLabelSlotInCheckbox\" }],\r\n output: \"<label>\\n<dnn-checkbox onClick={e => console.log(e)}></dnn-checkbox>\\nSomething\\n</label>\",\r\n }\r\n ],\r\n});"]}
@@ -1,7 +0,0 @@
1
- import recommended from "./recommended";
2
- export default {
3
- recommended,
4
- /** Will be populated from main entry file to keep backward compatible. */
5
- flat: {},
6
- };
7
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/eslint-plugin/src/configs/index.ts"],"names":[],"mappings":"AACA,OAAO,WAAW,MAAM,eAAe,CAAC;AAExC,eAAe;IACX,WAAW;IACX,0EAA0E;IAC1E,IAAI,EAAE,EAAuC;CAChD,CAAC","sourcesContent":["import type { Linter } from \"eslint\";\r\nimport recommended from \"./recommended\";\r\n\r\nexport default {\r\n recommended,\r\n /** Will be populated from main entry file to keep backward compatible. */\r\n flat: {} as Record<string, Linter.FlatConfig>,\r\n};"]}
@@ -1,6 +0,0 @@
1
- export default {
2
- rules: {
3
- '@dnn-elements/no-label-slot-in-checkbox': "error",
4
- }
5
- };
6
- //# sourceMappingURL=recommended.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"recommended.js","sourceRoot":"","sources":["../../../../src/eslint-plugin/src/configs/recommended.ts"],"names":[],"mappings":"AAEA,eAAe;IACX,KAAK,EAAE;QACH,yCAAyC,EAAE,OAAO;KACrD;CACwB,CAAC","sourcesContent":["import { Linter } from 'eslint';\r\n\r\nexport default {\r\n rules: {\r\n '@dnn-elements/no-label-slot-in-checkbox': \"error\",\r\n }\r\n} satisfies Linter.BaseConfig;"]}
@@ -1,17 +0,0 @@
1
- import rules from "./rules";
2
- import configs from "./configs";
3
- const plugin = {
4
- rules,
5
- configs,
6
- };
7
- const flatRecommended = {
8
- plugins: {
9
- "@dnn-elements": plugin,
10
- },
11
- rules: configs.recommended.rules,
12
- };
13
- configs.flat = {
14
- recommended: flatRecommended,
15
- };
16
- export default plugin;
17
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/eslint-plugin/src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,SAAS,CAAC;AAC5B,OAAO,OAAO,MAAM,WAAW,CAAA;AAE/B,MAAM,MAAM,GAAG;IACX,KAAK;IACL,OAAO;CACV,CAAC;AAEF,MAAM,eAAe,GAAsB;IACvC,OAAO,EAAE;QACL,eAAe,EAAE,MAAM;KAC1B;IACD,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,KAAK;CACnC,CAAC;AAEF,OAAO,CAAC,IAAI,GAAG;IACX,WAAW,EAAE,eAAe;CAC/B,CAAA;AAED,eAAe,MAAM,CAAC","sourcesContent":["import { Linter } from \"eslint\";\r\nimport rules from \"./rules\";\r\nimport configs from \"./configs\"\r\n\r\nconst plugin = {\r\n rules,\r\n configs,\r\n};\r\n\r\nconst flatRecommended: Linter.FlatConfig = {\r\n plugins: {\r\n \"@dnn-elements\": plugin,\r\n },\r\n rules: configs.recommended.rules,\r\n};\r\n\r\nconfigs.flat = {\r\n recommended: flatRecommended,\r\n}\r\n\r\nexport default plugin;"]}
@@ -1,5 +0,0 @@
1
- import { noLabelSlotInCheckbox } from "./no-label-slot-in-checkbox";
2
- export default {
3
- "no-label-slot-in-checkbox": noLabelSlotInCheckbox,
4
- };
5
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/eslint-plugin/src/rules/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAEpE,eAAe;IACX,2BAA2B,EAAE,qBAAqB;CACrD,CAAA","sourcesContent":["import { noLabelSlotInCheckbox } from \"./no-label-slot-in-checkbox\";\r\n\r\nexport default {\r\n \"no-label-slot-in-checkbox\": noLabelSlotInCheckbox,\r\n}"]}
@@ -1,45 +0,0 @@
1
- export const noLabelSlotInCheckbox = {
2
- meta: {
3
- type: "problem",
4
- docs: {
5
- description: "Disallow label slot in checkbox",
6
- recommended: true,
7
- url: "https://github.com/DNNCommunity/dnn-elements/releases/tag/v0.24.0",
8
- },
9
- messages: {
10
- noLabelSlotInCheckbox: "Label slot is not allowed in dnn-checkbox, wrap dnn-checkbox with a label instead."
11
- },
12
- fixable: "code",
13
- },
14
- create(context) {
15
- return {
16
- JSXOpeningElement(node) {
17
- if (node.type === "JSXOpeningElement") {
18
- const jsxNode = node;
19
- if (jsxNode.name.type === "JSXIdentifier" && jsxNode.name.name === "dnn-checkbox") {
20
- const parent = context.getAncestors().find(ancestor => ancestor.type === "JSXElement");
21
- if (parent && parent.type === "JSXElement") {
22
- const parentElement = parent; // Cast to access children
23
- const innerContent = parentElement.children
24
- .map((child) => context.sourceCode.getText(child))
25
- .join("")
26
- .trim();
27
- if (innerContent) {
28
- context.report({
29
- node: node,
30
- messageId: "noLabelSlotInCheckbox",
31
- fix: (fixer) => {
32
- const checkboxText = context.sourceCode.getText(node);
33
- const fixedText = `<label>\n${checkboxText.replace(innerContent, "").trim()}</dnn-checkbox>\n${innerContent}\n</label>`;
34
- return fixer.replaceText(parent, fixedText);
35
- }
36
- });
37
- }
38
- }
39
- }
40
- }
41
- }
42
- };
43
- }
44
- };
45
- //# sourceMappingURL=no-label-slot-in-checkbox.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"no-label-slot-in-checkbox.js","sourceRoot":"","sources":["../../../../src/eslint-plugin/src/rules/no-label-slot-in-checkbox.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,qBAAqB,GAAoB;IAClD,IAAI,EAAE;QACF,IAAI,EAAE,SAAS;QACf,IAAI,EAAE;YACF,WAAW,EAAE,iCAAiC;YAC9C,WAAW,EAAE,IAAI;YACjB,GAAG,EAAE,mEAAmE;SAC3E;QACD,QAAQ,EAAE;YACN,qBAAqB,EAAE,oFAAoF;SAC9G;QACD,OAAO,EAAE,MAAM;KAClB;IACD,MAAM,CAAC,OAAyB;QAC5B,OAAO;YACH,iBAAiB,CAAC,IAAe;gBAC7B,IAAI,IAAI,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;oBACpC,MAAM,OAAO,GAAG,IAAyB,CAAC;oBAC1C,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;wBAChF,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC;wBACvF,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;4BACzC,MAAM,aAAa,GAAG,MAAa,CAAC,CAAC,0BAA0B;4BAC/D,MAAM,YAAY,GAAG,aAAa,CAAC,QAAQ;iCACtC,GAAG,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;iCACtD,IAAI,CAAC,EAAE,CAAC;iCACR,IAAI,EAAE,CAAC;4BAEZ,IAAI,YAAY,EAAE,CAAC;gCACf,OAAO,CAAC,MAAM,CAAC;oCACX,IAAI,EAAE,IAAI;oCACV,SAAS,EAAE,uBAAuB;oCAClC,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE;wCACX,MAAM,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;wCACtD,MAAM,SAAS,GAAG,YAAY,YAAY,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,oBAAoB,YAAY,YAAY,CAAC;wCACxH,OAAO,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;oCAChD,CAAC;iCACJ,CAAC,CAAC;4BACP,CAAC;wBACL,CAAC;oBACL,CAAC;gBACL,CAAC;YACL,CAAC;SACJ,CAAC;IACN,CAAC;CACJ,CAAC","sourcesContent":["import type { Rule } from 'eslint';\r\nimport type { JSXOpeningElement } from \"estree-jsx\";\r\n\r\nexport const noLabelSlotInCheckbox: Rule.RuleModule = {\r\n meta: {\r\n type: \"problem\",\r\n docs: {\r\n description: \"Disallow label slot in checkbox\",\r\n recommended: true,\r\n url: \"https://github.com/DNNCommunity/dnn-elements/releases/tag/v0.24.0\",\r\n },\r\n messages: {\r\n noLabelSlotInCheckbox: \"Label slot is not allowed in dnn-checkbox, wrap dnn-checkbox with a label instead.\"\r\n },\r\n fixable: \"code\",\r\n },\r\n create(context: Rule.RuleContext): Rule.RuleListener {\r\n return {\r\n JSXOpeningElement(node: Rule.Node) {\r\n if (node.type === \"JSXOpeningElement\") {\r\n const jsxNode = node as JSXOpeningElement;\r\n if (jsxNode.name.type === \"JSXIdentifier\" && jsxNode.name.name === \"dnn-checkbox\") {\r\n const parent = context.getAncestors().find(ancestor => ancestor.type === \"JSXElement\");\r\n if (parent && parent.type === \"JSXElement\") {\r\n const parentElement = parent as any; // Cast to access children\r\n const innerContent = parentElement.children\r\n .map((child: any) => context.sourceCode.getText(child))\r\n .join(\"\")\r\n .trim();\r\n\r\n if (innerContent) {\r\n context.report({\r\n node: node,\r\n messageId: \"noLabelSlotInCheckbox\",\r\n fix: (fixer) => {\r\n const checkboxText = context.sourceCode.getText(node);\r\n const fixedText = `<label>\\n${checkboxText.replace(innerContent, \"\").trim()}</dnn-checkbox>\\n${innerContent}\\n</label>`;\r\n return fixer.replaceText(parent, fixedText);\r\n }\r\n });\r\n }\r\n }\r\n }\r\n }\r\n }\r\n };\r\n }\r\n};\r\n"]}
@@ -1,11 +0,0 @@
1
- import type { Linter } from "eslint";
2
- declare const _default: {
3
- recommended: {
4
- rules: {
5
- '@dnn-elements/no-label-slot-in-checkbox': "error";
6
- };
7
- };
8
- /** Will be populated from main entry file to keep backward compatible. */
9
- flat: Record<string, Linter.FlatConfig>;
10
- };
11
- export default _default;
@@ -1,6 +0,0 @@
1
- declare const _default: {
2
- rules: {
3
- '@dnn-elements/no-label-slot-in-checkbox': "error";
4
- };
5
- };
6
- export default _default;
@@ -1,15 +0,0 @@
1
- import { Linter } from "eslint";
2
- declare const plugin: {
3
- rules: {
4
- "no-label-slot-in-checkbox": import("eslint").Rule.RuleModule;
5
- };
6
- configs: {
7
- recommended: {
8
- rules: {
9
- '@dnn-elements/no-label-slot-in-checkbox': "error";
10
- };
11
- };
12
- flat: Record<string, Linter.FlatConfig>;
13
- };
14
- };
15
- export default plugin;
@@ -1,4 +0,0 @@
1
- declare const _default: {
2
- "no-label-slot-in-checkbox": import("eslint").Rule.RuleModule;
3
- };
4
- export default _default;
@@ -1,2 +0,0 @@
1
- import type { Rule } from 'eslint';
2
- export declare const noLabelSlotInCheckbox: Rule.RuleModule;
@@ -1,11 +0,0 @@
1
- import type { Linter } from "eslint";
2
- declare const _default: {
3
- recommended: {
4
- rules: {
5
- '@dnn-elements/no-label-slot-in-checkbox': "error";
6
- };
7
- };
8
- /** Will be populated from main entry file to keep backward compatible. */
9
- flat: Record<string, Linter.FlatConfig>;
10
- };
11
- export default _default;
@@ -1,12 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const recommended_1 = __importDefault(require("./recommended"));
7
- exports.default = {
8
- recommended: recommended_1.default,
9
- /** Will be populated from main entry file to keep backward compatible. */
10
- flat: {},
11
- };
12
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/eslint-plugin/src/configs/index.ts"],"names":[],"mappings":";;;;;AACA,gEAAwC;AAExC,kBAAe;IACX,WAAW,EAAX,qBAAW;IACX,0EAA0E;IAC1E,IAAI,EAAE,EAAuC;CAChD,CAAC"}
@@ -1,6 +0,0 @@
1
- declare const _default: {
2
- rules: {
3
- '@dnn-elements/no-label-slot-in-checkbox': "error";
4
- };
5
- };
6
- export default _default;
@@ -1,8 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.default = {
4
- rules: {
5
- '@dnn-elements/no-label-slot-in-checkbox': "error",
6
- }
7
- };
8
- //# sourceMappingURL=recommended.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"recommended.js","sourceRoot":"","sources":["../../src/eslint-plugin/src/configs/recommended.ts"],"names":[],"mappings":";;AAEA,kBAAe;IACX,KAAK,EAAE;QACH,yCAAyC,EAAE,OAAO;KACrD;CACwB,CAAC"}
@@ -1,15 +0,0 @@
1
- import { Linter } from "eslint";
2
- declare const plugin: {
3
- rules: {
4
- "no-label-slot-in-checkbox": import("eslint").Rule.RuleModule;
5
- };
6
- configs: {
7
- recommended: {
8
- rules: {
9
- '@dnn-elements/no-label-slot-in-checkbox': "error";
10
- };
11
- };
12
- flat: Record<string, Linter.FlatConfig>;
13
- };
14
- };
15
- export default plugin;
@@ -1,22 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const rules_1 = __importDefault(require("./rules"));
7
- const configs_1 = __importDefault(require("./configs"));
8
- const plugin = {
9
- rules: rules_1.default,
10
- configs: configs_1.default,
11
- };
12
- const flatRecommended = {
13
- plugins: {
14
- "@dnn-elements": plugin,
15
- },
16
- rules: configs_1.default.recommended.rules,
17
- };
18
- configs_1.default.flat = {
19
- recommended: flatRecommended,
20
- };
21
- exports.default = plugin;
22
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/eslint-plugin/src/index.ts"],"names":[],"mappings":";;;;;AACA,oDAA4B;AAC5B,wDAA+B;AAE/B,MAAM,MAAM,GAAG;IACX,KAAK,EAAL,eAAK;IACL,OAAO,EAAP,iBAAO;CACV,CAAC;AAEF,MAAM,eAAe,GAAsB;IACvC,OAAO,EAAE;QACL,eAAe,EAAE,MAAM;KAC1B;IACD,KAAK,EAAE,iBAAO,CAAC,WAAW,CAAC,KAAK;CACnC,CAAC;AAEF,iBAAO,CAAC,IAAI,GAAG;IACX,WAAW,EAAE,eAAe;CAC/B,CAAA;AAED,kBAAe,MAAM,CAAC"}
@@ -1,4 +0,0 @@
1
- declare const _default: {
2
- "no-label-slot-in-checkbox": import("eslint").Rule.RuleModule;
3
- };
4
- export default _default;
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/eslint-plugin/src/rules/index.ts"],"names":[],"mappings":";;AAAA,2EAAoE;AAEpE,kBAAe;IACX,2BAA2B,EAAE,iDAAqB;CACrD,CAAA"}
@@ -1,2 +0,0 @@
1
- import type { Rule } from 'eslint';
2
- export declare const noLabelSlotInCheckbox: Rule.RuleModule;
@@ -1,48 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.noLabelSlotInCheckbox = void 0;
4
- exports.noLabelSlotInCheckbox = {
5
- meta: {
6
- type: "problem",
7
- docs: {
8
- description: "Disallow label slot in checkbox",
9
- recommended: true,
10
- url: "https://github.com/DNNCommunity/dnn-elements/releases/tag/v0.24.0",
11
- },
12
- messages: {
13
- noLabelSlotInCheckbox: "Label slot is not allowed in dnn-checkbox, wrap dnn-checkbox with a label instead."
14
- },
15
- fixable: "code",
16
- },
17
- create(context) {
18
- return {
19
- JSXOpeningElement(node) {
20
- if (node.type === "JSXOpeningElement") {
21
- const jsxNode = node;
22
- if (jsxNode.name.type === "JSXIdentifier" && jsxNode.name.name === "dnn-checkbox") {
23
- const parent = context.getAncestors().find(ancestor => ancestor.type === "JSXElement");
24
- if (parent && parent.type === "JSXElement") {
25
- const parentElement = parent; // Cast to access children
26
- const innerContent = parentElement.children
27
- .map((child) => context.sourceCode.getText(child))
28
- .join("")
29
- .trim();
30
- if (innerContent) {
31
- context.report({
32
- node: node,
33
- messageId: "noLabelSlotInCheckbox",
34
- fix: (fixer) => {
35
- const checkboxText = context.sourceCode.getText(node);
36
- const fixedText = `<label>\n${checkboxText.replace(innerContent, "").trim()}</dnn-checkbox>\n${innerContent}\n</label>`;
37
- return fixer.replaceText(parent, fixedText);
38
- }
39
- });
40
- }
41
- }
42
- }
43
- }
44
- }
45
- };
46
- }
47
- };
48
- //# sourceMappingURL=no-label-slot-in-checkbox.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"no-label-slot-in-checkbox.js","sourceRoot":"","sources":["../../src/eslint-plugin/src/rules/no-label-slot-in-checkbox.ts"],"names":[],"mappings":";;;AAGa,QAAA,qBAAqB,GAAoB;IAClD,IAAI,EAAE;QACF,IAAI,EAAE,SAAS;QACf,IAAI,EAAE;YACF,WAAW,EAAE,iCAAiC;YAC9C,WAAW,EAAE,IAAI;YACjB,GAAG,EAAE,mEAAmE;SAC3E;QACD,QAAQ,EAAE;YACN,qBAAqB,EAAE,oFAAoF;SAC9G;QACD,OAAO,EAAE,MAAM;KAClB;IACD,MAAM,CAAC,OAAyB;QAC5B,OAAO;YACH,iBAAiB,CAAC,IAAe;gBAC7B,IAAI,IAAI,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;oBACpC,MAAM,OAAO,GAAG,IAAyB,CAAC;oBAC1C,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;wBAChF,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC;wBACvF,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;4BACzC,MAAM,aAAa,GAAG,MAAa,CAAC,CAAC,0BAA0B;4BAC/D,MAAM,YAAY,GAAG,aAAa,CAAC,QAAQ;iCACtC,GAAG,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;iCACtD,IAAI,CAAC,EAAE,CAAC;iCACR,IAAI,EAAE,CAAC;4BAEZ,IAAI,YAAY,EAAE,CAAC;gCACf,OAAO,CAAC,MAAM,CAAC;oCACX,IAAI,EAAE,IAAI;oCACV,SAAS,EAAE,uBAAuB;oCAClC,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE;wCACX,MAAM,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;wCACtD,MAAM,SAAS,GAAG,YAAY,YAAY,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,oBAAoB,YAAY,YAAY,CAAC;wCACxH,OAAO,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;oCAChD,CAAC;iCACJ,CAAC,CAAC;4BACP,CAAC;wBACL,CAAC;oBACL,CAAC;gBACL,CAAC;YACL,CAAC;SACJ,CAAC;IACN,CAAC;CACJ,CAAC"}