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/svelte/index.js
CHANGED
|
@@ -2148,6 +2148,93 @@ var readonlyProps = ({
|
|
|
2148
2148
|
// ../core/src/html/evaluators.ts
|
|
2149
2149
|
import { warnDiagnostics as warnDiagnostics2 } from "../_shared/diagnostics.js";
|
|
2150
2150
|
|
|
2151
|
+
// ../core/src/html/contracts/categories.ts
|
|
2152
|
+
var METADATA_TAGS = ["script", "template"];
|
|
2153
|
+
var VOID_TAGS = [
|
|
2154
|
+
"area",
|
|
2155
|
+
"base",
|
|
2156
|
+
"br",
|
|
2157
|
+
"col",
|
|
2158
|
+
"embed",
|
|
2159
|
+
"hr",
|
|
2160
|
+
"img",
|
|
2161
|
+
"input",
|
|
2162
|
+
"link",
|
|
2163
|
+
"meta",
|
|
2164
|
+
"param",
|
|
2165
|
+
"source",
|
|
2166
|
+
"track",
|
|
2167
|
+
"wbr"
|
|
2168
|
+
];
|
|
2169
|
+
var TEXT_ONLY_TAGS = [
|
|
2170
|
+
"option",
|
|
2171
|
+
"script",
|
|
2172
|
+
"style",
|
|
2173
|
+
"textarea",
|
|
2174
|
+
"title"
|
|
2175
|
+
];
|
|
2176
|
+
var LANDMARK_TAGS = [
|
|
2177
|
+
"article",
|
|
2178
|
+
"aside",
|
|
2179
|
+
"footer",
|
|
2180
|
+
"header",
|
|
2181
|
+
"main",
|
|
2182
|
+
"nav"
|
|
2183
|
+
];
|
|
2184
|
+
var INTERACTIVE_CONTENT_TAGS = [
|
|
2185
|
+
"a",
|
|
2186
|
+
"button",
|
|
2187
|
+
"input",
|
|
2188
|
+
"select",
|
|
2189
|
+
"textarea",
|
|
2190
|
+
"label"
|
|
2191
|
+
];
|
|
2192
|
+
var LABELABLE_TAGS = [
|
|
2193
|
+
"button",
|
|
2194
|
+
"input",
|
|
2195
|
+
"meter",
|
|
2196
|
+
"output",
|
|
2197
|
+
"progress",
|
|
2198
|
+
"select",
|
|
2199
|
+
"textarea"
|
|
2200
|
+
];
|
|
2201
|
+
var OTHER_INTERACTIVE_TAGS = [
|
|
2202
|
+
"a",
|
|
2203
|
+
"details",
|
|
2204
|
+
"embed",
|
|
2205
|
+
"iframe"
|
|
2206
|
+
];
|
|
2207
|
+
var P_BLOCKED_TAGS = [
|
|
2208
|
+
"address",
|
|
2209
|
+
"article",
|
|
2210
|
+
"aside",
|
|
2211
|
+
"blockquote",
|
|
2212
|
+
"details",
|
|
2213
|
+
"dialog",
|
|
2214
|
+
"div",
|
|
2215
|
+
"dl",
|
|
2216
|
+
"fieldset",
|
|
2217
|
+
"figure",
|
|
2218
|
+
"footer",
|
|
2219
|
+
"form",
|
|
2220
|
+
"h1",
|
|
2221
|
+
"h2",
|
|
2222
|
+
"h3",
|
|
2223
|
+
"h4",
|
|
2224
|
+
"h5",
|
|
2225
|
+
"h6",
|
|
2226
|
+
"header",
|
|
2227
|
+
"hr",
|
|
2228
|
+
"main",
|
|
2229
|
+
"nav",
|
|
2230
|
+
"ol",
|
|
2231
|
+
"p",
|
|
2232
|
+
"pre",
|
|
2233
|
+
"section",
|
|
2234
|
+
"table",
|
|
2235
|
+
"ul"
|
|
2236
|
+
];
|
|
2237
|
+
|
|
2151
2238
|
// ../core/src/html/spec/vocabulary/input.ts
|
|
2152
2239
|
var TEXT_INPUT_TYPES = ["text", "search", "url", "tel", "email", "password"];
|
|
2153
2240
|
var NUMERIC_INPUT_TYPES = [
|
|
@@ -2527,7 +2614,11 @@ var ALLOWED_ROLES = {
|
|
|
2527
2614
|
"treeitem"
|
|
2528
2615
|
],
|
|
2529
2616
|
dialog: ["alertdialog"],
|
|
2530
|
-
fieldset: ["none", "presentation", "radiogroup"]
|
|
2617
|
+
fieldset: ["none", "presentation", "radiogroup"],
|
|
2618
|
+
// `<label>` has no implicit role and no documented alternates — its native labeling
|
|
2619
|
+
// semantics (control association, accessible-name contribution) aren't reproducible via
|
|
2620
|
+
// ARIA, so any explicit `role` should be avoided rather than substituted.
|
|
2621
|
+
label: []
|
|
2531
2622
|
};
|
|
2532
2623
|
var ELEMENT_SPECS = {
|
|
2533
2624
|
input: inputElementSpec,
|
|
@@ -2568,7 +2659,10 @@ var roleNotPermittedRule = Object.assign(
|
|
|
2568
2659
|
);
|
|
2569
2660
|
|
|
2570
2661
|
// ../core/src/html/aria-rules.ts
|
|
2571
|
-
|
|
2662
|
+
function defineAriaRule(tags, rule) {
|
|
2663
|
+
return Object.assign(rule, { tags });
|
|
2664
|
+
}
|
|
2665
|
+
var LANDMARK_TAG_SET = new Set(LANDMARK_TAGS);
|
|
2572
2666
|
var removeLandmarkRoleOverride = {
|
|
2573
2667
|
kind: "removeRole",
|
|
2574
2668
|
apply: ({ props }) => {
|
|
@@ -2577,10 +2671,11 @@ var removeLandmarkRoleOverride = {
|
|
|
2577
2671
|
return { applied: true, next: rest, previous: props };
|
|
2578
2672
|
}
|
|
2579
2673
|
};
|
|
2580
|
-
var landmarkRoleRule =
|
|
2674
|
+
var landmarkRoleRule = defineAriaRule(
|
|
2675
|
+
LANDMARK_TAGS,
|
|
2581
2676
|
({ tag, props, implicitRole }) => {
|
|
2582
2677
|
if (!LANDMARK_TAG_SET.has(tag) || !implicitRole) return [];
|
|
2583
|
-
const role = props
|
|
2678
|
+
const { role } = props;
|
|
2584
2679
|
if (!role || role === implicitRole) return [];
|
|
2585
2680
|
const diagnostic = HtmlDiagnostics.landmarkRoleOverride(tag, implicitRole, role);
|
|
2586
2681
|
return [
|
|
@@ -2592,8 +2687,7 @@ var landmarkRoleRule = Object.assign(
|
|
|
2592
2687
|
diagnostic
|
|
2593
2688
|
}
|
|
2594
2689
|
];
|
|
2595
|
-
}
|
|
2596
|
-
{ tags: [...LANDMARK_TAG_SET] }
|
|
2690
|
+
}
|
|
2597
2691
|
);
|
|
2598
2692
|
function requireAccessibleName({ tag, props }) {
|
|
2599
2693
|
if ("aria-label" in props || "aria-labelledby" in props) return [];
|
|
@@ -2606,38 +2700,44 @@ function requireAccessibleName({ tag, props }) {
|
|
|
2606
2700
|
}
|
|
2607
2701
|
];
|
|
2608
2702
|
}
|
|
2609
|
-
var NAMED_LANDMARK_TAGS =
|
|
2610
|
-
var
|
|
2703
|
+
var NAMED_LANDMARK_TAGS = ["nav", "aside"];
|
|
2704
|
+
var NAMED_LANDMARK_TAG_SET = new Set(NAMED_LANDMARK_TAGS);
|
|
2705
|
+
var landmarkAccessibleNameRule = defineAriaRule(
|
|
2706
|
+
NAMED_LANDMARK_TAGS,
|
|
2611
2707
|
(ctx) => {
|
|
2612
|
-
if (!ctx.implicitRole || !
|
|
2708
|
+
if (!ctx.implicitRole || !NAMED_LANDMARK_TAG_SET.has(ctx.tag)) return [];
|
|
2613
2709
|
return requireAccessibleName(ctx);
|
|
2614
|
-
}
|
|
2615
|
-
{ tags: [...NAMED_LANDMARK_TAGS] }
|
|
2710
|
+
}
|
|
2616
2711
|
);
|
|
2617
2712
|
var HTML_ARIA_RULES = [
|
|
2618
2713
|
landmarkRoleRule,
|
|
2619
|
-
|
|
2714
|
+
landmarkAccessibleNameRule,
|
|
2620
2715
|
roleNotPermittedRule,
|
|
2621
2716
|
...INPUT_RULES
|
|
2622
2717
|
];
|
|
2623
2718
|
|
|
2624
|
-
// ../core/src/html/contracts.ts
|
|
2719
|
+
// ../core/src/html/contracts/helpers.ts
|
|
2625
2720
|
import { warnDiagnostics } from "../_shared/diagnostics.js";
|
|
2721
|
+
function isVNodeLike(child) {
|
|
2722
|
+
return isObject(child) && "type" in child;
|
|
2723
|
+
}
|
|
2626
2724
|
function isOpenContent(...blockedTags) {
|
|
2627
2725
|
const set2 = new Set(blockedTags);
|
|
2628
2726
|
return (child) => {
|
|
2629
|
-
if (!
|
|
2727
|
+
if (!isVNodeLike(child)) return false;
|
|
2630
2728
|
const tag = getTag(child);
|
|
2631
2729
|
return tag === void 0 || !set2.has(tag);
|
|
2632
2730
|
};
|
|
2633
2731
|
}
|
|
2634
|
-
var METADATA_TAGS = ["script", "template"];
|
|
2635
2732
|
var metadataMatch = isTag(...METADATA_TAGS);
|
|
2636
2733
|
function metadata(name = "metadata") {
|
|
2637
2734
|
return { name, match: metadataMatch };
|
|
2638
2735
|
}
|
|
2736
|
+
function optional(name, tag) {
|
|
2737
|
+
return { name, match: isTag(tag), cardinality: { max: 1 } };
|
|
2738
|
+
}
|
|
2639
2739
|
function firstOptional(name, tag) {
|
|
2640
|
-
return { name,
|
|
2740
|
+
return { ...optional(name, tag), position: "first" };
|
|
2641
2741
|
}
|
|
2642
2742
|
function contract(children, options) {
|
|
2643
2743
|
return { diagnostics: warnDiagnostics, children, ...options };
|
|
@@ -2651,50 +2751,41 @@ function ariaContract(aria) {
|
|
|
2651
2751
|
function firstChildContract(name, tag) {
|
|
2652
2752
|
return contract([firstOptional(name, tag), { name: "content", match: isOpenContent(tag) }]);
|
|
2653
2753
|
}
|
|
2654
|
-
|
|
2655
|
-
|
|
2656
|
-
|
|
2657
|
-
|
|
2658
|
-
|
|
2659
|
-
|
|
2660
|
-
|
|
2661
|
-
|
|
2662
|
-
|
|
2663
|
-
|
|
2664
|
-
|
|
2665
|
-
|
|
2666
|
-
|
|
2667
|
-
|
|
2668
|
-
|
|
2669
|
-
];
|
|
2670
|
-
var
|
|
2671
|
-
var
|
|
2672
|
-
var
|
|
2673
|
-
|
|
2674
|
-
|
|
2675
|
-
var
|
|
2676
|
-
|
|
2677
|
-
|
|
2678
|
-
|
|
2679
|
-
|
|
2680
|
-
{ name: "tfoot", match: isTag("tfoot"), cardinality: { max: 1 } },
|
|
2681
|
-
{ name: "table-row", match: isTag("tr", ...METADATA_TAGS) }
|
|
2682
|
-
]);
|
|
2683
|
-
var tableBodyContract = closedContract([
|
|
2684
|
-
{ name: "table-row", match: isTag("tr", ...METADATA_TAGS) }
|
|
2685
|
-
]);
|
|
2686
|
-
var tableRowContract = closedContract([
|
|
2687
|
-
{ name: "table-cell", match: isTag("td", "th", ...METADATA_TAGS) }
|
|
2688
|
-
]);
|
|
2689
|
-
var colgroupContract = closedContract([
|
|
2690
|
-
{ name: "column", match: isTag("col", "template") }
|
|
2754
|
+
function getChildProp(child, key) {
|
|
2755
|
+
if (!isVNodeLike(child)) return void 0;
|
|
2756
|
+
const { props } = child;
|
|
2757
|
+
if (!isObject(props)) return void 0;
|
|
2758
|
+
return props[key];
|
|
2759
|
+
}
|
|
2760
|
+
|
|
2761
|
+
// ../core/src/html/contracts/aria/landmarks.ts
|
|
2762
|
+
var landmarkContract = ariaContract([landmarkRoleRule, landmarkAccessibleNameRule]);
|
|
2763
|
+
|
|
2764
|
+
// ../core/src/html/contracts/aria/widgets.ts
|
|
2765
|
+
var dialogContract = ariaContract([requireAccessibleName]);
|
|
2766
|
+
var menuContract = ariaContract([requireAccessibleName]);
|
|
2767
|
+
var menubarContract = ariaContract([requireAccessibleName]);
|
|
2768
|
+
var treeContract = ariaContract([requireAccessibleName]);
|
|
2769
|
+
var gridContract = ariaContract([requireAccessibleName]);
|
|
2770
|
+
var listboxContract = ariaContract([requireAccessibleName]);
|
|
2771
|
+
var tablistContract = ariaContract([requireAccessibleName]);
|
|
2772
|
+
var radiogroupContract = ariaContract([requireAccessibleName]);
|
|
2773
|
+
|
|
2774
|
+
// ../core/src/html/contracts/html/document.ts
|
|
2775
|
+
var headContract = closedContract([
|
|
2776
|
+
{
|
|
2777
|
+
name: "metadata",
|
|
2778
|
+
match: isTag("base", "link", "meta", "noscript", "script", "style", "template", "title")
|
|
2779
|
+
}
|
|
2691
2780
|
]);
|
|
2692
|
-
var
|
|
2693
|
-
{ name: "
|
|
2694
|
-
{ name: "
|
|
2695
|
-
{ name: "group", match: isTag("div") },
|
|
2696
|
-
metadata()
|
|
2781
|
+
var htmlContract = closedContract([
|
|
2782
|
+
{ name: "head", match: isTag("head"), cardinality: { min: 1, max: 1 }, position: "first" },
|
|
2783
|
+
{ name: "body", match: isTag("body"), cardinality: { min: 1, max: 1 } }
|
|
2697
2784
|
]);
|
|
2785
|
+
var voidContract = contract([], { exclusiveChildren: true, allowText: false });
|
|
2786
|
+
var textOnlyContract = contract([], { exclusiveChildren: true });
|
|
2787
|
+
|
|
2788
|
+
// ../core/src/html/contracts/html/forms.ts
|
|
2698
2789
|
var selectContract = closedContract([
|
|
2699
2790
|
{ name: "option", match: isTag("option", "optgroup", "hr", ...METADATA_TAGS) }
|
|
2700
2791
|
]);
|
|
@@ -2704,6 +2795,45 @@ var optgroupContract = closedContract([
|
|
|
2704
2795
|
var datalistContract = closedContract([
|
|
2705
2796
|
{ name: "option", match: isTag("option", ...METADATA_TAGS) }
|
|
2706
2797
|
]);
|
|
2798
|
+
var buttonContract = closedContract([
|
|
2799
|
+
{ name: "content", match: isOpenContent(...INTERACTIVE_CONTENT_TAGS) }
|
|
2800
|
+
]);
|
|
2801
|
+
var anchorContract = closedContract([
|
|
2802
|
+
{ name: "content", match: isOpenContent(...INTERACTIVE_CONTENT_TAGS) }
|
|
2803
|
+
]);
|
|
2804
|
+
var labelableTagMatch = isTag(...LABELABLE_TAGS);
|
|
2805
|
+
function isLabelableControl(child) {
|
|
2806
|
+
if (!labelableTagMatch(child)) return false;
|
|
2807
|
+
if (getTag(child) !== "input") return true;
|
|
2808
|
+
const type = getChildProp(child, "type");
|
|
2809
|
+
return !isString(type) || type !== "hidden";
|
|
2810
|
+
}
|
|
2811
|
+
var labelContract = contract([
|
|
2812
|
+
{ name: "control", match: isLabelableControl, cardinality: { max: 1 } },
|
|
2813
|
+
{ name: "nested-label", match: isTag("label"), cardinality: { max: 0 } },
|
|
2814
|
+
{
|
|
2815
|
+
name: "other-interactive-content",
|
|
2816
|
+
match: isTag(...OTHER_INTERACTIVE_TAGS),
|
|
2817
|
+
cardinality: { max: 0 }
|
|
2818
|
+
}
|
|
2819
|
+
]);
|
|
2820
|
+
|
|
2821
|
+
// ../core/src/html/contracts/html/grouping.ts
|
|
2822
|
+
var detailsContract = firstChildContract("summary", "summary");
|
|
2823
|
+
var fieldsetContract = firstChildContract("legend", "legend");
|
|
2824
|
+
|
|
2825
|
+
// ../core/src/html/contracts/html/lists.ts
|
|
2826
|
+
var listContract = closedContract([
|
|
2827
|
+
{ name: "list-item", match: isTag("li", ...METADATA_TAGS) }
|
|
2828
|
+
]);
|
|
2829
|
+
var dlContract = closedContract([
|
|
2830
|
+
{ name: "term", match: isTag("dt") },
|
|
2831
|
+
{ name: "description", match: isTag("dd") },
|
|
2832
|
+
{ name: "group", match: isTag("div") },
|
|
2833
|
+
metadata()
|
|
2834
|
+
]);
|
|
2835
|
+
|
|
2836
|
+
// ../core/src/html/contracts/html/media.ts
|
|
2707
2837
|
var pictureContract = closedContract([
|
|
2708
2838
|
{ name: "source", match: isTag("source", ...METADATA_TAGS) },
|
|
2709
2839
|
{ name: "image", match: isTag("img"), cardinality: { min: 1, max: 1 }, position: "last" }
|
|
@@ -2712,91 +2842,49 @@ var figureContract = contract([
|
|
|
2712
2842
|
{ name: "caption", match: isTag("figcaption"), cardinality: { max: 1 } },
|
|
2713
2843
|
{ name: "content", match: isOpenContent("figcaption") }
|
|
2714
2844
|
]);
|
|
2715
|
-
var detailsContract = firstChildContract("summary", "summary");
|
|
2716
|
-
var fieldsetContract = firstChildContract("legend", "legend");
|
|
2717
2845
|
var objectContract = contract([
|
|
2718
2846
|
{ name: "param", match: isTag("param") },
|
|
2719
2847
|
{ name: "content", match: isOpenContent("param") }
|
|
2720
2848
|
]);
|
|
2721
|
-
var INTERACTIVE_CONTENT_TAGS = ["a", "button", "input", "select", "textarea", "label"];
|
|
2722
|
-
var buttonContract = closedContract([
|
|
2723
|
-
{ name: "content", match: isOpenContent(...INTERACTIVE_CONTENT_TAGS) }
|
|
2724
|
-
]);
|
|
2725
|
-
var anchorContract = closedContract([
|
|
2726
|
-
{ name: "content", match: isOpenContent(...INTERACTIVE_CONTENT_TAGS) }
|
|
2727
|
-
]);
|
|
2728
|
-
var LABELABLE_TAGS = [
|
|
2729
|
-
"button",
|
|
2730
|
-
"input",
|
|
2731
|
-
"meter",
|
|
2732
|
-
"output",
|
|
2733
|
-
"progress",
|
|
2734
|
-
"select",
|
|
2735
|
-
"textarea"
|
|
2736
|
-
];
|
|
2737
|
-
var labelContract = contract([
|
|
2738
|
-
{ name: "control", match: isTag(...LABELABLE_TAGS), cardinality: { max: 1 } }
|
|
2739
|
-
]);
|
|
2740
|
-
var P_BLOCKED_TAGS = [
|
|
2741
|
-
"address",
|
|
2742
|
-
"article",
|
|
2743
|
-
"aside",
|
|
2744
|
-
"blockquote",
|
|
2745
|
-
"details",
|
|
2746
|
-
"dialog",
|
|
2747
|
-
"div",
|
|
2748
|
-
"dl",
|
|
2749
|
-
"fieldset",
|
|
2750
|
-
"figure",
|
|
2751
|
-
"footer",
|
|
2752
|
-
"form",
|
|
2753
|
-
"h1",
|
|
2754
|
-
"h2",
|
|
2755
|
-
"h3",
|
|
2756
|
-
"h4",
|
|
2757
|
-
"h5",
|
|
2758
|
-
"h6",
|
|
2759
|
-
"header",
|
|
2760
|
-
"hr",
|
|
2761
|
-
"main",
|
|
2762
|
-
"nav",
|
|
2763
|
-
"ol",
|
|
2764
|
-
"p",
|
|
2765
|
-
"pre",
|
|
2766
|
-
"section",
|
|
2767
|
-
"table",
|
|
2768
|
-
"ul"
|
|
2769
|
-
];
|
|
2770
|
-
var pContract = closedContract([
|
|
2771
|
-
{ name: "content", match: isOpenContent(...P_BLOCKED_TAGS) }
|
|
2772
|
-
]);
|
|
2773
2849
|
var mediaContract = contract([
|
|
2774
2850
|
{ name: "source", match: isTag("source") },
|
|
2775
2851
|
{ name: "track", match: isTag("track") },
|
|
2776
2852
|
metadata(),
|
|
2777
2853
|
{ name: "content", match: isOpenContent("source", "track", ...METADATA_TAGS) }
|
|
2778
2854
|
]);
|
|
2779
|
-
|
|
2780
|
-
|
|
2781
|
-
|
|
2782
|
-
|
|
2783
|
-
}
|
|
2855
|
+
|
|
2856
|
+
// ../core/src/html/contracts/html/tables.ts
|
|
2857
|
+
var tableContract = closedContract([
|
|
2858
|
+
firstOptional("caption", "caption"),
|
|
2859
|
+
{ name: "colgroup", match: isTag("colgroup") },
|
|
2860
|
+
{ name: "thead", match: isTag("thead"), cardinality: { max: 1 } },
|
|
2861
|
+
{ name: "tbody", match: isTag("tbody") },
|
|
2862
|
+
{ name: "tfoot", match: isTag("tfoot"), cardinality: { max: 1 } },
|
|
2863
|
+
{ name: "table-row", match: isTag("tr", ...METADATA_TAGS) }
|
|
2784
2864
|
]);
|
|
2785
|
-
var
|
|
2786
|
-
{ name: "
|
|
2787
|
-
{ name: "body", match: isTag("body"), cardinality: { min: 1, max: 1 } }
|
|
2865
|
+
var tableBodyContract = closedContract([
|
|
2866
|
+
{ name: "table-row", match: isTag("tr", ...METADATA_TAGS) }
|
|
2788
2867
|
]);
|
|
2789
|
-
var
|
|
2790
|
-
|
|
2791
|
-
|
|
2792
|
-
var
|
|
2793
|
-
|
|
2794
|
-
|
|
2795
|
-
|
|
2796
|
-
|
|
2797
|
-
var
|
|
2798
|
-
|
|
2799
|
-
|
|
2868
|
+
var tableRowContract = closedContract([
|
|
2869
|
+
{ name: "table-cell", match: isTag("td", "th", ...METADATA_TAGS) }
|
|
2870
|
+
]);
|
|
2871
|
+
var colgroupContract = closedContract([
|
|
2872
|
+
{ name: "column", match: isTag("col", "template") }
|
|
2873
|
+
]);
|
|
2874
|
+
|
|
2875
|
+
// ../core/src/html/contracts/html/text.ts
|
|
2876
|
+
var pContract = closedContract([
|
|
2877
|
+
{ name: "content", match: isOpenContent(...P_BLOCKED_TAGS) }
|
|
2878
|
+
]);
|
|
2879
|
+
|
|
2880
|
+
// ../core/src/html/contracts/build-map.ts
|
|
2881
|
+
function buildMap(groups) {
|
|
2882
|
+
return Object.fromEntries(
|
|
2883
|
+
groups.flatMap(([keys2, value]) => keys2.map((key) => [key, value]))
|
|
2884
|
+
);
|
|
2885
|
+
}
|
|
2886
|
+
|
|
2887
|
+
// ../core/src/html/contracts/maps.ts
|
|
2800
2888
|
var CONTRACT_GROUPS = [
|
|
2801
2889
|
[VOID_TAGS, voidContract],
|
|
2802
2890
|
[TEXT_ONLY_TAGS, textOnlyContract],
|
|
@@ -2805,13 +2893,8 @@ var CONTRACT_GROUPS = [
|
|
|
2805
2893
|
[["audio", "video"], mediaContract],
|
|
2806
2894
|
[["thead", "tbody", "tfoot"], tableBodyContract]
|
|
2807
2895
|
];
|
|
2808
|
-
function contractMap(groups) {
|
|
2809
|
-
return Object.fromEntries(
|
|
2810
|
-
groups.flatMap(([tags, enforcement]) => tags.map((tag) => [tag, enforcement]))
|
|
2811
|
-
);
|
|
2812
|
-
}
|
|
2813
2896
|
var htmlContracts = {
|
|
2814
|
-
...
|
|
2897
|
+
...buildMap(CONTRACT_GROUPS),
|
|
2815
2898
|
table: tableContract,
|
|
2816
2899
|
tr: tableRowContract,
|
|
2817
2900
|
colgroup: colgroupContract,
|