@razorpay/blade 12.8.0 → 12.8.2

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.
@@ -35,7 +35,7 @@ import { jsx, jsxs } from 'react/jsx-runtime';
35
35
  import { getOuterMotionRef, getInnerMotionRef } from '../../utils/getMotionRefs.js';
36
36
  import { makeAnalyticsAttribute } from '../../utils/makeAnalyticsAttribute/makeAnalyticsAttribute.js';
37
37
 
38
- var _excluded=["isDisabled","value","children","icon","color","testID","_motionMeta"];var _Chip=function _Chip(_ref,ref){var _groupProps$state,_groupProps$defaultVa,_ref2;var isDisabled=_ref.isDisabled,value=_ref.value,children=_ref.children,Icon=_ref.icon,color=_ref.color,testID=_ref.testID,_motionMeta=_ref._motionMeta,rest=_objectWithoutProperties(_ref,_excluded);var _useTheme=useTheme(),theme=_useTheme.theme;var _useBreakpoint=useBreakpoint({breakpoints:theme.breakpoints}),matchedDeviceType=_useBreakpoint.matchedDeviceType;var groupProps=useChipGroupContext();var isInsideGroup=!isEmpty(groupProps);var _React$useState=React__default.useState(false),_React$useState2=_slicedToArray(_React$useState,2),isPressed=_React$useState2[0],setIsPressed=_React$useState2[1];if(__DEV__){if(!isInsideGroup){throwBladeError({moduleName:'Chip',message:'<Chip /> component should only be used within the context of a <ChipGroup /> component'});}}var hasError=(groupProps==null?void 0:groupProps.validationState)==='error';var _isDisabled=isDisabled!=null?isDisabled:groupProps==null?void 0:groupProps.isDisabled;var _isRequired=(groupProps==null?void 0:groupProps.isRequired)||(groupProps==null?void 0:groupProps.necessityIndicator)==='required';var _name=groupProps==null?void 0:groupProps.name;var _isChecked=groupProps==null?void 0:(_groupProps$state=groupProps.state)==null?void 0:_groupProps$state.isChecked(value);var defaultChecked=typeof(groupProps==null?void 0:groupProps.defaultValue)==='undefined'?undefined:groupProps==null?void 0:(_groupProps$defaultVa=groupProps.defaultValue)==null?void 0:_groupProps$defaultVa.includes(value);var useChip=(groupProps==null?void 0:groupProps.selectionType)==='single'?useRadio:useCheckbox;var _size=(groupProps==null?void 0:groupProps.size)||'small';var chipColor=(_ref2=color!=null?color:groupProps==null?void 0:groupProps.color)!=null?_ref2:'primary';var handleChange=function handleChange(_ref3){var isChecked=_ref3.isChecked,value=_ref3.value;if(isChecked){var _groupProps$state2;groupProps==null?void 0:(_groupProps$state2=groupProps.state)==null?void 0:_groupProps$state2.addValue(value);}else {var _groupProps$state3;groupProps==null?void 0:(_groupProps$state3=groupProps.state)==null?void 0:_groupProps$state3.removeValue(value);}};var _useChip=useChip({defaultChecked:defaultChecked,isChecked:_isChecked,isDisabled:_isDisabled,isRequired:_isRequired,hasError:hasError,name:_name,value:value,onChange:handleChange}),state=_useChip.state,inputProps=_useChip.inputProps;var handlePointerPressedIn=React__default.useCallback(function(){if(_isDisabled)return;setIsPressed(true);},[_isDisabled]);var handlePointerPressedOut=React__default.useCallback(function(){if(_isDisabled)return;setIsPressed(false);},[_isDisabled]);var handleKeyboardPressedIn=React__default.useCallback(function(e){if(_isDisabled)return;if(e.key===' '){setIsPressed(true);}},[_isDisabled]);var handleKeyboardPressedOut=React__default.useCallback(function(e){if(_isDisabled)return;if(e.key===' '){setIsPressed(false);}},[_isDisabled]);var textVariant='unchecked';if(_isChecked&&chipColor){textVariant=chipColor;}if(_isDisabled){textVariant='disabled';}var chipTextColor=chipColorTokens.text[textVariant];var chipIconColor=chipColorTokens.icon[textVariant];var colorVariant='unchecked';var stateVariant=_isDisabled?'disabled':'default';if(_isChecked&&chipColor){colorVariant=chipColor;}var chipBackgroundColor=chipColorTokens.background[colorVariant][stateVariant];var chipBorderColor=chipColorTokens.border[colorVariant][stateVariant];return jsx(BaseBox,Object.assign({},metaAttribute({name:MetaConstants.Chip,testID:testID}),getStyledProps(rest),makeAnalyticsAttribute(rest),{display:isReactNative()?'flex':'inline-flex',ref:getOuterMotionRef({_motionMeta:_motionMeta,ref:ref}),children:jsx(SelectorLabel,{componentName:MetaConstants.ChipLabel,onTouchStart:handlePointerPressedIn,onTouchEnd:handlePointerPressedOut,onMouseDown:handlePointerPressedIn,onMouseUp:handlePointerPressedOut,onMouseOut:handlePointerPressedOut,onKeyDown:handleKeyboardPressedIn,onKeyUp:handleKeyboardPressedOut,inputProps:isReactNative()?inputProps:{},style:{cursor:_isDisabled?'not-allowed':'pointer'},children:jsx(BaseBox,{display:"flex",flexDirection:"column",children:jsxs(BaseBox,{display:"flex",alignItems:"center",flexDirection:"row",children:[jsx(SelectorInput,{hoverTokens:getChipInputHoverTokens(chipColor),isChecked:state.isChecked,isDisabled:_isDisabled,inputProps:inputProps,hasError:hasError,ref:getInnerMotionRef({_motionMeta:_motionMeta,ref:ref})}),jsx(AnimatedChip,{borderColor:chipBorderColor,isDisabled:_isDisabled,isPressed:isPressed,isDesktop:matchedDeviceType==='desktop',children:jsxs(StyledChipWrapper,{borderColor:chipBorderColor,isChecked:_isChecked,isDisabled:_isDisabled,color:chipColor,display:"flex",flexDirection:"row",justifyContent:"center",alignItems:"center",overflow:"hidden",backgroundColor:chipBackgroundColor,borderRadius:"max",borderWidth:['xsmall','small'].includes(_size)?'thinner':'thin',paddingLeft:chipHorizontalPaddingTokens[Boolean(Icon)?'withIcon':'withoutIcon'].left[_size],paddingRight:chipHorizontalPaddingTokens[Boolean(Icon)?'withIcon':'withoutIcon'].right[_size],height:makeSize(chipHeightTokens[_size]),children:[Icon?jsx(BaseBox,{paddingRight:"spacing.3",display:"flex",children:jsx(Icon,{color:chipIconColor,size:chipIconSizes[_size]})}):null,jsx(Text,Object.assign({},chipTextSizes[_size],{truncateAfterLines:1,color:chipTextColor,children:children}))]})})]})})})}));};var Chip=assignWithoutSideEffects(React__default.forwardRef(_Chip),{displayName:'Chip'});
38
+ var _excluded=["isDisabled","value","children","icon","color","testID","_motionMeta"];var _Chip=function _Chip(_ref,ref){var _groupProps$state,_groupProps$defaultVa,_ref2;var isDisabled=_ref.isDisabled,value=_ref.value,children=_ref.children,Icon=_ref.icon,color=_ref.color,testID=_ref.testID,_motionMeta=_ref._motionMeta,rest=_objectWithoutProperties(_ref,_excluded);var _useTheme=useTheme(),theme=_useTheme.theme;var _useBreakpoint=useBreakpoint({breakpoints:theme.breakpoints}),matchedDeviceType=_useBreakpoint.matchedDeviceType;var groupProps=useChipGroupContext();var isInsideGroup=!isEmpty(groupProps);var _React$useState=React__default.useState(false),_React$useState2=_slicedToArray(_React$useState,2),isPressed=_React$useState2[0],setIsPressed=_React$useState2[1];if(__DEV__){if(!isInsideGroup){throwBladeError({moduleName:'Chip',message:'<Chip /> component should only be used within the context of a <ChipGroup /> component'});}}var hasError=(groupProps==null?void 0:groupProps.validationState)==='error';var _isDisabled=isDisabled!=null?isDisabled:groupProps==null?void 0:groupProps.isDisabled;var _isRequired=(groupProps==null?void 0:groupProps.isRequired)||(groupProps==null?void 0:groupProps.necessityIndicator)==='required';var _name=groupProps==null?void 0:groupProps.name;var _isChecked=groupProps==null?void 0:(_groupProps$state=groupProps.state)==null?void 0:_groupProps$state.isChecked(value);var defaultChecked=typeof(groupProps==null?void 0:groupProps.defaultValue)==='undefined'?undefined:groupProps==null?void 0:(_groupProps$defaultVa=groupProps.defaultValue)==null?void 0:_groupProps$defaultVa.includes(value);var useChip=(groupProps==null?void 0:groupProps.selectionType)==='single'?useRadio:useCheckbox;var _size=(groupProps==null?void 0:groupProps.size)||'small';var chipColor=(_ref2=color!=null?color:groupProps==null?void 0:groupProps.color)!=null?_ref2:'primary';var handleChange=function handleChange(_ref3){var isChecked=_ref3.isChecked,value=_ref3.value;if(isChecked){var _groupProps$state2;groupProps==null?void 0:(_groupProps$state2=groupProps.state)==null?void 0:_groupProps$state2.addValue(value);}else {var _groupProps$state3;groupProps==null?void 0:(_groupProps$state3=groupProps.state)==null?void 0:_groupProps$state3.removeValue(value);}};var _useChip=useChip({defaultChecked:defaultChecked,isChecked:_isChecked,isDisabled:_isDisabled,isRequired:_isRequired,hasError:hasError,name:_name,value:value,onChange:handleChange}),state=_useChip.state,inputProps=_useChip.inputProps;var handlePointerPressedIn=React__default.useCallback(function(){if(_isDisabled)return;setIsPressed(true);},[_isDisabled]);var handlePointerPressedOut=React__default.useCallback(function(){if(_isDisabled)return;setIsPressed(false);},[_isDisabled]);var handleKeyboardPressedIn=React__default.useCallback(function(e){if(_isDisabled)return;if(e.key===' '){setIsPressed(true);}},[_isDisabled]);var handleKeyboardPressedOut=React__default.useCallback(function(e){if(_isDisabled)return;if(e.key===' '){setIsPressed(false);}},[_isDisabled]);var textVariant='unchecked';if(_isChecked&&chipColor){textVariant=chipColor;}if(_isDisabled){textVariant='disabled';}var chipTextColor=chipColorTokens.text[textVariant];var chipIconColor=chipColorTokens.icon[textVariant];var colorVariant='unchecked';var stateVariant=_isDisabled?'disabled':'default';if(_isChecked&&chipColor){colorVariant=chipColor;}var chipBackgroundColor=chipColorTokens.background[colorVariant][stateVariant];var chipBorderColor=chipColorTokens.border[colorVariant][stateVariant];return jsx(BaseBox,Object.assign({},metaAttribute({name:MetaConstants.Chip,testID:testID}),getStyledProps(rest),makeAnalyticsAttribute(rest),{display:isReactNative()?'flex':'inline-flex',ref:getOuterMotionRef({_motionMeta:_motionMeta,ref:ref}),children:jsx(SelectorLabel,{componentName:MetaConstants.ChipLabel,onTouchStart:handlePointerPressedIn,onTouchEnd:handlePointerPressedOut,onMouseDown:handlePointerPressedIn,onMouseUp:handlePointerPressedOut,onMouseOut:handlePointerPressedOut,onKeyDown:handleKeyboardPressedIn,onKeyUp:handleKeyboardPressedOut,inputProps:isReactNative()?inputProps:{},style:{cursor:_isDisabled?'not-allowed':'pointer'},children:jsx(BaseBox,{display:"flex",flexDirection:"column",children:jsxs(BaseBox,{display:"flex",alignItems:"center",flexDirection:"row",children:[jsx(SelectorInput,{hoverTokens:getChipInputHoverTokens(chipColor),isChecked:state.isChecked,isDisabled:_isDisabled,inputProps:inputProps,hasError:hasError,ref:getInnerMotionRef({_motionMeta:_motionMeta,ref:ref})}),jsx(AnimatedChip,{borderColor:chipBorderColor,isDisabled:_isDisabled,isPressed:isPressed,isDesktop:matchedDeviceType==='desktop',children:jsxs(StyledChipWrapper,{borderColor:chipBorderColor,isChecked:_isChecked,isDisabled:_isDisabled,color:chipColor,display:"flex",flexDirection:"row",justifyContent:"center",alignItems:"center",overflow:"hidden",backgroundColor:chipBackgroundColor,borderRadius:"max",borderWidth:['xsmall','small'].includes(_size)?'thinner':'thin',paddingLeft:chipHorizontalPaddingTokens[Boolean(Icon)?'withIcon':'withoutIcon'].left[_size],paddingRight:chipHorizontalPaddingTokens[Boolean(Icon)?'withIcon':'withoutIcon'].right[_size],height:makeSize(chipHeightTokens[_size]),gap:"spacing.3",children:[Icon?jsx(BaseBox,{display:"flex",children:jsx(Icon,{color:chipIconColor,size:chipIconSizes[_size]})}):null,children?jsx(Text,Object.assign({},chipTextSizes[_size],{truncateAfterLines:1,color:chipTextColor,children:children})):null]})})]})})})}));};var Chip=assignWithoutSideEffects(React__default.forwardRef(_Chip),{displayName:'Chip'});
39
39
 
40
40
  export { Chip };
