@zohodesk/components
Version:
Dot UI is a customizable React component library built to deliver a clean, accessible, and developer-friendly UI experience. It offers a growing set of reusable components designed to align with modern design systems and streamline application development
43 lines • 1.77 kB
JavaScript
import PropTypes from 'prop-types';
import { PALETTE, BG_APPEARANCE, BORDER_APPEARANCE, VARIANT, SIZE, STATUS, LOADER_PLACEMENT, ICON_PLACEMENT, PALETTE_SHADE, SHAPE, DISABLED_APPEARANCE, BUTTON_TYPE } from "../constants";
const renderSlotType = PropTypes.oneOfType([PropTypes.node, PropTypes.func]);
const propTypes = {
palette: PropTypes.oneOf(Object.values(PALETTE)),
bgAppearance: PropTypes.oneOf(Object.values(BG_APPEARANCE)),
borderAppearance: PropTypes.oneOf(Object.values(BORDER_APPEARANCE)),
variant: PropTypes.oneOf(Object.values(VARIANT)),
size: PropTypes.oneOf(Object.values(SIZE)),
status: PropTypes.oneOf(Object.values(STATUS)),
loaderPlacement: PropTypes.oneOf(Object.values(LOADER_PLACEMENT)),
iconName: PropTypes.string,
iconSize: PropTypes.number,
iconPlacement: PropTypes.oneOf(Object.values(ICON_PLACEMENT)),
paletteShade: PropTypes.oneOf(Object.values(PALETTE_SHADE)),
disabledAppearance: PropTypes.oneOf(Object.values(DISABLED_APPEARANCE)),
renderIcon: renderSlotType,
renderBefore: renderSlotType,
renderAfter: renderSlotType,
renderLoader: renderSlotType,
renderSuccess: renderSlotType,
children: PropTypes.node,
type: PropTypes.oneOf(Object.values(BUTTON_TYPE)),
onClick: PropTypes.func,
isDisabled: PropTypes.bool,
isReadOnly: PropTypes.bool,
isSelected: PropTypes.bool,
shape: PropTypes.oneOf(Object.values(SHAPE)),
title: PropTypes.string,
customClass: PropTypes.shape({
wrapper: PropTypes.string,
text: PropTypes.string
}),
customProps: PropTypes.shape({
text: PropTypes.object,
icon: PropTypes.object
}),
customAttributes: PropTypes.object,
a11yAttributes: PropTypes.object,
customId: PropTypes.string,
testId: PropTypes.string
};
export default propTypes;