diff --git a/notNeededPackages.json b/notNeededPackages.json index 7199ca022a..159b854949 100644 --- a/notNeededPackages.json +++ b/notNeededPackages.json @@ -216,6 +216,12 @@ "sourceRepoURL": "https://github.com/brianloveswords/base64url", "asOfVersion": "2.0.0" }, + { + "libraryName": "baseui", + "typingsPackageName": "baseui", + "sourceRepoURL": "https://github.com/uber-web/baseui", + "asOfVersion": "8.0.0" + }, { "libraryName": "beeper", "typingsPackageName": "beeper", diff --git a/types/baseui/accordion/index.d.ts b/types/baseui/accordion/index.d.ts deleted file mode 100644 index 483b931cb0..0000000000 --- a/types/baseui/accordion/index.d.ts +++ /dev/null @@ -1,101 +0,0 @@ -/// -import * as React from 'react'; -import { StyletronComponent } from 'styletron-react'; - -export interface STATE_CHANGE_TYPE { - expand: 'expand'; -} - -export interface AccordionOverrides { - Root?: Override; -} - -export interface SharedProps { - $color?: string; - $disabled?: boolean; - $expanded?: boolean; - $size?: string | number; -} - -export type StateReducer = ( - stateChangeType: STATE_CHANGE_TYPE[keyof STATE_CHANGE_TYPE], - nextState: T, - currentState: T, -) => T; - -export interface AccordionProps { - accordion?: boolean; - children: React.ReactNode; - disabled?: boolean; - initialState?: AccordionState; - onChange?: (args: { expanded: React.Key[] }) => any; - overrides?: AccordionOverrides; - stateReducer?: StateReducer; -} - -export interface AccordionState { - expanded: React.Key[]; -} - -export class Accordion extends React.Component { - onPanelChange(key: React.Key, onChange: () => any, ...args: any): void; - internalSetState(type: STATE_CHANGE_TYPE[keyof STATE_CHANGE_TYPE], changes: AccordionState): void; - getItems(): React.ReactNode; -} - -export interface PanelOverrides { - PanelContainer?: Override; - Header?: Override; - ToggleIcon?: Override; - Content?: Override; -} - -export interface SharedPanelProps { - children: React.ReactNode; - disabled?: boolean; - key?: React.Key; - onChange?: (args: {expanded: boolean}) => any; - onClick?: (e: Event) => any; - onKeyDown?: (e: KeyboardEvent) => any; - overrides?: PanelOverrides; - title?: React.ReactNode; -} - -export interface SharedStatefulPanelContainerProps { - initialState?: PanelState; - onChange?: (args: { expanded: boolean}) => any; - stateReducer?: StateReducer; -} - -export type PanelProps = SharedPanelProps & { expanded?: boolean; }; - -export class Panel extends React.Component { - onClick(e: Event): void; - onKeyDown(e: KeyboardEvent): void; - getSharedProps(): SharedProps; -} - -export type StatefulPanelProps = SharedPanelProps & SharedStatefulPanelContainerProps; - -export const StatefulPanel: React.FC; - -export type StatefulPanelContainerProps = SharedStatefulPanelContainerProps & { - children: React.ReactNode; -}; - -export interface PanelState { - expanded: boolean; -} - -export class StatefulPanelContainer extends React.Component { - onChange(args: any): void; - internalSetState(type: STATE_CHANGE_TYPE[keyof STATE_CHANGE_TYPE], changes: PanelState): void; -} - -export const StyledRoot: StyletronComponent; -export const StyledPanelContainer: StyletronComponent; -export const StyledHeader: StyletronComponent; -export const StyledContent: StyletronComponent; -export const StyledToggleIcon: StyletronComponent; - -export const STATE_CHANGE_TYPE: STATE_CHANGE_TYPE; diff --git a/types/baseui/avatar/index.d.ts b/types/baseui/avatar/index.d.ts deleted file mode 100644 index d19491e515..0000000000 --- a/types/baseui/avatar/index.d.ts +++ /dev/null @@ -1,33 +0,0 @@ -/// -import * as React from 'react'; -import { StyletronComponent } from 'styletron-react'; - -export interface AvatarOverrides { - Avatar?: Override; - Initials?: Override; - Root?: Override; -} - -export interface StyleProps { - $didImageFailToLoad: boolean; - $size?: string; -} - -export interface AvatarProps { - name: string; - overrides?: AvatarOverrides; - size?: string; - src?: string; -} - -export interface AvatarState { - noImageAvailable: boolean; -} - -export class Avatar extends React.Component { - handleError(): void; -} - -export const StyledAvatar: StyletronComponent; -export const StyledInitials: StyletronComponent; -export const StyledRoot: StyletronComponent; diff --git a/types/baseui/baseui-tests.tsx b/types/baseui/baseui-tests.tsx deleted file mode 100644 index 032c2b0221..0000000000 --- a/types/baseui/baseui-tests.tsx +++ /dev/null @@ -1,1087 +0,0 @@ -import * as React from 'react'; -import { createTheme, lightThemePrimitives, mergeOverrides, BaseProvider, styled } from 'baseui'; -import { Block } from 'baseui/block'; -import { FlexGrid, FlexGridItem } from 'baseui/flex-grid'; -import { Accordion, Panel, StatefulPanel } from 'baseui/accordion'; -import { Avatar } from 'baseui/avatar'; -import { Breadcrumbs } from 'baseui/breadcrumbs'; -import { Button, KIND as BUTTON_KIND, SHAPE as BUTTON_SHAPE, SIZE as BUTTON_SIZE } from 'baseui/button'; -import { ButtonGroup, StatefulButtonGroup, MODE as BUTTON_GROUP_MODE } from 'baseui/button-group'; -import { Card, StyledBody } from 'baseui/card'; -import { Checkbox, StatefulCheckbox } from 'baseui/checkbox'; -import { StatefulCalendar, StatefulDatepicker, TimePicker, TimezonePicker, Datepicker } from 'baseui/datepicker'; -import { StatefulList, List } from 'baseui/dnd-list'; -import { FileUploader } from 'baseui/file-uploader'; -import { FormControl } from 'baseui/form-control'; -import { - HeaderNavigation, - StyledNavigationItem as NavigationItem, - StyledNavigationList as NavigationList, - ALIGN as NAV_ALIGN, -} from 'baseui/header-navigation'; -import { Heading, HeadingLevel } from 'baseui/heading'; -import ArrowUp from 'baseui/icon/arrow-up'; -import ArrowRight from 'baseui/icon/arrow-right'; -import ArrowDown from 'baseui/icon/arrow-down'; -import ArrowLeft from 'baseui/icon/arrow-left'; -import { Input, MaskedInput, StatefulInput, SIZE as INPUT_SIZE } from 'baseui/input'; -import { Layer, TetherBehavior } from 'baseui/layer'; -import { StyledLink } from 'baseui/link'; -import { Menu, StatefulMenu, NestedMenus } from 'baseui/menu'; -import { - Modal, - ModalHeader, - ModalBody, - ModalFooter, - ModalButton, -} from 'baseui/modal'; -import { Notification } from 'baseui/notification'; -import { Pagination, StatefulPagination } from 'baseui/pagination'; -import { Popover, StatefulPopover } from 'baseui/popover'; -import { ProgressBar } from 'baseui/progress-bar'; -import { NumberedStep, ProgressSteps, Step, StyledProgressSteps, StyleProps as ProgressStepsStyleProps } from 'baseui/progress-steps'; -import { Radio, RadioGroup, StatefulRadioGroup } from 'baseui/radio'; -import { StarRating, EmoticonRating } from 'baseui/rating'; -import { StatefulSelect, Select } from 'baseui/select'; -import { Navigation } from 'baseui/side-navigation'; -import { Slider, StatefulSlider } from 'baseui/slider'; -import { Spinner } from 'baseui/spinner'; -import { - StyledTable, - StyledHead, - StyledHeadCell, - StyledBody as StyledTableBody, - StyledRow, - StyledCell, - StyledAction, - Table, -} from 'baseui/table'; -import { Tab, Tabs, StatefulTabs, ORIENTATION as TAB_ORIENTATION } from 'baseui/tabs'; -import { Tag, KIND as TAG_KIND, VARIANT as TAG_VARIANT } from 'baseui/tag'; -import { StatefulTextarea as Textarea } from 'baseui/textarea'; -import { ToasterContainer, Toast, KIND as TOAST_KIND } from 'baseui/toast'; -import { StatefulTooltip } from 'baseui/tooltip'; -import { - Label1, - Label2, - Caption1, - Caption2, - Paragraph1, - Paragraph2, -} from 'baseui/typography'; -import { PaymentCard, StatefulPaymentCard } from 'baseui/payment-card'; -import { PhoneInput, StatefulPhoneInput, COUNTRIES } from 'baseui/phone-input'; - -// Base API -const newTheme = createTheme({...lightThemePrimitives}, {}); // $ExpectType Theme -createTheme({primary: 'red'}, {}); // $ExpectError - -mergeOverrides({style: {}}, {props: {}}); -mergeOverrides({style: {}}, 'hello'); // $ExpectError -mergeOverrides({style: {}}, {name: 'override'}); // $ExpectError - -styled(StyledProgressSteps, { marginTop: '10px' }); -styled(StyledProgressSteps, { marginTop: null }); // $ExpectError -styled(StyledProgressSteps, ({ $theme }) => ({ marginTop: '10px' })); -const StyledAnchor = styled('a', { marginTop: '10px' }); -const NewStyledProgressSteps = styled( - StyledProgressSteps, - ({ $theme, $disabled }) => ({ marginTop: '10px' }) -); - -; -; // $ExpectError -; - -; // $ExpectError - -// Accordion - - Content -; - - - Content // $ExpectError -; - -; // $ExpectError -Test Panel; - -// Avatar -; -; // $ExpectError - ({ height: $theme.sizing && $theme.sizing.scale1000 }) } }} -/>; - ({ height: $didImageFailToLoad ? '0' : '10px' }) } }} -/>; - ({ height: children ? '10px' : '0'})} }} />; - ({ height: $theme.sizing && $theme.sizing.notasize })} }} />; // $ExpectError - ({}) }}} />; // $ExpectError - -// Block -; -; // $ExpectError -; // $ExpectError - -// Breadcrumbs - - Parent Page - Sub-Parent Page - Current Page -; -; - -// Button -Click Me; -Click Me; - - Click Me -; -Click Me; // $ExpectError -Click Me; -Click Me; // $ExpectError -Click Me; -Click Me; // $ExpectError -Click Me; -Click Me; -Click Me; -Click Me; -Click Me; -Primary; // $ExpectError - }>Open Menu; - -// Button-Group - - Label - Label - Label -; - - Label - Label -; - - Label - Label -; - // $ExpectError - Label - Label -; - -// Card - - - Proin ut dui sed metus pharetra hend rerit vel non mi. Nulla ornare - faucibus ex, non facilisis nisl. - -; -; // $ExpectError -; // $ExpectError -; -}/>; // $ExpectError -; - -// Checkbox - false}> - Click Me -; -click me; - (Custom)}} -> - With style overrides -; - Custom}} // $ExpectError -> - With style overrides -; - - - toggle me -; - // $ExpectError - toggle me -; - -// Datepicker -; -; -; - ({ - backgroundColor: 'red', - }), - }, - }} -/>; - ({})} />; - ({})} />; // $ExpectError - ({})} />; -; // $ExpectError -; - ({})} - formatDisplayValue={(date) => 'formatted date'} - timeSelectStart - range -/>; - -// DND List -; - ({})} -/>; -; -; // $ExpectError -; -Drag Me, - }} - onChange={console.log} -/>; - ({}), - }, - }} - onChange={console.log} -/>; - -// File Uploader - ({})} - onDrop={() => ({})} - progressAmount={10} - progressMessage={'Uploading'} -/>; - ({})} - onDrop={() => ({})} - progressAmount={'10'} // $ExpectError - progressMessage={'Uploading'} -/>; - - ({})} - onDrop={() => ({})} - progressAmount={10} - progressMessage={'Uploading'} -/>; - ({})} - onDrop={() => ({})} - progressAmount={10} - progressMessage={'Uploading'} -/>; - -// FlexGrid + FlexGridItem -; -; // $ExpectError - - 1 -; -// $ExpectError - - 1 -; - -// Form Control - - Checkbox control -; - - Positive -; - - Negative -; -; // $ExpectError - -// Header Navigation - - - Uber - - - - - Get started - - - Get started - - - - - Get started - - -; - -// Heading -Base Web [L1]; - - Subtitle [L5] -; -Span; -; // $ExpectError -; // $ExpectError - -// Icon -; -; -; -; -; -; -; -; -; - -// Input - ({})} - placeholder="Controlled Input" - value={'Hey'} -/>; -; -; -; -; // $ExpectError -; -; -; -; -; -; -; -; -; -; // $ExpectError - -// Layer -; // $ExpectError - - -; - ({})} - placement={'right'} -> - -; - ({})} - placement='offtotheright' // $ExpectError -> - -; - -// Link -Link to baseui.design; - -// Menu -const ITEMS = [ - {label: 'Item One'}, - {label: 'Item Two'}, - {label: 'Item Three'}, - {label: 'Item Four'}, - {label: 'Item Five'}, - {label: 'Item Six'}, - {label: 'Item Seven'}, - {label: 'Item Eight'}, - {label: 'Item Nine'}, - {label: 'Item Ten'}, - {label: 'Item Eleven'}, - {label: 'Item Twelve'}, -]; - 'Some label', - }, - }, - }} -/>; - 'Some label', - }, - }, - }} -/>; - 'Some label', - size: 'compact' - }, - }, - }} -/>; - 'Some label', - }, - }, - }} -/>; - - -; -; // $ExpectError - -// Modal - - Hello world - - Proin ut dui sed metus pharetra hend rerit vel non mi. Nulla ornare - faucibus ex, non facilisis nisl. Maecenas aliquet mauris ut tempus. - - - Cancel - Okay - -; -; // $ExpectError - -// Notification -Default info notification; -Positive notification; -Warning notification; -Negative notification; -Negative notification; // $ExpectError -Negative notification; - -// Pagination - ({})} -/>; - ({})} -/>; -; -; - -// Popover -hello world} -> - - Always open - -; -hello world} - accessibilityType={'tooltip'} -> - Open -; -hello world} - accessibilityType={'tooltip'} - triggerType={'hover'} -> - - Hover - -; -hello world} - placement={'topRight'} -> - - Hover - -; -hello world} - placement={'center'} // $ExpectError -> - - Hover - -; - - - Click Me -; - - Click Me -; - -// Progress Bar -; -; -; // $ExpectError - 'Label'}/>; - -// Progress Steps - - - Here is some step content - - - - - Here too! - -; - - - Here is some NumberedStep content - - - - - Here too! - -; -; - -// Radio - ({})} - value={1} // $ExpectError -> - First - - Second - - Third -; - - ({})} - value={'1'} -> - First - - Second - - Third -; - - First - Second - Third -; - - Checked - Unchecked -; - ({})} - value={'1'} -> - First - Second - Third -; - ({})} - value={'2'} -> - First - Second - Third -; - ({})} - value={'1'} -> - ( - Choose me - ), - RadioMarkOuter: { - style: ({$theme}) => ({borderColor: $theme.colors.positive}), - }, - }} - value="1" - > - First - -; - -// Rating - ({})} -/>; - ({})} -/>; - ({})} -/>; - -// Select -const SELECT_OPTIONS = [ - {id: 'AliceBlue', color: '#F0F8FF'}, - {id: 'AntiqueWhite', color: '#FAEBD7'}, -]; -; -; -; -; -; -; -; - -// Side Navigation -const nav = [ - { - title: 'Colors', - itemId: '#level1.1', - subNav: [ - { - title: 'Primary', - itemId: '#level1.1.1', - }, - ], - }, - { - title: 'Sizing', - itemId: '#level1.2', - }, - { - title: 'Typography', - itemId: '#level1.3', - }, -]; -; - -// Slider -; -; -; -; -; -; - , - TickBar: () => - }} -/>; - -// Spinner -; - ({fill: 'red'})}, - }} -/>; -; -; - -// Table -const DATA = [ - ['Sarah Brown', 31, '100 Broadway st. New York City, New York'], - ['Jane Smith', 32, '100 Market st. San Francisco, California'], - ['Joe Black', 33, '100 Macquarie st. Sydney, Australia'], -]; -const COLUMNS = ['Name', 'Age', 'Address']; -; - - - Name - Role - Delta - Amount - Actions - - - {DATA.map((row, index) => ( - - {row[0]} - - - {row[1]} - - - - - - - {row[4]} - - - - - - - - - - - - - ))} - -; -; - -// Tabs - - Tab 1 content - Tab 2 content - Tab 3 content -; - - Tab 1 content - Tab 2 content - Tab 3 content -; - - Tab 1 content - Tab 2 content - Tab 3 content -; - - Tab 1 content - Tab 2 content - Tab 3 content -; - - Tab 1 content - Tab 2 content - Tab 3 content -; - - - - - -; - - - - -; - -// Tag -default; -long text inside the tag; - - With kind -; - - With kind -; - - With kind -; - - With kind -; - // $ExpectError - With kind -; -; - -// Textarea -; -; -; -; // $ExpectError -; // $ExpectError -; -; -; - -// Toast -; -Default info notification; -Positive notification; -Warning notification; -Negative notification; -Negative notification; -Negative notification; // $ExpectError - -// Tooltip - - such as this -; - - Tooltips also support rendering arbitrary content. - This in includes paragraphs, links, and any other markup. - - } -> - such as this -; - -// Typography -Label2; -{'Paragraph2'}; -Label1; -{'Paragraph1'}; -Caption2; -{'Caption1'}; - -// Payment Card -; -; -; - -// Phone Input -; -; -; -; -; diff --git a/types/baseui/block/index.d.ts b/types/baseui/block/index.d.ts deleted file mode 100644 index 4b36d42030..0000000000 --- a/types/baseui/block/index.d.ts +++ /dev/null @@ -1,306 +0,0 @@ -/// -import * as React from 'react'; - -export type Responsive = T | T[]; - -export type AlignContent = - | 'center' - | 'start' - | 'end' - | 'flex-start' - | 'flex-end' - | 'normal' - | 'baseline' - | 'first baseline' - | 'last baseline' - | 'space-between' - | 'space-around' - | 'space-evenly' - | 'stretch' - | 'safe center' - | 'unsafe center' - | 'inherit' - | 'initial' - | 'unset'; - -export type AlignItems = - | 'normal' - | 'stretch' - | 'center' - | 'start' - | 'end' - | 'flex-start' - | 'flex-end' - | 'self-start' - | 'self-end' - | 'baseline' - | 'first baseline' - | 'last baseline' - | 'safe center' - | 'unsafe center' - | 'inherit' - | 'initial' - | 'unset'; - -export type AlignSelf = - | 'auto' - | 'normal' - | 'center' - | 'start' - | 'end' - | 'self-start' - | 'self-end' - | 'flex-start' - | 'flex-end' - | 'baseline' - | 'first baseline' - | 'last baseline' - | 'stretch' - | 'safe center' - | 'unsafe center' - | 'inherit' - | 'initial' - | 'unset'; - -export type FlexDirection = - | 'row' - | 'row-reverse' - | 'column' - | 'column-reverse' - | 'inherit' - | 'initial' - | 'unset'; - -export type Flex = number | string; - -export type Display = - | 'block' - | 'inline' - | 'run-in' - | 'flow' - | 'flow-root' - | 'table' - | 'flex' - | 'grid' - | 'ruby' - | 'block flow' - | 'inline table' - | 'flex run-in' - | 'list-item' - | 'list-item block' - | 'list-item inline' - | 'list-item flow' - | 'list-item flow-root' - | 'list-item block flow' - | 'list-item block flow-root' - | 'flow list-item block' - | 'table-row-group' - | 'table-header-group' - | 'table-footer-group' - | 'table-row' - | 'table-cell' - | 'table-column-group' - | 'table-column' - | 'table-caption' - | 'ruby-base' - | 'ruby-text' - | 'ruby-base-container' - | 'ruby-text-container' - | 'contents' - | 'none' - | 'inline-block' - | 'inline-table' - | 'inline-flex' - | 'inline-grid' - | 'inherit' - | 'initial' - | 'unset'; - -export type GridAutoFlow = - | 'row' - | 'column' - | 'dense' - | 'row dense' - | 'column dense' - | 'inherit' - | 'initial' - | 'unset'; - -export type JustifyContent = - | 'center' - | 'start' - | 'end' - | 'flex-start' - | 'flex-end' - | 'left' - | 'right' - | 'space-between' - | 'space-around' - | 'space-evenly' - | 'stretch' - | 'safe center' - | 'unsafe center' - | 'inherit' - | 'initial' - | 'unset'; - -export type JustifyItems = - /* Basic keywords */ - | 'auto' - | 'normal' - | 'stretch' - | 'center' - | 'start' - | 'end' - | 'flex-start' - | 'flex-end' - | 'self-start' - | 'self-end' - | 'left' - | 'right' - | 'baseline' - | 'first baseline' - | 'last baseline' - | 'safe center' - | 'unsafe center' - | 'legacy right' - | 'legacy left' - | 'legacy center' - | 'inherit' - | 'initial' - | 'unset'; - -export type JustifySelf = - | 'auto' - | 'normal' - | 'stretch' - | 'center' - | 'start' - | 'end' - | 'flex-start' - | 'flex-end' - | 'self-start' - | 'self-end' - | 'left' - | 'right' - | 'baseline' - | 'first baseline' - | 'last baseline' - | 'safe center' - | 'unsafe center' - | 'inherit' - | 'initial' - | 'unset'; - -export type Position = 'static' | 'absolute' | 'relative' | 'fixed' | 'sticky'; - -export type Overflow = - | 'visible' - | 'hidden' - | 'scroll' - | 'scrollX' - | 'scrollY' - | 'auto' - | 'inherit' - | 'initial' - | 'unset'; - -export type Scale = 0 | string; - -export interface BlockOverrides { - Block?: Override; -} - -export interface BlockProps { - children?: React.ReactNode; - as?: React.ElementType; - overrides?: BlockOverrides; - color?: Responsive; - backgroundColor?: Responsive; - font?: string | string[]; - /** available values: https://developer.mozilla.org/en-US/docs/Web/CSS/align-content */ - alignContent?: Responsive; - /** available values: https://developer.mozilla.org/en-US/docs/Web/CSS/align-items */ - alignItems?: Responsive; - /** available values: https://developer.mozilla.org/en-US/docs/Web/CSS/align-self */ - alignSelf?: Responsive; - /** available values: https://developer.mozilla.org/en-US/docs/Web/CSS/flex-direction */ - flexDirection?: Responsive; - /** available values: https://developer.mozilla.org/en-US/docs/Web/CSS/display */ - display?: Responsive; - /** available values: https://developer.mozilla.org/en-US/docs/Web/CSS/flex */ - flex?: Responsive; - /** available values: https://developer.mozilla.org/en-US/docs/Web/CSS/grid */ - grid?: Responsive; - /** available values: https://developer.mozilla.org/en-US/docs/Web/CSS/grid-area */ - gridArea?: Responsive; - /** available values: https://developer.mozilla.org/en-US/docs/Web/CSS/grid-auto-columns */ - gridAutoColumns?: Responsive; - /** available values: https://developer.mozilla.org/en-US/docs/Web/CSS/grid-auto-flow */ - gridAutoFlow?: Responsive; - /** available values: https://developer.mozilla.org/en-US/docs/Web/CSS/grid-auto-rows */ - gridAutoRows?: Responsive; - /** available values: https://developer.mozilla.org/en-US/docs/Web/CSS/grid-column */ - gridColumn?: Responsive; - /** available values: https://developer.mozilla.org/en-US/docs/Web/CSS/grid-column-end */ - gridColumnEnd?: Responsive; - /** available values: https://developer.mozilla.org/en-US/docs/Web/CSS/grid-column-gap */ - gridColumnGap?: Responsive; - /** available values: https://developer.mozilla.org/en-US/docs/Web/CSS/grid-column-start */ - gridColumnStart?: Responsive; - /** available values: https://developer.mozilla.org/en-US/docs/Web/CSS/grid-gap */ - gridGap?: Responsive; - /** available values: https://developer.mozilla.org/en-US/docs/Web/CSS/grid-row */ - gridRow?: Responsive; - /** available values: https://developer.mozilla.org/en-US/docs/Web/CSS/grid-row-end */ - gridRowEnd?: Responsive; - /** available values: https://developer.mozilla.org/en-US/docs/Web/CSS/grid-row-gap */ - gridRowGap?: Responsive; - /** available values: https://developer.mozilla.org/en-US/docs/Web/CSS/grid-row-start */ - gridRowStart?: Responsive; - /** available values: https://developer.mozilla.org/en-US/docs/Web/CSS/grid-template */ - gridTemplate?: Responsive; - /** available values: https://developer.mozilla.org/en-US/docs/Web/CSS/grid-template-areas */ - gridTemplateAreas?: Responsive; - /** available values: https://developer.mozilla.org/en-US/docs/Web/CSS/grid-template-columns */ - gridTemplateColumns?: Responsive; - /** available values: https://developer.mozilla.org/en-US/docs/Web/CSS/grid-template-rows */ - gridTemplateRows?: Responsive; - /** available values: https://developer.mozilla.org/en-US/docs/Web/CSS/justify-content */ - justifyContent?: Responsive; - /** available values: https://developer.mozilla.org/en-US/docs/Web/CSS/justify-items */ - justifyItems?: Responsive; - /** available values: https://developer.mozilla.org/en-US/docs/Web/CSS/justify-self */ - justifySelf?: Responsive; - position?: Responsive; - width?: Responsive; - minWidth?: Responsive; - maxWidth?: Responsive; - height?: Responsive; - minHeight?: Responsive; - maxHeight?: Responsive; - overflow?: Responsive; - margin?: Responsive; - marginTop?: Responsive; - marginRight?: Responsive; - marginBottom?: Responsive; - marginLeft?: Responsive; - padding?: Responsive; - paddingTop?: Responsive; - paddingRight?: Responsive; - paddingBottom?: Responsive; - paddingLeft?: Responsive; - /** available values: https://developer.mozilla.org/en-US/docs/Web/CSS/place-content */ - placeContent?: Responsive; - /** available values: https://developer.mozilla.org/en-US/docs/Web/CSS/place-items */ - placeItems?: Responsive; - /** available values: https://developer.mozilla.org/en-US/docs/Web/CSS/place-self */ - placeSelf?: Responsive; - flexWrap?: Responsive; - left?: Responsive; - top?: Responsive; - right?: Responsive; - bottom?: Responsive; -} - -export const Block: React.FC; diff --git a/types/baseui/breadcrumbs/index.d.ts b/types/baseui/breadcrumbs/index.d.ts deleted file mode 100644 index 3544c1fe73..0000000000 --- a/types/baseui/breadcrumbs/index.d.ts +++ /dev/null @@ -1,20 +0,0 @@ -/// -import * as React from 'react'; -import { StyletronComponent } from 'styletron-react'; - -export interface BreadcrumbsOverrides { - Root?: Override; - Separator?: Override; - Icon?: Override; -} - -export interface BreadcrumbsProps { - children?: React.ReactNode; - overrides?: BreadcrumbsOverrides; - ariaLabel?: string; -} - -export const Breadcrumbs: React.FC; - -export const StyledRoot: StyletronComponent; -export const StyledSeparator: StyletronComponent; diff --git a/types/baseui/button-group/index.d.ts b/types/baseui/button-group/index.d.ts deleted file mode 100644 index e31dfb3a7a..0000000000 --- a/types/baseui/button-group/index.d.ts +++ /dev/null @@ -1,55 +0,0 @@ -/// -import * as React from 'react'; -import { StyledFn, StyletronComponent } from 'styletron-react'; -import { SHAPE, SIZE } from '../button'; - -export interface MODE { - checkbox: 'checkbox'; - radio: 'radio'; -} -export interface STATE_CHANGE_TYPE { - change: 'change'; -} - -export const StyledRoot: StyletronComponent; - -export interface ButtonGroupOverrides { - Root?: Override; -} - -export interface ButtonGroupProps { - ariaLabel?: string; - children: React.ReactNode; - disabled?: boolean; - mode?: MODE[keyof MODE]; - onClick?: (event: React.MouseEventHandler) => any; - overrides?: ButtonGroupOverrides; - selected?: number | number[]; - shape?: SHAPE[keyof SHAPE]; - size?: SIZE[keyof SIZE]; -} - -export const ButtonGroup: React.FC; - -export interface InitialState { - selected: number | number[]; -} - -export interface State { - selected: number[]; -} - -export interface StatefulButtonGroupProps extends ButtonGroupProps { - initialState?: InitialState; - stateReducer?: (stateType: STATE_CHANGE_TYPE, nextState: State, currentState: State) => State; -} - -export const StatefulButtonGroup: React.FC; - -export class StatefulContainer extends React.Component { - changeState(nextState: State): void; - onClick(event: React.MouseEventHandler, index: number): void; -} - -export const MODE: MODE; -export const STATE_CHANGE_TYPE: STATE_CHANGE_TYPE; diff --git a/types/baseui/button/index.d.ts b/types/baseui/button/index.d.ts deleted file mode 100644 index 419e003689..0000000000 --- a/types/baseui/button/index.d.ts +++ /dev/null @@ -1,58 +0,0 @@ -/// -import * as React from 'react'; -import { StyledFn, StyletronComponent } from 'styletron-react'; - -export interface KIND { - primary: 'primary'; - secondary: 'secondary'; - tertiary: 'tertiary'; - minimal: 'minimal'; -} - -export interface SIZE { - compact: 'compact'; - default: 'default'; - large: 'large'; -} - -export interface SHAPE { - default: 'default'; - round: 'round'; - square: 'square'; -} - -export interface ButtonOverrides { - BaseButton?: Override; - StartEnhancer?: Override; - EndEnhancer?: Override; - LoadingSpinnerContainer?: Override; - LoadingSpinner?: Override; -} - -export interface ButtonProps { - children?: React.ReactNode; - disabled?: boolean; - endEnhancer?: React.ReactNode; - isLoading?: boolean; - isSelected?: boolean; - kind?: KIND[keyof KIND]; - onClick?: (event: React.MouseEventHandler) => any; - overrides?: ButtonOverrides; - shape?: SHAPE[keyof SHAPE]; - size?: SIZE[keyof SIZE]; - startEnhancer?: React.ReactNode; -} - -export const StyledBaseButton: StyletronComponent; -export const StyledStartEnhancer: StyletronComponent; -export const StyledEndEnhancer: StyletronComponent; -export const StyledLoadingSpinner: StyletronComponent; -export const StyledLoadingSpinnerContainer: StyletronComponent; - -export class Button extends React.Component { - internalOnClick(...args: any): void; -} - -export const KIND: KIND; -export const SHAPE: SHAPE; -export const SIZE: SIZE; diff --git a/types/baseui/card/index.d.ts b/types/baseui/card/index.d.ts deleted file mode 100644 index ceadb3e4e3..0000000000 --- a/types/baseui/card/index.d.ts +++ /dev/null @@ -1,33 +0,0 @@ -/// -import * as React from 'react'; -import { StyletronComponent } from 'styletron-react'; - -export interface CardOverrides { - Action?: Override; - Body?: Override; - Contents?: Override; - HeaderImage?: Override; - Root?: Override; - Thumbnail?: Override; - Title?: Override; -} -export interface CardProps { - readonly action?: React.ReactNode; - readonly children?: React.ReactNode; - readonly hasThumbnail?: (props: { readonly thumbnail?: string }) => boolean; - readonly headerImage?: string; - readonly overrides?: CardOverrides; - readonly thumbnail?: string; - readonly title?: React.ReactNode; -} -export const Card: React.FC; -export type hasThumbnail = (props: { readonly thumbnail?: string }) => boolean; - -export const StyledAction: StyletronComponent; -export const StyledBody: StyletronComponent; -export const StyledContents: StyletronComponent; -export const StyledHeaderImage: StyletronComponent; -export const StyledThumbnail: StyletronComponent; -export const StyledTitle: StyletronComponent; -export const StyledRoot: StyletronComponent; -export const StyledWrapper: StyletronComponent; diff --git a/types/baseui/checkbox/index.d.ts b/types/baseui/checkbox/index.d.ts deleted file mode 100644 index 29a5d083b9..0000000000 --- a/types/baseui/checkbox/index.d.ts +++ /dev/null @@ -1,108 +0,0 @@ -/// -import * as React from 'react'; -import { StyletronComponent } from 'styletron-react'; - -export interface STATE_TYPE { - change: 'CHANGE'; -} -export interface STYLE_TYPE { - default: 'default'; - toggle: 'toggle'; -} - -export const StyledRoot: StyletronComponent; -export const StyledCheckmark: StyletronComponent; -export const StyledLabel: StyletronComponent; -export const StyledInput: StyletronComponent; -export const StyledToggle: StyletronComponent; -export const StyledToggleInner: StyletronComponent; -export const StyledToggleTrack: StyletronComponent; - -export type StateReducer = ( - stateType: string, - nextState: CheckboxState, - currentState: CheckboxState, - event: React.SyntheticEvent, -) => CheckboxState; - -export interface StatefulContainerProps { - overrides?: CheckboxOverrides; - children?: React.ReactNode; - initialState?: CheckboxState; - stateReducer?: StateReducer; - onChange?: React.FormEventHandler; - onMouseEnter?: React.MouseEventHandler; - onMouseLeave?: React.MouseEventHandler; - onFocus?: React.FocusEventHandler; - onBlur?: React.FocusEventHandler; - autoFocus?: boolean; -} - -export const StatefulContainer: React.FC; - -export interface StatefulCheckboxProps { - overrides?: CheckboxOverrides; - children?: React.ReactNode; - initialState?: CheckboxState; - autoFocus?: boolean; - checkmarkType?: STYLE_TYPE[keyof STYLE_TYPE]; - onChange?: React.FormEventHandler; - onMouseEnter?: React.MouseEventHandler; - onMouseLeave?: React.MouseEventHandler; - onFocus?: React.FocusEventHandler; - onBlur?: React.FocusEventHandler; -} - -export const StatefulCheckbox: React.FC; - -export interface CheckboxOverrides { - Checkmark?: Override; - Label?: Override; - Root?: Override; - Input?: Override; - Toggle?: Override; - ToggleInner?: Override; - ToggleTrack?: Override; -} - -export interface CheckboxProps { - children?: React.ReactNode; - overrides?: CheckboxOverrides; - checked?: boolean; - disabled?: boolean; - required?: boolean; - isError?: boolean; - inputRef?: React.Ref; - autoFocus?: boolean; - type?: string; - name?: string; - value?: string; - isIndeterminate?: boolean; - labelPlacement?: 'top' | 'right' | 'bottom' | 'left'; - checkmarkType?: STYLE_TYPE[keyof STYLE_TYPE]; - onChange?: React.FormEventHandler; - onMouseEnter?: React.MouseEventHandler; - onMouseLeave?: React.MouseEventHandler; - onFocus?: React.FocusEventHandler; - onBlur?: React.FocusEventHandler; - onMouseDown?: React.MouseEventHandler; - onMouseUp?: React.MouseEventHandler; -} - -export interface CheckboxState { - isFocused: boolean; - isHovered: boolean; - isActive: boolean; -} - -export class Checkbox extends React.Component { - onMouseEnter(event: React.MouseEventHandler): void; - onMouseLeave(event: React.MouseEventHandler): void; - onMouseDown(event: React.MouseEventHandler): void; - onMouseUp(event: React.MouseEventHandler): void; - onFocus(event: React.FocusEventHandler): void; - onBlur(event: React.FocusEventHandler): void; -} - -export const STATE_TYPE: STATE_TYPE; -export const STYLE_TYPE: STYLE_TYPE; diff --git a/types/baseui/datepicker/index.d.ts b/types/baseui/datepicker/index.d.ts deleted file mode 100644 index 8d76e609e0..0000000000 --- a/types/baseui/datepicker/index.d.ts +++ /dev/null @@ -1,201 +0,0 @@ -/// -import * as React from 'react'; -import { StyletronComponent } from 'styletron-react'; -import { Option } from '../select'; -import { any } from 'prop-types'; - -export interface STATE_CHANGE_TYPE { - change: 'change'; - moveUp: 'moveUp'; - moveDown: 'moveDown'; - moveLeft: 'moveLeft'; - moveRight: 'moveRight'; - mouseOver: 'mouseOver'; - mouseLeave: 'mouseLeave'; -} - -export type onChange = (args: {date: Date | Date[]}) => any; -export type StateReducer = ( - stateType: STATE_CHANGE_TYPE[keyof STATE_CHANGE_TYPE], - nextState: ContainerState, - currentState: ContainerState, -) => ContainerState; - -export interface ContainerState { - value?: Date | Date[]; -} -export interface StatefulContainerProps { - children?: (args: T) => React.ReactNode; - initialState?: ContainerState; - stateReducer?: StateReducer; - onChange?: onChange; - range?: boolean; -} -export class StatefulContainer extends React.Component, ContainerState> { - onChange(data: { date: Date | Date[] }): void; - internalSetState(type: STATE_CHANGE_TYPE[keyof STATE_CHANGE_TYPE], changes: ContainerState): void; -} - -export interface CalendarProps { - autoFocusCalendar?: boolean; - excludeDates?: Date[]; - quickSelect?: boolean; - quickSelectOptions?: Array<{id: string, beginDate: Date}>; - filterDate?: (day: Date) => boolean; - highlightedDate?: Date; - includeDates?: Date[]; - range?: boolean; - // see https://github.com/date-fns/date-fns/blob/master/src/locale/index.js.flow - locale?: any; - maxDate?: Date; - minDate?: Date; - monthsShown?: number; - onDayClick?: (args: {date: Date, event: Event}) => any; - onDayMouseOver?: (args: {date: Date, event: Event}) => any; - onDayMouseLeave?: (args: {date: Date, event: Event}) => any; - onMonthChange?: (args: {date: Date}) => any; - onYearChange?: (args: {date: Date}) => any; - onChange?: onChange; - overrides?: DatepickerOverrides<{}>; - peekNextMonth?: boolean; - timeSelectStart?: boolean; - timeSelectEnd?: boolean; - trapTabbing?: boolean; - value?: Date | Date[]; -} -export interface CalendarState { - highlightedDate: Date; - focused: boolean; - date: Date; - quickSelectId?: string; -} -export class Calendar extends React.Component { - getSingleDate(value: Date | Date[]): Date | null; - getDateInView(): Date; - handleMonthChange(date: Date): void; - handleYearChange(date: Date): void; - changeMonth({date}: {date: Date}): void; - changeYear({date}: {date: Date}): void; - renderCalendarHeader(date: Date, order: number): React.ReactNode; - onKeyDown(event: KeyboardEvent): void; - handleArrowKey(key: string): void; - focusCalendar(): void; - blurCalendar(): void; - handleTabbing(event: KeyboardEvent): void; - onDayMouseOver(data: { event: Event, date: Date }): void; - onDayMouseLeave(data: { event: Event, date: Date }): void; - handleDateChange(data: { date: Date | Date[] }): void; - handleTimeChange(time: Date, index: number): void; - setHighlightedDate(date: Date): void; - renderMonths(): React.ReactNode[]; - renderTimeSelect(value: Date, onChange: (...args: any) => any): React.ReactNode; - renderQuickSelect(): React.ReactNode; -} - -export const StatefulCalendar: React.FC>; - -export interface DatepickerOverrides { - Root?: Override; - QuickSelect?: Override; - QuickSelectContainer?: Override; - QuickSelectFormControl?: Override; - TimeSelect?: Override; - TimeSelectContainer?: Override; - TimeSelectFormControl?: Override; - CalendarContainer?: Override; - CalendarHeader?: Override; - PrevButton?: Override; - PrevButtonIcon?: Override; - NextButton?: Override; - NextButtonIcon?: Override; - MonthHeader?: Override; - MonthYearSelectButton?: Override; - MonthYearSelectIconContainer?: Override; - MonthYearSelectPopover?: Override; - MonthYearSelectStatefulMenu?: Override; - WeekdayHeader?: Override; - Month?: Override; - Week?: Override; - Day?: Override; - Input?: Override; - Popover?: Override; -} -export type DatepickerProps = CalendarProps & { - 'aria-label'?: string; - 'aria-labelledby'?: string; - 'aria-describedby'?: string; - disabled?: boolean; - error?: boolean; - placeholder?: string; - required?: boolean; - formatDisplayValue?: ( - date: Date | Date[], - formatString: string, - ) => string; - formatString?: string; - mountNode?: HTMLElement; - onClose?: () => any; -}; -export interface DatepickerState { - calendarFocused: boolean; - isOpen: boolean; - isPseudoFocused: boolean; - lastActiveElm?: HTMLElement; -} -export class Datepicker extends React.Component { - onChange(data: { date: Date | Date[] }): void; - formatDate(date: Date | Date[], formatString: string): string | string[]; - formatDisplayValue(date: Date | Date[]): string; - open(): void; - close(): void; - handleEsc(): void; - handleInputBlur(): void; - handleKeyDown(event: KeyboardEvent): void; - focusCalendar(): void; -} - -export type StatefulDatepickerProps = T & StatefulContainerProps & { children?: (args: T) => React.ReactNode; }; -export const StatefulDatepicker: React.FC>; - -export interface TimePickerProps { - format?: '12' | '24'; - onChange?: (args: Date) => any; - overrides?: { - Select?: Override; - }; - creatable?: boolean; - step?: number; - value: Date | null; -} -export interface TimePickerState { - steps: number[]; - value?: Option; -} -export class TimePicker extends React.Component { - handleChange(steps: number): void; - buildSteps(): number[]; - buildSelectedOption(value: Date, format: string): object; -} - -export interface TimezonePickerProps { - date?: Date; - mapLabels?: (args: Option) => React.ReactNode; - onChange?: (value: {id: string, label: string, offset: number}) => any; - overrides?: { Select?: Override }; - value?: string; -} -export interface TimezonePickerState { - timezones: Option[]; - value?: string; -} -export class TimezonePicker extends React.Component { - buildTimezones(compareDate: Date): string[]; -} - -export const DISPLAY_FORMAT: 'L'; -export const ISO_FORMAT: 'YYYY-MM-DD'; -export const ISO_MONTH_FORMAT: 'YYYY-MM'; - -export const STATE_CHANGE_TYPE: STATE_CHANGE_TYPE; - -export const WEEKDAYS: [0, 1, 2, 3, 4, 5, 6]; diff --git a/types/baseui/dnd-list/index.d.ts b/types/baseui/dnd-list/index.d.ts deleted file mode 100644 index 2f0be6ed35..0000000000 --- a/types/baseui/dnd-list/index.d.ts +++ /dev/null @@ -1,75 +0,0 @@ -/// -import * as React from 'react'; -import { StyletronComponent } from 'styletron-react'; - -// export {arrayMove, arrayRemove} from 'react-movable'; - -export interface STATE_CHANGE_TYPE { - change: 'change'; -} - -export type StateReducer = ( - stateChangeType: STATE_CHANGE_TYPE[keyof STATE_CHANGE_TYPE], - nextState: State, - currentState: State, -) => State; - -export interface StatefulListProps { - initialState?: State; - stateReducer?: StateReducer; - removable?: boolean; - onChange?: (params: { - newState: React.ReactNode[], - oldIndex: number, - newIndex: number, - }) => any; - overrides?: ListOverrides; -} - -export const StatefulList: React.FC; - -export interface State { - items: React.ReactNode[]; -} -export type StatefulComponentContainerProps = StatefulListProps & { - initialState?: State; - children: React.ReactNode; -}; - -export class StatefulListContainer extends React.Component { - onChange({oldIndex, newIndex}: {oldIndex: number, newIndex: number}): void; - internalSetState(type: STATE_CHANGE_TYPE[keyof STATE_CHANGE_TYPE], changes: State): void; -} - -export interface SharedStylePropsArgT { - $isDragged: boolean; - $isSelected: boolean; - $isRemovable: boolean; -} - -export interface ListOverrides { - Root?: Override; - List?: Override; - Item?: Override; - DragHandle?: Override; - CloseHandle?: Override; - Label?: Override; -} - -export interface ListProps { - removable?: boolean; - items?: React.ReactNode[] ; - onChange?: (args: {oldIndex: number, newIndex: number}) => any; - overrides?: ListOverrides; -} - -export class List extends React.Component {} - -export const StyledRoot: StyletronComponent; -export const StyledList: StyletronComponent; -export const StyledItem: StyletronComponent; -export const StyledDragHandle: StyletronComponent; -export const StyledCloseHandle: StyletronComponent
Tooltips also support rendering arbitrary content.
This in includes paragraphs, links, and any other markup.