ol-form-control.tsx 728 B

12345678910111213141516171819202122232425262728
  1. import { forwardRef } from 'react'
  2. import FormControl, {
  3. type OLBS5FormControlProps,
  4. } from '@/shared/components/form/form-control'
  5. import OLSpinner from '@/shared/components/ol/ol-spinner'
  6. type OLFormControlProps = OLBS5FormControlProps & {
  7. 'data-ol-dirty'?: unknown
  8. 'main-field'?: any // For the CM6's benefit in the editor search panel
  9. loading?: boolean
  10. }
  11. const OLFormControl = forwardRef<HTMLInputElement, OLFormControlProps>(
  12. (props, ref) => {
  13. const { append, ...rest } = props
  14. return (
  15. <FormControl
  16. ref={ref}
  17. {...rest}
  18. append={rest.loading ? <OLSpinner size="sm" /> : append}
  19. />
  20. )
  21. }
  22. )
  23. OLFormControl.displayName = 'OLFormControl'
  24. export default OLFormControl