{
  "mappings": "AAGA,cAAc,iBAAiB;AAE/B,cACE,gBACA,eACA,oBACA,mBACA,eACA,mBACK;;AAGP,YAAY,WACR,UACA,gBACA,gBACA,YACA,WACA,eACA,WACA,YACA,SACA,aACA,SACA,iBACA,aACA,kBACA,gBACA,eACA,aACA,WACA,aACA,aACA,SACA,WACA,SACA,SACA,aACA,UACA,YACA,QACA,UACA,cACA,SACA,SACA,YACA,aACA,QACA,SACA,YACA,SACA,SACA,YACA,aACA,qBACA,kBACA,UACA,eACA,SACA,SACA,WACA,cACA,gBACA,UACA,eACA,WACA,QACA,aACA,cACA,cACA,WACA,cACA,cACA,WACA,eACA,WACA,WACA,cACA,gBACA,WACA,QACA,UACA,YACA,aACA,SACA,YACA,SACA,UACA,YACA,YACA,SACA,aACA;;AAGJ,YAAY,eACR,oBACA,kBACA,kBACA,kBACA,mBACA,oBACA,mBACA,WACA,WACA,eACA,iBACA,gBACA,cACA,YACA,kBACA,mBACA,mBACA,YACA,YACA,qBACA,UACA,gBACA,WACA,eACA,qBACA,qBACA,SACA,gBACA,eACA,gBACA,wBACA,gBACA,gBACA,iBACA,aACA,OACA,kBACA,iBACA,uBACA,aACA,iBACA,mBACA,2BACA,4BACA,wCACA,4BACA,0BACA,gBACA,mBACA,YACA,QACA,qBACA,iBACA,eACA,QACA,aACA,iBACA;;AAGJ,YAAY,YACR,aACA,UACA,SACA,mBACA,UACA,SACA,WACA,UACA,WACA,aACA,UACA,UACA,WACA,WACA,QACA,SACA,SACA,QACA;;;;;AAMJ,iBAAiB,mBAAmB;;;;;;;AAQpC,iBAAiB,2BAA2B,mBAAmB;;CAE7D;;CAEA;;CAEA,sBAAsB,SAAS,WAAW,SAAS;CACnD;CACA,2BAA2B;;CAE3B;;CAEA;;CAEA;;CAEA;;CAEA;;CAEA,2BAA2B,SAAS,SAAS,aAAa,SAAS;;;;;CAKnE;;CAEA;CACA;;CAEA;CACA;;CAEA;;CAEA,kBAAkB,SAAS,YAAY,SAAS,SAAS;;CAEzD;;CAEA,2BAA2B,YAA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",
  "names": [],
  "sources": [
    "src/props.ts"
  ],
  "version": 3,
  "sourcesContent": [
    "// Generated by scripts/generate-props.ts from the tables in src/tables.\n// Run `bun run generate:props` after changing a table. Do not edit by hand.\n\nimport type { ReactNode } from 'react'\n\nimport type {\n  DOMChangeEvent,\n  DOMClickEvent,\n  DOMImageErrorEvent,\n  DOMImageLoadEvent,\n  DOMInputEvent,\n  DOMKeyEvent,\n} from './events'\n\n/** the aria roles an author may set, excluding the abstract roles */\nexport type AriaRole =\n  | 'alert'\n  | 'alertdialog'\n  | 'application'\n  | 'article'\n  | 'banner'\n  | 'blockquote'\n  | 'button'\n  | 'caption'\n  | 'cell'\n  | 'checkbox'\n  | 'code'\n  | 'columnheader'\n  | 'combobox'\n  | 'complementary'\n  | 'contentinfo'\n  | 'definition'\n  | 'deletion'\n  | 'dialog'\n  | 'document'\n  | 'emphasis'\n  | 'feed'\n  | 'figure'\n  | 'form'\n  | 'grid'\n  | 'gridcell'\n  | 'group'\n  | 'heading'\n  | 'img'\n  | 'input'\n  | 'insertion'\n  | 'link'\n  | 'list'\n  | 'listbox'\n  | 'listitem'\n  | 'log'\n  | 'main'\n  | 'marquee'\n  | 'math'\n  | 'menu'\n  | 'menubar'\n  | 'menuitem'\n  | 'menuitemcheckbox'\n  | 'menuitemradio'\n  | 'meter'\n  | 'navigation'\n  | 'none'\n  | 'note'\n  | 'option'\n  | 'paragraph'\n  | 'progressbar'\n  | 'radio'\n  | 'radiogroup'\n  | 'region'\n  | 'row'\n  | 'rowgroup'\n  | 'rowheader'\n  | 'scrollbar'\n  | 'search'\n  | 'searchbox'\n  | 'separator'\n  | 'slider'\n  | 'spinbutton'\n  | 'status'\n  | 'strong'\n  | 'subscript'\n  | 'superscript'\n  | 'switch'\n  | 'tab'\n  | 'table'\n  | 'tablist'\n  | 'tabpanel'\n  | 'term'\n  | 'textbox'\n  | 'time'\n  | 'timer'\n  | 'toolbar'\n  | 'tooltip'\n  | 'tree'\n  | 'treegrid'\n  | 'treeitem'\n\n/** the autofill hints web and react native both understand */\nexport type AutoComplete =\n  | 'additional-name'\n  | 'address-line1'\n  | 'address-line2'\n  | 'birthdate-day'\n  | 'birthdate-full'\n  | 'birthdate-month'\n  | 'birthdate-year'\n  | 'cc-csc'\n  | 'cc-exp'\n  | 'cc-exp-day'\n  | 'cc-exp-month'\n  | 'cc-exp-year'\n  | 'cc-number'\n  | 'cc-name'\n  | 'cc-given-name'\n  | 'cc-middle-name'\n  | 'cc-family-name'\n  | 'cc-type'\n  | 'country'\n  | 'current-password'\n  | 'email'\n  | 'family-name'\n  | 'gender'\n  | 'given-name'\n  | 'honorific-prefix'\n  | 'honorific-suffix'\n  | 'name'\n  | 'name-family'\n  | 'name-given'\n  | 'name-middle'\n  | 'name-middle-initial'\n  | 'name-prefix'\n  | 'name-suffix'\n  | 'new-password'\n  | 'nickname'\n  | 'on'\n  | 'one-time-code'\n  | 'organization'\n  | 'organization-title'\n  | 'password'\n  | 'password-new'\n  | 'postal-address'\n  | 'postal-address-country'\n  | 'postal-address-extended'\n  | 'postal-address-extended-postal-code'\n  | 'postal-address-locality'\n  | 'postal-address-region'\n  | 'postal-code'\n  | 'street-address'\n  | 'sms-otp'\n  | 'tel'\n  | 'tel-country-code'\n  | 'tel-national'\n  | 'tel-device'\n  | 'url'\n  | 'username'\n  | 'username-new'\n  | 'off'\n\n/** every html input type; the ones native cannot render are a native build error */\nexport type InputType =\n  | 'checkbox'\n  | 'color'\n  | 'date'\n  | 'datetime-local'\n  | 'email'\n  | 'file'\n  | 'hidden'\n  | 'month'\n  | 'number'\n  | 'password'\n  | 'radio'\n  | 'range'\n  | 'search'\n  | 'submit'\n  | 'tel'\n  | 'text'\n  | 'time'\n  | 'url'\n  | 'week'\n\n/**\n * `data-*` passthrough. Only `data-testid` reaches native, as `testID`; the\n * rest are web attributes.\n */\nexport interface StrictDOMDataProps {\n  [key: `data-${string}`]: string | number | boolean | undefined\n}\n\n/**\n * Everything every tag accepts. Element interfaces extend this rather than\n * restating it, so a tag costs one interface to instantiate.\n */\nexport interface StrictDOMPropsBase extends StrictDOMDataProps {\n  /** @platform web */\n  'aria-activedescendant'?: string\n  /** @platform web */\n  'aria-atomic'?: boolean\n  /** @platform web */\n  'aria-autocomplete'?: 'none' | 'inline' | 'list' | 'both'\n  'aria-busy'?: boolean\n  'aria-checked'?: boolean | 'mixed'\n  /** @platform web */\n  'aria-colcount'?: number\n  /** @platform web */\n  'aria-colindex'?: number\n  /** @platform web */\n  'aria-colindextext'?: string\n  /** @platform web */\n  'aria-colspan'?: number\n  /** @platform web */\n  'aria-controls'?: string\n  /** @platform web */\n  'aria-current'?: boolean | 'page' | 'step' | 'location' | 'date' | 'time'\n  /**\n   * react native has no described-by relationship; put the description in aria-label instead\n   * @platform web\n   */\n  'aria-describedby'?: string\n  /** @platform web */\n  'aria-details'?: string\n  'aria-disabled'?: boolean\n  /** @platform web */\n  'aria-errormessage'?: string\n  'aria-expanded'?: boolean\n  /** @platform web */\n  'aria-flowto'?: string\n  /** @platform web */\n  'aria-haspopup'?: 'menu' | 'listbox' | 'tree' | 'grid' | 'dialog'\n  /** also sets importantForAccessibility on android so descendants are hidden */\n  'aria-hidden'?: boolean\n  /** @platform web */\n  'aria-invalid'?: boolean | 'grammar' | 'spelling'\n  /** @platform web */\n  'aria-keyshortcuts'?: string\n  'aria-label'?: string\n  'aria-labelledby'?: string\n  /** @platform web */\n  'aria-level'?: number\n  'aria-live'?: 'off' | 'assertive' | 'polite'\n  'aria-modal'?: boolean\n  /** @platform web */\n  'aria-multiline'?: boolean\n  /** @platform web */\n  'aria-multiselectable'?: boolean\n  /** @platform web */\n  'aria-orientation'?: 'horizontal' | 'vertical'\n  /** @platform web */\n  'aria-owns'?: string\n  /** @platform web */\n  'aria-placeholder'?: string\n  /** @platform web */\n  'aria-posinset'?: number\n  /** @platform web */\n  'aria-pressed'?: boolean | 'mixed'\n  /** @platform web */\n  'aria-readonly'?: boolean\n  /** @platform web */\n  'aria-required'?: boolean\n  /** @platform web */\n  'aria-roledescription'?: string\n  /** @platform web */\n  'aria-rowcount'?: number\n  /** @platform web */\n  'aria-rowindex'?: number\n  /** @platform web */\n  'aria-rowindextext'?: string\n  /** @platform web */\n  'aria-rowspan'?: number\n  'aria-selected'?: boolean\n  /** @platform web */\n  'aria-setsize'?: number\n  /** @platform web */\n  'aria-sort'?: 'none' | 'ascending' | 'descending' | 'other'\n  'aria-valuemax'?: number\n  'aria-valuemin'?: number\n  'aria-valuenow'?: number\n  'aria-valuetext'?: string\n  /**\n   * focus a native element through a ref in an effect instead\n   * @platform web\n   */\n  autoFocus?: boolean\n  dir?: 'auto' | 'ltr' | 'rtl'\n  /**\n   * element timing is a browser performance api\n   * @platform web\n   */\n  elementTiming?: string\n  /** native applies display none and has no until-found reveal */\n  hidden?: true | 'hidden' | 'until-found'\n  id?: string\n  /** @platform web */\n  inert?: boolean\n  /** @platform web */\n  lang?: string\n  role?: AriaRole\n  tabIndex?: 0 | -1\n  /** @platform web */\n  suppressHydrationWarning?: boolean\n  'data-testid'?: string\n  onPointerCancel?: (event: unknown) => void\n  onPointerDown?: (event: unknown) => void\n  onPointerEnter?: (event: unknown) => void\n  onPointerLeave?: (event: unknown) => void\n  onPointerMove?: (event: unknown) => void\n  onPointerOut?: (event: unknown) => void\n  onPointerOver?: (event: unknown) => void\n  onPointerUp?: (event: unknown) => void\n  onGotPointerCapture?: (event: unknown) => void\n  onLostPointerCapture?: (event: unknown) => void\n  onTouchCancel?: (event: unknown) => void\n  onTouchEnd?: (event: unknown) => void\n  onTouchMove?: (event: unknown) => void\n  onTouchStart?: (event: unknown) => void\n  /** native builds the click payload from the press event; preventDefault and stopPropagation are no-ops because there is nothing to cancel */\n  onClick?: (event: DOMClickEvent) => void\n  /**\n   * native has no secondary pointer button\n   * @platform web\n   */\n  onAuxClick?: (event: unknown) => void\n  /**\n   * native has no context menu event; use a long press\n   * @platform web\n   */\n  onContextMenu?: (event: unknown) => void\n  /** native focus events only fire on elements that can hold focus, which is text entry and pressable elements */\n  onBlur?: (event: unknown) => void\n  /** native focus events only fire on elements that can hold focus, which is text entry and pressable elements */\n  onFocus?: (event: unknown) => void\n  /**\n   * native has no bubbling focus event; use onFocus\n   * @platform web\n   */\n  onFocusIn?: (event: unknown) => void\n  /**\n   * native has no bubbling blur event; use onBlur\n   * @platform web\n   */\n  onFocusOut?: (event: unknown) => void\n  /** native only reports key presses inside a text-entry control, and reports the submit key as Enter */\n  onKeyDown?: (event: DOMKeyEvent) => void\n  /**\n   * react native reports key presses, not key releases\n   * @platform web\n   */\n  onKeyUp?: (event: unknown) => void\n  /**\n   * native has no clipboard events\n   * @platform web\n   */\n  onCopy?: (event: unknown) => void\n  /**\n   * native has no clipboard events\n   * @platform web\n   */\n  onCut?: (event: unknown) => void\n  /**\n   * native has no clipboard events\n   * @platform web\n   */\n  onPaste?: (event: unknown) => void\n  /**\n   * fullscreen is a browser api\n   * @platform web\n   */\n  onFullscreenChange?: (event: unknown) => void\n  /**\n   * fullscreen is a browser api\n   * @platform web\n   */\n  onFullscreenError?: (event: unknown) => void\n  onScroll?: (event: unknown) => void\n  /**\n   * native has no wheel input\n   * @platform web\n   */\n  onWheel?: (event: unknown) => void\n  onMouseDown?: (event: unknown) => void\n  onMouseEnter?: (event: unknown) => void\n  onMouseLeave?: (event: unknown) => void\n  /**\n   * use onPointerMove for cross-platform pointer input\n   * @platform web\n   */\n  onMouseMove?: (event: unknown) => void\n  onMouseOut?: (event: unknown) => void\n  onMouseOver?: (event: unknown) => void\n  onMouseUp?: (event: unknown) => void\n}\n\nexport interface StrictDOMAnchorProps extends StrictDOMPropsBase {\n  /** @platform web */\n  download?: string\n  /**\n   * native has no navigation; handle onClick and call your router or Linking\n   * @platform web\n   */\n  href?: string\n  /** native honours it for image requests only */\n  referrerPolicy?:\n    | 'no-referrer'\n    | 'no-referrer-when-downgrade'\n    | 'origin'\n    | 'origin-when-cross-origin'\n    | 'same-origin'\n    | 'strict-origin'\n    | 'strict-origin-when-cross-origin'\n    | 'unsafe-url'\n  /** @platform web */\n  rel?: string\n  /** @platform web */\n  target?: '_self' | '_blank' | '_parent' | '_top'\n  children?: ReactNode\n}\n\nexport interface StrictDOMProps extends StrictDOMPropsBase {\n  children?: ReactNode\n}\n\n/** the common interface for a tag that takes no children: br and hr */\nexport interface StrictDOMVoidProps extends StrictDOMPropsBase {\n  children?: never\n}\n\nexport interface StrictDOMButtonProps extends StrictDOMPropsBase {\n  /** native also clears focusable, and editable on a text-entry control */\n  disabled?: boolean\n  type?: 'button' | 'submit'\n  children?: ReactNode\n}\n\nexport interface StrictDOMImageProps extends StrictDOMPropsBase {\n  alt?: string\n  crossOrigin?: 'anonymous' | 'use-credentials'\n  /** @platform web */\n  decoding?: 'async' | 'auto' | 'sync'\n  /** @platform web */\n  draggable?: boolean\n  /** @platform web */\n  fetchPriority?: 'high' | 'low' | 'auto'\n  height?: number\n  /** @platform web */\n  loading?: 'eager' | 'lazy'\n  /** native honours it for image requests only */\n  referrerPolicy?:\n    | 'no-referrer'\n    | 'no-referrer-when-downgrade'\n    | 'origin'\n    | 'origin-when-cross-origin'\n    | 'same-origin'\n    | 'strict-origin'\n    | 'strict-origin-when-cross-origin'\n    | 'unsafe-url'\n  src?: string\n  srcSet?: string\n  width?: number\n  onError?: (event: DOMImageErrorEvent) => void\n  /** native reports naturalWidth and naturalHeight from the decoded source */\n  onLoad?: (event: DOMImageLoadEvent) => void\n  children?: never\n}\n\nexport interface StrictDOMInputProps extends StrictDOMPropsBase {\n  autoCapitalize?: 'none' | 'sentences' | 'words' | 'characters'\n  autoComplete?: AutoComplete\n  /**\n   * checkbox and radio inputs have no native rendering\n   * @platform web\n   */\n  checked?: boolean | 'mixed'\n  /**\n   * checkbox and radio inputs have no native rendering\n   * @platform web\n   */\n  defaultChecked?: boolean\n  defaultValue?: string\n  /** native also clears focusable, and editable on a text-entry control */\n  disabled?: boolean\n  enterKeyHint?: 'enter' | 'done' | 'go' | 'next' | 'previous' | 'search' | 'send'\n  inputMode?: 'none' | 'text' | 'tel' | 'url' | 'email' | 'numeric' | 'decimal' | 'search'\n  /** @platform web */\n  max?: string | number\n  maxLength?: number\n  /** @platform web */\n  min?: string | number\n  /** @platform web */\n  minLength?: number\n  /** @platform web */\n  multiple?: boolean\n  /**\n   * form field names only matter to a form submission, which native does not have\n   * @platform web\n   */\n  name?: string\n  placeholder?: string\n  readOnly?: boolean\n  /**\n   * native has no form validation\n   * @platform web\n   */\n  required?: boolean\n  /** ios only on native */\n  spellCheck?: boolean\n  /** @platform web */\n  step?: number | 'any'\n  /** on native the type selects the keyboard and secure entry rather than reaching one prop, and the types with no text-entry control are a build error */\n  type?: InputType\n  value?: string\n  /**\n   * native text entry reports changes only after they are applied\n   * @platform web\n   */\n  onBeforeInput?: (event: unknown) => void\n  /** native fires on every keystroke like onInput, because there is no commit-on-blur change event */\n  onChange?: (event: DOMChangeEvent) => void\n  onInput?: (event: DOMInputEvent) => void\n  /**\n   * native has no form validation\n   * @platform web\n   */\n  onInvalid?: (event: unknown) => void\n  /**\n   * read the selection through the element ref instead\n   * @platform web\n   */\n  onSelect?: (event: unknown) => void\n  children?: never\n}\n\nexport interface StrictDOMLabelProps extends StrictDOMPropsBase {\n  /**\n   * native has no label association; wrap the control or drive it from your own state\n   * @platform web\n   */\n  for?: string\n  children?: ReactNode\n}\n\nexport interface StrictDOMListItemProps extends StrictDOMPropsBase {\n  /** the list counter is not rendered on either platform, matching the list-style reset */\n  value?: number\n  children?: ReactNode\n}\n\nexport interface StrictDOMOptionGroupProps extends StrictDOMPropsBase {\n  /** native also clears focusable, and editable on a text-entry control */\n  disabled?: boolean\n  /** @platform web */\n  label?: string\n  children?: ReactNode\n}\n\nexport interface StrictDOMOptionProps extends StrictDOMPropsBase {\n  /** native also clears focusable, and editable on a text-entry control */\n  disabled?: boolean\n  /** @platform web */\n  label?: string\n  value?: string\n  children?: string | number\n}\n\nexport interface StrictDOMSelectProps extends StrictDOMPropsBase {\n  autoComplete?: AutoComplete\n  defaultValue?: string | readonly string[]\n  /** @platform web */\n  multiple?: boolean\n  /**\n   * form field names only matter to a form submission, which native does not have\n   * @platform web\n   */\n  name?: string\n  /**\n   * native has no form validation\n   * @platform web\n   */\n  required?: boolean\n  value?: string | readonly string[]\n  /**\n   * native text entry reports changes only after they are applied\n   * @platform web\n   */\n  onBeforeInput?: (event: unknown) => void\n  /** native fires on every keystroke like onInput, because there is no commit-on-blur change event */\n  onChange?: (event: DOMChangeEvent) => void\n  onInput?: (event: DOMInputEvent) => void\n  /**\n   * native has no form validation\n   * @platform web\n   */\n  onInvalid?: (event: unknown) => void\n  /**\n   * read the selection through the element ref instead\n   * @platform web\n   */\n  onSelect?: (event: unknown) => void\n  children?: ReactNode\n}\n\nexport interface StrictDOMTextAreaProps extends StrictDOMPropsBase {\n  autoCapitalize?: 'none' | 'sentences' | 'words' | 'characters'\n  autoComplete?: AutoComplete\n  defaultValue?: string\n  /** native also clears focusable, and editable on a text-entry control */\n  disabled?: boolean\n  enterKeyHint?: 'enter' | 'done' | 'go' | 'next' | 'previous' | 'search' | 'send'\n  inputMode?: 'none' | 'text' | 'tel' | 'url' | 'email' | 'numeric' | 'decimal' | 'search'\n  maxLength?: number\n  /** @platform web */\n  minLength?: number\n  /**\n   * form field names only matter to a form submission, which native does not have\n   * @platform web\n   */\n  name?: string\n  placeholder?: string\n  readOnly?: boolean\n  /**\n   * native has no form validation\n   * @platform web\n   */\n  required?: boolean\n  rows?: number\n  /** ios only on native */\n  spellCheck?: boolean\n  value?: string\n  /**\n   * native text entry reports changes only after they are applied\n   * @platform web\n   */\n  onBeforeInput?: (event: unknown) => void\n  /** native fires on every keystroke like onInput, because there is no commit-on-blur change event */\n  onChange?: (event: DOMChangeEvent) => void\n  onInput?: (event: DOMInputEvent) => void\n  /**\n   * native has no form validation\n   * @platform web\n   */\n  onInvalid?: (event: unknown) => void\n  /**\n   * read the selection through the element ref instead\n   * @platform web\n   */\n  onSelect?: (event: unknown) => void\n  children?: never\n}\n\n/** the props interface for each tag in the DOM contract */\nexport type StrictDOMPropsByTag = {\n  a: StrictDOMAnchorProps\n  article: StrictDOMProps\n  aside: StrictDOMProps\n  b: StrictDOMProps\n  bdi: StrictDOMProps\n  bdo: StrictDOMProps\n  blockquote: StrictDOMProps\n  br: StrictDOMVoidProps\n  button: StrictDOMButtonProps\n  code: StrictDOMProps\n  del: StrictDOMProps\n  div: StrictDOMProps\n  em: StrictDOMProps\n  fieldset: StrictDOMProps\n  footer: StrictDOMProps\n  form: StrictDOMProps\n  h1: StrictDOMProps\n  h2: StrictDOMProps\n  h3: StrictDOMProps\n  h4: StrictDOMProps\n  h5: StrictDOMProps\n  h6: StrictDOMProps\n  header: StrictDOMProps\n  hr: StrictDOMVoidProps\n  i: StrictDOMProps\n  img: StrictDOMImageProps\n  input: StrictDOMInputProps\n  ins: StrictDOMProps\n  kbd: StrictDOMProps\n  label: StrictDOMLabelProps\n  li: StrictDOMListItemProps\n  main: StrictDOMProps\n  mark: StrictDOMProps\n  nav: StrictDOMProps\n  ol: StrictDOMProps\n  optgroup: StrictDOMOptionGroupProps\n  option: StrictDOMOptionProps\n  p: StrictDOMProps\n  pre: StrictDOMProps\n  s: StrictDOMProps\n  section: StrictDOMProps\n  select: StrictDOMSelectProps\n  span: StrictDOMProps\n  strong: StrictDOMProps\n  sub: StrictDOMProps\n  sup: StrictDOMProps\n  textarea: StrictDOMTextAreaProps\n  u: StrictDOMProps\n  ul: StrictDOMProps\n}\n"
  ]
}