react-spectrum icon indicating copy to clipboard operation
react-spectrum copied to clipboard

Fix Compat for React 19 types

Open snowystinger opened this issue 1 year ago โ€ข 4 comments

Closes

Found in Daniel's work, this adds needed compatibility between React 18 and 19 types. See https://github.com/microsoft/TypeScript/issues/59049

โœ… Pull Request Checklist:

  • [ ] Included link to corresponding React Spectrum GitHub Issue.
  • [ ] Added/updated unit tests and storybook for this change (for new code or code which already has tests).
  • [ ] Filled out test instructions.
  • [ ] Updated documentation (if it already exists for this component).
  • [ ] Looked at the Accessibility Practices for this feature - Aria Practices

๐Ÿ“ Test Instructions:

๐Ÿงข Your Project:

snowystinger avatar Jun 27 '24 04:06 snowystinger

Just a FYI, I pulled this into my load more branch locally for S2 development and verified that it fixed most of the lint issues except for this last numberfield one which I didn't look into yet:

src/NumberField.tsx(371,44): error TS2769: No overload matches this call.
[0]   The last overload gave the following error.
[0]     Argument of type '{ elementType: "div"; form?: string | undefined; formAction?: string | undefined; formEncType?: string | undefined; formMethod?: string | undefined; formNoValidate?: boolean | undefined; ... 32 more ...; style?: CSSProperties | ... 1 more ... | undefined; }' is not assignable to parameter of type 'AriaButtonOptions<ElementType>'.
[0]       Types of property 'onPress' are incompatible.
[0]         Type '((e: import("/Users/danilu/dev/experimental-s2/node_modules/react-aria-components/node_modules/@react-types/shared/src/events").PressEvent) => void) | undefined' is not assignable to type '((e: import("/Users/danilu/dev/experimental-s2/node_modules/@react-types/shared/src/events").PressEvent) => void) | undefined'.
[0]           Type '(e: import("/Users/danilu/dev/experimental-s2/node_modules/react-aria-components/node_modules/@react-types/shared/src/events").PressEvent) => void' is not assignable to type '(e: import("/Users/danilu/dev/experimental-s2/node_modules/@react-types/shared/src/events").PressEvent) 

LFDanLu avatar Jun 28 '24 20:06 LFDanLu

## API Changes

unknown top level export { type: 'any' } unknown top level export { type: 'any' } unknown top level export { type: 'any' } unknown top level export { type: 'any' } unknown top level export { type: 'any', access: 'private' } unknown top level export { type: 'any', access: 'private' } unknown top level export { type: 'any' } unknown top level export { type: 'any' } unknown top level export { type: 'any' } unknown top level export { type: 'any' } unknown top level export { type: 'any' } unknown top level export { type: 'any' } unknown top level export { type: 'any' } unknown top level export { type: 'any' } unknown top level export { type: 'any' } unknown top level export { type: 'any' } unknown top level export { type: 'any' } unknown top level export { type: 'any' } unknown top level export { type: 'any' } unknown top level export { type: 'any' } unknown top level export { type: 'any' } unknown top level export { type: 'any' } unknown top level export { type: 'any' } unknown top level export { type: 'any' } unknown top level export { type: 'any' } unknown top level export { type: 'any' } unknown top level export { type: 'any' } unknown top level export { type: 'any' } unknown top level export { type: 'any' } unknown top level export { type: 'any' } unknown top level export { type: 'any' } unknown top level export { type: 'any' } unknown top level export { type: 'any' } unknown top level export { type: 'any' } unknown top level export { type: 'identifier', name: 'Column' } unknown top level export { type: 'identifier', name: 'Column' } unknown top level export { type: 'any' } unknown top level export { type: 'any' } unknown top level export { type: 'any' } unknown top level export { type: 'any' } unknown type { type: 'link' } unknown type { type: 'link' } unknown type { type: 'link' } unknown type { type: 'link' } unknown type { type: 'link' } unknown type { type: 'link' } unknown top level export { type: 'any' } unknown top level export { type: 'any' } unknown top level export { type: 'any' } unknown top level export { type: 'any' } unknown top level export { type: 'any' } unknown top level export { type: 'any' }

rspbot avatar Jul 12 '24 18:07 rspbot