@markuplint/ml-spec 2.0.1 → 3.0.0-alpha.82
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/lib/dom-traverse/accname-computation.d.ts +1 -0
- package/lib/dom-traverse/accname-computation.js +8 -0
- package/lib/dom-traverse/focusability-computation.d.ts +1 -0
- package/lib/dom-traverse/focusability-computation.js +8 -0
- package/lib/dom-traverse/get-aria.d.ts +9 -0
- package/lib/dom-traverse/get-aria.js +54 -0
- package/lib/dom-traverse/get-attr-specs.d.ts +2 -0
- package/lib/dom-traverse/get-attr-specs.js +8 -0
- package/lib/dom-traverse/get-computed-role.d.ts +2 -0
- package/lib/dom-traverse/get-computed-role.js +182 -0
- package/lib/dom-traverse/get-explicit-role.d.ts +2 -0
- package/lib/dom-traverse/get-explicit-role.js +102 -0
- package/lib/dom-traverse/get-implicit-role.d.ts +3 -0
- package/lib/dom-traverse/get-implicit-role.js +37 -0
- package/lib/dom-traverse/get-non-presentational-ancestor.d.ts +5 -0
- package/lib/dom-traverse/get-non-presentational-ancestor.js +21 -0
- package/lib/dom-traverse/get-permitted-roles.d.ts +5 -0
- package/lib/dom-traverse/get-permitted-roles.js +8 -0
- package/lib/dom-traverse/get-spec.d.ts +2 -0
- package/lib/dom-traverse/get-spec.js +8 -0
- package/lib/dom-traverse/has-required-owned-elements.d.ts +3 -0
- package/lib/dom-traverse/has-required-owned-elements.js +69 -0
- package/lib/index.d.ts +16 -6
- package/lib/index.js +17 -7
- package/lib/specs/aria-spec.d.ts +5 -0
- package/lib/specs/aria-spec.js +12 -0
- package/lib/specs/aria-specs.d.ts +6 -0
- package/lib/specs/aria-specs.js +8 -0
- package/lib/specs/content-model-category-to-tag-names.d.ts +3 -0
- package/lib/specs/content-model-category-to-tag-names.js +15 -0
- package/lib/specs/get-aria.d.ts +3 -0
- package/lib/specs/get-aria.js +71 -0
- package/lib/specs/get-attr-specs.d.ts +8 -0
- package/lib/{get-attr-specs.js → specs/get-attr-specs.js} +8 -6
- package/lib/specs/get-implicit-role.d.ts +2 -0
- package/lib/specs/get-implicit-role.js +12 -0
- package/lib/specs/get-permitted-roles.d.ts +12 -0
- package/lib/specs/get-permitted-roles.js +61 -0
- package/lib/specs/get-role-spec.d.ts +5 -0
- package/lib/specs/get-role-spec.js +52 -0
- package/lib/specs/get-selectors-by-content-model-category.d.ts +3 -0
- package/lib/specs/get-selectors-by-content-model-category.js +8 -0
- package/lib/specs/get-spec-by-tag-name.d.ts +2 -0
- package/lib/specs/get-spec-by-tag-name.js +16 -0
- package/lib/{get-spec.d.ts → specs/get-spec.d.ts} +4 -4
- package/lib/{get-spec.js → specs/get-spec.js} +1 -1
- package/lib/specs/html-spec.d.ts +6 -0
- package/lib/specs/html-spec.js +16 -0
- package/lib/specs/is-presentational.d.ts +1 -0
- package/lib/specs/is-presentational.js +10 -0
- package/lib/specs/resolve-namespace.d.ts +9 -0
- package/lib/specs/resolve-namespace.js +26 -0
- package/lib/specs/resolve-version.d.ts +3 -0
- package/lib/specs/resolve-version.js +21 -0
- package/lib/specs/schema-to-spec.d.ts +13 -0
- package/lib/specs/schema-to-spec.js +93 -0
- package/lib/types/aria.d.ts +130 -0
- package/lib/{attributes.js → types/aria.js} +0 -0
- package/lib/{attributes.d.ts → types/attributes.d.ts} +5 -12
- package/lib/{permitted-structres.js → types/attributes.js} +0 -0
- package/lib/{types.d.ts → types/index.d.ts} +50 -65
- package/lib/{types.js → types/index.js} +0 -0
- package/lib/{permitted-structres.d.ts → types/permitted-structres.d.ts} +14 -23
- package/lib/types/permitted-structres.js +8 -0
- package/lib/utils/get-ns.d.ts +1 -0
- package/lib/{get-ns.js → utils/get-ns.js} +0 -0
- package/lib/utils/merge-array.d.ts +5 -0
- package/lib/utils/merge-array.js +36 -0
- package/lib/utils/resolve-namespace.d.ts +9 -0
- package/lib/utils/resolve-namespace.js +26 -0
- package/lib/utils.d.ts +6 -3
- package/lib/utils.js +15 -1
- package/package.json +10 -6
- package/schemas/aria.schema.json +258 -0
- package/schemas/attributes.schema.json +5 -23
- package/schemas/{permitted-structures.schema.json → content-models.schema.json} +52 -81
- package/schemas/element.schema.json +11 -0
- package/schemas/global-attributes.schema.json +6 -2
- package/src/dom-traverse/accname-computation.spec.ts +69 -0
- package/src/dom-traverse/accname-computation.ts +5 -0
- package/src/dom-traverse/get-attr-specs.ts +8 -0
- package/src/dom-traverse/get-computed-role.spec.ts +134 -0
- package/src/dom-traverse/get-computed-role.ts +193 -0
- package/src/dom-traverse/get-explicit-role.ts +112 -0
- package/src/dom-traverse/get-implicit-role.ts +36 -0
- package/src/dom-traverse/get-non-presentational-ancestor.ts +20 -0
- package/src/dom-traverse/get-permitted-roles.ts +7 -0
- package/src/dom-traverse/get-spec.ts +7 -0
- package/src/dom-traverse/has-required-owned-elements.spec.ts +36 -0
- package/src/dom-traverse/has-required-owned-elements.ts +72 -0
- package/src/index.ts +16 -6
- package/src/specs/aria-specs.ts +6 -0
- package/src/specs/content-model-category-to-tag-names.ts +15 -0
- package/src/specs/get-aria.ts +85 -0
- package/src/{get-attr-specs.spec.ts → specs/get-attr-specs.spec.ts} +9 -6
- package/src/{get-attr-specs.ts → specs/get-attr-specs.ts} +12 -7
- package/src/specs/get-implicit-role.spec.ts +81 -0
- package/src/specs/get-implicit-role.ts +17 -0
- package/src/specs/get-permitted-roles.spec.ts +420 -0
- package/src/specs/get-permitted-roles.ts +87 -0
- package/src/specs/get-role-spec.spec.ts +67 -0
- package/src/specs/get-role-spec.ts +72 -0
- package/src/specs/get-selectors-by-content-model-category.ts +10 -0
- package/src/specs/get-spec-by-tag-name.spec.ts +68 -0
- package/src/specs/get-spec-by-tag-name.ts +16 -0
- package/src/specs/is-presentational.ts +6 -0
- package/src/specs/resolve-version.ts +20 -0
- package/src/{get-spec.spec.ts → specs/schema-to-spec.spec.ts} +2 -2
- package/src/{get-spec.ts → specs/schema-to-spec.ts} +22 -8
- package/src/types/aria.ts +147 -0
- package/src/{attributes.ts → types/attributes.ts} +5 -12
- package/src/{types.ts → types/index.ts} +70 -69
- package/src/{permitted-structres.ts → types/permitted-structres.ts} +15 -25
- package/src/{get-ns.ts → utils/get-ns.ts} +1 -1
- package/src/{utils.ts → utils/merge-array.ts} +0 -0
- package/src/utils/resolve-namespace.ts +36 -0
- package/tsconfig.tsbuildinfo +1 -1
- package/lib/get-attr-specs.d.ts +0 -7
- package/lib/get-ns.d.ts +0 -1
- package/lib/get-spec-by-tag-name.d.ts +0 -2
- package/lib/get-spec-by-tag-name.js +0 -31
- package/schemas/wai-aria.schema.json +0 -87
- package/src/get-spec-by-tag-name.ts +0 -32
package/lib/get-attr-specs.d.ts
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import type { MLMLSpec, Attribute } from './types';
|
|
2
|
-
export declare function getAttrSpecs(nameWithNS: string, schema: MLMLSpec): Attribute[] | null;
|
|
3
|
-
declare type HasName = {
|
|
4
|
-
name: string;
|
|
5
|
-
};
|
|
6
|
-
export declare function nameCompare(a: HasName | string, b: HasName | string): 1 | -1 | 0;
|
|
7
|
-
export {};
|
package/lib/get-ns.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function getNS(namespaceURI: string): "svg" | "mml" | "html";
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getSpecByTagName = void 0;
|
|
4
|
-
const get_attr_specs_1 = require("./get-attr-specs");
|
|
5
|
-
const cacheMap = new WeakMap();
|
|
6
|
-
function getSpecOM(spec) {
|
|
7
|
-
const cache = cacheMap.get(spec);
|
|
8
|
-
if (cache) {
|
|
9
|
-
return cache;
|
|
10
|
-
}
|
|
11
|
-
const som = {};
|
|
12
|
-
for (const el of spec.specs) {
|
|
13
|
-
const attributes = (0, get_attr_specs_1.getAttrSpecs)(el.name, spec);
|
|
14
|
-
som[el.name] = {
|
|
15
|
-
experimental: !!el.experimental,
|
|
16
|
-
obsolete: typeof el.obsolete === 'boolean' ? !!el.obsolete : el.obsolete ? el.obsolete.alt : false,
|
|
17
|
-
deprecated: !!el.deprecated,
|
|
18
|
-
nonStandard: !!el.nonStandard,
|
|
19
|
-
categories: el.categories,
|
|
20
|
-
permittedStructures: el.permittedStructures,
|
|
21
|
-
attributes: Object.values(attributes || {}),
|
|
22
|
-
};
|
|
23
|
-
}
|
|
24
|
-
cacheMap.set(spec, som);
|
|
25
|
-
return som;
|
|
26
|
-
}
|
|
27
|
-
function getSpecByTagName(nameWithNS, specs) {
|
|
28
|
-
const specOM = getSpecOM(specs);
|
|
29
|
-
return specOM[nameWithNS] || null;
|
|
30
|
-
}
|
|
31
|
-
exports.getSpecByTagName = getSpecByTagName;
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"definitions": {
|
|
3
|
-
"permittedRoles": {
|
|
4
|
-
"description": "If `true`, this mean is \"Any\". If `false`, this mean is \"No\".",
|
|
5
|
-
"oneOf": [
|
|
6
|
-
{
|
|
7
|
-
"type": "boolean"
|
|
8
|
-
},
|
|
9
|
-
{
|
|
10
|
-
"type": "array",
|
|
11
|
-
"items": {
|
|
12
|
-
"type": "string"
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
]
|
|
16
|
-
},
|
|
17
|
-
"implicitRole": {
|
|
18
|
-
"description": "If `false`, this mean is \"No corresponding role\".",
|
|
19
|
-
"oneOf": [
|
|
20
|
-
{
|
|
21
|
-
"type": "boolean",
|
|
22
|
-
"enum": [false]
|
|
23
|
-
},
|
|
24
|
-
{
|
|
25
|
-
"type": "string"
|
|
26
|
-
}
|
|
27
|
-
]
|
|
28
|
-
}
|
|
29
|
-
},
|
|
30
|
-
"type": "object",
|
|
31
|
-
"required": ["permittedRoles", "implicitRole"],
|
|
32
|
-
"additionalProperties": false,
|
|
33
|
-
"properties": {
|
|
34
|
-
"permittedRoles": {
|
|
35
|
-
"type": "object",
|
|
36
|
-
"required": ["roles"],
|
|
37
|
-
"additionalProperties": false,
|
|
38
|
-
"properties": {
|
|
39
|
-
"roles": {
|
|
40
|
-
"$ref": "#/definitions/permittedRoles"
|
|
41
|
-
},
|
|
42
|
-
"conditions": {
|
|
43
|
-
"type": "array",
|
|
44
|
-
"items": {
|
|
45
|
-
"type": "object",
|
|
46
|
-
"required": ["condition", "roles"],
|
|
47
|
-
"additionalProperties": false,
|
|
48
|
-
"properties": {
|
|
49
|
-
"condition": {
|
|
50
|
-
"type": "string"
|
|
51
|
-
},
|
|
52
|
-
"roles": {
|
|
53
|
-
"$ref": "#/definitions/permittedRoles"
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
},
|
|
60
|
-
"implicitRole": {
|
|
61
|
-
"type": "object",
|
|
62
|
-
"required": ["role"],
|
|
63
|
-
"additionalProperties": false,
|
|
64
|
-
"properties": {
|
|
65
|
-
"role": {
|
|
66
|
-
"$ref": "#/definitions/implicitRole"
|
|
67
|
-
},
|
|
68
|
-
"conditions": {
|
|
69
|
-
"type": "array",
|
|
70
|
-
"items": {
|
|
71
|
-
"type": "object",
|
|
72
|
-
"required": ["condition", "role"],
|
|
73
|
-
"additionalProperties": false,
|
|
74
|
-
"properties": {
|
|
75
|
-
"condition": {
|
|
76
|
-
"type": "string"
|
|
77
|
-
},
|
|
78
|
-
"role": {
|
|
79
|
-
"$ref": "#/definitions/implicitRole"
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import type { MLDOMElementSpec, MLMLSpec, SpecOM } from './types';
|
|
2
|
-
|
|
3
|
-
import { getAttrSpecs } from './get-attr-specs';
|
|
4
|
-
|
|
5
|
-
const cacheMap = new WeakMap<MLMLSpec, SpecOM>();
|
|
6
|
-
|
|
7
|
-
function getSpecOM(spec: MLMLSpec): SpecOM {
|
|
8
|
-
const cache = cacheMap.get(spec);
|
|
9
|
-
if (cache) {
|
|
10
|
-
return cache;
|
|
11
|
-
}
|
|
12
|
-
const som: SpecOM = {};
|
|
13
|
-
for (const el of spec.specs) {
|
|
14
|
-
const attributes = getAttrSpecs(el.name, spec);
|
|
15
|
-
som[el.name] = {
|
|
16
|
-
experimental: !!el.experimental,
|
|
17
|
-
obsolete: typeof el.obsolete === 'boolean' ? !!el.obsolete : el.obsolete ? el.obsolete.alt : false,
|
|
18
|
-
deprecated: !!el.deprecated,
|
|
19
|
-
nonStandard: !!el.nonStandard,
|
|
20
|
-
categories: el.categories,
|
|
21
|
-
permittedStructures: el.permittedStructures,
|
|
22
|
-
attributes: Object.values(attributes || {}),
|
|
23
|
-
};
|
|
24
|
-
}
|
|
25
|
-
cacheMap.set(spec, som);
|
|
26
|
-
return som;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
export function getSpecByTagName(nameWithNS: string, specs: MLMLSpec): MLDOMElementSpec | null {
|
|
30
|
-
const specOM = getSpecOM(specs);
|
|
31
|
-
return specOM[nameWithNS] || null;
|
|
32
|
-
}
|