Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
color: PropTypes.string.description('Default color'),
continents: PropTypes.arrayOf(PropTypes.shape({
color: PropTypes.string,
name: PropTypes.oneOf(['Africa', 'Asia', 'Australia', 'Europe', 'North America', 'South America']).isRequired,
onClick: PropTypes.func,
onHover: PropTypes.func
})).description('Continent details.'),
onSelectPlace: PropTypes.func.description('Called when the user clicks on a place.\n It is passed the location.'),
places: PropTypes.arrayOf(PropTypes.shape({
color: PropTypes.string,
name: PropTypes.string, // for a11y aria-label
location: PropTypes.arrayOf(PropTypes.number).isRequired,
onClick: PropTypes.func,
onHover: PropTypes.func
})).description('Place details.'),
hoverColor: PropTypes.string.description('Color when hovering over places while selecting.')
};
return DocumentedWorldMap;
});
export var doc = function doc(Chart) {
var DocumentedChart = describe(Chart).availableAt(getAvailableAtBadge('Chart')).description('A graphical chart.').usage("import { Chart } from 'grommet';\n"); // We don't include svg due to a collision on the values property
// .intrinsicElement('svg');
DocumentedChart.propTypes = _extends({}, genericProps, {
bounds: PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.number)).description("The limits for the values, specified as a two dimensional array.\n If not specified, the bounds will automatically be set to fit\n the provided values."),
color: PropTypes.oneOfType([PropTypes.string, PropTypes.shape({
color: PropTypes.string,
opacity: PropTypes.oneOfType([PropTypes.oneOf(['weak', 'medium', 'strong']), PropTypes.bool])
}), PropTypes.arrayOf(PropTypes.shape({
color: PropTypes.string,
value: PropTypes.number
}))]).description("A color identifier to use for the graphic color. If an\n array is specified, it is used to create a gradient mask. Array objects\n indicate what color to show at what value. In the simplest case, the\n values should map to the Y bounds values, resulting in a vertical\n gradient. Specifying more objects allows more fine grained control over\n where the gradient colors change.").defaultValue('accent-1'),
gap: PropTypes.oneOfType([PropTypes.oneOf(['none', 'xxsmall', 'xsmall', 'small', 'medium', 'large', 'xlarge']), PropTypes.string]).description("The amount of spacing between data points. This\n is only used when the size specifies width as 'auto'."),
id: PropTypes.string.description("A unique identifier for the Chart. This\n is required if more than one Chart is shown and they use color\n gradients."),
onClick: PropTypes.func.description("Called when the user clicks on it.\n This is only available when the type is line or area."),
onHover: PropTypes.func.description("Called with a boolean argument\n indicating when the user hovers onto or away from it.\n This is only available when the type is line or area."),
overflow: PropTypes.bool.description("Whether the chart strokes should overflow the component. Set this\n to true for precise positioning when stacking charts or including\n precise axes. Set this to false to have the graphical elements\n align with the component boundaries.").defaultValue(false),
round: PropTypes.bool.description('Whether to round the line ends.').defaultValue(false),
size: PropTypes.oneOfType([PropTypes.oneOf(['xxsmall', 'xsmall', 'small', 'medium', 'large', 'xlarge', 'full']), PropTypes.shape({
height: PropTypes.oneOfType([PropTypes.oneOf(['xxsmall', 'xsmall', 'small', 'medium', 'large', 'xlarge', 'full']), PropTypes.string]),
width: PropTypes.oneOfType([PropTypes.oneOf(['xxsmall', 'xsmall', 'small', 'medium', 'large', 'xlarge', 'full', 'auto']), PropTypes.string])
}), PropTypes.string]).description('The size of the Chart.').defaultValue({
width: 'medium',
height: 'small'
}),
thickness: PropTypes.oneOfType([PropTypes.oneOf(['hair', 'xsmall', 'small', 'medium', 'large', 'xlarge', 'none']), PropTypes.string]).description('The width of the stroke.').defaultValue('medium'),
PropTypes.string,
]).description('The size of the TextInput.'),
suggestions: PropTypes.arrayOf(
PropTypes.oneOfType([
PropTypes.shape({
label: PropTypes.node,
value: PropTypes.any,
}),
PropTypes.string,
]),
).description(
`Suggestions to show. It is recommended to avoid showing too many
suggestions and instead rely on the user to type more.`,
),
value: PropTypes.oneOfType([
PropTypes.string,
PropTypes.number,
]).description('What text to put in the input.'),
};
return DocumentedTextInput;
};
top: PropTypes.oneOf(['top', 'bottom']),
bottom: PropTypes.oneOf(['top', 'bottom']),
right: PropTypes.oneOf(['left', 'right']),
left: PropTypes.oneOf(['left', 'right'])
}).description('How to align the drop.').defaultValue({
top: 'top',
left: 'left'
}),
dropTarget: PropTypes.object.description('Target where any suggestions drop will be aligned to. This should be\n a React reference. Typically, this is not required as the drop will be\n aligned to the TextInput itself by default.'),
id: PropTypes.string.description('The id attribute of the input.'),
focusIndicator: PropTypes.bool.description('Whether the plain text input should receive a focus outline.'),
messages: PropTypes.shape({
enterSelect: PropTypes.string,
suggestionsCount: PropTypes.string,
suggestionsExist: PropTypes.string,
suggestionIsOpen: PropTypes.string
}).description('Custom messages for TextInput. Used for accessibility by screen readers.').defaultValue({
enterSelect: '(Press Enter to Select)',
suggestionsCount: 'suggestions available',
suggestionsExist: 'This input has suggestions use arrow keys to navigate',
suggestionIsOpen: 'Suggestions drop is open, continue to use arrow keys to navigate'
}),
name: PropTypes.string.description('The name attribute of the input.'),
onInput: PropTypes.func.description('Function that will be called when the user types in the input.'),
onSelect: PropTypes.func.description('Function that will be called when the user selects a suggestion.\nThe suggestion contains the object chosen from the supplied suggestions.'),
placeholder: PropTypes.oneOfType([PropTypes.string, PropTypes.node]).description('Placeholder to use when no value is provided.'),
plain: PropTypes.bool.description('Whether this is a plain input with no border or padding.\nOnly use this when the containing context provides sufficient affordance'),
size: PropTypes.oneOf(['small', 'medium', 'large', 'xlarge']).description('The size of the TextInput.'),
suggestions: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.shape({
label: PropTypes.node,
value: PropTypes.any
}), PropTypes.string])).description('Suggestions to show. It is recommended to avoid showing too many\nsuggestions and instead rely on the user to type more.'),
.description('How to align the drop.')
.defaultValue({
top: 'bottom',
left: 'left',
}),
dropHeight: PropTypes.oneOfType([
PropTypes.oneOf(['xsmall', 'small', 'medium', 'large', 'xlarge']),
PropTypes.string,
]).description('The height of the drop container.'),
dropTarget: PropTypes.object.description(
`Target where any suggestions drop will be aligned to. This should be
a React reference. Typically, this is not required as the drop will be
aligned to the TextInput itself by default.`,
),
dropProps: PropTypes.object.description('Any valid Drop prop.'),
id: PropTypes.string.description('The id attribute of the input.'),
focusIndicator: PropTypes.bool.description(
'Whether the plain text input should receive a focus outline.',
),
messages: PropTypes.shape({
enterSelect: PropTypes.string,
suggestionsCount: PropTypes.string,
suggestionsExist: PropTypes.string,
suggestionIsOpen: PropTypes.string,
})
.description(
`Custom messages for TextInput. Used for accessibility by screen
readers.`,
)
.defaultValue({
enterSelect: '(Press Enter to Select)',
suggestionsCount: 'suggestions available',
export var doc = function doc(Text) {
var DocumentedText = describe(Text).availableAt(getAvailableAtBadge('Text')).description('Arbitrary text.').usage("import { Text } from 'grommet';\n
export default (function (Box) {
var DocumentedBox = describe(Box).availableAt(getAvailableAtBadge('Box')).description('A flexible box that lays out its contents along a single direction.').usage("import { Box } from 'grommet';\n");
DocumentedBox.propTypes = {
a11yTitle: a11yTitlePropType,
align: PropTypes.oneOf(['start', 'center', 'end', 'baseline', 'stretch']).description('How to align the contents along the cross axis.'),
alignContent: PropTypes.oneOf(['start', 'center', 'end', 'between', 'around', 'stretch']).description('How to align the contents when there is extra space in\n the cross axis.').defaultValue('stretch'),
alignSelf: PropTypes.oneOf(['start', 'center', 'end', 'stretch']).description('How to align along the cross axis when contained in\n a Box or along the column axis when contained in a Grid.'),
animation: PropTypes.oneOfType([ANIMATION_TYPE, ANIMATION_SHAPE, PropTypes.arrayOf(PropTypes.oneOfType([ANIMATION_TYPE, ANIMATION_SHAPE]))]).description('Animation effect(s) to use. \'duration\' and \'delay\' should\n be in milliseconds. \'jiggle\' and \'pulse\' types are intended for\n small elements, like icons.'),
background: PropTypes.oneOfType([PropTypes.string, PropTypes.shape({
color: PropTypes.string,
dark: PropTypes.bool,
image: PropTypes.string,
position: PropTypes.string,
opacity: PropTypes.oneOfType([PropTypes.oneOf(['weak', 'medium', 'strong']), PropTypes.bool])
})]).description('Either a color identifier to use for the background\n color. For example: \'neutral-1\'. Or, a \'url()\' for an image. Dark\n is not needed if color is provided.'),
basis: PropTypes.oneOf(['xsmall', 'small', 'medium', 'large', 'xlarge', 'full', '1/2', '1/3', '2/3', '1/4', '3/4', 'auto']).description('A fixed or relative size along its container\'s main axis.'),
border: PropTypes.oneOfType([PropTypes.oneOf(['top', 'left', 'bottom', 'right', 'horizontal', 'vertical', 'all']), PropTypes.shape({
color: PropTypes.string,
side: PropTypes.oneOf(['top', 'left', 'bottom', 'right', 'horizontal', 'vertical', 'all']),
size: PropTypes.oneOf(['small', 'medium', 'large'])
})]).description('Include a border.'),
direction: PropTypes.oneOf(['row', 'column', 'row-responsive']).description('The orientation to layout the child components in.').defaultValue('column'),
elevation: PropTypes.oneOf(['none', 'xsmall', 'small', 'medium', 'large', 'xlarge']).description('Elevated height above the underlying context, indicated\n via a drop shadow.').defaultValue('none'),
flex: PropTypes.oneOf(['grow', 'shrink', true, false]).description('Whether flex-grow and/or flex-shrink is true.'),
fill: PropTypes.oneOf(['horizontal', 'vertical', true, false]).description('Whether the width and/or height should fill the container.'),
gap: PropTypes.oneOf(['xsmall', 'small', 'medium', 'large', 'xlarge']).description('The amount of spacing between child elements. This\n should not be used in conjunction with \'wrap\' as the gap elements\n will not wrap gracefully.'),
PropTypes.oneOfType([ANIMATION_TYPE, ANIMATION_SHAPE]),
),
])
.description(`Animation effect(s) to use. 'duration' and 'delay' should
be in milliseconds. 'jiggle' and 'pulse' types are intended for
small elements, like icons.`),
backContent: PropTypes.node.description(
'Content for the back side of the card, if not specified, the card will not be flippable.'
),
background: PropTypes.oneOfType([
PropTypes.string,
PropTypes.shape({
color: PropTypes.string,
dark: PropTypes.bool,
image: PropTypes.string,
position: PropTypes.string,
opacity: PropTypes.oneOfType([
PropTypes.oneOf(['weak', 'medium', 'strong']),
PropTypes.bool,
]),
}),
]).description(`Either a color identifier to use for the background
color. For example: 'neutral-1'. Or, a 'url()' for an image. Dark
is not needed if color is provided.`),
border: PropTypes.oneOfType([
PropTypes.oneOf(['top', 'left', 'bottom', 'right',
'horizontal', 'vertical', 'all']),
PropTypes.shape({
color: PropTypes.string,
side: PropTypes.oneOf(['top', 'left', 'bottom', 'right',
'horizontal', 'vertical', 'all']),
size: PropTypes.oneOf(['small', 'medium', 'large']),
export const doc = RangeInput => {
const DocumentedRangeInput = describe(RangeInput)
.availableAt(getAvailableAtBadge('RangeInput'))
.description('A slider control to input a value within a fixed range.')
.usage(
`import { RangeInput } from 'grommet';
`,
)
.intrinsicElement('input');
DocumentedRangeInput.propTypes = {
id: PropTypes.string.description('The id attribute of the range input.'),
min: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).description(
'The minimum value permitted.',
),
max: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).description(
'The maximum value permitted.',
),
name: PropTypes.string.description(
'The name attribute of the range input.',
),
onChange: PropTypes.func.description(
`Function that will be called when the user changes the value. It will
be passed an event object. The new input value will be available
via 'event.target.value'.`,
),
step: PropTypes.number.description('The step interval between values.'),
value: PropTypes.oneOfType([
),
focusable: PropTypes.bool.description(
'Whether the tag list is focusable',
),
icon: PropTypes.element.description('Icon element to remove the tag.'),
tagProps: PropTypes.object.description('Tag elements `` and `