praxis-kit 6.6.0 → 6.6.1
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/dist/{chunk-OCG5VM4H.js → chunk-6JILZ6GQ.js} +220 -137
- package/dist/contract/index.d.ts +1 -1
- package/dist/html/index.d.ts +2 -2
- package/dist/html/index.js +31 -13
- package/dist/lit/index.js +220 -137
- package/dist/preact/index.js +220 -137
- package/dist/react/index.js +1 -1
- package/dist/react/legacy.js +1 -1
- package/dist/solid/index.js +220 -137
- package/dist/svelte/index.js +220 -137
- package/dist/vue/index.js +220 -137
- package/dist/web/index.js +220 -137
- package/package.json +2 -2
package/dist/vue/index.js
CHANGED
|
@@ -2255,6 +2255,93 @@ var readonlyProps = ({
|
|
|
2255
2255
|
// ../core/src/html/evaluators.ts
|
|
2256
2256
|
import { warnDiagnostics as warnDiagnostics2 } from "../_shared/diagnostics.js";
|
|
2257
2257
|
|
|
2258
|
+
// ../core/src/html/contracts/categories.ts
|
|
2259
|
+
var METADATA_TAGS = ["script", "template"];
|
|
2260
|
+
var VOID_TAGS = [
|
|
2261
|
+
"area",
|
|
2262
|
+
"base",
|
|
2263
|
+
"br",
|
|
2264
|
+
"col",
|
|
2265
|
+
"embed",
|
|
2266
|
+
"hr",
|
|
2267
|
+
"img",
|
|
2268
|
+
"input",
|
|
2269
|
+
"link",
|
|
2270
|
+
"meta",
|
|
2271
|
+
"param",
|
|
2272
|
+
"source",
|
|
2273
|
+
"track",
|
|
2274
|
+
"wbr"
|
|
2275
|
+
];
|
|
2276
|
+
var TEXT_ONLY_TAGS = [
|
|
2277
|
+
"option",
|
|
2278
|
+
"script",
|
|
2279
|
+
"style",
|
|
2280
|
+
"textarea",
|
|
2281
|
+
"title"
|
|
2282
|
+
];
|
|
2283
|
+
var LANDMARK_TAGS = [
|
|
2284
|
+
"article",
|
|
2285
|
+
"aside",
|
|
2286
|
+
"footer",
|
|
2287
|
+
"header",
|
|
2288
|
+
"main",
|
|
2289
|
+
"nav"
|
|
2290
|
+
];
|
|
2291
|
+
var INTERACTIVE_CONTENT_TAGS = [
|
|
2292
|
+
"a",
|
|
2293
|
+
"button",
|
|
2294
|
+
"input",
|
|
2295
|
+
"select",
|
|
2296
|
+
"textarea",
|
|
2297
|
+
"label"
|
|
2298
|
+
];
|
|
2299
|
+
var LABELABLE_TAGS = [
|
|
2300
|
+
"button",
|
|
2301
|
+
"input",
|
|
2302
|
+
"meter",
|
|
2303
|
+
"output",
|
|
2304
|
+
"progress",
|
|
2305
|
+
"select",
|
|
2306
|
+
"textarea"
|
|
2307
|
+
];
|
|
2308
|
+
var OTHER_INTERACTIVE_TAGS = [
|
|
2309
|
+
"a",
|
|
2310
|
+
"details",
|
|
2311
|
+
"embed",
|
|
2312
|
+
"iframe"
|
|
2313
|
+
];
|
|
2314
|
+
var P_BLOCKED_TAGS = [
|
|
2315
|
+
"address",
|
|
2316
|
+
"article",
|
|
2317
|
+
"aside",
|
|
2318
|
+
"blockquote",
|
|
2319
|
+
"details",
|
|
2320
|
+
"dialog",
|
|
2321
|
+
"div",
|
|
2322
|
+
"dl",
|
|
2323
|
+
"fieldset",
|
|
2324
|
+
"figure",
|
|
2325
|
+
"footer",
|
|
2326
|
+
"form",
|
|
2327
|
+
"h1",
|
|
2328
|
+
"h2",
|
|
2329
|
+
"h3",
|
|
2330
|
+
"h4",
|
|
2331
|
+
"h5",
|
|
2332
|
+
"h6",
|
|
2333
|
+
"header",
|
|
2334
|
+
"hr",
|
|
2335
|
+
"main",
|
|
2336
|
+
"nav",
|
|
2337
|
+
"ol",
|
|
2338
|
+
"p",
|
|
2339
|
+
"pre",
|
|
2340
|
+
"section",
|
|
2341
|
+
"table",
|
|
2342
|
+
"ul"
|
|
2343
|
+
];
|
|
2344
|
+
|
|
2258
2345
|
// ../core/src/html/spec/vocabulary/input.ts
|
|
2259
2346
|
var TEXT_INPUT_TYPES = ["text", "search", "url", "tel", "email", "password"];
|
|
2260
2347
|
var NUMERIC_INPUT_TYPES = [
|
|
@@ -2634,7 +2721,11 @@ var ALLOWED_ROLES = {
|
|
|
2634
2721
|
"treeitem"
|
|
2635
2722
|
],
|
|
2636
2723
|
dialog: ["alertdialog"],
|
|
2637
|
-
fieldset: ["none", "presentation", "radiogroup"]
|
|
2724
|
+
fieldset: ["none", "presentation", "radiogroup"],
|
|
2725
|
+
// `<label>` has no implicit role and no documented alternates — its native labeling
|
|
2726
|
+
// semantics (control association, accessible-name contribution) aren't reproducible via
|
|
2727
|
+
// ARIA, so any explicit `role` should be avoided rather than substituted.
|
|
2728
|
+
label: []
|
|
2638
2729
|
};
|
|
2639
2730
|
var ELEMENT_SPECS = {
|
|
2640
2731
|
input: inputElementSpec,
|
|
@@ -2675,7 +2766,10 @@ var roleNotPermittedRule = Object.assign(
|
|
|
2675
2766
|
);
|
|
2676
2767
|
|
|
2677
2768
|
// ../core/src/html/aria-rules.ts
|
|
2678
|
-
|
|
2769
|
+
function defineAriaRule(tags, rule) {
|
|
2770
|
+
return Object.assign(rule, { tags });
|
|
2771
|
+
}
|
|
2772
|
+
var LANDMARK_TAG_SET = new Set(LANDMARK_TAGS);
|
|
2679
2773
|
var removeLandmarkRoleOverride = {
|
|
2680
2774
|
kind: "removeRole",
|
|
2681
2775
|
apply: ({ props }) => {
|
|
@@ -2684,10 +2778,11 @@ var removeLandmarkRoleOverride = {
|
|
|
2684
2778
|
return { applied: true, next: rest, previous: props };
|
|
2685
2779
|
}
|
|
2686
2780
|
};
|
|
2687
|
-
var landmarkRoleRule =
|
|
2781
|
+
var landmarkRoleRule = defineAriaRule(
|
|
2782
|
+
LANDMARK_TAGS,
|
|
2688
2783
|
({ tag, props, implicitRole }) => {
|
|
2689
2784
|
if (!LANDMARK_TAG_SET.has(tag) || !implicitRole) return [];
|
|
2690
|
-
const role = props
|
|
2785
|
+
const { role } = props;
|
|
2691
2786
|
if (!role || role === implicitRole) return [];
|
|
2692
2787
|
const diagnostic = HtmlDiagnostics.landmarkRoleOverride(tag, implicitRole, role);
|
|
2693
2788
|
return [
|
|
@@ -2699,8 +2794,7 @@ var landmarkRoleRule = Object.assign(
|
|
|
2699
2794
|
diagnostic
|
|
2700
2795
|
}
|
|
2701
2796
|
];
|
|
2702
|
-
}
|
|
2703
|
-
{ tags: [...LANDMARK_TAG_SET] }
|
|
2797
|
+
}
|
|
2704
2798
|
);
|
|
2705
2799
|
function requireAccessibleName({ tag, props }) {
|
|
2706
2800
|
if ("aria-label" in props || "aria-labelledby" in props) return [];
|
|
@@ -2713,38 +2807,44 @@ function requireAccessibleName({ tag, props }) {
|
|
|
2713
2807
|
}
|
|
2714
2808
|
];
|
|
2715
2809
|
}
|
|
2716
|
-
var NAMED_LANDMARK_TAGS =
|
|
2717
|
-
var
|
|
2810
|
+
var NAMED_LANDMARK_TAGS = ["nav", "aside"];
|
|
2811
|
+
var NAMED_LANDMARK_TAG_SET = new Set(NAMED_LANDMARK_TAGS);
|
|
2812
|
+
var landmarkAccessibleNameRule = defineAriaRule(
|
|
2813
|
+
NAMED_LANDMARK_TAGS,
|
|
2718
2814
|
(ctx) => {
|
|
2719
|
-
if (!ctx.implicitRole || !
|
|
2815
|
+
if (!ctx.implicitRole || !NAMED_LANDMARK_TAG_SET.has(ctx.tag)) return [];
|
|
2720
2816
|
return requireAccessibleName(ctx);
|
|
2721
|
-
}
|
|
2722
|
-
{ tags: [...NAMED_LANDMARK_TAGS] }
|
|
2817
|
+
}
|
|
2723
2818
|
);
|
|
2724
2819
|
var HTML_ARIA_RULES = [
|
|
2725
2820
|
landmarkRoleRule,
|
|
2726
|
-
|
|
2821
|
+
landmarkAccessibleNameRule,
|
|
2727
2822
|
roleNotPermittedRule,
|
|
2728
2823
|
...INPUT_RULES
|
|
2729
2824
|
];
|
|
2730
2825
|
|
|
2731
|
-
// ../core/src/html/contracts.ts
|
|
2826
|
+
// ../core/src/html/contracts/helpers.ts
|
|
2732
2827
|
import { warnDiagnostics } from "../_shared/diagnostics.js";
|
|
2828
|
+
function isVNodeLike(child) {
|
|
2829
|
+
return isObject(child) && "type" in child;
|
|
2830
|
+
}
|
|
2733
2831
|
function isOpenContent(...blockedTags) {
|
|
2734
2832
|
const set2 = new Set(blockedTags);
|
|
2735
2833
|
return (child) => {
|
|
2736
|
-
if (!
|
|
2834
|
+
if (!isVNodeLike(child)) return false;
|
|
2737
2835
|
const tag = getTag(child);
|
|
2738
2836
|
return tag === void 0 || !set2.has(tag);
|
|
2739
2837
|
};
|
|
2740
2838
|
}
|
|
2741
|
-
var METADATA_TAGS = ["script", "template"];
|
|
2742
2839
|
var metadataMatch = isTag(...METADATA_TAGS);
|
|
2743
2840
|
function metadata(name = "metadata") {
|
|
2744
2841
|
return { name, match: metadataMatch };
|
|
2745
2842
|
}
|
|
2843
|
+
function optional(name, tag) {
|
|
2844
|
+
return { name, match: isTag(tag), cardinality: { max: 1 } };
|
|
2845
|
+
}
|
|
2746
2846
|
function firstOptional(name, tag) {
|
|
2747
|
-
return { name,
|
|
2847
|
+
return { ...optional(name, tag), position: "first" };
|
|
2748
2848
|
}
|
|
2749
2849
|
function contract(children, options) {
|
|
2750
2850
|
return { diagnostics: warnDiagnostics, children, ...options };
|
|
@@ -2758,50 +2858,41 @@ function ariaContract(aria) {
|
|
|
2758
2858
|
function firstChildContract(name, tag) {
|
|
2759
2859
|
return contract([firstOptional(name, tag), { name: "content", match: isOpenContent(tag) }]);
|
|
2760
2860
|
}
|
|
2761
|
-
|
|
2762
|
-
|
|
2763
|
-
|
|
2764
|
-
|
|
2765
|
-
|
|
2766
|
-
|
|
2767
|
-
|
|
2768
|
-
|
|
2769
|
-
|
|
2770
|
-
|
|
2771
|
-
|
|
2772
|
-
|
|
2773
|
-
|
|
2774
|
-
|
|
2775
|
-
|
|
2776
|
-
];
|
|
2777
|
-
var
|
|
2778
|
-
var
|
|
2779
|
-
var
|
|
2780
|
-
|
|
2781
|
-
|
|
2782
|
-
var
|
|
2783
|
-
|
|
2784
|
-
|
|
2785
|
-
|
|
2786
|
-
|
|
2787
|
-
{ name: "tfoot", match: isTag("tfoot"), cardinality: { max: 1 } },
|
|
2788
|
-
{ name: "table-row", match: isTag("tr", ...METADATA_TAGS) }
|
|
2789
|
-
]);
|
|
2790
|
-
var tableBodyContract = closedContract([
|
|
2791
|
-
{ name: "table-row", match: isTag("tr", ...METADATA_TAGS) }
|
|
2792
|
-
]);
|
|
2793
|
-
var tableRowContract = closedContract([
|
|
2794
|
-
{ name: "table-cell", match: isTag("td", "th", ...METADATA_TAGS) }
|
|
2795
|
-
]);
|
|
2796
|
-
var colgroupContract = closedContract([
|
|
2797
|
-
{ name: "column", match: isTag("col", "template") }
|
|
2861
|
+
function getChildProp(child, key) {
|
|
2862
|
+
if (!isVNodeLike(child)) return void 0;
|
|
2863
|
+
const { props } = child;
|
|
2864
|
+
if (!isObject(props)) return void 0;
|
|
2865
|
+
return props[key];
|
|
2866
|
+
}
|
|
2867
|
+
|
|
2868
|
+
// ../core/src/html/contracts/aria/landmarks.ts
|
|
2869
|
+
var landmarkContract = ariaContract([landmarkRoleRule, landmarkAccessibleNameRule]);
|
|
2870
|
+
|
|
2871
|
+
// ../core/src/html/contracts/aria/widgets.ts
|
|
2872
|
+
var dialogContract = ariaContract([requireAccessibleName]);
|
|
2873
|
+
var menuContract = ariaContract([requireAccessibleName]);
|
|
2874
|
+
var menubarContract = ariaContract([requireAccessibleName]);
|
|
2875
|
+
var treeContract = ariaContract([requireAccessibleName]);
|
|
2876
|
+
var gridContract = ariaContract([requireAccessibleName]);
|
|
2877
|
+
var listboxContract = ariaContract([requireAccessibleName]);
|
|
2878
|
+
var tablistContract = ariaContract([requireAccessibleName]);
|
|
2879
|
+
var radiogroupContract = ariaContract([requireAccessibleName]);
|
|
2880
|
+
|
|
2881
|
+
// ../core/src/html/contracts/html/document.ts
|
|
2882
|
+
var headContract = closedContract([
|
|
2883
|
+
{
|
|
2884
|
+
name: "metadata",
|
|
2885
|
+
match: isTag("base", "link", "meta", "noscript", "script", "style", "template", "title")
|
|
2886
|
+
}
|
|
2798
2887
|
]);
|
|
2799
|
-
var
|
|
2800
|
-
{ name: "
|
|
2801
|
-
{ name: "
|
|
2802
|
-
{ name: "group", match: isTag("div") },
|
|
2803
|
-
metadata()
|
|
2888
|
+
var htmlContract = closedContract([
|
|
2889
|
+
{ name: "head", match: isTag("head"), cardinality: { min: 1, max: 1 }, position: "first" },
|
|
2890
|
+
{ name: "body", match: isTag("body"), cardinality: { min: 1, max: 1 } }
|
|
2804
2891
|
]);
|
|
2892
|
+
var voidContract = contract([], { exclusiveChildren: true, allowText: false });
|
|
2893
|
+
var textOnlyContract = contract([], { exclusiveChildren: true });
|
|
2894
|
+
|
|
2895
|
+
// ../core/src/html/contracts/html/forms.ts
|
|
2805
2896
|
var selectContract = closedContract([
|
|
2806
2897
|
{ name: "option", match: isTag("option", "optgroup", "hr", ...METADATA_TAGS) }
|
|
2807
2898
|
]);
|
|
@@ -2811,6 +2902,45 @@ var optgroupContract = closedContract([
|
|
|
2811
2902
|
var datalistContract = closedContract([
|
|
2812
2903
|
{ name: "option", match: isTag("option", ...METADATA_TAGS) }
|
|
2813
2904
|
]);
|
|
2905
|
+
var buttonContract = closedContract([
|
|
2906
|
+
{ name: "content", match: isOpenContent(...INTERACTIVE_CONTENT_TAGS) }
|
|
2907
|
+
]);
|
|
2908
|
+
var anchorContract = closedContract([
|
|
2909
|
+
{ name: "content", match: isOpenContent(...INTERACTIVE_CONTENT_TAGS) }
|
|
2910
|
+
]);
|
|
2911
|
+
var labelableTagMatch = isTag(...LABELABLE_TAGS);
|
|
2912
|
+
function isLabelableControl(child) {
|
|
2913
|
+
if (!labelableTagMatch(child)) return false;
|
|
2914
|
+
if (getTag(child) !== "input") return true;
|
|
2915
|
+
const type = getChildProp(child, "type");
|
|
2916
|
+
return !isString(type) || type !== "hidden";
|
|
2917
|
+
}
|
|
2918
|
+
var labelContract = contract([
|
|
2919
|
+
{ name: "control", match: isLabelableControl, cardinality: { max: 1 } },
|
|
2920
|
+
{ name: "nested-label", match: isTag("label"), cardinality: { max: 0 } },
|
|
2921
|
+
{
|
|
2922
|
+
name: "other-interactive-content",
|
|
2923
|
+
match: isTag(...OTHER_INTERACTIVE_TAGS),
|
|
2924
|
+
cardinality: { max: 0 }
|
|
2925
|
+
}
|
|
2926
|
+
]);
|
|
2927
|
+
|
|
2928
|
+
// ../core/src/html/contracts/html/grouping.ts
|
|
2929
|
+
var detailsContract = firstChildContract("summary", "summary");
|
|
2930
|
+
var fieldsetContract = firstChildContract("legend", "legend");
|
|
2931
|
+
|
|
2932
|
+
// ../core/src/html/contracts/html/lists.ts
|
|
2933
|
+
var listContract = closedContract([
|
|
2934
|
+
{ name: "list-item", match: isTag("li", ...METADATA_TAGS) }
|
|
2935
|
+
]);
|
|
2936
|
+
var dlContract = closedContract([
|
|
2937
|
+
{ name: "term", match: isTag("dt") },
|
|
2938
|
+
{ name: "description", match: isTag("dd") },
|
|
2939
|
+
{ name: "group", match: isTag("div") },
|
|
2940
|
+
metadata()
|
|
2941
|
+
]);
|
|
2942
|
+
|
|
2943
|
+
// ../core/src/html/contracts/html/media.ts
|
|
2814
2944
|
var pictureContract = closedContract([
|
|
2815
2945
|
{ name: "source", match: isTag("source", ...METADATA_TAGS) },
|
|
2816
2946
|
{ name: "image", match: isTag("img"), cardinality: { min: 1, max: 1 }, position: "last" }
|
|
@@ -2819,91 +2949,49 @@ var figureContract = contract([
|
|
|
2819
2949
|
{ name: "caption", match: isTag("figcaption"), cardinality: { max: 1 } },
|
|
2820
2950
|
{ name: "content", match: isOpenContent("figcaption") }
|
|
2821
2951
|
]);
|
|
2822
|
-
var detailsContract = firstChildContract("summary", "summary");
|
|
2823
|
-
var fieldsetContract = firstChildContract("legend", "legend");
|
|
2824
2952
|
var objectContract = contract([
|
|
2825
2953
|
{ name: "param", match: isTag("param") },
|
|
2826
2954
|
{ name: "content", match: isOpenContent("param") }
|
|
2827
2955
|
]);
|
|
2828
|
-
var INTERACTIVE_CONTENT_TAGS = ["a", "button", "input", "select", "textarea", "label"];
|
|
2829
|
-
var buttonContract = closedContract([
|
|
2830
|
-
{ name: "content", match: isOpenContent(...INTERACTIVE_CONTENT_TAGS) }
|
|
2831
|
-
]);
|
|
2832
|
-
var anchorContract = closedContract([
|
|
2833
|
-
{ name: "content", match: isOpenContent(...INTERACTIVE_CONTENT_TAGS) }
|
|
2834
|
-
]);
|
|
2835
|
-
var LABELABLE_TAGS = [
|
|
2836
|
-
"button",
|
|
2837
|
-
"input",
|
|
2838
|
-
"meter",
|
|
2839
|
-
"output",
|
|
2840
|
-
"progress",
|
|
2841
|
-
"select",
|
|
2842
|
-
"textarea"
|
|
2843
|
-
];
|
|
2844
|
-
var labelContract = contract([
|
|
2845
|
-
{ name: "control", match: isTag(...LABELABLE_TAGS), cardinality: { max: 1 } }
|
|
2846
|
-
]);
|
|
2847
|
-
var P_BLOCKED_TAGS = [
|
|
2848
|
-
"address",
|
|
2849
|
-
"article",
|
|
2850
|
-
"aside",
|
|
2851
|
-
"blockquote",
|
|
2852
|
-
"details",
|
|
2853
|
-
"dialog",
|
|
2854
|
-
"div",
|
|
2855
|
-
"dl",
|
|
2856
|
-
"fieldset",
|
|
2857
|
-
"figure",
|
|
2858
|
-
"footer",
|
|
2859
|
-
"form",
|
|
2860
|
-
"h1",
|
|
2861
|
-
"h2",
|
|
2862
|
-
"h3",
|
|
2863
|
-
"h4",
|
|
2864
|
-
"h5",
|
|
2865
|
-
"h6",
|
|
2866
|
-
"header",
|
|
2867
|
-
"hr",
|
|
2868
|
-
"main",
|
|
2869
|
-
"nav",
|
|
2870
|
-
"ol",
|
|
2871
|
-
"p",
|
|
2872
|
-
"pre",
|
|
2873
|
-
"section",
|
|
2874
|
-
"table",
|
|
2875
|
-
"ul"
|
|
2876
|
-
];
|
|
2877
|
-
var pContract = closedContract([
|
|
2878
|
-
{ name: "content", match: isOpenContent(...P_BLOCKED_TAGS) }
|
|
2879
|
-
]);
|
|
2880
2956
|
var mediaContract = contract([
|
|
2881
2957
|
{ name: "source", match: isTag("source") },
|
|
2882
2958
|
{ name: "track", match: isTag("track") },
|
|
2883
2959
|
metadata(),
|
|
2884
2960
|
{ name: "content", match: isOpenContent("source", "track", ...METADATA_TAGS) }
|
|
2885
2961
|
]);
|
|
2886
|
-
|
|
2887
|
-
|
|
2888
|
-
|
|
2889
|
-
|
|
2890
|
-
}
|
|
2962
|
+
|
|
2963
|
+
// ../core/src/html/contracts/html/tables.ts
|
|
2964
|
+
var tableContract = closedContract([
|
|
2965
|
+
firstOptional("caption", "caption"),
|
|
2966
|
+
{ name: "colgroup", match: isTag("colgroup") },
|
|
2967
|
+
{ name: "thead", match: isTag("thead"), cardinality: { max: 1 } },
|
|
2968
|
+
{ name: "tbody", match: isTag("tbody") },
|
|
2969
|
+
{ name: "tfoot", match: isTag("tfoot"), cardinality: { max: 1 } },
|
|
2970
|
+
{ name: "table-row", match: isTag("tr", ...METADATA_TAGS) }
|
|
2891
2971
|
]);
|
|
2892
|
-
var
|
|
2893
|
-
{ name: "
|
|
2894
|
-
{ name: "body", match: isTag("body"), cardinality: { min: 1, max: 1 } }
|
|
2972
|
+
var tableBodyContract = closedContract([
|
|
2973
|
+
{ name: "table-row", match: isTag("tr", ...METADATA_TAGS) }
|
|
2895
2974
|
]);
|
|
2896
|
-
var
|
|
2897
|
-
|
|
2898
|
-
|
|
2899
|
-
var
|
|
2900
|
-
|
|
2901
|
-
|
|
2902
|
-
|
|
2903
|
-
|
|
2904
|
-
var
|
|
2905
|
-
|
|
2906
|
-
|
|
2975
|
+
var tableRowContract = closedContract([
|
|
2976
|
+
{ name: "table-cell", match: isTag("td", "th", ...METADATA_TAGS) }
|
|
2977
|
+
]);
|
|
2978
|
+
var colgroupContract = closedContract([
|
|
2979
|
+
{ name: "column", match: isTag("col", "template") }
|
|
2980
|
+
]);
|
|
2981
|
+
|
|
2982
|
+
// ../core/src/html/contracts/html/text.ts
|
|
2983
|
+
var pContract = closedContract([
|
|
2984
|
+
{ name: "content", match: isOpenContent(...P_BLOCKED_TAGS) }
|
|
2985
|
+
]);
|
|
2986
|
+
|
|
2987
|
+
// ../core/src/html/contracts/build-map.ts
|
|
2988
|
+
function buildMap(groups) {
|
|
2989
|
+
return Object.fromEntries(
|
|
2990
|
+
groups.flatMap(([keys2, value]) => keys2.map((key) => [key, value]))
|
|
2991
|
+
);
|
|
2992
|
+
}
|
|
2993
|
+
|
|
2994
|
+
// ../core/src/html/contracts/maps.ts
|
|
2907
2995
|
var CONTRACT_GROUPS = [
|
|
2908
2996
|
[VOID_TAGS, voidContract],
|
|
2909
2997
|
[TEXT_ONLY_TAGS, textOnlyContract],
|
|
@@ -2912,13 +3000,8 @@ var CONTRACT_GROUPS = [
|
|
|
2912
3000
|
[["audio", "video"], mediaContract],
|
|
2913
3001
|
[["thead", "tbody", "tfoot"], tableBodyContract]
|
|
2914
3002
|
];
|
|
2915
|
-
function contractMap(groups) {
|
|
2916
|
-
return Object.fromEntries(
|
|
2917
|
-
groups.flatMap(([tags, enforcement]) => tags.map((tag) => [tag, enforcement]))
|
|
2918
|
-
);
|
|
2919
|
-
}
|
|
2920
3003
|
var htmlContracts = {
|
|
2921
|
-
...
|
|
3004
|
+
...buildMap(CONTRACT_GROUPS),
|
|
2922
3005
|
table: tableContract,
|
|
2923
3006
|
tr: tableRowContract,
|
|
2924
3007
|
colgroup: colgroupContract,
|