41
41
  //# sourceMappingURL=Chip.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Chip.js","sources":["../../../../../src/components/Chip/Chip.tsx"],"sourcesContent":["import React from 'react';\nimport { useChipGroupContext } from './ChipGroupContext';\nimport {\n chipIconSizes,\n chipTextSizes,\n chipColorTokens,\n getChipInputHoverTokens,\n chipHeightTokens,\n chipHorizontalPaddingTokens,\n} from './chipTokens';\nimport type { ChipProps } from './types';\nimport { AnimatedChip } from './AnimatedChip';\nimport { StyledChipWrapper } from './StyledChipWrapper';\nimport isEmpty from '~utils/lodashButBetter/isEmpty';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport BaseBox from '~components/Box/BaseBox';\nimport { SelectorLabel } from '~components/Form/Selector/SelectorLabel';\nimport { SelectorInput } from '~components/Form/Selector/SelectorInput';\nimport type { BladeElementRef } from '~utils/types';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { throwBladeError } from '~utils/logger';\nimport { useCheckbox } from '~components/Checkbox/useCheckbox';\nimport { useRadio } from '~components/Radio/useRadio';\nimport { isReactNative, makeSize, useBreakpoint } from '~utils';\nimport { Text } from '~components/Typography';\nimport { useTheme } from '~components/BladeProvider';\nimport { getInnerMotionRef, getOuterMotionRef } from '~utils/getMotionRefs';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\n\ntype OnChange = ({\n isChecked,\n event,\n value,\n}: {\n isChecked: boolean;\n event?: React.ChangeEvent;\n value?: string;\n}) => void;\n\nconst _Chip: React.ForwardRefRenderFunction<BladeElementRef, ChipProps> = (\n { isDisabled, value, children, icon: Icon, color, testID, _motionMeta, ...rest },\n ref,\n) => {\n const { theme } = useTheme();\n const { matchedDeviceType } = useBreakpoint({ breakpoints: theme.breakpoints });\n const groupProps = useChipGroupContext();\n const isInsideGroup = !isEmpty(groupProps);\n const [isPressed, setIsPressed] = React.useState(false);\n\n if (__DEV__) {\n if (!isInsideGroup) {\n throwBladeError({\n moduleName: 'Chip',\n message:\n '<Chip /> component should only be used within the context of a <ChipGroup /> component',\n });\n }\n }\n\n const hasError = groupProps?.validationState === 'error';\n const _isDisabled = isDisabled ?? groupProps?.isDisabled;\n const _isRequired = groupProps?.isRequired || groupProps?.necessityIndicator === 'required';\n const _name = groupProps?.name;\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\n const _isChecked = groupProps?.state?.isChecked(value!);\n // Check if the defaultValue property of groupProps is undefined\n const defaultChecked =\n typeof groupProps?.defaultValue === 'undefined'\n ? undefined // If undefined, defaultChecked is also undefined\n : groupProps?.defaultValue?.includes(value as string); // If multiple selection, check if value is in defaultValue array\n const useChip = groupProps?.selectionType === 'single' ? useRadio : useCheckbox;\n const _size = groupProps?.size || 'small';\n const chipColor = color ?? groupProps?.color ?? 'primary';\n\n const handleChange: OnChange = ({ isChecked, value }) => {\n if (isChecked) {\n groupProps?.state?.addValue(value!);\n } else {\n groupProps?.state?.removeValue(value!);\n }\n };\n\n const { state, inputProps } = useChip({\n defaultChecked,\n isChecked: _isChecked,\n isDisabled: _isDisabled,\n isRequired: _isRequired,\n hasError,\n name: _name,\n value,\n onChange: handleChange,\n });\n\n const handlePointerPressedIn = React.useCallback(() => {\n if (_isDisabled) return;\n setIsPressed(true);\n }, [_isDisabled]);\n\n const handlePointerPressedOut = React.useCallback(() => {\n if (_isDisabled) return;\n setIsPressed(false);\n }, [_isDisabled]);\n\n const handleKeyboardPressedIn = React.useCallback(\n (e: React.KeyboardEvent) => {\n if (_isDisabled) return;\n if (e.key === ' ') {\n setIsPressed(true);\n }\n },\n [_isDisabled],\n );\n\n const handleKeyboardPressedOut = React.useCallback(\n (e: React.KeyboardEvent) => {\n if (_isDisabled) return;\n if (e.key === ' ') {\n setIsPressed(false);\n }\n },\n [_isDisabled],\n );\n\n let textVariant = 'unchecked';\n if (_isChecked && chipColor) {\n textVariant = chipColor;\n }\n if (_isDisabled) {\n textVariant = 'disabled';\n }\n const chipTextColor = chipColorTokens.text[textVariant];\n const chipIconColor = chipColorTokens.icon[textVariant];\n\n let colorVariant = 'unchecked';\n const stateVariant = _isDisabled ? 'disabled' : 'default';\n if (_isChecked && chipColor) {\n colorVariant = chipColor;\n }\n const chipBackgroundColor = chipColorTokens.background[colorVariant][stateVariant];\n const chipBorderColor = chipColorTokens.border[colorVariant][stateVariant];\n\n return (\n <BaseBox\n {...metaAttribute({ name: MetaConstants.Chip, testID })}\n {...getStyledProps(rest)}\n {...makeAnalyticsAttribute(rest)}\n display={(isReactNative() ? 'flex' : 'inline-flex') as never}\n ref={getOuterMotionRef({ _motionMeta, ref })}\n >\n <SelectorLabel\n componentName={MetaConstants.ChipLabel}\n onTouchStart={handlePointerPressedIn}\n onTouchEnd={handlePointerPressedOut}\n onMouseDown={handlePointerPressedIn}\n onMouseUp={handlePointerPressedOut}\n onMouseOut={handlePointerPressedOut}\n onKeyDown={handleKeyboardPressedIn}\n onKeyUp={handleKeyboardPressedOut}\n inputProps={isReactNative() ? inputProps : {}}\n style={{ cursor: _isDisabled ? 'not-allowed' : 'pointer' }}\n >\n <BaseBox display=\"flex\" flexDirection=\"column\">\n <BaseBox display=\"flex\" alignItems=\"center\" flexDirection=\"row\">\n <SelectorInput\n hoverTokens={getChipInputHoverTokens(chipColor)}\n isChecked={state.isChecked}\n isDisabled={_isDisabled}\n inputProps={inputProps}\n hasError={hasError}\n ref={getInnerMotionRef({ _motionMeta, ref })}\n />\n <AnimatedChip\n borderColor={chipBorderColor}\n isDisabled={_isDisabled}\n isPressed={isPressed}\n isDesktop={matchedDeviceType === 'desktop'}\n >\n <StyledChipWrapper\n borderColor={chipBorderColor}\n isChecked={_isChecked}\n isDisabled={_isDisabled}\n color={chipColor}\n display=\"flex\"\n flexDirection=\"row\"\n justifyContent=\"center\"\n alignItems=\"center\"\n overflow=\"hidden\"\n backgroundColor={chipBackgroundColor}\n borderRadius=\"max\"\n borderWidth={['xsmall', 'small'].includes(_size) ? 'thinner' : 'thin'}\n paddingLeft={\n chipHorizontalPaddingTokens[Boolean(Icon) ? 'withIcon' : 'withoutIcon'].left[\n _size\n ]\n }\n paddingRight={\n chipHorizontalPaddingTokens[Boolean(Icon) ? 'withIcon' : 'withoutIcon'].right[\n _size\n ]\n }\n height={makeSize(chipHeightTokens[_size])}\n >\n {Icon ? (\n <BaseBox paddingRight=\"spacing.3\" display=\"flex\">\n <Icon color={chipIconColor} size={chipIconSizes[_size]} />\n </BaseBox>\n ) : null}\n <Text {...chipTextSizes[_size]} truncateAfterLines={1} color={chipTextColor}>\n {children}\n </Text>\n </StyledChipWrapper>\n </AnimatedChip>\n </BaseBox>\n </BaseBox>\n </SelectorLabel>\n </BaseBox>\n );\n};\n\nconst Chip = assignWithoutSideEffects(React.forwardRef(_Chip), {\n displayName: 'Chip',\n});\n\nexport { Chip };\nexport type { ChipProps };\n"],"names":["_Chip","_ref","ref","_groupProps$state","_groupProps$defaultVa","_ref2","isDisabled","value","children","Icon","icon","color","testID","_motionMeta","rest","_objectWithoutProperties","_excluded","_useTheme","useTheme","theme","_useBreakpoint","useBreakpoint","breakpoints","matchedDeviceType","groupProps","useChipGroupContext","isInsideGroup","isEmpty","_React$useState","React","useState","_React$useState2","_slicedToArray","isPressed","setIsPressed","__DEV__","throwBladeError","moduleName","message","hasError","validationState","_isDisabled","_isRequired","isRequired","necessityIndicator","_name","name","_isChecked","state","isChecked","defaultChecked","defaultValue","undefined","includes","useChip","selectionType","useRadio","useCheckbox","_size","size","chipColor","handleChange","_ref3","_groupProps$state2","addValue","_groupProps$state3","removeValue","_useChip","onChange","inputProps","handlePointerPressedIn","useCallback","handlePointerPressedOut","handleKeyboardPressedIn","e","key","handleKeyboardPressedOut","textVariant","chipTextColor","chipColorTokens","text","chipIconColor","colorVariant","stateVariant","chipBackgroundColor","background","chipBorderColor","border","_jsx","BaseBox","Object","assign","metaAttribute","MetaConstants","Chip","getStyledProps","makeAnalyticsAttribute","display","isReactNative","getOuterMotionRef","SelectorLabel","componentName","ChipLabel","onTouchStart","onTouchEnd","onMouseDown","onMouseUp","onMouseOut","onKeyDown","onKeyUp","style","cursor","flexDirection","_jsxs","alignItems","SelectorInput","hoverTokens","getChipInputHoverTokens","getInnerMotionRef","AnimatedChip","borderColor","isDesktop","StyledChipWrapper","justifyContent","overflow","backgroundColor","borderRadius","borderWidth","paddingLeft","chipHorizontalPaddingTokens","Boolean","left","paddingRight","right","height","makeSize","chipHeightTokens","chipIconSizes","Text","chipTextSizes","truncateAfterLines","assignWithoutSideEffects","forwardRef","displayName"],"mappings":"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"}
1
+ {"version":3,"file":"Chip.js","sources":["../../../../../src/components/Chip/Chip.tsx"],"sourcesContent":["import React from 'react';\nimport { useChipGroupContext } from './ChipGroupContext';\nimport {\n chipIconSizes,\n chipTextSizes,\n chipColorTokens,\n getChipInputHoverTokens,\n chipHeightTokens,\n chipHorizontalPaddingTokens,\n} from './chipTokens';\nimport type { ChipProps } from './types';\nimport { AnimatedChip } from './AnimatedChip';\nimport { StyledChipWrapper } from './StyledChipWrapper';\nimport isEmpty from '~utils/lodashButBetter/isEmpty';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport BaseBox from '~components/Box/BaseBox';\nimport { SelectorLabel } from '~components/Form/Selector/SelectorLabel';\nimport { SelectorInput } from '~components/Form/Selector/SelectorInput';\nimport type { BladeElementRef } from '~utils/types';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { throwBladeError } from '~utils/logger';\nimport { useCheckbox } from '~components/Checkbox/useCheckbox';\nimport { useRadio } from '~components/Radio/useRadio';\nimport { isReactNative, makeSize, useBreakpoint } from '~utils';\nimport { Text } from '~components/Typography';\nimport { useTheme } from '~components/BladeProvider';\nimport { getInnerMotionRef, getOuterMotionRef } from '~utils/getMotionRefs';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\n\ntype OnChange = ({\n isChecked,\n event,\n value,\n}: {\n isChecked: boolean;\n event?: React.ChangeEvent;\n value?: string;\n}) => void;\n\nconst _Chip: React.ForwardRefRenderFunction<BladeElementRef, ChipProps> = (\n { isDisabled, value, children, icon: Icon, color, testID, _motionMeta, ...rest },\n ref,\n) => {\n const { theme } = useTheme();\n const { matchedDeviceType } = useBreakpoint({ breakpoints: theme.breakpoints });\n const groupProps = useChipGroupContext();\n const isInsideGroup = !isEmpty(groupProps);\n const [isPressed, setIsPressed] = React.useState(false);\n\n if (__DEV__) {\n if (!isInsideGroup) {\n throwBladeError({\n moduleName: 'Chip',\n message:\n '<Chip /> component should only be used within the context of a <ChipGroup /> component',\n });\n }\n }\n\n const hasError = groupProps?.validationState === 'error';\n const _isDisabled = isDisabled ?? groupProps?.isDisabled;\n const _isRequired = groupProps?.isRequired || groupProps?.necessityIndicator === 'required';\n const _name = groupProps?.name;\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\n const _isChecked = groupProps?.state?.isChecked(value!);\n // Check if the defaultValue property of groupProps is undefined\n const defaultChecked =\n typeof groupProps?.defaultValue === 'undefined'\n ? undefined // If undefined, defaultChecked is also undefined\n : groupProps?.defaultValue?.includes(value as string); // If multiple selection, check if value is in defaultValue array\n const useChip = groupProps?.selectionType === 'single' ? useRadio : useCheckbox;\n const _size = groupProps?.size || 'small';\n const chipColor = color ?? groupProps?.color ?? 'primary';\n\n const handleChange: OnChange = ({ isChecked, value }) => {\n if (isChecked) {\n groupProps?.state?.addValue(value!);\n } else {\n groupProps?.state?.removeValue(value!);\n }\n };\n\n const { state, inputProps } = useChip({\n defaultChecked,\n isChecked: _isChecked,\n isDisabled: _isDisabled,\n isRequired: _isRequired,\n hasError,\n name: _name,\n value,\n onChange: handleChange,\n });\n\n const handlePointerPressedIn = React.useCallback(() => {\n if (_isDisabled) return;\n setIsPressed(true);\n }, [_isDisabled]);\n\n const handlePointerPressedOut = React.useCallback(() => {\n if (_isDisabled) return;\n setIsPressed(false);\n }, [_isDisabled]);\n\n const handleKeyboardPressedIn = React.useCallback(\n (e: React.KeyboardEvent) => {\n if (_isDisabled) return;\n if (e.key === ' ') {\n setIsPressed(true);\n }\n },\n [_isDisabled],\n );\n\n const handleKeyboardPressedOut = React.useCallback(\n (e: React.KeyboardEvent) => {\n if (_isDisabled) return;\n if (e.key === ' ') {\n setIsPressed(false);\n }\n },\n [_isDisabled],\n );\n\n let textVariant = 'unchecked';\n if (_isChecked && chipColor) {\n textVariant = chipColor;\n }\n if (_isDisabled) {\n textVariant = 'disabled';\n }\n const chipTextColor = chipColorTokens.text[textVariant];\n const chipIconColor = chipColorTokens.icon[textVariant];\n\n let colorVariant = 'unchecked';\n const stateVariant = _isDisabled ? 'disabled' : 'default';\n if (_isChecked && chipColor) {\n colorVariant = chipColor;\n }\n const chipBackgroundColor = chipColorTokens.background[colorVariant][stateVariant];\n const chipBorderColor = chipColorTokens.border[colorVariant][stateVariant];\n\n return (\n <BaseBox\n {...metaAttribute({ name: MetaConstants.Chip, testID })}\n {...getStyledProps(rest)}\n {...makeAnalyticsAttribute(rest)}\n display={(isReactNative() ? 'flex' : 'inline-flex') as never}\n ref={getOuterMotionRef({ _motionMeta, ref })}\n >\n <SelectorLabel\n componentName={MetaConstants.ChipLabel}\n onTouchStart={handlePointerPressedIn}\n onTouchEnd={handlePointerPressedOut}\n onMouseDown={handlePointerPressedIn}\n onMouseUp={handlePointerPressedOut}\n onMouseOut={handlePointerPressedOut}\n onKeyDown={handleKeyboardPressedIn}\n onKeyUp={handleKeyboardPressedOut}\n inputProps={isReactNative() ? inputProps : {}}\n style={{ cursor: _isDisabled ? 'not-allowed' : 'pointer' }}\n >\n <BaseBox display=\"flex\" flexDirection=\"column\">\n <BaseBox display=\"flex\" alignItems=\"center\" flexDirection=\"row\">\n <SelectorInput\n hoverTokens={getChipInputHoverTokens(chipColor)}\n isChecked={state.isChecked}\n isDisabled={_isDisabled}\n inputProps={inputProps}\n hasError={hasError}\n ref={getInnerMotionRef({ _motionMeta, ref })}\n />\n <AnimatedChip\n borderColor={chipBorderColor}\n isDisabled={_isDisabled}\n isPressed={isPressed}\n isDesktop={matchedDeviceType === 'desktop'}\n >\n <StyledChipWrapper\n borderColor={chipBorderColor}\n isChecked={_isChecked}\n isDisabled={_isDisabled}\n color={chipColor}\n display=\"flex\"\n flexDirection=\"row\"\n justifyContent=\"center\"\n alignItems=\"center\"\n overflow=\"hidden\"\n backgroundColor={chipBackgroundColor}\n borderRadius=\"max\"\n borderWidth={['xsmall', 'small'].includes(_size) ? 'thinner' : 'thin'}\n paddingLeft={\n chipHorizontalPaddingTokens[Boolean(Icon) ? 'withIcon' : 'withoutIcon'].left[\n _size\n ]\n }\n paddingRight={\n chipHorizontalPaddingTokens[Boolean(Icon) ? 'withIcon' : 'withoutIcon'].right[\n _size\n ]\n }\n height={makeSize(chipHeightTokens[_size])}\n gap=\"spacing.3\"\n >\n {Icon ? (\n <BaseBox display=\"flex\">\n <Icon color={chipIconColor} size={chipIconSizes[_size]} />\n </BaseBox>\n ) : null}\n {children ? (\n <Text {...chipTextSizes[_size]} truncateAfterLines={1} color={chipTextColor}>\n {children}\n </Text>\n ) : null}\n </StyledChipWrapper>\n </AnimatedChip>\n </BaseBox>\n </BaseBox>\n </SelectorLabel>\n </BaseBox>\n );\n};\n\nconst Chip = assignWithoutSideEffects(React.forwardRef(_Chip), {\n displayName: 'Chip',\n});\n\nexport { Chip };\nexport type { ChipProps };\n"],"names":["_Chip","_ref","ref","_groupProps$state","_groupProps$defaultVa","_ref2","isDisabled","value","children","Icon","icon","color","testID","_motionMeta","rest","_objectWithoutProperties","_excluded","_useTheme","useTheme","theme","_useBreakpoint","useBreakpoint","breakpoints","matchedDeviceType","groupProps","useChipGroupContext","isInsideGroup","isEmpty","_React$useState","React","useState","_React$useState2","_slicedToArray","isPressed","setIsPressed","__DEV__","throwBladeError","moduleName","message","hasError","validationState","_isDisabled","_isRequired","isRequired","necessityIndicator","_name","name","_isChecked","state","isChecked","defaultChecked","defaultValue","undefined","includes","useChip","selectionType","useRadio","useCheckbox","_size","size","chipColor","handleChange","_ref3","_groupProps$state2","addValue","_groupProps$state3","removeValue","_useChip","onChange","inputProps","handlePointerPressedIn","useCallback","handlePointerPressedOut","handleKeyboardPressedIn","e","key","handleKeyboardPressedOut","textVariant","chipTextColor","chipColorTokens","text","chipIconColor","colorVariant","stateVariant","chipBackgroundColor","background","chipBorderColor","border","_jsx","BaseBox","Object","assign","metaAttribute","MetaConstants","Chip","getStyledProps","makeAnalyticsAttribute","display","isReactNative","getOuterMotionRef","SelectorLabel","componentName","ChipLabel","onTouchStart","onTouchEnd","onMouseDown","onMouseUp","onMouseOut","onKeyDown","onKeyUp","style","cursor","flexDirection","_jsxs","alignItems","SelectorInput","hoverTokens","getChipInputHoverTokens","getInnerMotionRef","AnimatedChip","borderColor","isDesktop","StyledChipWrapper","justifyContent","overflow","backgroundColor","borderRadius","borderWidth","paddingLeft","chipHorizontalPaddingTokens","Boolean","left","paddingRight","right","height","makeSize","chipHeightTokens","gap","chipIconSizes","Text","chipTextSizes","truncateAfterLines","assignWithoutSideEffects","forwardRef","displayName"],"mappings":"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"}
@@ -124,7 +124,9 @@ var _Avatar = function _Avatar(_ref, ref) {
124
124
  children: getInitials(name)
125
125
  }));
126
126
  }
