"use strict";
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
const caseInsensitiveTransform = require("./lib-util-case-insensitive-transform.cjs");
const create = require("./lib-util-create.cjs");
const types = require("./lib-util-types.cjs");
const html = create.create({
  attributes: {
    acceptcharset: "accept-charset",
    classname: "class",
    htmlfor: "for",
    httpequiv: "http-equiv"
  },
  mustUseProperty: ["checked", "multiple", "muted", "selected"],
  properties: {
    // Standard Properties.
    abbr: null,
    accept: types.commaSeparated,
    acceptCharset: types.spaceSeparated,
    accessKey: types.spaceSeparated,
    action: null,
    allow: null,
    allowFullScreen: types.boolean,
    allowPaymentRequest: types.boolean,
    allowUserMedia: types.boolean,
    alt: null,
    as: null,
    async: types.boolean,
    autoCapitalize: null,
    autoComplete: types.spaceSeparated,
    autoFocus: types.boolean,
    autoPlay: types.boolean,
    blocking: types.spaceSeparated,
    capture: null,
    charSet: null,
    checked: types.boolean,
    cite: null,
    className: types.spaceSeparated,
    cols: types.number,
    colSpan: null,
    content: null,
    contentEditable: types.booleanish,
    controls: types.boolean,
    controlsList: types.spaceSeparated,
    coords: types.number | types.commaSeparated,
    crossOrigin: null,
    data: null,
    dateTime: null,
    decoding: null,
    default: types.boolean,
    defer: types.boolean,
    dir: null,
    dirName: null,
    disabled: types.boolean,
    download: types.overloadedBoolean,
    draggable: types.booleanish,
    encType: null,
    enterKeyHint: null,
    fetchPriority: null,
    form: null,
    formAction: null,
    formEncType: null,
    formMethod: null,
    formNoValidate: types.boolean,
    formTarget: null,
    headers: types.spaceSeparated,
    height: types.number,
    hidden: types.overloadedBoolean,
    high: types.number,
    href: null,
    hrefLang: null,
    htmlFor: types.spaceSeparated,
    httpEquiv: types.spaceSeparated,
    id: null,
    imageSizes: null,
    imageSrcSet: null,
    inert: types.boolean,
    inputMode: null,
    integrity: null,
    is: null,
    isMap: types.boolean,
    itemId: null,
    itemProp: types.spaceSeparated,
    itemRef: types.spaceSeparated,
    itemScope: types.boolean,
    itemType: types.spaceSeparated,
    kind: null,
    label: null,
    lang: null,
    language: null,
    list: null,
    loading: null,
    loop: types.boolean,
    low: types.number,
    manifest: null,
    max: null,
    maxLength: types.number,
    media: null,
    method: null,
    min: null,
    minLength: types.number,
    multiple: types.boolean,
    muted: types.boolean,
    name: null,
    nonce: null,
    noModule: types.boolean,
    noValidate: types.boolean,
    onAbort: null,
    onAfterPrint: null,
    onAuxClick: null,
    onBeforeMatch: null,
    onBeforePrint: null,
    onBeforeToggle: null,
    onBeforeUnload: null,
    onBlur: null,
    onCancel: null,
    onCanPlay: null,
    onCanPlayThrough: null,
    onChange: null,
    onClick: null,
    onClose: null,
    onContextLost: null,
    onContextMenu: null,
    onContextRestored: null,
    onCopy: null,
    onCueChange: null,
    onCut: null,
    onDblClick: null,
    onDrag: null,
    onDragEnd: null,
    onDragEnter: null,
    onDragExit: null,
    onDragLeave: null,
    onDragOver: null,
    onDragStart: null,
    onDrop: null,
    onDurationChange: null,
    onEmptied: null,
    onEnded: null,
    onError: null,
    onFocus: null,
    onFormData: null,
    onHashChange: null,
    onInput: null,
    onInvalid: null,
    onKeyDown: null,
    onKeyPress: null,
    onKeyUp: null,
    onLanguageChange: null,
    onLoad: null,
    onLoadedData: null,
    onLoadedMetadata: null,
    onLoadEnd: null,
    onLoadStart: null,
    onMessage: null,
    onMessageError: null,
    onMouseDown: null,
    onMouseEnter: null,
    onMouseLeave: null,
    onMouseMove: null,
    onMouseOut: null,
    onMouseOver: null,
    onMouseUp: null,
    onOffline: null,
    onOnline: null,
    onPageHide: null,
    onPageShow: null,
    onPaste: null,
    onPause: null,
    onPlay: null,
    onPlaying: null,
    onPopState: null,
    onProgress: null,
    onRateChange: null,
    onRejectionHandled: null,
    onReset: null,
    onResize: null,
    onScroll: null,
    onScrollEnd: null,
    onSecurityPolicyViolation: null,
    onSeeked: null,
    onSeeking: null,
    onSelect: null,
    onSlotChange: null,
    onStalled: null,
    onStorage: null,
    onSubmit: null,
    onSuspend: null,
    onTimeUpdate: null,
    onToggle: null,
    onUnhandledRejection: null,
    onUnload: null,
    onVolumeChange: null,
    onWaiting: null,
    onWheel: null,
    open: types.boolean,
    optimum: types.number,
    pattern: null,
    ping: types.spaceSeparated,
    placeholder: null,
    playsInline: types.boolean,
    popover: null,
    popoverTarget: null,
    popoverTargetAction: null,
    poster: null,
    preload: null,
    readOnly: types.boolean,
    referrerPolicy: null,
    rel: types.spaceSeparated,
    required: types.boolean,
    reversed: types.boolean,
    rows: types.number,
    rowSpan: types.number,
    sandbox: types.spaceSeparated,
    scope: null,
    scoped: types.boolean,
    seamless: types.boolean,
    selected: types.boolean,
    shadowRootClonable: types.boolean,
    shadowRootDelegatesFocus: types.boolean,
    shadowRootMode: null,
    shape: null,
    size: types.number,
    sizes: null,
    slot: null,
    span: types.number,
    spellCheck: types.booleanish,
    src: null,
    srcDoc: null,
    srcLang: null,
    srcSet: null,
    start: types.number,
    step: null,
    style: null,
    tabIndex: types.number,
    target: null,
    title: null,
    translate: null,
    type: null,
    typeMustMatch: types.boolean,
    useMap: null,
    value: types.booleanish,
    width: types.number,
    wrap: null,
    writingSuggestions: null,
    // Legacy.
    // See: https://html.spec.whatwg.org/#other-elements,-attributes-and-apis
    align: null,
    // Several. Use CSS `text-align` instead,
    aLink: null,
    // `<body>`. Use CSS `a:active {color}` instead
    archive: types.spaceSeparated,
    // `<object>`. List of URIs to archives
    axis: null,
    // `<td>` and `<th>`. Use `scope` on `<th>`
    background: null,
    // `<body>`. Use CSS `background-image` instead
    bgColor: null,
    // `<body>` and table elements. Use CSS `background-color` instead
    border: types.number,
    // `<table>`. Use CSS `border-width` instead,
    borderColor: null,
    // `<table>`. Use CSS `border-color` instead,
    bottomMargin: types.number,
    // `<body>`
    cellPadding: null,
    // `<table>`
    cellSpacing: null,
    // `<table>`
    char: null,
    // Several table elements. When `align=char`, sets the character to align on
    charOff: null,
    // Several table elements. When `char`, offsets the alignment
    classId: null,
    // `<object>`
    clear: null,
    // `<br>`. Use CSS `clear` instead
    code: null,
    // `<object>`
    codeBase: null,
    // `<object>`
    codeType: null,
    // `<object>`
    color: null,
    // `<font>` and `<hr>`. Use CSS instead
    compact: types.boolean,
    // Lists. Use CSS to reduce space between items instead
    declare: types.boolean,
    // `<object>`
    event: null,
    // `<script>`
    face: null,
    // `<font>`. Use CSS instead
    frame: null,
    // `<table>`
    frameBorder: null,
    // `<iframe>`. Use CSS `border` instead
    hSpace: types.number,
    // `<img>` and `<object>`
    leftMargin: types.number,
    // `<body>`
    link: null,
    // `<body>`. Use CSS `a:link {color: *}` instead
    longDesc: null,
    // `<frame>`, `<iframe>`, and `<img>`. Use an `<a>`
    lowSrc: null,
    // `<img>`. Use a `<picture>`
    marginHeight: types.number,
    // `<body>`
    marginWidth: types.number,
    // `<body>`
    noResize: types.boolean,
    // `<frame>`
    noHref: types.boolean,
    // `<area>`. Use no href instead of an explicit `nohref`
    noShade: types.boolean,
    // `<hr>`. Use background-color and height instead of borders
    noWrap: types.boolean,
    // `<td>` and `<th>`
    object: null,
    // `<applet>`
    profile: null,
    // `<head>`
    prompt: null,
    // `<isindex>`
    rev: null,
    // `<link>`
    rightMargin: types.number,
    // `<body>`
    rules: null,
    // `<table>`
    scheme: null,
    // `<meta>`
    scrolling: types.booleanish,
    // `<frame>`. Use overflow in the child context
    standby: null,
    // `<object>`
    summary: null,
    // `<table>`
    text: null,
    // `<body>`. Use CSS `color` instead
    topMargin: types.number,
    // `<body>`
    valueType: null,
    // `<param>`
    version: null,
    // `<html>`. Use a doctype.
    vAlign: null,
    // Several. Use CSS `vertical-align` instead
    vLink: null,
    // `<body>`. Use CSS `a:visited {color}` instead
    vSpace: types.number,
    // `<img>` and `<object>`
    // Non-standard Properties.
    allowTransparency: null,
    autoCorrect: null,
    autoSave: null,
    disablePictureInPicture: types.boolean,
    disableRemotePlayback: types.boolean,
    prefix: null,
    property: null,
    results: types.number,
    security: null,
    unselectable: null
  },
  space: "html",
  transform: caseInsensitiveTransform.caseInsensitiveTransform
});
exports.html = html;
//# sourceMappingURL=lib-html.cjs.map
