@nile-ui/nile-ui
Version:
Modern and beautiful looking component designs
50 lines (34 loc) • 1.36 kB
text/typescript
export type NileColor =
| 'primary'
| 'secondary'
| 'success'
| 'warning'
| 'error'
| 'info'
| 'dark'
export type NileGray = 'gray' | 'lightGray' | 'darkGray' | 'darkestGray'
export type NileTextColor = NileColor | NileGray
export type NileColorWithWhite = NileColor | 'white'
export type NileColorPalette = NileTextColor | NileColorWithWhite
export type NileSizeUpMD = 'md' | 'lg' | 'xl'
export type NileSizeUpLG = 'lg' | 'xl'
export type NileSizeDownMD = 'mini' | 'sm'
export type NileSize = NileSizeDownMD | NileSizeUpMD
export type NilePosition = 'top' | 'right' | 'bottom' | 'right'
export type NileDetailedPosition =
| 'top-left'
| 'top-right'
| 'bottom-left'
| 'bottom-right'
export type NileGridOption = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
export type NileOffsetOption = NileGridOption | 0
export type NileGap = NileOffsetOption
export interface NileConfig {
buttonRippleEffect: boolean
}
// SimpleSpread<L, R> is a simplified version of what happens when you
// do an object spread like {...left, ...right} where left is of type L and
// right is of type R. It is the type R, with any properties on L that
// don't exist in R. (It doesn't work if a key in L is an optional property in
// R, which is why this is simplified)
export type SimpleSpread<L, R> = R & Pick<L, Exclude<keyof L, keyof R>>