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