You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
518 lines
19 KiB
518 lines
19 KiB
3 years ago
|
"use strict";
|
||
|
/* eslint-disable max-len */
|
||
|
/**
|
||
|
* @interface Theme
|
||
|
* @load ./theme.doc.md
|
||
|
* @section design-system
|
||
|
*/
|
||
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||
|
exports.borderWidths = exports.breakpoints = exports.borders = exports.shadows = exports.font = exports.space = exports.sizes = exports.fontSizes = exports.fontWeights = exports.lineHeights = exports.colors = exports.VariantValues = void 0;
|
||
|
/**
|
||
|
* Color palette.
|
||
|
*
|
||
|
* @memberof Theme
|
||
|
* @alias colors
|
||
|
* @property {string} primary100=#4268F6 <div style="background: #4268F6; height: 20px;" />
|
||
|
* @property {string} primary80=#6483F8 <div style="background: #6483F8; height: 20px;" />
|
||
|
* @property {string} primary60=#879FFA <div style="background: #879FFA; height: 20px;" />
|
||
|
* @property {string} primary40=#A9BAFA <div style="background: #A9BAFA; height: 20px;" />
|
||
|
* @property {string} primary20=#CBD5FD <div style="background: #CBD5FD; height: 20px;" />
|
||
|
* @property {string} accent=#38CAF1 <div style="background: #38CAF1; height: 20px;" />
|
||
|
* @property {string} love=#e6282b <div style="background: #e6282b; height: 20px;" />
|
||
|
* @property {string} grey100=#1C1C38 <div style="background: #1C1C38; height: 20px;" />
|
||
|
* @property {string} grey80=#454655 <div style="background: #454655; height: 20px;" />
|
||
|
* @property {string} grey60=#898A9A <div style="background: #898A9A; height: 20px;" />
|
||
|
* @property {string} grey40=#C0C0CA <div style="background: #C0C0CA; height: 20px;" />
|
||
|
* @property {string} grey20=#F6F7FB <div style="background: #F6F7FB; height: 20px;" />
|
||
|
* @property {string} white=#fff <div style="background: #fff; height: 20px;" />
|
||
|
* @property {string} errorDark=#DE405D <div style="background: #DE405D; height: 20px;" />
|
||
|
* @property {string} error=#FF4567 <div style="background: #FF4567; height: 20px;" />
|
||
|
* @property {string} errorLight=#FFA5B5 <div style="background: #FFA5B5; height: 20px;" />
|
||
|
* @property {string} successDark=#32A887 <div style="background: #32A887; height: 20px;" />
|
||
|
* @property {string} success=#70C9B0 <div style="background: #70C9B0; height: 20px;" />
|
||
|
* @property {string} successLight=#DBF0F1 <div style="background: #DBF0F1; height: 20px;" />
|
||
|
* @property {string} infoDark=#4268F6 <div style="background: #4268F6; height: 20px;" />
|
||
|
* @property {string} info=#879FFA <div style="background: #879FFA; height: 20px;" />
|
||
|
* @property {string} infoLight=#CBD5FD <div style="background: #CBD5FD; height: 20px;" />
|
||
|
* @property {string} filterBg=#343F87 <div style="background: #343F87; height: 20px;" />
|
||
|
* @property {string} hoverBg=#535B8E <div style="background: #535B8E; height: 20px;" />
|
||
|
* @property {string} inputBorder=#898A9A <div style="background: #898A9A; height: 20px;" />
|
||
|
* @property {string} border=#DDE1E5, <div style="background: #DDE1E5; height: 20px;" />
|
||
|
* @property {string} separator=#C0C0CA <div style="background: #C0C0CA; height: 20px;" />
|
||
|
* @property {string} highlight=#F6F7FB <div style="background: #F6F7FB; height: 20px;" />
|
||
|
* @property {string} filterInputBorder=rgba(255,255,255,0.15) <div style="background: rgba(255,255,255,0.15); height: 20px;" />
|
||
|
* @property {string} filterDisabled=rgba(83,91,142,0.05) <div style="background: rgba(83,91,142,0.05); height: 20px;" />
|
||
|
* @property {string} bg=#F6F7FB <div style="background: #F6F7FB; height: 20px;" />
|
||
|
*/
|
||
|
const colors = {
|
||
|
// Primary
|
||
|
primary100: '#4268F6',
|
||
|
primary80: '#6483F8',
|
||
|
primary60: '#879FFA',
|
||
|
primary40: '#A9BAFA',
|
||
|
primary20: '#CBD5FD',
|
||
|
// accent
|
||
|
accent: '#38CAF1',
|
||
|
love: '#4D70EB',
|
||
|
// grey
|
||
|
grey100: '#1C1C38',
|
||
|
grey80: '#454655',
|
||
|
grey60: '#898A9A',
|
||
|
grey40: '#C0C0CA',
|
||
|
grey20: '#F6F7FB',
|
||
|
white: '#fff',
|
||
|
// Alerts
|
||
|
errorDark: '#DE405D',
|
||
|
error: '#FF4567',
|
||
|
errorLight: '#FFA5B5',
|
||
|
successDark: '#32A887',
|
||
|
success: '#70C9B0',
|
||
|
successLight: '#DBF0F1',
|
||
|
infoDark: '#4268F6',
|
||
|
info: '#879FFA',
|
||
|
infoLight: '#CBD5FD',
|
||
|
// Backgrounds
|
||
|
filterBg: '#343F87',
|
||
|
hoverBg: '#535B8E',
|
||
|
// global
|
||
|
border: '#DDE1E5',
|
||
|
// Elements
|
||
|
inputBorder: '#C0C0CA',
|
||
|
separator: '#C0C0CA',
|
||
|
highlight: '#F6F7FB',
|
||
|
filterInputBorder: 'rgba(255,255,255,0.15)',
|
||
|
filterDisabled: 'rgba(83,91,142,0.05)',
|
||
|
bg: '#F6F7FB',
|
||
|
};
|
||
|
exports.colors = colors;
|
||
|
/**
|
||
|
* Sizes can be used with paddings, margins etc.
|
||
|
*
|
||
|
* This is the example of using responsive margin with Box component
|
||
|
*
|
||
|
* ```javascript
|
||
|
* <Box p=['default', 'xl']>some content</Box>
|
||
|
* ```
|
||
|
*
|
||
|
* This component will have 8px padding for lowest breakpoint and 24px above
|
||
|
* this breakpoint.
|
||
|
*
|
||
|
* @memberof Theme
|
||
|
* @alias space
|
||
|
|
||
|
* @property {string} xs=2px 2px - <span class="space-box" style="width: 2px;" />
|
||
|
* @property {string} sm=4px 4px - <span class="space-box" style="width: 4px;" />
|
||
|
* @property {string} default=8px 8px - <span class="space-box" style="width: 8px;" /> (alias md)
|
||
|
* @property {string} lg=16px 16px - <span class="space-box" style="width: 16px;" />
|
||
|
* @property {string} xl=24px 24px - <span class="space-box" style="width: 24px;" />
|
||
|
* @property {string} xxl=32px 32px - <span class="space-box" style="width: 32px;" />
|
||
|
* @property {string} x3=48px 48px - <span class="space-box" style="width: 48px;" />
|
||
|
* @property {string} x4=64px 64px - <span class="space-box" style="width: 64px;" />
|
||
|
* @property {string} x5=80px 80px - <span class="space-box" style="width: 80px;" />
|
||
|
* @property {string} x6=128px 128px - <span class="space-box" style="width: 128px;" />
|
||
|
*/
|
||
|
const space = {
|
||
|
xs: '2px',
|
||
|
sm: '4px',
|
||
|
default: '8px',
|
||
|
md: '8px',
|
||
|
lg: '16px',
|
||
|
xl: '24px',
|
||
|
xxl: '32px',
|
||
|
x3: '48px',
|
||
|
x4: '64px',
|
||
|
x5: '80px',
|
||
|
x6: '128px',
|
||
|
};
|
||
|
exports.space = space;
|
||
|
/**
|
||
|
* @memberof Theme
|
||
|
* @alias sizes
|
||
|
* @property {string} navbarHeight=64px
|
||
|
* @property {string} sidebarWidth=300px
|
||
|
* @property {string} maxFormWidth=740px
|
||
|
*/
|
||
|
const sizes = {
|
||
|
navbarHeight: '64px',
|
||
|
sidebarWidth: '300px',
|
||
|
maxFormWidth: '740px',
|
||
|
};
|
||
|
exports.sizes = sizes;
|
||
|
/**
|
||
|
* @memberof Theme
|
||
|
* @alias fontSizes
|
||
|
* @property {string} xs=10px <div style="font-size: 10px;">'xs' font size</div>
|
||
|
* @property {string} sm=12px <div style="font-size: 12px;">'sm' font size</div>
|
||
|
* @property {string} default=14px (alias md) <div style="font-size: 14px;">'default' font size</div>
|
||
|
* @property {string} lg=16px <div style="font-size: 16px;">'lg' font size</div>
|
||
|
* @property {string} xl=18px <div style="font-size: 18px;">'xl' font size</div>
|
||
|
* @property {string} h4=24px <div style="font-size: 24px;">'h4' font size</div>
|
||
|
* @property {string} h3=28px <div style="font-size: 28px;">'h3' font size</div>
|
||
|
* @property {string} h2=32px <div style="font-size: 32px;">'h2' font size</div>
|
||
|
* @property {string} h1=40px <div style="font-size: 40px;">'h1' font size</div>
|
||
|
*/
|
||
|
const fontSizes = {
|
||
|
xs: '10px',
|
||
|
sm: '12px',
|
||
|
default: '14px',
|
||
|
md: '14px',
|
||
|
lg: '16px',
|
||
|
xl: '18px',
|
||
|
h4: '24px',
|
||
|
h3: '28px',
|
||
|
h2: '32px',
|
||
|
h1: '40px',
|
||
|
};
|
||
|
exports.fontSizes = fontSizes;
|
||
|
/**
|
||
|
* @memberof Theme
|
||
|
* @alias fontWeights
|
||
|
* @property {string} lighter=200
|
||
|
* @property {string} lighter=300
|
||
|
* @property {string} normal=400
|
||
|
* @property {string} normal=500
|
||
|
* @property {string} bolder=900
|
||
|
*/
|
||
|
const fontWeights = {
|
||
|
lighter: 200,
|
||
|
light: 300,
|
||
|
normal: 400,
|
||
|
bold: 500,
|
||
|
bolder: 900,
|
||
|
};
|
||
|
exports.fontWeights = fontWeights;
|
||
|
/**
|
||
|
* @memberof Theme
|
||
|
* @alias lineHeights
|
||
|
* @property {string} xs=10px
|
||
|
* @property {string} sm=12px
|
||
|
* @property {string} default=16px (alias md)
|
||
|
* @property {string} lg=24px
|
||
|
* @property {string} xl=32px
|
||
|
* @property {string} xxl=40px
|
||
|
*/
|
||
|
const lineHeights = {
|
||
|
xs: '10px',
|
||
|
sm: '12px',
|
||
|
default: '16px',
|
||
|
md: '16px',
|
||
|
lg: '24px',
|
||
|
xl: '32px',
|
||
|
xxl: '40px',
|
||
|
};
|
||
|
exports.lineHeights = lineHeights;
|
||
|
/**
|
||
|
* This dimension can be used with `testShadow` and `boxShadow` props provided
|
||
|
* by {@link ShadowProps}
|
||
|
*
|
||
|
* ```javascript
|
||
|
* <Box variant="grey" boxShadow="card">Some content...</Box>
|
||
|
* ```
|
||
|
*
|
||
|
* @alias shadows
|
||
|
* @memberof Theme
|
||
|
* @property {string} login <div class="shadow-div" style="box-shadow: 0 15px 24px 0 rgba(137,138,154,0.15);"/>
|
||
|
* @property {string} cardHover <div class="shadow-div" style="box-shadow: 0 4px 12px 0 rgba(137,138,154,0.4);"/>
|
||
|
* @property {string} drawer <div class="shadow-div" style="box-shadow: -2px 0 8px 0 rgba(137,138,154,0.2);"/>
|
||
|
* @property {string} card <div class="shadow-div" style="box-shadow: 0 1px 6px 0 rgba(137,138,154,0.4);"/>
|
||
|
* @property {string} inputFocus <div class="shadow-div" style="box-shadow: 0 2px 4px 0 rgba(135,159,250,0.4);"/>
|
||
|
* @property {string} buttonFocus <div class="shadow-div" style="box-shadow: 0 4px 6px 0 rgba(56,202,241,0.3);"/>
|
||
|
*/
|
||
|
const shadows = {
|
||
|
login: '0 15px 24px 0 rgba(137,138,154,0.15)',
|
||
|
cardHover: '0 4px 12px 0 rgba(137,138,154,0.4)',
|
||
|
drawer: '-2px 0 8px 0 rgba(137,138,154,0.2)',
|
||
|
card: '0 1px 6px 0 rgba(137,138,154,0.4)',
|
||
|
inputFocus: '0 2px 4px 0 rgba(135,159,250,0.4)',
|
||
|
buttonFocus: '0 4px 6px 0 rgba(56,202,241,0.3)',
|
||
|
};
|
||
|
exports.shadows = shadows;
|
||
|
/**
|
||
|
* Responsive breakpoints
|
||
|
*
|
||
|
* How to use them - simply pass an array to given prop:
|
||
|
*
|
||
|
* ```javascript
|
||
|
* // Showing box on mobile devices
|
||
|
* <Box display={["block", "none"]}>...</Box>
|
||
|
*
|
||
|
* // responsive width
|
||
|
* <Box width={[1, 1/2, 1/3, 1/4]}>...</Box>
|
||
|
* ```
|
||
|
*
|
||
|
* @memberof Theme
|
||
|
* @alias breakpoints
|
||
|
* @property {string} 0=577px
|
||
|
* @property {string} 1=769px
|
||
|
* @property {string} 2=1024px
|
||
|
* @property {string} 3=1324px
|
||
|
*/
|
||
|
const breakpoints = [
|
||
|
'577px',
|
||
|
'769px',
|
||
|
'1024px',
|
||
|
'1324px',
|
||
|
];
|
||
|
exports.breakpoints = breakpoints;
|
||
|
const font = '\'Roboto\', sans-serif';
|
||
|
exports.font = font;
|
||
|
/**
|
||
|
* Border styles
|
||
|
*
|
||
|
* @memberof Theme
|
||
|
* @alias borders
|
||
|
* @property {string} input
|
||
|
* @property {string} filterInput
|
||
|
* @property {string} bg
|
||
|
* @property {string} default
|
||
|
*/
|
||
|
const borders = {
|
||
|
input: '1px solid #C0C0CA',
|
||
|
filterInput: ' 1px rgba(255,255,255,0. solid15)',
|
||
|
bg: '1px solid #F6F7FB',
|
||
|
default: '1px solid #DDE1E5',
|
||
|
};
|
||
|
exports.borders = borders;
|
||
|
/**
|
||
|
* Border widths set for an entire layout. If you like to have border radius in Button's and Box'es
|
||
|
* Then set default property.
|
||
|
*
|
||
|
* @memberof Theme
|
||
|
* @alias borderWidths
|
||
|
* @property {string} default - default border with
|
||
|
*/
|
||
|
const borderWidths = {
|
||
|
default: '0px',
|
||
|
};
|
||
|
exports.borderWidths = borderWidths;
|
||
|
exports.VariantValues = [
|
||
|
'primary', 'danger', 'success', 'info', 'secondary', 'default', 'light',
|
||
|
];
|
||
|
/**
|
||
|
* The color utility parses a component's color and bg props and converts them into CSS
|
||
|
* declarations. By default the raw value of the prop is returned. But most often you
|
||
|
* would use one of the color from the [color palette]{@link colors}.
|
||
|
*
|
||
|
* @typedef {object} ColorProps
|
||
|
* @alias ColorProps
|
||
|
* @memberof Theme
|
||
|
* @property {string} [color] Text color. It could be either a #hash or
|
||
|
* {@link colors} from css theme name like
|
||
|
* `grey80`
|
||
|
* @property {string} [backgroundColor, bg] Background color. Similar as above could be a
|
||
|
* #hash or one of {@link colors}.
|
||
|
*/
|
||
|
/**
|
||
|
* The space utility converts shorthand margin and padding props to margin and padding
|
||
|
* CSS declarations.
|
||
|
*
|
||
|
* You can use as a value raw dimensions in "px" or one of the value from the
|
||
|
* [space scale]{@link space}.
|
||
|
*
|
||
|
* @typedef {object} SpaceProps
|
||
|
* @alias SpaceProps
|
||
|
* @memberof Theme
|
||
|
* @property {string} [margin, m] margin
|
||
|
* @property {string} [marginTop, mt] margin-top
|
||
|
* @property {string} [marginRight, mr] margin-right
|
||
|
* @property {string} [marginBottom, mb] margin-bottom
|
||
|
* @property {string} [marginLeft, ml] margin-left
|
||
|
* @property {string} [marginX, mx] margin-left and margin-right
|
||
|
* @property {string} [marginY, my] margin-top and margin-bottom
|
||
|
* @property {string} [padding, p] padding
|
||
|
* @property {string} [paddingTop, pt] padding-top
|
||
|
* @property {string} [paddingRight, pr] padding-right
|
||
|
* @property {string} [paddingBottom, pb] padding-bottom
|
||
|
* @property {string} [paddingLeft, pl] padding-left
|
||
|
* @property {string} [paddingX, px] padding-left and padding-right
|
||
|
* @property {string} [paddingY, py] padding-top and padding-bottom
|
||
|
*
|
||
|
* Set of props related to {@link space}. You can put there either string with 'px' or
|
||
|
* one of `space` properties like `sm`, `default`, `xl` etc.
|
||
|
*/
|
||
|
/**
|
||
|
* Typography props include _fontFamily_, _fontSize_, _fontWeight_, _lineHeight_, _letterSpacing_,
|
||
|
* _textAlign_, and _fontStyle_.
|
||
|
*
|
||
|
* @typedef {object} TypographyProps
|
||
|
* @alias TypographyProps
|
||
|
* @memberof Theme
|
||
|
* @property {string} [fontSize] font-size. Could be either actual css value or key taken from
|
||
|
* {@link fontSizes}
|
||
|
* @property {string} [fontWeight] font-weight. Could be either actual css value or key taken from
|
||
|
* {@link fontWeights}
|
||
|
* @property {string} [lineHeight] line-height. Could be either actual css value or key taken from
|
||
|
* {@link lineHeights}
|
||
|
* @property {string} [textAlign] text-align
|
||
|
* @property {string} [fontFamily] font-family
|
||
|
* @property {string} [fontStyle] font-style
|
||
|
* @property {string} [letterSpacing] letter-spacing
|
||
|
*/
|
||
|
/**
|
||
|
* The layout utility includes style props for width, height, display, minWidth,
|
||
|
* minHeight, maxWidth, maxHeight, size, verticalAlign, overflow, overflowX, and overflowY.
|
||
|
*
|
||
|
* The width prop is transformed based on the following:
|
||
|
*
|
||
|
* - Numbers from 0-1 are converted to percentage widths.
|
||
|
* - Numbers greater than 1 are converted to pixel values.
|
||
|
* - String values are passed as raw CSS values.
|
||
|
* - And arrays are converted to responsive width styles.
|
||
|
* - the width prop will attempt to pick up values from the {@link sizes}
|
||
|
*
|
||
|
* @example
|
||
|
* // width `50%`
|
||
|
* <Box width={1/2} />
|
||
|
*
|
||
|
* // width `256px`
|
||
|
* <Box width={256} />
|
||
|
*
|
||
|
* // width `'2em'`
|
||
|
* <Box width='2em' />
|
||
|
*
|
||
|
* // width `100%` on all viewport and `50%` from the smallest breakpoint and up
|
||
|
* <Box width={[ 1, 1/2 ]} />
|
||
|
*
|
||
|
* // width from `sizes`
|
||
|
* <Box height='navbarHeight' />
|
||
|
*
|
||
|
* @typedef {object} LayoutProps
|
||
|
* @alias LayoutProps
|
||
|
* @memberof Theme
|
||
|
* @property {string} [width] width
|
||
|
* @property {string} [height] height
|
||
|
* @property {string} [display] display
|
||
|
* @property {string} [minWidth] min-width
|
||
|
* @property {string} [minHeight] min-height
|
||
|
* @property {string} [maxWidth] max-width
|
||
|
* @property {string} [maxHeight] max-height
|
||
|
* @property {string} [size] size
|
||
|
* @property {string} [verticalAlign] vertical-align
|
||
|
* @property {string} [overflow] overflow
|
||
|
* @property {string} [overflowX] overflow-x
|
||
|
* @property {string} [overflowY] overflow-y
|
||
|
*/
|
||
|
/**
|
||
|
* The flexbox utility includes style props for alignItems, alignContent, justifyItems,
|
||
|
* justifyContent, flexWrap, flexDirection, flex, flexGrow, flexShrink, flexBasis,
|
||
|
* justifySelf, alignSelf, and order.
|
||
|
*
|
||
|
* The width prop is transformed based on the following:
|
||
|
*
|
||
|
* - Numbers from 0-1 are converted to percentage widths.
|
||
|
* - Numbers greater than 1 are converted to pixel values.
|
||
|
* - String values are passed as raw CSS values.
|
||
|
* - And arrays are converted to responsive width styles.
|
||
|
* - the width prop will attempt to pick up values from the {@link sizes}
|
||
|
*
|
||
|
* @example
|
||
|
* // alignItems
|
||
|
* <Box alignItems='center' />
|
||
|
*
|
||
|
* // alignContent
|
||
|
* <Box alignContent='center' />
|
||
|
*
|
||
|
* // justifyContent
|
||
|
* <Box justifyContent='center' />
|
||
|
*
|
||
|
* // flexWrap
|
||
|
* <Box flexWrap='wrap' />
|
||
|
*
|
||
|
* // flexBasis
|
||
|
* <Box flexBasis='auto' />
|
||
|
*
|
||
|
* // flexDirection
|
||
|
* <Box flexDirection='column' />
|
||
|
*
|
||
|
* // flex
|
||
|
* <Box flex />
|
||
|
*
|
||
|
* // justifySelf
|
||
|
* <Box justifySelf='center' />
|
||
|
*
|
||
|
* // alignSelf
|
||
|
* <Box alignSelf='center' />
|
||
|
*
|
||
|
* // order
|
||
|
* <Box order='2' />
|
||
|
*
|
||
|
* @typedef {object} FlexboxProps
|
||
|
* @alias FlexboxProps
|
||
|
* @memberof Theme
|
||
|
* @property {string} [alignItems] align-items
|
||
|
* @property {string} [alignContent] align-content
|
||
|
* @property {string} [justifyItems] justify-items
|
||
|
* @property {string} [justifyContent] justify-content
|
||
|
* @property {string} [flexWrap] flex-wrap
|
||
|
* @property {string} [flexDirection] flex-direction
|
||
|
* @property {boolean} [flex] flex
|
||
|
* @property {number|string} [flexGrow] flex-grow
|
||
|
* @property {number} [flexShrink] flex-shrink
|
||
|
* @property {string} [flexBasis] flex-basis
|
||
|
* @property {string} [justifySelf] justify-self
|
||
|
* @property {string} [alignSelf] align-self
|
||
|
* @property {number|string} [order] order
|
||
|
*/
|
||
|
/**
|
||
|
* Reused Variant Enum: `primary` | `danger` | `success` | `info` | `secondary` | `default`
|
||
|
*
|
||
|
* @typedef {Enum} VariantType
|
||
|
* @alias VariantType
|
||
|
* @memberof Theme
|
||
|
*/
|
||
|
/**
|
||
|
* The border utility includes all style props related to border
|
||
|
*
|
||
|
* @typedef {object} BorderProps
|
||
|
* @alias BorderProps
|
||
|
* @memberof Theme
|
||
|
* @property {string | number} [borderWidth]
|
||
|
* @property {string} [borderStyle]
|
||
|
* @property {string} [borderColor] It could be either a #hash or {@link colors}
|
||
|
* @property {string | number} [borderRadius]
|
||
|
* @property {string | number} [borderTop]
|
||
|
* @property {string | number} [borderTopWidth]
|
||
|
* @property {string} [borderTopStyle]
|
||
|
* @property {string} [borderTopColor] It could be either a #hash or {@link colors}
|
||
|
* @property {string | number} [borderTopLeftRadius]
|
||
|
* @property {string | number} [borderTopRightRadius]
|
||
|
* @property {string | number} [borderRight]
|
||
|
* @property {string | number} [borderRightWidth]
|
||
|
* @property {string} [borderRightStyle]
|
||
|
* @property {string} [borderRightColor] It could be either a #hash or {@link colors}
|
||
|
* @property {string | number} [borderBottom]
|
||
|
* @property {string | number} [borderBottomWidth]
|
||
|
* @property {string} [borderBottomStyle]
|
||
|
* @property {string} [borderBottomColor] It could be either a #hash or {@link colors}
|
||
|
* @property {string | number} [borderBottomLeftRadius]
|
||
|
* @property {string | number} [borderBottomRightRadius]
|
||
|
* @property {string | number} [borderLeft]
|
||
|
* @property {string | number} [borderLeftWidth]
|
||
|
* @property {string} [borderLeftStyle]
|
||
|
* @property {string} [borderLeftColor] It could be either a #hash or {@link colors}
|
||
|
* @property {string | number} [borderX]
|
||
|
* @property {string | number} [borderY]
|
||
|
*/
|
||
|
/**
|
||
|
* The position utility includes style props for position, zIndex, top, right, bottom, and left.
|
||
|
*
|
||
|
* @typedef {object} PositionProps
|
||
|
* @alias PositionProps
|
||
|
* @memberof Theme
|
||
|
* property {string | number} [position]
|
||
|
* property {string | number} [zIndex]
|
||
|
* property {string | number} [top]
|
||
|
* property {string | number} [right]
|
||
|
* property {string | number} [bottom]
|
||
|
* property {string | number} [left]
|
||
|
*/
|
||
|
/**
|
||
|
* The shadow utility includes style props for textShadow and boxShadow.
|
||
|
*
|
||
|
* @typedef {object} ShadowProps
|
||
|
* @alias ShadowProps
|
||
|
* @memberof Theme
|
||
|
* property {string} [boxShadow]
|
||
|
* property {string} [textShadow]
|
||
|
*/
|