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/lit/index.js
CHANGED
|
@@ -2102,6 +2102,93 @@ var readonlyProps = ({
|
|
|
2102
2102
|
// ../core/src/html/evaluators.ts
|
|
2103
2103
|
import { warnDiagnostics as warnDiagnostics2 } from "../_shared/diagnostics.js";
|
|
2104
2104
|
|
|
2105
|
+
// ../core/src/html/contracts/categories.ts
|
|
2106
|
+
var METADATA_TAGS = ["script", "template"];
|
|
2107
|
+
var VOID_TAGS = [
|
|
2108
|
+
"area",
|
|
2109
|
+
"base",
|
|
2110
|
+
"br",
|
|
2111
|
+
"col",
|
|
2112
|
+
"embed",
|
|
2113
|
+
"hr",
|
|
2114
|
+
"img",
|
|
2115
|
+
"input",
|
|
2116
|
+
"link",
|
|
2117
|
+
"meta",
|
|
2118
|
+
"param",
|
|
2119
|
+
"source",
|
|
2120
|
+
"track",
|
|
2121
|
+
"wbr"
|
|
2122
|
+
];
|
|
2123
|
+
var TEXT_ONLY_TAGS = [
|
|
2124
|
+
"option",
|
|
2125
|
+
"script",
|
|
2126
|
+
"style",
|
|
2127
|
+
"textarea",
|
|
2128
|
+
"title"
|
|
2129
|
+
];
|
|
2130
|
+
var LANDMARK_TAGS = [
|
|
2131
|
+
"article",
|
|
2132
|
+
"aside",
|
|
2133
|
+
"footer",
|
|
2134
|
+
"header",
|
|
2135
|
+
"main",
|
|
2136
|
+
"nav"
|
|
2137
|
+
];
|
|
2138
|
+
var INTERACTIVE_CONTENT_TAGS = [
|
|
2139
|
+
"a",
|
|
2140
|
+
"button",
|
|
2141
|
+
"input",
|
|
2142
|
+
"select",
|
|
2143
|
+
"textarea",
|
|
2144
|
+
"label"
|
|
2145
|
+
];
|
|
2146
|
+
var LABELABLE_TAGS = [
|
|
2147
|
+
"button",
|
|
2148
|
+
"input",
|
|
2149
|
+
"meter",
|
|
2150
|
+
"output",
|
|
2151
|
+
"progress",
|
|
2152
|
+
"select",
|
|
2153
|
+
"textarea"
|
|
2154
|
+
];
|
|
2155
|
+
var OTHER_INTERACTIVE_TAGS = [
|
|
2156
|
+
"a",
|
|
2157
|
+
"details",
|
|
2158
|
+
"embed",
|
|
2159
|
+
"iframe"
|
|
2160
|
+
];
|
|
2161
|
+
var P_BLOCKED_TAGS = [
|
|
2162
|
+
"address",
|
|
2163
|
+
"article",
|
|
2164
|
+
"aside",
|
|
2165
|
+
"blockquote",
|
|
2166
|
+
"details",
|
|
2167
|
+
"dialog",
|
|
2168
|
+
"div",
|
|
2169
|
+
"dl",
|
|
2170
|
+
"fieldset",
|
|
2171
|
+
"figure",
|
|
2172
|
+
"footer",
|
|
2173
|
+
"form",
|
|
2174
|
+
"h1",
|
|
2175
|
+
"h2",
|
|
2176
|
+
"h3",
|
|
2177
|
+
"h4",
|
|
2178
|
+
"h5",
|
|
2179
|
+
"h6",
|
|
2180
|
+
"header",
|
|
2181
|
+
"hr",
|
|
2182
|
+
"main",
|
|
2183
|
+
"nav",
|
|
2184
|
+
"ol",
|
|
2185
|
+
"p",
|
|
2186
|
+
"pre",
|
|
2187
|
+
"section",
|
|
2188
|
+
"table",
|
|
2189
|
+
"ul"
|
|
2190
|
+
];
|
|
2191
|
+
|
|
2105
2192
|
// ../core/src/html/spec/vocabulary/input.ts
|
|
2106
2193
|
var TEXT_INPUT_TYPES = ["text", "search", "url", "tel", "email", "password"];
|
|
2107
2194
|
var NUMERIC_INPUT_TYPES = [
|
|
@@ -2481,7 +2568,11 @@ var ALLOWED_ROLES = {
|
|
|
2481
2568
|
"treeitem"
|
|
2482
2569
|
],
|
|
2483
2570
|
dialog: ["alertdialog"],
|
|
2484
|
-
fieldset: ["none", "presentation", "radiogroup"]
|
|
2571
|
+
fieldset: ["none", "presentation", "radiogroup"],
|
|
2572
|
+
// `<label>` has no implicit role and no documented alternates — its native labeling
|
|
2573
|
+
// semantics (control association, accessible-name contribution) aren't reproducible via
|
|
2574
|
+
// ARIA, so any explicit `role` should be avoided rather than substituted.
|
|
2575
|
+
label: []
|
|
2485
2576
|
};
|
|
2486
2577
|
var ELEMENT_SPECS = {
|
|
2487
2578
|
input: inputElementSpec,
|
|
@@ -2522,7 +2613,10 @@ var roleNotPermittedRule = Object.assign(
|
|
|
2522
2613
|
);
|
|
2523
2614
|
|
|
2524
2615
|
// ../core/src/html/aria-rules.ts
|
|
2525
|
-
|
|
2616
|
+
function defineAriaRule(tags, rule) {
|
|
2617
|
+
return Object.assign(rule, { tags });
|
|
2618
|
+
}
|
|
2619
|
+
var LANDMARK_TAG_SET = new Set(LANDMARK_TAGS);
|
|
2526
2620
|
var removeLandmarkRoleOverride = {
|
|
2527
2621
|
kind: "removeRole",
|
|
2528
2622
|
apply: ({ props }) => {
|
|
@@ -2531,10 +2625,11 @@ var removeLandmarkRoleOverride = {
|
|
|
2531
2625
|
return { applied: true, next: rest, previous: props };
|
|
2532
2626
|
}
|
|
2533
2627
|
};
|
|
2534
|
-
var landmarkRoleRule =
|
|
2628
|
+
var landmarkRoleRule = defineAriaRule(
|
|
2629
|
+
LANDMARK_TAGS,
|
|
2535
2630
|
({ tag, props, implicitRole }) => {
|
|
2536
2631
|
if (!LANDMARK_TAG_SET.has(tag) || !implicitRole) return [];
|
|
2537
|
-
const role = props
|
|
2632
|
+
const { role } = props;
|
|
2538
2633
|
if (!role || role === implicitRole) return [];
|
|
2539
2634
|
const diagnostic = HtmlDiagnostics.landmarkRoleOverride(tag, implicitRole, role);
|
|
2540
2635
|
return [
|
|
@@ -2546,8 +2641,7 @@ var landmarkRoleRule = Object.assign(
|
|
|
2546
2641
|
diagnostic
|
|
2547
2642
|
}
|
|
2548
2643
|
];
|
|
2549
|
-
}
|
|
2550
|
-
{ tags: [...LANDMARK_TAG_SET] }
|
|
2644
|
+
}
|
|
2551
2645
|
);
|
|
2552
2646
|
function requireAccessibleName({ tag, props }) {
|
|
2553
2647
|
if ("aria-label" in props || "aria-labelledby" in props) return [];
|
|
@@ -2560,38 +2654,44 @@ function requireAccessibleName({ tag, props }) {
|
|
|
2560
2654
|
}
|
|
2561
2655
|
];
|
|
2562
2656
|
}
|
|
2563
|
-
var NAMED_LANDMARK_TAGS =
|
|
2564
|
-
var
|
|
2657
|
+
var NAMED_LANDMARK_TAGS = ["nav", "aside"];
|
|
2658
|
+
var NAMED_LANDMARK_TAG_SET = new Set(NAMED_LANDMARK_TAGS);
|
|
2659
|
+
var landmarkAccessibleNameRule = defineAriaRule(
|
|
2660
|
+
NAMED_LANDMARK_TAGS,
|
|
2565
2661
|
(ctx) => {
|
|
2566
|
-
if (!ctx.implicitRole || !
|
|
2662
|
+
if (!ctx.implicitRole || !NAMED_LANDMARK_TAG_SET.has(ctx.tag)) return [];
|
|
2567
2663
|
return requireAccessibleName(ctx);
|
|
2568
|
-
}
|
|
2569
|
-
{ tags: [...NAMED_LANDMARK_TAGS] }
|
|
2664
|
+
}
|
|
2570
2665
|
);
|
|
2571
2666
|
var HTML_ARIA_RULES = [
|
|
2572
2667
|
landmarkRoleRule,
|
|
2573
|
-
|
|
2668
|
+
landmarkAccessibleNameRule,
|
|
2574
2669
|
roleNotPermittedRule,
|
|
2575
2670
|
...INPUT_RULES
|
|
2576
2671
|
];
|
|
2577
2672
|
|
|
2578
|
-
// ../core/src/html/contracts.ts
|
|
2673
|
+
// ../core/src/html/contracts/helpers.ts
|
|
2579
2674
|
import { warnDiagnostics } from "../_shared/diagnostics.js";
|
|
2675
|
+
function isVNodeLike(child) {
|
|
2676
|
+
return isObject(child) && "type" in child;
|
|
2677
|
+
}
|
|
2580
2678
|
function isOpenContent(...blockedTags) {
|
|
2581
2679
|
const set2 = new Set(blockedTags);
|
|
2582
2680
|
return (child) => {
|
|
2583
|
-
if (!
|
|
2681
|
+
if (!isVNodeLike(child)) return false;
|
|
2584
2682
|
const tag = getTag(child);
|
|
2585
2683
|
return tag === void 0 || !set2.has(tag);
|
|
2586
2684
|
};
|
|
2587
2685
|
}
|
|
2588
|
-
var METADATA_TAGS = ["script", "template"];
|
|
2589
2686
|
var metadataMatch = isTag(...METADATA_TAGS);
|
|
2590
2687
|
function metadata(name = "metadata") {
|
|
2591
2688
|
return { name, match: metadataMatch };
|
|
2592
2689
|
}
|
|
2690
|
+
function optional(name, tag) {
|
|
2691
|
+
return { name, match: isTag(tag), cardinality: { max: 1 } };
|
|
2692
|
+
}
|
|
2593
2693
|
function firstOptional(name, tag) {
|
|
2594
|
-
return { name,
|
|
2694
|
+
return { ...optional(name, tag), position: "first" };
|
|
2595
2695
|
}
|
|
2596
2696
|
function contract(children, options) {
|
|
2597
2697
|
return { diagnostics: warnDiagnostics, children, ...options };
|
|
@@ -2605,50 +2705,41 @@ function ariaContract(aria) {
|
|
|
2605
2705
|
function firstChildContract(name, tag) {
|
|
2606
2706
|
return contract([firstOptional(name, tag), { name: "content", match: isOpenContent(tag) }]);
|
|
2607
2707
|
}
|
|
2608
|
-
|
|
2609
|
-
|
|
2610
|
-
|
|
2611
|
-
|
|
2612
|
-
|
|
2613
|
-
|
|
2614
|
-
|
|
2615
|
-
|
|
2616
|
-
|
|
2617
|
-
|
|
2618
|
-
|
|
2619
|
-
|
|
2620
|
-
|
|
2621
|
-
|
|
2622
|
-
|
|
2623
|
-
];
|
|
2624
|
-
var
|
|
2625
|
-
var
|
|
2626
|
-
var
|
|
2627
|
-
|
|
2628
|
-
|
|
2629
|
-
var
|
|
2630
|
-
|
|
2631
|
-
|
|
2632
|
-
|
|
2633
|
-
|
|
2634
|
-
{ name: "tfoot", match: isTag("tfoot"), cardinality: { max: 1 } },
|
|
2635
|
-
{ name: "table-row", match: isTag("tr", ...METADATA_TAGS) }
|
|
2636
|
-
]);
|
|
2637
|
-
var tableBodyContract = closedContract([
|
|
2638
|
-
{ name: "table-row", match: isTag("tr", ...METADATA_TAGS) }
|
|
2639
|
-
]);
|
|
2640
|
-
var tableRowContract = closedContract([
|
|
2641
|
-
{ name: "table-cell", match: isTag("td", "th", ...METADATA_TAGS) }
|
|
2642
|
-
]);
|
|
2643
|
-
var colgroupContract = closedContract([
|
|
2644
|
-
{ name: "column", match: isTag("col", "template") }
|
|
2708
|
+
function getChildProp(child, key) {
|
|
2709
|
+
if (!isVNodeLike(child)) return void 0;
|
|
2710
|
+
const { props } = child;
|
|
2711
|
+
if (!isObject(props)) return void 0;
|
|
2712
|
+
return props[key];
|
|
2713
|
+
}
|
|
2714
|
+
|
|
2715
|
+
// ../core/src/html/contracts/aria/landmarks.ts
|
|
2716
|
+
var landmarkContract = ariaContract([landmarkRoleRule, landmarkAccessibleNameRule]);
|
|
2717
|
+
|
|
2718
|
+
// ../core/src/html/contracts/aria/widgets.ts
|
|
2719
|
+
var dialogContract = ariaContract([requireAccessibleName]);
|
|
2720
|
+
var menuContract = ariaContract([requireAccessibleName]);
|
|
2721
|
+
var menubarContract = ariaContract([requireAccessibleName]);
|
|
2722
|
+
var treeContract = ariaContract([requireAccessibleName]);
|
|
2723
|
+
var gridContract = ariaContract([requireAccessibleName]);
|
|
2724
|
+
var listboxContract = ariaContract([requireAccessibleName]);
|
|
2725
|
+
var tablistContract = ariaContract([requireAccessibleName]);
|
|
2726
|
+
var radiogroupContract = ariaContract([requireAccessibleName]);
|
|
2727
|
+
|
|
2728
|
+
// ../core/src/html/contracts/html/document.ts
|
|
2729
|
+
var headContract = closedContract([
|
|
2730
|
+
{
|
|
2731
|
+
name: "metadata",
|
|
2732
|
+
match: isTag("base", "link", "meta", "noscript", "script", "style", "template", "title")
|
|
2733
|
+
}
|
|
2645
2734
|
]);
|
|
2646
|
-
var
|
|
2647
|
-
{ name: "
|
|
2648
|
-
{ name: "
|
|
2649
|
-
{ name: "group", match: isTag("div") },
|
|
2650
|
-
metadata()
|
|
2735
|
+
var htmlContract = closedContract([
|
|
2736
|
+
{ name: "head", match: isTag("head"), cardinality: { min: 1, max: 1 }, position: "first" },
|
|
2737
|
+
{ name: "body", match: isTag("body"), cardinality: { min: 1, max: 1 } }
|
|
2651
2738
|
]);
|
|
2739
|
+
var voidContract = contract([], { exclusiveChildren: true, allowText: false });
|
|
2740
|
+
var textOnlyContract = contract([], { exclusiveChildren: true });
|
|
2741
|
+
|
|
2742
|
+
// ../core/src/html/contracts/html/forms.ts
|
|
2652
2743
|
var selectContract = closedContract([
|
|
2653
2744
|
{ name: "option", match: isTag("option", "optgroup", "hr", ...METADATA_TAGS) }
|
|
2654
2745
|
]);
|
|
@@ -2658,6 +2749,45 @@ var optgroupContract = closedContract([
|
|
|
2658
2749
|
var datalistContract = closedContract([
|
|
2659
2750
|
{ name: "option", match: isTag("option", ...METADATA_TAGS) }
|
|
2660
2751
|
]);
|
|
2752
|
+
var buttonContract = closedContract([
|
|
2753
|
+
{ name: "content", match: isOpenContent(...INTERACTIVE_CONTENT_TAGS) }
|
|
2754
|
+
]);
|
|
2755
|
+
var anchorContract = closedContract([
|
|
2756
|
+
{ name: "content", match: isOpenContent(...INTERACTIVE_CONTENT_TAGS) }
|
|
2757
|
+
]);
|
|
2758
|
+
var labelableTagMatch = isTag(...LABELABLE_TAGS);
|
|
2759
|
+
function isLabelableControl(child) {
|
|
2760
|
+
if (!labelableTagMatch(child)) return false;
|
|
2761
|
+
if (getTag(child) !== "input") return true;
|
|
2762
|
+
const type = getChildProp(child, "type");
|
|
2763
|
+
return !isString(type) || type !== "hidden";
|
|
2764
|
+
}
|
|
2765
|
+
var labelContract = contract([
|
|
2766
|
+
{ name: "control", match: isLabelableControl, cardinality: { max: 1 } },
|
|
2767
|
+
{ name: "nested-label", match: isTag("label"), cardinality: { max: 0 } },
|
|
2768
|
+
{
|
|
2769
|
+
name: "other-interactive-content",
|
|
2770
|
+
match: isTag(...OTHER_INTERACTIVE_TAGS),
|
|
2771
|
+
cardinality: { max: 0 }
|
|
2772
|
+
}
|
|
2773
|
+
]);
|
|
2774
|
+
|
|
2775
|
+
// ../core/src/html/contracts/html/grouping.ts
|
|
2776
|
+
var detailsContract = firstChildContract("summary", "summary");
|
|
2777
|
+
var fieldsetContract = firstChildContract("legend", "legend");
|
|
2778
|
+
|
|
2779
|
+
// ../core/src/html/contracts/html/lists.ts
|
|
2780
|
+
var listContract = closedContract([
|
|
2781
|
+
{ name: "list-item", match: isTag("li", ...METADATA_TAGS) }
|
|
2782
|
+
]);
|
|
2783
|
+
var dlContract = closedContract([
|
|
2784
|
+
{ name: "term", match: isTag("dt") },
|
|
2785
|
+
{ name: "description", match: isTag("dd") },
|
|
2786
|
+
{ name: "group", match: isTag("div") },
|
|
2787
|
+
metadata()
|
|
2788
|
+
]);
|
|
2789
|
+
|
|
2790
|
+
// ../core/src/html/contracts/html/media.ts
|
|
2661
2791
|
var pictureContract = closedContract([
|
|
2662
2792
|
{ name: "source", match: isTag("source", ...METADATA_TAGS) },
|
|
2663
2793
|
{ name: "image", match: isTag("img"), cardinality: { min: 1, max: 1 }, position: "last" }
|
|
@@ -2666,91 +2796,49 @@ var figureContract = contract([
|
|
|
2666
2796
|
{ name: "caption", match: isTag("figcaption"), cardinality: { max: 1 } },
|
|
2667
2797
|
{ name: "content", match: isOpenContent("figcaption") }
|
|
2668
2798
|
]);
|
|
2669
|
-
var detailsContract = firstChildContract("summary", "summary");
|
|
2670
|
-
var fieldsetContract = firstChildContract("legend", "legend");
|
|
2671
2799
|
var objectContract = contract([
|
|
2672
2800
|
{ name: "param", match: isTag("param") },
|
|
2673
2801
|
{ name: "content", match: isOpenContent("param") }
|
|
2674
2802
|
]);
|
|
2675
|
-
var INTERACTIVE_CONTENT_TAGS = ["a", "button", "input", "select", "textarea", "label"];
|
|
2676
|
-
var buttonContract = closedContract([
|
|
2677
|
-
{ name: "content", match: isOpenContent(...INTERACTIVE_CONTENT_TAGS) }
|
|
2678
|
-
]);
|
|
2679
|
-
var anchorContract = closedContract([
|
|
2680
|
-
{ name: "content", match: isOpenContent(...INTERACTIVE_CONTENT_TAGS) }
|
|
2681
|
-
]);
|
|
2682
|
-
var LABELABLE_TAGS = [
|
|
2683
|
-
"button",
|
|
2684
|
-
"input",
|
|
2685
|
-
"meter",
|
|
2686
|
-
"output",
|
|
2687
|
-
"progress",
|
|
2688
|
-
"select",
|
|
2689
|
-
"textarea"
|
|
2690
|
-
];
|
|
2691
|
-
var labelContract = contract([
|
|
2692
|
-
{ name: "control", match: isTag(...LABELABLE_TAGS), cardinality: { max: 1 } }
|
|
2693
|
-
]);
|
|
2694
|
-
var P_BLOCKED_TAGS = [
|
|
2695
|
-
"address",
|
|
2696
|
-
"article",
|
|
2697
|
-
"aside",
|
|
2698
|
-
"blockquote",
|
|
2699
|
-
"details",
|
|
2700
|
-
"dialog",
|
|
2701
|
-
"div",
|
|
2702
|
-
"dl",
|
|
2703
|
-
"fieldset",
|
|
2704
|
-
"figure",
|
|
2705
|
-
"footer",
|
|
2706
|
-
"form",
|
|
2707
|
-
"h1",
|
|
2708
|
-
"h2",
|
|
2709
|
-
"h3",
|
|
2710
|
-
"h4",
|
|
2711
|
-
"h5",
|
|
2712
|
-
"h6",
|
|
2713
|
-
"header",
|
|
2714
|
-
"hr",
|
|
2715
|
-
"main",
|
|
2716
|
-
"nav",
|
|
2717
|
-
"ol",
|
|
2718
|
-
"p",
|
|
2719
|
-
"pre",
|
|
2720
|
-
"section",
|
|
2721
|
-
"table",
|
|
2722
|
-
"ul"
|
|
2723
|
-
];
|
|
2724
|
-
var pContract = closedContract([
|
|
2725
|
-
{ name: "content", match: isOpenContent(...P_BLOCKED_TAGS) }
|
|
2726
|
-
]);
|
|
2727
2803
|
var mediaContract = contract([
|
|
2728
2804
|
{ name: "source", match: isTag("source") },
|
|
2729
2805
|
{ name: "track", match: isTag("track") },
|
|
2730
2806
|
metadata(),
|
|
2731
2807
|
{ name: "content", match: isOpenContent("source", "track", ...METADATA_TAGS) }
|
|
2732
2808
|
]);
|
|
2733
|
-
|
|
2734
|
-
|
|
2735
|
-
|
|
2736
|
-
|
|
2737
|
-
}
|
|
2809
|
+
|
|
2810
|
+
// ../core/src/html/contracts/html/tables.ts
|
|
2811
|
+
var tableContract = closedContract([
|
|
2812
|
+
firstOptional("caption", "caption"),
|
|
2813
|
+
{ name: "colgroup", match: isTag("colgroup") },
|
|
2814
|
+
{ name: "thead", match: isTag("thead"), cardinality: { max: 1 } },
|
|
2815
|
+
{ name: "tbody", match: isTag("tbody") },
|
|
2816
|
+
{ name: "tfoot", match: isTag("tfoot"), cardinality: { max: 1 } },
|
|
2817
|
+
{ name: "table-row", match: isTag("tr", ...METADATA_TAGS) }
|
|
2738
2818
|
]);
|
|
2739
|
-
var
|
|
2740
|
-
{ name: "
|
|
2741
|
-
{ name: "body", match: isTag("body"), cardinality: { min: 1, max: 1 } }
|
|
2819
|
+
var tableBodyContract = closedContract([
|
|
2820
|
+
{ name: "table-row", match: isTag("tr", ...METADATA_TAGS) }
|
|
2742
2821
|
]);
|
|
2743
|
-
var
|
|
2744
|
-
|
|
2745
|
-
|
|
2746
|
-
var
|
|
2747
|
-
|
|
2748
|
-
|
|
2749
|
-
|
|
2750
|
-
|
|
2751
|
-
var
|
|
2752
|
-
|
|
2753
|
-
|
|
2822
|
+
var tableRowContract = closedContract([
|
|
2823
|
+
{ name: "table-cell", match: isTag("td", "th", ...METADATA_TAGS) }
|
|
2824
|
+
]);
|
|
2825
|
+
var colgroupContract = closedContract([
|
|
2826
|
+
{ name: "column", match: isTag("col", "template") }
|
|
2827
|
+
]);
|
|
2828
|
+
|
|
2829
|
+
// ../core/src/html/contracts/html/text.ts
|
|
2830
|
+
var pContract = closedContract([
|
|
2831
|
+
{ name: "content", match: isOpenContent(...P_BLOCKED_TAGS) }
|
|
2832
|
+
]);
|
|
2833
|
+
|
|
2834
|
+
// ../core/src/html/contracts/build-map.ts
|
|
2835
|
+
function buildMap(groups) {
|
|
2836
|
+
return Object.fromEntries(
|
|
2837
|
+
groups.flatMap(([keys2, value]) => keys2.map((key) => [key, value]))
|
|
2838
|
+
);
|
|
2839
|
+
}
|
|
2840
|
+
|
|
2841
|
+
// ../core/src/html/contracts/maps.ts
|
|
2754
2842
|
var CONTRACT_GROUPS = [
|
|
2755
2843
|
[VOID_TAGS, voidContract],
|
|
2756
2844
|
[TEXT_ONLY_TAGS, textOnlyContract],
|
|
@@ -2759,13 +2847,8 @@ var CONTRACT_GROUPS = [
|
|
|
2759
2847
|
[["audio", "video"], mediaContract],
|
|
2760
2848
|
[["thead", "tbody", "tfoot"], tableBodyContract]
|
|
2761
2849
|
];
|
|
2762
|
-
function contractMap(groups) {
|
|
2763
|
-
return Object.fromEntries(
|
|
2764
|
-
groups.flatMap(([tags, enforcement]) => tags.map((tag) => [tag, enforcement]))
|
|
2765
|
-
);
|
|
2766
|
-
}
|
|
2767
2850
|
var htmlContracts = {
|
|
2768
|
-
...
|
|
2851
|
+
...buildMap(CONTRACT_GROUPS),
|
|
2769
2852
|
table: tableContract,
|
|
2770
2853
|
tr: tableRowContract,
|
|
2771
2854
|
colgroup: colgroupContract,
|