1. /**
    
  2.  * Copyright (c) Meta Platforms, Inc. and affiliates.
    
  3.  *
    
  4.  * This source code is licensed under the MIT license found in the
    
  5.  * LICENSE file in the root directory of this source tree.
    
  6.  */
    
  7. 
    
  8. // When adding attributes to the HTML or SVG allowed attribute list, be sure to
    
  9. // also add them to this module to ensure casing and incorrect name
    
  10. // warnings.
    
  11. const possibleStandardNames = {
    
  12.   // HTML
    
  13.   accept: 'accept',
    
  14.   acceptcharset: 'acceptCharset',
    
  15.   'accept-charset': 'acceptCharset',
    
  16.   accesskey: 'accessKey',
    
  17.   action: 'action',
    
  18.   allowfullscreen: 'allowFullScreen',
    
  19.   alt: 'alt',
    
  20.   as: 'as',
    
  21.   async: 'async',
    
  22.   autocapitalize: 'autoCapitalize',
    
  23.   autocomplete: 'autoComplete',
    
  24.   autocorrect: 'autoCorrect',
    
  25.   autofocus: 'autoFocus',
    
  26.   autoplay: 'autoPlay',
    
  27.   autosave: 'autoSave',
    
  28.   capture: 'capture',
    
  29.   cellpadding: 'cellPadding',
    
  30.   cellspacing: 'cellSpacing',
    
  31.   challenge: 'challenge',
    
  32.   charset: 'charSet',
    
  33.   checked: 'checked',
    
  34.   children: 'children',
    
  35.   cite: 'cite',
    
  36.   class: 'className',
    
  37.   classid: 'classID',
    
  38.   classname: 'className',
    
  39.   cols: 'cols',
    
  40.   colspan: 'colSpan',
    
  41.   content: 'content',
    
  42.   contenteditable: 'contentEditable',
    
  43.   contextmenu: 'contextMenu',
    
  44.   controls: 'controls',
    
  45.   controlslist: 'controlsList',
    
  46.   coords: 'coords',
    
  47.   crossorigin: 'crossOrigin',
    
  48.   dangerouslysetinnerhtml: 'dangerouslySetInnerHTML',
    
  49.   data: 'data',
    
  50.   datetime: 'dateTime',
    
  51.   default: 'default',
    
  52.   defaultchecked: 'defaultChecked',
    
  53.   defaultvalue: 'defaultValue',
    
  54.   defer: 'defer',
    
  55.   dir: 'dir',
    
  56.   disabled: 'disabled',
    
  57.   disablepictureinpicture: 'disablePictureInPicture',
    
  58.   disableremoteplayback: 'disableRemotePlayback',
    
  59.   download: 'download',
    
  60.   draggable: 'draggable',
    
  61.   enctype: 'encType',
    
  62.   enterkeyhint: 'enterKeyHint',
    
  63.   fetchpriority: 'fetchPriority',
    
  64.   for: 'htmlFor',
    
  65.   form: 'form',
    
  66.   formmethod: 'formMethod',
    
  67.   formaction: 'formAction',
    
  68.   formenctype: 'formEncType',
    
  69.   formnovalidate: 'formNoValidate',
    
  70.   formtarget: 'formTarget',
    
  71.   frameborder: 'frameBorder',
    
  72.   headers: 'headers',
    
  73.   height: 'height',
    
  74.   hidden: 'hidden',
    
  75.   high: 'high',
    
  76.   href: 'href',
    
  77.   hreflang: 'hrefLang',
    
  78.   htmlfor: 'htmlFor',
    
  79.   httpequiv: 'httpEquiv',
    
  80.   'http-equiv': 'httpEquiv',
    
  81.   icon: 'icon',
    
  82.   id: 'id',
    
  83.   imagesizes: 'imageSizes',
    
  84.   imagesrcset: 'imageSrcSet',
    
  85.   innerhtml: 'innerHTML',
    
  86.   inputmode: 'inputMode',
    
  87.   integrity: 'integrity',
    
  88.   is: 'is',
    
  89.   itemid: 'itemID',
    
  90.   itemprop: 'itemProp',
    
  91.   itemref: 'itemRef',
    
  92.   itemscope: 'itemScope',
    
  93.   itemtype: 'itemType',
    
  94.   keyparams: 'keyParams',
    
  95.   keytype: 'keyType',
    
  96.   kind: 'kind',
    
  97.   label: 'label',
    
  98.   lang: 'lang',
    
  99.   list: 'list',
    
  100.   loop: 'loop',
    
  101.   low: 'low',
    
  102.   manifest: 'manifest',
    
  103.   marginwidth: 'marginWidth',
    
  104.   marginheight: 'marginHeight',
    
  105.   max: 'max',
    
  106.   maxlength: 'maxLength',
    
  107.   media: 'media',
    
  108.   mediagroup: 'mediaGroup',
    
  109.   method: 'method',
    
  110.   min: 'min',
    
  111.   minlength: 'minLength',
    
  112.   multiple: 'multiple',
    
  113.   muted: 'muted',
    
  114.   name: 'name',
    
  115.   nomodule: 'noModule',
    
  116.   nonce: 'nonce',
    
  117.   novalidate: 'noValidate',
    
  118.   open: 'open',
    
  119.   optimum: 'optimum',
    
  120.   pattern: 'pattern',
    
  121.   placeholder: 'placeholder',
    
  122.   playsinline: 'playsInline',
    
  123.   poster: 'poster',
    
  124.   preload: 'preload',
    
  125.   profile: 'profile',
    
  126.   radiogroup: 'radioGroup',
    
  127.   readonly: 'readOnly',
    
  128.   referrerpolicy: 'referrerPolicy',
    
  129.   rel: 'rel',
    
  130.   required: 'required',
    
  131.   reversed: 'reversed',
    
  132.   role: 'role',
    
  133.   rows: 'rows',
    
  134.   rowspan: 'rowSpan',
    
  135.   sandbox: 'sandbox',
    
  136.   scope: 'scope',
    
  137.   scoped: 'scoped',
    
  138.   scrolling: 'scrolling',
    
  139.   seamless: 'seamless',
    
  140.   selected: 'selected',
    
  141.   shape: 'shape',
    
  142.   size: 'size',
    
  143.   sizes: 'sizes',
    
  144.   span: 'span',
    
  145.   spellcheck: 'spellCheck',
    
  146.   src: 'src',
    
  147.   srcdoc: 'srcDoc',
    
  148.   srclang: 'srcLang',
    
  149.   srcset: 'srcSet',
    
  150.   start: 'start',
    
  151.   step: 'step',
    
  152.   style: 'style',
    
  153.   summary: 'summary',
    
  154.   tabindex: 'tabIndex',
    
  155.   target: 'target',
    
  156.   title: 'title',
    
  157.   type: 'type',
    
  158.   usemap: 'useMap',
    
  159.   value: 'value',
    
  160.   width: 'width',
    
  161.   wmode: 'wmode',
    
  162.   wrap: 'wrap',
    
  163. 
    
  164.   // SVG
    
  165.   about: 'about',
    
  166.   accentheight: 'accentHeight',
    
  167.   'accent-height': 'accentHeight',
    
  168.   accumulate: 'accumulate',
    
  169.   additive: 'additive',
    
  170.   alignmentbaseline: 'alignmentBaseline',
    
  171.   'alignment-baseline': 'alignmentBaseline',
    
  172.   allowreorder: 'allowReorder',
    
  173.   alphabetic: 'alphabetic',
    
  174.   amplitude: 'amplitude',
    
  175.   arabicform: 'arabicForm',
    
  176.   'arabic-form': 'arabicForm',
    
  177.   ascent: 'ascent',
    
  178.   attributename: 'attributeName',
    
  179.   attributetype: 'attributeType',
    
  180.   autoreverse: 'autoReverse',
    
  181.   azimuth: 'azimuth',
    
  182.   basefrequency: 'baseFrequency',
    
  183.   baselineshift: 'baselineShift',
    
  184.   'baseline-shift': 'baselineShift',
    
  185.   baseprofile: 'baseProfile',
    
  186.   bbox: 'bbox',
    
  187.   begin: 'begin',
    
  188.   bias: 'bias',
    
  189.   by: 'by',
    
  190.   calcmode: 'calcMode',
    
  191.   capheight: 'capHeight',
    
  192.   'cap-height': 'capHeight',
    
  193.   clip: 'clip',
    
  194.   clippath: 'clipPath',
    
  195.   'clip-path': 'clipPath',
    
  196.   clippathunits: 'clipPathUnits',
    
  197.   cliprule: 'clipRule',
    
  198.   'clip-rule': 'clipRule',
    
  199.   color: 'color',
    
  200.   colorinterpolation: 'colorInterpolation',
    
  201.   'color-interpolation': 'colorInterpolation',
    
  202.   colorinterpolationfilters: 'colorInterpolationFilters',
    
  203.   'color-interpolation-filters': 'colorInterpolationFilters',
    
  204.   colorprofile: 'colorProfile',
    
  205.   'color-profile': 'colorProfile',
    
  206.   colorrendering: 'colorRendering',
    
  207.   'color-rendering': 'colorRendering',
    
  208.   contentscripttype: 'contentScriptType',
    
  209.   contentstyletype: 'contentStyleType',
    
  210.   cursor: 'cursor',
    
  211.   cx: 'cx',
    
  212.   cy: 'cy',
    
  213.   d: 'd',
    
  214.   datatype: 'datatype',
    
  215.   decelerate: 'decelerate',
    
  216.   descent: 'descent',
    
  217.   diffuseconstant: 'diffuseConstant',
    
  218.   direction: 'direction',
    
  219.   display: 'display',
    
  220.   divisor: 'divisor',
    
  221.   dominantbaseline: 'dominantBaseline',
    
  222.   'dominant-baseline': 'dominantBaseline',
    
  223.   dur: 'dur',
    
  224.   dx: 'dx',
    
  225.   dy: 'dy',
    
  226.   edgemode: 'edgeMode',
    
  227.   elevation: 'elevation',
    
  228.   enablebackground: 'enableBackground',
    
  229.   'enable-background': 'enableBackground',
    
  230.   end: 'end',
    
  231.   exponent: 'exponent',
    
  232.   externalresourcesrequired: 'externalResourcesRequired',
    
  233.   fill: 'fill',
    
  234.   fillopacity: 'fillOpacity',
    
  235.   'fill-opacity': 'fillOpacity',
    
  236.   fillrule: 'fillRule',
    
  237.   'fill-rule': 'fillRule',
    
  238.   filter: 'filter',
    
  239.   filterres: 'filterRes',
    
  240.   filterunits: 'filterUnits',
    
  241.   floodopacity: 'floodOpacity',
    
  242.   'flood-opacity': 'floodOpacity',
    
  243.   floodcolor: 'floodColor',
    
  244.   'flood-color': 'floodColor',
    
  245.   focusable: 'focusable',
    
  246.   fontfamily: 'fontFamily',
    
  247.   'font-family': 'fontFamily',
    
  248.   fontsize: 'fontSize',
    
  249.   'font-size': 'fontSize',
    
  250.   fontsizeadjust: 'fontSizeAdjust',
    
  251.   'font-size-adjust': 'fontSizeAdjust',
    
  252.   fontstretch: 'fontStretch',
    
  253.   'font-stretch': 'fontStretch',
    
  254.   fontstyle: 'fontStyle',
    
  255.   'font-style': 'fontStyle',
    
  256.   fontvariant: 'fontVariant',
    
  257.   'font-variant': 'fontVariant',
    
  258.   fontweight: 'fontWeight',
    
  259.   'font-weight': 'fontWeight',
    
  260.   format: 'format',
    
  261.   from: 'from',
    
  262.   fx: 'fx',
    
  263.   fy: 'fy',
    
  264.   g1: 'g1',
    
  265.   g2: 'g2',
    
  266.   glyphname: 'glyphName',
    
  267.   'glyph-name': 'glyphName',
    
  268.   glyphorientationhorizontal: 'glyphOrientationHorizontal',
    
  269.   'glyph-orientation-horizontal': 'glyphOrientationHorizontal',
    
  270.   glyphorientationvertical: 'glyphOrientationVertical',
    
  271.   'glyph-orientation-vertical': 'glyphOrientationVertical',
    
  272.   glyphref: 'glyphRef',
    
  273.   gradienttransform: 'gradientTransform',
    
  274.   gradientunits: 'gradientUnits',
    
  275.   hanging: 'hanging',
    
  276.   horizadvx: 'horizAdvX',
    
  277.   'horiz-adv-x': 'horizAdvX',
    
  278.   horizoriginx: 'horizOriginX',
    
  279.   'horiz-origin-x': 'horizOriginX',
    
  280.   ideographic: 'ideographic',
    
  281.   imagerendering: 'imageRendering',
    
  282.   'image-rendering': 'imageRendering',
    
  283.   in2: 'in2',
    
  284.   in: 'in',
    
  285.   inlist: 'inlist',
    
  286.   intercept: 'intercept',
    
  287.   k1: 'k1',
    
  288.   k2: 'k2',
    
  289.   k3: 'k3',
    
  290.   k4: 'k4',
    
  291.   k: 'k',
    
  292.   kernelmatrix: 'kernelMatrix',
    
  293.   kernelunitlength: 'kernelUnitLength',
    
  294.   kerning: 'kerning',
    
  295.   keypoints: 'keyPoints',
    
  296.   keysplines: 'keySplines',
    
  297.   keytimes: 'keyTimes',
    
  298.   lengthadjust: 'lengthAdjust',
    
  299.   letterspacing: 'letterSpacing',
    
  300.   'letter-spacing': 'letterSpacing',
    
  301.   lightingcolor: 'lightingColor',
    
  302.   'lighting-color': 'lightingColor',
    
  303.   limitingconeangle: 'limitingConeAngle',
    
  304.   local: 'local',
    
  305.   markerend: 'markerEnd',
    
  306.   'marker-end': 'markerEnd',
    
  307.   markerheight: 'markerHeight',
    
  308.   markermid: 'markerMid',
    
  309.   'marker-mid': 'markerMid',
    
  310.   markerstart: 'markerStart',
    
  311.   'marker-start': 'markerStart',
    
  312.   markerunits: 'markerUnits',
    
  313.   markerwidth: 'markerWidth',
    
  314.   mask: 'mask',
    
  315.   maskcontentunits: 'maskContentUnits',
    
  316.   maskunits: 'maskUnits',
    
  317.   mathematical: 'mathematical',
    
  318.   mode: 'mode',
    
  319.   numoctaves: 'numOctaves',
    
  320.   offset: 'offset',
    
  321.   opacity: 'opacity',
    
  322.   operator: 'operator',
    
  323.   order: 'order',
    
  324.   orient: 'orient',
    
  325.   orientation: 'orientation',
    
  326.   origin: 'origin',
    
  327.   overflow: 'overflow',
    
  328.   overlineposition: 'overlinePosition',
    
  329.   'overline-position': 'overlinePosition',
    
  330.   overlinethickness: 'overlineThickness',
    
  331.   'overline-thickness': 'overlineThickness',
    
  332.   paintorder: 'paintOrder',
    
  333.   'paint-order': 'paintOrder',
    
  334.   panose1: 'panose1',
    
  335.   'panose-1': 'panose1',
    
  336.   pathlength: 'pathLength',
    
  337.   patterncontentunits: 'patternContentUnits',
    
  338.   patterntransform: 'patternTransform',
    
  339.   patternunits: 'patternUnits',
    
  340.   pointerevents: 'pointerEvents',
    
  341.   'pointer-events': 'pointerEvents',
    
  342.   points: 'points',
    
  343.   pointsatx: 'pointsAtX',
    
  344.   pointsaty: 'pointsAtY',
    
  345.   pointsatz: 'pointsAtZ',
    
  346.   prefix: 'prefix',
    
  347.   preservealpha: 'preserveAlpha',
    
  348.   preserveaspectratio: 'preserveAspectRatio',
    
  349.   primitiveunits: 'primitiveUnits',
    
  350.   property: 'property',
    
  351.   r: 'r',
    
  352.   radius: 'radius',
    
  353.   refx: 'refX',
    
  354.   refy: 'refY',
    
  355.   renderingintent: 'renderingIntent',
    
  356.   'rendering-intent': 'renderingIntent',
    
  357.   repeatcount: 'repeatCount',
    
  358.   repeatdur: 'repeatDur',
    
  359.   requiredextensions: 'requiredExtensions',
    
  360.   requiredfeatures: 'requiredFeatures',
    
  361.   resource: 'resource',
    
  362.   restart: 'restart',
    
  363.   result: 'result',
    
  364.   results: 'results',
    
  365.   rotate: 'rotate',
    
  366.   rx: 'rx',
    
  367.   ry: 'ry',
    
  368.   scale: 'scale',
    
  369.   security: 'security',
    
  370.   seed: 'seed',
    
  371.   shaperendering: 'shapeRendering',
    
  372.   'shape-rendering': 'shapeRendering',
    
  373.   slope: 'slope',
    
  374.   spacing: 'spacing',
    
  375.   specularconstant: 'specularConstant',
    
  376.   specularexponent: 'specularExponent',
    
  377.   speed: 'speed',
    
  378.   spreadmethod: 'spreadMethod',
    
  379.   startoffset: 'startOffset',
    
  380.   stddeviation: 'stdDeviation',
    
  381.   stemh: 'stemh',
    
  382.   stemv: 'stemv',
    
  383.   stitchtiles: 'stitchTiles',
    
  384.   stopcolor: 'stopColor',
    
  385.   'stop-color': 'stopColor',
    
  386.   stopopacity: 'stopOpacity',
    
  387.   'stop-opacity': 'stopOpacity',
    
  388.   strikethroughposition: 'strikethroughPosition',
    
  389.   'strikethrough-position': 'strikethroughPosition',
    
  390.   strikethroughthickness: 'strikethroughThickness',
    
  391.   'strikethrough-thickness': 'strikethroughThickness',
    
  392.   string: 'string',
    
  393.   stroke: 'stroke',
    
  394.   strokedasharray: 'strokeDasharray',
    
  395.   'stroke-dasharray': 'strokeDasharray',
    
  396.   strokedashoffset: 'strokeDashoffset',
    
  397.   'stroke-dashoffset': 'strokeDashoffset',
    
  398.   strokelinecap: 'strokeLinecap',
    
  399.   'stroke-linecap': 'strokeLinecap',
    
  400.   strokelinejoin: 'strokeLinejoin',
    
  401.   'stroke-linejoin': 'strokeLinejoin',
    
  402.   strokemiterlimit: 'strokeMiterlimit',
    
  403.   'stroke-miterlimit': 'strokeMiterlimit',
    
  404.   strokewidth: 'strokeWidth',
    
  405.   'stroke-width': 'strokeWidth',
    
  406.   strokeopacity: 'strokeOpacity',
    
  407.   'stroke-opacity': 'strokeOpacity',
    
  408.   suppresscontenteditablewarning: 'suppressContentEditableWarning',
    
  409.   suppresshydrationwarning: 'suppressHydrationWarning',
    
  410.   surfacescale: 'surfaceScale',
    
  411.   systemlanguage: 'systemLanguage',
    
  412.   tablevalues: 'tableValues',
    
  413.   targetx: 'targetX',
    
  414.   targety: 'targetY',
    
  415.   textanchor: 'textAnchor',
    
  416.   'text-anchor': 'textAnchor',
    
  417.   textdecoration: 'textDecoration',
    
  418.   'text-decoration': 'textDecoration',
    
  419.   textlength: 'textLength',
    
  420.   textrendering: 'textRendering',
    
  421.   'text-rendering': 'textRendering',
    
  422.   to: 'to',
    
  423.   transform: 'transform',
    
  424.   transformorigin: 'transformOrigin',
    
  425.   'transform-origin': 'transformOrigin',
    
  426.   typeof: 'typeof',
    
  427.   u1: 'u1',
    
  428.   u2: 'u2',
    
  429.   underlineposition: 'underlinePosition',
    
  430.   'underline-position': 'underlinePosition',
    
  431.   underlinethickness: 'underlineThickness',
    
  432.   'underline-thickness': 'underlineThickness',
    
  433.   unicode: 'unicode',
    
  434.   unicodebidi: 'unicodeBidi',
    
  435.   'unicode-bidi': 'unicodeBidi',
    
  436.   unicoderange: 'unicodeRange',
    
  437.   'unicode-range': 'unicodeRange',
    
  438.   unitsperem: 'unitsPerEm',
    
  439.   'units-per-em': 'unitsPerEm',
    
  440.   unselectable: 'unselectable',
    
  441.   valphabetic: 'vAlphabetic',
    
  442.   'v-alphabetic': 'vAlphabetic',
    
  443.   values: 'values',
    
  444.   vectoreffect: 'vectorEffect',
    
  445.   'vector-effect': 'vectorEffect',
    
  446.   version: 'version',
    
  447.   vertadvy: 'vertAdvY',
    
  448.   'vert-adv-y': 'vertAdvY',
    
  449.   vertoriginx: 'vertOriginX',
    
  450.   'vert-origin-x': 'vertOriginX',
    
  451.   vertoriginy: 'vertOriginY',
    
  452.   'vert-origin-y': 'vertOriginY',
    
  453.   vhanging: 'vHanging',
    
  454.   'v-hanging': 'vHanging',
    
  455.   videographic: 'vIdeographic',
    
  456.   'v-ideographic': 'vIdeographic',
    
  457.   viewbox: 'viewBox',
    
  458.   viewtarget: 'viewTarget',
    
  459.   visibility: 'visibility',
    
  460.   vmathematical: 'vMathematical',
    
  461.   'v-mathematical': 'vMathematical',
    
  462.   vocab: 'vocab',
    
  463.   widths: 'widths',
    
  464.   wordspacing: 'wordSpacing',
    
  465.   'word-spacing': 'wordSpacing',
    
  466.   writingmode: 'writingMode',
    
  467.   'writing-mode': 'writingMode',
    
  468.   x1: 'x1',
    
  469.   x2: 'x2',
    
  470.   x: 'x',
    
  471.   xchannelselector: 'xChannelSelector',
    
  472.   xheight: 'xHeight',
    
  473.   'x-height': 'xHeight',
    
  474.   xlinkactuate: 'xlinkActuate',
    
  475.   'xlink:actuate': 'xlinkActuate',
    
  476.   xlinkarcrole: 'xlinkArcrole',
    
  477.   'xlink:arcrole': 'xlinkArcrole',
    
  478.   xlinkhref: 'xlinkHref',
    
  479.   'xlink:href': 'xlinkHref',
    
  480.   xlinkrole: 'xlinkRole',
    
  481.   'xlink:role': 'xlinkRole',
    
  482.   xlinkshow: 'xlinkShow',
    
  483.   'xlink:show': 'xlinkShow',
    
  484.   xlinktitle: 'xlinkTitle',
    
  485.   'xlink:title': 'xlinkTitle',
    
  486.   xlinktype: 'xlinkType',
    
  487.   'xlink:type': 'xlinkType',
    
  488.   xmlbase: 'xmlBase',
    
  489.   'xml:base': 'xmlBase',
    
  490.   xmllang: 'xmlLang',
    
  491.   'xml:lang': 'xmlLang',
    
  492.   xmlns: 'xmlns',
    
  493.   'xml:space': 'xmlSpace',
    
  494.   xmlnsxlink: 'xmlnsXlink',
    
  495.   'xmlns:xlink': 'xmlnsXlink',
    
  496.   xmlspace: 'xmlSpace',
    
  497.   y1: 'y1',
    
  498.   y2: 'y2',
    
  499.   y: 'y',
    
  500.   ychannelselector: 'yChannelSelector',
    
  501.   z: 'z',
    
  502.   zoomandpan: 'zoomAndPan',
    
  503. };
    
  504. 
    
  505. export default possibleStandardNames;