Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
import React, { PureComponent } from 'react'
import PropTypes from 'prop-types'
import Box, { spacing, position, layout, dimensions } from 'ui-box'
import safeInvoke from '../../lib/safe-invoke'
import SegmentedControlRadio from './SegmentedControlRadio'
let radioCount = 1 // Used for generating unique input names
export default class SegmentedControl extends PureComponent {
static propTypes = {
/**
* Composes some Box APIs.
*/
...spacing.propTypes,
...position.propTypes,
...layout.propTypes,
...dimensions.propTypes,
/**
* The options for the radios of the Segmented Control.
*/
options: PropTypes.arrayOf(
PropTypes.shape({
label: PropTypes.node.isRequired,
value: PropTypes.oneOfType([
PropTypes.number,
PropTypes.string,
PropTypes.bool
]).isRequired
})
CheckIcon.propTypes = {
fill: PropTypes.string,
size: PropTypes.number
}
const isControlled = component => {
return {}.hasOwnProperty.call(component.props, 'checked')
}
class Switch extends PureComponent {
static propTypes = {
/**
* Composes some Box APIs.
*/
...spacing.propTypes,
...position.propTypes,
...layout.propTypes,
/**
* The id attribute of the radio.
*/
id: PropTypes.string,
/**
* The name attribute of the radio.
*/
name: PropTypes.string,
/**
* The value attribute of the radio.
*/
import React, { PureComponent } from 'react'
import PropTypes from 'prop-types'
import Box, { dimensions, spacing, position, layout } from 'ui-box'
import { Autocomplete } from '../../autocomplete'
import { TextInput } from '../../text-input'
import { IconButton } from '../../buttons'
import deprecated from '../../lib/deprecated'
export default class Combobox extends PureComponent {
static propTypes = {
/**
* Implements some APIs from ui-box.
*/
...dimensions.propTypes,
...spacing.propTypes,
...position.propTypes,
...layout.propTypes,
/**
* The options to show in the menu.
*/
items: PropTypes.array.isRequired,
/**
* The selected item when controlled.
*/
selectedItem: PropTypes.any,
/**
* Function called when value changes.
*/
import React, { PureComponent } from 'react'
import PropTypes from 'prop-types'
import { spacing, dimensions, position, layout } from 'ui-box'
import { withTheme } from '../../theme'
import { Pane } from '../../layers'
import { Heading, Paragraph } from '../../typography'
import { IconButton } from '../../buttons'
import { Icon } from '../../icon'
class Alert extends PureComponent {
static propTypes = {
/**
* Composes some Box APIs.
*/
...spacing.propTypes,
...position.propTypes,
...layout.propTypes,
...dimensions.propTypes,
/**
* The content of the alert. When a string is passed it is wrapped in a `
import Box, { dimensions, spacing, position, layout } from 'ui-box'
import { Text } from '../../typography'
import { Icon } from '../../icon'
import { withTheme } from '../../theme'
class Select extends PureComponent {
static propTypes = {
/**
* Composes the dimensions spec from the Box primitivie.
*/
...dimensions.propTypes,
/**
* Composes the spacing spec from the Box primitivie.
*/
...spacing.propTypes,
/**
* Composes the position spec from the Box primitivie.
*/
...position.propTypes,
/**
* Composes the layout spec from the Box primitivie.
*/
...layout.propTypes,
/**
* The id attribute for the select.
*/
id: PropTypes.string,
import { dimensions, spacing, position, layout } from 'ui-box'
import { Icon } from '../../icon'
import { withTheme } from '../../theme'
import Button from './Button'
class IconButton extends PureComponent {
static propTypes = {
/**
* Composes the dimensions spec from the Box primitivie.
*/
...dimensions.propTypes,
/**
* Composes the spacing spec from the Box primitivie.
*/
...spacing.propTypes,
/**
* Composes the position spec from the Box primitivie.
*/
...position.propTypes,
/**
* Composes the layout spec from the Box primitivie.
*/
...layout.propTypes,
/**
* Name of a Blueprint UI icon, or an icon element, to render.
* This prop is required because it determines the content of the component, but it can
* be explicitly set to falsy values to render nothing.
*
fillRule="evenodd"
d="M11 7H5c-.55 0-1 .45-1 1s.45 1 1 1h6c.55 0 1-.45 1-1s-.45-1-1-1z"
/>
)
MinusIcon.propTypes = {
fill: PropTypes.string
}
class Checkbox extends PureComponent {
static propTypes = {
/**
* Composes some Box APIs.
*/
...spacing.propTypes,
...position.propTypes,
...layout.propTypes,
...dimensions.propTypes,
/**
* The id attribute of the checkbox.
*/
id: PropTypes.string,
/**
* The id attribute of the checkbox.
*/
name: PropTypes.string,
/**
* Label of the checkbox.
import { Text } from '../../typography'
import { Icon } from '../../icon'
import { Spinner } from '../../spinner'
import { withTheme } from '../../theme'
class Button extends PureComponent {
static propTypes = {
/**
* Composes the dimensions spec from the Box primitivie.
*/
...dimensions.propTypes,
/**
* Composes the spacing spec from the Box primitivie.
*/
...spacing.propTypes,
/**
* Composes the position spec from the Box primitivie.
*/
...position.propTypes,
/**
* Composes the layout spec from the Box primitivie.
*/
...layout.propTypes,
/**
* The intent of the button.
*/
intent: PropTypes.oneOf(['none', 'success', 'warning', 'danger']),
/**
* If a validation message is passed it is shown under the input element
* and above the hint. This is unaffected by `isInvalid`.
*/
validationMessage: PropTypes.node,
/**
* Composes the dimensions spec from the Box primitive.
*/
...dimensions.propTypes,
/**
* Composes the spacing spec from the Box primitive.
*/
...spacing.propTypes,
/**
* Composes the position spec from the Box primitive.
*/
...position.propTypes,
/**
* Composes the layout spec from the Box primitive.
*/
...layout.propTypes
}
static defaultProps = {
labelProps: {
size: 400
}
import React, { PureComponent } from 'react'
import PropTypes from 'prop-types'
import { spacing, dimensions, position, layout } from 'ui-box'
import { withTheme } from '../../theme'
import { Pane } from '../../layers'
import { Text } from '../../typography'
import { Icon } from '../../icon'
class InlineAlert extends PureComponent {
static propTypes = {
/**
* Composes some Box APIs.
*/
...spacing.propTypes,
...position.propTypes,
...layout.propTypes,
...dimensions.propTypes,
/**
* The content of the alert.
*/
children: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),
/**
* The intent of the alert. This should always be set explicitly.
*/
intent: PropTypes.oneOf(['none', 'success', 'warning', 'danger'])
.isRequired,
/**