127
- return /*#__PURE__*/jsx(AvatarButton, _objectSpread(_objectSpread({}, commonButtonProps), {}, {
127
+ return /*#__PURE__*/jsx(AvatarButton, _objectSpread(_objectSpread({
128
+ ref: ref
129
+ }, commonButtonProps), {}, {
128
130
  icon: icon !== null && icon !== void 0 ? icon : UserIcon
129
131
  }));
130
132
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Avatar.web.js","sources":["../../../../../../src/components/Avatar/Avatar.web.tsx"],"sourcesContent":["import React from 'react';\nimport type { AvatarProps } from './types';\nimport { StyledAvatar } from './StyledAvatar';\nimport { useAvatarGroupContext } from './AvatarGroupContext';\nimport { AvatarButton } from './AvatarButton';\nimport {\n avatarToBottomAddonSize,\n avatarToIndicatorSize,\n avatarTopAddonOffsets,\n} from './avatarTokens';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { throwBladeError } from '~utils/logger';\nimport { UserIcon } from '~components/Icons';\nimport type { BladeElementRef } from '~utils/types';\nimport BaseBox from '~components/Box/BaseBox';\nimport { getComponentId } from '~utils/isValidAllowedChildren';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\n\nconst getInitials = (name: string): string => {\n // Combine first and last name initials\n const names = name.trim().toUpperCase().split(' ');\n\n if (names.length === 1) {\n return names[0].substring(0, 2);\n }\n return names[0][0] + names[names.length - 1][0];\n};\n\nconst _Avatar: React.ForwardRefRenderFunction<BladeElementRef, AvatarProps> = (\n {\n name,\n color = 'neutral',\n size = 'medium',\n variant = 'circle',\n icon,\n href,\n target,\n rel,\n isSelected,\n bottomAddon: BottomAddon,\n topAddon,\n // Image Props\n src,\n alt,\n srcSet,\n crossOrigin,\n referrerPolicy,\n testID,\n // interaction props\n onBlur,\n onFocus,\n onClick,\n onMouseLeave,\n onMouseMove,\n onMouseDown,\n onPointerDown,\n onPointerEnter,\n onTouchStart,\n onTouchEnd,\n ...rest\n },\n ref,\n) => {\n if (__DEV__) {\n if (src && !alt && !name) {\n throwBladeError({\n moduleName: 'Avatar',\n message: '\"alt\" or \"name\" prop is required when the \"src\" prop is provided.',\n });\n }\n if (topAddon && getComponentId(topAddon) !== 'Indicator') {\n throwBladeError({\n moduleName: 'Avatar',\n message: 'TopAddon only accepts `Indicator` component.',\n });\n }\n }\n\n const groupProps = useAvatarGroupContext();\n const avatarSize = groupProps?.size ?? size;\n const isInteractive = Boolean(onClick || href);\n\n const commonButtonProps = {\n variant,\n color,\n size: avatarSize,\n href,\n target,\n rel,\n onBlur,\n onFocus,\n isSelected,\n onClick,\n onMouseLeave,\n onMouseMove,\n onMouseDown,\n onPointerDown,\n onPointerEnter,\n onTouchStart,\n onTouchEnd,\n };\n\n const getChildrenToRender = (): React.ReactElement => {\n if (src) {\n return (\n <AvatarButton\n {...commonButtonProps}\n ref={ref as never}\n imgProps={{\n src,\n alt: alt ?? name,\n srcSet,\n crossOrigin,\n referrerPolicy,\n }}\n />\n );\n }\n\n if (name && !src) {\n return (\n <AvatarButton ref={ref as never} {...commonButtonProps}>\n {getInitials(name)}\n </AvatarButton>\n );\n }\n\n return <AvatarButton {...commonButtonProps} icon={icon ?? UserIcon} />;\n };\n\n const isSquare = variant === 'square';\n return (\n <StyledAvatar\n {...metaAttribute({ name: MetaConstants.Avatar, testID })}\n {...getStyledProps(rest)}\n {...makeAnalyticsAttribute(rest)}\n backgroundColor=\"surface.background.gray.intense\"\n variant={variant}\n size={avatarSize}\n isInteractive={isInteractive}\n >\n <BaseBox width=\"100%\" height=\"100%\" position=\"relative\">\n {topAddon ? (\n <BaseBox\n position=\"absolute\"\n top={avatarTopAddonOffsets[variant][size].top}\n right={avatarTopAddonOffsets[variant][size].right}\n >\n {React.cloneElement(topAddon, { size: avatarToIndicatorSize[size], display: 'block' })}\n </BaseBox>\n ) : null}\n {getChildrenToRender()}\n {BottomAddon ? (\n <BaseBox\n position=\"absolute\"\n bottom={isSquare ? '-10%' : '0%'}\n right={isSquare ? '-10%' : '0%'}\n >\n <BottomAddon display=\"block\" size={avatarToBottomAddonSize[size]} />\n </BaseBox>\n ) : null}\n </BaseBox>\n </StyledAvatar>\n );\n};\n\n/**\n * ### Avatar Component\n * \n * An avatar component is a standardized visual representation of a user or entity.\n * \n * ---\n * \n * #### Usage\n * \n * ```jsx\n <Avatar name=\"Nitin Kumar\" src=\"https://avatars.githubusercontent.com/u/46647141?v=4\" /> \n * ```\n *\n * ---\n *\n * Checkout {@link https://blade.razorpay.com/?path=/docs/components-avatar-avatar Avatar Documentation}\n * \n */\nconst Avatar = assignWithoutSideEffects(React.forwardRef(_Avatar), {\n displayName: 'Avatar',\n componentId: 'Avatar',\n});\n\nexport { Avatar };\nexport type { AvatarProps };\n"],"names":["getInitials","name","names","trim","toUpperCase","split","length","substring","_Avatar","_ref","ref","_groupProps$size","_ref$color","color","_ref$size","size","_ref$variant","variant","icon","href","target","rel","isSelected","BottomAddon","bottomAddon","topAddon","src","alt","srcSet","crossOrigin","referrerPolicy","testID","onBlur","onFocus","onClick","onMouseLeave","onMouseMove","onMouseDown","onPointerDown","onPointerEnter","onTouchStart","onTouchEnd","rest","_objectWithoutProperties","_excluded","throwBladeError","moduleName","message","getComponentId","groupProps","useAvatarGroupContext","avatarSize","isInteractive","Boolean","commonButtonProps","getChildrenToRender","_jsx","AvatarButton","_objectSpread","imgProps","children","UserIcon","isSquare","StyledAvatar","metaAttribute","MetaConstants","Avatar","getStyledProps","makeAnalyticsAttribute","backgroundColor","_jsxs","BaseBox","width","height","position","top","avatarTopAddonOffsets","right","React","cloneElement","avatarToIndicatorSize","display","bottom","avatarToBottomAddonSize","assignWithoutSideEffects","forwardRef","displayName","componentId"],"mappings":"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"}
1
+ {"version":3,"file":"Avatar.web.js","sources":["../../../../../../src/components/Avatar/Avatar.web.tsx"],"sourcesContent":["import React from 'react';\nimport type { AvatarProps } from './types';\nimport { StyledAvatar } from './StyledAvatar';\nimport { useAvatarGroupContext } from './AvatarGroupContext';\nimport { AvatarButton } from './AvatarButton';\nimport {\n avatarToBottomAddonSize,\n avatarToIndicatorSize,\n avatarTopAddonOffsets,\n} from './avatarTokens';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { throwBladeError } from '~utils/logger';\nimport { UserIcon } from '~components/Icons';\nimport type { BladeElementRef } from '~utils/types';\nimport BaseBox from '~components/Box/BaseBox';\nimport { getComponentId } from '~utils/isValidAllowedChildren';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\n\nconst getInitials = (name: string): string => {\n // Combine first and last name initials\n const names = name.trim().toUpperCase().split(' ');\n\n if (names.length === 1) {\n return names[0].substring(0, 2);\n }\n return names[0][0] + names[names.length - 1][0];\n};\n\nconst _Avatar: React.ForwardRefRenderFunction<BladeElementRef, AvatarProps> = (\n {\n name,\n color = 'neutral',\n size = 'medium',\n variant = 'circle',\n icon,\n href,\n target,\n rel,\n isSelected,\n bottomAddon: BottomAddon,\n topAddon,\n // Image Props\n src,\n alt,\n srcSet,\n crossOrigin,\n referrerPolicy,\n testID,\n // interaction props\n onBlur,\n onFocus,\n onClick,\n onMouseLeave,\n onMouseMove,\n onMouseDown,\n onPointerDown,\n onPointerEnter,\n onTouchStart,\n onTouchEnd,\n ...rest\n },\n ref,\n) => {\n if (__DEV__) {\n if (src && !alt && !name) {\n throwBladeError({\n moduleName: 'Avatar',\n message: '\"alt\" or \"name\" prop is required when the \"src\" prop is provided.',\n });\n }\n if (topAddon && getComponentId(topAddon) !== 'Indicator') {\n throwBladeError({\n moduleName: 'Avatar',\n message: 'TopAddon only accepts `Indicator` component.',\n });\n }\n }\n\n const groupProps = useAvatarGroupContext();\n const avatarSize = groupProps?.size ?? size;\n const isInteractive = Boolean(onClick || href);\n\n const commonButtonProps = {\n variant,\n color,\n size: avatarSize,\n href,\n target,\n rel,\n onBlur,\n onFocus,\n isSelected,\n onClick,\n onMouseLeave,\n onMouseMove,\n onMouseDown,\n onPointerDown,\n onPointerEnter,\n onTouchStart,\n onTouchEnd,\n };\n\n const getChildrenToRender = (): React.ReactElement => {\n if (src) {\n return (\n <AvatarButton\n {...commonButtonProps}\n ref={ref as never}\n imgProps={{\n src,\n alt: alt ?? name,\n srcSet,\n crossOrigin,\n referrerPolicy,\n }}\n />\n );\n }\n\n if (name && !src) {\n return (\n <AvatarButton ref={ref as never} {...commonButtonProps}>\n {getInitials(name)}\n </AvatarButton>\n );\n }\n\n return <AvatarButton ref={ref as never} {...commonButtonProps} icon={icon ?? UserIcon} />;\n };\n\n const isSquare = variant === 'square';\n return (\n <StyledAvatar\n {...metaAttribute({ name: MetaConstants.Avatar, testID })}\n {...getStyledProps(rest)}\n {...makeAnalyticsAttribute(rest)}\n backgroundColor=\"surface.background.gray.intense\"\n variant={variant}\n size={avatarSize}\n isInteractive={isInteractive}\n >\n <BaseBox width=\"100%\" height=\"100%\" position=\"relative\">\n {topAddon ? (\n <BaseBox\n position=\"absolute\"\n top={avatarTopAddonOffsets[variant][size].top}\n right={avatarTopAddonOffsets[variant][size].right}\n >\n {React.cloneElement(topAddon, { size: avatarToIndicatorSize[size], display: 'block' })}\n </BaseBox>\n ) : null}\n {getChildrenToRender()}\n {BottomAddon ? (\n <BaseBox\n position=\"absolute\"\n bottom={isSquare ? '-10%' : '0%'}\n right={isSquare ? '-10%' : '0%'}\n >\n <BottomAddon display=\"block\" size={avatarToBottomAddonSize[size]} />\n </BaseBox>\n ) : null}\n </BaseBox>\n </StyledAvatar>\n );\n};\n\n/**\n * ### Avatar Component\n * \n * An avatar component is a standardized visual representation of a user or entity.\n * \n * ---\n * \n * #### Usage\n * \n * ```jsx\n <Avatar name=\"Nitin Kumar\" src=\"https://avatars.githubusercontent.com/u/46647141?v=4\" /> \n * ```\n *\n * ---\n *\n * Checkout {@link https://blade.razorpay.com/?path=/docs/components-avatar-avatar Avatar Documentation}\n * \n */\nconst Avatar = assignWithoutSideEffects(React.forwardRef(_Avatar), {\n displayName: 'Avatar',\n componentId: 'Avatar',\n});\n\nexport { Avatar };\nexport type { AvatarProps };\n"],"names":["getInitials","name","names","trim","toUpperCase","split","length","substring","_Avatar","_ref","ref","_groupProps$size","_ref$color","color","_ref$size","size","_ref$variant","variant","icon","href","target","rel","isSelected","BottomAddon","bottomAddon","topAddon","src","alt","srcSet","crossOrigin","referrerPolicy","testID","onBlur","onFocus","onClick","onMouseLeave","onMouseMove","onMouseDown","onPointerDown","onPointerEnter","onTouchStart","onTouchEnd","rest","_objectWithoutProperties","_excluded","throwBladeError","moduleName","message","getComponentId","groupProps","useAvatarGroupContext","avatarSize","isInteractive","Boolean","commonButtonProps","getChildrenToRender","_jsx","AvatarButton","_objectSpread","imgProps","children","UserIcon","isSquare","StyledAvatar","metaAttribute","MetaConstants","Avatar","getStyledProps","makeAnalyticsAttribute","backgroundColor","_jsxs","BaseBox","width","height","position","top","avatarTopAddonOffsets","right","React","cloneElement","avatarToIndicatorSize","display","bottom","avatarToBottomAddonSize","assignWithoutSideEffects","forwardRef","displayName","componentId"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoBA,IAAMA,WAAW,GAAG,SAAdA,WAAWA,CAAIC,IAAY,EAAa;AAC5C;AACA,EAAA,IAAMC,KAAK,GAAGD,IAAI,CAACE,IAAI,EAAE,CAACC,WAAW,EAAE,CAACC,KAAK,CAAC,GAAG,CAAC,CAAA;AAElD,EAAA,IAAIH,KAAK,CAACI,MAAM,KAAK,CAAC,EAAE;IACtB,OAAOJ,KAAK,CAAC,CAAC,CAAC,CAACK,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AACjC,GAAA;AACA,EAAA,OAAOL,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAGA,KAAK,CAACA,KAAK,CAACI,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AACjD,CAAC,CAAA;AAED,IAAME,OAAqE,GAAG,SAAxEA,OAAqEA,CAAAC,IAAA,EAiCzEC,GAAG,EACA;AAAA,EAAA,IAAAC,gBAAA,CAAA;AAAA,EAAA,IAhCDV,IAAI,GAAAQ,IAAA,CAAJR,IAAI;IAAAW,UAAA,GAAAH,IAAA,CACJI,KAAK;AAALA,IAAAA,KAAK,GAAAD,UAAA,KAAG,KAAA,CAAA,GAAA,SAAS,GAAAA,UAAA;IAAAE,SAAA,GAAAL,IAAA,CACjBM,IAAI;AAAJA,IAAAA,IAAI,GAAAD,SAAA,KAAG,KAAA,CAAA,GAAA,QAAQ,GAAAA,SAAA;IAAAE,YAAA,GAAAP,IAAA,CACfQ,OAAO;AAAPA,IAAAA,OAAO,GAAAD,YAAA,KAAG,KAAA,CAAA,GAAA,QAAQ,GAAAA,YAAA;IAClBE,IAAI,GAAAT,IAAA,CAAJS,IAAI;IACJC,IAAI,GAAAV,IAAA,CAAJU,IAAI;IACJC,MAAM,GAAAX,IAAA,CAANW,MAAM;IACNC,GAAG,GAAAZ,IAAA,CAAHY,GAAG;IACHC,UAAU,GAAAb,IAAA,CAAVa,UAAU;IACGC,WAAW,GAAAd,IAAA,CAAxBe,WAAW;IACXC,QAAQ,GAAAhB,IAAA,CAARgB,QAAQ;IAERC,GAAG,GAAAjB,IAAA,CAAHiB,GAAG;IACHC,GAAG,GAAAlB,IAAA,CAAHkB,GAAG;IACHC,MAAM,GAAAnB,IAAA,CAANmB,MAAM;IACNC,WAAW,GAAApB,IAAA,CAAXoB,WAAW;IACXC,cAAc,GAAArB,IAAA,CAAdqB,cAAc;IACdC,MAAM,GAAAtB,IAAA,CAANsB,MAAM;IAENC,MAAM,GAAAvB,IAAA,CAANuB,MAAM;IACNC,OAAO,GAAAxB,IAAA,CAAPwB,OAAO;IACPC,OAAO,GAAAzB,IAAA,CAAPyB,OAAO;IACPC,YAAY,GAAA1B,IAAA,CAAZ0B,YAAY;IACZC,WAAW,GAAA3B,IAAA,CAAX2B,WAAW;IACXC,WAAW,GAAA5B,IAAA,CAAX4B,WAAW;IACXC,aAAa,GAAA7B,IAAA,CAAb6B,aAAa;IACbC,cAAc,GAAA9B,IAAA,CAAd8B,cAAc;IACdC,YAAY,GAAA/B,IAAA,CAAZ+B,YAAY;IACZC,UAAU,GAAAhC,IAAA,CAAVgC,UAAU;AACPC,IAAAA,IAAI,GAAAC,wBAAA,CAAAlC,IAAA,EAAAmC,SAAA,CAAA,CAAA;AAIT,EAAA,IAAI,IAAO,EAAE;AACX,IAAA,IAAIlB,GAAG,IAAI,CAACC,GAAG,IAAI,CAAC1B,IAAI,EAAE;AACxB4C,MAAAA,eAAe,CAAC;AACdC,QAAAA,UAAU,EAAE,QAAQ;AACpBC,QAAAA,OAAO,EAAE,mEAAA;AACX,OAAC,CAAC,CAAA;AACJ,KAAA;IACA,IAAItB,QAAQ,IAAIuB,cAAc,CAACvB,QAAQ,CAAC,KAAK,WAAW,EAAE;AACxDoB,MAAAA,eAAe,CAAC;AACdC,QAAAA,UAAU,EAAE,QAAQ;AACpBC,QAAAA,OAAO,EAAE,8CAAA;AACX,OAAC,CAAC,CAAA;AACJ,KAAA;AACF,GAAA;AAEA,EAAA,IAAME,UAAU,GAAGC,qBAAqB,EAAE,CAAA;AAC1C,EAAA,IAAMC,UAAU,GAAAxC,CAAAA,gBAAA,GAAGsC,UAAU,aAAVA,UAAU,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAVA,UAAU,CAAElC,IAAI,MAAAJ,IAAAA,IAAAA,gBAAA,KAAAA,KAAAA,CAAAA,GAAAA,gBAAA,GAAII,IAAI,CAAA;AAC3C,EAAA,IAAMqC,aAAa,GAAGC,OAAO,CAACnB,OAAO,IAAIf,IAAI,CAAC,CAAA;AAE9C,EAAA,IAAMmC,iBAAiB,GAAG;AACxBrC,IAAAA,OAAO,EAAPA,OAAO;AACPJ,IAAAA,KAAK,EAALA,KAAK;AACLE,IAAAA,IAAI,EAAEoC,UAAU;AAChBhC,IAAAA,IAAI,EAAJA,IAAI;AACJC,IAAAA,MAAM,EAANA,MAAM;AACNC,IAAAA,GAAG,EAAHA,GAAG;AACHW,IAAAA,MAAM,EAANA,MAAM;AACNC,IAAAA,OAAO,EAAPA,OAAO;AACPX,IAAAA,UAAU,EAAVA,UAAU;AACVY,IAAAA,OAAO,EAAPA,OAAO;AACPC,IAAAA,YAAY,EAAZA,YAAY;AACZC,IAAAA,WAAW,EAAXA,WAAW;AACXC,IAAAA,WAAW,EAAXA,WAAW;AACXC,IAAAA,aAAa,EAAbA,aAAa;AACbC,IAAAA,cAAc,EAAdA,cAAc;AACdC,IAAAA,YAAY,EAAZA,YAAY;AACZC,IAAAA,UAAU,EAAVA,UAAAA;GACD,CAAA;AAED,EAAA,IAAMc,mBAAmB,GAAG,SAAtBA,mBAAmBA,GAA6B;AACpD,IAAA,IAAI7B,GAAG,EAAE;MACP,oBACE8B,GAAA,CAACC,YAAY,EAAAC,aAAA,CAAAA,aAAA,KACPJ,iBAAiB,CAAA,EAAA,EAAA,EAAA;AACrB5C,QAAAA,GAAG,EAAEA,GAAa;AAClBiD,QAAAA,QAAQ,EAAE;AACRjC,UAAAA,GAAG,EAAHA,GAAG;AACHC,UAAAA,GAAG,EAAEA,GAAG,KAAA,IAAA,IAAHA,GAAG,KAAHA,KAAAA,CAAAA,GAAAA,GAAG,GAAI1B,IAAI;AAChB2B,UAAAA,MAAM,EAANA,MAAM;AACNC,UAAAA,WAAW,EAAXA,WAAW;AACXC,UAAAA,cAAc,EAAdA,cAAAA;AACF,SAAA;AAAE,OAAA,CACH,CAAC,CAAA;AAEN,KAAA;AAEA,IAAA,IAAI7B,IAAI,IAAI,CAACyB,GAAG,EAAE;AAChB,MAAA,oBACE8B,GAAA,CAACC,YAAY,EAAAC,aAAA,CAAAA,aAAA,CAAA;AAAChD,QAAAA,GAAG,EAAEA,GAAAA;AAAa,OAAA,EAAK4C,iBAAiB,CAAA,EAAA,EAAA,EAAA;QAAAM,QAAA,EACnD5D,WAAW,CAACC,IAAI,CAAA;AAAC,OAAA,CACN,CAAC,CAAA;AAEnB,KAAA;AAEA,IAAA,oBAAOuD,GAAA,CAACC,YAAY,EAAAC,aAAA,CAAAA,aAAA,CAAA;AAAChD,MAAAA,GAAG,EAAEA,GAAAA;AAAa,KAAA,EAAK4C,iBAAiB,CAAA,EAAA,EAAA,EAAA;AAAEpC,MAAAA,IAAI,EAAEA,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,KAAA,CAAA,GAAJA,IAAI,GAAI2C,QAAAA;AAAS,KAAA,CAAE,CAAC,CAAA;GAC1F,CAAA;AAED,EAAA,IAAMC,QAAQ,GAAG7C,OAAO,KAAK,QAAQ,CAAA;AACrC,EAAA,oBACEuC,GAAA,CAACO,YAAY,EAAAL,aAAA,CAAAA,aAAA,CAAAA,aAAA,CAAAA,aAAA,CAAA,EAAA,EACPM,aAAa,CAAC;IAAE/D,IAAI,EAAEgE,aAAa,CAACC,MAAM;AAAEnC,IAAAA,MAAM,EAANA,MAAAA;GAAQ,CAAC,CACrDoC,EAAAA,cAAc,CAACzB,IAAI,CAAC,CACpB0B,EAAAA,sBAAsB,CAAC1B,IAAI,CAAC,CAAA,EAAA,EAAA,EAAA;AAChC2B,IAAAA,eAAe,EAAC,iCAAiC;AACjDpD,IAAAA,OAAO,EAAEA,OAAQ;AACjBF,IAAAA,IAAI,EAAEoC,UAAW;AACjBC,IAAAA,aAAa,EAAEA,aAAc;IAAAQ,QAAA,eAE7BU,IAAA,CAACC,OAAO,EAAA;AAACC,MAAAA,KAAK,EAAC,MAAM;AAACC,MAAAA,MAAM,EAAC,MAAM;AAACC,MAAAA,QAAQ,EAAC,UAAU;AAAAd,MAAAA,QAAA,EACpDnC,CAAAA,QAAQ,gBACP+B,GAAA,CAACe,OAAO,EAAA;AACNG,QAAAA,QAAQ,EAAC,UAAU;QACnBC,GAAG,EAAEC,qBAAqB,CAAC3D,OAAO,CAAC,CAACF,IAAI,CAAC,CAAC4D,GAAI;QAC9CE,KAAK,EAAED,qBAAqB,CAAC3D,OAAO,CAAC,CAACF,IAAI,CAAC,CAAC8D,KAAM;AAAAjB,QAAAA,QAAA,eAEjDkB,cAAK,CAACC,YAAY,CAACtD,QAAQ,EAAE;AAAEV,UAAAA,IAAI,EAAEiE,qBAAqB,CAACjE,IAAI,CAAC;AAAEkE,UAAAA,OAAO,EAAE,OAAA;SAAS,CAAA;AAAC,OAC/E,CAAC,GACR,IAAI,EACP1B,mBAAmB,EAAE,EACrBhC,WAAW,gBACViC,GAAA,CAACe,OAAO,EAAA;AACNG,QAAAA,QAAQ,EAAC,UAAU;AACnBQ,QAAAA,MAAM,EAAEpB,QAAQ,GAAG,MAAM,GAAG,IAAK;AACjCe,QAAAA,KAAK,EAAEf,QAAQ,GAAG,MAAM,GAAG,IAAK;QAAAF,QAAA,eAEhCJ,GAAA,CAACjC,WAAW,EAAA;AAAC0D,UAAAA,OAAO,EAAC,OAAO;UAAClE,IAAI,EAAEoE,uBAAuB,CAACpE,IAAI,CAAA;SAAI,CAAA;OAC5D,CAAC,GACR,IAAI,CAAA;KACD,CAAA;AAAC,GAAA,CACE,CAAC,CAAA;AAEnB,CAAC,CAAA;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACMmD,IAAAA,MAAM,gBAAGkB,wBAAwB,eAACN,cAAK,CAACO,UAAU,CAAC7E,OAAO,CAAC,EAAE;AACjE8E,EAAAA,WAAW,EAAE,QAAQ;AACrBC,EAAAA,WAAW,EAAE,QAAA;AACf,CAAC;;;;"}
@@ -199,18 +199,18 @@ var _Chip = function _Chip(_ref, ref) {
199
199
  paddingLeft: chipHorizontalPaddingTokens[Boolean(Icon) ? 'withIcon' : 'withoutIcon'].left[_size],
200
200
  paddingRight: chipHorizontalPaddingTokens[Boolean(Icon) ? 'withIcon' : 'withoutIcon'].right[_size],
201
201
  height: makeSize(chipHeightTokens[_size]),
202
+ gap: "spacing.3",
202
203
  children: [Icon ? /*#__PURE__*/jsx(BaseBox, {
203
- paddingRight: "spacing.3",
204
204
  display: "flex",
205
205
  children: /*#__PURE__*/jsx(Icon, {
206
206
  color: chipIconColor,
207
207
  size: chipIconSizes[_size]
208
208
  })
209
- }) : null, /*#__PURE__*/jsx(Text, _objectSpread(_objectSpread({}, chipTextSizes[_size]), {}, {
209
+ }) : null, children ? /*#__PURE__*/jsx(Text, _objectSpread(_objectSpread({}, chipTextSizes[_size]), {}, {
210
210
  truncateAfterLines: 1,
211
211
  color: chipTextColor,
212
212
  children: children
213
- }))]
213
+ })) : null]
214
214
  })
215
215
  })]
