useIconDefaults.tsx 616 B

1234567891011121314151617181920212223
  1. import {createContext, useContext} from 'react';
  2. import type {SVGIconProps} from './svgIcon';
  3. const IconDefaultsContext = createContext<SVGIconProps>({});
  4. /**
  5. * Use this context provider to set default values for icons.
  6. */
  7. function IconDefaultsProvider({children, ...props}: SVGIconProps) {
  8. return (
  9. <IconDefaultsContext.Provider value={props}>{children}</IconDefaultsContext.Provider>
  10. );
  11. }
  12. /**
  13. * Provides default props for SVGIconProps via
  14. */
  15. function useIconDefaults(props: SVGIconProps) {
  16. return {...useContext(IconDefaultsContext), ...props};
  17. }
  18. export {IconDefaultsProvider, useIconDefaults};