1
Fork 0
mirror of https://github.com/Steffo99/bluelib.git synced 2024-12-23 12:04:22 +00:00
bluelib/src/types.ts
Stefano Pigozzi 8b7c57aae6
Implement (properly) inputs and forms (#1)
* 🔧 Use `<label>` in the `ThreeRadios` and `ThreeCheckboxes` stories
* 🔧 Make `onChange` return void, as React does not support implicit preventDefault  
  https://reactjs.org/docs/handling-events.html
* 🚧 Some work on forms
* 💥 A huge non-atomic commit
* 💥 Another huge non-atomic commit
* 💥 The final non-atomic commit
* 💥 Just kidding, have another
* 🚧 A bit more
* 🚧 A bot more
*  Add `onSimpleChange` events
* 🚧 More work on inputs
*  Finish `FormRadioGroup`
*  Finish `FormCheckboxGroup`
*  Finish `Form`
* 💥 idk anymore
*  Add `Button` input
*  Add `FormRow` to forms
* 🔨 Fix storybook preview.js
* 🔧 Prevent button from submitting a form
* 📔 Fix a bit the Form story
* 💥 Tweak forms a bit more
2021-08-24 04:22:15 +02:00

24 lines
673 B
TypeScript

import * as React from "react"
import Color from "color"
import {Argument as ClassNamesArgument} from "classnames"
export type ClassNames = ClassNamesArgument
export type State<Value> = [Value, React.Dispatch<React.SetStateAction<Value>>]
export type StateContext<Value> = React.Context<State<Value> | undefined>
export interface BluelibProps {
bluelibClassNames?: ClassNames,
customColor?: typeof Color,
disabled?: boolean,
}
export interface BluelibHTMLProps<Element extends HTMLElement> extends BluelibProps, React.HTMLProps<Element> {}
export type InputValue = readonly string[] | string | number | undefined
export type Validity = boolean | null