216
216
  })
@@ -1 +1 @@
1
- {"version":3,"file":"Chip.js","sources":["../../../../../../src/components/Chip/Chip.tsx"],"sourcesContent":["import React from 'react';\nimport { useChipGroupContext } from './ChipGroupContext';\nimport {\n chipIconSizes,\n chipTextSizes,\n chipColorTokens,\n getChipInputHoverTokens,\n chipHeightTokens,\n chipHorizontalPaddingTokens,\n} from './chipTokens';\nimport type { ChipProps } from './types';\nimport { AnimatedChip } from './AnimatedChip';\nimport { StyledChipWrapper } from './StyledChipWrapper';\nimport isEmpty from '~utils/lodashButBetter/isEmpty';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport BaseBox from '~components/Box/BaseBox';\nimport { SelectorLabel } from '~components/Form/Selector/SelectorLabel';\nimport { SelectorInput } from '~components/Form/Selector/SelectorInput';\nimport type { BladeElementRef } from '~utils/types';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { throwBladeError } from '~utils/logger';\nimport { useCheckbox } from '~components/Checkbox/useCheckbox';\nimport { useRadio } from '~components/Radio/useRadio';\nimport { isReactNative, makeSize, useBreakpoint } from '~utils';\nimport { Text } from '~components/Typography';\nimport { useTheme } from '~components/BladeProvider';\nimport { getInnerMotionRef, getOuterMotionRef } from '~utils/getMotionRefs';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\n\ntype OnChange = ({\n isChecked,\n event,\n value,\n}: {\n isChecked: boolean;\n event?: React.ChangeEvent;\n value?: string;\n}) => void;\n\nconst _Chip: React.ForwardRefRenderFunction<BladeElementRef, ChipProps> = (\n { isDisabled, value, children, icon: Icon, color, testID, _motionMeta, ...rest },\n ref,\n) => {\n const { theme } = useTheme();\n const { matchedDeviceType } = useBreakpoint({ breakpoints: theme.breakpoints });\n const groupProps = useChipGroupContext();\n const isInsideGroup = !isEmpty(groupProps);\n const [isPressed, setIsPressed] = React.useState(false);\n\n if (__DEV__) {\n if (!isInsideGroup) {\n throwBladeError({\n moduleName: 'Chip',\n message:\n '<Chip /> component should only be used within the context of a <ChipGroup /> component',\n });\n }\n }\n\n const hasError = groupProps?.validationState === 'error';\n const _isDisabled = isDisabled ?? groupProps?.isDisabled;\n const _isRequired = groupProps?.isRequired || groupProps?.necessityIndicator === 'required';\n const _name = groupProps?.name;\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\n const _isChecked = groupProps?.state?.isChecked(value!);\n // Check if the defaultValue property of groupProps is undefined\n const defaultChecked =\n typeof groupProps?.defaultValue === 'undefined'\n ? undefined // If undefined, defaultChecked is also undefined\n : groupProps?.defaultValue?.includes(value as string); // If multiple selection, check if value is in defaultValue array\n const useChip = groupProps?.selectionType === 'single' ? useRadio : useCheckbox;\n const _size = groupProps?.size || 'small';\n const chipColor = color ?? groupProps?.color ?? 'primary';\n\n const handleChange: OnChange = ({ isChecked, value }) => {\n if (isChecked) {\n groupProps?.state?.addValue(value!);\n } else {\n groupProps?.state?.removeValue(value!);\n }\n };\n\n const { state, inputProps } = useChip({\n defaultChecked,\n isChecked: _isChecked,\n isDisabled: _isDisabled,\n isRequired: _isRequired,\n hasError,\n name: _name,\n value,\n onChange: handleChange,\n });\n\n const handlePointerPressedIn = React.useCallback(() => {\n if (_isDisabled) return;\n setIsPressed(true);\n }, [_isDisabled]);\n\n const handlePointerPressedOut = React.useCallback(() => {\n if (_isDisabled) return;\n setIsPressed(false);\n }, [_isDisabled]);\n\n const handleKeyboardPressedIn = React.useCallback(\n (e: React.KeyboardEvent) => {\n if (_isDisabled) return;\n if (e.key === ' ') {\n setIsPressed(true);\n }\n },\n [_isDisabled],\n );\n\n const handleKeyboardPressedOut = React.useCallback(\n (e: React.KeyboardEvent) => {\n if (_isDisabled) return;\n if (e.key === ' ') {\n setIsPressed(false);\n }\n },\n [_isDisabled],\n );\n\n let textVariant = 'unchecked';\n if (_isChecked && chipColor) {\n textVariant = chipColor;\n }\n if (_isDisabled) {\n textVariant = 'disabled';\n }\n const chipTextColor = chipColorTokens.text[textVariant];\n const chipIconColor = chipColorTokens.icon[textVariant];\n\n let colorVariant = 'unchecked';\n const stateVariant = _isDisabled ? 'disabled' : 'default';\n if (_isChecked && chipColor) {\n colorVariant = chipColor;\n }\n const chipBackgroundColor = chipColorTokens.background[colorVariant][stateVariant];\n const chipBorderColor = chipColorTokens.border[colorVariant][stateVariant];\n\n return (\n <BaseBox\n {...metaAttribute({ name: MetaConstants.Chip, testID })}\n {...getStyledProps(rest)}\n {...makeAnalyticsAttribute(rest)}\n display={(isReactNative() ? 'flex' : 'inline-flex') as never}\n ref={getOuterMotionRef({ _motionMeta, ref })}\n >\n <SelectorLabel\n componentName={MetaConstants.ChipLabel}\n onTouchStart={handlePointerPressedIn}\n onTouchEnd={handlePointerPressedOut}\n onMouseDown={handlePointerPressedIn}\n onMouseUp={handlePointerPressedOut}\n onMouseOut={handlePointerPressedOut}\n onKeyDown={handleKeyboardPressedIn}\n onKeyUp={handleKeyboardPressedOut}\n inputProps={isReactNative() ? inputProps : {}}\n style={{ cursor: _isDisabled ? 'not-allowed' : 'pointer' }}\n >\n <BaseBox display=\"flex\" flexDirection=\"column\">\n <BaseBox display=\"flex\" alignItems=\"center\" flexDirection=\"row\">\n <SelectorInput\n hoverTokens={getChipInputHoverTokens(chipColor)}\n isChecked={state.isChecked}\n isDisabled={_isDisabled}\n inputProps={inputProps}\n hasError={hasError}\n ref={getInnerMotionRef({ _motionMeta, ref })}\n />\n <AnimatedChip\n borderColor={chipBorderColor}\n isDisabled={_isDisabled}\n isPressed={isPressed}\n isDesktop={matchedDeviceType === 'desktop'}\n >\n <StyledChipWrapper\n borderColor={chipBorderColor}\n isChecked={_isChecked}\n isDisabled={_isDisabled}\n color={chipColor}\n display=\"flex\"\n flexDirection=\"row\"\n justifyContent=\"center\"\n alignItems=\"center\"\n overflow=\"hidden\"\n backgroundColor={chipBackgroundColor}\n borderRadius=\"max\"\n borderWidth={['xsmall', 'small'].includes(_size) ? 'thinner' : 'thin'}\n paddingLeft={\n chipHorizontalPaddingTokens[Boolean(Icon) ? 'withIcon' : 'withoutIcon'].left[\n _size\n ]\n }\n paddingRight={\n chipHorizontalPaddingTokens[Boolean(Icon) ? 'withIcon' : 'withoutIcon'].right[\n _size\n ]\n }\n height={makeSize(chipHeightTokens[_size])}\n >\n {Icon ? (\n <BaseBox paddingRight=\"spacing.3\" display=\"flex\">\n <Icon color={chipIconColor} size={chipIconSizes[_size]} />\n </BaseBox>\n ) : null}\n <Text {...chipTextSizes[_size]} truncateAfterLines={1} color={chipTextColor}>\n {children}\n </Text>\n </StyledChipWrapper>\n </AnimatedChip>\n </BaseBox>\n </BaseBox>\n </SelectorLabel>\n </BaseBox>\n );\n};\n\nconst Chip = assignWithoutSideEffects(React.forwardRef(_Chip), {\n displayName: 'Chip',\n});\n\nexport { Chip };\nexport type { ChipProps };\n"],"names":["_Chip","_ref","ref","_groupProps$state","_groupProps$defaultVa","_ref2","isDisabled","value","children","Icon","icon","color","testID","_motionMeta","rest","_objectWithoutProperties","_excluded","_useTheme","useTheme","theme","_useBreakpoint","useBreakpoint","breakpoints","matchedDeviceType","groupProps","useChipGroupContext","isInsideGroup","isEmpty","_React$useState","React","useState","_React$useState2","_slicedToArray","isPressed","setIsPressed","throwBladeError","moduleName","message","hasError","validationState","_isDisabled","_isRequired","isRequired","necessityIndicator","_name","name","_isChecked","state","isChecked","defaultChecked","defaultValue","undefined","includes","useChip","selectionType","useRadio","useCheckbox","_size","size","chipColor","handleChange","_ref3","_groupProps$state2","addValue","_groupProps$state3","removeValue","_useChip","onChange","inputProps","handlePointerPressedIn","useCallback","handlePointerPressedOut","handleKeyboardPressedIn","e","key","handleKeyboardPressedOut","textVariant","chipTextColor","chipColorTokens","text","chipIconColor","colorVariant","stateVariant","chipBackgroundColor","background","chipBorderColor","border","_jsx","BaseBox","_objectSpread","metaAttribute","MetaConstants","Chip","getStyledProps","makeAnalyticsAttribute","display","isReactNative","getOuterMotionRef","SelectorLabel","componentName","ChipLabel","onTouchStart","onTouchEnd","onMouseDown","onMouseUp","onMouseOut","onKeyDown","onKeyUp","style","cursor","flexDirection","_jsxs","alignItems","SelectorInput","hoverTokens","getChipInputHoverTokens","getInnerMotionRef","AnimatedChip","borderColor","isDesktop","StyledChipWrapper","justifyContent","overflow","backgroundColor","borderRadius","borderWidth","paddingLeft","chipHorizontalPaddingTokens","Boolean","left","paddingRight","right","height","makeSize","chipHeightTokens","chipIconSizes","Text","chipTextSizes","truncateAfterLines","assignWithoutSideEffects","forwardRef","displayName"],"mappings":"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"}
1
+ {"version":3,"file":"Chip.js","sources":["../../../../../../src/components/Chip/Chip.tsx"],"sourcesContent":["import React from 'react';\nimport { useChipGroupContext } from './ChipGroupContext';\nimport {\n chipIconSizes,\n chipTextSizes,\n chipColorTokens,\n getChipInputHoverTokens,\n chipHeightTokens,\n chipHorizontalPaddingTokens,\n} from './chipTokens';\nimport type { ChipProps } from './types';\nimport { AnimatedChip } from './AnimatedChip';\nimport { StyledChipWrapper } from './StyledChipWrapper';\nimport isEmpty from '~utils/lodashButBetter/isEmpty';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport BaseBox from '~components/Box/BaseBox';\nimport { SelectorLabel } from '~components/Form/Selector/SelectorLabel';\nimport { SelectorInput } from '~components/Form/Selector/SelectorInput';\nimport type { BladeElementRef } from '~utils/types';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { throwBladeError } from '~utils/logger';\nimport { useCheckbox } from '~components/Checkbox/useCheckbox';\nimport { useRadio } from '~components/Radio/useRadio';\nimport { isReactNative, makeSize, useBreakpoint } from '~utils';\nimport { Text } from '~components/Typography';\nimport { useTheme } from '~components/BladeProvider';\nimport { getInnerMotionRef, getOuterMotionRef } from '~utils/getMotionRefs';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\n\ntype OnChange = ({\n isChecked,\n event,\n value,\n}: {\n isChecked: boolean;\n event?: React.ChangeEvent;\n value?: string;\n}) => void;\n\nconst _Chip: React.ForwardRefRenderFunction<BladeElementRef, ChipProps> = (\n { isDisabled, value, children, icon: Icon, color, testID, _motionMeta, ...rest },\n ref,\n) => {\n const { theme } = useTheme();\n const { matchedDeviceType } = useBreakpoint({ breakpoints: theme.breakpoints });\n const groupProps = useChipGroupContext();\n const isInsideGroup = !isEmpty(groupProps);\n const [isPressed, setIsPressed] = React.useState(false);\n\n if (__DEV__) {\n if (!isInsideGroup) {\n throwBladeError({\n moduleName: 'Chip',\n message:\n '<Chip /> component should only be used within the context of a <ChipGroup /> component',\n });\n }\n }\n\n const hasError = groupProps?.validationState === 'error';\n const _isDisabled = isDisabled ?? groupProps?.isDisabled;\n const _isRequired = groupProps?.isRequired || groupProps?.necessityIndicator === 'required';\n const _name = groupProps?.name;\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\n const _isChecked = groupProps?.state?.isChecked(value!);\n // Check if the defaultValue property of groupProps is undefined\n const defaultChecked =\n typeof groupProps?.defaultValue === 'undefined'\n ? undefined // If undefined, defaultChecked is also undefined\n : groupProps?.defaultValue?.includes(value as string); // If multiple selection, check if value is in defaultValue array\n const useChip = groupProps?.selectionType === 'single' ? useRadio : useCheckbox;\n const _size = groupProps?.size || 'small';\n const chipColor = color ?? groupProps?.color ?? 'primary';\n\n const handleChange: OnChange = ({ isChecked, value }) => {\n if (isChecked) {\n groupProps?.state?.addValue(value!);\n } else {\n groupProps?.state?.removeValue(value!);\n }\n };\n\n const { state, inputProps } = useChip({\n defaultChecked,\n isChecked: _isChecked,\n isDisabled: _isDisabled,\n isRequired: _isRequired,\n hasError,\n name: _name,\n value,\n onChange: handleChange,\n });\n\n const handlePointerPressedIn = React.useCallback(() => {\n if (_isDisabled) return;\n setIsPressed(true);\n }, [_isDisabled]);\n\n const handlePointerPressedOut = React.useCallback(() => {\n if (_isDisabled) return;\n setIsPressed(false);\n }, [_isDisabled]);\n\n const handleKeyboardPressedIn = React.useCallback(\n (e: React.KeyboardEvent) => {\n if (_isDisabled) return;\n if (e.key === ' ') {\n setIsPressed(true);\n }\n },\n [_isDisabled],\n );\n\n const handleKeyboardPressedOut = React.useCallback(\n (e: React.KeyboardEvent) => {\n if (_isDisabled) return;\n if (e.key === ' ') {\n setIsPressed(false);\n }\n },\n [_isDisabled],\n );\n\n let textVariant = 'unchecked';\n if (_isChecked && chipColor) {\n textVariant = chipColor;\n }\n if (_isDisabled) {\n textVariant = 'disabled';\n }\n const chipTextColor = chipColorTokens.text[textVariant];\n const chipIconColor = chipColorTokens.icon[textVariant];\n\n let colorVariant = 'unchecked';\n const stateVariant = _isDisabled ? 'disabled' : 'default';\n if (_isChecked && chipColor) {\n colorVariant = chipColor;\n }\n const chipBackgroundColor = chipColorTokens.background[colorVariant][stateVariant];\n const chipBorderColor = chipColorTokens.border[colorVariant][stateVariant];\n\n return (\n <BaseBox\n {...metaAttribute({ name: MetaConstants.Chip, testID })}\n {...getStyledProps(rest)}\n {...makeAnalyticsAttribute(rest)}\n display={(isReactNative() ? 'flex' : 'inline-flex') as never}\n ref={getOuterMotionRef({ _motionMeta, ref })}\n >\n <SelectorLabel\n componentName={MetaConstants.ChipLabel}\n onTouchStart={handlePointerPressedIn}\n onTouchEnd={handlePointerPressedOut}\n onMouseDown={handlePointerPressedIn}\n onMouseUp={handlePointerPressedOut}\n onMouseOut={handlePointerPressedOut}\n onKeyDown={handleKeyboardPressedIn}\n onKeyUp={handleKeyboardPressedOut}\n inputProps={isReactNative() ? inputProps : {}}\n style={{ cursor: _isDisabled ? 'not-allowed' : 'pointer' }}\n >\n <BaseBox display=\"flex\" flexDirection=\"column\">\n <BaseBox display=\"flex\" alignItems=\"center\" flexDirection=\"row\">\n <SelectorInput\n hoverTokens={getChipInputHoverTokens(chipColor)}\n isChecked={state.isChecked}\n isDisabled={_isDisabled}\n inputProps={inputProps}\n hasError={hasError}\n ref={getInnerMotionRef({ _motionMeta, ref })}\n />\n <AnimatedChip\n borderColor={chipBorderColor}\n isDisabled={_isDisabled}\n isPressed={isPressed}\n isDesktop={matchedDeviceType === 'desktop'}\n >\n <StyledChipWrapper\n borderColor={chipBorderColor}\n isChecked={_isChecked}\n isDisabled={_isDisabled}\n color={chipColor}\n display=\"flex\"\n flexDirection=\"row\"\n justifyContent=\"center\"\n alignItems=\"center\"\n overflow=\"hidden\"\n backgroundColor={chipBackgroundColor}\n borderRadius=\"max\"\n borderWidth={['xsmall', 'small'].includes(_size) ? 'thinner' : 'thin'}\n paddingLeft={\n chipHorizontalPaddingTokens[Boolean(Icon) ? 'withIcon' : 'withoutIcon'].left[\n _size\n ]\n }\n paddingRight={\n chipHorizontalPaddingTokens[Boolean(Icon) ? 'withIcon' : 'withoutIcon'].right[\n _size\n ]\n }\n height={makeSize(chipHeightTokens[_size])}\n gap=\"spacing.3\"\n >\n {Icon ? (\n <BaseBox display=\"flex\">\n <Icon color={chipIconColor} size={chipIconSizes[_size]} />\n </BaseBox>\n ) : null}\n {children ? (\n <Text {...chipTextSizes[_size]} truncateAfterLines={1} color={chipTextColor}>\n {children}\n </Text>\n ) : null}\n </StyledChipWrapper>\n </AnimatedChip>\n </BaseBox>\n </BaseBox>\n </SelectorLabel>\n </BaseBox>\n );\n};\n\nconst Chip = assignWithoutSideEffects(React.forwardRef(_Chip), {\n displayName: 'Chip',\n});\n\nexport { Chip };\nexport type { ChipProps };\n"],"names":["_Chip","_ref","ref","_groupProps$state","_groupProps$defaultVa","_ref2","isDisabled","value","children","Icon","icon","color","testID","_motionMeta","rest","_objectWithoutProperties","_excluded","_useTheme","useTheme","theme","_useBreakpoint","useBreakpoint","breakpoints","matchedDeviceType","groupProps","useChipGroupContext","isInsideGroup","isEmpty","_React$useState","React","useState","_React$useState2","_slicedToArray","isPressed","setIsPressed","throwBladeError","moduleName","message","hasError","validationState","_isDisabled","_isRequired","isRequired","necessityIndicator","_name","name","_isChecked","state","isChecked","defaultChecked","defaultValue","undefined","includes","useChip","selectionType","useRadio","useCheckbox","_size","size","chipColor","handleChange","_ref3","_groupProps$state2","addValue","_groupProps$state3","removeValue","_useChip","onChange","inputProps","handlePointerPressedIn","useCallback","handlePointerPressedOut","handleKeyboardPressedIn","e","key","handleKeyboardPressedOut","textVariant","chipTextColor","chipColorTokens","text","chipIconColor","colorVariant","stateVariant","chipBackgroundColor","background","chipBorderColor","border","_jsx","BaseBox","_objectSpread","metaAttribute","MetaConstants","Chip","getStyledProps","makeAnalyticsAttribute","display","isReactNative","getOuterMotionRef","SelectorLabel","componentName","ChipLabel","onTouchStart","onTouchEnd","onMouseDown","onMouseUp","onMouseOut","onKeyDown","onKeyUp","style","cursor","flexDirection","_jsxs","alignItems","SelectorInput","hoverTokens","getChipInputHoverTokens","getInnerMotionRef","AnimatedChip","borderColor","isDesktop","StyledChipWrapper","justifyContent","overflow","backgroundColor","borderRadius","borderWidth","paddingLeft","chipHorizontalPaddingTokens","Boolean","left","paddingRight","right","height","makeSize","chipHeightTokens","gap","chipIconSizes","Text","chipTextSizes","truncateAfterLines","assignWithoutSideEffects","forwardRef","displayName"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwCA,IAAMA,KAAiE,GAAG,SAApEA,KAAiEA,CAAAC,IAAA,EAErEC,GAAG,EACA;AAAA,EAAA,IAAAC,iBAAA,EAAAC,qBAAA,EAAAC,KAAA,CAAA;AAAA,EAAA,IAFDC,UAAU,GAAAL,IAAA,CAAVK,UAAU;IAAEC,KAAK,GAAAN,IAAA,CAALM,KAAK;IAAEC,QAAQ,GAAAP,IAAA,CAARO,QAAQ;IAAQC,IAAI,GAAAR,IAAA,CAAVS,IAAI;IAAQC,KAAK,GAAAV,IAAA,CAALU,KAAK;IAAEC,MAAM,GAAAX,IAAA,CAANW,MAAM;IAAEC,WAAW,GAAAZ,IAAA,CAAXY,WAAW;AAAKC,IAAAA,IAAI,GAAAC,wBAAA,CAAAd,IAAA,EAAAe,SAAA,CAAA,CAAA;AAG9E,EAAA,IAAAC,SAAA,GAAkBC,QAAQ,EAAE;IAApBC,KAAK,GAAAF,SAAA,CAALE,KAAK,CAAA;EACb,IAAAC,cAAA,GAA8BC,aAAa,CAAC;MAAEC,WAAW,EAAEH,KAAK,CAACG,WAAAA;AAAY,KAAC,CAAC;IAAvEC,iBAAiB,GAAAH,cAAA,CAAjBG,iBAAiB,CAAA;AACzB,EAAA,IAAMC,UAAU,GAAGC,mBAAmB,EAAE,CAAA;AACxC,EAAA,IAAMC,aAAa,GAAG,CAACC,OAAO,CAACH,UAAU,CAAC,CAAA;AAC1C,EAAA,IAAAI,eAAA,GAAkCC,cAAK,CAACC,QAAQ,CAAC,KAAK,CAAC;IAAAC,gBAAA,GAAAC,cAAA,CAAAJ,eAAA,EAAA,CAAA,CAAA;AAAhDK,IAAAA,SAAS,GAAAF,gBAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,YAAY,GAAAH,gBAAA,CAAA,CAAA,CAAA,CAAA;AAE9B,EAAA,IAAI,IAAO,EAAE;IACX,IAAI,CAACL,aAAa,EAAE;AAClBS,MAAAA,eAAe,CAAC;AACdC,QAAAA,UAAU,EAAE,MAAM;AAClBC,QAAAA,OAAO,EACL,wFAAA;AACJ,OAAC,CAAC,CAAA;AACJ,KAAA;AACF,GAAA;EAEA,IAAMC,QAAQ,GAAG,CAAAd,UAAU,KAAA,IAAA,IAAVA,UAAU,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAVA,UAAU,CAAEe,eAAe,MAAK,OAAO,CAAA;AACxD,EAAA,IAAMC,WAAW,GAAGlC,UAAU,KAAA,IAAA,IAAVA,UAAU,KAAVA,KAAAA,CAAAA,GAAAA,UAAU,GAAIkB,UAAU,KAAVA,IAAAA,IAAAA,UAAU,KAAVA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,UAAU,CAAElB,UAAU,CAAA;EACxD,IAAMmC,WAAW,GAAG,CAAAjB,UAAU,aAAVA,UAAU,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAVA,UAAU,CAAEkB,UAAU,KAAI,CAAAlB,UAAU,aAAVA,UAAU,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAVA,UAAU,CAAEmB,kBAAkB,MAAK,UAAU,CAAA;EAC3F,IAAMC,KAAK,GAAGpB,UAAU,KAAA,IAAA,IAAVA,UAAU,KAAVA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,UAAU,CAAEqB,IAAI,CAAA;AAC9B;AACA,EAAA,IAAMC,UAAU,GAAGtB,UAAU,aAAVA,UAAU,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,CAAArB,iBAAA,GAAVqB,UAAU,CAAEuB,KAAK,MAAA,IAAA,IAAA5C,iBAAA,KAAjBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,iBAAA,CAAmB6C,SAAS,CAACzC,KAAM,CAAC,CAAA;AACvD;AACA,EAAA,IAAM0C,cAAc,GAClB,QAAOzB,UAAU,aAAVA,UAAU,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAVA,UAAU,CAAE0B,YAAY,CAAA,KAAK,WAAW,GAC3CC,SAAS;AAAC,IACV3B,UAAU,KAAVA,IAAAA,IAAAA,UAAU,wBAAApB,qBAAA,GAAVoB,UAAU,CAAE0B,YAAY,cAAA9C,qBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAxBA,qBAAA,CAA0BgD,QAAQ,CAAC7C,KAAe,CAAC,CAAC;AAC1D,EAAA,IAAM8C,OAAO,GAAG,CAAA7B,UAAU,aAAVA,UAAU,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAVA,UAAU,CAAE8B,aAAa,MAAK,QAAQ,GAAGC,QAAQ,GAAGC,WAAW,CAAA;EAC/E,IAAMC,KAAK,GAAG,CAAAjC,UAAU,KAAA,IAAA,IAAVA,UAAU,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAVA,UAAU,CAAEkC,IAAI,KAAI,OAAO,CAAA;EACzC,IAAMC,SAAS,IAAAtD,KAAA,GAAGM,KAAK,KAALA,IAAAA,IAAAA,KAAK,KAALA,KAAAA,CAAAA,GAAAA,KAAK,GAAIa,UAAU,aAAVA,UAAU,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAVA,UAAU,CAAEb,KAAK,cAAAN,KAAA,KAAA,KAAA,CAAA,GAAAA,KAAA,GAAI,SAAS,CAAA;AAEzD,EAAA,IAAMuD,YAAsB,GAAG,SAAzBA,YAAsBA,CAAAC,KAAA,EAA6B;AAAA,IAAA,IAAvBb,SAAS,GAAAa,KAAA,CAATb,SAAS;MAAEzC,KAAK,GAAAsD,KAAA,CAALtD,KAAK,CAAA;AAChD,IAAA,IAAIyC,SAAS,EAAE;AAAA,MAAA,IAAAc,kBAAA,CAAA;AACbtC,MAAAA,UAAU,aAAVA,UAAU,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,CAAAsC,kBAAA,GAAVtC,UAAU,CAAEuB,KAAK,MAAAe,IAAAA,IAAAA,kBAAA,uBAAjBA,kBAAA,CAAmBC,QAAQ,CAACxD,KAAM,CAAC,CAAA;AACrC,KAAC,MAAM;AAAA,MAAA,IAAAyD,kBAAA,CAAA;AACLxC,MAAAA,UAAU,aAAVA,UAAU,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,CAAAwC,kBAAA,GAAVxC,UAAU,CAAEuB,KAAK,MAAAiB,IAAAA,IAAAA,kBAAA,uBAAjBA,kBAAA,CAAmBC,WAAW,CAAC1D,KAAM,CAAC,CAAA;AACxC,KAAA;GACD,CAAA;EAED,IAAA2D,QAAA,GAA8Bb,OAAO,CAAC;AACpCJ,MAAAA,cAAc,EAAdA,cAAc;AACdD,MAAAA,SAAS,EAAEF,UAAU;AACrBxC,MAAAA,UAAU,EAAEkC,WAAW;AACvBE,MAAAA,UAAU,EAAED,WAAW;AACvBH,MAAAA,QAAQ,EAARA,QAAQ;AACRO,MAAAA,IAAI,EAAED,KAAK;AACXrC,MAAAA,KAAK,EAALA,KAAK;AACL4D,MAAAA,QAAQ,EAAEP,YAAAA;AACZ,KAAC,CAAC;IATMb,KAAK,GAAAmB,QAAA,CAALnB,KAAK;IAAEqB,UAAU,GAAAF,QAAA,CAAVE,UAAU,CAAA;AAWzB,EAAA,IAAMC,sBAAsB,GAAGxC,cAAK,CAACyC,WAAW,CAAC,YAAM;AACrD,IAAA,IAAI9B,WAAW,EAAE,OAAA;IACjBN,YAAY,CAAC,IAAI,CAAC,CAAA;AACpB,GAAC,EAAE,CAACM,WAAW,CAAC,CAAC,CAAA;AAEjB,EAAA,IAAM+B,uBAAuB,GAAG1C,cAAK,CAACyC,WAAW,CAAC,YAAM;AACtD,IAAA,IAAI9B,WAAW,EAAE,OAAA;IACjBN,YAAY,CAAC,KAAK,CAAC,CAAA;AACrB,GAAC,EAAE,CAACM,WAAW,CAAC,CAAC,CAAA;EAEjB,IAAMgC,uBAAuB,GAAG3C,cAAK,CAACyC,WAAW,CAC/C,UAACG,CAAsB,EAAK;AAC1B,IAAA,IAAIjC,WAAW,EAAE,OAAA;AACjB,IAAA,IAAIiC,CAAC,CAACC,GAAG,KAAK,GAAG,EAAE;MACjBxC,YAAY,CAAC,IAAI,CAAC,CAAA;AACpB,KAAA;AACF,GAAC,EACD,CAACM,WAAW,CACd,CAAC,CAAA;EAED,IAAMmC,wBAAwB,GAAG9C,cAAK,CAACyC,WAAW,CAChD,UAACG,CAAsB,EAAK;AAC1B,IAAA,IAAIjC,WAAW,EAAE,OAAA;AACjB,IAAA,IAAIiC,CAAC,CAACC,GAAG,KAAK,GAAG,EAAE;MACjBxC,YAAY,CAAC,KAAK,CAAC,CAAA;AACrB,KAAA;AACF,GAAC,EACD,CAACM,WAAW,CACd,CAAC,CAAA;EAED,IAAIoC,WAAW,GAAG,WAAW,CAAA;EAC7B,IAAI9B,UAAU,IAAIa,SAAS,EAAE;AAC3BiB,IAAAA,WAAW,GAAGjB,SAAS,CAAA;AACzB,GAAA;AACA,EAAA,IAAInB,WAAW,EAAE;AACfoC,IAAAA,WAAW,GAAG,UAAU,CAAA;AAC1B,GAAA;AACA,EAAA,IAAMC,aAAa,GAAGC,eAAe,CAACC,IAAI,CAACH,WAAW,CAAC,CAAA;AACvD,EAAA,IAAMI,aAAa,GAAGF,eAAe,CAACpE,IAAI,CAACkE,WAAW,CAAC,CAAA;EAEvD,IAAIK,YAAY,GAAG,WAAW,CAAA;AAC9B,EAAA,IAAMC,YAAY,GAAG1C,WAAW,GAAG,UAAU,GAAG,SAAS,CAAA;EACzD,IAAIM,UAAU,IAAIa,SAAS,EAAE;AAC3BsB,IAAAA,YAAY,GAAGtB,SAAS,CAAA;AAC1B,GAAA;EACA,IAAMwB,mBAAmB,GAAGL,eAAe,CAACM,UAAU,CAACH,YAAY,CAAC,CAACC,YAAY,CAAC,CAAA;EAClF,IAAMG,eAAe,GAAGP,eAAe,CAACQ,MAAM,CAACL,YAAY,CAAC,CAACC,YAAY,CAAC,CAAA;AAE1E,EAAA,oBACEK,GAAA,CAACC,OAAO,EAAAC,aAAA,CAAAA,aAAA,CAAAA,aAAA,CAAAA,aAAA,CAAA,EAAA,EACFC,aAAa,CAAC;IAAE7C,IAAI,EAAE8C,aAAa,CAACC,IAAI;AAAEhF,IAAAA,MAAM,EAANA,MAAAA;GAAQ,CAAC,CACnDiF,EAAAA,cAAc,CAAC/E,IAAI,CAAC,CACpBgF,EAAAA,sBAAsB,CAAChF,IAAI,CAAC,CAAA,EAAA,EAAA,EAAA;AAChCiF,IAAAA,OAAO,EAAGC,aAAa,EAAE,GAAG,MAAM,GAAG,aAAwB;IAC7D9F,GAAG,EAAE+F,iBAAiB,CAAC;AAAEpF,MAAAA,WAAW,EAAXA,WAAW;AAAEX,MAAAA,GAAG,EAAHA,GAAAA;AAAI,KAAC,CAAE;IAAAM,QAAA,eAE7C+E,GAAA,CAACW,aAAa,EAAA;MACZC,aAAa,EAAER,aAAa,CAACS,SAAU;AACvCC,MAAAA,YAAY,EAAEhC,sBAAuB;AACrCiC,MAAAA,UAAU,EAAE/B,uBAAwB;AACpCgC,MAAAA,WAAW,EAAElC,sBAAuB;AACpCmC,MAAAA,SAAS,EAAEjC,uBAAwB;AACnCkC,MAAAA,UAAU,EAAElC,uBAAwB;AACpCmC,MAAAA,SAAS,EAAElC,uBAAwB;AACnCmC,MAAAA,OAAO,EAAEhC,wBAAyB;MAClCP,UAAU,EAAE4B,aAAa,EAAE,GAAG5B,UAAU,GAAG,EAAG;AAC9CwC,MAAAA,KAAK,EAAE;AAAEC,QAAAA,MAAM,EAAErE,WAAW,GAAG,aAAa,GAAG,SAAA;OAAY;MAAAhC,QAAA,eAE3D+E,GAAA,CAACC,OAAO,EAAA;AAACO,QAAAA,OAAO,EAAC,MAAM;AAACe,QAAAA,aAAa,EAAC,QAAQ;QAAAtG,QAAA,eAC5CuG,IAAA,CAACvB,OAAO,EAAA;AAACO,UAAAA,OAAO,EAAC,MAAM;AAACiB,UAAAA,UAAU,EAAC,QAAQ;AAACF,UAAAA,aAAa,EAAC,KAAK;UAAAtG,QAAA,EAAA,cAC7D+E,GAAA,CAAC0B,aAAa,EAAA;AACZC,YAAAA,WAAW,EAAEC,uBAAuB,CAACxD,SAAS,CAAE;YAChDX,SAAS,EAAED,KAAK,CAACC,SAAU;AAC3B1C,YAAAA,UAAU,EAAEkC,WAAY;AACxB4B,YAAAA,UAAU,EAAEA,UAAW;AACvB9B,YAAAA,QAAQ,EAAEA,QAAS;YACnBpC,GAAG,EAAEkH,iBAAiB,CAAC;AAAEvG,cAAAA,WAAW,EAAXA,WAAW;AAAEX,cAAAA,GAAG,EAAHA,GAAAA;aAAK,CAAA;AAAE,WAC9C,CAAC,eACFqF,GAAA,CAAC8B,YAAY,EAAA;AACXC,YAAAA,WAAW,EAAEjC,eAAgB;AAC7B/E,YAAAA,UAAU,EAAEkC,WAAY;AACxBP,YAAAA,SAAS,EAAEA,SAAU;YACrBsF,SAAS,EAAEhG,iBAAiB,KAAK,SAAU;YAAAf,QAAA,eAE3CuG,IAAA,CAACS,iBAAiB,EAAA;AAChBF,cAAAA,WAAW,EAAEjC,eAAgB;AAC7BrC,cAAAA,SAAS,EAAEF,UAAW;AACtBxC,cAAAA,UAAU,EAAEkC,WAAY;AACxB7B,cAAAA,KAAK,EAAEgD,SAAU;AACjBoC,cAAAA,OAAO,EAAC,MAAM;AACde,cAAAA,aAAa,EAAC,KAAK;AACnBW,cAAAA,cAAc,EAAC,QAAQ;AACvBT,cAAAA,UAAU,EAAC,QAAQ;AACnBU,cAAAA,QAAQ,EAAC,QAAQ;AACjBC,cAAAA,eAAe,EAAExC,mBAAoB;AACrCyC,cAAAA,YAAY,EAAC,KAAK;AAClBC,cAAAA,WAAW,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,CAACzE,QAAQ,CAACK,KAAK,CAAC,GAAG,SAAS,GAAG,MAAO;AACtEqE,cAAAA,WAAW,EACTC,2BAA2B,CAACC,OAAO,CAACvH,IAAI,CAAC,GAAG,UAAU,GAAG,aAAa,CAAC,CAACwH,IAAI,CAC1ExE,KAAK,CAER;AACDyE,cAAAA,YAAY,EACVH,2BAA2B,CAACC,OAAO,CAACvH,IAAI,CAAC,GAAG,UAAU,GAAG,aAAa,CAAC,CAAC0H,KAAK,CAC3E1E,KAAK,CAER;AACD2E,cAAAA,MAAM,EAAEC,QAAQ,CAACC,gBAAgB,CAAC7E,KAAK,CAAC,CAAE;AAC1C8E,cAAAA,GAAG,EAAC,WAAW;AAAA/H,cAAAA,QAAA,EAEdC,CAAAA,IAAI,gBACH8E,GAAA,CAACC,OAAO,EAAA;AAACO,gBAAAA,OAAO,EAAC,MAAM;gBAAAvF,QAAA,eACrB+E,GAAA,CAAC9E,IAAI,EAAA;AAACE,kBAAAA,KAAK,EAAEqE,aAAc;kBAACtB,IAAI,EAAE8E,aAAa,CAAC/E,KAAK,CAAA;iBAAI,CAAA;AAAC,eACnD,CAAC,GACR,IAAI,EACPjD,QAAQ,gBACP+E,GAAA,CAACkD,IAAI,EAAAhD,aAAA,CAAAA,aAAA,KAAKiD,aAAa,CAACjF,KAAK,CAAC,CAAA,EAAA,EAAA,EAAA;AAAEkF,gBAAAA,kBAAkB,EAAE,CAAE;AAAChI,gBAAAA,KAAK,EAAEkE,aAAc;AAAArE,gBAAAA,QAAA,EACzEA,QAAAA;eACG,CAAA,CAAC,GACL,IAAI,CAAA;aACS,CAAA;AAAC,WACR,CAAC,CAAA;SACR,CAAA;OACF,CAAA;KACI,CAAA;AAAC,GAAA,CACT,CAAC,CAAA;AAEd,CAAC,CAAA;AAEKoF,IAAAA,IAAI,gBAAGgD,wBAAwB,eAAC/G,cAAK,CAACgH,UAAU,CAAC7I,KAAK,CAAC,EAAE;AAC7D8I,EAAAA,WAAW,EAAE,MAAA;AACf,CAAC;;;;"}
@@ -3,7 +3,6 @@ import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
3
3
  import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
4
4
  import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
5
5
  import { useRef, useState, useMemo, useCallback, forwardRef } from 'react';
6
- import { flushSync } from 'react-dom';
7
6
  import { StyledFileUploadWrapper } from './StyledFileUploadWrapper.js';
8
7
  import { fileUploadColorTokens, getFileUploadInputHoverTokens, fileUploadLinkBorderTokens } from './fileUploadTokens.js';
9
8
  import { FileUploadItem } from './FileUploadItem.js';
@@ -27,11 +26,9 @@ import { useMergeRefs } from '../../utils/useMergeRefs.js';
27
26
  import { useControllableState } from '../../utils/useControllable.js';
28
27
  import { getOuterMotionRef, getInnerMotionRef } from '../../utils/getMotionRefs.js';
29
28
  import '../../utils/makeAnalyticsAttribute/index.js';
30
- import '../../utils/fireNativeEvent/index.js';
31
29
  import { jsxs, jsx } from 'react/jsx-runtime';
32
30
  import useTheme from '../BladeProvider/useTheme.js';
33
31
  import { makeAccessible } from '../../utils/makeAccessible/makeAccessible.web.js';
34
- import { fireNativeEvent } from '../../utils/fireNativeEvent/fireNativeEvent.web.js';
35
32
  import { BaseBox } from '../Box/BaseBox/BaseBox.web.js';
36
33
  import { metaAttribute } from '../../utils/metaAttribute/metaAttribute.web.js';
37
34
  import { MetaConstants } from '../../utils/metaAttribute/metaConstants.js';
@@ -198,7 +195,6 @@ var _FileUpload = function _FileUpload(_ref, ref) {
198
195
  name: name,
199
196
  fileList: allFiles
200
197
  });
201
- fireNativeEvent(inputRef, ['change', 'input']);
202
198
  }
