@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.
- package/eslint-plugin/dist/index.d.ts +13 -0
- package/eslint-plugin/dist/index.js +18 -0
- package/eslint-plugin/dist/index.js.map +1 -0
- package/eslint-plugin/dist/rules/index.d.ts +3 -0
- package/eslint-plugin/{rules → dist/rules}/index.js +3 -2
- package/eslint-plugin/dist/rules/index.js.map +1 -0
- package/eslint-plugin/dist/rules/no-label-slot-in-checkbox.d.ts +1 -0
- package/eslint-plugin/dist/rules/no-label-slot-in-checkbox.js +47 -0
- package/eslint-plugin/dist/rules/no-label-slot-in-checkbox.js.map +1 -0
- package/eslint-plugin/dist/rules/no-label-slot-in-checkbox.tests.js +30 -0
- package/eslint-plugin/dist/rules/no-label-slot-in-checkbox.tests.js.map +1 -0
- package/eslint-plugin/dist/utils.d.ts +7 -0
- package/eslint-plugin/dist/utils.js +7 -0
- package/eslint-plugin/dist/utils.js.map +1 -0
- package/package.json +15 -6
- package/dist/collection/eslint-plugin/__tests__/no-label-slot-in-checkbox.tests.js +0 -26
- package/dist/collection/eslint-plugin/__tests__/no-label-slot-in-checkbox.tests.js.map +0 -1
- package/dist/collection/eslint-plugin/src/configs/index.js +0 -7
- package/dist/collection/eslint-plugin/src/configs/index.js.map +0 -1
- package/dist/collection/eslint-plugin/src/configs/recommended.js +0 -6
- package/dist/collection/eslint-plugin/src/configs/recommended.js.map +0 -1
- package/dist/collection/eslint-plugin/src/index.js +0 -17
- package/dist/collection/eslint-plugin/src/index.js.map +0 -1
- package/dist/collection/eslint-plugin/src/rules/index.js +0 -5
- package/dist/collection/eslint-plugin/src/rules/index.js.map +0 -1
- package/dist/collection/eslint-plugin/src/rules/no-label-slot-in-checkbox.js +0 -45
- package/dist/collection/eslint-plugin/src/rules/no-label-slot-in-checkbox.js.map +0 -1
- package/dist/types/eslint-plugin/src/configs/index.d.ts +0 -11
- package/dist/types/eslint-plugin/src/configs/recommended.d.ts +0 -6
- package/dist/types/eslint-plugin/src/index.d.ts +0 -15
- package/dist/types/eslint-plugin/src/rules/index.d.ts +0 -4
- package/dist/types/eslint-plugin/src/rules/no-label-slot-in-checkbox.d.ts +0 -2
- package/eslint-plugin/configs/index.d.ts +0 -11
- package/eslint-plugin/configs/index.js +0 -12
- package/eslint-plugin/configs/index.js.map +0 -1
- package/eslint-plugin/configs/recommended.d.ts +0 -6
- package/eslint-plugin/configs/recommended.js +0 -8
- package/eslint-plugin/configs/recommended.js.map +0 -1
- package/eslint-plugin/index.d.ts +0 -15
- package/eslint-plugin/index.js +0 -22
- package/eslint-plugin/index.js.map +0 -1
- package/eslint-plugin/rules/index.d.ts +0 -4
- package/eslint-plugin/rules/index.js.map +0 -1
- package/eslint-plugin/rules/no-label-slot-in-checkbox.d.ts +0 -2
- package/eslint-plugin/rules/no-label-slot-in-checkbox.js +0 -48
- package/eslint-plugin/rules/no-label-slot-in-checkbox.js.map +0 -1
- /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"}
|
|
@@ -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.
|
|
5
|
-
"no-label-slot-in-checkbox": no_label_slot_in_checkbox_1.
|
|
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.
|
|
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
|
|
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.
|
|
57
|
-
"@typescript-eslint/parser": "^8.
|
|
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 +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 +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 +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,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,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 +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"}
|
package/eslint-plugin/index.d.ts
DELETED
|
@@ -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;
|
package/eslint-plugin/index.js
DELETED
|
@@ -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 +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,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"}
|
|
File without changes
|