Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
.usage("import { Chart } from 'grommet';\n");
// We don't include svg due to a collision on the values property
// .intrinsicElement('svg');
DocumentedChart.propTypes = {
...genericProps,
bounds: PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.number)).description(
`The limits for the values, specified as a two dimensional array.
If not specified, the bounds will automatically be set to fit
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
array is specified, it is used to create a gradient mask. Array objects
indicate what color to show at what value. In the simplest case, the
values should map to the Y bounds values, resulting in a vertical
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'
`How to align the contents when there is extra space in
the cross axis.`,
)
.defaultValue('stretch'),
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
be in milliseconds. 'jiggle' and 'pulse' types are intended for
small elements, like icons.`),
background: PropTypes.oneOfType([
PropTypes.string,
PropTypes.shape({
color: PropTypes.string,
dark: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),
image: PropTypes.string,
position: PropTypes.string,
opacity: PropTypes.oneOfType([
PropTypes.string,
PropTypes.bool,
PropTypes.number,
PropTypes.oneOf(['weak', 'medium', 'strong']),
]),
repeat: PropTypes.oneOfType([
PropTypes.oneOf(['no-repeat', 'repeat']),
PropTypes.string,
]),
size: PropTypes.oneOfType([
PropTypes.oneOf(['cover', 'contain']),
PropTypes.string,
]),
export default (Element) => {
const DocumentedElement = describe(Element)
.availableAt(getAvailableAtGitHub({ url: 'https://github.com/atanasster/grommet-nextjs' }))
.description('A tag control with a label and icon.')
.usage(
`$ npm install grommet-controls
import { GrommetTag } from 'grommet-controls';
`
);
DocumentedElement.propTypes = {
a11yTitle: a11yTitlePropType,
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.'),
background: PropTypes.string.description('Fill color for the tag.'),
disabled: PropTypes.bool.description(
'Displays a disabled style for the tag',
),
focusable: PropTypes.bool.description(
'Whether the tag is focusable',
),
.usage(
`import { RadioButtonGroup } from 'grommet';
`,
)
.intrinsicElement('div');
DocumentedRadioButtonGroup.propTypes = {
name: PropTypes.string.description(
`The DOM name attribute value to use for the underlying <input>
elements.`,
).isRequired,
onChange: PropTypes.func.description(
`Function that will be called when the user clicks on of the radio
buttons. It will be passed a React event object.`,
),
options: PropTypes.oneOfType([
PropTypes.arrayOf(PropTypes.string),
PropTypes.arrayOf(
PropTypes.shape({
disabled: PropTypes.bool,
id: PropTypes.string,
label: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),
value: PropTypes.string.isRequired,
}),
),
]).description(`Options can be either a string or an object.`).isRequired,
value: PropTypes.string.description(`Currently selected option value.`),
};
return DocumentedRadioButtonGroup;
};
`Whether the width and/or height should fill the current viewport
size.`,
)
.defaultValue(false),
margin: PropTypes.oneOfType([
PropTypes.oneOf(['none', ...PAD_SIZES]),
PropTypes.shape({
bottom: PropTypes.oneOfType([
PropTypes.oneOf(PAD_SIZES),
PropTypes.string,
]),
horizontal: PropTypes.oneOfType([
PropTypes.oneOf(PAD_SIZES),
PropTypes.string,
]),
left: PropTypes.oneOfType([
PropTypes.oneOf(PAD_SIZES),
PropTypes.string,
]),
right: PropTypes.oneOfType([
PropTypes.oneOf(PAD_SIZES),
PropTypes.string,
]),
top: PropTypes.oneOfType([
PropTypes.oneOf(PAD_SIZES),
PropTypes.string,
]),
vertical: PropTypes.oneOfType([
PropTypes.oneOf(PAD_SIZES),
PropTypes.string,
]),
}),
PropTypes.shape({ dark: PropTypes.string, light: PropTypes.string }),
]);
const MARGIN_SIZES = [
'xxsmall',
'xsmall',
'small',
'medium',
'large',
'xlarge',
];
export const marginProp = PropTypes.oneOfType([
PropTypes.oneOf(['none', ...MARGIN_SIZES]),
PropTypes.shape({
bottom: PropTypes.oneOfType([
PropTypes.oneOf(MARGIN_SIZES),
PropTypes.string,
]),
horizontal: PropTypes.oneOfType([
PropTypes.oneOf(MARGIN_SIZES),
PropTypes.string,
]),
left: PropTypes.oneOfType([
PropTypes.oneOf(MARGIN_SIZES),
PropTypes.string,
]),
right: PropTypes.oneOfType([
PropTypes.oneOf(MARGIN_SIZES),
PropTypes.string,
]),
top: PropTypes.oneOfType([PropTypes.oneOf(MARGIN_SIZES), PropTypes.string]),
left: PropTypes.oneOf(HORIZONTAL_ALIGN_OPTIONS),
right: PropTypes.oneOf(HORIZONTAL_ALIGN_OPTIONS),
})
.description(
`Where to place the drop down. The keys correspond to a side of the drop down.
The values correspond to a side of the control. For instance,
{left: 'left', top: 'bottom'} would align the left edges and the top of
the drop down to the bottom of the control. At most one of left or right and
one of top or bottom should be specified.`,
)
.defaultValue({ top: 'top', left: 'left' }),
dropBackground: PropTypes.oneOfType([
PropTypes.string,
PropTypes.shape({
color: PropTypes.string,
opacity: PropTypes.oneOfType([
PropTypes.oneOf(['weak', 'medium', 'strong']),
PropTypes.bool,
]),
}),
]).description('Background color when drop is active'),
dropTarget: PropTypes.object.description(
`Target where the drop will be aligned to. This should be
a React reference. Typically, this is not required as the drop will be
aligned to the Menu itself by default.`,
),
dropProps: PropTypes.object.description('Any valid Drop prop.'),
justifyContent: PropTypes.oneOf([
'start',
'center',
'end',
'between',
export var doc = function doc(Grid) {
var DocumentedGrid = describe(Grid).availableAt(getAvailableAtBadge('Grid')).description("A grid system for laying out content. To use, define the\nrows and columns, create area names for adjacent cells, and then\nplace Box components inside those areas using the gridArea property.\nSee https://css-tricks.com/snippets/css/complete-guide-grid/.\nThe availability of Grid can be tested via `Grid.available`. Use this\nto create fallback rendering for older browsers, like ie11.").usage("import { Grid } from 'grommet';\n").intrinsicElement('div');
DocumentedGrid.propTypes = _extends({}, genericProps, {
align: PropTypes.oneOf(['start', 'center', 'end', 'stretch']).description("How to align the individual items inside the grid when there is extra\nspace in the column axis.").defaultValue('stretch'),
alignContent: PropTypes.oneOf(['start', 'center', 'end', 'between', 'around', 'stretch']).description('How to align the contents along the column axis.'),
areas: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.shape({
name: PropTypes.string,
start: PropTypes.arrayOf(PropTypes.number),
end: PropTypes.arrayOf(PropTypes.number)
})), PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.string))]).description("Grid areas.\n Either area names and column,row coordinates.\n Or, an array of string arrays that specify named grid areas."),
columns: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.oneOf(sizes), PropTypes.string])), PropTypes.oneOf(sizes), PropTypes.string])), PropTypes.oneOf(fixedSizes), PropTypes.shape({
count: PropTypes.oneOfType([PropTypes.oneOf(['fit', 'fill']), PropTypes.number]),
size: PropTypes.oneOfType([PropTypes.oneOf(fixedSizes), PropTypes.arrayOf(PropTypes.oneOf(sizes)), PropTypes.string])
}), PropTypes.string]).description("Column sizes.\n If an array value is an array, the inner array indicates the\n minimum and maximum sizes for the column.\n Specifying a single string will repeat multiple columns\n of that size, as long as there is room for more.\n Specifying an object allows indicating how the columns\n stretch to fit the available space."),
fill: PropTypes.oneOfType([PropTypes.oneOf(['horizontal', 'vertical']), PropTypes.bool]).description('Whether the width and/or height should fill the container.'),
gap: PropTypes.oneOfType([PropTypes.oneOf(edgeSizes), PropTypes.shape({
row: PropTypes.oneOfType([PropTypes.oneOf(edgeSizes), PropTypes.string]),
column: PropTypes.oneOfType([PropTypes.oneOf(edgeSizes), PropTypes.string])
}), PropTypes.string]).description('Gap sizes between rows and/or columns.'),
justify: PropTypes.oneOf(['start', 'center', 'end', 'stretch']).description("How to align the individual items inside the grid when there is extra\nspace in the row axis.").defaultValue('stretch'),
justifyContent: PropTypes.oneOf(['start', 'center', 'end', 'between', 'around', 'stretch']).description('How to align the contents along the row axis.'),
rows: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.oneOf(sizes), PropTypes.string])), PropTypes.oneOf(sizes), PropTypes.string])), PropTypes.oneOf(fixedSizes), PropTypes.string]).description("Row sizes.\n If an array value is an array, the inner array indicates the\n minimum and maximum sizes for the row.\n Specifying a single string will cause automatically added rows to be\n the specified size."),
tag: PropTypes.oneOfType([PropTypes.string, PropTypes.func]).description("The DOM tag to use for the element. NOTE: This is deprecated\n in favor of indicating the DOM tag via the 'as' property."),
as: PropTypes.oneOfType([PropTypes.string, PropTypes.func]).description('The DOM tag or react component to use for the element.').defaultValue('div')
});
return DocumentedGrid;
};
`A masked date entry field with a drop down calendar.
All properties of MaskedInput apply
`
).usage(`
$ npm install grommet-controls
import { DateInput } from 'grommet-controls';
`);
DocumentedElement.propTypes = {
autocorrect: PropTypes.bool.description('Use mask that wil attempt to auto-correct the entry as the user types'),
disabled: PropTypes.bool.description('Setting to true causes the input to be disabled.'),
bounds: PropTypes.arrayOf(PropTypes.string)
.description(`An array of two numbers indicating the limits on
navigation in ISO8601 format`),
disabledDates: PropTypes.arrayOf(PropTypes.oneOfType([
PropTypes.string,
PropTypes.arrayOf(PropTypes.string),
]))
.description(`Multiple dates in ISO8601 format that should not be
selectable. Items that are an array indicate a range of dates.`),
firstDayOfWeek: PropTypes.oneOf([0, 1])
.description('The first day of the week. 0 for Sunday. 1 for Monday.'),
locale: PropTypes.string.description('The locale to use.'),
size: PropTypes.oneOf(['small', 'medium', 'large'])
.description('Size of the calendar drop.'),
value: PropTypes.oneOfType([
PropTypes.instanceOf(Date),
PropTypes.string,
]).description('The date value is Date format of ISO string'),
};