@razorpay/blade 12.49.7 → 12.50.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/lib/native/components/Box/BaseBox/baseBoxStyles.js +1 -1
- package/build/lib/native/components/Box/BaseBox/baseBoxStyles.js.map +1 -1
- package/build/lib/native/components/Box/BaseBox/types/propsTypes.js.map +1 -1
- package/build/lib/native/components/Box/Box.js +1 -1
- package/build/lib/native/components/Box/Box.js.map +1 -1
- package/build/lib/web/development/components/Box/BaseBox/baseBoxStyles.js +5 -1
- package/build/lib/web/development/components/Box/BaseBox/baseBoxStyles.js.map +1 -1
- package/build/lib/web/development/components/Box/BaseBox/types/propsTypes.js.map +1 -1
- package/build/lib/web/development/components/Box/Box.js +3 -0
- package/build/lib/web/development/components/Box/Box.js.map +1 -1
- package/build/lib/web/development/components/Input/BaseInput/AnimatedBaseInputWrapper.web.js +5 -5
- package/build/lib/web/development/components/Input/BaseInput/AnimatedBaseInputWrapper.web.js.map +1 -1
- package/build/lib/web/development/components/Tag/AnimatedTag.web.js +4 -4
- package/build/lib/web/development/components/Tag/AnimatedTag.web.js.map +1 -1
- package/build/lib/web/production/components/Box/BaseBox/baseBoxStyles.js +5 -1
- package/build/lib/web/production/components/Box/BaseBox/baseBoxStyles.js.map +1 -1
- package/build/lib/web/production/components/Box/BaseBox/types/propsTypes.js.map +1 -1
- package/build/lib/web/production/components/Box/Box.js +3 -0
- package/build/lib/web/production/components/Box/Box.js.map +1 -1
- package/build/lib/web/production/components/Input/BaseInput/AnimatedBaseInputWrapper.web.js +5 -5
- package/build/lib/web/production/components/Input/BaseInput/AnimatedBaseInputWrapper.web.js.map +1 -1
- package/build/lib/web/production/components/Tag/AnimatedTag.web.js +4 -4
- package/build/lib/web/production/components/Tag/AnimatedTag.web.js.map +1 -1
- package/build/types/components/index.d.ts +545 -1
- package/build/types/components/index.native.d.ts +41 -1
- package/package.json +1 -1
|
@@ -14,7 +14,7 @@ import { makeBorderSize } from '../../../utils/makeBorderSize/makeBorderSize.js'
|
|
|
14
14
|
import { makeSpace } from '../../../utils/makeSpace/makeSpace.js';
|
|
15
15
|
import '../../BladeProvider/useTheme.js';
|
|
16
16
|
|
|
17
|
-
var _excluded=["base"];var isSpacingToken=function isSpacingToken(value){return typeof value==='string'&&value.startsWith('spacing.');};var getSpacingValue=function getSpacingValue(spacingValue,theme,breakpoint){if(isEmpty(spacingValue)){return undefined;}var responsiveSpacingValue=getResponsiveValue(spacingValue,breakpoint);if(isEmpty(responsiveSpacingValue)){return undefined;}if(responsiveSpacingValue==='auto'){return responsiveSpacingValue;}if(Array.isArray(responsiveSpacingValue)){return responsiveSpacingValue.map(function(value){return getSpacingValue(value,theme);}).join(' ');}if(isSpacingToken(responsiveSpacingValue)){var spacingReturnValue=getIn(theme,responsiveSpacingValue);return isEmpty(spacingReturnValue)?makeSpace(spacingReturnValue):undefined;}return responsiveSpacingValue;};var getColorValue=function getColorValue(color,theme,breakpoint){var responsiveBackgroundValue=getResponsiveValue(color,breakpoint);var tokenValue=getIn(theme,`colors.${responsiveBackgroundValue}`);return tokenValue!=null?tokenValue:responsiveBackgroundValue;};var getBorderRadiusValue=function getBorderRadiusValue(borderRadius,theme,breakpoint){var responsiveBorderRadiusValue=getResponsiveValue(borderRadius,breakpoint);return isEmpty(responsiveBorderRadiusValue)?undefined:makeBorderSize(getIn(theme,`border.radius.${responsiveBorderRadiusValue}`));};var getBorderWidthValue=function getBorderWidthValue(borderWidth,theme,breakpoint){var responsiveBorderWidthValue=getResponsiveValue(borderWidth,breakpoint);return isEmpty(responsiveBorderWidthValue)?undefined:makeBorderSize(getIn(theme,`border.width.${responsiveBorderWidthValue}`));};var getElevationValue=function getElevationValue(elevation,theme,breakpoint){var responsiveElevationValue=getResponsiveValue(elevation,breakpoint);return isEmpty(responsiveElevationValue)?undefined:getIn(theme,`elevation.${responsiveElevationValue}`);};var getBorderStyleValue=function getBorderStyleValue(borderStyle,breakpoint,hasBorder){if(borderStyle){return getResponsiveValue(borderStyle,breakpoint);}if(hasBorder){return 'solid';}return undefined;};var getAllProps=function getAllProps(props,breakpoint){var _props$paddingTop,_props$paddingBottom,_props$paddingRight,_props$paddingLeft,_props$marginBottom,_props$marginTop,_props$marginRight,_props$marginLeft;var hasBorder=props.borderWidth||props.borderColor;var hasBorderRight=props.borderRight||props.borderRightColor||props.borderRightWidth;var hasBorderLeft=props.borderLeft||props.borderLeftColor||props.borderLeftWidth;var hasBorderTop=props.borderTop||props.borderTopColor||props.borderTopWidth;var hasBorderBottom=props.borderBottom||props.borderBottomColor||props.borderBottomWidth;return Object.assign({display:getResponsiveValue(props.display,breakpoint),overflow:getResponsiveValue(props.overflow,breakpoint),overflowX:getResponsiveValue(props.overflowX,breakpoint),overflowY:getResponsiveValue(props.overflowY,breakpoint),textAlign:getResponsiveValue(props.textAlign,breakpoint),whiteSpace:getResponsiveValue(props.whiteSpace,breakpoint),flex:getResponsiveValue(props.flex,breakpoint),flexWrap:getResponsiveValue(props.flexWrap,breakpoint),flexDirection:getResponsiveValue(props.flexDirection,breakpoint),flexGrow:getResponsiveValue(props.flexGrow,breakpoint),flexShrink:getResponsiveValue(props.flexShrink,breakpoint),flexBasis:getResponsiveValue(props.flexBasis,breakpoint),alignItems:getResponsiveValue(props.alignItems,breakpoint),alignContent:getResponsiveValue(props.alignContent,breakpoint),alignSelf:getResponsiveValue(props.alignSelf,breakpoint),justifyItems:getResponsiveValue(props.justifyItems,breakpoint),justifyContent:getResponsiveValue(props.justifyContent,breakpoint),justifySelf:getResponsiveValue(props.justifySelf,breakpoint),placeSelf:getResponsiveValue(props.placeSelf,breakpoint),placeItems:getResponsiveValue(props.placeItems,breakpoint),order:getResponsiveValue(props.order,breakpoint),position:getResponsiveValue(props.position,breakpoint),zIndex:getResponsiveValue(props.zIndex,breakpoint),grid:getResponsiveValue(props.grid,breakpoint),gridColumn:getResponsiveValue(props.gridColumn,breakpoint),gridRow:getResponsiveValue(props.gridRow,breakpoint),gridRowStart:getResponsiveValue(props.gridRowStart,breakpoint),gridRowEnd:getResponsiveValue(props.gridRowEnd,breakpoint),gridArea:getResponsiveValue(props.gridArea,breakpoint),gridAutoFlow:getResponsiveValue(props.gridAutoFlow,breakpoint),gridAutoRows:getResponsiveValue(props.gridAutoRows,breakpoint),gridAutoColumns:getResponsiveValue(props.gridAutoColumns,breakpoint),gridTemplate:getResponsiveValue(props.gridTemplate,breakpoint),gridTemplateAreas:getResponsiveValue(props.gridTemplateAreas,breakpoint),gridTemplateColumns:getResponsiveValue(props.gridTemplateColumns,breakpoint),gridTemplateRows:getResponsiveValue(props.gridTemplateRows,breakpoint),padding:getSpacingValue(props.padding,props.theme,breakpoint),paddingTop:getSpacingValue((_props$paddingTop=props.paddingTop)!=null?_props$paddingTop:props.paddingY,props.theme,breakpoint),paddingBottom:getSpacingValue((_props$paddingBottom=props.paddingBottom)!=null?_props$paddingBottom:props.paddingY,props.theme,breakpoint),paddingRight:getSpacingValue((_props$paddingRight=props.paddingRight)!=null?_props$paddingRight:props.paddingX,props.theme,breakpoint),paddingLeft:getSpacingValue((_props$paddingLeft=props.paddingLeft)!=null?_props$paddingLeft:props.paddingX,props.theme,breakpoint),margin:getSpacingValue(props.margin,props.theme,breakpoint),marginBottom:getSpacingValue((_props$marginBottom=props.marginBottom)!=null?_props$marginBottom:props.marginY,props.theme,breakpoint),marginTop:getSpacingValue((_props$marginTop=props.marginTop)!=null?_props$marginTop:props.marginY,props.theme,breakpoint),marginRight:getSpacingValue((_props$marginRight=props.marginRight)!=null?_props$marginRight:props.marginX,props.theme,breakpoint),marginLeft:getSpacingValue((_props$marginLeft=props.marginLeft)!=null?_props$marginLeft:props.marginX,props.theme,breakpoint),height:getSpacingValue(props.height,props.theme,breakpoint),minHeight:getSpacingValue(props.minHeight,props.theme,breakpoint),maxHeight:getSpacingValue(props.maxHeight,props.theme,breakpoint),width:getSpacingValue(props.width,props.theme,breakpoint),minWidth:getSpacingValue(props.minWidth,props.theme,breakpoint),maxWidth:getSpacingValue(props.maxWidth,props.theme,breakpoint),gap:getSpacingValue(props.gap,props.theme,breakpoint),rowGap:getSpacingValue(props.rowGap,props.theme,breakpoint),columnGap:getSpacingValue(props.columnGap,props.theme,breakpoint),top:getSpacingValue(props.top,props.theme,breakpoint),right:getSpacingValue(props.right,props.theme,breakpoint),bottom:getSpacingValue(props.bottom,props.theme,breakpoint),left:getSpacingValue(props.left,props.theme,breakpoint),backgroundColor:getColorValue(props.backgroundColor,props.theme,breakpoint),backgroundImage:getResponsiveValue(props.backgroundImage,breakpoint),backgroundSize:getResponsiveValue(props.backgroundSize,breakpoint),backgroundPosition:getResponsiveValue(props.backgroundPosition,breakpoint),backgroundOrigin:getResponsiveValue(props.backgroundOrigin,breakpoint),backgroundRepeat:getResponsiveValue(props.backgroundRepeat,breakpoint),borderRadius:getBorderRadiusValue(props.borderRadius,props.theme,breakpoint),lineHeight:getSpacingValue(props.lineHeight,props.theme,breakpoint),border:getResponsiveValue(props.border,breakpoint),borderTop:getResponsiveValue(props.borderTop,breakpoint),borderRight:getResponsiveValue(props.borderRight,breakpoint),borderBottom:getResponsiveValue(props.borderBottom,breakpoint),borderLeft:getResponsiveValue(props.borderLeft,breakpoint),borderWidth:getBorderWidthValue(props.borderWidth,props.theme,breakpoint),borderColor:getColorValue(props.borderColor,props.theme,breakpoint),borderTopWidth:getBorderWidthValue(props.borderTopWidth,props.theme,breakpoint),borderTopColor:getColorValue(props.borderTopColor,props.theme,breakpoint),borderRightWidth:getBorderWidthValue(props.borderRightWidth,props.theme,breakpoint),borderRightColor:getColorValue(props.borderRightColor,props.theme,breakpoint),borderBottomWidth:getBorderWidthValue(props.borderBottomWidth,props.theme,breakpoint),borderBottomColor:getColorValue(props.borderBottomColor,props.theme,breakpoint),borderLeftWidth:getBorderWidthValue(props.borderLeftWidth,props.theme,breakpoint),borderLeftColor:getColorValue(props.borderLeftColor,props.theme,breakpoint),borderTopLeftRadius:getBorderRadiusValue(props.borderTopLeftRadius,props.theme,breakpoint),borderTopRightRadius:getBorderRadiusValue(props.borderTopRightRadius,props.theme,breakpoint),borderBottomRightRadius:getBorderRadiusValue(props.borderBottomRightRadius,props.theme,breakpoint),borderBottomLeftRadius:getBorderRadiusValue(props.borderBottomLeftRadius,props.theme,breakpoint),borderStyle:getBorderStyleValue(props.borderStyle,breakpoint,Boolean(hasBorder)),cursor:getResponsiveValue(props.cursor,breakpoint)},!hasBorder&&{borderTopStyle:getBorderStyleValue(props.borderTopStyle,breakpoint,Boolean(hasBorderTop)),borderBottomStyle:getBorderStyleValue(props.borderBottomStyle,breakpoint,Boolean(hasBorderBottom)),borderLeftStyle:getBorderStyleValue(props.borderLeftStyle,breakpoint,Boolean(hasBorderLeft)),borderRightStyle:getBorderStyleValue(props.borderRightStyle,breakpoint,Boolean(hasBorderRight))},{touchAction:getResponsiveValue(props.touchAction,breakpoint),userSelect:getResponsiveValue(props.userSelect,breakpoint),pointerEvents:getResponsiveValue(props.pointerEvents),opacity:getResponsiveValue(props.opacity,breakpoint),visibility:getResponsiveValue(props.visibility,breakpoint)},!isReactNative()&&{boxShadow:getElevationValue(props.elevation,props.theme,breakpoint)},{transform:getResponsiveValue(props.transform,breakpoint),transformOrigin:getResponsiveValue(props.transformOrigin,breakpoint),clipPath:getResponsiveValue(props.clipPath,breakpoint)});};var shouldAddBreakpoint=function shouldAddBreakpoint(cssProps){var firstDefinedValue=Object.values(cssProps).find(function(cssValue){return cssValue!==undefined&&cssValue!==null;});return firstDefinedValue!==undefined;};var getAllMediaQueries=function getAllMediaQueries(props){if(isReactNative()){return {};}breakpoints.base;var breakpointsWithoutBase=_objectWithoutProperties(breakpoints,_excluded);return Object.fromEntries(Object.entries(breakpointsWithoutBase).map(function(_ref){var _ref2=_slicedToArray(_ref,2),breakpointKey=_ref2[0],breakpointValue=_ref2[1];var cssPropsForCurrentBreakpoint=getAllProps(props,breakpointKey);if(!shouldAddBreakpoint(cssPropsForCurrentBreakpoint)){return [];}var mediaQuery=`@media ${getMediaQuery({min:breakpointValue})}`;return [mediaQuery,cssPropsForCurrentBreakpoint];}));};var getBaseBoxStyles=function getBaseBoxStyles(props){return Object.assign({},getAllProps(props),getAllMediaQueries(props));};
|
|
17
|
+
var _excluded=["base"];var isSpacingToken=function isSpacingToken(value){return typeof value==='string'&&value.startsWith('spacing.');};var getSpacingValue=function getSpacingValue(spacingValue,theme,breakpoint){if(isEmpty(spacingValue)){return undefined;}var responsiveSpacingValue=getResponsiveValue(spacingValue,breakpoint);if(isEmpty(responsiveSpacingValue)){return undefined;}if(responsiveSpacingValue==='auto'){return responsiveSpacingValue;}if(Array.isArray(responsiveSpacingValue)){return responsiveSpacingValue.map(function(value){return getSpacingValue(value,theme);}).join(' ');}if(isSpacingToken(responsiveSpacingValue)){var spacingReturnValue=getIn(theme,responsiveSpacingValue);return isEmpty(spacingReturnValue)?makeSpace(spacingReturnValue):undefined;}return responsiveSpacingValue;};var getColorValue=function getColorValue(color,theme,breakpoint){var responsiveBackgroundValue=getResponsiveValue(color,breakpoint);var tokenValue=getIn(theme,`colors.${responsiveBackgroundValue}`);return tokenValue!=null?tokenValue:responsiveBackgroundValue;};var getBorderRadiusValue=function getBorderRadiusValue(borderRadius,theme,breakpoint){var responsiveBorderRadiusValue=getResponsiveValue(borderRadius,breakpoint);return isEmpty(responsiveBorderRadiusValue)?undefined:makeBorderSize(getIn(theme,`border.radius.${responsiveBorderRadiusValue}`));};var getBorderWidthValue=function getBorderWidthValue(borderWidth,theme,breakpoint){var responsiveBorderWidthValue=getResponsiveValue(borderWidth,breakpoint);return isEmpty(responsiveBorderWidthValue)?undefined:makeBorderSize(getIn(theme,`border.width.${responsiveBorderWidthValue}`));};var getElevationValue=function getElevationValue(elevation,theme,breakpoint){var responsiveElevationValue=getResponsiveValue(elevation,breakpoint);return isEmpty(responsiveElevationValue)?undefined:getIn(theme,`elevation.${responsiveElevationValue}`);};var getBorderStyleValue=function getBorderStyleValue(borderStyle,breakpoint,hasBorder){if(borderStyle){return getResponsiveValue(borderStyle,breakpoint);}if(hasBorder){return 'solid';}return undefined;};var getAllProps=function getAllProps(props,breakpoint){var _props$paddingTop,_props$paddingBottom,_props$paddingRight,_props$paddingLeft,_props$marginBottom,_props$marginTop,_props$marginRight,_props$marginLeft;var hasBorder=props.borderWidth||props.borderColor;var hasBorderRight=props.borderRight||props.borderRightColor||props.borderRightWidth;var hasBorderLeft=props.borderLeft||props.borderLeftColor||props.borderLeftWidth;var hasBorderTop=props.borderTop||props.borderTopColor||props.borderTopWidth;var hasBorderBottom=props.borderBottom||props.borderBottomColor||props.borderBottomWidth;return Object.assign({display:getResponsiveValue(props.display,breakpoint),overflow:getResponsiveValue(props.overflow,breakpoint),overflowX:getResponsiveValue(props.overflowX,breakpoint),overflowY:getResponsiveValue(props.overflowY,breakpoint),textAlign:getResponsiveValue(props.textAlign,breakpoint),whiteSpace:getResponsiveValue(props.whiteSpace,breakpoint),flex:getResponsiveValue(props.flex,breakpoint),flexWrap:getResponsiveValue(props.flexWrap,breakpoint),flexDirection:getResponsiveValue(props.flexDirection,breakpoint),flexGrow:getResponsiveValue(props.flexGrow,breakpoint),flexShrink:getResponsiveValue(props.flexShrink,breakpoint),flexBasis:getResponsiveValue(props.flexBasis,breakpoint),alignItems:getResponsiveValue(props.alignItems,breakpoint),alignContent:getResponsiveValue(props.alignContent,breakpoint),alignSelf:getResponsiveValue(props.alignSelf,breakpoint),justifyItems:getResponsiveValue(props.justifyItems,breakpoint),justifyContent:getResponsiveValue(props.justifyContent,breakpoint),justifySelf:getResponsiveValue(props.justifySelf,breakpoint),placeSelf:getResponsiveValue(props.placeSelf,breakpoint),placeItems:getResponsiveValue(props.placeItems,breakpoint),order:getResponsiveValue(props.order,breakpoint),position:getResponsiveValue(props.position,breakpoint),zIndex:getResponsiveValue(props.zIndex,breakpoint),grid:getResponsiveValue(props.grid,breakpoint),gridColumn:getResponsiveValue(props.gridColumn,breakpoint),gridRow:getResponsiveValue(props.gridRow,breakpoint),gridRowStart:getResponsiveValue(props.gridRowStart,breakpoint),gridRowEnd:getResponsiveValue(props.gridRowEnd,breakpoint),gridArea:getResponsiveValue(props.gridArea,breakpoint),gridAutoFlow:getResponsiveValue(props.gridAutoFlow,breakpoint),gridAutoRows:getResponsiveValue(props.gridAutoRows,breakpoint),gridAutoColumns:getResponsiveValue(props.gridAutoColumns,breakpoint),gridTemplate:getResponsiveValue(props.gridTemplate,breakpoint),gridTemplateAreas:getResponsiveValue(props.gridTemplateAreas,breakpoint),gridTemplateColumns:getResponsiveValue(props.gridTemplateColumns,breakpoint),gridTemplateRows:getResponsiveValue(props.gridTemplateRows,breakpoint),padding:getSpacingValue(props.padding,props.theme,breakpoint),paddingTop:getSpacingValue((_props$paddingTop=props.paddingTop)!=null?_props$paddingTop:props.paddingY,props.theme,breakpoint),paddingBottom:getSpacingValue((_props$paddingBottom=props.paddingBottom)!=null?_props$paddingBottom:props.paddingY,props.theme,breakpoint),paddingRight:getSpacingValue((_props$paddingRight=props.paddingRight)!=null?_props$paddingRight:props.paddingX,props.theme,breakpoint),paddingLeft:getSpacingValue((_props$paddingLeft=props.paddingLeft)!=null?_props$paddingLeft:props.paddingX,props.theme,breakpoint),margin:getSpacingValue(props.margin,props.theme,breakpoint),marginBottom:getSpacingValue((_props$marginBottom=props.marginBottom)!=null?_props$marginBottom:props.marginY,props.theme,breakpoint),marginTop:getSpacingValue((_props$marginTop=props.marginTop)!=null?_props$marginTop:props.marginY,props.theme,breakpoint),marginRight:getSpacingValue((_props$marginRight=props.marginRight)!=null?_props$marginRight:props.marginX,props.theme,breakpoint),marginLeft:getSpacingValue((_props$marginLeft=props.marginLeft)!=null?_props$marginLeft:props.marginX,props.theme,breakpoint),height:getSpacingValue(props.height,props.theme,breakpoint),minHeight:getSpacingValue(props.minHeight,props.theme,breakpoint),maxHeight:getSpacingValue(props.maxHeight,props.theme,breakpoint),width:getSpacingValue(props.width,props.theme,breakpoint),minWidth:getSpacingValue(props.minWidth,props.theme,breakpoint),maxWidth:getSpacingValue(props.maxWidth,props.theme,breakpoint),gap:getSpacingValue(props.gap,props.theme,breakpoint),rowGap:getSpacingValue(props.rowGap,props.theme,breakpoint),columnGap:getSpacingValue(props.columnGap,props.theme,breakpoint),top:getSpacingValue(props.top,props.theme,breakpoint),right:getSpacingValue(props.right,props.theme,breakpoint),bottom:getSpacingValue(props.bottom,props.theme,breakpoint),left:getSpacingValue(props.left,props.theme,breakpoint),backgroundColor:getColorValue(props.backgroundColor,props.theme,breakpoint),backgroundImage:getResponsiveValue(props.backgroundImage,breakpoint),backgroundSize:getResponsiveValue(props.backgroundSize,breakpoint),backgroundPosition:getResponsiveValue(props.backgroundPosition,breakpoint),backgroundOrigin:getResponsiveValue(props.backgroundOrigin,breakpoint),backgroundRepeat:getResponsiveValue(props.backgroundRepeat,breakpoint),borderRadius:getBorderRadiusValue(props.borderRadius,props.theme,breakpoint),lineHeight:getSpacingValue(props.lineHeight,props.theme,breakpoint),border:getResponsiveValue(props.border,breakpoint),borderTop:getResponsiveValue(props.borderTop,breakpoint),borderRight:getResponsiveValue(props.borderRight,breakpoint),borderBottom:getResponsiveValue(props.borderBottom,breakpoint),borderLeft:getResponsiveValue(props.borderLeft,breakpoint),borderWidth:getBorderWidthValue(props.borderWidth,props.theme,breakpoint),borderColor:getColorValue(props.borderColor,props.theme,breakpoint),borderTopWidth:getBorderWidthValue(props.borderTopWidth,props.theme,breakpoint),borderTopColor:getColorValue(props.borderTopColor,props.theme,breakpoint),borderRightWidth:getBorderWidthValue(props.borderRightWidth,props.theme,breakpoint),borderRightColor:getColorValue(props.borderRightColor,props.theme,breakpoint),borderBottomWidth:getBorderWidthValue(props.borderBottomWidth,props.theme,breakpoint),borderBottomColor:getColorValue(props.borderBottomColor,props.theme,breakpoint),borderLeftWidth:getBorderWidthValue(props.borderLeftWidth,props.theme,breakpoint),borderLeftColor:getColorValue(props.borderLeftColor,props.theme,breakpoint),borderTopLeftRadius:getBorderRadiusValue(props.borderTopLeftRadius,props.theme,breakpoint),borderTopRightRadius:getBorderRadiusValue(props.borderTopRightRadius,props.theme,breakpoint),borderBottomRightRadius:getBorderRadiusValue(props.borderBottomRightRadius,props.theme,breakpoint),borderBottomLeftRadius:getBorderRadiusValue(props.borderBottomLeftRadius,props.theme,breakpoint),borderStyle:getBorderStyleValue(props.borderStyle,breakpoint,Boolean(hasBorder)),cursor:getResponsiveValue(props.cursor,breakpoint)},!hasBorder&&{borderTopStyle:getBorderStyleValue(props.borderTopStyle,breakpoint,Boolean(hasBorderTop)),borderBottomStyle:getBorderStyleValue(props.borderBottomStyle,breakpoint,Boolean(hasBorderBottom)),borderLeftStyle:getBorderStyleValue(props.borderLeftStyle,breakpoint,Boolean(hasBorderLeft)),borderRightStyle:getBorderStyleValue(props.borderRightStyle,breakpoint,Boolean(hasBorderRight))},{touchAction:getResponsiveValue(props.touchAction,breakpoint),userSelect:getResponsiveValue(props.userSelect,breakpoint),pointerEvents:getResponsiveValue(props.pointerEvents),opacity:getResponsiveValue(props.opacity,breakpoint),visibility:getResponsiveValue(props.visibility,breakpoint)},!isReactNative()&&{boxShadow:getElevationValue(props.elevation,props.theme,breakpoint),backdropFilter:getResponsiveValue(props.backdropFilter,breakpoint),transition:getResponsiveValue(props.transition,breakpoint)},{transform:getResponsiveValue(props.transform,breakpoint),transformOrigin:getResponsiveValue(props.transformOrigin,breakpoint),clipPath:getResponsiveValue(props.clipPath,breakpoint)});};var shouldAddBreakpoint=function shouldAddBreakpoint(cssProps){var firstDefinedValue=Object.values(cssProps).find(function(cssValue){return cssValue!==undefined&&cssValue!==null;});return firstDefinedValue!==undefined;};var getAllMediaQueries=function getAllMediaQueries(props){if(isReactNative()){return {};}breakpoints.base;var breakpointsWithoutBase=_objectWithoutProperties(breakpoints,_excluded);return Object.fromEntries(Object.entries(breakpointsWithoutBase).map(function(_ref){var _ref2=_slicedToArray(_ref,2),breakpointKey=_ref2[0],breakpointValue=_ref2[1];var cssPropsForCurrentBreakpoint=getAllProps(props,breakpointKey);if(!shouldAddBreakpoint(cssPropsForCurrentBreakpoint)){return [];}var mediaQuery=`@media ${getMediaQuery({min:breakpointValue})}`;return [mediaQuery,cssPropsForCurrentBreakpoint];}));};var getBaseBoxStyles=function getBaseBoxStyles(props){return Object.assign({},getAllProps(props),getAllMediaQueries(props));};
|
|
18
18
|
|
|
19
19
|
export { getAllMediaQueries, getAllProps, getBaseBoxStyles, getBorderRadiusValue, getColorValue, getElevationValue, getSpacingValue, shouldAddBreakpoint };
|
|
20
20
|
//# sourceMappingURL=baseBoxStyles.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"baseBoxStyles.js","sources":["../../../../../../src/components/Box/BaseBox/baseBoxStyles.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/prefer-ts-expect-error */\n/* eslint-disable @typescript-eslint/no-unnecessary-type-assertion */\nimport type { CSSObject } from 'styled-components';\nimport type {\n BaseBoxProps,\n MakeValueResponsive,\n SpacingValueType,\n ArrayOfMaxLength4,\n} from './types';\nimport { getResponsiveValue } from './getResponsiveValue';\nimport getIn from '~utils/lodashButBetter/get';\nimport isEmpty from '~utils/lodashButBetter/isEmpty';\nimport type { Breakpoints } from '~tokens/global';\nimport { breakpoints } from '~tokens/global';\nimport { isReactNative, getMediaQuery } from '~utils';\nimport type { Theme } from '~components/BladeProvider';\nimport { makeSpace } from '~utils/makeSpace';\nimport { makeBorderSize } from '~utils/makeBorderSize';\nimport type { DotNotationSpacingStringToken } from '~utils/types';\n\nconst isSpacingToken = (value: string): value is DotNotationSpacingStringToken => {\n return typeof value === 'string' && value.startsWith('spacing.');\n};\n\nconst getSpacingValue = (\n spacingValue:\n | MakeValueResponsive<SpacingValueType | ArrayOfMaxLength4<SpacingValueType>>\n | undefined,\n theme: Theme,\n breakpoint?: keyof Breakpoints,\n): string | undefined => {\n if (isEmpty(spacingValue)) {\n return undefined;\n }\n\n const responsiveSpacingValue = getResponsiveValue(\n spacingValue as MakeValueResponsive<SpacingValueType | SpacingValueType[]>,\n breakpoint,\n );\n\n if (isEmpty(responsiveSpacingValue)) {\n return undefined;\n }\n\n if (responsiveSpacingValue === 'auto') {\n return responsiveSpacingValue;\n }\n\n if (Array.isArray(responsiveSpacingValue)) {\n return responsiveSpacingValue.map((value) => getSpacingValue(value, theme)).join(' ');\n }\n\n if (isSpacingToken(responsiveSpacingValue)) {\n const spacingReturnValue = getIn(theme, responsiveSpacingValue);\n return isEmpty(spacingReturnValue) ? makeSpace(spacingReturnValue!) : undefined;\n }\n\n // pixel or with unit values\n return responsiveSpacingValue;\n};\n\nconst getColorValue = (\n color: BaseBoxProps['backgroundColor'] | BaseBoxProps['borderColor'],\n theme: Theme,\n breakpoint?: keyof Breakpoints,\n): string => {\n const responsiveBackgroundValue = getResponsiveValue(color, breakpoint);\n // @ts-expect-error: We always return any from getResponsiveValue so value can't be inferred here\n const tokenValue = getIn(theme, `colors.${responsiveBackgroundValue}`);\n return tokenValue ?? responsiveBackgroundValue;\n};\n\nconst getBorderRadiusValue = (\n borderRadius: BaseBoxProps['borderRadius'],\n theme: Theme,\n breakpoint?: keyof Breakpoints,\n): string | undefined => {\n const responsiveBorderRadiusValue = getResponsiveValue(borderRadius, breakpoint);\n return isEmpty(responsiveBorderRadiusValue)\n ? undefined\n : // @ts-ignore: intentionally set to any since figuring out types of responsive props is complex\n makeBorderSize(getIn(theme, `border.radius.${responsiveBorderRadiusValue}`));\n};\n\nconst getBorderWidthValue = (\n borderWidth: BaseBoxProps['borderWidth'],\n theme: Theme,\n breakpoint?: keyof Breakpoints,\n): string | undefined => {\n const responsiveBorderWidthValue = getResponsiveValue(borderWidth, breakpoint);\n return isEmpty(responsiveBorderWidthValue)\n ? undefined\n : // @ts-ignore: intentionally set to any since figuring out types of responsive props is complex\n makeBorderSize(getIn(theme, `border.width.${responsiveBorderWidthValue}`));\n};\n\nexport const getElevationValue = (\n elevation: BaseBoxProps['elevation'],\n theme: Theme,\n breakpoint?: keyof Breakpoints,\n): string | undefined => {\n const responsiveElevationValue = getResponsiveValue(elevation, breakpoint);\n return isEmpty(responsiveElevationValue)\n ? undefined\n : // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\n // @ts-ignore: intentionally set to any since figuring out types of responsive props is complex\n getIn(theme, `elevation.${responsiveElevationValue!}`);\n};\n\ntype GetBorderStyleValueReturnType =\n | CSSObject['borderStyle']\n | CSSObject['borderTopStyle']\n | CSSObject['borderBottomStyle']\n | CSSObject['borderLeftStyle']\n | CSSObject['borderRightStyle'];\nconst getBorderStyleValue = (\n borderStyle: BaseBoxProps['borderStyle'],\n breakpoint?: keyof Breakpoints,\n hasBorder?: boolean,\n // Using any as return type because borderStyle's type is incompatible with borderBottomStyle. There are ways to fix it but anyway since its internal function. Taking an easy way out\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n): GetBorderStyleValueReturnType => {\n if (borderStyle) {\n return getResponsiveValue(borderStyle, breakpoint);\n }\n\n if (hasBorder) {\n return 'solid';\n }\n\n return undefined;\n};\n\nconst getAllProps = (\n props: BaseBoxProps & { theme: Theme },\n breakpoint?: keyof Breakpoints,\n): CSSObject => {\n const hasBorder = props.borderWidth || props.borderColor;\n const hasBorderRight = props.borderRight || props.borderRightColor || props.borderRightWidth;\n const hasBorderLeft = props.borderLeft || props.borderLeftColor || props.borderLeftWidth;\n const hasBorderTop = props.borderTop || props.borderTopColor || props.borderTopWidth;\n const hasBorderBottom = props.borderBottom || props.borderBottomColor || props.borderBottomWidth;\n\n return {\n display: getResponsiveValue(props.display, breakpoint),\n overflow: getResponsiveValue(props.overflow, breakpoint),\n overflowX: getResponsiveValue(props.overflowX, breakpoint),\n overflowY: getResponsiveValue(props.overflowY, breakpoint),\n textAlign: getResponsiveValue(props.textAlign, breakpoint),\n whiteSpace: getResponsiveValue(props.whiteSpace, breakpoint),\n\n // Flex\n flex: getResponsiveValue(props.flex, breakpoint),\n flexWrap: getResponsiveValue(props.flexWrap, breakpoint),\n flexDirection: getResponsiveValue(props.flexDirection, breakpoint),\n flexGrow: getResponsiveValue(props.flexGrow, breakpoint),\n flexShrink: getResponsiveValue(props.flexShrink, breakpoint),\n flexBasis: getResponsiveValue(props.flexBasis, breakpoint),\n alignItems: getResponsiveValue(props.alignItems, breakpoint),\n alignContent: getResponsiveValue(props.alignContent, breakpoint),\n alignSelf: getResponsiveValue(props.alignSelf, breakpoint),\n justifyItems: getResponsiveValue(props.justifyItems, breakpoint),\n justifyContent: getResponsiveValue(props.justifyContent, breakpoint),\n justifySelf: getResponsiveValue(props.justifySelf, breakpoint),\n placeSelf: getResponsiveValue(props.placeSelf, breakpoint),\n placeItems: getResponsiveValue(props.placeItems, breakpoint),\n order: getResponsiveValue(props.order, breakpoint),\n position: getResponsiveValue(props.position, breakpoint),\n zIndex: getResponsiveValue(props.zIndex, breakpoint),\n\n // Grid\n grid: getResponsiveValue(props.grid, breakpoint),\n gridColumn: getResponsiveValue(props.gridColumn, breakpoint),\n gridRow: getResponsiveValue(props.gridRow, breakpoint),\n gridRowStart: getResponsiveValue(props.gridRowStart, breakpoint),\n gridRowEnd: getResponsiveValue(props.gridRowEnd, breakpoint),\n gridArea: getResponsiveValue(props.gridArea, breakpoint),\n gridAutoFlow: getResponsiveValue(props.gridAutoFlow, breakpoint),\n gridAutoRows: getResponsiveValue(props.gridAutoRows, breakpoint),\n gridAutoColumns: getResponsiveValue(props.gridAutoColumns, breakpoint),\n gridTemplate: getResponsiveValue(props.gridTemplate, breakpoint),\n gridTemplateAreas: getResponsiveValue(props.gridTemplateAreas, breakpoint),\n gridTemplateColumns: getResponsiveValue(props.gridTemplateColumns, breakpoint),\n gridTemplateRows: getResponsiveValue(props.gridTemplateRows, breakpoint),\n\n // Spacing Props\n padding: getSpacingValue(props.padding, props.theme, breakpoint),\n paddingTop: getSpacingValue(props.paddingTop ?? props.paddingY, props.theme, breakpoint),\n paddingBottom: getSpacingValue(props.paddingBottom ?? props.paddingY, props.theme, breakpoint),\n paddingRight: getSpacingValue(props.paddingRight ?? props.paddingX, props.theme, breakpoint),\n paddingLeft: getSpacingValue(props.paddingLeft ?? props.paddingX, props.theme, breakpoint),\n margin: getSpacingValue(props.margin, props.theme, breakpoint),\n marginBottom: getSpacingValue(props.marginBottom ?? props.marginY, props.theme, breakpoint),\n marginTop: getSpacingValue(props.marginTop ?? props.marginY, props.theme, breakpoint),\n marginRight: getSpacingValue(props.marginRight ?? props.marginX, props.theme, breakpoint),\n marginLeft: getSpacingValue(props.marginLeft ?? props.marginX, props.theme, breakpoint),\n height: getSpacingValue(props.height, props.theme, breakpoint),\n minHeight: getSpacingValue(props.minHeight, props.theme, breakpoint),\n maxHeight: getSpacingValue(props.maxHeight, props.theme, breakpoint),\n width: getSpacingValue(props.width, props.theme, breakpoint),\n minWidth: getSpacingValue(props.minWidth, props.theme, breakpoint),\n maxWidth: getSpacingValue(props.maxWidth, props.theme, breakpoint),\n gap: getSpacingValue(props.gap, props.theme, breakpoint),\n rowGap: getSpacingValue(props.rowGap, props.theme, breakpoint),\n columnGap: getSpacingValue(props.columnGap, props.theme, breakpoint),\n top: getSpacingValue(props.top, props.theme, breakpoint),\n right: getSpacingValue(props.right, props.theme, breakpoint),\n bottom: getSpacingValue(props.bottom, props.theme, breakpoint),\n left: getSpacingValue(props.left, props.theme, breakpoint),\n\n // Visual props\n backgroundColor: getColorValue(props.backgroundColor, props.theme, breakpoint),\n backgroundImage: getResponsiveValue(props.backgroundImage, breakpoint),\n backgroundSize: getResponsiveValue(props.backgroundSize, breakpoint),\n backgroundPosition: getResponsiveValue(props.backgroundPosition, breakpoint),\n backgroundOrigin: getResponsiveValue(props.backgroundOrigin, breakpoint),\n backgroundRepeat: getResponsiveValue(props.backgroundRepeat, breakpoint),\n borderRadius: getBorderRadiusValue(props.borderRadius, props.theme, breakpoint),\n lineHeight: getSpacingValue(props.lineHeight, props.theme, breakpoint),\n border: getResponsiveValue(props.border, breakpoint),\n borderTop: getResponsiveValue(props.borderTop, breakpoint),\n borderRight: getResponsiveValue(props.borderRight, breakpoint),\n borderBottom: getResponsiveValue(props.borderBottom, breakpoint),\n borderLeft: getResponsiveValue(props.borderLeft, breakpoint),\n borderWidth: getBorderWidthValue(props.borderWidth, props.theme, breakpoint),\n borderColor: getColorValue(props.borderColor, props.theme, breakpoint),\n borderTopWidth: getBorderWidthValue(props.borderTopWidth, props.theme, breakpoint),\n borderTopColor: getColorValue(props.borderTopColor, props.theme, breakpoint),\n borderRightWidth: getBorderWidthValue(props.borderRightWidth, props.theme, breakpoint),\n borderRightColor: getColorValue(props.borderRightColor, props.theme, breakpoint),\n borderBottomWidth: getBorderWidthValue(props.borderBottomWidth, props.theme, breakpoint),\n borderBottomColor: getColorValue(props.borderBottomColor, props.theme, breakpoint),\n borderLeftWidth: getBorderWidthValue(props.borderLeftWidth, props.theme, breakpoint),\n borderLeftColor: getColorValue(props.borderLeftColor, props.theme, breakpoint),\n borderTopLeftRadius: getBorderRadiusValue(props.borderTopLeftRadius, props.theme, breakpoint),\n borderTopRightRadius: getBorderRadiusValue(props.borderTopRightRadius, props.theme, breakpoint),\n borderBottomRightRadius: getBorderRadiusValue(\n props.borderBottomRightRadius,\n props.theme,\n breakpoint,\n ),\n borderBottomLeftRadius: getBorderRadiusValue(\n props.borderBottomLeftRadius,\n props.theme,\n breakpoint,\n ),\n borderStyle: getBorderStyleValue(\n props.borderStyle,\n breakpoint,\n Boolean(hasBorder),\n ) as CSSObject['borderStyle'],\n cursor: getResponsiveValue(props.cursor, breakpoint),\n // Since we only allow 'solid', we can use the same value for all borders if hasBorder is true\n // If hasBorder is false, we need to check each border individually\n ...(!hasBorder && {\n borderTopStyle: getBorderStyleValue(\n props.borderTopStyle,\n breakpoint,\n Boolean(hasBorderTop),\n ) as CSSObject['borderTopStyle'],\n borderBottomStyle: getBorderStyleValue(\n props.borderBottomStyle,\n breakpoint,\n Boolean(hasBorderBottom),\n ) as CSSObject['borderBottomStyle'],\n borderLeftStyle: getBorderStyleValue(\n props.borderLeftStyle,\n breakpoint,\n Boolean(hasBorderLeft),\n ) as CSSObject['borderLeftStyle'],\n borderRightStyle: getBorderStyleValue(\n props.borderRightStyle,\n breakpoint,\n Boolean(hasBorderRight),\n ) as CSSObject['borderRightStyle'],\n }),\n touchAction: getResponsiveValue(props.touchAction, breakpoint),\n userSelect: getResponsiveValue(props.userSelect, breakpoint),\n pointerEvents: getResponsiveValue(props.pointerEvents),\n opacity: getResponsiveValue(props.opacity, breakpoint),\n visibility: getResponsiveValue(props.visibility, breakpoint),\n ...(!isReactNative() && {\n boxShadow: getElevationValue(props.elevation, props.theme, breakpoint),\n }),\n\n // Polygon support\n transform: getResponsiveValue(props.transform as string, breakpoint),\n transformOrigin: getResponsiveValue(props.transformOrigin, breakpoint),\n clipPath: getResponsiveValue(props.clipPath, breakpoint),\n };\n};\n\n/** We only add breakpoint if at least one of the value is defined */\nconst shouldAddBreakpoint = (cssProps: CSSObject): boolean => {\n const firstDefinedValue = Object.values(cssProps).find(\n (cssValue) => cssValue !== undefined && cssValue !== null,\n );\n\n return firstDefinedValue !== undefined;\n};\n\nconst getAllMediaQueries = (props: BaseBoxProps & { theme: Theme }): CSSObject => {\n if (isReactNative()) {\n return {};\n }\n\n const { base, ...breakpointsWithoutBase } = breakpoints;\n\n return Object.fromEntries(\n Object.entries(breakpointsWithoutBase).map(([breakpointKey, breakpointValue]) => {\n const cssPropsForCurrentBreakpoint = getAllProps(props, breakpointKey as keyof Breakpoints);\n if (!shouldAddBreakpoint(cssPropsForCurrentBreakpoint)) {\n return [];\n }\n\n const mediaQuery = `@media ${getMediaQuery({ min: breakpointValue })}`;\n return [mediaQuery, cssPropsForCurrentBreakpoint];\n }),\n );\n};\n\nconst getBaseBoxStyles = (props: BaseBoxProps & { theme: Theme }): CSSObject => {\n return {\n ...getAllProps(props),\n ...getAllMediaQueries(props),\n };\n};\n\nexport {\n getBaseBoxStyles,\n getSpacingValue,\n getColorValue,\n getBorderRadiusValue,\n shouldAddBreakpoint,\n getAllMediaQueries,\n getAllProps,\n};\n"],"names":["isSpacingToken","value","startsWith","getSpacingValue","spacingValue","theme","breakpoint","isEmpty","undefined","responsiveSpacingValue","getResponsiveValue","Array","isArray","map","join","spacingReturnValue","getIn","makeSpace","getColorValue","color","responsiveBackgroundValue","tokenValue","getBorderRadiusValue","borderRadius","responsiveBorderRadiusValue","makeBorderSize","getBorderWidthValue","borderWidth","responsiveBorderWidthValue","getElevationValue","elevation","responsiveElevationValue","getBorderStyleValue","borderStyle","hasBorder","getAllProps","props","_props$paddingTop","_props$paddingBottom","_props$paddingRight","_props$paddingLeft","_props$marginBottom","_props$marginTop","_props$marginRight","_props$marginLeft","borderColor","hasBorderRight","borderRight","borderRightColor","borderRightWidth","hasBorderLeft","borderLeft","borderLeftColor","borderLeftWidth","hasBorderTop","borderTop","borderTopColor","borderTopWidth","hasBorderBottom","borderBottom","borderBottomColor","borderBottomWidth","Object","assign","display","overflow","overflowX","overflowY","textAlign","whiteSpace","flex","flexWrap","flexDirection","flexGrow","flexShrink","flexBasis","alignItems","alignContent","alignSelf","justifyItems","justifyContent","justifySelf","placeSelf","placeItems","order","position","zIndex","grid","gridColumn","gridRow","gridRowStart","gridRowEnd","gridArea","gridAutoFlow","gridAutoRows","gridAutoColumns","gridTemplate","gridTemplateAreas","gridTemplateColumns","gridTemplateRows","padding","paddingTop","paddingY","paddingBottom","paddingRight","paddingX","paddingLeft","margin","marginBottom","marginY","marginTop","marginRight","marginX","marginLeft","height","minHeight","maxHeight","width","minWidth","maxWidth","gap","rowGap","columnGap","top","right","bottom","left","backgroundColor","backgroundImage","backgroundSize","backgroundPosition","backgroundOrigin","backgroundRepeat","lineHeight","border","borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius","Boolean","cursor","borderTopStyle","borderBottomStyle","borderLeftStyle","borderRightStyle","touchAction","userSelect","pointerEvents","opacity","visibility","isReactNative","boxShadow","transform","transformOrigin","clipPath","shouldAddBreakpoint","cssProps","firstDefinedValue","values","find","cssValue","getAllMediaQueries","breakpoints","base","breakpointsWithoutBase","_objectWithoutProperties","_excluded","fromEntries","entries","_ref","_ref2","_slicedToArray","breakpointKey","breakpointValue","cssPropsForCurrentBreakpoint","mediaQuery","getMediaQuery","min","getBaseBoxStyles"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"baseBoxStyles.js","sources":["../../../../../../src/components/Box/BaseBox/baseBoxStyles.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/prefer-ts-expect-error */\n/* eslint-disable @typescript-eslint/no-unnecessary-type-assertion */\nimport type { CSSObject } from 'styled-components';\nimport type {\n BaseBoxProps,\n MakeValueResponsive,\n SpacingValueType,\n ArrayOfMaxLength4,\n} from './types';\nimport { getResponsiveValue } from './getResponsiveValue';\nimport getIn from '~utils/lodashButBetter/get';\nimport isEmpty from '~utils/lodashButBetter/isEmpty';\nimport type { Breakpoints } from '~tokens/global';\nimport { breakpoints } from '~tokens/global';\nimport { isReactNative, getMediaQuery } from '~utils';\nimport type { Theme } from '~components/BladeProvider';\nimport { makeSpace } from '~utils/makeSpace';\nimport { makeBorderSize } from '~utils/makeBorderSize';\nimport type { DotNotationSpacingStringToken } from '~utils/types';\n\nconst isSpacingToken = (value: string): value is DotNotationSpacingStringToken => {\n return typeof value === 'string' && value.startsWith('spacing.');\n};\n\nconst getSpacingValue = (\n spacingValue:\n | MakeValueResponsive<SpacingValueType | ArrayOfMaxLength4<SpacingValueType>>\n | undefined,\n theme: Theme,\n breakpoint?: keyof Breakpoints,\n): string | undefined => {\n if (isEmpty(spacingValue)) {\n return undefined;\n }\n\n const responsiveSpacingValue = getResponsiveValue(\n spacingValue as MakeValueResponsive<SpacingValueType | SpacingValueType[]>,\n breakpoint,\n );\n\n if (isEmpty(responsiveSpacingValue)) {\n return undefined;\n }\n\n if (responsiveSpacingValue === 'auto') {\n return responsiveSpacingValue;\n }\n\n if (Array.isArray(responsiveSpacingValue)) {\n return responsiveSpacingValue.map((value) => getSpacingValue(value, theme)).join(' ');\n }\n\n if (isSpacingToken(responsiveSpacingValue)) {\n const spacingReturnValue = getIn(theme, responsiveSpacingValue);\n return isEmpty(spacingReturnValue) ? makeSpace(spacingReturnValue!) : undefined;\n }\n\n // pixel or with unit values\n return responsiveSpacingValue;\n};\n\nconst getColorValue = (\n color: BaseBoxProps['backgroundColor'] | BaseBoxProps['borderColor'],\n theme: Theme,\n breakpoint?: keyof Breakpoints,\n): string => {\n const responsiveBackgroundValue = getResponsiveValue(color, breakpoint);\n // @ts-expect-error: We always return any from getResponsiveValue so value can't be inferred here\n const tokenValue = getIn(theme, `colors.${responsiveBackgroundValue}`);\n return tokenValue ?? responsiveBackgroundValue;\n};\n\nconst getBorderRadiusValue = (\n borderRadius: BaseBoxProps['borderRadius'],\n theme: Theme,\n breakpoint?: keyof Breakpoints,\n): string | undefined => {\n const responsiveBorderRadiusValue = getResponsiveValue(borderRadius, breakpoint);\n return isEmpty(responsiveBorderRadiusValue)\n ? undefined\n : // @ts-ignore: intentionally set to any since figuring out types of responsive props is complex\n makeBorderSize(getIn(theme, `border.radius.${responsiveBorderRadiusValue}`));\n};\n\nconst getBorderWidthValue = (\n borderWidth: BaseBoxProps['borderWidth'],\n theme: Theme,\n breakpoint?: keyof Breakpoints,\n): string | undefined => {\n const responsiveBorderWidthValue = getResponsiveValue(borderWidth, breakpoint);\n return isEmpty(responsiveBorderWidthValue)\n ? undefined\n : // @ts-ignore: intentionally set to any since figuring out types of responsive props is complex\n makeBorderSize(getIn(theme, `border.width.${responsiveBorderWidthValue}`));\n};\n\nexport const getElevationValue = (\n elevation: BaseBoxProps['elevation'],\n theme: Theme,\n breakpoint?: keyof Breakpoints,\n): string | undefined => {\n const responsiveElevationValue = getResponsiveValue(elevation, breakpoint);\n return isEmpty(responsiveElevationValue)\n ? undefined\n : // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\n // @ts-ignore: intentionally set to any since figuring out types of responsive props is complex\n getIn(theme, `elevation.${responsiveElevationValue!}`);\n};\n\ntype GetBorderStyleValueReturnType =\n | CSSObject['borderStyle']\n | CSSObject['borderTopStyle']\n | CSSObject['borderBottomStyle']\n | CSSObject['borderLeftStyle']\n | CSSObject['borderRightStyle'];\nconst getBorderStyleValue = (\n borderStyle: BaseBoxProps['borderStyle'],\n breakpoint?: keyof Breakpoints,\n hasBorder?: boolean,\n // Using any as return type because borderStyle's type is incompatible with borderBottomStyle. There are ways to fix it but anyway since its internal function. Taking an easy way out\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n): GetBorderStyleValueReturnType => {\n if (borderStyle) {\n return getResponsiveValue(borderStyle, breakpoint);\n }\n\n if (hasBorder) {\n return 'solid';\n }\n\n return undefined;\n};\n\nconst getAllProps = (\n props: BaseBoxProps & { theme: Theme },\n breakpoint?: keyof Breakpoints,\n): CSSObject => {\n const hasBorder = props.borderWidth || props.borderColor;\n const hasBorderRight = props.borderRight || props.borderRightColor || props.borderRightWidth;\n const hasBorderLeft = props.borderLeft || props.borderLeftColor || props.borderLeftWidth;\n const hasBorderTop = props.borderTop || props.borderTopColor || props.borderTopWidth;\n const hasBorderBottom = props.borderBottom || props.borderBottomColor || props.borderBottomWidth;\n\n return {\n display: getResponsiveValue(props.display, breakpoint),\n overflow: getResponsiveValue(props.overflow, breakpoint),\n overflowX: getResponsiveValue(props.overflowX, breakpoint),\n overflowY: getResponsiveValue(props.overflowY, breakpoint),\n textAlign: getResponsiveValue(props.textAlign, breakpoint),\n whiteSpace: getResponsiveValue(props.whiteSpace, breakpoint),\n\n // Flex\n flex: getResponsiveValue(props.flex, breakpoint),\n flexWrap: getResponsiveValue(props.flexWrap, breakpoint),\n flexDirection: getResponsiveValue(props.flexDirection, breakpoint),\n flexGrow: getResponsiveValue(props.flexGrow, breakpoint),\n flexShrink: getResponsiveValue(props.flexShrink, breakpoint),\n flexBasis: getResponsiveValue(props.flexBasis, breakpoint),\n alignItems: getResponsiveValue(props.alignItems, breakpoint),\n alignContent: getResponsiveValue(props.alignContent, breakpoint),\n alignSelf: getResponsiveValue(props.alignSelf, breakpoint),\n justifyItems: getResponsiveValue(props.justifyItems, breakpoint),\n justifyContent: getResponsiveValue(props.justifyContent, breakpoint),\n justifySelf: getResponsiveValue(props.justifySelf, breakpoint),\n placeSelf: getResponsiveValue(props.placeSelf, breakpoint),\n placeItems: getResponsiveValue(props.placeItems, breakpoint),\n order: getResponsiveValue(props.order, breakpoint),\n position: getResponsiveValue(props.position, breakpoint),\n zIndex: getResponsiveValue(props.zIndex, breakpoint),\n\n // Grid\n grid: getResponsiveValue(props.grid, breakpoint),\n gridColumn: getResponsiveValue(props.gridColumn, breakpoint),\n gridRow: getResponsiveValue(props.gridRow, breakpoint),\n gridRowStart: getResponsiveValue(props.gridRowStart, breakpoint),\n gridRowEnd: getResponsiveValue(props.gridRowEnd, breakpoint),\n gridArea: getResponsiveValue(props.gridArea, breakpoint),\n gridAutoFlow: getResponsiveValue(props.gridAutoFlow, breakpoint),\n gridAutoRows: getResponsiveValue(props.gridAutoRows, breakpoint),\n gridAutoColumns: getResponsiveValue(props.gridAutoColumns, breakpoint),\n gridTemplate: getResponsiveValue(props.gridTemplate, breakpoint),\n gridTemplateAreas: getResponsiveValue(props.gridTemplateAreas, breakpoint),\n gridTemplateColumns: getResponsiveValue(props.gridTemplateColumns, breakpoint),\n gridTemplateRows: getResponsiveValue(props.gridTemplateRows, breakpoint),\n\n // Spacing Props\n padding: getSpacingValue(props.padding, props.theme, breakpoint),\n paddingTop: getSpacingValue(props.paddingTop ?? props.paddingY, props.theme, breakpoint),\n paddingBottom: getSpacingValue(props.paddingBottom ?? props.paddingY, props.theme, breakpoint),\n paddingRight: getSpacingValue(props.paddingRight ?? props.paddingX, props.theme, breakpoint),\n paddingLeft: getSpacingValue(props.paddingLeft ?? props.paddingX, props.theme, breakpoint),\n margin: getSpacingValue(props.margin, props.theme, breakpoint),\n marginBottom: getSpacingValue(props.marginBottom ?? props.marginY, props.theme, breakpoint),\n marginTop: getSpacingValue(props.marginTop ?? props.marginY, props.theme, breakpoint),\n marginRight: getSpacingValue(props.marginRight ?? props.marginX, props.theme, breakpoint),\n marginLeft: getSpacingValue(props.marginLeft ?? props.marginX, props.theme, breakpoint),\n height: getSpacingValue(props.height, props.theme, breakpoint),\n minHeight: getSpacingValue(props.minHeight, props.theme, breakpoint),\n maxHeight: getSpacingValue(props.maxHeight, props.theme, breakpoint),\n width: getSpacingValue(props.width, props.theme, breakpoint),\n minWidth: getSpacingValue(props.minWidth, props.theme, breakpoint),\n maxWidth: getSpacingValue(props.maxWidth, props.theme, breakpoint),\n gap: getSpacingValue(props.gap, props.theme, breakpoint),\n rowGap: getSpacingValue(props.rowGap, props.theme, breakpoint),\n columnGap: getSpacingValue(props.columnGap, props.theme, breakpoint),\n top: getSpacingValue(props.top, props.theme, breakpoint),\n right: getSpacingValue(props.right, props.theme, breakpoint),\n bottom: getSpacingValue(props.bottom, props.theme, breakpoint),\n left: getSpacingValue(props.left, props.theme, breakpoint),\n\n // Visual props\n backgroundColor: getColorValue(props.backgroundColor, props.theme, breakpoint),\n backgroundImage: getResponsiveValue(props.backgroundImage, breakpoint),\n backgroundSize: getResponsiveValue(props.backgroundSize, breakpoint),\n backgroundPosition: getResponsiveValue(props.backgroundPosition, breakpoint),\n backgroundOrigin: getResponsiveValue(props.backgroundOrigin, breakpoint),\n backgroundRepeat: getResponsiveValue(props.backgroundRepeat, breakpoint),\n borderRadius: getBorderRadiusValue(props.borderRadius, props.theme, breakpoint),\n lineHeight: getSpacingValue(props.lineHeight, props.theme, breakpoint),\n border: getResponsiveValue(props.border, breakpoint),\n borderTop: getResponsiveValue(props.borderTop, breakpoint),\n borderRight: getResponsiveValue(props.borderRight, breakpoint),\n borderBottom: getResponsiveValue(props.borderBottom, breakpoint),\n borderLeft: getResponsiveValue(props.borderLeft, breakpoint),\n borderWidth: getBorderWidthValue(props.borderWidth, props.theme, breakpoint),\n borderColor: getColorValue(props.borderColor, props.theme, breakpoint),\n borderTopWidth: getBorderWidthValue(props.borderTopWidth, props.theme, breakpoint),\n borderTopColor: getColorValue(props.borderTopColor, props.theme, breakpoint),\n borderRightWidth: getBorderWidthValue(props.borderRightWidth, props.theme, breakpoint),\n borderRightColor: getColorValue(props.borderRightColor, props.theme, breakpoint),\n borderBottomWidth: getBorderWidthValue(props.borderBottomWidth, props.theme, breakpoint),\n borderBottomColor: getColorValue(props.borderBottomColor, props.theme, breakpoint),\n borderLeftWidth: getBorderWidthValue(props.borderLeftWidth, props.theme, breakpoint),\n borderLeftColor: getColorValue(props.borderLeftColor, props.theme, breakpoint),\n borderTopLeftRadius: getBorderRadiusValue(props.borderTopLeftRadius, props.theme, breakpoint),\n borderTopRightRadius: getBorderRadiusValue(props.borderTopRightRadius, props.theme, breakpoint),\n borderBottomRightRadius: getBorderRadiusValue(\n props.borderBottomRightRadius,\n props.theme,\n breakpoint,\n ),\n borderBottomLeftRadius: getBorderRadiusValue(\n props.borderBottomLeftRadius,\n props.theme,\n breakpoint,\n ),\n borderStyle: getBorderStyleValue(\n props.borderStyle,\n breakpoint,\n Boolean(hasBorder),\n ) as CSSObject['borderStyle'],\n cursor: getResponsiveValue(props.cursor, breakpoint),\n // Since we only allow 'solid', we can use the same value for all borders if hasBorder is true\n // If hasBorder is false, we need to check each border individually\n ...(!hasBorder && {\n borderTopStyle: getBorderStyleValue(\n props.borderTopStyle,\n breakpoint,\n Boolean(hasBorderTop),\n ) as CSSObject['borderTopStyle'],\n borderBottomStyle: getBorderStyleValue(\n props.borderBottomStyle,\n breakpoint,\n Boolean(hasBorderBottom),\n ) as CSSObject['borderBottomStyle'],\n borderLeftStyle: getBorderStyleValue(\n props.borderLeftStyle,\n breakpoint,\n Boolean(hasBorderLeft),\n ) as CSSObject['borderLeftStyle'],\n borderRightStyle: getBorderStyleValue(\n props.borderRightStyle,\n breakpoint,\n Boolean(hasBorderRight),\n ) as CSSObject['borderRightStyle'],\n }),\n touchAction: getResponsiveValue(props.touchAction, breakpoint),\n userSelect: getResponsiveValue(props.userSelect, breakpoint),\n pointerEvents: getResponsiveValue(props.pointerEvents),\n opacity: getResponsiveValue(props.opacity, breakpoint),\n visibility: getResponsiveValue(props.visibility, breakpoint),\n ...(!isReactNative() && {\n boxShadow: getElevationValue(props.elevation, props.theme, breakpoint),\n backdropFilter: getResponsiveValue(props.backdropFilter, breakpoint),\n transition: getResponsiveValue(props.transition, breakpoint),\n }),\n\n // Polygon support\n transform: getResponsiveValue(props.transform as string, breakpoint),\n transformOrigin: getResponsiveValue(props.transformOrigin, breakpoint),\n clipPath: getResponsiveValue(props.clipPath, breakpoint),\n\n // Animation\n };\n};\n\n/** We only add breakpoint if at least one of the value is defined */\nconst shouldAddBreakpoint = (cssProps: CSSObject): boolean => {\n const firstDefinedValue = Object.values(cssProps).find(\n (cssValue) => cssValue !== undefined && cssValue !== null,\n );\n\n return firstDefinedValue !== undefined;\n};\n\nconst getAllMediaQueries = (props: BaseBoxProps & { theme: Theme }): CSSObject => {\n if (isReactNative()) {\n return {};\n }\n\n const { base, ...breakpointsWithoutBase } = breakpoints;\n\n return Object.fromEntries(\n Object.entries(breakpointsWithoutBase).map(([breakpointKey, breakpointValue]) => {\n const cssPropsForCurrentBreakpoint = getAllProps(props, breakpointKey as keyof Breakpoints);\n if (!shouldAddBreakpoint(cssPropsForCurrentBreakpoint)) {\n return [];\n }\n\n const mediaQuery = `@media ${getMediaQuery({ min: breakpointValue })}`;\n return [mediaQuery, cssPropsForCurrentBreakpoint];\n }),\n );\n};\n\nconst getBaseBoxStyles = (props: BaseBoxProps & { theme: Theme }): CSSObject => {\n return {\n ...getAllProps(props),\n ...getAllMediaQueries(props),\n };\n};\n\nexport {\n getBaseBoxStyles,\n getSpacingValue,\n getColorValue,\n getBorderRadiusValue,\n shouldAddBreakpoint,\n getAllMediaQueries,\n getAllProps,\n};\n"],"names":["isSpacingToken","value","startsWith","getSpacingValue","spacingValue","theme","breakpoint","isEmpty","undefined","responsiveSpacingValue","getResponsiveValue","Array","isArray","map","join","spacingReturnValue","getIn","makeSpace","getColorValue","color","responsiveBackgroundValue","tokenValue","getBorderRadiusValue","borderRadius","responsiveBorderRadiusValue","makeBorderSize","getBorderWidthValue","borderWidth","responsiveBorderWidthValue","getElevationValue","elevation","responsiveElevationValue","getBorderStyleValue","borderStyle","hasBorder","getAllProps","props","_props$paddingTop","_props$paddingBottom","_props$paddingRight","_props$paddingLeft","_props$marginBottom","_props$marginTop","_props$marginRight","_props$marginLeft","borderColor","hasBorderRight","borderRight","borderRightColor","borderRightWidth","hasBorderLeft","borderLeft","borderLeftColor","borderLeftWidth","hasBorderTop","borderTop","borderTopColor","borderTopWidth","hasBorderBottom","borderBottom","borderBottomColor","borderBottomWidth","Object","assign","display","overflow","overflowX","overflowY","textAlign","whiteSpace","flex","flexWrap","flexDirection","flexGrow","flexShrink","flexBasis","alignItems","alignContent","alignSelf","justifyItems","justifyContent","justifySelf","placeSelf","placeItems","order","position","zIndex","grid","gridColumn","gridRow","gridRowStart","gridRowEnd","gridArea","gridAutoFlow","gridAutoRows","gridAutoColumns","gridTemplate","gridTemplateAreas","gridTemplateColumns","gridTemplateRows","padding","paddingTop","paddingY","paddingBottom","paddingRight","paddingX","paddingLeft","margin","marginBottom","marginY","marginTop","marginRight","marginX","marginLeft","height","minHeight","maxHeight","width","minWidth","maxWidth","gap","rowGap","columnGap","top","right","bottom","left","backgroundColor","backgroundImage","backgroundSize","backgroundPosition","backgroundOrigin","backgroundRepeat","lineHeight","border","borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius","Boolean","cursor","borderTopStyle","borderBottomStyle","borderLeftStyle","borderRightStyle","touchAction","userSelect","pointerEvents","opacity","visibility","isReactNative","boxShadow","backdropFilter","transition","transform","transformOrigin","clipPath","shouldAddBreakpoint","cssProps","firstDefinedValue","values","find","cssValue","getAllMediaQueries","breakpoints","base","breakpointsWithoutBase","_objectWithoutProperties","_excluded","fromEntries","entries","_ref","_ref2","_slicedToArray","breakpointKey","breakpointValue","cssPropsForCurrentBreakpoint","mediaQuery","getMediaQuery","min","getBaseBoxStyles"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"propsTypes.js","sources":["../../../../../../../src/components/Box/BaseBox/types/propsTypes.ts"],"sourcesContent":["import type { View } from 'react-native';\nimport type { CSSObject } from 'styled-components';\nimport type { MarginProps, PaddingProps, SpacingValueType } from './spacingTypes';\nimport type { MakeObjectResponsive } from './responsiveTypes';\nimport type { Theme } from '~components/BladeProvider';\nimport type { Border, Elevation } from '~tokens/global';\nimport type { DataAnalyticsAttribute, PickCSSByPlatform, TestID } from '~utils/types';\nimport type { Platform } from '~utils';\nimport type { BladeCommonEvents } from '~components/types';\nimport type { DotNotationToken } from '~utils/lodashButBetter/get';\n\ntype LayoutProps = MakeObjectResponsive<\n {\n height: SpacingValueType;\n minHeight: SpacingValueType;\n maxHeight: SpacingValueType;\n width: SpacingValueType;\n minWidth: SpacingValueType;\n maxWidth: SpacingValueType;\n } & PickCSSByPlatform<\n 'display' | 'overflow' | 'overflowX' | 'overflowY' | 'textAlign' | 'whiteSpace'\n >\n>;\n\ntype FlexboxProps = MakeObjectResponsive<\n {\n /**\n * This uses the native gap property which might not work on older browsers.\n * If you want to support older browsers, you might want to use `margin` instead.\n *\n * @see https://caniuse.com/?search=gap\n */\n gap: SpacingValueType;\n /**\n * This uses the native row-gap property which might not work on older browsers.\n * If you want to support older browsers, you might want to use `margin` instead.\n *\n * @see https://caniuse.com/?search=row-gap\n */\n rowGap: SpacingValueType;\n /**\n * This uses the native column-gap property which might not work on older browsers.\n * If you want to support older browsers, you might want to use `margin` instead.\n *\n * @see https://caniuse.com/?search=column-gap\n */\n columnGap: SpacingValueType;\n /**\n * The **`flex`** CSS shorthand property sets how a flex _item_ will grow or shrink to fit the space available in its flex container.\n *\n * @see https://developer.mozilla.org/docs/Web/CSS/flex\n */\n flex: string | number;\n } & PickCSSByPlatform<\n | 'flexWrap'\n | 'flexDirection'\n | 'flexGrow'\n | 'flexShrink'\n | 'flexBasis'\n | 'alignItems'\n | 'alignContent'\n | 'alignSelf'\n | 'justifyItems'\n | 'justifyContent'\n | 'justifySelf'\n | 'placeSelf'\n | 'placeItems'\n | 'order'\n >\n>;\n\ntype PositionProps = MakeObjectResponsive<\n {\n top: SpacingValueType;\n right: SpacingValueType;\n bottom: SpacingValueType;\n left: SpacingValueType;\n } & PickCSSByPlatform<'position' | 'zIndex'>\n>;\n\ntype GridProps = MakeObjectResponsive<\n PickCSSByPlatform<\n | 'grid'\n | 'gridColumn'\n | 'gridRow'\n | 'gridRowStart'\n | 'gridRowEnd'\n | 'gridColumnStart'\n | 'gridColumnEnd'\n | 'gridArea'\n | 'gridAutoFlow'\n | 'gridAutoRows'\n | 'gridAutoColumns'\n | 'gridTemplate'\n | 'gridTemplateAreas'\n | 'gridTemplateColumns'\n | 'gridTemplateRows'\n >\n>;\n\ntype ColorObjects = 'feedback' | 'surface' | 'interactive';\ntype BackgroundOnlyColorObjects = 'popup' | 'overlay';\ntype BackgroundColorString<\n T extends ColorObjects | BackgroundOnlyColorObjects\n> = `${T}.background.${DotNotationToken<Theme['colors'][T]['background']>}`;\ntype BorderColorString<T extends ColorObjects> = `${T}.border.${DotNotationToken<\n Theme['colors'][T]['border']\n>}`;\n\n// Created this as an array so I can reuse it for runtime validation\nconst validBoxAsValues = [\n 'div',\n 'section',\n 'footer',\n 'header',\n 'main',\n 'aside',\n 'nav',\n 'span',\n 'label',\n] as const;\n\ntype BoxAsType = typeof validBoxAsValues[number];\n\n// Visual props that are common for both Box and BaseBox\ntype CommonBoxVisualProps = MakeObjectResponsive<\n {\n borderRadius: keyof Border['radius'];\n borderWidth: keyof Border['width'];\n borderColor: BorderColorString<'surface'>;\n borderTopWidth: keyof Border['width'];\n borderTopColor: BorderColorString<'surface'>;\n borderRightWidth: keyof Border['width'];\n borderRightColor: BorderColorString<'surface'>;\n borderBottomWidth: keyof Border['width'];\n borderBottomColor: BorderColorString<'surface'>;\n borderLeftWidth: keyof Border['width'];\n borderLeftColor: BorderColorString<'surface'>;\n borderTopLeftRadius: keyof Border['radius'];\n borderTopRightRadius: keyof Border['radius'];\n borderBottomRightRadius: keyof Border['radius'];\n borderBottomLeftRadius: keyof Border['radius'];\n } & PickCSSByPlatform<\n | 'backgroundImage'\n | 'backgroundSize'\n | 'backgroundPosition'\n | 'backgroundOrigin'\n | 'backgroundRepeat'\n | 'pointerEvents'\n | 'opacity'\n | 'visibility'\n | 'transform'\n | 'transformOrigin'\n | 'clipPath'\n | 'borderStyle'\n | 'borderTopStyle'\n | 'borderBottomStyle'\n | 'borderLeftStyle'\n | 'borderRightStyle'\n > & {\n /**\n * Sets the elevation for Box\n *\n * eg: `theme.elevation.midRaised`\n *\n * @default `theme.elevation.lowRaised`\n *\n * **Links:**\n * - Docs: https://blade.razorpay.com/?path=/docs/tokens-elevation--docs\n */\n elevation?: keyof Elevation;\n }\n>;\n\n// Visual props that are specific BaseBox\n// This is used to ensure some of the more flexible BaseBox props are not passed to Box\ntype BaseBoxVisualProps = MakeObjectResponsive<\n {\n backgroundColor:\n | BackgroundColorString<'feedback'>\n | BackgroundColorString<'surface'>\n | BackgroundColorString<'interactive'>\n | BackgroundColorString<'overlay'>\n | BackgroundColorString<'popup'>\n | 'transparent'\n | (string & Record<never, never>);\n lineHeight: SpacingValueType;\n touchAction: CSSObject['touchAction'];\n userSelect: CSSObject['userSelect'];\n } & PickCSSByPlatform<\n | 'border'\n | 'borderLeft'\n | 'borderRight'\n | 'borderTop'\n | 'borderBottom'\n | 'opacity'\n | 'pointerEvents'\n | 'cursor'\n >\n>;\n\n// Visual props that are specific to Box\ntype BoxVisualProps = MakeObjectResponsive<{\n backgroundColor:\n | BackgroundColorString<'surface'>\n | BackgroundColorString<'overlay'>\n | BackgroundColorString<'feedback'>\n | 'transparent';\n}> & {\n // Intentionally keeping this outside of MakeObjectResponsive since we only want as to be string and not responsive object\n // styled-components do not support passing `as` prop as an object\n as: BoxAsType;\n};\n\ntype StyledPropsBlade = Partial<\n Omit<\n MarginProps &\n Pick<FlexboxProps, 'alignSelf' | 'justifySelf' | 'placeSelf' | 'order' | 'flexWrap'> &\n PositionProps &\n Pick<\n GridProps,\n | 'gridColumn'\n | 'gridRow'\n | 'gridRowStart'\n | 'gridRowEnd'\n | 'gridColumnStart'\n | 'gridColumnEnd'\n | 'gridArea'\n > &\n Pick<LayoutProps, 'display'> &\n Pick<CommonBoxVisualProps, 'visibility'>,\n '__brand__'\n >\n>;\n\ntype BoxCallbackProps = Omit<\n Platform.Select<{\n web: {\n /**\n * **Warning**\n *\n * Make sure to not use Box when you want to create a trigger that performs action on hover.\n * You would probably want to render it as `button` using `styled.button` instead.\n *\n * Use this for hoverable containers in cases like custom menus.\n */\n onMouseOver: React.MouseEventHandler<HTMLElement>;\n /**\n * **Warning**\n *\n * Make sure to not use Box when you want to create a trigger that performs action on hover.\n * You would probably want to render it as `button` using `styled.button` instead.\n *\n * Use this for hoverable containers in cases like custom menus.\n */\n onMouseEnter: React.MouseEventHandler<HTMLElement>;\n /**\n * **Warning**\n *\n * Make sure to not use Box when you want to create a trigger that performs action on hover.\n * You would probably want to render it as `button` using `styled.button` instead.\n *\n * Use this for hoverable containers in cases like custom menus.\n */\n onMouseLeave: React.MouseEventHandler<HTMLElement>;\n onScroll: React.UIEventHandler<HTMLElement>;\n };\n native: Record<'onMouseOver' | 'onMouseEnter' | 'onMouseLeave' | 'onScroll', undefined>;\n }>,\n '__brand__'\n>;\n\ntype BoxDragAndDropProps = Omit<\n Platform.Select<{\n web: {\n draggable: boolean;\n onDragStart: React.DragEventHandler<HTMLElement>;\n onDragEnter: React.DragEventHandler<HTMLElement>;\n onDragLeave: React.DragEventHandler<HTMLElement>;\n onDragOver: React.DragEventHandler<HTMLElement>;\n onDragEnd: React.DragEventHandler<HTMLElement>;\n onDrop: React.DragEventHandler<HTMLElement>;\n };\n native: Record<\n | 'draggable'\n | 'onDragStart'\n | 'onDragEnter'\n | 'onDragLeave'\n | 'onDragOver'\n | 'onDragEnd'\n | 'onDrop',\n undefined\n >;\n }>,\n '__brand__'\n>;\n\ntype BoxProps = Partial<\n PaddingProps &\n MarginProps &\n LayoutProps &\n FlexboxProps &\n PositionProps &\n GridProps &\n BoxCallbackProps &\n BoxDragAndDropProps &\n CommonBoxVisualProps &\n BoxVisualProps & {\n children?: React.ReactNode | React.ReactNode[];\n tabIndex?: number;\n id?: string;\n } & TestID &\n DataAnalyticsAttribute\n>;\n\n// Visual props have different types for BaseBox and Box. BaseBox has more flexible types and more props exposed.\n// So first we Omit Visual props of Box\n// Then we append BaseBoxVisualProps and some other props for styled-components like class and id\ntype BaseBoxProps = Omit<BoxProps, keyof BoxVisualProps> &\n Partial<\n DataAnalyticsAttribute &\n BaseBoxVisualProps & {\n className?: string;\n id?: string;\n tabIndex?: number;\n }\n > &\n BladeCommonEvents;\n\n// ref prop type\ntype BoxRefType = Platform.Select<{\n web: Omit<HTMLElement, 'style'>;\n native: View;\n}>;\n\nexport type { BaseBoxProps, BoxProps, BoxRefType, StyledPropsBlade, FlexboxProps };\nexport { validBoxAsValues };\n"],"names":["validBoxAsValues"],"mappings":"AA8GM,IAAAA,gBAAgB,CAAG,CACvB,KAAK,CACL,SAAS,CACT,QAAQ,CACR,QAAQ,CACR,MAAM,CACN,OAAO,CACP,KAAK,CACL,MAAM,CACN,OAAO;;;;"}
|
|
1
|
+
{"version":3,"file":"propsTypes.js","sources":["../../../../../../../src/components/Box/BaseBox/types/propsTypes.ts"],"sourcesContent":["import type { View } from 'react-native';\nimport type { CSSObject } from 'styled-components';\nimport type { MarginProps, PaddingProps, SpacingValueType } from './spacingTypes';\nimport type { MakeObjectResponsive } from './responsiveTypes';\nimport type { Theme } from '~components/BladeProvider';\nimport type { Border, Elevation } from '~tokens/global';\nimport type { DataAnalyticsAttribute, PickCSSByPlatform, TestID } from '~utils/types';\nimport type { Platform } from '~utils';\nimport type { BladeCommonEvents } from '~components/types';\nimport type { DotNotationToken } from '~utils/lodashButBetter/get';\n\ntype LayoutProps = MakeObjectResponsive<\n {\n height: SpacingValueType;\n minHeight: SpacingValueType;\n maxHeight: SpacingValueType;\n width: SpacingValueType;\n minWidth: SpacingValueType;\n maxWidth: SpacingValueType;\n } & PickCSSByPlatform<\n 'display' | 'overflow' | 'overflowX' | 'overflowY' | 'textAlign' | 'whiteSpace'\n >\n>;\n\ntype FlexboxProps = MakeObjectResponsive<\n {\n /**\n * This uses the native gap property which might not work on older browsers.\n * If you want to support older browsers, you might want to use `margin` instead.\n *\n * @see https://caniuse.com/?search=gap\n */\n gap: SpacingValueType;\n /**\n * This uses the native row-gap property which might not work on older browsers.\n * If you want to support older browsers, you might want to use `margin` instead.\n *\n * @see https://caniuse.com/?search=row-gap\n */\n rowGap: SpacingValueType;\n /**\n * This uses the native column-gap property which might not work on older browsers.\n * If you want to support older browsers, you might want to use `margin` instead.\n *\n * @see https://caniuse.com/?search=column-gap\n */\n columnGap: SpacingValueType;\n /**\n * The **`flex`** CSS shorthand property sets how a flex _item_ will grow or shrink to fit the space available in its flex container.\n *\n * @see https://developer.mozilla.org/docs/Web/CSS/flex\n */\n flex: string | number;\n } & PickCSSByPlatform<\n | 'flexWrap'\n | 'flexDirection'\n | 'flexGrow'\n | 'flexShrink'\n | 'flexBasis'\n | 'alignItems'\n | 'alignContent'\n | 'alignSelf'\n | 'justifyItems'\n | 'justifyContent'\n | 'justifySelf'\n | 'placeSelf'\n | 'placeItems'\n | 'order'\n >\n>;\n\ntype PositionProps = MakeObjectResponsive<\n {\n top: SpacingValueType;\n right: SpacingValueType;\n bottom: SpacingValueType;\n left: SpacingValueType;\n } & PickCSSByPlatform<'position' | 'zIndex'>\n>;\n\ntype GridProps = MakeObjectResponsive<\n PickCSSByPlatform<\n | 'grid'\n | 'gridColumn'\n | 'gridRow'\n | 'gridRowStart'\n | 'gridRowEnd'\n | 'gridColumnStart'\n | 'gridColumnEnd'\n | 'gridArea'\n | 'gridAutoFlow'\n | 'gridAutoRows'\n | 'gridAutoColumns'\n | 'gridTemplate'\n | 'gridTemplateAreas'\n | 'gridTemplateColumns'\n | 'gridTemplateRows'\n >\n>;\n\ntype ColorObjects = 'feedback' | 'surface' | 'interactive';\ntype BackgroundOnlyColorObjects = 'popup' | 'overlay';\ntype BackgroundColorString<\n T extends ColorObjects | BackgroundOnlyColorObjects\n> = `${T}.background.${DotNotationToken<Theme['colors'][T]['background']>}`;\ntype BorderColorString<T extends ColorObjects> = `${T}.border.${DotNotationToken<\n Theme['colors'][T]['border']\n>}`;\n\n// Created this as an array so I can reuse it for runtime validation\nconst validBoxAsValues = [\n 'div',\n 'section',\n 'footer',\n 'header',\n 'main',\n 'aside',\n 'nav',\n 'span',\n 'label',\n] as const;\n\ntype BoxAsType = typeof validBoxAsValues[number];\n\n// Visual props that are common for both Box and BaseBox\ntype CommonBoxVisualProps = MakeObjectResponsive<\n {\n borderRadius: keyof Border['radius'];\n borderWidth: keyof Border['width'];\n borderColor: BorderColorString<'surface'>;\n borderTopWidth: keyof Border['width'];\n borderTopColor: BorderColorString<'surface'>;\n borderRightWidth: keyof Border['width'];\n borderRightColor: BorderColorString<'surface'>;\n borderBottomWidth: keyof Border['width'];\n borderBottomColor: BorderColorString<'surface'>;\n borderLeftWidth: keyof Border['width'];\n borderLeftColor: BorderColorString<'surface'>;\n borderTopLeftRadius: keyof Border['radius'];\n borderTopRightRadius: keyof Border['radius'];\n borderBottomRightRadius: keyof Border['radius'];\n borderBottomLeftRadius: keyof Border['radius'];\n } & PickCSSByPlatform<\n | 'backgroundImage'\n | 'backgroundSize'\n | 'backgroundPosition'\n | 'backgroundOrigin'\n | 'backgroundRepeat'\n | 'pointerEvents'\n | 'opacity'\n | 'visibility'\n | 'transform'\n | 'transformOrigin'\n | 'clipPath'\n | 'borderStyle'\n | 'borderTopStyle'\n | 'borderBottomStyle'\n | 'borderLeftStyle'\n | 'borderRightStyle'\n | 'backdropFilter'\n | 'transition'\n > & {\n /**\n * Sets the elevation for Box\n *\n * eg: `theme.elevation.midRaised`\n *\n * @default `theme.elevation.lowRaised`\n *\n * **Links:**\n * - Docs: https://blade.razorpay.com/?path=/docs/tokens-elevation--docs\n */\n elevation?: keyof Elevation;\n }\n>;\n\n// Visual props that are specific BaseBox\n// This is used to ensure some of the more flexible BaseBox props are not passed to Box\ntype BaseBoxVisualProps = MakeObjectResponsive<\n {\n backgroundColor:\n | BackgroundColorString<'feedback'>\n | BackgroundColorString<'surface'>\n | BackgroundColorString<'interactive'>\n | BackgroundColorString<'overlay'>\n | BackgroundColorString<'popup'>\n | 'transparent'\n | (string & Record<never, never>);\n lineHeight: SpacingValueType;\n touchAction: CSSObject['touchAction'];\n userSelect: CSSObject['userSelect'];\n } & PickCSSByPlatform<\n | 'border'\n | 'borderLeft'\n | 'borderRight'\n | 'borderTop'\n | 'borderBottom'\n | 'opacity'\n | 'pointerEvents'\n | 'cursor'\n >\n>;\n\n// Visual props that are specific to Box\ntype BoxVisualProps = MakeObjectResponsive<{\n backgroundColor:\n | BackgroundColorString<'surface'>\n | BackgroundColorString<'overlay'>\n | BackgroundColorString<'feedback'>\n | 'transparent';\n}> & {\n // Intentionally keeping this outside of MakeObjectResponsive since we only want as to be string and not responsive object\n // styled-components do not support passing `as` prop as an object\n as: BoxAsType;\n};\n\ntype StyledPropsBlade = Partial<\n Omit<\n MarginProps &\n Pick<FlexboxProps, 'alignSelf' | 'justifySelf' | 'placeSelf' | 'order' | 'flexWrap'> &\n PositionProps &\n Pick<\n GridProps,\n | 'gridColumn'\n | 'gridRow'\n | 'gridRowStart'\n | 'gridRowEnd'\n | 'gridColumnStart'\n | 'gridColumnEnd'\n | 'gridArea'\n > &\n Pick<LayoutProps, 'display'> &\n Pick<CommonBoxVisualProps, 'visibility'>,\n '__brand__'\n >\n>;\n\ntype BoxCallbackProps = Omit<\n Platform.Select<{\n web: {\n /**\n * **Warning**\n *\n * Make sure to not use Box when you want to create a trigger that performs action on hover.\n * You would probably want to render it as `button` using `styled.button` instead.\n *\n * Use this for hoverable containers in cases like custom menus.\n */\n onMouseOver: React.MouseEventHandler<HTMLElement>;\n /**\n * **Warning**\n *\n * Make sure to not use Box when you want to create a trigger that performs action on hover.\n * You would probably want to render it as `button` using `styled.button` instead.\n *\n * Use this for hoverable containers in cases like custom menus.\n */\n onMouseEnter: React.MouseEventHandler<HTMLElement>;\n /**\n * **Warning**\n *\n * Make sure to not use Box when you want to create a trigger that performs action on hover.\n * You would probably want to render it as `button` using `styled.button` instead.\n *\n * Use this for hoverable containers in cases like custom menus.\n */\n onMouseLeave: React.MouseEventHandler<HTMLElement>;\n onScroll: React.UIEventHandler<HTMLElement>;\n };\n native: Record<'onMouseOver' | 'onMouseEnter' | 'onMouseLeave' | 'onScroll', undefined>;\n }>,\n '__brand__'\n>;\n\ntype BoxDragAndDropProps = Omit<\n Platform.Select<{\n web: {\n draggable: boolean;\n onDragStart: React.DragEventHandler<HTMLElement>;\n onDragEnter: React.DragEventHandler<HTMLElement>;\n onDragLeave: React.DragEventHandler<HTMLElement>;\n onDragOver: React.DragEventHandler<HTMLElement>;\n onDragEnd: React.DragEventHandler<HTMLElement>;\n onDrop: React.DragEventHandler<HTMLElement>;\n };\n native: Record<\n | 'draggable'\n | 'onDragStart'\n | 'onDragEnter'\n | 'onDragLeave'\n | 'onDragOver'\n | 'onDragEnd'\n | 'onDrop',\n undefined\n >;\n }>,\n '__brand__'\n>;\n\ntype BoxProps = Partial<\n PaddingProps &\n MarginProps &\n LayoutProps &\n FlexboxProps &\n PositionProps &\n GridProps &\n BoxCallbackProps &\n BoxDragAndDropProps &\n CommonBoxVisualProps &\n BoxVisualProps & {\n children?: React.ReactNode | React.ReactNode[];\n tabIndex?: number;\n id?: string;\n } & TestID &\n DataAnalyticsAttribute\n>;\n\n// Visual props have different types for BaseBox and Box. BaseBox has more flexible types and more props exposed.\n// So first we Omit Visual props of Box\n// Then we append BaseBoxVisualProps and some other props for styled-components like class and id\ntype BaseBoxProps = Omit<BoxProps, keyof BoxVisualProps> &\n Partial<\n DataAnalyticsAttribute &\n BaseBoxVisualProps & {\n className?: string;\n id?: string;\n tabIndex?: number;\n }\n > &\n BladeCommonEvents;\n\n// ref prop type\ntype BoxRefType = Platform.Select<{\n web: Omit<HTMLElement, 'style'>;\n native: View;\n}>;\n\nexport type { BaseBoxProps, BoxProps, BoxRefType, StyledPropsBlade, FlexboxProps };\nexport { validBoxAsValues };\n"],"names":["validBoxAsValues"],"mappings":"AA8GM,IAAAA,gBAAgB,CAAG,CACvB,KAAK,CACL,SAAS,CACT,QAAQ,CACR,QAAQ,CACR,MAAM,CACN,OAAO,CACP,KAAK,CACL,MAAM,CACN,OAAO;;;;"}
|
|
@@ -12,7 +12,7 @@ import { assignWithoutSideEffects } from '../../utils/assignWithoutSideEffects/a
|
|
|
12
12
|
import { makeAnalyticsAttribute } from '../../utils/makeAnalyticsAttribute/makeAnalyticsAttribute.js';
|
|
13
13
|
import { jsx } from 'react/jsx-runtime';
|
|
14
14
|
|
|
15
|
-
var validateBackgroundString=function validateBackgroundString(stringBackgroundColorValue){if(__DEV__){if(!stringBackgroundColorValue.startsWith('surface.background')&&!stringBackgroundColorValue.startsWith('overlay.')&&!stringBackgroundColorValue.startsWith('feedback.background')&&stringBackgroundColorValue!=='transparent'){throwBladeError({message:`Oops! Currently you can only use \`transparent\`, \`surface.background.*\`, and \`overlay.*\` tokens with backgroundColor property but we received \`${stringBackgroundColorValue}\` instead.\n\n Do you have a usecase of using other values? Create an issue on https://github.com/razorpay/blade repo to let us know and we can discuss ✨`,moduleName:'Box'});}}};var validateBackgroundProp=function validateBackgroundProp(responsiveBackgroundColor){if(__DEV__){if(responsiveBackgroundColor){if(typeof responsiveBackgroundColor==='string'){validateBackgroundString(responsiveBackgroundColor);return;}Object.values(responsiveBackgroundColor).forEach(function(backgroundColor){if(typeof backgroundColor==='string'){validateBackgroundString(backgroundColor);}});}}};var makeBoxProps=function makeBoxProps(props){return {display:props.display,overflow:props.overflow,overflowX:props.overflowX,overflowY:props.overflowY,whiteSpace:props.whiteSpace,height:props.height,minHeight:props.minHeight,maxHeight:props.maxHeight,width:props.width,minWidth:props.minWidth,maxWidth:props.maxWidth,textAlign:props.textAlign,flex:props.flex,flexWrap:props.flexWrap,flexDirection:props.flexDirection,flexGrow:props.flexGrow,flexShrink:props.flexShrink,flexBasis:props.flexBasis,alignItems:props.alignItems,alignContent:props.alignContent,alignSelf:props.alignSelf,justifyItems:props.justifyItems,justifyContent:props.justifyContent,justifySelf:props.justifySelf,placeSelf:props.placeSelf,placeItems:props.placeItems,order:props.order,grid:props.grid,gridColumn:props.gridColumn,gridRow:props.gridRow,gridRowStart:props.gridRowStart,gridRowEnd:props.gridRowEnd,gridColumnStart:props.gridColumnStart,gridColumnEnd:props.gridColumnEnd,gridArea:props.gridArea,gridAutoFlow:props.gridAutoFlow,gridAutoRows:props.gridAutoRows,gridAutoColumns:props.gridAutoColumns,gridTemplate:props.gridTemplate,gridTemplateAreas:props.gridTemplateAreas,gridTemplateColumns:props.gridTemplateColumns,gridTemplateRows:props.gridTemplateRows,padding:props.padding,paddingTop:props.paddingTop,paddingBottom:props.paddingBottom,paddingRight:props.paddingRight,paddingLeft:props.paddingLeft,paddingX:props.paddingX,paddingY:props.paddingY,margin:props.margin,marginBottom:props.marginBottom,marginTop:props.marginTop,marginRight:props.marginRight,marginLeft:props.marginLeft,marginX:props.marginX,marginY:props.marginY,gap:props.gap,rowGap:props.rowGap,columnGap:props.columnGap,position:props.position,zIndex:props.zIndex,top:props.top,right:props.right,bottom:props.bottom,left:props.left,backgroundColor:props.backgroundColor,backgroundImage:props.backgroundImage,backgroundSize:props.backgroundSize,backgroundPosition:props.backgroundPosition,backgroundOrigin:props.backgroundOrigin,backgroundRepeat:props.backgroundRepeat,elevation:props.elevation,opacity:props.opacity,visibility:props.visibility,borderWidth:props.borderWidth,borderColor:props.borderColor,borderStyle:props.borderStyle,borderTopWidth:props.borderTopWidth,borderTopColor:props.borderTopColor,borderTopStyle:props.borderTopStyle,borderRightWidth:props.borderRightWidth,borderRightColor:props.borderRightColor,borderRightStyle:props.borderRightStyle,borderBottomWidth:props.borderBottomWidth,borderBottomColor:props.borderBottomColor,borderBottomStyle:props.borderBottomStyle,borderLeftWidth:props.borderLeftWidth,borderLeftColor:props.borderLeftColor,borderLeftStyle:props.borderLeftStyle,borderRadius:props.borderRadius,borderTopLeftRadius:props.borderTopLeftRadius,borderTopRightRadius:props.borderTopRightRadius,borderBottomRightRadius:props.borderBottomRightRadius,borderBottomLeftRadius:props.borderBottomLeftRadius,transform:props.transform,transformOrigin:props.transformOrigin,clipPath:props.clipPath,onMouseEnter:props.onMouseEnter,onMouseLeave:props.onMouseLeave,onMouseOver:props.onMouseOver,onScroll:props.onScroll,draggable:props.draggable,onDragStart:props.onDragStart,onDragEnd:props.onDragEnd,onDragEnter:props.onDragEnter,onDragLeave:props.onDragLeave,onDragOver:props.onDragOver,onDrop:props.onDrop,pointerEvents:props.pointerEvents,children:props.children,tabIndex:props.tabIndex,as:isReactNative()?undefined:props.as};};var _Box=function _Box(props,ref){React__default.useEffect(function(){if(__DEV__){validateBackgroundProp(props.backgroundColor);}},[props.backgroundColor]);React__default.useEffect(function(){if(__DEV__){if(props.as){if(isReactNative()){throwBladeError({message:'`as` prop is not supported on React Native',moduleName:'Box'});}if(!validBoxAsValues.includes(props.as)){throwBladeError({message:`Invalid \`as\` prop value - ${props.as}. Only ${validBoxAsValues.join(', ')} are valid values`,moduleName:'Box'});}}}},[props.as]);return jsx(BaseBox,Object.assign({ref:ref,id:props.id},metaAttribute({name:MetaConstants.Box,testID:props.testID}),makeBoxProps(props),makeAnalyticsAttribute(props)));};var Box=assignWithoutSideEffects(React__default.forwardRef(_Box),{displayName:'Box',componentId:'Box'});
|
|
15
|
+
var validateBackgroundString=function validateBackgroundString(stringBackgroundColorValue){if(__DEV__){if(!stringBackgroundColorValue.startsWith('surface.background')&&!stringBackgroundColorValue.startsWith('overlay.')&&!stringBackgroundColorValue.startsWith('feedback.background')&&stringBackgroundColorValue!=='transparent'){throwBladeError({message:`Oops! Currently you can only use \`transparent\`, \`surface.background.*\`, and \`overlay.*\` tokens with backgroundColor property but we received \`${stringBackgroundColorValue}\` instead.\n\n Do you have a usecase of using other values? Create an issue on https://github.com/razorpay/blade repo to let us know and we can discuss ✨`,moduleName:'Box'});}}};var validateBackgroundProp=function validateBackgroundProp(responsiveBackgroundColor){if(__DEV__){if(responsiveBackgroundColor){if(typeof responsiveBackgroundColor==='string'){validateBackgroundString(responsiveBackgroundColor);return;}Object.values(responsiveBackgroundColor).forEach(function(backgroundColor){if(typeof backgroundColor==='string'){validateBackgroundString(backgroundColor);}});}}};var makeBoxProps=function makeBoxProps(props){return {display:props.display,overflow:props.overflow,overflowX:props.overflowX,overflowY:props.overflowY,whiteSpace:props.whiteSpace,height:props.height,minHeight:props.minHeight,maxHeight:props.maxHeight,width:props.width,minWidth:props.minWidth,maxWidth:props.maxWidth,textAlign:props.textAlign,flex:props.flex,flexWrap:props.flexWrap,flexDirection:props.flexDirection,flexGrow:props.flexGrow,flexShrink:props.flexShrink,flexBasis:props.flexBasis,alignItems:props.alignItems,alignContent:props.alignContent,alignSelf:props.alignSelf,justifyItems:props.justifyItems,justifyContent:props.justifyContent,justifySelf:props.justifySelf,placeSelf:props.placeSelf,placeItems:props.placeItems,order:props.order,grid:props.grid,gridColumn:props.gridColumn,gridRow:props.gridRow,gridRowStart:props.gridRowStart,gridRowEnd:props.gridRowEnd,gridColumnStart:props.gridColumnStart,gridColumnEnd:props.gridColumnEnd,gridArea:props.gridArea,gridAutoFlow:props.gridAutoFlow,gridAutoRows:props.gridAutoRows,gridAutoColumns:props.gridAutoColumns,gridTemplate:props.gridTemplate,gridTemplateAreas:props.gridTemplateAreas,gridTemplateColumns:props.gridTemplateColumns,gridTemplateRows:props.gridTemplateRows,padding:props.padding,paddingTop:props.paddingTop,paddingBottom:props.paddingBottom,paddingRight:props.paddingRight,paddingLeft:props.paddingLeft,paddingX:props.paddingX,paddingY:props.paddingY,margin:props.margin,marginBottom:props.marginBottom,marginTop:props.marginTop,marginRight:props.marginRight,marginLeft:props.marginLeft,marginX:props.marginX,marginY:props.marginY,gap:props.gap,rowGap:props.rowGap,columnGap:props.columnGap,position:props.position,zIndex:props.zIndex,top:props.top,right:props.right,bottom:props.bottom,left:props.left,backgroundColor:props.backgroundColor,backgroundImage:props.backgroundImage,backgroundSize:props.backgroundSize,backgroundPosition:props.backgroundPosition,backgroundOrigin:props.backgroundOrigin,backgroundRepeat:props.backgroundRepeat,elevation:props.elevation,opacity:props.opacity,visibility:props.visibility,backdropFilter:props.backdropFilter,borderWidth:props.borderWidth,borderColor:props.borderColor,borderStyle:props.borderStyle,borderTopWidth:props.borderTopWidth,borderTopColor:props.borderTopColor,borderTopStyle:props.borderTopStyle,borderRightWidth:props.borderRightWidth,borderRightColor:props.borderRightColor,borderRightStyle:props.borderRightStyle,borderBottomWidth:props.borderBottomWidth,borderBottomColor:props.borderBottomColor,borderBottomStyle:props.borderBottomStyle,borderLeftWidth:props.borderLeftWidth,borderLeftColor:props.borderLeftColor,borderLeftStyle:props.borderLeftStyle,borderRadius:props.borderRadius,borderTopLeftRadius:props.borderTopLeftRadius,borderTopRightRadius:props.borderTopRightRadius,borderBottomRightRadius:props.borderBottomRightRadius,borderBottomLeftRadius:props.borderBottomLeftRadius,transform:props.transform,transformOrigin:props.transformOrigin,clipPath:props.clipPath,transition:props.transition,onMouseEnter:props.onMouseEnter,onMouseLeave:props.onMouseLeave,onMouseOver:props.onMouseOver,onScroll:props.onScroll,draggable:props.draggable,onDragStart:props.onDragStart,onDragEnd:props.onDragEnd,onDragEnter:props.onDragEnter,onDragLeave:props.onDragLeave,onDragOver:props.onDragOver,onDrop:props.onDrop,pointerEvents:props.pointerEvents,children:props.children,tabIndex:props.tabIndex,as:isReactNative()?undefined:props.as};};var _Box=function _Box(props,ref){React__default.useEffect(function(){if(__DEV__){validateBackgroundProp(props.backgroundColor);}},[props.backgroundColor]);React__default.useEffect(function(){if(__DEV__){if(props.as){if(isReactNative()){throwBladeError({message:'`as` prop is not supported on React Native',moduleName:'Box'});}if(!validBoxAsValues.includes(props.as)){throwBladeError({message:`Invalid \`as\` prop value - ${props.as}. Only ${validBoxAsValues.join(', ')} are valid values`,moduleName:'Box'});}}}},[props.as]);return jsx(BaseBox,Object.assign({ref:ref,id:props.id},metaAttribute({name:MetaConstants.Box,testID:props.testID}),makeBoxProps(props),makeAnalyticsAttribute(props)));};var Box=assignWithoutSideEffects(React__default.forwardRef(_Box),{displayName:'Box',componentId:'Box'});
|
|
16
16
|
|
|
17
17
|
export { Box, makeBoxProps };
|
|
18
18
|
//# sourceMappingURL=Box.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Box.js","sources":["../../../../../src/components/Box/Box.tsx"],"sourcesContent":["import React from 'react';\nimport BaseBox from './BaseBox';\nimport type { BoxProps, BoxRefType, MakeValueResponsive } from './BaseBox/types';\nimport { validBoxAsValues } from './BaseBox/types/propsTypes';\nimport type { KeysRequired } from '~utils/types';\nimport { isReactNative } from '~utils';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { throwBladeError } from '~utils/logger';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\n\nconst validateBackgroundString = (stringBackgroundColorValue: string): void => {\n if (__DEV__) {\n if (\n !stringBackgroundColorValue.startsWith('surface.background') &&\n !stringBackgroundColorValue.startsWith('overlay.') &&\n !stringBackgroundColorValue.startsWith('feedback.background') &&\n stringBackgroundColorValue !== 'transparent'\n ) {\n throwBladeError({\n message: `Oops! Currently you can only use \\`transparent\\`, \\`surface.background.*\\`, and \\`overlay.*\\` tokens with backgroundColor property but we received \\`${stringBackgroundColorValue}\\` instead.\\n\\n Do you have a usecase of using other values? Create an issue on https://github.com/razorpay/blade repo to let us know and we can discuss ✨`,\n moduleName: 'Box',\n });\n }\n }\n};\n\nconst validateBackgroundProp = (\n responsiveBackgroundColor: MakeValueResponsive<string | undefined>,\n): void => {\n if (__DEV__) {\n if (responsiveBackgroundColor) {\n if (typeof responsiveBackgroundColor === 'string') {\n validateBackgroundString(responsiveBackgroundColor);\n return;\n }\n\n Object.values(responsiveBackgroundColor).forEach((backgroundColor) => {\n if (typeof backgroundColor === 'string') {\n validateBackgroundString(backgroundColor);\n }\n });\n }\n }\n};\n\n/**\n * This function is to filter out any unexpected props passed by the user\n */\nconst makeBoxProps = (\n props: BoxProps,\n): KeysRequired<Omit<BoxProps, 'testID' | 'id' | '__brand__'>> => {\n return {\n // Layout\n display: props.display,\n overflow: props.overflow,\n overflowX: props.overflowX,\n overflowY: props.overflowY,\n whiteSpace: props.whiteSpace,\n height: props.height,\n minHeight: props.minHeight,\n maxHeight: props.maxHeight,\n width: props.width,\n minWidth: props.minWidth,\n maxWidth: props.maxWidth,\n textAlign: props.textAlign,\n\n // Flex\n flex: props.flex,\n flexWrap: props.flexWrap,\n flexDirection: props.flexDirection,\n flexGrow: props.flexGrow,\n flexShrink: props.flexShrink,\n flexBasis: props.flexBasis,\n alignItems: props.alignItems,\n alignContent: props.alignContent,\n alignSelf: props.alignSelf,\n justifyItems: props.justifyItems,\n justifyContent: props.justifyContent,\n justifySelf: props.justifySelf,\n placeSelf: props.placeSelf,\n placeItems: props.placeItems,\n order: props.order,\n\n // Grid\n grid: props.grid,\n gridColumn: props.gridColumn,\n gridRow: props.gridRow,\n gridRowStart: props.gridRowStart,\n gridRowEnd: props.gridRowEnd,\n gridColumnStart: props.gridColumnStart,\n gridColumnEnd: props.gridColumnEnd,\n gridArea: props.gridArea,\n gridAutoFlow: props.gridAutoFlow,\n gridAutoRows: props.gridAutoRows,\n gridAutoColumns: props.gridAutoColumns,\n gridTemplate: props.gridTemplate,\n gridTemplateAreas: props.gridTemplateAreas,\n gridTemplateColumns: props.gridTemplateColumns,\n gridTemplateRows: props.gridTemplateRows,\n\n // Spacing\n padding: props.padding,\n paddingTop: props.paddingTop,\n paddingBottom: props.paddingBottom,\n paddingRight: props.paddingRight,\n paddingLeft: props.paddingLeft,\n paddingX: props.paddingX,\n paddingY: props.paddingY,\n margin: props.margin,\n marginBottom: props.marginBottom,\n marginTop: props.marginTop,\n marginRight: props.marginRight,\n marginLeft: props.marginLeft,\n marginX: props.marginX,\n marginY: props.marginY,\n gap: props.gap,\n rowGap: props.rowGap,\n columnGap: props.columnGap,\n\n // Position\n position: props.position,\n zIndex: props.zIndex,\n top: props.top,\n right: props.right,\n bottom: props.bottom,\n left: props.left,\n\n // Visual\n backgroundColor: props.backgroundColor,\n backgroundImage: props.backgroundImage,\n backgroundSize: props.backgroundSize,\n backgroundPosition: props.backgroundPosition,\n backgroundOrigin: props.backgroundOrigin,\n backgroundRepeat: props.backgroundRepeat,\n elevation: props.elevation,\n opacity: props.opacity,\n visibility: props.visibility,\n\n // Border\n borderWidth: props.borderWidth,\n borderColor: props.borderColor,\n borderStyle: props.borderStyle,\n borderTopWidth: props.borderTopWidth,\n borderTopColor: props.borderTopColor,\n borderTopStyle: props.borderTopStyle,\n borderRightWidth: props.borderRightWidth,\n borderRightColor: props.borderRightColor,\n borderRightStyle: props.borderRightStyle,\n borderBottomWidth: props.borderBottomWidth,\n borderBottomColor: props.borderBottomColor,\n borderBottomStyle: props.borderBottomStyle,\n borderLeftWidth: props.borderLeftWidth,\n borderLeftColor: props.borderLeftColor,\n borderLeftStyle: props.borderLeftStyle,\n borderRadius: props.borderRadius,\n borderTopLeftRadius: props.borderTopLeftRadius,\n borderTopRightRadius: props.borderTopRightRadius,\n borderBottomRightRadius: props.borderBottomRightRadius,\n borderBottomLeftRadius: props.borderBottomLeftRadius,\n\n // Polygon Support\n transform: props.transform,\n transformOrigin: props.transformOrigin,\n clipPath: props.clipPath,\n\n // callbacks\n onMouseEnter: props.onMouseEnter,\n onMouseLeave: props.onMouseLeave,\n onMouseOver: props.onMouseOver,\n onScroll: props.onScroll,\n\n // Drag and Drop\n draggable: props.draggable,\n onDragStart: props.onDragStart,\n onDragEnd: props.onDragEnd,\n onDragEnter: props.onDragEnter,\n onDragLeave: props.onDragLeave,\n onDragOver: props.onDragOver,\n onDrop: props.onDrop,\n\n pointerEvents: props.pointerEvents,\n children: props.children,\n tabIndex: props.tabIndex,\n as: isReactNative() ? undefined : props.as, // as is not supported on react-native\n };\n};\n\n/**\n * ## Box\n * \n * Box is the basic Layout component.\n *\n *\n * Box components supports most spacing CSS properties like `display`, `padding*`, `flex*`, `height`, `width`, etc.\n *\n * Check out {@linkcode BoxProps BoxPropsType} for complete list of props and [Layout RFC](https://github.com/razorpay/blade/blob/master/rfcs/2023-01-06-layout.md) for more details on API decision.\n * \n * ----\n * \n * ### Usage\n * \n * ```jsx\n * <Box display=\"flex\">\n * ```\n\n * #### Responsive Props\n *\n * ```jsx\n * <Box padding={{ base: 'spacing.3', m: 'spacing.10' }} />\n * ```\n * \n * #### Margin and Padding Shorthands\n * \n * ```jsx\n * <Box padding={[\"spacing.3\", \"spacing.10\"]} />\n * ```\n *\n * ---\n * \n * Checkout {@link https://blade.razorpay.com/?path=/docs/components-box Box Documentation}\n * \n */\nconst _Box: React.ForwardRefRenderFunction<BoxRefType, BoxProps> = (props, ref) => {\n React.useEffect(() => {\n if (__DEV__) {\n validateBackgroundProp(props.backgroundColor);\n }\n }, [props.backgroundColor]);\n\n React.useEffect(() => {\n if (__DEV__) {\n if (props.as) {\n if (isReactNative()) {\n throwBladeError({\n message: '`as` prop is not supported on React Native',\n moduleName: 'Box',\n });\n }\n\n if (!validBoxAsValues.includes(props.as)) {\n throwBladeError({\n message: `Invalid \\`as\\` prop value - ${props.as}. Only ${validBoxAsValues.join(\n ', ',\n )} are valid values`,\n moduleName: 'Box',\n });\n }\n }\n }\n }, [props.as]);\n\n return (\n <BaseBox\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ref={ref as any}\n id={props.id}\n {...metaAttribute({ name: MetaConstants.Box, testID: props.testID })}\n {...makeBoxProps(props)}\n {...makeAnalyticsAttribute(props)}\n />\n );\n};\n\nconst Box = assignWithoutSideEffects(React.forwardRef(_Box), {\n displayName: 'Box',\n componentId: 'Box',\n});\n\nexport { Box, makeBoxProps };\n"],"names":["validateBackgroundString","stringBackgroundColorValue","__DEV__","startsWith","throwBladeError","message","moduleName","validateBackgroundProp","responsiveBackgroundColor","Object","values","forEach","backgroundColor","makeBoxProps","props","display","overflow","overflowX","overflowY","whiteSpace","height","minHeight","maxHeight","width","minWidth","maxWidth","textAlign","flex","flexWrap","flexDirection","flexGrow","flexShrink","flexBasis","alignItems","alignContent","alignSelf","justifyItems","justifyContent","justifySelf","placeSelf","placeItems","order","grid","gridColumn","gridRow","gridRowStart","gridRowEnd","gridColumnStart","gridColumnEnd","gridArea","gridAutoFlow","gridAutoRows","gridAutoColumns","gridTemplate","gridTemplateAreas","gridTemplateColumns","gridTemplateRows","padding","paddingTop","paddingBottom","paddingRight","paddingLeft","paddingX","paddingY","margin","marginBottom","marginTop","marginRight","marginLeft","marginX","marginY","gap","rowGap","columnGap","position","zIndex","top","right","bottom","left","backgroundImage","backgroundSize","backgroundPosition","backgroundOrigin","backgroundRepeat","elevation","opacity","visibility","borderWidth","borderColor","borderStyle","borderTopWidth","borderTopColor","borderTopStyle","borderRightWidth","borderRightColor","borderRightStyle","borderBottomWidth","borderBottomColor","borderBottomStyle","borderLeftWidth","borderLeftColor","borderLeftStyle","borderRadius","borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius","transform","transformOrigin","clipPath","onMouseEnter","onMouseLeave","onMouseOver","onScroll","draggable","onDragStart","onDragEnd","onDragEnter","onDragLeave","onDragOver","onDrop","pointerEvents","children","tabIndex","as","isReactNative","undefined","_Box","ref","React","useEffect","validBoxAsValues","includes","join","_jsx","BaseBox","assign","id","metaAttribute","name","MetaConstants","Box","testID","makeAnalyticsAttribute","assignWithoutSideEffects","forwardRef","displayName","componentId"],"mappings":";;;;;;;;;;;;;;AAWA,IAAMA,wBAAwB,CAAG,SAA3BA,wBAAwBA,CAAIC,0BAAkC,CAAW,CAC7E,GAAIC,OAAO,CAAE,CACX,GACE,CAACD,0BAA0B,CAACE,UAAU,CAAC,oBAAoB,CAAC,EAC5D,CAACF,0BAA0B,CAACE,UAAU,CAAC,UAAU,CAAC,EAClD,CAACF,0BAA0B,CAACE,UAAU,CAAC,qBAAqB,CAAC,EAC7DF,0BAA0B,GAAK,aAAa,CAC5C,CACAG,eAAe,CAAC,CACdC,OAAO,CAAE,CAAwJJ,qJAAAA,EAAAA,0BAA0B,CAA4J,0JAAA,CAAA,CACvVK,UAAU,CAAE,KACd,CAAC,CAAC,CACJ,CACF,CACF,CAAC,CAED,IAAMC,sBAAsB,CAAG,SAAzBA,sBAAsBA,CAC1BC,yBAAkE,CACzD,CACT,GAAIN,OAAO,CAAE,CACX,GAAIM,yBAAyB,CAAE,CAC7B,GAAI,OAAOA,yBAAyB,GAAK,QAAQ,CAAE,CACjDR,wBAAwB,CAACQ,yBAAyB,CAAC,CACnD,OACF,CAEAC,MAAM,CAACC,MAAM,CAACF,yBAAyB,CAAC,CAACG,OAAO,CAAC,SAACC,eAAe,CAAK,CACpE,GAAI,OAAOA,eAAe,GAAK,QAAQ,CAAE,CACvCZ,wBAAwB,CAACY,eAAe,CAAC,CAC3C,CACF,CAAC,CAAC,CACJ,CACF,CACF,CAAC,CAKK,IAAAC,YAAY,CAAG,SAAfA,YAAYA,CAChBC,KAAe,CACiD,CAChE,OAAO,CAELC,OAAO,CAAED,KAAK,CAACC,OAAO,CACtBC,QAAQ,CAAEF,KAAK,CAACE,QAAQ,CACxBC,SAAS,CAAEH,KAAK,CAACG,SAAS,CAC1BC,SAAS,CAAEJ,KAAK,CAACI,SAAS,CAC1BC,UAAU,CAAEL,KAAK,CAACK,UAAU,CAC5BC,MAAM,CAAEN,KAAK,CAACM,MAAM,CACpBC,SAAS,CAAEP,KAAK,CAACO,SAAS,CAC1BC,SAAS,CAAER,KAAK,CAACQ,SAAS,CAC1BC,KAAK,CAAET,KAAK,CAACS,KAAK,CAClBC,QAAQ,CAAEV,KAAK,CAACU,QAAQ,CACxBC,QAAQ,CAAEX,KAAK,CAACW,QAAQ,CACxBC,SAAS,CAAEZ,KAAK,CAACY,SAAS,CAG1BC,IAAI,CAAEb,KAAK,CAACa,IAAI,CAChBC,QAAQ,CAAEd,KAAK,CAACc,QAAQ,CACxBC,aAAa,CAAEf,KAAK,CAACe,aAAa,CAClCC,QAAQ,CAAEhB,KAAK,CAACgB,QAAQ,CACxBC,UAAU,CAAEjB,KAAK,CAACiB,UAAU,CAC5BC,SAAS,CAAElB,KAAK,CAACkB,SAAS,CAC1BC,UAAU,CAAEnB,KAAK,CAACmB,UAAU,CAC5BC,YAAY,CAAEpB,KAAK,CAACoB,YAAY,CAChCC,SAAS,CAAErB,KAAK,CAACqB,SAAS,CAC1BC,YAAY,CAAEtB,KAAK,CAACsB,YAAY,CAChCC,cAAc,CAAEvB,KAAK,CAACuB,cAAc,CACpCC,WAAW,CAAExB,KAAK,CAACwB,WAAW,CAC9BC,SAAS,CAAEzB,KAAK,CAACyB,SAAS,CAC1BC,UAAU,CAAE1B,KAAK,CAAC0B,UAAU,CAC5BC,KAAK,CAAE3B,KAAK,CAAC2B,KAAK,CAGlBC,IAAI,CAAE5B,KAAK,CAAC4B,IAAI,CAChBC,UAAU,CAAE7B,KAAK,CAAC6B,UAAU,CAC5BC,OAAO,CAAE9B,KAAK,CAAC8B,OAAO,CACtBC,YAAY,CAAE/B,KAAK,CAAC+B,YAAY,CAChCC,UAAU,CAAEhC,KAAK,CAACgC,UAAU,CAC5BC,eAAe,CAAEjC,KAAK,CAACiC,eAAe,CACtCC,aAAa,CAAElC,KAAK,CAACkC,aAAa,CAClCC,QAAQ,CAAEnC,KAAK,CAACmC,QAAQ,CACxBC,YAAY,CAAEpC,KAAK,CAACoC,YAAY,CAChCC,YAAY,CAAErC,KAAK,CAACqC,YAAY,CAChCC,eAAe,CAAEtC,KAAK,CAACsC,eAAe,CACtCC,YAAY,CAAEvC,KAAK,CAACuC,YAAY,CAChCC,iBAAiB,CAAExC,KAAK,CAACwC,iBAAiB,CAC1CC,mBAAmB,CAAEzC,KAAK,CAACyC,mBAAmB,CAC9CC,gBAAgB,CAAE1C,KAAK,CAAC0C,gBAAgB,CAGxCC,OAAO,CAAE3C,KAAK,CAAC2C,OAAO,CACtBC,UAAU,CAAE5C,KAAK,CAAC4C,UAAU,CAC5BC,aAAa,CAAE7C,KAAK,CAAC6C,aAAa,CAClCC,YAAY,CAAE9C,KAAK,CAAC8C,YAAY,CAChCC,WAAW,CAAE/C,KAAK,CAAC+C,WAAW,CAC9BC,QAAQ,CAAEhD,KAAK,CAACgD,QAAQ,CACxBC,QAAQ,CAAEjD,KAAK,CAACiD,QAAQ,CACxBC,MAAM,CAAElD,KAAK,CAACkD,MAAM,CACpBC,YAAY,CAAEnD,KAAK,CAACmD,YAAY,CAChCC,SAAS,CAAEpD,KAAK,CAACoD,SAAS,CAC1BC,WAAW,CAAErD,KAAK,CAACqD,WAAW,CAC9BC,UAAU,CAAEtD,KAAK,CAACsD,UAAU,CAC5BC,OAAO,CAAEvD,KAAK,CAACuD,OAAO,CACtBC,OAAO,CAAExD,KAAK,CAACwD,OAAO,CACtBC,GAAG,CAAEzD,KAAK,CAACyD,GAAG,CACdC,MAAM,CAAE1D,KAAK,CAAC0D,MAAM,CACpBC,SAAS,CAAE3D,KAAK,CAAC2D,SAAS,CAG1BC,QAAQ,CAAE5D,KAAK,CAAC4D,QAAQ,CACxBC,MAAM,CAAE7D,KAAK,CAAC6D,MAAM,CACpBC,GAAG,CAAE9D,KAAK,CAAC8D,GAAG,CACdC,KAAK,CAAE/D,KAAK,CAAC+D,KAAK,CAClBC,MAAM,CAAEhE,KAAK,CAACgE,MAAM,CACpBC,IAAI,CAAEjE,KAAK,CAACiE,IAAI,CAGhBnE,eAAe,CAAEE,KAAK,CAACF,eAAe,CACtCoE,eAAe,CAAElE,KAAK,CAACkE,eAAe,CACtCC,cAAc,CAAEnE,KAAK,CAACmE,cAAc,CACpCC,kBAAkB,CAAEpE,KAAK,CAACoE,kBAAkB,CAC5CC,gBAAgB,CAAErE,KAAK,CAACqE,gBAAgB,CACxCC,gBAAgB,CAAEtE,KAAK,CAACsE,gBAAgB,CACxCC,SAAS,CAAEvE,KAAK,CAACuE,SAAS,CAC1BC,OAAO,CAAExE,KAAK,CAACwE,OAAO,CACtBC,UAAU,CAAEzE,KAAK,CAACyE,UAAU,CAG5BC,WAAW,CAAE1E,KAAK,CAAC0E,WAAW,CAC9BC,WAAW,CAAE3E,KAAK,CAAC2E,WAAW,CAC9BC,WAAW,CAAE5E,KAAK,CAAC4E,WAAW,CAC9BC,cAAc,CAAE7E,KAAK,CAAC6E,cAAc,CACpCC,cAAc,CAAE9E,KAAK,CAAC8E,cAAc,CACpCC,cAAc,CAAE/E,KAAK,CAAC+E,cAAc,CACpCC,gBAAgB,CAAEhF,KAAK,CAACgF,gBAAgB,CACxCC,gBAAgB,CAAEjF,KAAK,CAACiF,gBAAgB,CACxCC,gBAAgB,CAAElF,KAAK,CAACkF,gBAAgB,CACxCC,iBAAiB,CAAEnF,KAAK,CAACmF,iBAAiB,CAC1CC,iBAAiB,CAAEpF,KAAK,CAACoF,iBAAiB,CAC1CC,iBAAiB,CAAErF,KAAK,CAACqF,iBAAiB,CAC1CC,eAAe,CAAEtF,KAAK,CAACsF,eAAe,CACtCC,eAAe,CAAEvF,KAAK,CAACuF,eAAe,CACtCC,eAAe,CAAExF,KAAK,CAACwF,eAAe,CACtCC,YAAY,CAAEzF,KAAK,CAACyF,YAAY,CAChCC,mBAAmB,CAAE1F,KAAK,CAAC0F,mBAAmB,CAC9CC,oBAAoB,CAAE3F,KAAK,CAAC2F,oBAAoB,CAChDC,uBAAuB,CAAE5F,KAAK,CAAC4F,uBAAuB,CACtDC,sBAAsB,CAAE7F,KAAK,CAAC6F,sBAAsB,CAGpDC,SAAS,CAAE9F,KAAK,CAAC8F,SAAS,CAC1BC,eAAe,CAAE/F,KAAK,CAAC+F,eAAe,CACtCC,QAAQ,CAAEhG,KAAK,CAACgG,QAAQ,CAGxBC,YAAY,CAAEjG,KAAK,CAACiG,YAAY,CAChCC,YAAY,CAAElG,KAAK,CAACkG,YAAY,CAChCC,WAAW,CAAEnG,KAAK,CAACmG,WAAW,CAC9BC,QAAQ,CAAEpG,KAAK,CAACoG,QAAQ,CAGxBC,SAAS,CAAErG,KAAK,CAACqG,SAAS,CAC1BC,WAAW,CAAEtG,KAAK,CAACsG,WAAW,CAC9BC,SAAS,CAAEvG,KAAK,CAACuG,SAAS,CAC1BC,WAAW,CAAExG,KAAK,CAACwG,WAAW,CAC9BC,WAAW,CAAEzG,KAAK,CAACyG,WAAW,CAC9BC,UAAU,CAAE1G,KAAK,CAAC0G,UAAU,CAC5BC,MAAM,CAAE3G,KAAK,CAAC2G,MAAM,CAEpBC,aAAa,CAAE5G,KAAK,CAAC4G,aAAa,CAClCC,QAAQ,CAAE7G,KAAK,CAAC6G,QAAQ,CACxBC,QAAQ,CAAE9G,KAAK,CAAC8G,QAAQ,CACxBC,EAAE,CAAEC,aAAa,EAAE,CAAGC,SAAS,CAAGjH,KAAK,CAAC+G,EAC1C,CAAC,CACH,EAqCA,IAAMG,IAA0D,CAAG,SAA7DA,IAA0DA,CAAIlH,KAAK,CAAEmH,GAAG,CAAK,CACjFC,cAAK,CAACC,SAAS,CAAC,UAAM,CACpB,GAAIjI,OAAO,CAAE,CACXK,sBAAsB,CAACO,KAAK,CAACF,eAAe,CAAC,CAC/C,CACF,CAAC,CAAE,CAACE,KAAK,CAACF,eAAe,CAAC,CAAC,CAE3BsH,cAAK,CAACC,SAAS,CAAC,UAAM,CACpB,GAAIjI,OAAO,CAAE,CACX,GAAIY,KAAK,CAAC+G,EAAE,CAAE,CACZ,GAAIC,aAAa,EAAE,CAAE,CACnB1H,eAAe,CAAC,CACdC,OAAO,CAAE,4CAA4C,CACrDC,UAAU,CAAE,KACd,CAAC,CAAC,CACJ,CAEA,GAAI,CAAC8H,gBAAgB,CAACC,QAAQ,CAACvH,KAAK,CAAC+G,EAAE,CAAC,CAAE,CACxCzH,eAAe,CAAC,CACdC,OAAO,CAAE,CAAA,4BAAA,EAA+BS,KAAK,CAAC+G,EAAE,CAAA,OAAA,EAAUO,gBAAgB,CAACE,IAAI,CAC7E,IACF,CAAC,CAAA,iBAAA,CAAmB,CACpBhI,UAAU,CAAE,KACd,CAAC,CAAC,CACJ,CACF,CACF,CACF,CAAC,CAAE,CAACQ,KAAK,CAAC+G,EAAE,CAAC,CAAC,CAEd,OACEU,GAAA,CAACC,OAAO,CAAA/H,MAAA,CAAAgI,MAAA,CAAA,CAENR,GAAG,CAAEA,GAAW,CAChBS,EAAE,CAAE5H,KAAK,CAAC4H,EAAG,CACTC,CAAAA,aAAa,CAAC,CAAEC,IAAI,CAAEC,aAAa,CAACC,GAAG,CAAEC,MAAM,CAAEjI,KAAK,CAACiI,MAAO,CAAC,CAAC,CAChElI,YAAY,CAACC,KAAK,CAAC,CACnBkI,sBAAsB,CAAClI,KAAK,CAAC,CAClC,CAAC,CAEN,CAAC,CAEK,IAAAgI,GAAG,CAAGG,wBAAwB,CAACf,cAAK,CAACgB,UAAU,CAAClB,IAAI,CAAC,CAAE,CAC3DmB,WAAW,CAAE,KAAK,CAClBC,WAAW,CAAE,KACf,CAAC;;;;"}
|
|
1
|
+
{"version":3,"file":"Box.js","sources":["../../../../../src/components/Box/Box.tsx"],"sourcesContent":["import React from 'react';\nimport BaseBox from './BaseBox';\nimport type { BoxProps, BoxRefType, MakeValueResponsive } from './BaseBox/types';\nimport { validBoxAsValues } from './BaseBox/types/propsTypes';\nimport type { KeysRequired } from '~utils/types';\nimport { isReactNative } from '~utils';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { throwBladeError } from '~utils/logger';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\n\nconst validateBackgroundString = (stringBackgroundColorValue: string): void => {\n if (__DEV__) {\n if (\n !stringBackgroundColorValue.startsWith('surface.background') &&\n !stringBackgroundColorValue.startsWith('overlay.') &&\n !stringBackgroundColorValue.startsWith('feedback.background') &&\n stringBackgroundColorValue !== 'transparent'\n ) {\n throwBladeError({\n message: `Oops! Currently you can only use \\`transparent\\`, \\`surface.background.*\\`, and \\`overlay.*\\` tokens with backgroundColor property but we received \\`${stringBackgroundColorValue}\\` instead.\\n\\n Do you have a usecase of using other values? Create an issue on https://github.com/razorpay/blade repo to let us know and we can discuss ✨`,\n moduleName: 'Box',\n });\n }\n }\n};\n\nconst validateBackgroundProp = (\n responsiveBackgroundColor: MakeValueResponsive<string | undefined>,\n): void => {\n if (__DEV__) {\n if (responsiveBackgroundColor) {\n if (typeof responsiveBackgroundColor === 'string') {\n validateBackgroundString(responsiveBackgroundColor);\n return;\n }\n\n Object.values(responsiveBackgroundColor).forEach((backgroundColor) => {\n if (typeof backgroundColor === 'string') {\n validateBackgroundString(backgroundColor);\n }\n });\n }\n }\n};\n\n/**\n * This function is to filter out any unexpected props passed by the user\n */\nconst makeBoxProps = (\n props: BoxProps,\n): KeysRequired<Omit<BoxProps, 'testID' | 'id' | '__brand__'>> => {\n return {\n // Layout\n display: props.display,\n overflow: props.overflow,\n overflowX: props.overflowX,\n overflowY: props.overflowY,\n whiteSpace: props.whiteSpace,\n height: props.height,\n minHeight: props.minHeight,\n maxHeight: props.maxHeight,\n width: props.width,\n minWidth: props.minWidth,\n maxWidth: props.maxWidth,\n textAlign: props.textAlign,\n\n // Flex\n flex: props.flex,\n flexWrap: props.flexWrap,\n flexDirection: props.flexDirection,\n flexGrow: props.flexGrow,\n flexShrink: props.flexShrink,\n flexBasis: props.flexBasis,\n alignItems: props.alignItems,\n alignContent: props.alignContent,\n alignSelf: props.alignSelf,\n justifyItems: props.justifyItems,\n justifyContent: props.justifyContent,\n justifySelf: props.justifySelf,\n placeSelf: props.placeSelf,\n placeItems: props.placeItems,\n order: props.order,\n\n // Grid\n grid: props.grid,\n gridColumn: props.gridColumn,\n gridRow: props.gridRow,\n gridRowStart: props.gridRowStart,\n gridRowEnd: props.gridRowEnd,\n gridColumnStart: props.gridColumnStart,\n gridColumnEnd: props.gridColumnEnd,\n gridArea: props.gridArea,\n gridAutoFlow: props.gridAutoFlow,\n gridAutoRows: props.gridAutoRows,\n gridAutoColumns: props.gridAutoColumns,\n gridTemplate: props.gridTemplate,\n gridTemplateAreas: props.gridTemplateAreas,\n gridTemplateColumns: props.gridTemplateColumns,\n gridTemplateRows: props.gridTemplateRows,\n\n // Spacing\n padding: props.padding,\n paddingTop: props.paddingTop,\n paddingBottom: props.paddingBottom,\n paddingRight: props.paddingRight,\n paddingLeft: props.paddingLeft,\n paddingX: props.paddingX,\n paddingY: props.paddingY,\n margin: props.margin,\n marginBottom: props.marginBottom,\n marginTop: props.marginTop,\n marginRight: props.marginRight,\n marginLeft: props.marginLeft,\n marginX: props.marginX,\n marginY: props.marginY,\n gap: props.gap,\n rowGap: props.rowGap,\n columnGap: props.columnGap,\n\n // Position\n position: props.position,\n zIndex: props.zIndex,\n top: props.top,\n right: props.right,\n bottom: props.bottom,\n left: props.left,\n\n // Visual\n backgroundColor: props.backgroundColor,\n backgroundImage: props.backgroundImage,\n backgroundSize: props.backgroundSize,\n backgroundPosition: props.backgroundPosition,\n backgroundOrigin: props.backgroundOrigin,\n backgroundRepeat: props.backgroundRepeat,\n elevation: props.elevation,\n opacity: props.opacity,\n visibility: props.visibility,\n backdropFilter: props.backdropFilter,\n\n // Border\n borderWidth: props.borderWidth,\n borderColor: props.borderColor,\n borderStyle: props.borderStyle,\n borderTopWidth: props.borderTopWidth,\n borderTopColor: props.borderTopColor,\n borderTopStyle: props.borderTopStyle,\n borderRightWidth: props.borderRightWidth,\n borderRightColor: props.borderRightColor,\n borderRightStyle: props.borderRightStyle,\n borderBottomWidth: props.borderBottomWidth,\n borderBottomColor: props.borderBottomColor,\n borderBottomStyle: props.borderBottomStyle,\n borderLeftWidth: props.borderLeftWidth,\n borderLeftColor: props.borderLeftColor,\n borderLeftStyle: props.borderLeftStyle,\n borderRadius: props.borderRadius,\n borderTopLeftRadius: props.borderTopLeftRadius,\n borderTopRightRadius: props.borderTopRightRadius,\n borderBottomRightRadius: props.borderBottomRightRadius,\n borderBottomLeftRadius: props.borderBottomLeftRadius,\n\n // Polygon Support\n transform: props.transform,\n transformOrigin: props.transformOrigin,\n clipPath: props.clipPath,\n\n // Animation\n transition: props.transition,\n\n // callbacks\n onMouseEnter: props.onMouseEnter,\n onMouseLeave: props.onMouseLeave,\n onMouseOver: props.onMouseOver,\n onScroll: props.onScroll,\n\n // Drag and Drop\n draggable: props.draggable,\n onDragStart: props.onDragStart,\n onDragEnd: props.onDragEnd,\n onDragEnter: props.onDragEnter,\n onDragLeave: props.onDragLeave,\n onDragOver: props.onDragOver,\n onDrop: props.onDrop,\n\n pointerEvents: props.pointerEvents,\n children: props.children,\n tabIndex: props.tabIndex,\n as: isReactNative() ? undefined : props.as, // as is not supported on react-native\n };\n};\n\n/**\n * ## Box\n * \n * Box is the basic Layout component.\n *\n *\n * Box components supports most spacing CSS properties like `display`, `padding*`, `flex*`, `height`, `width`, etc.\n *\n * Check out {@linkcode BoxProps BoxPropsType} for complete list of props and [Layout RFC](https://github.com/razorpay/blade/blob/master/rfcs/2023-01-06-layout.md) for more details on API decision.\n * \n * ----\n * \n * ### Usage\n * \n * ```jsx\n * <Box display=\"flex\">\n * ```\n\n * #### Responsive Props\n *\n * ```jsx\n * <Box padding={{ base: 'spacing.3', m: 'spacing.10' }} />\n * ```\n * \n * #### Margin and Padding Shorthands\n * \n * ```jsx\n * <Box padding={[\"spacing.3\", \"spacing.10\"]} />\n * ```\n *\n * ---\n * \n * Checkout {@link https://blade.razorpay.com/?path=/docs/components-box Box Documentation}\n * \n */\nconst _Box: React.ForwardRefRenderFunction<BoxRefType, BoxProps> = (props, ref) => {\n React.useEffect(() => {\n if (__DEV__) {\n validateBackgroundProp(props.backgroundColor);\n }\n }, [props.backgroundColor]);\n\n React.useEffect(() => {\n if (__DEV__) {\n if (props.as) {\n if (isReactNative()) {\n throwBladeError({\n message: '`as` prop is not supported on React Native',\n moduleName: 'Box',\n });\n }\n\n if (!validBoxAsValues.includes(props.as)) {\n throwBladeError({\n message: `Invalid \\`as\\` prop value - ${props.as}. Only ${validBoxAsValues.join(\n ', ',\n )} are valid values`,\n moduleName: 'Box',\n });\n }\n }\n }\n }, [props.as]);\n\n return (\n <BaseBox\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ref={ref as any}\n id={props.id}\n {...metaAttribute({ name: MetaConstants.Box, testID: props.testID })}\n {...makeBoxProps(props)}\n {...makeAnalyticsAttribute(props)}\n />\n );\n};\n\nconst Box = assignWithoutSideEffects(React.forwardRef(_Box), {\n displayName: 'Box',\n componentId: 'Box',\n});\n\nexport { Box, makeBoxProps };\n"],"names":["validateBackgroundString","stringBackgroundColorValue","__DEV__","startsWith","throwBladeError","message","moduleName","validateBackgroundProp","responsiveBackgroundColor","Object","values","forEach","backgroundColor","makeBoxProps","props","display","overflow","overflowX","overflowY","whiteSpace","height","minHeight","maxHeight","width","minWidth","maxWidth","textAlign","flex","flexWrap","flexDirection","flexGrow","flexShrink","flexBasis","alignItems","alignContent","alignSelf","justifyItems","justifyContent","justifySelf","placeSelf","placeItems","order","grid","gridColumn","gridRow","gridRowStart","gridRowEnd","gridColumnStart","gridColumnEnd","gridArea","gridAutoFlow","gridAutoRows","gridAutoColumns","gridTemplate","gridTemplateAreas","gridTemplateColumns","gridTemplateRows","padding","paddingTop","paddingBottom","paddingRight","paddingLeft","paddingX","paddingY","margin","marginBottom","marginTop","marginRight","marginLeft","marginX","marginY","gap","rowGap","columnGap","position","zIndex","top","right","bottom","left","backgroundImage","backgroundSize","backgroundPosition","backgroundOrigin","backgroundRepeat","elevation","opacity","visibility","backdropFilter","borderWidth","borderColor","borderStyle","borderTopWidth","borderTopColor","borderTopStyle","borderRightWidth","borderRightColor","borderRightStyle","borderBottomWidth","borderBottomColor","borderBottomStyle","borderLeftWidth","borderLeftColor","borderLeftStyle","borderRadius","borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius","transform","transformOrigin","clipPath","transition","onMouseEnter","onMouseLeave","onMouseOver","onScroll","draggable","onDragStart","onDragEnd","onDragEnter","onDragLeave","onDragOver","onDrop","pointerEvents","children","tabIndex","as","isReactNative","undefined","_Box","ref","React","useEffect","validBoxAsValues","includes","join","_jsx","BaseBox","assign","id","metaAttribute","name","MetaConstants","Box","testID","makeAnalyticsAttribute","assignWithoutSideEffects","forwardRef","displayName","componentId"],"mappings":"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"}
|
|
@@ -193,12 +193,16 @@ var getAllProps = function getAllProps(props, breakpoint) {
|
|
|
193
193
|
opacity: getResponsiveValue(props.opacity, breakpoint),
|
|
194
194
|
visibility: getResponsiveValue(props.visibility, breakpoint)
|
|
195
195
|
}, !isReactNative() && {
|
|
196
|
-
boxShadow: getElevationValue(props.elevation, props.theme, breakpoint)
|
|
196
|
+
boxShadow: getElevationValue(props.elevation, props.theme, breakpoint),
|
|
197
|
+
backdropFilter: getResponsiveValue(props.backdropFilter, breakpoint),
|
|
198
|
+
transition: getResponsiveValue(props.transition, breakpoint)
|
|
197
199
|
}), {}, {
|
|
198
200
|
// Polygon support
|
|
199
201
|
transform: getResponsiveValue(props.transform, breakpoint),
|
|
200
202
|
transformOrigin: getResponsiveValue(props.transformOrigin, breakpoint),
|
|
201
203
|
clipPath: getResponsiveValue(props.clipPath, breakpoint)
|
|
204
|
+
|
|
205
|
+
// Animation
|
|
202
206
|
});
|
|
203
207
|
};
|
|
204
208
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"baseBoxStyles.js","sources":["../../../../../../../src/components/Box/BaseBox/baseBoxStyles.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/prefer-ts-expect-error */\n/* eslint-disable @typescript-eslint/no-unnecessary-type-assertion */\nimport type { CSSObject } from 'styled-components';\nimport type {\n BaseBoxProps,\n MakeValueResponsive,\n SpacingValueType,\n ArrayOfMaxLength4,\n} from './types';\nimport { getResponsiveValue } from './getResponsiveValue';\nimport getIn from '~utils/lodashButBetter/get';\nimport isEmpty from '~utils/lodashButBetter/isEmpty';\nimport type { Breakpoints } from '~tokens/global';\nimport { breakpoints } from '~tokens/global';\nimport { isReactNative, getMediaQuery } from '~utils';\nimport type { Theme } from '~components/BladeProvider';\nimport { makeSpace } from '~utils/makeSpace';\nimport { makeBorderSize } from '~utils/makeBorderSize';\nimport type { DotNotationSpacingStringToken } from '~utils/types';\n\nconst isSpacingToken = (value: string): value is DotNotationSpacingStringToken => {\n return typeof value === 'string' && value.startsWith('spacing.');\n};\n\nconst getSpacingValue = (\n spacingValue:\n | MakeValueResponsive<SpacingValueType | ArrayOfMaxLength4<SpacingValueType>>\n | undefined,\n theme: Theme,\n breakpoint?: keyof Breakpoints,\n): string | undefined => {\n if (isEmpty(spacingValue)) {\n return undefined;\n }\n\n const responsiveSpacingValue = getResponsiveValue(\n spacingValue as MakeValueResponsive<SpacingValueType | SpacingValueType[]>,\n breakpoint,\n );\n\n if (isEmpty(responsiveSpacingValue)) {\n return undefined;\n }\n\n if (responsiveSpacingValue === 'auto') {\n return responsiveSpacingValue;\n }\n\n if (Array.isArray(responsiveSpacingValue)) {\n return responsiveSpacingValue.map((value) => getSpacingValue(value, theme)).join(' ');\n }\n\n if (isSpacingToken(responsiveSpacingValue)) {\n const spacingReturnValue = getIn(theme, responsiveSpacingValue);\n return isEmpty(spacingReturnValue) ? makeSpace(spacingReturnValue!) : undefined;\n }\n\n // pixel or with unit values\n return responsiveSpacingValue;\n};\n\nconst getColorValue = (\n color: BaseBoxProps['backgroundColor'] | BaseBoxProps['borderColor'],\n theme: Theme,\n breakpoint?: keyof Breakpoints,\n): string => {\n const responsiveBackgroundValue = getResponsiveValue(color, breakpoint);\n // @ts-expect-error: We always return any from getResponsiveValue so value can't be inferred here\n const tokenValue = getIn(theme, `colors.${responsiveBackgroundValue}`);\n return tokenValue ?? responsiveBackgroundValue;\n};\n\nconst getBorderRadiusValue = (\n borderRadius: BaseBoxProps['borderRadius'],\n theme: Theme,\n breakpoint?: keyof Breakpoints,\n): string | undefined => {\n const responsiveBorderRadiusValue = getResponsiveValue(borderRadius, breakpoint);\n return isEmpty(responsiveBorderRadiusValue)\n ? undefined\n : // @ts-ignore: intentionally set to any since figuring out types of responsive props is complex\n makeBorderSize(getIn(theme, `border.radius.${responsiveBorderRadiusValue}`));\n};\n\nconst getBorderWidthValue = (\n borderWidth: BaseBoxProps['borderWidth'],\n theme: Theme,\n breakpoint?: keyof Breakpoints,\n): string | undefined => {\n const responsiveBorderWidthValue = getResponsiveValue(borderWidth, breakpoint);\n return isEmpty(responsiveBorderWidthValue)\n ? undefined\n : // @ts-ignore: intentionally set to any since figuring out types of responsive props is complex\n makeBorderSize(getIn(theme, `border.width.${responsiveBorderWidthValue}`));\n};\n\nexport const getElevationValue = (\n elevation: BaseBoxProps['elevation'],\n theme: Theme,\n breakpoint?: keyof Breakpoints,\n): string | undefined => {\n const responsiveElevationValue = getResponsiveValue(elevation, breakpoint);\n return isEmpty(responsiveElevationValue)\n ? undefined\n : // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\n // @ts-ignore: intentionally set to any since figuring out types of responsive props is complex\n getIn(theme, `elevation.${responsiveElevationValue!}`);\n};\n\ntype GetBorderStyleValueReturnType =\n | CSSObject['borderStyle']\n | CSSObject['borderTopStyle']\n | CSSObject['borderBottomStyle']\n | CSSObject['borderLeftStyle']\n | CSSObject['borderRightStyle'];\nconst getBorderStyleValue = (\n borderStyle: BaseBoxProps['borderStyle'],\n breakpoint?: keyof Breakpoints,\n hasBorder?: boolean,\n // Using any as return type because borderStyle's type is incompatible with borderBottomStyle. There are ways to fix it but anyway since its internal function. Taking an easy way out\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n): GetBorderStyleValueReturnType => {\n if (borderStyle) {\n return getResponsiveValue(borderStyle, breakpoint);\n }\n\n if (hasBorder) {\n return 'solid';\n }\n\n return undefined;\n};\n\nconst getAllProps = (\n props: BaseBoxProps & { theme: Theme },\n breakpoint?: keyof Breakpoints,\n): CSSObject => {\n const hasBorder = props.borderWidth || props.borderColor;\n const hasBorderRight = props.borderRight || props.borderRightColor || props.borderRightWidth;\n const hasBorderLeft = props.borderLeft || props.borderLeftColor || props.borderLeftWidth;\n const hasBorderTop = props.borderTop || props.borderTopColor || props.borderTopWidth;\n const hasBorderBottom = props.borderBottom || props.borderBottomColor || props.borderBottomWidth;\n\n return {\n display: getResponsiveValue(props.display, breakpoint),\n overflow: getResponsiveValue(props.overflow, breakpoint),\n overflowX: getResponsiveValue(props.overflowX, breakpoint),\n overflowY: getResponsiveValue(props.overflowY, breakpoint),\n textAlign: getResponsiveValue(props.textAlign, breakpoint),\n whiteSpace: getResponsiveValue(props.whiteSpace, breakpoint),\n\n // Flex\n flex: getResponsiveValue(props.flex, breakpoint),\n flexWrap: getResponsiveValue(props.flexWrap, breakpoint),\n flexDirection: getResponsiveValue(props.flexDirection, breakpoint),\n flexGrow: getResponsiveValue(props.flexGrow, breakpoint),\n flexShrink: getResponsiveValue(props.flexShrink, breakpoint),\n flexBasis: getResponsiveValue(props.flexBasis, breakpoint),\n alignItems: getResponsiveValue(props.alignItems, breakpoint),\n alignContent: getResponsiveValue(props.alignContent, breakpoint),\n alignSelf: getResponsiveValue(props.alignSelf, breakpoint),\n justifyItems: getResponsiveValue(props.justifyItems, breakpoint),\n justifyContent: getResponsiveValue(props.justifyContent, breakpoint),\n justifySelf: getResponsiveValue(props.justifySelf, breakpoint),\n placeSelf: getResponsiveValue(props.placeSelf, breakpoint),\n placeItems: getResponsiveValue(props.placeItems, breakpoint),\n order: getResponsiveValue(props.order, breakpoint),\n position: getResponsiveValue(props.position, breakpoint),\n zIndex: getResponsiveValue(props.zIndex, breakpoint),\n\n // Grid\n grid: getResponsiveValue(props.grid, breakpoint),\n gridColumn: getResponsiveValue(props.gridColumn, breakpoint),\n gridRow: getResponsiveValue(props.gridRow, breakpoint),\n gridRowStart: getResponsiveValue(props.gridRowStart, breakpoint),\n gridRowEnd: getResponsiveValue(props.gridRowEnd, breakpoint),\n gridArea: getResponsiveValue(props.gridArea, breakpoint),\n gridAutoFlow: getResponsiveValue(props.gridAutoFlow, breakpoint),\n gridAutoRows: getResponsiveValue(props.gridAutoRows, breakpoint),\n gridAutoColumns: getResponsiveValue(props.gridAutoColumns, breakpoint),\n gridTemplate: getResponsiveValue(props.gridTemplate, breakpoint),\n gridTemplateAreas: getResponsiveValue(props.gridTemplateAreas, breakpoint),\n gridTemplateColumns: getResponsiveValue(props.gridTemplateColumns, breakpoint),\n gridTemplateRows: getResponsiveValue(props.gridTemplateRows, breakpoint),\n\n // Spacing Props\n padding: getSpacingValue(props.padding, props.theme, breakpoint),\n paddingTop: getSpacingValue(props.paddingTop ?? props.paddingY, props.theme, breakpoint),\n paddingBottom: getSpacingValue(props.paddingBottom ?? props.paddingY, props.theme, breakpoint),\n paddingRight: getSpacingValue(props.paddingRight ?? props.paddingX, props.theme, breakpoint),\n paddingLeft: getSpacingValue(props.paddingLeft ?? props.paddingX, props.theme, breakpoint),\n margin: getSpacingValue(props.margin, props.theme, breakpoint),\n marginBottom: getSpacingValue(props.marginBottom ?? props.marginY, props.theme, breakpoint),\n marginTop: getSpacingValue(props.marginTop ?? props.marginY, props.theme, breakpoint),\n marginRight: getSpacingValue(props.marginRight ?? props.marginX, props.theme, breakpoint),\n marginLeft: getSpacingValue(props.marginLeft ?? props.marginX, props.theme, breakpoint),\n height: getSpacingValue(props.height, props.theme, breakpoint),\n minHeight: getSpacingValue(props.minHeight, props.theme, breakpoint),\n maxHeight: getSpacingValue(props.maxHeight, props.theme, breakpoint),\n width: getSpacingValue(props.width, props.theme, breakpoint),\n minWidth: getSpacingValue(props.minWidth, props.theme, breakpoint),\n maxWidth: getSpacingValue(props.maxWidth, props.theme, breakpoint),\n gap: getSpacingValue(props.gap, props.theme, breakpoint),\n rowGap: getSpacingValue(props.rowGap, props.theme, breakpoint),\n columnGap: getSpacingValue(props.columnGap, props.theme, breakpoint),\n top: getSpacingValue(props.top, props.theme, breakpoint),\n right: getSpacingValue(props.right, props.theme, breakpoint),\n bottom: getSpacingValue(props.bottom, props.theme, breakpoint),\n left: getSpacingValue(props.left, props.theme, breakpoint),\n\n // Visual props\n backgroundColor: getColorValue(props.backgroundColor, props.theme, breakpoint),\n backgroundImage: getResponsiveValue(props.backgroundImage, breakpoint),\n backgroundSize: getResponsiveValue(props.backgroundSize, breakpoint),\n backgroundPosition: getResponsiveValue(props.backgroundPosition, breakpoint),\n backgroundOrigin: getResponsiveValue(props.backgroundOrigin, breakpoint),\n backgroundRepeat: getResponsiveValue(props.backgroundRepeat, breakpoint),\n borderRadius: getBorderRadiusValue(props.borderRadius, props.theme, breakpoint),\n lineHeight: getSpacingValue(props.lineHeight, props.theme, breakpoint),\n border: getResponsiveValue(props.border, breakpoint),\n borderTop: getResponsiveValue(props.borderTop, breakpoint),\n borderRight: getResponsiveValue(props.borderRight, breakpoint),\n borderBottom: getResponsiveValue(props.borderBottom, breakpoint),\n borderLeft: getResponsiveValue(props.borderLeft, breakpoint),\n borderWidth: getBorderWidthValue(props.borderWidth, props.theme, breakpoint),\n borderColor: getColorValue(props.borderColor, props.theme, breakpoint),\n borderTopWidth: getBorderWidthValue(props.borderTopWidth, props.theme, breakpoint),\n borderTopColor: getColorValue(props.borderTopColor, props.theme, breakpoint),\n borderRightWidth: getBorderWidthValue(props.borderRightWidth, props.theme, breakpoint),\n borderRightColor: getColorValue(props.borderRightColor, props.theme, breakpoint),\n borderBottomWidth: getBorderWidthValue(props.borderBottomWidth, props.theme, breakpoint),\n borderBottomColor: getColorValue(props.borderBottomColor, props.theme, breakpoint),\n borderLeftWidth: getBorderWidthValue(props.borderLeftWidth, props.theme, breakpoint),\n borderLeftColor: getColorValue(props.borderLeftColor, props.theme, breakpoint),\n borderTopLeftRadius: getBorderRadiusValue(props.borderTopLeftRadius, props.theme, breakpoint),\n borderTopRightRadius: getBorderRadiusValue(props.borderTopRightRadius, props.theme, breakpoint),\n borderBottomRightRadius: getBorderRadiusValue(\n props.borderBottomRightRadius,\n props.theme,\n breakpoint,\n ),\n borderBottomLeftRadius: getBorderRadiusValue(\n props.borderBottomLeftRadius,\n props.theme,\n breakpoint,\n ),\n borderStyle: getBorderStyleValue(\n props.borderStyle,\n breakpoint,\n Boolean(hasBorder),\n ) as CSSObject['borderStyle'],\n cursor: getResponsiveValue(props.cursor, breakpoint),\n // Since we only allow 'solid', we can use the same value for all borders if hasBorder is true\n // If hasBorder is false, we need to check each border individually\n ...(!hasBorder && {\n borderTopStyle: getBorderStyleValue(\n props.borderTopStyle,\n breakpoint,\n Boolean(hasBorderTop),\n ) as CSSObject['borderTopStyle'],\n borderBottomStyle: getBorderStyleValue(\n props.borderBottomStyle,\n breakpoint,\n Boolean(hasBorderBottom),\n ) as CSSObject['borderBottomStyle'],\n borderLeftStyle: getBorderStyleValue(\n props.borderLeftStyle,\n breakpoint,\n Boolean(hasBorderLeft),\n ) as CSSObject['borderLeftStyle'],\n borderRightStyle: getBorderStyleValue(\n props.borderRightStyle,\n breakpoint,\n Boolean(hasBorderRight),\n ) as CSSObject['borderRightStyle'],\n }),\n touchAction: getResponsiveValue(props.touchAction, breakpoint),\n userSelect: getResponsiveValue(props.userSelect, breakpoint),\n pointerEvents: getResponsiveValue(props.pointerEvents),\n opacity: getResponsiveValue(props.opacity, breakpoint),\n visibility: getResponsiveValue(props.visibility, breakpoint),\n ...(!isReactNative() && {\n boxShadow: getElevationValue(props.elevation, props.theme, breakpoint),\n }),\n\n // Polygon support\n transform: getResponsiveValue(props.transform as string, breakpoint),\n transformOrigin: getResponsiveValue(props.transformOrigin, breakpoint),\n clipPath: getResponsiveValue(props.clipPath, breakpoint),\n };\n};\n\n/** We only add breakpoint if at least one of the value is defined */\nconst shouldAddBreakpoint = (cssProps: CSSObject): boolean => {\n const firstDefinedValue = Object.values(cssProps).find(\n (cssValue) => cssValue !== undefined && cssValue !== null,\n );\n\n return firstDefinedValue !== undefined;\n};\n\nconst getAllMediaQueries = (props: BaseBoxProps & { theme: Theme }): CSSObject => {\n if (isReactNative()) {\n return {};\n }\n\n const { base, ...breakpointsWithoutBase } = breakpoints;\n\n return Object.fromEntries(\n Object.entries(breakpointsWithoutBase).map(([breakpointKey, breakpointValue]) => {\n const cssPropsForCurrentBreakpoint = getAllProps(props, breakpointKey as keyof Breakpoints);\n if (!shouldAddBreakpoint(cssPropsForCurrentBreakpoint)) {\n return [];\n }\n\n const mediaQuery = `@media ${getMediaQuery({ min: breakpointValue })}`;\n return [mediaQuery, cssPropsForCurrentBreakpoint];\n }),\n );\n};\n\nconst getBaseBoxStyles = (props: BaseBoxProps & { theme: Theme }): CSSObject => {\n return {\n ...getAllProps(props),\n ...getAllMediaQueries(props),\n };\n};\n\nexport {\n getBaseBoxStyles,\n getSpacingValue,\n getColorValue,\n getBorderRadiusValue,\n shouldAddBreakpoint,\n getAllMediaQueries,\n getAllProps,\n};\n"],"names":["isSpacingToken","value","startsWith","getSpacingValue","spacingValue","theme","breakpoint","isEmpty","undefined","responsiveSpacingValue","getResponsiveValue","Array","isArray","map","join","spacingReturnValue","getIn","makeSpace","getColorValue","color","responsiveBackgroundValue","tokenValue","concat","getBorderRadiusValue","borderRadius","responsiveBorderRadiusValue","makeBorderSize","getBorderWidthValue","borderWidth","responsiveBorderWidthValue","getElevationValue","elevation","responsiveElevationValue","getBorderStyleValue","borderStyle","hasBorder","getAllProps","props","_props$paddingTop","_props$paddingBottom","_props$paddingRight","_props$paddingLeft","_props$marginBottom","_props$marginTop","_props$marginRight","_props$marginLeft","borderColor","hasBorderRight","borderRight","borderRightColor","borderRightWidth","hasBorderLeft","borderLeft","borderLeftColor","borderLeftWidth","hasBorderTop","borderTop","borderTopColor","borderTopWidth","hasBorderBottom","borderBottom","borderBottomColor","borderBottomWidth","_objectSpread","display","overflow","overflowX","overflowY","textAlign","whiteSpace","flex","flexWrap","flexDirection","flexGrow","flexShrink","flexBasis","alignItems","alignContent","alignSelf","justifyItems","justifyContent","justifySelf","placeSelf","placeItems","order","position","zIndex","grid","gridColumn","gridRow","gridRowStart","gridRowEnd","gridArea","gridAutoFlow","gridAutoRows","gridAutoColumns","gridTemplate","gridTemplateAreas","gridTemplateColumns","gridTemplateRows","padding","paddingTop","paddingY","paddingBottom","paddingRight","paddingX","paddingLeft","margin","marginBottom","marginY","marginTop","marginRight","marginX","marginLeft","height","minHeight","maxHeight","width","minWidth","maxWidth","gap","rowGap","columnGap","top","right","bottom","left","backgroundColor","backgroundImage","backgroundSize","backgroundPosition","backgroundOrigin","backgroundRepeat","lineHeight","border","borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius","Boolean","cursor","borderTopStyle","borderBottomStyle","borderLeftStyle","borderRightStyle","touchAction","userSelect","pointerEvents","opacity","visibility","isReactNative","boxShadow","transform","transformOrigin","clipPath","shouldAddBreakpoint","cssProps","firstDefinedValue","Object","values","find","cssValue","getAllMediaQueries","base","breakpoints","breakpointsWithoutBase","_objectWithoutProperties","_excluded","fromEntries","entries","_ref","_ref2","_slicedToArray","breakpointKey","breakpointValue","cssPropsForCurrentBreakpoint","mediaQuery","getMediaQuery","min","getBaseBoxStyles"],"mappings":";;;;;;;;;;;;;;;;;;;AAoBA,IAAMA,cAAc,GAAG,SAAjBA,cAAcA,CAAIC,KAAa,EAA6C;EAChF,OAAO,OAAOA,KAAK,KAAK,QAAQ,IAAIA,KAAK,CAACC,UAAU,CAAC,UAAU,CAAC,CAAA;AAClE,CAAC,CAAA;AAEKC,IAAAA,gBAAe,GAAG,SAAlBA,eAAeA,CACnBC,YAEa,EACbC,KAAY,EACZC,UAA8B,EACP;AACvB,EAAA,IAAIC,OAAO,CAACH,YAAY,CAAC,EAAE;AACzB,IAAA,OAAOI,SAAS,CAAA;AAClB,GAAA;AAEA,EAAA,IAAMC,sBAAsB,GAAGC,kBAAkB,CAC/CN,YAAY,EACZE,UACF,CAAC,CAAA;AAED,EAAA,IAAIC,OAAO,CAACE,sBAAsB,CAAC,EAAE;AACnC,IAAA,OAAOD,SAAS,CAAA;AAClB,GAAA;EAEA,IAAIC,sBAAsB,KAAK,MAAM,EAAE;AACrC,IAAA,OAAOA,sBAAsB,CAAA;AAC/B,GAAA;AAEA,EAAA,IAAIE,KAAK,CAACC,OAAO,CAACH,sBAAsB,CAAC,EAAE;AACzC,IAAA,OAAOA,sBAAsB,CAACI,GAAG,CAAC,UAACZ,KAAK,EAAA;AAAA,MAAA,OAAKE,gBAAe,CAACF,KAAK,EAAEI,KAAK,CAAC,CAAA;AAAA,KAAA,CAAC,CAACS,IAAI,CAAC,GAAG,CAAC,CAAA;AACvF,GAAA;AAEA,EAAA,IAAId,cAAc,CAACS,sBAAsB,CAAC,EAAE;AAC1C,IAAA,IAAMM,kBAAkB,GAAGC,KAAK,CAACX,KAAK,EAAEI,sBAAsB,CAAC,CAAA;IAC/D,OAAOF,OAAO,CAACQ,kBAAkB,CAAC,GAAGE,SAAS,CAACF,kBAAmB,CAAC,GAAGP,SAAS,CAAA;AACjF,GAAA;;AAEA;AACA,EAAA,OAAOC,sBAAsB,CAAA;AAC/B,EAAC;AAEKS,IAAAA,aAAa,GAAG,SAAhBA,aAAaA,CACjBC,KAAoE,EACpEd,KAAY,EACZC,UAA8B,EACnB;AACX,EAAA,IAAMc,yBAAyB,GAAGV,kBAAkB,CAACS,KAAK,EAAEb,UAAU,CAAC,CAAA;AACvE;EACA,IAAMe,UAAU,GAAGL,KAAK,CAACX,KAAK,YAAAiB,MAAA,CAAYF,yBAAyB,CAAE,CAAC,CAAA;AACtE,EAAA,OAAOC,UAAU,KAAVA,IAAAA,IAAAA,UAAU,KAAVA,KAAAA,CAAAA,GAAAA,UAAU,GAAID,yBAAyB,CAAA;AAChD,EAAC;AAEKG,IAAAA,oBAAoB,GAAG,SAAvBA,oBAAoBA,CACxBC,YAA0C,EAC1CnB,KAAY,EACZC,UAA8B,EACP;AACvB,EAAA,IAAMmB,2BAA2B,GAAGf,kBAAkB,CAACc,YAAY,EAAElB,UAAU,CAAC,CAAA;AAChF,EAAA,OAAOC,OAAO,CAACkB,2BAA2B,CAAC,GACvCjB,SAAS;AACT;EACAkB,cAAc,CAACV,KAAK,CAACX,KAAK,EAAA,gBAAA,CAAAiB,MAAA,CAAmBG,2BAA2B,CAAE,CAAC,CAAC,CAAA;AAClF,EAAC;AAED,IAAME,mBAAmB,GAAG,SAAtBA,mBAAmBA,CACvBC,WAAwC,EACxCvB,KAAY,EACZC,UAA8B,EACP;AACvB,EAAA,IAAMuB,0BAA0B,GAAGnB,kBAAkB,CAACkB,WAAW,EAAEtB,UAAU,CAAC,CAAA;AAC9E,EAAA,OAAOC,OAAO,CAACsB,0BAA0B,CAAC,GACtCrB,SAAS;AACT;EACAkB,cAAc,CAACV,KAAK,CAACX,KAAK,EAAA,eAAA,CAAAiB,MAAA,CAAkBO,0BAA0B,CAAE,CAAC,CAAC,CAAA;AAChF,CAAC,CAAA;AAEM,IAAMC,iBAAiB,GAAG,SAApBA,iBAAiBA,CAC5BC,SAAoC,EACpC1B,KAAY,EACZC,UAA8B,EACP;AACvB,EAAA,IAAM0B,wBAAwB,GAAGtB,kBAAkB,CAACqB,SAAS,EAAEzB,UAAU,CAAC,CAAA;AAC1E,EAAA,OAAOC,OAAO,CAACyB,wBAAwB,CAAC,GACpCxB,SAAS;AACT;AACA;AACAQ,EAAAA,KAAK,CAACX,KAAK,EAAA,YAAA,CAAAiB,MAAA,CAAeU,wBAAwB,CAAG,CAAC,CAAA;AAC5D,EAAC;AAQD,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAmBA,CACvBC,WAAwC,EACxC5B,UAA8B,EAC9B6B,SAAAA;AACA;AACA;AAAA,EACkC;AAClC,EAAA,IAAID,WAAW,EAAE;AACf,IAAA,OAAOxB,kBAAkB,CAACwB,WAAW,EAAE5B,UAAU,CAAC,CAAA;AACpD,GAAA;AAEA,EAAA,IAAI6B,SAAS,EAAE;AACb,IAAA,OAAO,OAAO,CAAA;AAChB,GAAA;AAEA,EAAA,OAAO3B,SAAS,CAAA;AAClB,CAAC,CAAA;AAEK4B,IAAAA,WAAW,GAAG,SAAdA,WAAWA,CACfC,KAAsC,EACtC/B,UAA8B,EAChB;AAAA,EAAA,IAAAgC,iBAAA,EAAAC,oBAAA,EAAAC,mBAAA,EAAAC,kBAAA,EAAAC,mBAAA,EAAAC,gBAAA,EAAAC,kBAAA,EAAAC,iBAAA,CAAA;EACd,IAAMV,SAAS,GAAGE,KAAK,CAACT,WAAW,IAAIS,KAAK,CAACS,WAAW,CAAA;AACxD,EAAA,IAAMC,cAAc,GAAGV,KAAK,CAACW,WAAW,IAAIX,KAAK,CAACY,gBAAgB,IAAIZ,KAAK,CAACa,gBAAgB,CAAA;AAC5F,EAAA,IAAMC,aAAa,GAAGd,KAAK,CAACe,UAAU,IAAIf,KAAK,CAACgB,eAAe,IAAIhB,KAAK,CAACiB,eAAe,CAAA;AACxF,EAAA,IAAMC,YAAY,GAAGlB,KAAK,CAACmB,SAAS,IAAInB,KAAK,CAACoB,cAAc,IAAIpB,KAAK,CAACqB,cAAc,CAAA;AACpF,EAAA,IAAMC,eAAe,GAAGtB,KAAK,CAACuB,YAAY,IAAIvB,KAAK,CAACwB,iBAAiB,IAAIxB,KAAK,CAACyB,iBAAiB,CAAA;AAEhG,EAAA,OAAAC,aAAA,CAAAA,aAAA,CAAAA,aAAA,CAAA;IACEC,OAAO,EAAEtD,kBAAkB,CAAC2B,KAAK,CAAC2B,OAAO,EAAE1D,UAAU,CAAC;IACtD2D,QAAQ,EAAEvD,kBAAkB,CAAC2B,KAAK,CAAC4B,QAAQ,EAAE3D,UAAU,CAAC;IACxD4D,SAAS,EAAExD,kBAAkB,CAAC2B,KAAK,CAAC6B,SAAS,EAAE5D,UAAU,CAAC;IAC1D6D,SAAS,EAAEzD,kBAAkB,CAAC2B,KAAK,CAAC8B,SAAS,EAAE7D,UAAU,CAAC;IAC1D8D,SAAS,EAAE1D,kBAAkB,CAAC2B,KAAK,CAAC+B,SAAS,EAAE9D,UAAU,CAAC;IAC1D+D,UAAU,EAAE3D,kBAAkB,CAAC2B,KAAK,CAACgC,UAAU,EAAE/D,UAAU,CAAC;AAE5D;IACAgE,IAAI,EAAE5D,kBAAkB,CAAC2B,KAAK,CAACiC,IAAI,EAAEhE,UAAU,CAAC;IAChDiE,QAAQ,EAAE7D,kBAAkB,CAAC2B,KAAK,CAACkC,QAAQ,EAAEjE,UAAU,CAAC;IACxDkE,aAAa,EAAE9D,kBAAkB,CAAC2B,KAAK,CAACmC,aAAa,EAAElE,UAAU,CAAC;IAClEmE,QAAQ,EAAE/D,kBAAkB,CAAC2B,KAAK,CAACoC,QAAQ,EAAEnE,UAAU,CAAC;IACxDoE,UAAU,EAAEhE,kBAAkB,CAAC2B,KAAK,CAACqC,UAAU,EAAEpE,UAAU,CAAC;IAC5DqE,SAAS,EAAEjE,kBAAkB,CAAC2B,KAAK,CAACsC,SAAS,EAAErE,UAAU,CAAC;IAC1DsE,UAAU,EAAElE,kBAAkB,CAAC2B,KAAK,CAACuC,UAAU,EAAEtE,UAAU,CAAC;IAC5DuE,YAAY,EAAEnE,kBAAkB,CAAC2B,KAAK,CAACwC,YAAY,EAAEvE,UAAU,CAAC;IAChEwE,SAAS,EAAEpE,kBAAkB,CAAC2B,KAAK,CAACyC,SAAS,EAAExE,UAAU,CAAC;IAC1DyE,YAAY,EAAErE,kBAAkB,CAAC2B,KAAK,CAAC0C,YAAY,EAAEzE,UAAU,CAAC;IAChE0E,cAAc,EAAEtE,kBAAkB,CAAC2B,KAAK,CAAC2C,cAAc,EAAE1E,UAAU,CAAC;IACpE2E,WAAW,EAAEvE,kBAAkB,CAAC2B,KAAK,CAAC4C,WAAW,EAAE3E,UAAU,CAAC;IAC9D4E,SAAS,EAAExE,kBAAkB,CAAC2B,KAAK,CAAC6C,SAAS,EAAE5E,UAAU,CAAC;IAC1D6E,UAAU,EAAEzE,kBAAkB,CAAC2B,KAAK,CAAC8C,UAAU,EAAE7E,UAAU,CAAC;IAC5D8E,KAAK,EAAE1E,kBAAkB,CAAC2B,KAAK,CAAC+C,KAAK,EAAE9E,UAAU,CAAC;IAClD+E,QAAQ,EAAE3E,kBAAkB,CAAC2B,KAAK,CAACgD,QAAQ,EAAE/E,UAAU,CAAC;IACxDgF,MAAM,EAAE5E,kBAAkB,CAAC2B,KAAK,CAACiD,MAAM,EAAEhF,UAAU,CAAC;AAEpD;IACAiF,IAAI,EAAE7E,kBAAkB,CAAC2B,KAAK,CAACkD,IAAI,EAAEjF,UAAU,CAAC;IAChDkF,UAAU,EAAE9E,kBAAkB,CAAC2B,KAAK,CAACmD,UAAU,EAAElF,UAAU,CAAC;IAC5DmF,OAAO,EAAE/E,kBAAkB,CAAC2B,KAAK,CAACoD,OAAO,EAAEnF,UAAU,CAAC;IACtDoF,YAAY,EAAEhF,kBAAkB,CAAC2B,KAAK,CAACqD,YAAY,EAAEpF,UAAU,CAAC;IAChEqF,UAAU,EAAEjF,kBAAkB,CAAC2B,KAAK,CAACsD,UAAU,EAAErF,UAAU,CAAC;IAC5DsF,QAAQ,EAAElF,kBAAkB,CAAC2B,KAAK,CAACuD,QAAQ,EAAEtF,UAAU,CAAC;IACxDuF,YAAY,EAAEnF,kBAAkB,CAAC2B,KAAK,CAACwD,YAAY,EAAEvF,UAAU,CAAC;IAChEwF,YAAY,EAAEpF,kBAAkB,CAAC2B,KAAK,CAACyD,YAAY,EAAExF,UAAU,CAAC;IAChEyF,eAAe,EAAErF,kBAAkB,CAAC2B,KAAK,CAAC0D,eAAe,EAAEzF,UAAU,CAAC;IACtE0F,YAAY,EAAEtF,kBAAkB,CAAC2B,KAAK,CAAC2D,YAAY,EAAE1F,UAAU,CAAC;IAChE2F,iBAAiB,EAAEvF,kBAAkB,CAAC2B,KAAK,CAAC4D,iBAAiB,EAAE3F,UAAU,CAAC;IAC1E4F,mBAAmB,EAAExF,kBAAkB,CAAC2B,KAAK,CAAC6D,mBAAmB,EAAE5F,UAAU,CAAC;IAC9E6F,gBAAgB,EAAEzF,kBAAkB,CAAC2B,KAAK,CAAC8D,gBAAgB,EAAE7F,UAAU,CAAC;AAExE;AACA8F,IAAAA,OAAO,EAAEjG,gBAAe,CAACkC,KAAK,CAAC+D,OAAO,EAAE/D,KAAK,CAAChC,KAAK,EAAEC,UAAU,CAAC;IAChE+F,UAAU,EAAElG,gBAAe,CAAAmC,CAAAA,iBAAA,GAACD,KAAK,CAACgE,UAAU,MAAA,IAAA,IAAA/D,iBAAA,KAAA,KAAA,CAAA,GAAAA,iBAAA,GAAID,KAAK,CAACiE,QAAQ,EAAEjE,KAAK,CAAChC,KAAK,EAAEC,UAAU,CAAC;IACxFiG,aAAa,EAAEpG,gBAAe,CAAAoC,CAAAA,oBAAA,GAACF,KAAK,CAACkE,aAAa,MAAA,IAAA,IAAAhE,oBAAA,KAAA,KAAA,CAAA,GAAAA,oBAAA,GAAIF,KAAK,CAACiE,QAAQ,EAAEjE,KAAK,CAAChC,KAAK,EAAEC,UAAU,CAAC;IAC9FkG,YAAY,EAAErG,gBAAe,CAAAqC,CAAAA,mBAAA,GAACH,KAAK,CAACmE,YAAY,MAAA,IAAA,IAAAhE,mBAAA,KAAA,KAAA,CAAA,GAAAA,mBAAA,GAAIH,KAAK,CAACoE,QAAQ,EAAEpE,KAAK,CAAChC,KAAK,EAAEC,UAAU,CAAC;IAC5FoG,WAAW,EAAEvG,gBAAe,CAAAsC,CAAAA,kBAAA,GAACJ,KAAK,CAACqE,WAAW,MAAA,IAAA,IAAAjE,kBAAA,KAAA,KAAA,CAAA,GAAAA,kBAAA,GAAIJ,KAAK,CAACoE,QAAQ,EAAEpE,KAAK,CAAChC,KAAK,EAAEC,UAAU,CAAC;AAC1FqG,IAAAA,MAAM,EAAExG,gBAAe,CAACkC,KAAK,CAACsE,MAAM,EAAEtE,KAAK,CAAChC,KAAK,EAAEC,UAAU,CAAC;IAC9DsG,YAAY,EAAEzG,gBAAe,CAAAuC,CAAAA,mBAAA,GAACL,KAAK,CAACuE,YAAY,MAAA,IAAA,IAAAlE,mBAAA,KAAA,KAAA,CAAA,GAAAA,mBAAA,GAAIL,KAAK,CAACwE,OAAO,EAAExE,KAAK,CAAChC,KAAK,EAAEC,UAAU,CAAC;IAC3FwG,SAAS,EAAE3G,gBAAe,CAAAwC,CAAAA,gBAAA,GAACN,KAAK,CAACyE,SAAS,MAAA,IAAA,IAAAnE,gBAAA,KAAA,KAAA,CAAA,GAAAA,gBAAA,GAAIN,KAAK,CAACwE,OAAO,EAAExE,KAAK,CAAChC,KAAK,EAAEC,UAAU,CAAC;IACrFyG,WAAW,EAAE5G,gBAAe,CAAAyC,CAAAA,kBAAA,GAACP,KAAK,CAAC0E,WAAW,MAAA,IAAA,IAAAnE,kBAAA,KAAA,KAAA,CAAA,GAAAA,kBAAA,GAAIP,KAAK,CAAC2E,OAAO,EAAE3E,KAAK,CAAChC,KAAK,EAAEC,UAAU,CAAC;IACzF2G,UAAU,EAAE9G,gBAAe,CAAA0C,CAAAA,iBAAA,GAACR,KAAK,CAAC4E,UAAU,MAAA,IAAA,IAAApE,iBAAA,KAAA,KAAA,CAAA,GAAAA,iBAAA,GAAIR,KAAK,CAAC2E,OAAO,EAAE3E,KAAK,CAAChC,KAAK,EAAEC,UAAU,CAAC;AACvF4G,IAAAA,MAAM,EAAE/G,gBAAe,CAACkC,KAAK,CAAC6E,MAAM,EAAE7E,KAAK,CAAChC,KAAK,EAAEC,UAAU,CAAC;AAC9D6G,IAAAA,SAAS,EAAEhH,gBAAe,CAACkC,KAAK,CAAC8E,SAAS,EAAE9E,KAAK,CAAChC,KAAK,EAAEC,UAAU,CAAC;AACpE8G,IAAAA,SAAS,EAAEjH,gBAAe,CAACkC,KAAK,CAAC+E,SAAS,EAAE/E,KAAK,CAAChC,KAAK,EAAEC,UAAU,CAAC;AACpE+G,IAAAA,KAAK,EAAElH,gBAAe,CAACkC,KAAK,CAACgF,KAAK,EAAEhF,KAAK,CAAChC,KAAK,EAAEC,UAAU,CAAC;AAC5DgH,IAAAA,QAAQ,EAAEnH,gBAAe,CAACkC,KAAK,CAACiF,QAAQ,EAAEjF,KAAK,CAAChC,KAAK,EAAEC,UAAU,CAAC;AAClEiH,IAAAA,QAAQ,EAAEpH,gBAAe,CAACkC,KAAK,CAACkF,QAAQ,EAAElF,KAAK,CAAChC,KAAK,EAAEC,UAAU,CAAC;AAClEkH,IAAAA,GAAG,EAAErH,gBAAe,CAACkC,KAAK,CAACmF,GAAG,EAAEnF,KAAK,CAAChC,KAAK,EAAEC,UAAU,CAAC;AACxDmH,IAAAA,MAAM,EAAEtH,gBAAe,CAACkC,KAAK,CAACoF,MAAM,EAAEpF,KAAK,CAAChC,KAAK,EAAEC,UAAU,CAAC;AAC9DoH,IAAAA,SAAS,EAAEvH,gBAAe,CAACkC,KAAK,CAACqF,SAAS,EAAErF,KAAK,CAAChC,KAAK,EAAEC,UAAU,CAAC;AACpEqH,IAAAA,GAAG,EAAExH,gBAAe,CAACkC,KAAK,CAACsF,GAAG,EAAEtF,KAAK,CAAChC,KAAK,EAAEC,UAAU,CAAC;AACxDsH,IAAAA,KAAK,EAAEzH,gBAAe,CAACkC,KAAK,CAACuF,KAAK,EAAEvF,KAAK,CAAChC,KAAK,EAAEC,UAAU,CAAC;AAC5DuH,IAAAA,MAAM,EAAE1H,gBAAe,CAACkC,KAAK,CAACwF,MAAM,EAAExF,KAAK,CAAChC,KAAK,EAAEC,UAAU,CAAC;AAC9DwH,IAAAA,IAAI,EAAE3H,gBAAe,CAACkC,KAAK,CAACyF,IAAI,EAAEzF,KAAK,CAAChC,KAAK,EAAEC,UAAU,CAAC;AAE1D;AACAyH,IAAAA,eAAe,EAAE7G,aAAa,CAACmB,KAAK,CAAC0F,eAAe,EAAE1F,KAAK,CAAChC,KAAK,EAAEC,UAAU,CAAC;IAC9E0H,eAAe,EAAEtH,kBAAkB,CAAC2B,KAAK,CAAC2F,eAAe,EAAE1H,UAAU,CAAC;IACtE2H,cAAc,EAAEvH,kBAAkB,CAAC2B,KAAK,CAAC4F,cAAc,EAAE3H,UAAU,CAAC;IACpE4H,kBAAkB,EAAExH,kBAAkB,CAAC2B,KAAK,CAAC6F,kBAAkB,EAAE5H,UAAU,CAAC;IAC5E6H,gBAAgB,EAAEzH,kBAAkB,CAAC2B,KAAK,CAAC8F,gBAAgB,EAAE7H,UAAU,CAAC;IACxE8H,gBAAgB,EAAE1H,kBAAkB,CAAC2B,KAAK,CAAC+F,gBAAgB,EAAE9H,UAAU,CAAC;AACxEkB,IAAAA,YAAY,EAAED,oBAAoB,CAACc,KAAK,CAACb,YAAY,EAAEa,KAAK,CAAChC,KAAK,EAAEC,UAAU,CAAC;AAC/E+H,IAAAA,UAAU,EAAElI,gBAAe,CAACkC,KAAK,CAACgG,UAAU,EAAEhG,KAAK,CAAChC,KAAK,EAAEC,UAAU,CAAC;IACtEgI,MAAM,EAAE5H,kBAAkB,CAAC2B,KAAK,CAACiG,MAAM,EAAEhI,UAAU,CAAC;IACpDkD,SAAS,EAAE9C,kBAAkB,CAAC2B,KAAK,CAACmB,SAAS,EAAElD,UAAU,CAAC;IAC1D0C,WAAW,EAAEtC,kBAAkB,CAAC2B,KAAK,CAACW,WAAW,EAAE1C,UAAU,CAAC;IAC9DsD,YAAY,EAAElD,kBAAkB,CAAC2B,KAAK,CAACuB,YAAY,EAAEtD,UAAU,CAAC;IAChE8C,UAAU,EAAE1C,kBAAkB,CAAC2B,KAAK,CAACe,UAAU,EAAE9C,UAAU,CAAC;AAC5DsB,IAAAA,WAAW,EAAED,mBAAmB,CAACU,KAAK,CAACT,WAAW,EAAES,KAAK,CAAChC,KAAK,EAAEC,UAAU,CAAC;AAC5EwC,IAAAA,WAAW,EAAE5B,aAAa,CAACmB,KAAK,CAACS,WAAW,EAAET,KAAK,CAAChC,KAAK,EAAEC,UAAU,CAAC;AACtEoD,IAAAA,cAAc,EAAE/B,mBAAmB,CAACU,KAAK,CAACqB,cAAc,EAAErB,KAAK,CAAChC,KAAK,EAAEC,UAAU,CAAC;AAClFmD,IAAAA,cAAc,EAAEvC,aAAa,CAACmB,KAAK,CAACoB,cAAc,EAAEpB,KAAK,CAAChC,KAAK,EAAEC,UAAU,CAAC;AAC5E4C,IAAAA,gBAAgB,EAAEvB,mBAAmB,CAACU,KAAK,CAACa,gBAAgB,EAAEb,KAAK,CAAChC,KAAK,EAAEC,UAAU,CAAC;AACtF2C,IAAAA,gBAAgB,EAAE/B,aAAa,CAACmB,KAAK,CAACY,gBAAgB,EAAEZ,KAAK,CAAChC,KAAK,EAAEC,UAAU,CAAC;AAChFwD,IAAAA,iBAAiB,EAAEnC,mBAAmB,CAACU,KAAK,CAACyB,iBAAiB,EAAEzB,KAAK,CAAChC,KAAK,EAAEC,UAAU,CAAC;AACxFuD,IAAAA,iBAAiB,EAAE3C,aAAa,CAACmB,KAAK,CAACwB,iBAAiB,EAAExB,KAAK,CAAChC,KAAK,EAAEC,UAAU,CAAC;AAClFgD,IAAAA,eAAe,EAAE3B,mBAAmB,CAACU,KAAK,CAACiB,eAAe,EAAEjB,KAAK,CAAChC,KAAK,EAAEC,UAAU,CAAC;AACpF+C,IAAAA,eAAe,EAAEnC,aAAa,CAACmB,KAAK,CAACgB,eAAe,EAAEhB,KAAK,CAAChC,KAAK,EAAEC,UAAU,CAAC;AAC9EiI,IAAAA,mBAAmB,EAAEhH,oBAAoB,CAACc,KAAK,CAACkG,mBAAmB,EAAElG,KAAK,CAAChC,KAAK,EAAEC,UAAU,CAAC;AAC7FkI,IAAAA,oBAAoB,EAAEjH,oBAAoB,CAACc,KAAK,CAACmG,oBAAoB,EAAEnG,KAAK,CAAChC,KAAK,EAAEC,UAAU,CAAC;AAC/FmI,IAAAA,uBAAuB,EAAElH,oBAAoB,CAC3Cc,KAAK,CAACoG,uBAAuB,EAC7BpG,KAAK,CAAChC,KAAK,EACXC,UACF,CAAC;AACDoI,IAAAA,sBAAsB,EAAEnH,oBAAoB,CAC1Cc,KAAK,CAACqG,sBAAsB,EAC5BrG,KAAK,CAAChC,KAAK,EACXC,UACF,CAAC;AACD4B,IAAAA,WAAW,EAAED,mBAAmB,CAC9BI,KAAK,CAACH,WAAW,EACjB5B,UAAU,EACVqI,OAAO,CAACxG,SAAS,CACnB,CAA6B;AAC7ByG,IAAAA,MAAM,EAAElI,kBAAkB,CAAC2B,KAAK,CAACuG,MAAM,EAAEtI,UAAU,CAAA;GAG/C,EAAA,CAAC6B,SAAS,IAAI;AAChB0G,IAAAA,cAAc,EAAE5G,mBAAmB,CACjCI,KAAK,CAACwG,cAAc,EACpBvI,UAAU,EACVqI,OAAO,CAACpF,YAAY,CACtB,CAAgC;AAChCuF,IAAAA,iBAAiB,EAAE7G,mBAAmB,CACpCI,KAAK,CAACyG,iBAAiB,EACvBxI,UAAU,EACVqI,OAAO,CAAChF,eAAe,CACzB,CAAmC;AACnCoF,IAAAA,eAAe,EAAE9G,mBAAmB,CAClCI,KAAK,CAAC0G,eAAe,EACrBzI,UAAU,EACVqI,OAAO,CAACxF,aAAa,CACvB,CAAiC;AACjC6F,IAAAA,gBAAgB,EAAE/G,mBAAmB,CACnCI,KAAK,CAAC2G,gBAAgB,EACtB1I,UAAU,EACVqI,OAAO,CAAC5F,cAAc,CACxB,CAAA;GACD,CAAA,EAAA,EAAA,EAAA;IACDkG,WAAW,EAAEvI,kBAAkB,CAAC2B,KAAK,CAAC4G,WAAW,EAAE3I,UAAU,CAAC;IAC9D4I,UAAU,EAAExI,kBAAkB,CAAC2B,KAAK,CAAC6G,UAAU,EAAE5I,UAAU,CAAC;AAC5D6I,IAAAA,aAAa,EAAEzI,kBAAkB,CAAC2B,KAAK,CAAC8G,aAAa,CAAC;IACtDC,OAAO,EAAE1I,kBAAkB,CAAC2B,KAAK,CAAC+G,OAAO,EAAE9I,UAAU,CAAC;AACtD+I,IAAAA,UAAU,EAAE3I,kBAAkB,CAAC2B,KAAK,CAACgH,UAAU,EAAE/I,UAAU,CAAA;AAAC,GAAA,EACxD,CAACgJ,aAAa,EAAE,IAAI;IACtBC,SAAS,EAAEzH,iBAAiB,CAACO,KAAK,CAACN,SAAS,EAAEM,KAAK,CAAChC,KAAK,EAAEC,UAAU,CAAA;GACtE,CAAA,EAAA,EAAA,EAAA;AAED;IACAkJ,SAAS,EAAE9I,kBAAkB,CAAC2B,KAAK,CAACmH,SAAS,EAAYlJ,UAAU,CAAC;IACpEmJ,eAAe,EAAE/I,kBAAkB,CAAC2B,KAAK,CAACoH,eAAe,EAAEnJ,UAAU,CAAC;AACtEoJ,IAAAA,QAAQ,EAAEhJ,kBAAkB,CAAC2B,KAAK,CAACqH,QAAQ,EAAEpJ,UAAU,CAAA;AAAC,GAAA,CAAA,CAAA;AAE5D,EAAC;;AAED;AACA,IAAMqJ,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAIC,QAAmB,EAAc;AAC5D,EAAA,IAAMC,iBAAiB,GAAGC,MAAM,CAACC,MAAM,CAACH,QAAQ,CAAC,CAACI,IAAI,CACpD,UAACC,QAAQ,EAAA;AAAA,IAAA,OAAKA,QAAQ,KAAKzJ,SAAS,IAAIyJ,QAAQ,KAAK,IAAI,CAAA;AAAA,GAC3D,CAAC,CAAA;EAED,OAAOJ,iBAAiB,KAAKrJ,SAAS,CAAA;AACxC,EAAC;AAED,IAAM0J,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAI7H,KAAsC,EAAgB;EAChF,IAAIiH,aAAa,EAAE,EAAE;AACnB,IAAA,OAAO,EAAE,CAAA;AACX,GAAA;AAEA,EAAA,IAAQa,IAAI,GAAgCC,WAAW,CAA/CD,IAAI;AAAKE,IAAAA,sBAAsB,GAAAC,wBAAA,CAAKF,WAAW,EAAAG,SAAA,CAAA,CAAA;AAEvD,EAAA,OAAOT,MAAM,CAACU,WAAW,CACvBV,MAAM,CAACW,OAAO,CAACJ,sBAAsB,CAAC,CAACxJ,GAAG,CAAC,UAAA6J,IAAA,EAAsC;AAAA,IAAA,IAAAC,KAAA,GAAAC,cAAA,CAAAF,IAAA,EAAA,CAAA,CAAA;AAApCG,MAAAA,aAAa,GAAAF,KAAA,CAAA,CAAA,CAAA;AAAEG,MAAAA,eAAe,GAAAH,KAAA,CAAA,CAAA,CAAA,CAAA;AACzE,IAAA,IAAMI,4BAA4B,GAAG3I,WAAW,CAACC,KAAK,EAAEwI,aAAkC,CAAC,CAAA;AAC3F,IAAA,IAAI,CAAClB,mBAAmB,CAACoB,4BAA4B,CAAC,EAAE;AACtD,MAAA,OAAO,EAAE,CAAA;AACX,KAAA;AAEA,IAAA,IAAMC,UAAU,GAAA,SAAA,CAAA1J,MAAA,CAAa2J,aAAa,CAAC;AAAEC,MAAAA,GAAG,EAAEJ,eAAAA;AAAgB,KAAC,CAAC,CAAE,CAAA;AACtE,IAAA,OAAO,CAACE,UAAU,EAAED,4BAA4B,CAAC,CAAA;AACnD,GAAC,CACH,CAAC,CAAA;AACH,EAAC;AAED,IAAMI,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAI9I,KAAsC,EAAgB;AAC9E,EAAA,OAAA0B,aAAA,CAAAA,aAAA,CAAA,EAAA,EACK3B,WAAW,CAACC,KAAK,CAAC,CAClB6H,EAAAA,kBAAkB,CAAC7H,KAAK,CAAC,CAAA,CAAA;AAEhC;;;;"}
|
|
1
|
+
{"version":3,"file":"baseBoxStyles.js","sources":["../../../../../../../src/components/Box/BaseBox/baseBoxStyles.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/prefer-ts-expect-error */\n/* eslint-disable @typescript-eslint/no-unnecessary-type-assertion */\nimport type { CSSObject } from 'styled-components';\nimport type {\n BaseBoxProps,\n MakeValueResponsive,\n SpacingValueType,\n ArrayOfMaxLength4,\n} from './types';\nimport { getResponsiveValue } from './getResponsiveValue';\nimport getIn from '~utils/lodashButBetter/get';\nimport isEmpty from '~utils/lodashButBetter/isEmpty';\nimport type { Breakpoints } from '~tokens/global';\nimport { breakpoints } from '~tokens/global';\nimport { isReactNative, getMediaQuery } from '~utils';\nimport type { Theme } from '~components/BladeProvider';\nimport { makeSpace } from '~utils/makeSpace';\nimport { makeBorderSize } from '~utils/makeBorderSize';\nimport type { DotNotationSpacingStringToken } from '~utils/types';\n\nconst isSpacingToken = (value: string): value is DotNotationSpacingStringToken => {\n return typeof value === 'string' && value.startsWith('spacing.');\n};\n\nconst getSpacingValue = (\n spacingValue:\n | MakeValueResponsive<SpacingValueType | ArrayOfMaxLength4<SpacingValueType>>\n | undefined,\n theme: Theme,\n breakpoint?: keyof Breakpoints,\n): string | undefined => {\n if (isEmpty(spacingValue)) {\n return undefined;\n }\n\n const responsiveSpacingValue = getResponsiveValue(\n spacingValue as MakeValueResponsive<SpacingValueType | SpacingValueType[]>,\n breakpoint,\n );\n\n if (isEmpty(responsiveSpacingValue)) {\n return undefined;\n }\n\n if (responsiveSpacingValue === 'auto') {\n return responsiveSpacingValue;\n }\n\n if (Array.isArray(responsiveSpacingValue)) {\n return responsiveSpacingValue.map((value) => getSpacingValue(value, theme)).join(' ');\n }\n\n if (isSpacingToken(responsiveSpacingValue)) {\n const spacingReturnValue = getIn(theme, responsiveSpacingValue);\n return isEmpty(spacingReturnValue) ? makeSpace(spacingReturnValue!) : undefined;\n }\n\n // pixel or with unit values\n return responsiveSpacingValue;\n};\n\nconst getColorValue = (\n color: BaseBoxProps['backgroundColor'] | BaseBoxProps['borderColor'],\n theme: Theme,\n breakpoint?: keyof Breakpoints,\n): string => {\n const responsiveBackgroundValue = getResponsiveValue(color, breakpoint);\n // @ts-expect-error: We always return any from getResponsiveValue so value can't be inferred here\n const tokenValue = getIn(theme, `colors.${responsiveBackgroundValue}`);\n return tokenValue ?? responsiveBackgroundValue;\n};\n\nconst getBorderRadiusValue = (\n borderRadius: BaseBoxProps['borderRadius'],\n theme: Theme,\n breakpoint?: keyof Breakpoints,\n): string | undefined => {\n const responsiveBorderRadiusValue = getResponsiveValue(borderRadius, breakpoint);\n return isEmpty(responsiveBorderRadiusValue)\n ? undefined\n : // @ts-ignore: intentionally set to any since figuring out types of responsive props is complex\n makeBorderSize(getIn(theme, `border.radius.${responsiveBorderRadiusValue}`));\n};\n\nconst getBorderWidthValue = (\n borderWidth: BaseBoxProps['borderWidth'],\n theme: Theme,\n breakpoint?: keyof Breakpoints,\n): string | undefined => {\n const responsiveBorderWidthValue = getResponsiveValue(borderWidth, breakpoint);\n return isEmpty(responsiveBorderWidthValue)\n ? undefined\n : // @ts-ignore: intentionally set to any since figuring out types of responsive props is complex\n makeBorderSize(getIn(theme, `border.width.${responsiveBorderWidthValue}`));\n};\n\nexport const getElevationValue = (\n elevation: BaseBoxProps['elevation'],\n theme: Theme,\n breakpoint?: keyof Breakpoints,\n): string | undefined => {\n const responsiveElevationValue = getResponsiveValue(elevation, breakpoint);\n return isEmpty(responsiveElevationValue)\n ? undefined\n : // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\n // @ts-ignore: intentionally set to any since figuring out types of responsive props is complex\n getIn(theme, `elevation.${responsiveElevationValue!}`);\n};\n\ntype GetBorderStyleValueReturnType =\n | CSSObject['borderStyle']\n | CSSObject['borderTopStyle']\n | CSSObject['borderBottomStyle']\n | CSSObject['borderLeftStyle']\n | CSSObject['borderRightStyle'];\nconst getBorderStyleValue = (\n borderStyle: BaseBoxProps['borderStyle'],\n breakpoint?: keyof Breakpoints,\n hasBorder?: boolean,\n // Using any as return type because borderStyle's type is incompatible with borderBottomStyle. There are ways to fix it but anyway since its internal function. Taking an easy way out\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n): GetBorderStyleValueReturnType => {\n if (borderStyle) {\n return getResponsiveValue(borderStyle, breakpoint);\n }\n\n if (hasBorder) {\n return 'solid';\n }\n\n return undefined;\n};\n\nconst getAllProps = (\n props: BaseBoxProps & { theme: Theme },\n breakpoint?: keyof Breakpoints,\n): CSSObject => {\n const hasBorder = props.borderWidth || props.borderColor;\n const hasBorderRight = props.borderRight || props.borderRightColor || props.borderRightWidth;\n const hasBorderLeft = props.borderLeft || props.borderLeftColor || props.borderLeftWidth;\n const hasBorderTop = props.borderTop || props.borderTopColor || props.borderTopWidth;\n const hasBorderBottom = props.borderBottom || props.borderBottomColor || props.borderBottomWidth;\n\n return {\n display: getResponsiveValue(props.display, breakpoint),\n overflow: getResponsiveValue(props.overflow, breakpoint),\n overflowX: getResponsiveValue(props.overflowX, breakpoint),\n overflowY: getResponsiveValue(props.overflowY, breakpoint),\n textAlign: getResponsiveValue(props.textAlign, breakpoint),\n whiteSpace: getResponsiveValue(props.whiteSpace, breakpoint),\n\n // Flex\n flex: getResponsiveValue(props.flex, breakpoint),\n flexWrap: getResponsiveValue(props.flexWrap, breakpoint),\n flexDirection: getResponsiveValue(props.flexDirection, breakpoint),\n flexGrow: getResponsiveValue(props.flexGrow, breakpoint),\n flexShrink: getResponsiveValue(props.flexShrink, breakpoint),\n flexBasis: getResponsiveValue(props.flexBasis, breakpoint),\n alignItems: getResponsiveValue(props.alignItems, breakpoint),\n alignContent: getResponsiveValue(props.alignContent, breakpoint),\n alignSelf: getResponsiveValue(props.alignSelf, breakpoint),\n justifyItems: getResponsiveValue(props.justifyItems, breakpoint),\n justifyContent: getResponsiveValue(props.justifyContent, breakpoint),\n justifySelf: getResponsiveValue(props.justifySelf, breakpoint),\n placeSelf: getResponsiveValue(props.placeSelf, breakpoint),\n placeItems: getResponsiveValue(props.placeItems, breakpoint),\n order: getResponsiveValue(props.order, breakpoint),\n position: getResponsiveValue(props.position, breakpoint),\n zIndex: getResponsiveValue(props.zIndex, breakpoint),\n\n // Grid\n grid: getResponsiveValue(props.grid, breakpoint),\n gridColumn: getResponsiveValue(props.gridColumn, breakpoint),\n gridRow: getResponsiveValue(props.gridRow, breakpoint),\n gridRowStart: getResponsiveValue(props.gridRowStart, breakpoint),\n gridRowEnd: getResponsiveValue(props.gridRowEnd, breakpoint),\n gridArea: getResponsiveValue(props.gridArea, breakpoint),\n gridAutoFlow: getResponsiveValue(props.gridAutoFlow, breakpoint),\n gridAutoRows: getResponsiveValue(props.gridAutoRows, breakpoint),\n gridAutoColumns: getResponsiveValue(props.gridAutoColumns, breakpoint),\n gridTemplate: getResponsiveValue(props.gridTemplate, breakpoint),\n gridTemplateAreas: getResponsiveValue(props.gridTemplateAreas, breakpoint),\n gridTemplateColumns: getResponsiveValue(props.gridTemplateColumns, breakpoint),\n gridTemplateRows: getResponsiveValue(props.gridTemplateRows, breakpoint),\n\n // Spacing Props\n padding: getSpacingValue(props.padding, props.theme, breakpoint),\n paddingTop: getSpacingValue(props.paddingTop ?? props.paddingY, props.theme, breakpoint),\n paddingBottom: getSpacingValue(props.paddingBottom ?? props.paddingY, props.theme, breakpoint),\n paddingRight: getSpacingValue(props.paddingRight ?? props.paddingX, props.theme, breakpoint),\n paddingLeft: getSpacingValue(props.paddingLeft ?? props.paddingX, props.theme, breakpoint),\n margin: getSpacingValue(props.margin, props.theme, breakpoint),\n marginBottom: getSpacingValue(props.marginBottom ?? props.marginY, props.theme, breakpoint),\n marginTop: getSpacingValue(props.marginTop ?? props.marginY, props.theme, breakpoint),\n marginRight: getSpacingValue(props.marginRight ?? props.marginX, props.theme, breakpoint),\n marginLeft: getSpacingValue(props.marginLeft ?? props.marginX, props.theme, breakpoint),\n height: getSpacingValue(props.height, props.theme, breakpoint),\n minHeight: getSpacingValue(props.minHeight, props.theme, breakpoint),\n maxHeight: getSpacingValue(props.maxHeight, props.theme, breakpoint),\n width: getSpacingValue(props.width, props.theme, breakpoint),\n minWidth: getSpacingValue(props.minWidth, props.theme, breakpoint),\n maxWidth: getSpacingValue(props.maxWidth, props.theme, breakpoint),\n gap: getSpacingValue(props.gap, props.theme, breakpoint),\n rowGap: getSpacingValue(props.rowGap, props.theme, breakpoint),\n columnGap: getSpacingValue(props.columnGap, props.theme, breakpoint),\n top: getSpacingValue(props.top, props.theme, breakpoint),\n right: getSpacingValue(props.right, props.theme, breakpoint),\n bottom: getSpacingValue(props.bottom, props.theme, breakpoint),\n left: getSpacingValue(props.left, props.theme, breakpoint),\n\n // Visual props\n backgroundColor: getColorValue(props.backgroundColor, props.theme, breakpoint),\n backgroundImage: getResponsiveValue(props.backgroundImage, breakpoint),\n backgroundSize: getResponsiveValue(props.backgroundSize, breakpoint),\n backgroundPosition: getResponsiveValue(props.backgroundPosition, breakpoint),\n backgroundOrigin: getResponsiveValue(props.backgroundOrigin, breakpoint),\n backgroundRepeat: getResponsiveValue(props.backgroundRepeat, breakpoint),\n borderRadius: getBorderRadiusValue(props.borderRadius, props.theme, breakpoint),\n lineHeight: getSpacingValue(props.lineHeight, props.theme, breakpoint),\n border: getResponsiveValue(props.border, breakpoint),\n borderTop: getResponsiveValue(props.borderTop, breakpoint),\n borderRight: getResponsiveValue(props.borderRight, breakpoint),\n borderBottom: getResponsiveValue(props.borderBottom, breakpoint),\n borderLeft: getResponsiveValue(props.borderLeft, breakpoint),\n borderWidth: getBorderWidthValue(props.borderWidth, props.theme, breakpoint),\n borderColor: getColorValue(props.borderColor, props.theme, breakpoint),\n borderTopWidth: getBorderWidthValue(props.borderTopWidth, props.theme, breakpoint),\n borderTopColor: getColorValue(props.borderTopColor, props.theme, breakpoint),\n borderRightWidth: getBorderWidthValue(props.borderRightWidth, props.theme, breakpoint),\n borderRightColor: getColorValue(props.borderRightColor, props.theme, breakpoint),\n borderBottomWidth: getBorderWidthValue(props.borderBottomWidth, props.theme, breakpoint),\n borderBottomColor: getColorValue(props.borderBottomColor, props.theme, breakpoint),\n borderLeftWidth: getBorderWidthValue(props.borderLeftWidth, props.theme, breakpoint),\n borderLeftColor: getColorValue(props.borderLeftColor, props.theme, breakpoint),\n borderTopLeftRadius: getBorderRadiusValue(props.borderTopLeftRadius, props.theme, breakpoint),\n borderTopRightRadius: getBorderRadiusValue(props.borderTopRightRadius, props.theme, breakpoint),\n borderBottomRightRadius: getBorderRadiusValue(\n props.borderBottomRightRadius,\n props.theme,\n breakpoint,\n ),\n borderBottomLeftRadius: getBorderRadiusValue(\n props.borderBottomLeftRadius,\n props.theme,\n breakpoint,\n ),\n borderStyle: getBorderStyleValue(\n props.borderStyle,\n breakpoint,\n Boolean(hasBorder),\n ) as CSSObject['borderStyle'],\n cursor: getResponsiveValue(props.cursor, breakpoint),\n // Since we only allow 'solid', we can use the same value for all borders if hasBorder is true\n // If hasBorder is false, we need to check each border individually\n ...(!hasBorder && {\n borderTopStyle: getBorderStyleValue(\n props.borderTopStyle,\n breakpoint,\n Boolean(hasBorderTop),\n ) as CSSObject['borderTopStyle'],\n borderBottomStyle: getBorderStyleValue(\n props.borderBottomStyle,\n breakpoint,\n Boolean(hasBorderBottom),\n ) as CSSObject['borderBottomStyle'],\n borderLeftStyle: getBorderStyleValue(\n props.borderLeftStyle,\n breakpoint,\n Boolean(hasBorderLeft),\n ) as CSSObject['borderLeftStyle'],\n borderRightStyle: getBorderStyleValue(\n props.borderRightStyle,\n breakpoint,\n Boolean(hasBorderRight),\n ) as CSSObject['borderRightStyle'],\n }),\n touchAction: getResponsiveValue(props.touchAction, breakpoint),\n userSelect: getResponsiveValue(props.userSelect, breakpoint),\n pointerEvents: getResponsiveValue(props.pointerEvents),\n opacity: getResponsiveValue(props.opacity, breakpoint),\n visibility: getResponsiveValue(props.visibility, breakpoint),\n ...(!isReactNative() && {\n boxShadow: getElevationValue(props.elevation, props.theme, breakpoint),\n backdropFilter: getResponsiveValue(props.backdropFilter, breakpoint),\n transition: getResponsiveValue(props.transition, breakpoint),\n }),\n\n // Polygon support\n transform: getResponsiveValue(props.transform as string, breakpoint),\n transformOrigin: getResponsiveValue(props.transformOrigin, breakpoint),\n clipPath: getResponsiveValue(props.clipPath, breakpoint),\n\n // Animation\n };\n};\n\n/** We only add breakpoint if at least one of the value is defined */\nconst shouldAddBreakpoint = (cssProps: CSSObject): boolean => {\n const firstDefinedValue = Object.values(cssProps).find(\n (cssValue) => cssValue !== undefined && cssValue !== null,\n );\n\n return firstDefinedValue !== undefined;\n};\n\nconst getAllMediaQueries = (props: BaseBoxProps & { theme: Theme }): CSSObject => {\n if (isReactNative()) {\n return {};\n }\n\n const { base, ...breakpointsWithoutBase } = breakpoints;\n\n return Object.fromEntries(\n Object.entries(breakpointsWithoutBase).map(([breakpointKey, breakpointValue]) => {\n const cssPropsForCurrentBreakpoint = getAllProps(props, breakpointKey as keyof Breakpoints);\n if (!shouldAddBreakpoint(cssPropsForCurrentBreakpoint)) {\n return [];\n }\n\n const mediaQuery = `@media ${getMediaQuery({ min: breakpointValue })}`;\n return [mediaQuery, cssPropsForCurrentBreakpoint];\n }),\n );\n};\n\nconst getBaseBoxStyles = (props: BaseBoxProps & { theme: Theme }): CSSObject => {\n return {\n ...getAllProps(props),\n ...getAllMediaQueries(props),\n };\n};\n\nexport {\n getBaseBoxStyles,\n getSpacingValue,\n getColorValue,\n getBorderRadiusValue,\n shouldAddBreakpoint,\n getAllMediaQueries,\n getAllProps,\n};\n"],"names":["isSpacingToken","value","startsWith","getSpacingValue","spacingValue","theme","breakpoint","isEmpty","undefined","responsiveSpacingValue","getResponsiveValue","Array","isArray","map","join","spacingReturnValue","getIn","makeSpace","getColorValue","color","responsiveBackgroundValue","tokenValue","concat","getBorderRadiusValue","borderRadius","responsiveBorderRadiusValue","makeBorderSize","getBorderWidthValue","borderWidth","responsiveBorderWidthValue","getElevationValue","elevation","responsiveElevationValue","getBorderStyleValue","borderStyle","hasBorder","getAllProps","props","_props$paddingTop","_props$paddingBottom","_props$paddingRight","_props$paddingLeft","_props$marginBottom","_props$marginTop","_props$marginRight","_props$marginLeft","borderColor","hasBorderRight","borderRight","borderRightColor","borderRightWidth","hasBorderLeft","borderLeft","borderLeftColor","borderLeftWidth","hasBorderTop","borderTop","borderTopColor","borderTopWidth","hasBorderBottom","borderBottom","borderBottomColor","borderBottomWidth","_objectSpread","display","overflow","overflowX","overflowY","textAlign","whiteSpace","flex","flexWrap","flexDirection","flexGrow","flexShrink","flexBasis","alignItems","alignContent","alignSelf","justifyItems","justifyContent","justifySelf","placeSelf","placeItems","order","position","zIndex","grid","gridColumn","gridRow","gridRowStart","gridRowEnd","gridArea","gridAutoFlow","gridAutoRows","gridAutoColumns","gridTemplate","gridTemplateAreas","gridTemplateColumns","gridTemplateRows","padding","paddingTop","paddingY","paddingBottom","paddingRight","paddingX","paddingLeft","margin","marginBottom","marginY","marginTop","marginRight","marginX","marginLeft","height","minHeight","maxHeight","width","minWidth","maxWidth","gap","rowGap","columnGap","top","right","bottom","left","backgroundColor","backgroundImage","backgroundSize","backgroundPosition","backgroundOrigin","backgroundRepeat","lineHeight","border","borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius","Boolean","cursor","borderTopStyle","borderBottomStyle","borderLeftStyle","borderRightStyle","touchAction","userSelect","pointerEvents","opacity","visibility","isReactNative","boxShadow","backdropFilter","transition","transform","transformOrigin","clipPath","shouldAddBreakpoint","cssProps","firstDefinedValue","Object","values","find","cssValue","getAllMediaQueries","base","breakpoints","breakpointsWithoutBase","_objectWithoutProperties","_excluded","fromEntries","entries","_ref","_ref2","_slicedToArray","breakpointKey","breakpointValue","cssPropsForCurrentBreakpoint","mediaQuery","getMediaQuery","min","getBaseBoxStyles"],"mappings":"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"}
|