All files / @types grapple.d.ts

0% Statements 0/0
0% Branches 0/0
0% Functions 0/0
0% Lines 0/0

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74                                                                                                                                                   
/* eslint-disable no-duplicate-imports, no-unused-vars, init-declarations */
 
declare module "@bluframe/grapple" {
  import React from "react"
 
  // PrepareComponent
  type GetProps<
    Props extends Record<string, unknown>,
    ComponentProps extends Record<string, unknown>
  > = (props: Props) => ComponentProps
 
  type Prepare<
    Props extends Record<string, unknown>,
    ComponentProps extends Record<string, unknown>
  > = (
    Component: React.JSXElementConstructor<ComponentProps>
  ) => React.JSXElementConstructor<Props>
 
  interface PrepareComponentOptions {
    onlyRenderIf?: (props: any) => boolean
    onlyUpdate?: string[]
  }
 
  export type PrepareComponent = <Props, ComponentProps>(
    usePrepareComponent: GetProps<Props, ComponentProps>,
    options?: PrepareComponentOptions
  ) => Prepare<Props, ComponentProps>
 
  // Hooks
  export type UseOnScreen = (
    offset?: string
  ) => [boolean, { current: ?HTMLElement }]
  export type UsePrevious = <T>(value: T) => ?T
  export type UseToggle = (defaultValue?: boolean) => [boolean, () => void]
  export type UseTrimText = (text: string, max: number) => string
 
  // Exports
  export const prepareComponent: PrepareComponent
  export const useOnScreen: UseOnScreen
  export const usePrevious: UsePrevious
  export const useToggle: UseToggle
  export const useTrimText: UseTrimText
}
 
declare module "@bluframe/grapple/prepareComponent" {
  import { prepareComponent } from "@bluframe/grapple"
 
  export default prepareComponent
}
 
declare module "@bluframe/grapple/useOnScreen" {
  import { useOnScreen } from "@bluframe/grapple"
 
  export default useOnScreen
}
 
declare module "@bluframe/grapple/usePrevious" {
  import { usePrevious } from "@bluframe/grapple"
 
  export default usePrevious
}
 
declare module "@bluframe/grapple/useToggle" {
  import { useToggle } from "@bluframe/grapple"
 
  export default useToggle
}
 
declare module "@bluframe/grapple/useTrimText" {
  import { useTrimText } from "@bluframe/grapple"
 
  export default useTrimText
}