UNPKG

@zohodesk/layout

Version:

Unified Component Library - Layout

104 lines 4.47 kB
import PropTypes from 'prop-types'; import { DISPLAY, DIRECTION, ALIGN_ITEMS, JUSTIFY_CONTENT, ALIGN_CONTENT, ALIGN_SELF, SCROLL, WRAP, SIZE, GAP_VALUES, GROW, SHRINK, BASIS } from "../constants"; export default { $ui_tagName: PropTypes.string, children: PropTypes.node, $flag_flexible: PropTypes.bool, $flag_shrink: PropTypes.bool, $flag_fullsize: PropTypes.bool, $ui_alignItems: PropTypes.oneOf(Object.values(ALIGN_ITEMS)), $ui_justifyContent: PropTypes.oneOf(Object.values(JUSTIFY_CONTENT)), $ui_alignContent: PropTypes.oneOf(Object.values(ALIGN_CONTENT)), $ui_alignSelf: PropTypes.oneOf(Object.values(ALIGN_SELF)), $ui_direction: PropTypes.oneOf(Object.values(DIRECTION)), $ui_scroll: PropTypes.oneOf(Object.values(SCROLL)), $ui_wrapMode: PropTypes.oneOf(Object.values(WRAP)), $ui_basisMode: PropTypes.oneOf(['auto', 'zero']), $ui_displayMode: PropTypes.oneOf(['inline', 'flex']), $ui_className: PropTypes.string, $event_onClick: PropTypes.func, customStyle: PropTypes.object, testId: PropTypes.string, customId: PropTypes.string, $tagAttributes_container: PropTypes.object, $a11yAttributes_container: PropTypes.object }; export const flexContainerPropTypes = { as: PropTypes.string, children: PropTypes.node, display: PropTypes.oneOf(Object.values(DISPLAY)), direction: PropTypes.oneOf(Object.values(DIRECTION)), alignItems: PropTypes.oneOf(Object.values(ALIGN_ITEMS)), justifyContent: PropTypes.oneOf(Object.values(JUSTIFY_CONTENT)), alignContent: PropTypes.oneOf(Object.values(ALIGN_CONTENT)), scroll: PropTypes.oneOf(Object.values(SCROLL)), wrap: PropTypes.oneOf(Object.values(WRAP)), size: PropTypes.oneOf(Object.values(SIZE)), gap: PropTypes.oneOf(GAP_VALUES), columnGap: PropTypes.oneOf(GAP_VALUES), rowGap: PropTypes.oneOf(GAP_VALUES), customClass: PropTypes.string, testId: PropTypes.string, customId: PropTypes.string, customAttributes: PropTypes.object, a11yAttributes: PropTypes.object }; export const flexItemPropTypes = { as: PropTypes.string, children: PropTypes.node, grow: PropTypes.oneOf(Object.values(GROW)), shrink: PropTypes.oneOf(Object.values(SHRINK)), alignSelf: PropTypes.oneOf(Object.values(ALIGN_SELF)), scroll: PropTypes.oneOf(Object.values(SCROLL)), basis: PropTypes.oneOf(Object.values(BASIS)), customClass: PropTypes.string, testId: PropTypes.string, customId: PropTypes.string, customAttributes: PropTypes.object, a11yAttributes: PropTypes.object }; export const BoxProps = { adjust: PropTypes.bool, align: PropTypes.oneOf(['start', 'end', 'center']), children: PropTypes.oneOfType([PropTypes.node, PropTypes.string]), className: PropTypes.string, column: PropTypes.oneOf(['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12']), dataId: PropTypes.string, testId: PropTypes.string, dataSelectorId: PropTypes.string, eleRef: PropTypes.func, flexible: PropTypes.bool, hidden: PropTypes.arrayOf((propValue, key, componentName, location, propFullName) => { if (['xs', 'sm', 'md', 'lg', 'xl'].indexOf(propValue[key]) === -1) { return new Error(`Invalid prop \`${propFullName}\` supplied to` + ` \`${componentName}\`. Validation failed.`); } }), isFirst: PropTypes.bool, isLast: PropTypes.bool, isScrollAttribute: PropTypes.bool, scroll: PropTypes.oneOf(['vertical', 'horizontal', 'both', 'none']), shrink: PropTypes.bool, tagName: PropTypes.string, tourId: PropTypes.string, preventParentScroll: PropTypes.oneOf(['vertical', 'horizontal', 'both']) }; export const ContainerProps = { align: PropTypes.oneOf(['vertical', 'horizontal', 'both', 'top', 'right', 'bottom', 'left', 'between', 'around', 'baseline']), alignBox: PropTypes.oneOf(['row', 'column', 'row-reverse', 'column-reverse']), alignContent: PropTypes.oneOf(['start', 'end', 'center', 'around', 'between']), children: PropTypes.oneOfType([PropTypes.node, PropTypes.string]), className: PropTypes.string, dataId: PropTypes.string, testId: PropTypes.string, dataSelectorId: PropTypes.string, eleRef: PropTypes.func, hidden: PropTypes.array, isCover: PropTypes.bool, isInline: PropTypes.bool, isScrollAttribute: PropTypes.bool, scroll: PropTypes.oneOf(['vertical', 'horizontal', 'both', 'none']), tagName: PropTypes.string, tourId: PropTypes.string, wrap: PropTypes.oneOf(['wrap', 'wrap-reverse', 'nowrap']), preventParentScroll: PropTypes.oneOf(['vertical', 'horizontal', 'both']) };