203
199
  };
204
200
  var handleInputChange = function handleInputChange(event) {
@@ -338,15 +334,12 @@ var _FileUpload = function _FileUpload(_ref, ref) {
338
334
  var id = _ref2.id;
339
335
  return id !== selectedFiles[0].id;
340
336
  });
341
- flushSync(function () {
342
- setSelectedFiles(function () {
343
- return newFiles;
344
- });
337
+ setSelectedFiles(function () {
338
+ return newFiles;
345
339
  });
346
340
  _onRemove === null || _onRemove === void 0 ? void 0 : _onRemove({
347
341
  file: selectedFiles[0]
348
342
  });
349
- fireNativeEvent(inputRef, ['change', 'input']);
350
343
  },
351
344
  onReupload: function onReupload() {
352
345
  var _inputRef$current;
@@ -416,15 +409,12 @@ var _FileUpload = function _FileUpload(_ref, ref) {
416
409
  var id = _ref5.id;
417
410
  return id !== file.id;
418
411
  });
419
- flushSync(function () {
420
- setSelectedFiles(function () {
421
- return newFiles;
422
- });
412
+ setSelectedFiles(function () {
413
+ return newFiles;
423
414
  });
424
415
  _onRemove === null || _onRemove === void 0 ? void 0 : _onRemove({
425
416
  file: file
426
417
  });
427
- fireNativeEvent(inputRef, ['change', 'input']);
428
418
  },
429
419
  onReupload: function onReupload() {
430
420
  var _inputRef$current2;
@@ -460,7 +450,6 @@ var _FileUpload = function _FileUpload(_ref, ref) {
460
450
  _onDismiss === null || _onDismiss === void 0 ? void 0 : _onDismiss({
461
451
  file: file
462
452
  });
463
- fireNativeEvent(inputRef, ['change', 'input']);
464
453
  },
465
454
  onPreview: onPreview
466
455
  })
@@ -1 +1 @@
1
- {"version":3,"file":"FileUpload.web.js","sources":["../../../../../../src/components/FileUpload/FileUpload.web.tsx"],"sourcesContent":["import { useState, useCallback, useMemo, useRef, forwardRef } from 'react';\nimport { flushSync } from 'react-dom';\nimport type { FileUploadProps, BladeFile, BladeFileList } from './types';\nimport { StyledFileUploadWrapper } from './StyledFileUploadWrapper';\nimport {\n fileUploadColorTokens,\n fileUploadLinkBorderTokens,\n getFileUploadInputHoverTokens,\n} from './fileUploadTokens';\nimport { FileUploadItem } from './FileUploadItem';\nimport { isFileAccepted } from './isFileAccepted';\nimport BaseBox from '~components/Box/BaseBox';\nimport { Box } from '~components/Box';\nimport { SelectorLabel } from '~components/Form/Selector/SelectorLabel';\nimport { SelectorInput } from '~components/Form/Selector/SelectorInput';\nimport { screenReaderStyles } from '~components/VisuallyHidden';\nimport { FormHint, FormLabel } from '~components/Form';\nimport { useFormId } from '~components/Form/useFormId';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport { makeSize, useTheme } from '~utils';\nimport { Text } from '~components/Typography';\nimport type { BladeElementRef } from '~utils/types';\nimport { getHintType } from '~components/Input/BaseInput/BaseInput';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { formHintLeftLabelMarginLeft } from '~components/Input/BaseInput/baseInputTokens';\nimport { useMergeRefs } from '~utils/useMergeRefs';\nimport { useControllableState } from '~utils/useControllable';\nimport { getInnerMotionRef, getOuterMotionRef } from '~utils/getMotionRefs';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\nimport { fireNativeEvent } from '~utils/fireNativeEvent';\n\nconst _FileUpload: React.ForwardRefRenderFunction<BladeElementRef, FileUploadProps> = (\n {\n name,\n accept,\n uploadType = 'single',\n onChange,\n onPreview,\n onRemove,\n onReupload,\n onDismiss,\n onDrop,\n isDisabled,\n isRequired,\n necessityIndicator,\n fileList,\n testID,\n label,\n labelPosition = 'top',\n accessibilityLabel,\n validationState,\n helpText,\n errorText,\n maxCount,\n maxSize,\n size = 'medium',\n _motionMeta,\n ...rest\n },\n ref,\n): React.ReactElement => {\n const inputRef = useRef<HTMLInputElement | null>(null);\n const mergedRef = useMergeRefs(ref, inputRef);\n const { platform } = useTheme();\n const [selectedFiles, setSelectedFiles] = useControllableState({\n value: fileList,\n defaultValue: fileList ?? [],\n });\n const [errorMessage, setErrorMessage] = useState<string | null>(null);\n const [internalValidationState, setInternalValidationState] = useState('none');\n const [isActive, setIsActive] = useState(false);\n\n const isMultiple = uploadType === 'multiple';\n const isOneFileSelectedWithSingleUpload = !isMultiple && selectedFiles.length === 1;\n const inputLabelPosition = platform === 'onMobile' ? 'top' : labelPosition;\n const isLabelLeftPositioned = inputLabelPosition === 'left';\n const willRenderHintText = Boolean(helpText) || Boolean(errorMessage);\n\n const showError = validationState === 'error' || internalValidationState === 'error';\n const showHelpText = !showError && helpText;\n const accessibilityText =\n accessibilityLabel ?? `,${showError ? errorMessage : ''} ${showHelpText ? helpText : ''}`;\n const { inputId, labelId, helpTextId, errorTextId } = useFormId('fileuploadinput');\n\n const accessibilityProps = makeAccessible({\n required: Boolean(isRequired),\n invalid: Boolean(showError),\n disabled: Boolean(isDisabled),\n describedBy: labelId,\n });\n\n // In control mode attach a unique id to each file if not provided\n useMemo(() => {\n for (const file of selectedFiles) {\n if (!file.id) {\n file.id = `${new Date().getTime().toString()}${Math.floor(Math.random() * 1000000)}`;\n }\n }\n }, [selectedFiles]);\n\n const handleFilesChange = useCallback((inputFiles: BladeFileList) => {\n setSelectedFiles((prevFiles) => {\n if (prevFiles.length > 0) {\n const allFiles = [...prevFiles, ...inputFiles];\n return allFiles;\n }\n\n return inputFiles;\n });\n }, []);\n\n const validateFiles = (inputFiles: BladeFileList, allFiles: BladeFileList): boolean => {\n if (accept && inputFiles.some((file) => !isFileAccepted(file, accept))) {\n setErrorMessage(`You provided an unsupported file type. Supported file types are: ${accept}`);\n setInternalValidationState('error');\n return true;\n }\n\n if (uploadType === 'single' && inputFiles.length > 1) {\n setErrorMessage('You can upload only one file.');\n setInternalValidationState('error');\n return true;\n }\n\n if (maxCount && allFiles.length > maxCount) {\n setErrorMessage(`You can't upload more than ${maxCount} files.`);\n setInternalValidationState('error');\n return true;\n }\n\n if (maxSize && inputFiles.some((file) => file.size > maxSize)) {\n setErrorMessage('File size exceeded.');\n setInternalValidationState('error');\n return true;\n }\n\n setInternalValidationState('none');\n setErrorMessage(null);\n return false;\n };\n\n const handleDragOver = (event: React.DragEvent): void => {\n event.preventDefault();\n setIsActive(true);\n };\n\n const handleDragLeave = (event: React.DragEvent): void => {\n event.preventDefault();\n setIsActive(false);\n };\n\n const handleDrop = (event: React.DragEvent): void => {\n event.preventDefault();\n setIsActive(false);\n\n const droppedFiles = Array.from(event.dataTransfer.files);\n const allFiles = selectedFiles.length > 0 ? [...selectedFiles, ...droppedFiles] : droppedFiles;\n\n const hasValidationErrors = validateFiles(droppedFiles, allFiles);\n\n if (!hasValidationErrors) {\n handleFilesChange(droppedFiles);\n onDrop?.({ name, fileList: allFiles });\n fireNativeEvent(inputRef, ['change', 'input']);\n }\n };\n\n const handleInputChange = (event: React.ChangeEvent<HTMLInputElement>): void => {\n const inputFiles = Array.from(event.target.files ?? []);\n const allFiles = selectedFiles.length > 0 ? [...selectedFiles, ...inputFiles] : inputFiles;\n\n const hasValidationErrors = validateFiles(inputFiles, allFiles);\n\n if (!hasValidationErrors) {\n handleFilesChange(inputFiles);\n onChange?.({ name, fileList: allFiles });\n }\n\n // Reset the input value to allow re-selecting the same file\n event.target.value = '';\n };\n\n return (\n <BaseBox\n ref={getOuterMotionRef({ _motionMeta, ref })}\n display=\"flex\"\n flexDirection=\"column\"\n width=\"100%\"\n {...metaAttribute({ name: MetaConstants.FileUpload, testID })}\n {...getStyledProps(rest)}\n >\n <BaseBox\n display=\"flex\"\n flexDirection={isLabelLeftPositioned ? 'row' : 'column'}\n alignItems={isLabelLeftPositioned ? 'center' : undefined}\n position=\"relative\"\n width=\"100%\"\n >\n {label ? (\n <FormLabel\n size={size}\n as=\"span\"\n necessityIndicator={necessityIndicator}\n position={labelPosition}\n id={labelId}\n accessibilityText={accessibilityText}\n >\n {label}\n </FormLabel>\n ) : null}\n\n <SelectorLabel\n componentName={MetaConstants.FileUploadLabel}\n inputProps={{}}\n style={{\n cursor: isDisabled ? 'not-allowed' : 'pointer',\n width: '100%',\n }}\n >\n <BaseBox display=\"flex\" flexDirection=\"column\" width=\"100%\">\n <StyledFileUploadWrapper\n size={size}\n isDisabled={isDisabled}\n isActive={isActive}\n display=\"flex\"\n flexDirection=\"row\"\n justifyContent=\"center\"\n alignItems=\"center\"\n borderRadius=\"medium\"\n borderWidth=\"thin\"\n onDragOver={handleDragOver}\n onDragLeave={handleDragLeave}\n onDrop={handleDrop}\n onClick={() => setIsActive(true)}\n data-comp=\"f\"\n style={{\n ...(isOneFileSelectedWithSingleUpload ? screenReaderStyles : {}),\n }}\n >\n <Box\n display=\"flex\"\n justifyContent=\"center\"\n alignItems=\"center\"\n flexDirection={{ base: 'column', s: 'row' }}\n gap={makeSize(6)}\n padding=\"spacing.3\"\n >\n <Text\n color={\n isDisabled\n ? fileUploadColorTokens.text.disabled\n : fileUploadColorTokens.text.default\n }\n >\n Drag files here or{' '}\n </Text>\n <SelectorInput\n id={inputId}\n hoverTokens={getFileUploadInputHoverTokens()}\n isChecked={false}\n isDisabled={isDisabled}\n inputProps={{\n name,\n type: 'file',\n onChange: handleInputChange,\n multiple: isMultiple,\n required: isRequired,\n disabled: isDisabled,\n accept,\n onBlur: () => setIsActive(false),\n ...accessibilityProps,\n }}\n ref={getInnerMotionRef({ _motionMeta, ref: mergedRef })}\n {...makeAnalyticsAttribute(rest)}\n />\n\n <Box\n display=\"flex\"\n justifyContent=\"center\"\n alignItems=\"center\"\n flexDirection={{ base: 'column', s: 'row' }}\n borderRadius=\"small\"\n >\n <Box\n display=\"flex\"\n flexDirection=\"row\"\n alignItems=\"center\"\n borderBottomColor={\n fileUploadLinkBorderTokens.color[isDisabled ? 'disabled' : 'default']\n }\n borderBottomWidth={fileUploadLinkBorderTokens.width.default}\n >\n <Text\n color={\n isDisabled\n ? fileUploadColorTokens.link.disabled\n : fileUploadColorTokens.link.default\n }\n >\n Upload\n </Text>\n </Box>\n </Box>\n </Box>\n </StyledFileUploadWrapper>\n </BaseBox>\n </SelectorLabel>\n {isOneFileSelectedWithSingleUpload && (\n <FileUploadItem\n file={selectedFiles[0]}\n size={size}\n onRemove={() => {\n const newFiles = selectedFiles.filter(({ id }) => id !== selectedFiles[0].id);\n flushSync(() => {\n setSelectedFiles(() => newFiles);\n });\n onRemove?.({ file: selectedFiles[0] });\n fireNativeEvent(inputRef, ['change', 'input']);\n }}\n onReupload={() => {\n const newFiles = selectedFiles.filter(({ id }) => id !== selectedFiles[0].id);\n setSelectedFiles(() => newFiles);\n inputRef.current?.click();\n\n // TODO - Remove this in the next major release\n // Fallback to onRemove if onReupload isn't provided to avoid breaking changes in the API\n if (onReupload) {\n onReupload({ file: selectedFiles[0] });\n } else {\n onRemove?.({ file: selectedFiles[0] });\n }\n setIsActive(false);\n }}\n onDismiss={() => {\n const newFiles = selectedFiles.filter(({ id }) => id !== selectedFiles[0].id);\n setSelectedFiles(() => newFiles);\n onDismiss?.({ file: selectedFiles[0] });\n }}\n onPreview={onPreview}\n />\n )}\n </BaseBox>\n {willRenderHintText && (\n <BaseBox\n marginLeft={makeSize(\n label && isLabelLeftPositioned ? formHintLeftLabelMarginLeft[size] : 0,\n )}\n >\n <BaseBox display=\"flex\" flexDirection=\"row\" justifyContent=\"'space-between\">\n <FormHint\n size={size}\n type={getHintType({\n validationState: showError ? 'error' : validationState,\n hasHelpText: Boolean(helpText),\n })}\n helpText={helpText}\n errorText={errorMessage ?? errorText}\n helpTextId={helpTextId}\n errorTextId={errorTextId}\n />\n </BaseBox>\n </BaseBox>\n )}\n {!isOneFileSelectedWithSingleUpload &&\n selectedFiles.map((file, index) => (\n <BaseBox\n key={file.id}\n marginLeft={makeSize(\n label && isLabelLeftPositioned ? formHintLeftLabelMarginLeft[size] : 0,\n )}\n marginTop={index === 0 ? 'spacing.5' : 'spacing.3'}\n >\n <FileUploadItem\n file={file}\n size={size}\n onRemove={() => {\n const newFiles = selectedFiles.filter(({ id }) => id !== file.id);\n flushSync(() => {\n setSelectedFiles(() => newFiles);\n });\n onRemove?.({ file });\n fireNativeEvent(inputRef, ['change', 'input']);\n }}\n onReupload={() => {\n const newFiles = selectedFiles.filter(({ id }) => id !== file.id);\n setSelectedFiles(() => newFiles);\n inputRef.current?.click();\n // TODO - Remove this in the next major release\n // Fallback to onRemove if onReupload isn't provided to avoid breaking changes in the API\n if (onReupload) {\n onReupload({ file });\n } else {\n onRemove?.({ file });\n }\n setIsActive(false);\n }}\n onDismiss={() => {\n const newFiles = selectedFiles.filter(({ id }) => id !== file.id);\n setSelectedFiles(() => newFiles);\n onDismiss?.({ file });\n fireNativeEvent(inputRef, ['change', 'input']);\n }}\n onPreview={onPreview}\n />\n </BaseBox>\n ))}\n </BaseBox>\n );\n};\n\n/**\n * ### FileUpload Component\n * \n * The FileUpload component is used to handle file attachments, including the drag-and-drop interaction.\n * Primarily, it is used to upload files to a server or to display a list of uploaded files.\n * \n * ---\n * \n * #### Usage\n * \n * ```jsx\n const GSTForm = () => {\n const [selectedFile, setSelectedFile] = useState<BladeFile>();\n const [isLoading, setIsLoading] = useState(false);\n \n return (\n <Box>\n <Heading marginBottom=\"spacing.4\">Add GST Details</Heading>\n <form encType=\"multipart/form-data\" onSubmit={handleSubmit}>\n <FileUpload\n uploadType=\"single\"\n label=\"Upload GST\"\n helpText=\"Upload .jpg, .jpeg, or .png file only\"\n accept=\".jpg, .jpeg, .png\"\n onChange={({ fileList }) => {\n setSelectedFile(fileList[0]);\n }}\n onDrop={({ fileList }) => {\n setSelectedFile(fileList[0]);\n }}\n isRequired\n necessityIndicator=\"required\"\n />\n <Button type=\"submit\" variant=\"primary\">\n Submit\n </Button>\n {isLoading && (\n <ProgressBar isIndeterminate label=\"Uploading your GST Certificate...\" />\n )}\n </form>\n </Box>\n );\n }\n * ```\n *\n * ---\n *\n * Checkout {@link https://blade.razorpay.com/?path=/docs/components-fileupload FileUpload Documentation}\n * \n */\nconst FileUpload = assignWithoutSideEffects(forwardRef(_FileUpload), {\n displayName: 'FileUpload',\n componentId: 'FileUpload',\n});\n\nexport { FileUpload };\nexport type { BladeFile, BladeFileList, FileUploadProps };\n"],"names":["_FileUpload","_ref","ref","name","accept","_ref$uploadType","uploadType","onChange","onPreview","onRemove","onReupload","onDismiss","onDrop","isDisabled","isRequired","necessityIndicator","fileList","testID","label","_ref$labelPosition","labelPosition","accessibilityLabel","validationState","helpText","errorText","maxCount","maxSize","_ref$size","size","_motionMeta","rest","_objectWithoutProperties","_excluded","inputRef","useRef","mergedRef","useMergeRefs","_useTheme","useTheme","platform","_useControllableState","useControllableState","value","defaultValue","_useControllableState2","_slicedToArray","selectedFiles","setSelectedFiles","_useState","useState","_useState2","errorMessage","setErrorMessage","_useState3","_useState4","internalValidationState","setInternalValidationState","_useState5","_useState6","isActive","setIsActive","isMultiple","isOneFileSelectedWithSingleUpload","length","inputLabelPosition","isLabelLeftPositioned","willRenderHintText","Boolean","showError","showHelpText","accessibilityText","concat","_useFormId","useFormId","inputId","labelId","helpTextId","errorTextId","accessibilityProps","makeAccessible","required","invalid","disabled","describedBy","useMemo","_iterator","_createForOfIteratorHelper","_step","s","n","done","file","id","Date","getTime","toString","Math","floor","random","err","e","f","handleFilesChange","useCallback","inputFiles","prevFiles","allFiles","_toConsumableArray","validateFiles","some","isFileAccepted","handleDragOver","event","preventDefault","handleDragLeave","handleDrop","droppedFiles","Array","from","dataTransfer","files","hasValidationErrors","fireNativeEvent","handleInputChange","_event$target$files","target","_jsxs","BaseBox","_objectSpread","getOuterMotionRef","display","flexDirection","width","metaAttribute","MetaConstants","FileUpload","getStyledProps","children","alignItems","undefined","position","_jsx","FormLabel","as","SelectorLabel","componentName","FileUploadLabel","inputProps","style","cursor","StyledFileUploadWrapper","justifyContent","borderRadius","borderWidth","onDragOver","onDragLeave","onClick","screenReaderStyles","Box","base","gap","makeSize","padding","Text","color","fileUploadColorTokens","text","SelectorInput","hoverTokens","getFileUploadInputHoverTokens","isChecked","type","multiple","onBlur","getInnerMotionRef","makeAnalyticsAttribute","borderBottomColor","fileUploadLinkBorderTokens","borderBottomWidth","link","FileUploadItem","newFiles","filter","_ref2","flushSync","_inputRef$current","_ref3","current","click","_ref4","marginLeft","formHintLeftLabelMarginLeft","FormHint","getHintType","hasHelpText","map","index","marginTop","_ref5","_inputRef$current2","_ref6","_ref7","assignWithoutSideEffects","forwardRef","displayName","componentId"],"mappings":"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"}
1
+ {"version":3,"file":"FileUpload.web.js","sources":["../../../../../../src/components/FileUpload/FileUpload.web.tsx"],"sourcesContent":["import { useState, useCallback, useMemo, useRef, forwardRef } from 'react';\nimport type { FileUploadProps, BladeFile, BladeFileList } from './types';\nimport { StyledFileUploadWrapper } from './StyledFileUploadWrapper';\nimport {\n fileUploadColorTokens,\n fileUploadLinkBorderTokens,\n getFileUploadInputHoverTokens,\n} from './fileUploadTokens';\nimport { FileUploadItem } from './FileUploadItem';\nimport { isFileAccepted } from './isFileAccepted';\nimport BaseBox from '~components/Box/BaseBox';\nimport { Box } from '~components/Box';\nimport { SelectorLabel } from '~components/Form/Selector/SelectorLabel';\nimport { SelectorInput } from '~components/Form/Selector/SelectorInput';\nimport { screenReaderStyles } from '~components/VisuallyHidden';\nimport { FormHint, FormLabel } from '~components/Form';\nimport { useFormId } from '~components/Form/useFormId';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport { makeSize, useTheme } from '~utils';\nimport { Text } from '~components/Typography';\nimport type { BladeElementRef } from '~utils/types';\nimport { getHintType } from '~components/Input/BaseInput/BaseInput';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { formHintLeftLabelMarginLeft } from '~components/Input/BaseInput/baseInputTokens';\nimport { useMergeRefs } from '~utils/useMergeRefs';\nimport { useControllableState } from '~utils/useControllable';\nimport { getInnerMotionRef, getOuterMotionRef } from '~utils/getMotionRefs';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\n\nconst _FileUpload: React.ForwardRefRenderFunction<BladeElementRef, FileUploadProps> = (\n {\n name,\n accept,\n uploadType = 'single',\n onChange,\n onPreview,\n onRemove,\n onReupload,\n onDismiss,\n onDrop,\n isDisabled,\n isRequired,\n necessityIndicator,\n fileList,\n testID,\n label,\n labelPosition = 'top',\n accessibilityLabel,\n validationState,\n helpText,\n errorText,\n maxCount,\n maxSize,\n size = 'medium',\n _motionMeta,\n ...rest\n },\n ref,\n): React.ReactElement => {\n const inputRef = useRef<HTMLInputElement | null>(null);\n const mergedRef = useMergeRefs(ref, inputRef);\n const { platform } = useTheme();\n const [selectedFiles, setSelectedFiles] = useControllableState({\n value: fileList,\n defaultValue: fileList ?? [],\n });\n const [errorMessage, setErrorMessage] = useState<string | null>(null);\n const [internalValidationState, setInternalValidationState] = useState('none');\n const [isActive, setIsActive] = useState(false);\n\n const isMultiple = uploadType === 'multiple';\n const isOneFileSelectedWithSingleUpload = !isMultiple && selectedFiles.length === 1;\n const inputLabelPosition = platform === 'onMobile' ? 'top' : labelPosition;\n const isLabelLeftPositioned = inputLabelPosition === 'left';\n const willRenderHintText = Boolean(helpText) || Boolean(errorMessage);\n\n const showError = validationState === 'error' || internalValidationState === 'error';\n const showHelpText = !showError && helpText;\n const accessibilityText =\n accessibilityLabel ?? `,${showError ? errorMessage : ''} ${showHelpText ? helpText : ''}`;\n const { inputId, labelId, helpTextId, errorTextId } = useFormId('fileuploadinput');\n\n const accessibilityProps = makeAccessible({\n required: Boolean(isRequired),\n invalid: Boolean(showError),\n disabled: Boolean(isDisabled),\n describedBy: labelId,\n });\n\n // In control mode attach a unique id to each file if not provided\n useMemo(() => {\n for (const file of selectedFiles) {\n if (!file.id) {\n file.id = `${new Date().getTime().toString()}${Math.floor(Math.random() * 1000000)}`;\n }\n }\n }, [selectedFiles]);\n\n const handleFilesChange = useCallback((inputFiles: BladeFileList) => {\n setSelectedFiles((prevFiles) => {\n if (prevFiles.length > 0) {\n const allFiles = [...prevFiles, ...inputFiles];\n return allFiles;\n }\n\n return inputFiles;\n });\n }, []);\n\n const validateFiles = (inputFiles: BladeFileList, allFiles: BladeFileList): boolean => {\n if (accept && inputFiles.some((file) => !isFileAccepted(file, accept))) {\n setErrorMessage(`You provided an unsupported file type. Supported file types are: ${accept}`);\n setInternalValidationState('error');\n return true;\n }\n\n if (uploadType === 'single' && inputFiles.length > 1) {\n setErrorMessage('You can upload only one file.');\n setInternalValidationState('error');\n return true;\n }\n\n if (maxCount && allFiles.length > maxCount) {\n setErrorMessage(`You can't upload more than ${maxCount} files.`);\n setInternalValidationState('error');\n return true;\n }\n\n if (maxSize && inputFiles.some((file) => file.size > maxSize)) {\n setErrorMessage('File size exceeded.');\n setInternalValidationState('error');\n return true;\n }\n\n setInternalValidationState('none');\n setErrorMessage(null);\n return false;\n };\n\n const handleDragOver = (event: React.DragEvent): void => {\n event.preventDefault();\n setIsActive(true);\n };\n\n const handleDragLeave = (event: React.DragEvent): void => {\n event.preventDefault();\n setIsActive(false);\n };\n\n const handleDrop = (event: React.DragEvent): void => {\n event.preventDefault();\n setIsActive(false);\n\n const droppedFiles = Array.from(event.dataTransfer.files);\n const allFiles = selectedFiles.length > 0 ? [...selectedFiles, ...droppedFiles] : droppedFiles;\n\n const hasValidationErrors = validateFiles(droppedFiles, allFiles);\n\n if (!hasValidationErrors) {\n handleFilesChange(droppedFiles);\n onDrop?.({ name, fileList: allFiles });\n }\n };\n\n const handleInputChange = (event: React.ChangeEvent<HTMLInputElement>): void => {\n const inputFiles = Array.from(event.target.files ?? []);\n const allFiles = selectedFiles.length > 0 ? [...selectedFiles, ...inputFiles] : inputFiles;\n\n const hasValidationErrors = validateFiles(inputFiles, allFiles);\n\n if (!hasValidationErrors) {\n handleFilesChange(inputFiles);\n onChange?.({ name, fileList: allFiles });\n }\n\n // Reset the input value to allow re-selecting the same file\n event.target.value = '';\n };\n\n return (\n <BaseBox\n ref={getOuterMotionRef({ _motionMeta, ref })}\n display=\"flex\"\n flexDirection=\"column\"\n width=\"100%\"\n {...metaAttribute({ name: MetaConstants.FileUpload, testID })}\n {...getStyledProps(rest)}\n >\n <BaseBox\n display=\"flex\"\n flexDirection={isLabelLeftPositioned ? 'row' : 'column'}\n alignItems={isLabelLeftPositioned ? 'center' : undefined}\n position=\"relative\"\n width=\"100%\"\n >\n {label ? (\n <FormLabel\n size={size}\n as=\"span\"\n necessityIndicator={necessityIndicator}\n position={labelPosition}\n id={labelId}\n accessibilityText={accessibilityText}\n >\n {label}\n </FormLabel>\n ) : null}\n\n <SelectorLabel\n componentName={MetaConstants.FileUploadLabel}\n inputProps={{}}\n style={{\n cursor: isDisabled ? 'not-allowed' : 'pointer',\n width: '100%',\n }}\n >\n <BaseBox display=\"flex\" flexDirection=\"column\" width=\"100%\">\n <StyledFileUploadWrapper\n size={size}\n isDisabled={isDisabled}\n isActive={isActive}\n display=\"flex\"\n flexDirection=\"row\"\n justifyContent=\"center\"\n alignItems=\"center\"\n borderRadius=\"medium\"\n borderWidth=\"thin\"\n onDragOver={handleDragOver}\n onDragLeave={handleDragLeave}\n onDrop={handleDrop}\n onClick={() => setIsActive(true)}\n data-comp=\"f\"\n style={{\n ...(isOneFileSelectedWithSingleUpload ? screenReaderStyles : {}),\n }}\n >\n <Box\n display=\"flex\"\n justifyContent=\"center\"\n alignItems=\"center\"\n flexDirection={{ base: 'column', s: 'row' }}\n gap={makeSize(6)}\n padding=\"spacing.3\"\n >\n <Text\n color={\n isDisabled\n ? fileUploadColorTokens.text.disabled\n : fileUploadColorTokens.text.default\n }\n >\n Drag files here or{' '}\n </Text>\n <SelectorInput\n id={inputId}\n hoverTokens={getFileUploadInputHoverTokens()}\n isChecked={false}\n isDisabled={isDisabled}\n inputProps={{\n name,\n type: 'file',\n onChange: handleInputChange,\n multiple: isMultiple,\n required: isRequired,\n disabled: isDisabled,\n accept,\n onBlur: () => setIsActive(false),\n ...accessibilityProps,\n }}\n ref={getInnerMotionRef({ _motionMeta, ref: mergedRef })}\n {...makeAnalyticsAttribute(rest)}\n />\n\n <Box\n display=\"flex\"\n justifyContent=\"center\"\n alignItems=\"center\"\n flexDirection={{ base: 'column', s: 'row' }}\n borderRadius=\"small\"\n >\n <Box\n display=\"flex\"\n flexDirection=\"row\"\n alignItems=\"center\"\n borderBottomColor={\n fileUploadLinkBorderTokens.color[isDisabled ? 'disabled' : 'default']\n }\n borderBottomWidth={fileUploadLinkBorderTokens.width.default}\n >\n <Text\n color={\n isDisabled\n ? fileUploadColorTokens.link.disabled\n : fileUploadColorTokens.link.default\n }\n >\n Upload\n </Text>\n </Box>\n </Box>\n </Box>\n </StyledFileUploadWrapper>\n </BaseBox>\n </SelectorLabel>\n {isOneFileSelectedWithSingleUpload && (\n <FileUploadItem\n file={selectedFiles[0]}\n size={size}\n onRemove={() => {\n const newFiles = selectedFiles.filter(({ id }) => id !== selectedFiles[0].id);\n setSelectedFiles(() => newFiles);\n\n onRemove?.({ file: selectedFiles[0] });\n }}\n onReupload={() => {\n const newFiles = selectedFiles.filter(({ id }) => id !== selectedFiles[0].id);\n setSelectedFiles(() => newFiles);\n inputRef.current?.click();\n\n // TODO - Remove this in the next major release\n // Fallback to onRemove if onReupload isn't provided to avoid breaking changes in the API\n if (onReupload) {\n onReupload({ file: selectedFiles[0] });\n } else {\n onRemove?.({ file: selectedFiles[0] });\n }\n setIsActive(false);\n }}\n onDismiss={() => {\n const newFiles = selectedFiles.filter(({ id }) => id !== selectedFiles[0].id);\n setSelectedFiles(() => newFiles);\n onDismiss?.({ file: selectedFiles[0] });\n }}\n onPreview={onPreview}\n />\n )}\n </BaseBox>\n {willRenderHintText && (\n <BaseBox\n marginLeft={makeSize(\n label && isLabelLeftPositioned ? formHintLeftLabelMarginLeft[size] : 0,\n )}\n >\n <BaseBox display=\"flex\" flexDirection=\"row\" justifyContent=\"'space-between\">\n <FormHint\n size={size}\n type={getHintType({\n validationState: showError ? 'error' : validationState,\n hasHelpText: Boolean(helpText),\n })}\n helpText={helpText}\n errorText={errorMessage ?? errorText}\n helpTextId={helpTextId}\n errorTextId={errorTextId}\n />\n </BaseBox>\n </BaseBox>\n )}\n {!isOneFileSelectedWithSingleUpload &&\n selectedFiles.map((file, index) => (\n <BaseBox\n key={file.id}\n marginLeft={makeSize(\n label && isLabelLeftPositioned ? formHintLeftLabelMarginLeft[size] : 0,\n )}\n marginTop={index === 0 ? 'spacing.5' : 'spacing.3'}\n >\n <FileUploadItem\n file={file}\n size={size}\n onRemove={() => {\n const newFiles = selectedFiles.filter(({ id }) => id !== file.id);\n setSelectedFiles(() => newFiles);\n onRemove?.({ file });\n }}\n onReupload={() => {\n const newFiles = selectedFiles.filter(({ id }) => id !== file.id);\n setSelectedFiles(() => newFiles);\n inputRef.current?.click();\n // TODO - Remove this in the next major release\n // Fallback to onRemove if onReupload isn't provided to avoid breaking changes in the API\n if (onReupload) {\n onReupload({ file });\n } else {\n onRemove?.({ file });\n }\n setIsActive(false);\n }}\n onDismiss={() => {\n const newFiles = selectedFiles.filter(({ id }) => id !== file.id);\n setSelectedFiles(() => newFiles);\n onDismiss?.({ file });\n }}\n onPreview={onPreview}\n />\n </BaseBox>\n ))}\n </BaseBox>\n );\n};\n\n/**\n * ### FileUpload Component\n * \n * The FileUpload component is used to handle file attachments, including the drag-and-drop interaction.\n * Primarily, it is used to upload files to a server or to display a list of uploaded files.\n * \n * ---\n * \n * #### Usage\n * \n * ```jsx\n const GSTForm = () => {\n const [selectedFile, setSelectedFile] = useState<BladeFile>();\n const [isLoading, setIsLoading] = useState(false);\n \n return (\n <Box>\n <Heading marginBottom=\"spacing.4\">Add GST Details</Heading>\n <form encType=\"multipart/form-data\" onSubmit={handleSubmit}>\n <FileUpload\n uploadType=\"single\"\n label=\"Upload GST\"\n helpText=\"Upload .jpg, .jpeg, or .png file only\"\n accept=\".jpg, .jpeg, .png\"\n onChange={({ fileList }) => {\n setSelectedFile(fileList[0]);\n }}\n onDrop={({ fileList }) => {\n setSelectedFile(fileList[0]);\n }}\n isRequired\n necessityIndicator=\"required\"\n />\n <Button type=\"submit\" variant=\"primary\">\n Submit\n </Button>\n {isLoading && (\n <ProgressBar isIndeterminate label=\"Uploading your GST Certificate...\" />\n )}\n </form>\n </Box>\n );\n }\n * ```\n *\n * ---\n *\n * Checkout {@link https://blade.razorpay.com/?path=/docs/components-fileupload FileUpload Documentation}\n * \n */\nconst FileUpload = assignWithoutSideEffects(forwardRef(_FileUpload), {\n displayName: 'FileUpload',\n componentId: 'FileUpload',\n});\n\nexport { FileUpload };\nexport type { BladeFile, BladeFileList, FileUploadProps };\n"],"names":["_FileUpload","_ref","ref","name","accept","_ref$uploadType","uploadType","onChange","onPreview","onRemove","onReupload","onDismiss","onDrop","isDisabled","isRequired","necessityIndicator","fileList","testID","label","_ref$labelPosition","labelPosition","accessibilityLabel","validationState","helpText","errorText","maxCount","maxSize","_ref$size","size","_motionMeta","rest","_objectWithoutProperties","_excluded","inputRef","useRef","mergedRef","useMergeRefs","_useTheme","useTheme","platform","_useControllableState","useControllableState","value","defaultValue","_useControllableState2","_slicedToArray","selectedFiles","setSelectedFiles","_useState","useState","_useState2","errorMessage","setErrorMessage","_useState3","_useState4","internalValidationState","setInternalValidationState","_useState5","_useState6","isActive","setIsActive","isMultiple","isOneFileSelectedWithSingleUpload","length","inputLabelPosition","isLabelLeftPositioned","willRenderHintText","Boolean","showError","showHelpText","accessibilityText","concat","_useFormId","useFormId","inputId","labelId","helpTextId","errorTextId","accessibilityProps","makeAccessible","required","invalid","disabled","describedBy","useMemo","_iterator","_createForOfIteratorHelper","_step","s","n","done","file","id","Date","getTime","toString","Math","floor","random","err","e","f","handleFilesChange","useCallback","inputFiles","prevFiles","allFiles","_toConsumableArray","validateFiles","some","isFileAccepted","handleDragOver","event","preventDefault","handleDragLeave","handleDrop","droppedFiles","Array","from","dataTransfer","files","hasValidationErrors","handleInputChange","_event$target$files","target","_jsxs","BaseBox","_objectSpread","getOuterMotionRef","display","flexDirection","width","metaAttribute","MetaConstants","FileUpload","getStyledProps","children","alignItems","undefined","position","_jsx","FormLabel","as","SelectorLabel","componentName","FileUploadLabel","inputProps","style","cursor","StyledFileUploadWrapper","justifyContent","borderRadius","borderWidth","onDragOver","onDragLeave","onClick","screenReaderStyles","Box","base","gap","makeSize","padding","Text","color","fileUploadColorTokens","text","SelectorInput","hoverTokens","getFileUploadInputHoverTokens","isChecked","type","multiple","onBlur","getInnerMotionRef","makeAnalyticsAttribute","borderBottomColor","fileUploadLinkBorderTokens","borderBottomWidth","link","FileUploadItem","newFiles","filter","_ref2","_inputRef$current","_ref3","current","click","_ref4","marginLeft","formHintLeftLabelMarginLeft","FormHint","getHintType","hasHelpText","map","index","marginTop","_ref5","_inputRef$current2","_ref6","_ref7","assignWithoutSideEffects","forwardRef","displayName","componentId"],"mappings":"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"}
@@ -124,7 +124,9 @@ var _Avatar = function _Avatar(_ref, ref) {
124
124
  children: getInitials(name)
125
125
  }));
126
126
  }
127
- return /*#__PURE__*/jsx(AvatarButton, _objectSpread(_objectSpread({}, commonButtonProps), {}, {
127
+ return /*#__PURE__*/jsx(AvatarButton, _objectSpread(_objectSpread({
128
+ ref: ref
129
+ }, commonButtonProps), {}, {
128
130
  icon: icon !== null && icon !== void 0 ? icon : UserIcon
129
131
  }));
130
132
  };