@razorpay/blade 11.31.0 → 11.31.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.
@@ -38,7 +38,7 @@ var _excluded=["defaultChecked","validationState","isChecked","isDisabled","isIn
38
38
  <Checkbox value="apple">Apple</Checkbox>
39
39
  <Checkbox value="mango">Mango</Checkbox>
40
40
  </CheckboxGroup>
41
- `);}}var _validationState=validationState!=null?validationState:groupProps==null?void 0:groupProps.validationState;var _hasError=_validationState==='error';var _isDisabled=isDisabled!=null?isDisabled:groupProps==null?void 0:groupProps.isDisabled;var _isRequired=Boolean(isRequired||(groupProps==null?void 0:groupProps.isRequired)||(groupProps==null?void 0:groupProps.necessityIndicator)==='required');var _name=name!=null?name:groupProps==null?void 0:groupProps.name;var _isChecked=isChecked!=null?isChecked:groupProps==null?void 0:(_groupProps$state=groupProps.state)==null?void 0:_groupProps$state.isChecked(value);var _size=(_groupProps$size=groupProps.size)!=null?_groupProps$size:size;var _useTheme=useTheme(),theme=_useTheme.theme;var formHintSize={small:'medium',medium:'medium',large:'large'};var showSupportingText=helpText;var handleChange=function handleChange(_ref2){var isChecked=_ref2.isChecked,event=_ref2.event,value=_ref2.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);}onChange==null?void 0:onChange({isChecked:isChecked,event:event,value:value});};var _useCheckbox=useCheckbox({defaultChecked:defaultChecked,isChecked:_isChecked,isIndeterminate:isIndeterminate,hasError:_hasError,hasHelperText:Boolean(showSupportingText),isDisabled:_isDisabled,isRequired:_isRequired,name:_name,value:value,onChange:handleChange}),state=_useCheckbox.state,ids=_useCheckbox.ids,inputProps=_useCheckbox.inputProps;var helpTextLeftSpacing=makeSize(checkboxSizes.icon[size].width+theme.spacing[3]);return jsxs(BaseBox,Object.assign({},metaAttribute({name:MetaConstants.Checkbox,testID:testID}),getStyledProps(styledProps),{children:[jsx(SelectorLabel,{componentName:MetaConstants.CheckboxLabel,inputProps:state.isReactNative?inputProps:{},children:jsxs(BaseBox,{display:"flex",flexDirection:"column",children:[jsxs(BaseBox,{display:"flex",flexDirection:"row",children:[jsx(SelectorInput,{hoverTokens:checkboxHoverTokens,isChecked:state.isChecked||Boolean(isIndeterminate),isDisabled:_isDisabled,hasError:_hasError,inputProps:inputProps,tabIndex:tabIndex,ref:ref}),jsx(CheckboxIcon,{size:_size,isChecked:state.isChecked,isIndeterminate:isIndeterminate,isDisabled:_isDisabled,isNegative:_hasError}),children?jsx(SelectorTitle,{size:_size,isDisabled:_isDisabled,children:children}):null]}),showSupportingText?jsx(BaseBox,{marginLeft:helpTextLeftSpacing,children:jsx(SelectorSupportText,{size:_size,id:ids==null?void 0:ids.helpTextId,children:helpText})}):null]})}),jsx(FormHint,{size:formHintSize[_size],errorText:errorText,errorTextId:ids==null?void 0:ids.errorTextId,type:validationState==='error'?'error':'help'})]}));};var Checkbox=assignWithoutSideEffects(React__default.forwardRef(_Checkbox),{displayName:'Checkbox'});
41
+ `);}}var _validationState=validationState!=null?validationState:groupProps==null?void 0:groupProps.validationState;var _hasError=_validationState==='error';var _isDisabled=isDisabled!=null?isDisabled:groupProps==null?void 0:groupProps.isDisabled;var _isRequired=Boolean(isRequired||(groupProps==null?void 0:groupProps.isRequired)||(groupProps==null?void 0:groupProps.necessityIndicator)==='required');var _name=name!=null?name:groupProps==null?void 0:groupProps.name;var _isChecked=isChecked!=null?isChecked:groupProps==null?void 0:(_groupProps$state=groupProps.state)==null?void 0:_groupProps$state.isChecked(value);var _size=(_groupProps$size=groupProps.size)!=null?_groupProps$size:size;var _useTheme=useTheme(),theme=_useTheme.theme;var formHintSize={small:'medium',medium:'medium',large:'large'};var showSupportingText=helpText;var handleChange=function handleChange(_ref2){var isChecked=_ref2.isChecked,event=_ref2.event,value=_ref2.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);}onChange==null?void 0:onChange({isChecked:isChecked,event:event,value:value});};var _useCheckbox=useCheckbox({defaultChecked:defaultChecked,isChecked:_isChecked,isIndeterminate:isIndeterminate,hasError:_hasError,hasHelperText:Boolean(showSupportingText),isDisabled:_isDisabled,isRequired:_isRequired,name:_name,value:value,onChange:handleChange}),state=_useCheckbox.state,ids=_useCheckbox.ids,inputProps=_useCheckbox.inputProps;var helpTextLeftSpacing=makeSize(checkboxSizes.icon[size].width+theme.spacing[3]);return jsxs(BaseBox,Object.assign({},metaAttribute({name:MetaConstants.Checkbox,testID:testID}),getStyledProps(styledProps),{children:[jsx(SelectorLabel,{componentName:MetaConstants.CheckboxLabel,inputProps:state.isReactNative?inputProps:{},style:{cursor:isDisabled?'not-allowed':'pointer'},children:jsxs(BaseBox,{display:"flex",flexDirection:"column",children:[jsxs(BaseBox,{display:"flex",flexDirection:"row",children:[jsx(SelectorInput,{hoverTokens:checkboxHoverTokens,isChecked:state.isChecked||Boolean(isIndeterminate),isDisabled:_isDisabled,hasError:_hasError,inputProps:inputProps,tabIndex:tabIndex,ref:ref}),jsx(CheckboxIcon,{size:_size,isChecked:state.isChecked,isIndeterminate:isIndeterminate,isDisabled:_isDisabled,isNegative:_hasError}),children?jsx(SelectorTitle,{size:_size,isDisabled:_isDisabled,children:children}):null]}),showSupportingText?jsx(BaseBox,{marginLeft:helpTextLeftSpacing,children:jsx(SelectorSupportText,{size:_size,id:ids==null?void 0:ids.helpTextId,children:helpText})}):null]})}),jsx(FormHint,{size:formHintSize[_size],errorText:errorText,errorTextId:ids==null?void 0:ids.errorTextId,type:validationState==='error'?'error':'help'})]}));};var Checkbox=assignWithoutSideEffects(React__default.forwardRef(_Checkbox),{displayName:'Checkbox'});
42
42
 
43
43
  export { Checkbox };
44
44
  //# sourceMappingURL=Checkbox.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Checkbox.js","sources":["../../../../../src/components/Checkbox/Checkbox.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/restrict-plus-operands */\n/* eslint-disable @typescript-eslint/no-shadow */\nimport React from 'react';\nimport { useCheckboxGroupContext } from './CheckboxGroup/CheckboxGroupContext';\nimport { CheckboxIcon } from './CheckboxIcon';\nimport { useCheckbox } from './useCheckbox';\nimport { checkboxHoverTokens, checkboxSizes } from './checkboxTokens';\nimport isEmpty from '~utils/lodashButBetter/isEmpty';\nimport isUndefined from '~utils/lodashButBetter/isUndefined';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport type { StyledPropsBlade } from '~components/Box/styledProps';\nimport BaseBox from '~components/Box/BaseBox';\nimport { FormHint } from '~components/Form';\nimport { SelectorLabel } from '~components/Form/Selector/SelectorLabel';\nimport { SelectorTitle } from '~components/Form/Selector/SelectorTitle';\nimport { SelectorSupportText } from '~components/Form/Selector/SelectorSupportText';\nimport { SelectorInput } from '~components/Form/Selector/SelectorInput';\nimport type { BladeElementRef, TestID } from '~utils/types';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { throwBladeError } from '~utils/logger';\nimport { makeSize, useTheme } from '~utils';\n\ntype OnChange = ({\n isChecked,\n event,\n value,\n}: {\n isChecked: boolean;\n event?: React.ChangeEvent;\n value?: string;\n}) => void;\n\ntype CheckboxProps = {\n /**\n * If `true`, The checkbox will be checked. This also makes the checkbox controlled\n * Use `onChange` to update its value\n *\n * @default false\n */\n isChecked?: boolean;\n /**\n * If `true`, the checkbox will be initially checked. This also makes the checkbox uncontrolled\n *\n * @default false\n */\n defaultChecked?: boolean;\n /**\n * The callback invoked when the checked state of the `Checkbox` changes.\n */\n onChange?: OnChange;\n /**\n * Sets the label of the checkbox\n */\n children?: React.ReactNode;\n /**\n * Help text for the checkbox\n */\n helpText?: string;\n /**\n * Error text for the checkbox\n *\n * Renders when `validationState` is set to 'error'\n */\n errorText?: string;\n /**\n * If `true`, the checkbox will be indeterminate.\n * This does not modify the isChecked property.\n *\n * @default false\n */\n isIndeterminate?: boolean;\n /**\n * The name of the input field in a checkbox\n * (Useful for form submission).\n */\n name?: string;\n /**\n * The value to be used in the checkbox input.\n * This is the value that will be returned on form submission.\n */\n value?: string;\n /**\n * If `true`, the checkbox will be disabled\n *\n * @default false\n */\n isDisabled?: boolean;\n /**\n * If `true`, the checkbox input is marked as required,\n * and `required` attribute will be added\n *\n * @default false\n */\n isRequired?: boolean;\n /**\n * If `error`, the checkbox input is marked as invalid,\n * and `invalid` attribute will be added\n */\n validationState?: 'error' | 'none';\n /**\n * Size of the checkbox\n *\n * @default \"medium\"\n */\n size?: 'small' | 'medium' | 'large';\n /**\n * Sets the tab-index property on checkbox element\n *\n */\n tabIndex?: number;\n} & TestID &\n StyledPropsBlade;\n\nconst _Checkbox: React.ForwardRefRenderFunction<BladeElementRef, CheckboxProps> = (\n {\n defaultChecked,\n validationState,\n isChecked,\n isDisabled,\n isIndeterminate,\n isRequired,\n name,\n onChange,\n value,\n children,\n helpText,\n errorText,\n size = 'medium',\n tabIndex,\n testID,\n ...styledProps\n },\n ref,\n) => {\n const groupProps = useCheckboxGroupContext();\n\n // ban certain props in checkbox while inside group\n const hasValidationState = !isUndefined(validationState);\n const hasName = !isUndefined(name);\n const hasDefaultChecked = !isUndefined(defaultChecked);\n const hasIsChecked = !isUndefined(isChecked);\n const hasOnChange = !isUndefined(onChange);\n\n if (__DEV__) {\n if (\n (hasValidationState || hasName || hasDefaultChecked || hasIsChecked || hasOnChange) &&\n !isEmpty(groupProps)\n ) {\n const props = [\n hasValidationState ? 'validationState' : undefined,\n hasName ? 'name' : undefined,\n hasDefaultChecked ? 'defaultChecked' : undefined,\n hasIsChecked ? 'isChecked' : undefined,\n hasOnChange ? 'onChange' : undefined,\n ]\n .filter(Boolean)\n .join(',');\n\n throwBladeError({\n message: `Cannot set \\`${props}\\` on <Checkbox /> when it's inside <CheckboxGroup />, Please set it on the <CheckboxGroup /> itself`,\n moduleName: 'Checkbox',\n });\n }\n\n // mandate value prop when using inside group\n if (!value && !isEmpty(groupProps)) {\n throw new Error(\n `[Blade Checkbox]: <CheckboxGroup /> requires that you pass unique \"value\" prop to each <Checkbox />\n <CheckboxGroup>\n <Checkbox value=\"apple\">Apple</Checkbox>\n <Checkbox value=\"mango\">Mango</Checkbox>\n </CheckboxGroup>\n `,\n );\n }\n }\n\n const _validationState = validationState ?? groupProps?.validationState;\n const _hasError = _validationState === 'error';\n const _isDisabled = isDisabled ?? groupProps?.isDisabled;\n const _isRequired = Boolean(\n isRequired || groupProps?.isRequired || groupProps?.necessityIndicator === 'required',\n );\n const _name = name ?? groupProps?.name;\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\n const _isChecked = isChecked ?? groupProps?.state?.isChecked(value!);\n const _size = groupProps.size ?? size;\n const { theme } = useTheme();\n const formHintSize = {\n small: 'medium',\n medium: 'medium',\n large: 'large',\n } as const;\n\n const showSupportingText = helpText;\n\n const handleChange: OnChange = ({ isChecked, event, value }) => {\n if (isChecked) {\n groupProps?.state?.addValue(value!);\n } else {\n groupProps?.state?.removeValue(value!);\n }\n\n onChange?.({ isChecked, event, value });\n };\n\n const { state, ids, inputProps } = useCheckbox({\n defaultChecked,\n isChecked: _isChecked,\n isIndeterminate,\n hasError: _hasError,\n hasHelperText: Boolean(showSupportingText),\n isDisabled: _isDisabled,\n isRequired: _isRequired,\n name: _name,\n value,\n onChange: handleChange,\n });\n\n // Checkbox icon's size & margin + margin-left of SelectorTitle which is 2\n const helpTextLeftSpacing = makeSize(checkboxSizes.icon[size].width + theme.spacing[3]);\n\n return (\n <BaseBox\n {...metaAttribute({ name: MetaConstants.Checkbox, testID })}\n {...getStyledProps(styledProps)}\n >\n <SelectorLabel\n componentName={MetaConstants.CheckboxLabel}\n inputProps={state.isReactNative ? inputProps : {}}\n >\n <BaseBox display=\"flex\" flexDirection=\"column\">\n <BaseBox display=\"flex\" flexDirection=\"row\">\n <SelectorInput\n hoverTokens={checkboxHoverTokens}\n isChecked={state.isChecked || Boolean(isIndeterminate)}\n isDisabled={_isDisabled}\n hasError={_hasError}\n inputProps={inputProps}\n tabIndex={tabIndex}\n ref={ref}\n />\n <CheckboxIcon\n size={_size}\n isChecked={state.isChecked}\n isIndeterminate={isIndeterminate}\n isDisabled={_isDisabled}\n isNegative={_hasError}\n />\n {children ? (\n <SelectorTitle size={_size} isDisabled={_isDisabled}>\n {children}\n </SelectorTitle>\n ) : null}\n </BaseBox>\n {showSupportingText ? (\n <BaseBox marginLeft={helpTextLeftSpacing}>\n <SelectorSupportText size={_size} id={ids?.helpTextId}>\n {helpText}\n </SelectorSupportText>\n </BaseBox>\n ) : null}\n </BaseBox>\n </SelectorLabel>\n <FormHint\n size={formHintSize[_size]}\n errorText={errorText}\n errorTextId={ids?.errorTextId}\n type={validationState === 'error' ? 'error' : 'help'}\n />\n </BaseBox>\n );\n};\n\nconst Checkbox = assignWithoutSideEffects(React.forwardRef(_Checkbox), {\n displayName: 'Checkbox',\n});\n\nexport type { CheckboxProps };\nexport { Checkbox };\n"],"names":["_Checkbox","_ref","ref","_groupProps$state","_groupProps$size","defaultChecked","validationState","isChecked","isDisabled","isIndeterminate","isRequired","name","onChange","value","children","helpText","errorText","_ref$size","size","tabIndex","testID","styledProps","_objectWithoutProperties","_excluded","groupProps","useCheckboxGroupContext","hasValidationState","isUndefined","hasName","hasDefaultChecked","hasIsChecked","hasOnChange","__DEV__","isEmpty","props","undefined","filter","Boolean","join","throwBladeError","message","moduleName","Error","_validationState","_hasError","_isDisabled","_isRequired","necessityIndicator","_name","_isChecked","state","_size","_useTheme","useTheme","theme","formHintSize","small","medium","large","showSupportingText","handleChange","_ref2","event","_groupProps$state2","addValue","_groupProps$state3","removeValue","_useCheckbox","useCheckbox","hasError","hasHelperText","ids","inputProps","helpTextLeftSpacing","makeSize","checkboxSizes","icon","width","spacing","_jsxs","BaseBox","Object","assign","metaAttribute","MetaConstants","Checkbox","getStyledProps","_jsx","SelectorLabel","componentName","CheckboxLabel","isReactNative","display","flexDirection","SelectorInput","hoverTokens","checkboxHoverTokens","CheckboxIcon","isNegative","SelectorTitle","marginLeft","SelectorSupportText","id","helpTextId","FormHint","errorTextId","type","assignWithoutSideEffects","React","forwardRef","displayName"],"mappings":"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"}
1
+ {"version":3,"file":"Checkbox.js","sources":["../../../../../src/components/Checkbox/Checkbox.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/restrict-plus-operands */\n/* eslint-disable @typescript-eslint/no-shadow */\nimport React from 'react';\nimport { useCheckboxGroupContext } from './CheckboxGroup/CheckboxGroupContext';\nimport { CheckboxIcon } from './CheckboxIcon';\nimport { useCheckbox } from './useCheckbox';\nimport { checkboxHoverTokens, checkboxSizes } from './checkboxTokens';\nimport isEmpty from '~utils/lodashButBetter/isEmpty';\nimport isUndefined from '~utils/lodashButBetter/isUndefined';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport type { StyledPropsBlade } from '~components/Box/styledProps';\nimport BaseBox from '~components/Box/BaseBox';\nimport { FormHint } from '~components/Form';\nimport { SelectorLabel } from '~components/Form/Selector/SelectorLabel';\nimport { SelectorTitle } from '~components/Form/Selector/SelectorTitle';\nimport { SelectorSupportText } from '~components/Form/Selector/SelectorSupportText';\nimport { SelectorInput } from '~components/Form/Selector/SelectorInput';\nimport type { BladeElementRef, TestID } from '~utils/types';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { throwBladeError } from '~utils/logger';\nimport { makeSize, useTheme } from '~utils';\n\ntype OnChange = ({\n isChecked,\n event,\n value,\n}: {\n isChecked: boolean;\n event?: React.ChangeEvent;\n value?: string;\n}) => void;\n\ntype CheckboxProps = {\n /**\n * If `true`, The checkbox will be checked. This also makes the checkbox controlled\n * Use `onChange` to update its value\n *\n * @default false\n */\n isChecked?: boolean;\n /**\n * If `true`, the checkbox will be initially checked. This also makes the checkbox uncontrolled\n *\n * @default false\n */\n defaultChecked?: boolean;\n /**\n * The callback invoked when the checked state of the `Checkbox` changes.\n */\n onChange?: OnChange;\n /**\n * Sets the label of the checkbox\n */\n children?: React.ReactNode;\n /**\n * Help text for the checkbox\n */\n helpText?: string;\n /**\n * Error text for the checkbox\n *\n * Renders when `validationState` is set to 'error'\n */\n errorText?: string;\n /**\n * If `true`, the checkbox will be indeterminate.\n * This does not modify the isChecked property.\n *\n * @default false\n */\n isIndeterminate?: boolean;\n /**\n * The name of the input field in a checkbox\n * (Useful for form submission).\n */\n name?: string;\n /**\n * The value to be used in the checkbox input.\n * This is the value that will be returned on form submission.\n */\n value?: string;\n /**\n * If `true`, the checkbox will be disabled\n *\n * @default false\n */\n isDisabled?: boolean;\n /**\n * If `true`, the checkbox input is marked as required,\n * and `required` attribute will be added\n *\n * @default false\n */\n isRequired?: boolean;\n /**\n * If `error`, the checkbox input is marked as invalid,\n * and `invalid` attribute will be added\n */\n validationState?: 'error' | 'none';\n /**\n * Size of the checkbox\n *\n * @default \"medium\"\n */\n size?: 'small' | 'medium' | 'large';\n /**\n * Sets the tab-index property on checkbox element\n *\n */\n tabIndex?: number;\n} & TestID &\n StyledPropsBlade;\n\nconst _Checkbox: React.ForwardRefRenderFunction<BladeElementRef, CheckboxProps> = (\n {\n defaultChecked,\n validationState,\n isChecked,\n isDisabled,\n isIndeterminate,\n isRequired,\n name,\n onChange,\n value,\n children,\n helpText,\n errorText,\n size = 'medium',\n tabIndex,\n testID,\n ...styledProps\n },\n ref,\n) => {\n const groupProps = useCheckboxGroupContext();\n\n // ban certain props in checkbox while inside group\n const hasValidationState = !isUndefined(validationState);\n const hasName = !isUndefined(name);\n const hasDefaultChecked = !isUndefined(defaultChecked);\n const hasIsChecked = !isUndefined(isChecked);\n const hasOnChange = !isUndefined(onChange);\n\n if (__DEV__) {\n if (\n (hasValidationState || hasName || hasDefaultChecked || hasIsChecked || hasOnChange) &&\n !isEmpty(groupProps)\n ) {\n const props = [\n hasValidationState ? 'validationState' : undefined,\n hasName ? 'name' : undefined,\n hasDefaultChecked ? 'defaultChecked' : undefined,\n hasIsChecked ? 'isChecked' : undefined,\n hasOnChange ? 'onChange' : undefined,\n ]\n .filter(Boolean)\n .join(',');\n\n throwBladeError({\n message: `Cannot set \\`${props}\\` on <Checkbox /> when it's inside <CheckboxGroup />, Please set it on the <CheckboxGroup /> itself`,\n moduleName: 'Checkbox',\n });\n }\n\n // mandate value prop when using inside group\n if (!value && !isEmpty(groupProps)) {\n throw new Error(\n `[Blade Checkbox]: <CheckboxGroup /> requires that you pass unique \"value\" prop to each <Checkbox />\n <CheckboxGroup>\n <Checkbox value=\"apple\">Apple</Checkbox>\n <Checkbox value=\"mango\">Mango</Checkbox>\n </CheckboxGroup>\n `,\n );\n }\n }\n\n const _validationState = validationState ?? groupProps?.validationState;\n const _hasError = _validationState === 'error';\n const _isDisabled = isDisabled ?? groupProps?.isDisabled;\n const _isRequired = Boolean(\n isRequired || groupProps?.isRequired || groupProps?.necessityIndicator === 'required',\n );\n const _name = name ?? groupProps?.name;\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\n const _isChecked = isChecked ?? groupProps?.state?.isChecked(value!);\n const _size = groupProps.size ?? size;\n const { theme } = useTheme();\n const formHintSize = {\n small: 'medium',\n medium: 'medium',\n large: 'large',\n } as const;\n\n const showSupportingText = helpText;\n\n const handleChange: OnChange = ({ isChecked, event, value }) => {\n if (isChecked) {\n groupProps?.state?.addValue(value!);\n } else {\n groupProps?.state?.removeValue(value!);\n }\n\n onChange?.({ isChecked, event, value });\n };\n\n const { state, ids, inputProps } = useCheckbox({\n defaultChecked,\n isChecked: _isChecked,\n isIndeterminate,\n hasError: _hasError,\n hasHelperText: Boolean(showSupportingText),\n isDisabled: _isDisabled,\n isRequired: _isRequired,\n name: _name,\n value,\n onChange: handleChange,\n });\n\n // Checkbox icon's size & margin + margin-left of SelectorTitle which is 2\n const helpTextLeftSpacing = makeSize(checkboxSizes.icon[size].width + theme.spacing[3]);\n\n return (\n <BaseBox\n {...metaAttribute({ name: MetaConstants.Checkbox, testID })}\n {...getStyledProps(styledProps)}\n >\n <SelectorLabel\n componentName={MetaConstants.CheckboxLabel}\n inputProps={state.isReactNative ? inputProps : {}}\n style={{ cursor: isDisabled ? 'not-allowed' : 'pointer' }}\n >\n <BaseBox display=\"flex\" flexDirection=\"column\">\n <BaseBox display=\"flex\" flexDirection=\"row\">\n <SelectorInput\n hoverTokens={checkboxHoverTokens}\n isChecked={state.isChecked || Boolean(isIndeterminate)}\n isDisabled={_isDisabled}\n hasError={_hasError}\n inputProps={inputProps}\n tabIndex={tabIndex}\n ref={ref}\n />\n <CheckboxIcon\n size={_size}\n isChecked={state.isChecked}\n isIndeterminate={isIndeterminate}\n isDisabled={_isDisabled}\n isNegative={_hasError}\n />\n {children ? (\n <SelectorTitle size={_size} isDisabled={_isDisabled}>\n {children}\n </SelectorTitle>\n ) : null}\n </BaseBox>\n {showSupportingText ? (\n <BaseBox marginLeft={helpTextLeftSpacing}>\n <SelectorSupportText size={_size} id={ids?.helpTextId}>\n {helpText}\n </SelectorSupportText>\n </BaseBox>\n ) : null}\n </BaseBox>\n </SelectorLabel>\n <FormHint\n size={formHintSize[_size]}\n errorText={errorText}\n errorTextId={ids?.errorTextId}\n type={validationState === 'error' ? 'error' : 'help'}\n />\n </BaseBox>\n );\n};\n\nconst Checkbox = assignWithoutSideEffects(React.forwardRef(_Checkbox), {\n displayName: 'Checkbox',\n});\n\nexport type { CheckboxProps };\nexport { Checkbox };\n"],"names":["_Checkbox","_ref","ref","_groupProps$state","_groupProps$size","defaultChecked","validationState","isChecked","isDisabled","isIndeterminate","isRequired","name","onChange","value","children","helpText","errorText","_ref$size","size","tabIndex","testID","styledProps","_objectWithoutProperties","_excluded","groupProps","useCheckboxGroupContext","hasValidationState","isUndefined","hasName","hasDefaultChecked","hasIsChecked","hasOnChange","__DEV__","isEmpty","props","undefined","filter","Boolean","join","throwBladeError","message","moduleName","Error","_validationState","_hasError","_isDisabled","_isRequired","necessityIndicator","_name","_isChecked","state","_size","_useTheme","useTheme","theme","formHintSize","small","medium","large","showSupportingText","handleChange","_ref2","event","_groupProps$state2","addValue","_groupProps$state3","removeValue","_useCheckbox","useCheckbox","hasError","hasHelperText","ids","inputProps","helpTextLeftSpacing","makeSize","checkboxSizes","icon","width","spacing","_jsxs","BaseBox","Object","assign","metaAttribute","MetaConstants","Checkbox","getStyledProps","_jsx","SelectorLabel","componentName","CheckboxLabel","isReactNative","style","cursor","display","flexDirection","SelectorInput","hoverTokens","checkboxHoverTokens","CheckboxIcon","isNegative","SelectorTitle","marginLeft","SelectorSupportText","id","helpTextId","FormHint","errorTextId","type","assignWithoutSideEffects","React","forwardRef","displayName"],"mappings":"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"}
@@ -132,6 +132,9 @@ var _Checkbox = function _Checkbox(_ref, ref) {
132
132
  children: [/*#__PURE__*/jsx(SelectorLabel, {
133
133
  componentName: MetaConstants.CheckboxLabel,
134
134
  inputProps: state.isReactNative ? inputProps : {},
135
+ style: {
136
+ cursor: isDisabled ? 'not-allowed' : 'pointer'
137
+ },
135
138
  children: /*#__PURE__*/jsxs(BaseBox, {
136
139
  display: "flex",
137
140
  flexDirection: "column",
@@ -1 +1 @@
1
- {"version":3,"file":"Checkbox.js","sources":["../../../../../../src/components/Checkbox/Checkbox.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/restrict-plus-operands */\n/* eslint-disable @typescript-eslint/no-shadow */\nimport React from 'react';\nimport { useCheckboxGroupContext } from './CheckboxGroup/CheckboxGroupContext';\nimport { CheckboxIcon } from './CheckboxIcon';\nimport { useCheckbox } from './useCheckbox';\nimport { checkboxHoverTokens, checkboxSizes } from './checkboxTokens';\nimport isEmpty from '~utils/lodashButBetter/isEmpty';\nimport isUndefined from '~utils/lodashButBetter/isUndefined';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport type { StyledPropsBlade } from '~components/Box/styledProps';\nimport BaseBox from '~components/Box/BaseBox';\nimport { FormHint } from '~components/Form';\nimport { SelectorLabel } from '~components/Form/Selector/SelectorLabel';\nimport { SelectorTitle } from '~components/Form/Selector/SelectorTitle';\nimport { SelectorSupportText } from '~components/Form/Selector/SelectorSupportText';\nimport { SelectorInput } from '~components/Form/Selector/SelectorInput';\nimport type { BladeElementRef, TestID } from '~utils/types';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { throwBladeError } from '~utils/logger';\nimport { makeSize, useTheme } from '~utils';\n\ntype OnChange = ({\n isChecked,\n event,\n value,\n}: {\n isChecked: boolean;\n event?: React.ChangeEvent;\n value?: string;\n}) => void;\n\ntype CheckboxProps = {\n /**\n * If `true`, The checkbox will be checked. This also makes the checkbox controlled\n * Use `onChange` to update its value\n *\n * @default false\n */\n isChecked?: boolean;\n /**\n * If `true`, the checkbox will be initially checked. This also makes the checkbox uncontrolled\n *\n * @default false\n */\n defaultChecked?: boolean;\n /**\n * The callback invoked when the checked state of the `Checkbox` changes.\n */\n onChange?: OnChange;\n /**\n * Sets the label of the checkbox\n */\n children?: React.ReactNode;\n /**\n * Help text for the checkbox\n */\n helpText?: string;\n /**\n * Error text for the checkbox\n *\n * Renders when `validationState` is set to 'error'\n */\n errorText?: string;\n /**\n * If `true`, the checkbox will be indeterminate.\n * This does not modify the isChecked property.\n *\n * @default false\n */\n isIndeterminate?: boolean;\n /**\n * The name of the input field in a checkbox\n * (Useful for form submission).\n */\n name?: string;\n /**\n * The value to be used in the checkbox input.\n * This is the value that will be returned on form submission.\n */\n value?: string;\n /**\n * If `true`, the checkbox will be disabled\n *\n * @default false\n */\n isDisabled?: boolean;\n /**\n * If `true`, the checkbox input is marked as required,\n * and `required` attribute will be added\n *\n * @default false\n */\n isRequired?: boolean;\n /**\n * If `error`, the checkbox input is marked as invalid,\n * and `invalid` attribute will be added\n */\n validationState?: 'error' | 'none';\n /**\n * Size of the checkbox\n *\n * @default \"medium\"\n */\n size?: 'small' | 'medium' | 'large';\n /**\n * Sets the tab-index property on checkbox element\n *\n */\n tabIndex?: number;\n} & TestID &\n StyledPropsBlade;\n\nconst _Checkbox: React.ForwardRefRenderFunction<BladeElementRef, CheckboxProps> = (\n {\n defaultChecked,\n validationState,\n isChecked,\n isDisabled,\n isIndeterminate,\n isRequired,\n name,\n onChange,\n value,\n children,\n helpText,\n errorText,\n size = 'medium',\n tabIndex,\n testID,\n ...styledProps\n },\n ref,\n) => {\n const groupProps = useCheckboxGroupContext();\n\n // ban certain props in checkbox while inside group\n const hasValidationState = !isUndefined(validationState);\n const hasName = !isUndefined(name);\n const hasDefaultChecked = !isUndefined(defaultChecked);\n const hasIsChecked = !isUndefined(isChecked);\n const hasOnChange = !isUndefined(onChange);\n\n if (__DEV__) {\n if (\n (hasValidationState || hasName || hasDefaultChecked || hasIsChecked || hasOnChange) &&\n !isEmpty(groupProps)\n ) {\n const props = [\n hasValidationState ? 'validationState' : undefined,\n hasName ? 'name' : undefined,\n hasDefaultChecked ? 'defaultChecked' : undefined,\n hasIsChecked ? 'isChecked' : undefined,\n hasOnChange ? 'onChange' : undefined,\n ]\n .filter(Boolean)\n .join(',');\n\n throwBladeError({\n message: `Cannot set \\`${props}\\` on <Checkbox /> when it's inside <CheckboxGroup />, Please set it on the <CheckboxGroup /> itself`,\n moduleName: 'Checkbox',\n });\n }\n\n // mandate value prop when using inside group\n if (!value && !isEmpty(groupProps)) {\n throw new Error(\n `[Blade Checkbox]: <CheckboxGroup /> requires that you pass unique \"value\" prop to each <Checkbox />\n <CheckboxGroup>\n <Checkbox value=\"apple\">Apple</Checkbox>\n <Checkbox value=\"mango\">Mango</Checkbox>\n </CheckboxGroup>\n `,\n );\n }\n }\n\n const _validationState = validationState ?? groupProps?.validationState;\n const _hasError = _validationState === 'error';\n const _isDisabled = isDisabled ?? groupProps?.isDisabled;\n const _isRequired = Boolean(\n isRequired || groupProps?.isRequired || groupProps?.necessityIndicator === 'required',\n );\n const _name = name ?? groupProps?.name;\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\n const _isChecked = isChecked ?? groupProps?.state?.isChecked(value!);\n const _size = groupProps.size ?? size;\n const { theme } = useTheme();\n const formHintSize = {\n small: 'medium',\n medium: 'medium',\n large: 'large',\n } as const;\n\n const showSupportingText = helpText;\n\n const handleChange: OnChange = ({ isChecked, event, value }) => {\n if (isChecked) {\n groupProps?.state?.addValue(value!);\n } else {\n groupProps?.state?.removeValue(value!);\n }\n\n onChange?.({ isChecked, event, value });\n };\n\n const { state, ids, inputProps } = useCheckbox({\n defaultChecked,\n isChecked: _isChecked,\n isIndeterminate,\n hasError: _hasError,\n hasHelperText: Boolean(showSupportingText),\n isDisabled: _isDisabled,\n isRequired: _isRequired,\n name: _name,\n value,\n onChange: handleChange,\n });\n\n // Checkbox icon's size & margin + margin-left of SelectorTitle which is 2\n const helpTextLeftSpacing = makeSize(checkboxSizes.icon[size].width + theme.spacing[3]);\n\n return (\n <BaseBox\n {...metaAttribute({ name: MetaConstants.Checkbox, testID })}\n {...getStyledProps(styledProps)}\n >\n <SelectorLabel\n componentName={MetaConstants.CheckboxLabel}\n inputProps={state.isReactNative ? inputProps : {}}\n >\n <BaseBox display=\"flex\" flexDirection=\"column\">\n <BaseBox display=\"flex\" flexDirection=\"row\">\n <SelectorInput\n hoverTokens={checkboxHoverTokens}\n isChecked={state.isChecked || Boolean(isIndeterminate)}\n isDisabled={_isDisabled}\n hasError={_hasError}\n inputProps={inputProps}\n tabIndex={tabIndex}\n ref={ref}\n />\n <CheckboxIcon\n size={_size}\n isChecked={state.isChecked}\n isIndeterminate={isIndeterminate}\n isDisabled={_isDisabled}\n isNegative={_hasError}\n />\n {children ? (\n <SelectorTitle size={_size} isDisabled={_isDisabled}>\n {children}\n </SelectorTitle>\n ) : null}\n </BaseBox>\n {showSupportingText ? (\n <BaseBox marginLeft={helpTextLeftSpacing}>\n <SelectorSupportText size={_size} id={ids?.helpTextId}>\n {helpText}\n </SelectorSupportText>\n </BaseBox>\n ) : null}\n </BaseBox>\n </SelectorLabel>\n <FormHint\n size={formHintSize[_size]}\n errorText={errorText}\n errorTextId={ids?.errorTextId}\n type={validationState === 'error' ? 'error' : 'help'}\n />\n </BaseBox>\n );\n};\n\nconst Checkbox = assignWithoutSideEffects(React.forwardRef(_Checkbox), {\n displayName: 'Checkbox',\n});\n\nexport type { CheckboxProps };\nexport { Checkbox };\n"],"names":["_Checkbox","_ref","ref","_groupProps$state","_groupProps$size","defaultChecked","validationState","isChecked","isDisabled","isIndeterminate","isRequired","name","onChange","value","children","helpText","errorText","_ref$size","size","tabIndex","testID","styledProps","_objectWithoutProperties","_excluded","groupProps","useCheckboxGroupContext","hasValidationState","isUndefined","hasName","hasDefaultChecked","hasIsChecked","hasOnChange","isEmpty","props","undefined","filter","Boolean","join","throwBladeError","message","concat","moduleName","Error","_validationState","_hasError","_isDisabled","_isRequired","necessityIndicator","_name","_isChecked","state","_size","_useTheme","useTheme","theme","formHintSize","small","medium","large","showSupportingText","handleChange","_ref2","event","_groupProps$state2","addValue","_groupProps$state3","removeValue","_useCheckbox","useCheckbox","hasError","hasHelperText","ids","inputProps","helpTextLeftSpacing","makeSize","checkboxSizes","icon","width","spacing","_jsxs","BaseBox","_objectSpread","metaAttribute","MetaConstants","Checkbox","getStyledProps","_jsx","SelectorLabel","componentName","CheckboxLabel","isReactNative","display","flexDirection","SelectorInput","hoverTokens","checkboxHoverTokens","CheckboxIcon","isNegative","SelectorTitle","marginLeft","SelectorSupportText","id","helpTextId","FormHint","errorTextId","type","assignWithoutSideEffects","React","forwardRef","displayName"],"mappings":"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"}
1
+ {"version":3,"file":"Checkbox.js","sources":["../../../../../../src/components/Checkbox/Checkbox.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/restrict-plus-operands */\n/* eslint-disable @typescript-eslint/no-shadow */\nimport React from 'react';\nimport { useCheckboxGroupContext } from './CheckboxGroup/CheckboxGroupContext';\nimport { CheckboxIcon } from './CheckboxIcon';\nimport { useCheckbox } from './useCheckbox';\nimport { checkboxHoverTokens, checkboxSizes } from './checkboxTokens';\nimport isEmpty from '~utils/lodashButBetter/isEmpty';\nimport isUndefined from '~utils/lodashButBetter/isUndefined';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport type { StyledPropsBlade } from '~components/Box/styledProps';\nimport BaseBox from '~components/Box/BaseBox';\nimport { FormHint } from '~components/Form';\nimport { SelectorLabel } from '~components/Form/Selector/SelectorLabel';\nimport { SelectorTitle } from '~components/Form/Selector/SelectorTitle';\nimport { SelectorSupportText } from '~components/Form/Selector/SelectorSupportText';\nimport { SelectorInput } from '~components/Form/Selector/SelectorInput';\nimport type { BladeElementRef, TestID } from '~utils/types';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { throwBladeError } from '~utils/logger';\nimport { makeSize, useTheme } from '~utils';\n\ntype OnChange = ({\n isChecked,\n event,\n value,\n}: {\n isChecked: boolean;\n event?: React.ChangeEvent;\n value?: string;\n}) => void;\n\ntype CheckboxProps = {\n /**\n * If `true`, The checkbox will be checked. This also makes the checkbox controlled\n * Use `onChange` to update its value\n *\n * @default false\n */\n isChecked?: boolean;\n /**\n * If `true`, the checkbox will be initially checked. This also makes the checkbox uncontrolled\n *\n * @default false\n */\n defaultChecked?: boolean;\n /**\n * The callback invoked when the checked state of the `Checkbox` changes.\n */\n onChange?: OnChange;\n /**\n * Sets the label of the checkbox\n */\n children?: React.ReactNode;\n /**\n * Help text for the checkbox\n */\n helpText?: string;\n /**\n * Error text for the checkbox\n *\n * Renders when `validationState` is set to 'error'\n */\n errorText?: string;\n /**\n * If `true`, the checkbox will be indeterminate.\n * This does not modify the isChecked property.\n *\n * @default false\n */\n isIndeterminate?: boolean;\n /**\n * The name of the input field in a checkbox\n * (Useful for form submission).\n */\n name?: string;\n /**\n * The value to be used in the checkbox input.\n * This is the value that will be returned on form submission.\n */\n value?: string;\n /**\n * If `true`, the checkbox will be disabled\n *\n * @default false\n */\n isDisabled?: boolean;\n /**\n * If `true`, the checkbox input is marked as required,\n * and `required` attribute will be added\n *\n * @default false\n */\n isRequired?: boolean;\n /**\n * If `error`, the checkbox input is marked as invalid,\n * and `invalid` attribute will be added\n */\n validationState?: 'error' | 'none';\n /**\n * Size of the checkbox\n *\n * @default \"medium\"\n */\n size?: 'small' | 'medium' | 'large';\n /**\n * Sets the tab-index property on checkbox element\n *\n */\n tabIndex?: number;\n} & TestID &\n StyledPropsBlade;\n\nconst _Checkbox: React.ForwardRefRenderFunction<BladeElementRef, CheckboxProps> = (\n {\n defaultChecked,\n validationState,\n isChecked,\n isDisabled,\n isIndeterminate,\n isRequired,\n name,\n onChange,\n value,\n children,\n helpText,\n errorText,\n size = 'medium',\n tabIndex,\n testID,\n ...styledProps\n },\n ref,\n) => {\n const groupProps = useCheckboxGroupContext();\n\n // ban certain props in checkbox while inside group\n const hasValidationState = !isUndefined(validationState);\n const hasName = !isUndefined(name);\n const hasDefaultChecked = !isUndefined(defaultChecked);\n const hasIsChecked = !isUndefined(isChecked);\n const hasOnChange = !isUndefined(onChange);\n\n if (__DEV__) {\n if (\n (hasValidationState || hasName || hasDefaultChecked || hasIsChecked || hasOnChange) &&\n !isEmpty(groupProps)\n ) {\n const props = [\n hasValidationState ? 'validationState' : undefined,\n hasName ? 'name' : undefined,\n hasDefaultChecked ? 'defaultChecked' : undefined,\n hasIsChecked ? 'isChecked' : undefined,\n hasOnChange ? 'onChange' : undefined,\n ]\n .filter(Boolean)\n .join(',');\n\n throwBladeError({\n message: `Cannot set \\`${props}\\` on <Checkbox /> when it's inside <CheckboxGroup />, Please set it on the <CheckboxGroup /> itself`,\n moduleName: 'Checkbox',\n });\n }\n\n // mandate value prop when using inside group\n if (!value && !isEmpty(groupProps)) {\n throw new Error(\n `[Blade Checkbox]: <CheckboxGroup /> requires that you pass unique \"value\" prop to each <Checkbox />\n <CheckboxGroup>\n <Checkbox value=\"apple\">Apple</Checkbox>\n <Checkbox value=\"mango\">Mango</Checkbox>\n </CheckboxGroup>\n `,\n );\n }\n }\n\n const _validationState = validationState ?? groupProps?.validationState;\n const _hasError = _validationState === 'error';\n const _isDisabled = isDisabled ?? groupProps?.isDisabled;\n const _isRequired = Boolean(\n isRequired || groupProps?.isRequired || groupProps?.necessityIndicator === 'required',\n );\n const _name = name ?? groupProps?.name;\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\n const _isChecked = isChecked ?? groupProps?.state?.isChecked(value!);\n const _size = groupProps.size ?? size;\n const { theme } = useTheme();\n const formHintSize = {\n small: 'medium',\n medium: 'medium',\n large: 'large',\n } as const;\n\n const showSupportingText = helpText;\n\n const handleChange: OnChange = ({ isChecked, event, value }) => {\n if (isChecked) {\n groupProps?.state?.addValue(value!);\n } else {\n groupProps?.state?.removeValue(value!);\n }\n\n onChange?.({ isChecked, event, value });\n };\n\n const { state, ids, inputProps } = useCheckbox({\n defaultChecked,\n isChecked: _isChecked,\n isIndeterminate,\n hasError: _hasError,\n hasHelperText: Boolean(showSupportingText),\n isDisabled: _isDisabled,\n isRequired: _isRequired,\n name: _name,\n value,\n onChange: handleChange,\n });\n\n // Checkbox icon's size & margin + margin-left of SelectorTitle which is 2\n const helpTextLeftSpacing = makeSize(checkboxSizes.icon[size].width + theme.spacing[3]);\n\n return (\n <BaseBox\n {...metaAttribute({ name: MetaConstants.Checkbox, testID })}\n {...getStyledProps(styledProps)}\n >\n <SelectorLabel\n componentName={MetaConstants.CheckboxLabel}\n inputProps={state.isReactNative ? inputProps : {}}\n style={{ cursor: isDisabled ? 'not-allowed' : 'pointer' }}\n >\n <BaseBox display=\"flex\" flexDirection=\"column\">\n <BaseBox display=\"flex\" flexDirection=\"row\">\n <SelectorInput\n hoverTokens={checkboxHoverTokens}\n isChecked={state.isChecked || Boolean(isIndeterminate)}\n isDisabled={_isDisabled}\n hasError={_hasError}\n inputProps={inputProps}\n tabIndex={tabIndex}\n ref={ref}\n />\n <CheckboxIcon\n size={_size}\n isChecked={state.isChecked}\n isIndeterminate={isIndeterminate}\n isDisabled={_isDisabled}\n isNegative={_hasError}\n />\n {children ? (\n <SelectorTitle size={_size} isDisabled={_isDisabled}>\n {children}\n </SelectorTitle>\n ) : null}\n </BaseBox>\n {showSupportingText ? (\n <BaseBox marginLeft={helpTextLeftSpacing}>\n <SelectorSupportText size={_size} id={ids?.helpTextId}>\n {helpText}\n </SelectorSupportText>\n </BaseBox>\n ) : null}\n </BaseBox>\n </SelectorLabel>\n <FormHint\n size={formHintSize[_size]}\n errorText={errorText}\n errorTextId={ids?.errorTextId}\n type={validationState === 'error' ? 'error' : 'help'}\n />\n </BaseBox>\n );\n};\n\nconst Checkbox = assignWithoutSideEffects(React.forwardRef(_Checkbox), {\n displayName: 'Checkbox',\n});\n\nexport type { CheckboxProps };\nexport { Checkbox };\n"],"names":["_Checkbox","_ref","ref","_groupProps$state","_groupProps$size","defaultChecked","validationState","isChecked","isDisabled","isIndeterminate","isRequired","name","onChange","value","children","helpText","errorText","_ref$size","size","tabIndex","testID","styledProps","_objectWithoutProperties","_excluded","groupProps","useCheckboxGroupContext","hasValidationState","isUndefined","hasName","hasDefaultChecked","hasIsChecked","hasOnChange","isEmpty","props","undefined","filter","Boolean","join","throwBladeError","message","concat","moduleName","Error","_validationState","_hasError","_isDisabled","_isRequired","necessityIndicator","_name","_isChecked","state","_size","_useTheme","useTheme","theme","formHintSize","small","medium","large","showSupportingText","handleChange","_ref2","event","_groupProps$state2","addValue","_groupProps$state3","removeValue","_useCheckbox","useCheckbox","hasError","hasHelperText","ids","inputProps","helpTextLeftSpacing","makeSize","checkboxSizes","icon","width","spacing","_jsxs","BaseBox","_objectSpread","metaAttribute","MetaConstants","Checkbox","getStyledProps","_jsx","SelectorLabel","componentName","CheckboxLabel","isReactNative","style","cursor","display","flexDirection","SelectorInput","hoverTokens","checkboxHoverTokens","CheckboxIcon","isNegative","SelectorTitle","marginLeft","SelectorSupportText","id","helpTextId","FormHint","errorTextId","type","assignWithoutSideEffects","React","forwardRef","displayName"],"mappings":"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"}
@@ -324,7 +324,8 @@ var _Table = function _Table(_ref3) {
324
324
  })), {}, {
325
325
  children: /*#__PURE__*/jsx(Spinner, {
326
326
  accessibilityLabel: "Loading Table",
327
- size: "large"
327
+ size: "large",
328
+ testID: "table-spinner"
328
329
  })
329
330
  })) : /*#__PURE__*/jsxs(BaseBox, _objectSpread(_objectSpread(_objectSpread({
330
331
  flex: 1,
@@ -1 +1 @@
1
- {"version":3,"file":"Table.web.js","sources":["../../../../../../src/components/Table/Table.web.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo } from 'react';\nimport { Table as ReactTable } from '@table-library/react-table-library/table';\nimport { useTheme as useTableTheme } from '@table-library/react-table-library/theme';\nimport type { MiddlewareFunction } from '@table-library/react-table-library/types/common';\nimport { useSort } from '@table-library/react-table-library/sort';\nimport { usePagination } from '@table-library/react-table-library/pagination';\nimport {\n SelectClickTypes,\n SelectTypes,\n useRowSelect,\n} from '@table-library/react-table-library/select';\nimport styled from 'styled-components';\nimport usePresence from 'use-presence';\nimport type { TableContextType } from './TableContext';\nimport { TableContext } from './TableContext';\nimport { ComponentIds } from './componentIds';\nimport {\n checkboxCellWidth,\n firstColumnStickyZIndex,\n refreshWrapperZIndex,\n tableBackgroundColor,\n tablePagination,\n} from './tokens';\nimport type {\n TableProps,\n TableNode,\n Identifier,\n TablePaginationType,\n TableHeaderRowProps,\n} from './types';\nimport { makeBorderSize, makeMotionTime } from '~utils';\nimport { getComponentId, isValidAllowedChildren } from '~utils/isValidAllowedChildren';\nimport { throwBladeError } from '~utils/logger';\nimport type { BoxProps } from '~components/Box';\nimport { getBaseBoxStyles } from '~components/Box/BaseBox/baseBoxStyles';\nimport BaseBox from '~components/Box/BaseBox';\nimport { Spinner } from '~components/Spinner';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport { MetaConstants, metaAttribute } from '~utils/metaAttribute';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { useTheme } from '~components/BladeProvider';\nimport getIn from '~utils/lodashButBetter/get';\nimport { makeAccessible } from '~utils/makeAccessible';\n\nconst rowSelectType: Record<\n NonNullable<TableProps<unknown>['selectionType']>,\n SelectTypes | undefined\n> = {\n single: SelectTypes.SingleSelect,\n multiple: SelectTypes.MultiSelect,\n none: undefined,\n};\n\n// Get the number of TableHeaderCell components.\n// This is very complicated but the only way to iterate through the structure and get number of header cells.\n// Assuming number of header cells is the same as number of columns\nconst getTableHeaderCellCount = (children: (data: []) => React.ReactElement): number => {\n const tableRootComponent = children([]);\n if (tableRootComponent && React.isValidElement(tableRootComponent)) {\n const tableComponentArray = React.Children.toArray(tableRootComponent);\n if (React.isValidElement(tableComponentArray[0])) {\n const tableComponentArrayChildren = React.Children.toArray(\n tableComponentArray[0].props.children,\n );\n const tableHeader = tableComponentArrayChildren.find(\n (child) => getComponentId(child) === ComponentIds.TableHeader,\n );\n const tableHeaderChildrenArray = React.isValidElement(tableHeader)\n ? React.Children.toArray(tableHeader.props.children)\n : null;\n const tableHeaderRow = tableHeaderChildrenArray?.find(\n (child) => getComponentId(child) === ComponentIds.TableHeaderRow,\n );\n const tableHeaderRowChildrenArray = React.isValidElement(tableHeaderRow)\n ? React.Children.toArray(tableHeaderRow.props.children)\n : null;\n const tableHeaderCells = tableHeaderRowChildrenArray\n ? tableHeaderRowChildrenArray.filter(\n (child) => getComponentId(child) === ComponentIds.TableHeaderCell,\n )\n : null;\n return tableHeaderCells?.length ?? 0;\n }\n }\n return 0;\n};\n\nconst StyledReactTable = styled(ReactTable)<{ $styledProps?: { height?: BoxProps['height'] } }>(\n ({ $styledProps }) => {\n const { theme } = useTheme();\n const styledPropsCSSObject = getBaseBoxStyles({\n theme,\n height: $styledProps?.height,\n });\n\n return {\n '&&&': {\n ...styledPropsCSSObject,\n },\n };\n },\n);\n\nconst RefreshWrapper = styled(BaseBox)<{\n isRefreshSpinnerVisible: boolean;\n isRefreshSpinnerEntering: boolean;\n isRefreshSpinnerExiting: boolean;\n}>(({ isRefreshSpinnerVisible, isRefreshSpinnerEntering, isRefreshSpinnerExiting, theme }) => {\n return {\n opacity: isRefreshSpinnerVisible ? 1 : 0,\n transition: `opacity ${makeMotionTime(theme.motion.duration.quick)} ${\n isRefreshSpinnerEntering\n ? theme.motion.easing.entrance.effective\n : isRefreshSpinnerExiting\n ? theme.motion.easing.exit.effective\n : ''\n }`,\n };\n});\n\nconst _Table = <Item,>({\n children,\n data,\n multiSelectTrigger = 'row',\n selectionType = 'none',\n onSelectionChange,\n isHeaderSticky,\n isFooterSticky,\n isFirstColumnSticky,\n rowDensity = 'normal',\n onSortChange,\n sortFunctions,\n toolbar,\n pagination,\n height,\n showStripedRows,\n gridTemplateColumns,\n isLoading = false,\n isRefreshing = false,\n showBorderedCells = false,\n defaultSelectedIds = [],\n ...styledProps\n}: TableProps<Item>): React.ReactElement => {\n const { theme } = useTheme();\n const [selectedRows, setSelectedRows] = React.useState<TableNode<unknown>['id'][]>(\n selectionType !== 'none' ? defaultSelectedIds : [],\n );\n const [disabledRows, setDisabledRows] = React.useState<TableNode<unknown>['id'][]>([]);\n const [totalItems, setTotalItems] = React.useState(data.nodes.length || 0);\n const [paginationType, setPaginationType] = React.useState<NonNullable<TablePaginationType>>(\n 'client',\n );\n const [headerRowDensity, setHeaderRowDensity] = React.useState<TableHeaderRowProps['rowDensity']>(\n undefined,\n );\n // Need to make header is sticky if first column is sticky otherwise the first header cell will not be sticky\n const shouldHeaderBeSticky = isHeaderSticky ?? isFirstColumnSticky;\n const backgroundColor = tableBackgroundColor;\n\n const {\n isEntering: isRefreshSpinnerEntering,\n isMounted: isRefreshSpinnerMounted,\n isExiting: isRefreshSpinnerExiting,\n isVisible: isRefreshSpinnerVisible,\n } = usePresence(isRefreshing, {\n transitionDuration: theme.motion.duration.quick,\n });\n\n // Table Theme\n const columnCount = getTableHeaderCellCount(children);\n const firstColumnStickyHeaderCellCSS = isFirstColumnSticky\n ? `\n &:nth-of-type(1) {\n left: 0 !important;\n position: sticky !important;\n z-index: ${firstColumnStickyZIndex} !important;\n }\n ${\n selectionType === 'multiple' &&\n `&:nth-of-type(2) {\n left: ${checkboxCellWidth}px !important;\n position: sticky !important;\n z-index: ${firstColumnStickyZIndex} !important;\n }\n `\n }`\n : '';\n const firstColumnStickyFooterCellCSS = isFirstColumnSticky\n ? `\n &:nth-of-type(1) {\n left: 0 !important;\n position: sticky !important;\n z-index: ${firstColumnStickyZIndex} !important;\n }\n ${\n selectionType === 'multiple' &&\n `&:nth-of-type(2) {\n left: ${checkboxCellWidth}px !important;\n position: sticky !important;\n z-index: ${firstColumnStickyZIndex} !important;\n }\n `\n }`\n : '';\n const firstColumnStickyBodyCellCSS = isFirstColumnSticky\n ? `\n &:nth-of-type(1) {\n left: 0 !important;\n position: sticky !important;\n z-index: ${firstColumnStickyZIndex} !important;\n }\n ${\n selectionType === 'multiple' &&\n `&:nth-of-type(2) {\n left: ${checkboxCellWidth}px !important;\n position: sticky !important;\n z-index: ${firstColumnStickyZIndex} !important;\n }\n `\n }`\n : '';\n\n const tableTheme = useTableTheme({\n Table: `\n height:${isFooterSticky ? `100%` : undefined};\n border: ${makeBorderSize(theme.border.width.thin)} solid ${\n theme.colors.surface.border.gray.muted\n };\n --data-table-library_grid-template-columns: ${\n gridTemplateColumns ??\n ` ${\n selectionType === 'multiple' ? 'min-content' : ''\n } repeat(${columnCount},minmax(100px, 1fr)) !important;`\n } !important;\n background-color: ${getIn(theme.colors, backgroundColor)};\n `,\n HeaderCell: `\n position: ${shouldHeaderBeSticky ? 'sticky' : 'relative'};\n \n top: ${shouldHeaderBeSticky ? '0' : undefined};\n ${firstColumnStickyHeaderCellCSS}\n `,\n Cell: `\n ${firstColumnStickyBodyCellCSS}\n `,\n FooterCell: `\n position: ${isFooterSticky ? 'sticky' : 'relative'};\n bottom: ${isFooterSticky ? '0' : undefined};\n ${firstColumnStickyFooterCellCSS}\n `,\n });\n\n useEffect(() => {\n // Get the total number of items\n setTotalItems(data.nodes.length);\n }, [data.nodes]);\n\n // Selection Logic\n const onSelectChange: MiddlewareFunction = (action, state): void => {\n const selectedIds: Identifier[] = state.id ? [state.id] : state.ids ?? [];\n setSelectedRows(selectedIds);\n onSelectionChange?.({\n selectedIds,\n values: data.nodes.filter((node) => selectedIds.includes(node.id)),\n });\n };\n\n const rowSelectConfig = useRowSelect(\n data,\n {\n onChange: onSelectChange,\n state: {\n ...(selectionType === 'multiple'\n ? { ids: selectedRows }\n : selectionType === 'single'\n ? { id: selectedRows[0] }\n : {}),\n },\n },\n {\n clickType:\n multiSelectTrigger === 'row' ? SelectClickTypes.RowClick : SelectClickTypes.ButtonClick,\n rowSelect: selectionType !== 'none' ? rowSelectType[selectionType] : undefined,\n },\n );\n\n const toggleRowSelectionById = useMemo(\n () => (id: Identifier): void => {\n rowSelectConfig.fns.onToggleById(id);\n },\n [rowSelectConfig.fns],\n );\n\n const deselectAllRows = useMemo(\n () => (): void => {\n rowSelectConfig.fns.onRemoveAll();\n },\n [rowSelectConfig.fns],\n );\n\n const toggleAllRowsSelection = useMemo(\n () => (): void => {\n if (selectedRows.length > 0) {\n rowSelectConfig.fns.onRemoveAll();\n } else {\n const ids = data.nodes\n .map((item: TableNode<Item>) => (disabledRows.includes(item.id) ? null : item.id))\n .filter(Boolean) as Identifier[];\n\n rowSelectConfig.fns.onAddAll(ids);\n }\n },\n [rowSelectConfig.fns, data.nodes, selectedRows, disabledRows],\n );\n\n // Sort Logic\n const handleSortChange: MiddlewareFunction = (action, state) => {\n onSortChange?.({\n sortKey: state.sortKey,\n isSortReversed: state.reverse,\n });\n };\n\n const sort = useSort(\n data,\n {\n onChange: handleSortChange,\n },\n {\n // @ts-expect-error ignore this, if sortFunctions is undefined, it will be ignored\n sortFns: sortFunctions,\n },\n );\n\n const currentSortedState: TableContextType['currentSortedState'] = useMemo(() => {\n return {\n sortKey: sort.state.sortKey,\n isSortReversed: sort.state.reverse,\n sortableColumns: Object.keys(sortFunctions ?? {}),\n };\n }, [sort.state, sortFunctions]);\n\n const toggleSort = useCallback(\n (sortKey: string): void => {\n sort.fns.onToggleSort({\n sortKey,\n });\n },\n [sort.fns],\n );\n\n // Pagination\n\n const hasPagination = Boolean(pagination);\n\n const paginationConfig = usePagination(\n data,\n {\n state: {\n page: 0,\n size: tablePagination.defaultPageSize,\n },\n },\n {\n isServer: paginationType === 'server',\n },\n );\n\n const currentPaginationState = useMemo(() => {\n return hasPagination\n ? {\n page: paginationConfig.state.page,\n size: paginationConfig.state.size,\n }\n : undefined;\n }, [paginationConfig.state, hasPagination]);\n\n const setPaginationPage = useCallback(\n (page: number): void => {\n paginationConfig.fns.onSetPage(page);\n },\n [paginationConfig.fns],\n );\n\n const setPaginationRowSize = useCallback(\n (size: number): void => {\n paginationConfig.fns.onSetSize(size);\n },\n [paginationConfig.fns],\n );\n\n // Toolbar Component\n if (__DEV__) {\n if (toolbar && !isValidAllowedChildren(toolbar, ComponentIds.TableToolbar)) {\n throwBladeError({\n message: 'Only TableToolbar component is allowed in the `toolbar` prop',\n moduleName: 'Table',\n });\n }\n }\n\n // Table Context\n const tableContext: TableContextType = useMemo(\n () => ({\n selectionType,\n selectedRows,\n totalItems,\n toggleRowSelectionById,\n toggleAllRowsSelection,\n deselectAllRows,\n rowDensity,\n toggleSort,\n currentSortedState,\n setPaginationPage,\n setPaginationRowSize,\n currentPaginationState,\n showStripedRows,\n disabledRows,\n setDisabledRows,\n paginationType,\n setPaginationType,\n backgroundColor,\n headerRowDensity,\n setHeaderRowDensity,\n showBorderedCells,\n }),\n [\n selectionType,\n selectedRows,\n totalItems,\n toggleRowSelectionById,\n toggleAllRowsSelection,\n deselectAllRows,\n rowDensity,\n toggleSort,\n currentSortedState,\n setPaginationPage,\n setPaginationRowSize,\n currentPaginationState,\n showStripedRows,\n disabledRows,\n setDisabledRows,\n paginationType,\n setPaginationType,\n backgroundColor,\n headerRowDensity,\n setHeaderRowDensity,\n showBorderedCells,\n ],\n );\n\n return (\n <TableContext.Provider value={tableContext}>\n {isLoading ? (\n <BaseBox\n display=\"flex\"\n flex={1}\n alignItems=\"center\"\n justifyContent=\"center\"\n height={height}\n {...getStyledProps(styledProps)}\n {...metaAttribute({ name: MetaConstants.Table })}\n >\n <Spinner accessibilityLabel=\"Loading Table\" size=\"large\" />\n </BaseBox>\n ) : (\n <BaseBox\n flex={1}\n position=\"relative\"\n {...getStyledProps(styledProps)}\n {...metaAttribute({ name: MetaConstants.Table })}\n >\n {isRefreshSpinnerMounted && (\n <RefreshWrapper\n position=\"absolute\"\n width=\"100%\"\n height=\"100%\"\n zIndex={refreshWrapperZIndex}\n backgroundColor=\"overlay.background.subtle\"\n justifyContent=\"center\"\n alignItems=\"center\"\n display=\"flex\"\n isRefreshSpinnerEntering={isRefreshSpinnerEntering}\n isRefreshSpinnerExiting={isRefreshSpinnerExiting}\n isRefreshSpinnerVisible={isRefreshSpinnerVisible}\n >\n <Spinner color=\"white\" accessibilityLabel=\"Refreshing Table\" size=\"large\" />\n </RefreshWrapper>\n )}\n {toolbar}\n <StyledReactTable\n role=\"table\"\n layout={{ fixedHeader: shouldHeaderBeSticky, horizontalScroll: true }}\n data={data}\n // @ts-expect-error ignore this, theme clashes with styled-component's theme. We're using useTheme from blade to get actual theme\n theme={tableTheme}\n select={selectionType !== 'none' ? rowSelectConfig : null}\n sort={sortFunctions ? sort : null}\n $styledProps={{\n height,\n }}\n pagination={hasPagination ? paginationConfig : null}\n {...makeAccessible({ multiSelectable: selectionType === 'multiple' })}\n {...metaAttribute({ name: MetaConstants.Table })}\n >\n {children}\n </StyledReactTable>\n {pagination}\n </BaseBox>\n )}\n </TableContext.Provider>\n );\n};\n\nconst Table = assignWithoutSideEffects(_Table, {\n componentId: ComponentIds.Table,\n});\n\nexport { Table };\n"],"names":["rowSelectType","single","SelectTypes","SingleSelect","multiple","MultiSelect","none","undefined","getTableHeaderCellCount","children","tableRootComponent","React","isValidElement","tableComponentArray","Children","toArray","_tableHeaderCells$len","tableComponentArrayChildren","props","tableHeader","find","child","getComponentId","ComponentIds","TableHeader","tableHeaderChildrenArray","tableHeaderRow","TableHeaderRow","tableHeaderRowChildrenArray","tableHeaderCells","filter","TableHeaderCell","length","StyledReactTable","styled","ReactTable","withConfig","displayName","componentId","_ref","$styledProps","_useTheme","useTheme","theme","styledPropsCSSObject","getBaseBoxStyles","height","_objectSpread","RefreshWrapper","BaseBox","_ref2","isRefreshSpinnerVisible","isRefreshSpinnerEntering","isRefreshSpinnerExiting","opacity","transition","concat","makeMotionTime","motion","duration","quick","easing","entrance","effective","exit","_Table","_ref3","data","_ref3$multiSelectTrig","multiSelectTrigger","_ref3$selectionType","selectionType","onSelectionChange","isHeaderSticky","isFooterSticky","isFirstColumnSticky","_ref3$rowDensity","rowDensity","onSortChange","sortFunctions","toolbar","pagination","showStripedRows","gridTemplateColumns","_ref3$isLoading","isLoading","_ref3$isRefreshing","isRefreshing","_ref3$showBorderedCel","showBorderedCells","_ref3$defaultSelected","defaultSelectedIds","styledProps","_objectWithoutProperties","_excluded","_useTheme2","_React$useState","useState","_React$useState2","_slicedToArray","selectedRows","setSelectedRows","_React$useState3","_React$useState4","disabledRows","setDisabledRows","_React$useState5","nodes","_React$useState6","totalItems","setTotalItems","_React$useState7","_React$useState8","paginationType","setPaginationType","_React$useState9","_React$useState10","headerRowDensity","setHeaderRowDensity","shouldHeaderBeSticky","backgroundColor","tableBackgroundColor","_usePresence","usePresence","transitionDuration","isEntering","isRefreshSpinnerMounted","isMounted","isExiting","isVisible","columnCount","firstColumnStickyHeaderCellCSS","firstColumnStickyZIndex","checkboxCellWidth","firstColumnStickyFooterCellCSS","firstColumnStickyBodyCellCSS","tableTheme","useTableTheme","Table","makeBorderSize","border","width","thin","colors","surface","gray","muted","getIn","HeaderCell","Cell","FooterCell","useEffect","onSelectChange","action","state","_state$ids","selectedIds","id","ids","values","node","includes","rowSelectConfig","useRowSelect","onChange","clickType","SelectClickTypes","RowClick","ButtonClick","rowSelect","toggleRowSelectionById","useMemo","fns","onToggleById","deselectAllRows","onRemoveAll","toggleAllRowsSelection","map","item","Boolean","onAddAll","handleSortChange","sortKey","isSortReversed","reverse","sort","useSort","sortFns","currentSortedState","sortableColumns","Object","keys","toggleSort","useCallback","onToggleSort","hasPagination","paginationConfig","usePagination","page","size","tablePagination","defaultPageSize","isServer","currentPaginationState","setPaginationPage","onSetPage","setPaginationRowSize","onSetSize","isValidAllowedChildren","TableToolbar","throwBladeError","message","moduleName","tableContext","_jsx","TableContext","Provider","value","display","flex","alignItems","justifyContent","getStyledProps","metaAttribute","name","MetaConstants","Spinner","accessibilityLabel","_jsxs","position","zIndex","refreshWrapperZIndex","color","role","layout","fixedHeader","horizontalScroll","select","makeAccessible","multiSelectable","assignWithoutSideEffects"],"mappings":"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"}
1
+ {"version":3,"file":"Table.web.js","sources":["../../../../../../src/components/Table/Table.web.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo } from 'react';\nimport { Table as ReactTable } from '@table-library/react-table-library/table';\nimport { useTheme as useTableTheme } from '@table-library/react-table-library/theme';\nimport type { MiddlewareFunction } from '@table-library/react-table-library/types/common';\nimport { useSort } from '@table-library/react-table-library/sort';\nimport { usePagination } from '@table-library/react-table-library/pagination';\nimport {\n SelectClickTypes,\n SelectTypes,\n useRowSelect,\n} from '@table-library/react-table-library/select';\nimport styled from 'styled-components';\nimport usePresence from 'use-presence';\nimport type { TableContextType } from './TableContext';\nimport { TableContext } from './TableContext';\nimport { ComponentIds } from './componentIds';\nimport {\n checkboxCellWidth,\n firstColumnStickyZIndex,\n refreshWrapperZIndex,\n tableBackgroundColor,\n tablePagination,\n} from './tokens';\nimport type {\n TableProps,\n TableNode,\n Identifier,\n TablePaginationType,\n TableHeaderRowProps,\n} from './types';\nimport { makeBorderSize, makeMotionTime } from '~utils';\nimport { getComponentId, isValidAllowedChildren } from '~utils/isValidAllowedChildren';\nimport { throwBladeError } from '~utils/logger';\nimport type { BoxProps } from '~components/Box';\nimport { getBaseBoxStyles } from '~components/Box/BaseBox/baseBoxStyles';\nimport BaseBox from '~components/Box/BaseBox';\nimport { Spinner } from '~components/Spinner';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport { MetaConstants, metaAttribute } from '~utils/metaAttribute';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { useTheme } from '~components/BladeProvider';\nimport getIn from '~utils/lodashButBetter/get';\nimport { makeAccessible } from '~utils/makeAccessible';\n\nconst rowSelectType: Record<\n NonNullable<TableProps<unknown>['selectionType']>,\n SelectTypes | undefined\n> = {\n single: SelectTypes.SingleSelect,\n multiple: SelectTypes.MultiSelect,\n none: undefined,\n};\n\n// Get the number of TableHeaderCell components.\n// This is very complicated but the only way to iterate through the structure and get number of header cells.\n// Assuming number of header cells is the same as number of columns\nconst getTableHeaderCellCount = (children: (data: []) => React.ReactElement): number => {\n const tableRootComponent = children([]);\n if (tableRootComponent && React.isValidElement(tableRootComponent)) {\n const tableComponentArray = React.Children.toArray(tableRootComponent);\n if (React.isValidElement(tableComponentArray[0])) {\n const tableComponentArrayChildren = React.Children.toArray(\n tableComponentArray[0].props.children,\n );\n const tableHeader = tableComponentArrayChildren.find(\n (child) => getComponentId(child) === ComponentIds.TableHeader,\n );\n const tableHeaderChildrenArray = React.isValidElement(tableHeader)\n ? React.Children.toArray(tableHeader.props.children)\n : null;\n const tableHeaderRow = tableHeaderChildrenArray?.find(\n (child) => getComponentId(child) === ComponentIds.TableHeaderRow,\n );\n const tableHeaderRowChildrenArray = React.isValidElement(tableHeaderRow)\n ? React.Children.toArray(tableHeaderRow.props.children)\n : null;\n const tableHeaderCells = tableHeaderRowChildrenArray\n ? tableHeaderRowChildrenArray.filter(\n (child) => getComponentId(child) === ComponentIds.TableHeaderCell,\n )\n : null;\n return tableHeaderCells?.length ?? 0;\n }\n }\n return 0;\n};\n\nconst StyledReactTable = styled(ReactTable)<{ $styledProps?: { height?: BoxProps['height'] } }>(\n ({ $styledProps }) => {\n const { theme } = useTheme();\n const styledPropsCSSObject = getBaseBoxStyles({\n theme,\n height: $styledProps?.height,\n });\n\n return {\n '&&&': {\n ...styledPropsCSSObject,\n },\n };\n },\n);\n\nconst RefreshWrapper = styled(BaseBox)<{\n isRefreshSpinnerVisible: boolean;\n isRefreshSpinnerEntering: boolean;\n isRefreshSpinnerExiting: boolean;\n}>(({ isRefreshSpinnerVisible, isRefreshSpinnerEntering, isRefreshSpinnerExiting, theme }) => {\n return {\n opacity: isRefreshSpinnerVisible ? 1 : 0,\n transition: `opacity ${makeMotionTime(theme.motion.duration.quick)} ${\n isRefreshSpinnerEntering\n ? theme.motion.easing.entrance.effective\n : isRefreshSpinnerExiting\n ? theme.motion.easing.exit.effective\n : ''\n }`,\n };\n});\n\nconst _Table = <Item,>({\n children,\n data,\n multiSelectTrigger = 'row',\n selectionType = 'none',\n onSelectionChange,\n isHeaderSticky,\n isFooterSticky,\n isFirstColumnSticky,\n rowDensity = 'normal',\n onSortChange,\n sortFunctions,\n toolbar,\n pagination,\n height,\n showStripedRows,\n gridTemplateColumns,\n isLoading = false,\n isRefreshing = false,\n showBorderedCells = false,\n defaultSelectedIds = [],\n ...styledProps\n}: TableProps<Item>): React.ReactElement => {\n const { theme } = useTheme();\n const [selectedRows, setSelectedRows] = React.useState<TableNode<unknown>['id'][]>(\n selectionType !== 'none' ? defaultSelectedIds : [],\n );\n const [disabledRows, setDisabledRows] = React.useState<TableNode<unknown>['id'][]>([]);\n const [totalItems, setTotalItems] = React.useState(data.nodes.length || 0);\n const [paginationType, setPaginationType] = React.useState<NonNullable<TablePaginationType>>(\n 'client',\n );\n const [headerRowDensity, setHeaderRowDensity] = React.useState<TableHeaderRowProps['rowDensity']>(\n undefined,\n );\n // Need to make header is sticky if first column is sticky otherwise the first header cell will not be sticky\n const shouldHeaderBeSticky = isHeaderSticky ?? isFirstColumnSticky;\n const backgroundColor = tableBackgroundColor;\n\n const {\n isEntering: isRefreshSpinnerEntering,\n isMounted: isRefreshSpinnerMounted,\n isExiting: isRefreshSpinnerExiting,\n isVisible: isRefreshSpinnerVisible,\n } = usePresence(isRefreshing, {\n transitionDuration: theme.motion.duration.quick,\n });\n\n // Table Theme\n const columnCount = getTableHeaderCellCount(children);\n const firstColumnStickyHeaderCellCSS = isFirstColumnSticky\n ? `\n &:nth-of-type(1) {\n left: 0 !important;\n position: sticky !important;\n z-index: ${firstColumnStickyZIndex} !important;\n }\n ${\n selectionType === 'multiple' &&\n `&:nth-of-type(2) {\n left: ${checkboxCellWidth}px !important;\n position: sticky !important;\n z-index: ${firstColumnStickyZIndex} !important;\n }\n `\n }`\n : '';\n const firstColumnStickyFooterCellCSS = isFirstColumnSticky\n ? `\n &:nth-of-type(1) {\n left: 0 !important;\n position: sticky !important;\n z-index: ${firstColumnStickyZIndex} !important;\n }\n ${\n selectionType === 'multiple' &&\n `&:nth-of-type(2) {\n left: ${checkboxCellWidth}px !important;\n position: sticky !important;\n z-index: ${firstColumnStickyZIndex} !important;\n }\n `\n }`\n : '';\n const firstColumnStickyBodyCellCSS = isFirstColumnSticky\n ? `\n &:nth-of-type(1) {\n left: 0 !important;\n position: sticky !important;\n z-index: ${firstColumnStickyZIndex} !important;\n }\n ${\n selectionType === 'multiple' &&\n `&:nth-of-type(2) {\n left: ${checkboxCellWidth}px !important;\n position: sticky !important;\n z-index: ${firstColumnStickyZIndex} !important;\n }\n `\n }`\n : '';\n\n const tableTheme = useTableTheme({\n Table: `\n height:${isFooterSticky ? `100%` : undefined};\n border: ${makeBorderSize(theme.border.width.thin)} solid ${\n theme.colors.surface.border.gray.muted\n };\n --data-table-library_grid-template-columns: ${\n gridTemplateColumns ??\n ` ${\n selectionType === 'multiple' ? 'min-content' : ''\n } repeat(${columnCount},minmax(100px, 1fr)) !important;`\n } !important;\n background-color: ${getIn(theme.colors, backgroundColor)};\n `,\n HeaderCell: `\n position: ${shouldHeaderBeSticky ? 'sticky' : 'relative'};\n \n top: ${shouldHeaderBeSticky ? '0' : undefined};\n ${firstColumnStickyHeaderCellCSS}\n `,\n Cell: `\n ${firstColumnStickyBodyCellCSS}\n `,\n FooterCell: `\n position: ${isFooterSticky ? 'sticky' : 'relative'};\n bottom: ${isFooterSticky ? '0' : undefined};\n ${firstColumnStickyFooterCellCSS}\n `,\n });\n\n useEffect(() => {\n // Get the total number of items\n setTotalItems(data.nodes.length);\n }, [data.nodes]);\n\n // Selection Logic\n const onSelectChange: MiddlewareFunction = (action, state): void => {\n const selectedIds: Identifier[] = state.id ? [state.id] : state.ids ?? [];\n setSelectedRows(selectedIds);\n onSelectionChange?.({\n selectedIds,\n values: data.nodes.filter((node) => selectedIds.includes(node.id)),\n });\n };\n\n const rowSelectConfig = useRowSelect(\n data,\n {\n onChange: onSelectChange,\n state: {\n ...(selectionType === 'multiple'\n ? { ids: selectedRows }\n : selectionType === 'single'\n ? { id: selectedRows[0] }\n : {}),\n },\n },\n {\n clickType:\n multiSelectTrigger === 'row' ? SelectClickTypes.RowClick : SelectClickTypes.ButtonClick,\n rowSelect: selectionType !== 'none' ? rowSelectType[selectionType] : undefined,\n },\n );\n\n const toggleRowSelectionById = useMemo(\n () => (id: Identifier): void => {\n rowSelectConfig.fns.onToggleById(id);\n },\n [rowSelectConfig.fns],\n );\n\n const deselectAllRows = useMemo(\n () => (): void => {\n rowSelectConfig.fns.onRemoveAll();\n },\n [rowSelectConfig.fns],\n );\n\n const toggleAllRowsSelection = useMemo(\n () => (): void => {\n if (selectedRows.length > 0) {\n rowSelectConfig.fns.onRemoveAll();\n } else {\n const ids = data.nodes\n .map((item: TableNode<Item>) => (disabledRows.includes(item.id) ? null : item.id))\n .filter(Boolean) as Identifier[];\n\n rowSelectConfig.fns.onAddAll(ids);\n }\n },\n [rowSelectConfig.fns, data.nodes, selectedRows, disabledRows],\n );\n\n // Sort Logic\n const handleSortChange: MiddlewareFunction = (action, state) => {\n onSortChange?.({\n sortKey: state.sortKey,\n isSortReversed: state.reverse,\n });\n };\n\n const sort = useSort(\n data,\n {\n onChange: handleSortChange,\n },\n {\n // @ts-expect-error ignore this, if sortFunctions is undefined, it will be ignored\n sortFns: sortFunctions,\n },\n );\n\n const currentSortedState: TableContextType['currentSortedState'] = useMemo(() => {\n return {\n sortKey: sort.state.sortKey,\n isSortReversed: sort.state.reverse,\n sortableColumns: Object.keys(sortFunctions ?? {}),\n };\n }, [sort.state, sortFunctions]);\n\n const toggleSort = useCallback(\n (sortKey: string): void => {\n sort.fns.onToggleSort({\n sortKey,\n });\n },\n [sort.fns],\n );\n\n // Pagination\n\n const hasPagination = Boolean(pagination);\n\n const paginationConfig = usePagination(\n data,\n {\n state: {\n page: 0,\n size: tablePagination.defaultPageSize,\n },\n },\n {\n isServer: paginationType === 'server',\n },\n );\n\n const currentPaginationState = useMemo(() => {\n return hasPagination\n ? {\n page: paginationConfig.state.page,\n size: paginationConfig.state.size,\n }\n : undefined;\n }, [paginationConfig.state, hasPagination]);\n\n const setPaginationPage = useCallback(\n (page: number): void => {\n paginationConfig.fns.onSetPage(page);\n },\n [paginationConfig.fns],\n );\n\n const setPaginationRowSize = useCallback(\n (size: number): void => {\n paginationConfig.fns.onSetSize(size);\n },\n [paginationConfig.fns],\n );\n\n // Toolbar Component\n if (__DEV__) {\n if (toolbar && !isValidAllowedChildren(toolbar, ComponentIds.TableToolbar)) {\n throwBladeError({\n message: 'Only TableToolbar component is allowed in the `toolbar` prop',\n moduleName: 'Table',\n });\n }\n }\n\n // Table Context\n const tableContext: TableContextType = useMemo(\n () => ({\n selectionType,\n selectedRows,\n totalItems,\n toggleRowSelectionById,\n toggleAllRowsSelection,\n deselectAllRows,\n rowDensity,\n toggleSort,\n currentSortedState,\n setPaginationPage,\n setPaginationRowSize,\n currentPaginationState,\n showStripedRows,\n disabledRows,\n setDisabledRows,\n paginationType,\n setPaginationType,\n backgroundColor,\n headerRowDensity,\n setHeaderRowDensity,\n showBorderedCells,\n }),\n [\n selectionType,\n selectedRows,\n totalItems,\n toggleRowSelectionById,\n toggleAllRowsSelection,\n deselectAllRows,\n rowDensity,\n toggleSort,\n currentSortedState,\n setPaginationPage,\n setPaginationRowSize,\n currentPaginationState,\n showStripedRows,\n disabledRows,\n setDisabledRows,\n paginationType,\n setPaginationType,\n backgroundColor,\n headerRowDensity,\n setHeaderRowDensity,\n showBorderedCells,\n ],\n );\n\n return (\n <TableContext.Provider value={tableContext}>\n {isLoading ? (\n <BaseBox\n display=\"flex\"\n flex={1}\n alignItems=\"center\"\n justifyContent=\"center\"\n height={height}\n {...getStyledProps(styledProps)}\n {...metaAttribute({ name: MetaConstants.Table })}\n >\n <Spinner accessibilityLabel=\"Loading Table\" size=\"large\" testID=\"table-spinner\" />\n </BaseBox>\n ) : (\n <BaseBox\n flex={1}\n position=\"relative\"\n {...getStyledProps(styledProps)}\n {...metaAttribute({ name: MetaConstants.Table })}\n >\n {isRefreshSpinnerMounted && (\n <RefreshWrapper\n position=\"absolute\"\n width=\"100%\"\n height=\"100%\"\n zIndex={refreshWrapperZIndex}\n backgroundColor=\"overlay.background.subtle\"\n justifyContent=\"center\"\n alignItems=\"center\"\n display=\"flex\"\n isRefreshSpinnerEntering={isRefreshSpinnerEntering}\n isRefreshSpinnerExiting={isRefreshSpinnerExiting}\n isRefreshSpinnerVisible={isRefreshSpinnerVisible}\n >\n <Spinner color=\"white\" accessibilityLabel=\"Refreshing Table\" size=\"large\" />\n </RefreshWrapper>\n )}\n {toolbar}\n <StyledReactTable\n role=\"table\"\n layout={{ fixedHeader: shouldHeaderBeSticky, horizontalScroll: true }}\n data={data}\n // @ts-expect-error ignore this, theme clashes with styled-component's theme. We're using useTheme from blade to get actual theme\n theme={tableTheme}\n select={selectionType !== 'none' ? rowSelectConfig : null}\n sort={sortFunctions ? sort : null}\n $styledProps={{\n height,\n }}\n pagination={hasPagination ? paginationConfig : null}\n {...makeAccessible({ multiSelectable: selectionType === 'multiple' })}\n {...metaAttribute({ name: MetaConstants.Table })}\n >\n {children}\n </StyledReactTable>\n {pagination}\n </BaseBox>\n )}\n </TableContext.Provider>\n );\n};\n\nconst Table = assignWithoutSideEffects(_Table, {\n componentId: ComponentIds.Table,\n});\n\nexport { Table };\n"],"names":["rowSelectType","single","SelectTypes","SingleSelect","multiple","MultiSelect","none","undefined","getTableHeaderCellCount","children","tableRootComponent","React","isValidElement","tableComponentArray","Children","toArray","_tableHeaderCells$len","tableComponentArrayChildren","props","tableHeader","find","child","getComponentId","ComponentIds","TableHeader","tableHeaderChildrenArray","tableHeaderRow","TableHeaderRow","tableHeaderRowChildrenArray","tableHeaderCells","filter","TableHeaderCell","length","StyledReactTable","styled","ReactTable","withConfig","displayName","componentId","_ref","$styledProps","_useTheme","useTheme","theme","styledPropsCSSObject","getBaseBoxStyles","height","_objectSpread","RefreshWrapper","BaseBox","_ref2","isRefreshSpinnerVisible","isRefreshSpinnerEntering","isRefreshSpinnerExiting","opacity","transition","concat","makeMotionTime","motion","duration","quick","easing","entrance","effective","exit","_Table","_ref3","data","_ref3$multiSelectTrig","multiSelectTrigger","_ref3$selectionType","selectionType","onSelectionChange","isHeaderSticky","isFooterSticky","isFirstColumnSticky","_ref3$rowDensity","rowDensity","onSortChange","sortFunctions","toolbar","pagination","showStripedRows","gridTemplateColumns","_ref3$isLoading","isLoading","_ref3$isRefreshing","isRefreshing","_ref3$showBorderedCel","showBorderedCells","_ref3$defaultSelected","defaultSelectedIds","styledProps","_objectWithoutProperties","_excluded","_useTheme2","_React$useState","useState","_React$useState2","_slicedToArray","selectedRows","setSelectedRows","_React$useState3","_React$useState4","disabledRows","setDisabledRows","_React$useState5","nodes","_React$useState6","totalItems","setTotalItems","_React$useState7","_React$useState8","paginationType","setPaginationType","_React$useState9","_React$useState10","headerRowDensity","setHeaderRowDensity","shouldHeaderBeSticky","backgroundColor","tableBackgroundColor","_usePresence","usePresence","transitionDuration","isEntering","isRefreshSpinnerMounted","isMounted","isExiting","isVisible","columnCount","firstColumnStickyHeaderCellCSS","firstColumnStickyZIndex","checkboxCellWidth","firstColumnStickyFooterCellCSS","firstColumnStickyBodyCellCSS","tableTheme","useTableTheme","Table","makeBorderSize","border","width","thin","colors","surface","gray","muted","getIn","HeaderCell","Cell","FooterCell","useEffect","onSelectChange","action","state","_state$ids","selectedIds","id","ids","values","node","includes","rowSelectConfig","useRowSelect","onChange","clickType","SelectClickTypes","RowClick","ButtonClick","rowSelect","toggleRowSelectionById","useMemo","fns","onToggleById","deselectAllRows","onRemoveAll","toggleAllRowsSelection","map","item","Boolean","onAddAll","handleSortChange","sortKey","isSortReversed","reverse","sort","useSort","sortFns","currentSortedState","sortableColumns","Object","keys","toggleSort","useCallback","onToggleSort","hasPagination","paginationConfig","usePagination","page","size","tablePagination","defaultPageSize","isServer","currentPaginationState","setPaginationPage","onSetPage","setPaginationRowSize","onSetSize","isValidAllowedChildren","TableToolbar","throwBladeError","message","moduleName","tableContext","_jsx","TableContext","Provider","value","display","flex","alignItems","justifyContent","getStyledProps","metaAttribute","name","MetaConstants","Spinner","accessibilityLabel","testID","_jsxs","position","zIndex","refreshWrapperZIndex","color","role","layout","fixedHeader","horizontalScroll","select","makeAccessible","multiSelectable","assignWithoutSideEffects"],"mappings":"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"}
@@ -300,7 +300,8 @@ var _TableRow = function _TableRow(_ref8) {
300
300
  item = _ref8.item,
301
301
  isDisabled = _ref8.isDisabled,
302
302
  onHover = _ref8.onHover,
303
- _onClick = _ref8.onClick;
303
+ _onClick = _ref8.onClick,
304
+ testID = _ref8.testID;
304
305
  var _useTableContext3 = useTableContext(),
305
306
  selectionType = _useTableContext3.selectionType,
306
307
  selectedRows = _useTableContext3.selectedRows,
@@ -337,7 +338,8 @@ var _TableRow = function _TableRow(_ref8) {
337
338
  }, makeAccessible({
338
339
  selected: isSelected
339
340
  })), metaAttribute({
340
- name: MetaConstants.TableRow
341
+ name: MetaConstants.TableRow,
342
+ testID: testID
341
343
  })), {}, {
342
344
  children: [isMultiSelect && /*#__PURE__*/jsx(TableCheckboxCell, {
343
345
  isChecked: isSelected,
@@ -1 +1 @@
1
- {"version":3,"file":"TableBody.web.js","sources":["../../../../../../src/components/Table/TableBody.web.tsx"],"sourcesContent":["import React, { useEffect } from 'react';\nimport { Body, Row, Cell } from '@table-library/react-table-library/table';\nimport styled from 'styled-components';\nimport { useTableContext } from './TableContext';\nimport { checkboxCellWidth, tableRow } from './tokens';\nimport { ComponentIds } from './componentIds';\nimport type {\n TableProps,\n TableBodyProps,\n TableRowProps,\n TableCellProps,\n TableBackgroundColors,\n} from './types';\nimport getIn from '~utils/lodashButBetter/get';\nimport { Text } from '~components/Typography';\nimport type { CheckboxProps } from '~components/Checkbox';\nimport { Checkbox } from '~components/Checkbox';\nimport { makeMotionTime, makeSize, makeSpace } from '~utils';\nimport BaseBox from '~components/Box/BaseBox';\nimport { MetaConstants, metaAttribute } from '~utils/metaAttribute';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { getFocusRingStyles } from '~utils/getFocusRingStyles';\nimport { size } from '~tokens/global';\nimport { makeAccessible } from '~utils/makeAccessible';\n\nconst StyledBody = styled(Body)<{\n $isSelectable: boolean;\n $showStripedRows: boolean;\n}>(({ theme, $showStripedRows, $isSelectable }) => {\n const rowBackgroundTransition = `background-color ${makeMotionTime(\n getIn(theme.motion, tableRow.backgroundColorMotionDuration),\n )} ${getIn(theme.motion, tableRow.backgroundColorMotionEasing)}`;\n\n return {\n '&&&': {\n border: 'none',\n transition: rowBackgroundTransition,\n\n '& tr:last-child .cell-wrapper': {\n borderBottom: 'none',\n },\n\n '& .row-select-single-selected .cell-wrapper-base, .row-select-selected .cell-wrapper-base': {\n backgroundColor: getIn(theme.colors, tableRow.nonStripe.backgroundColorSelected),\n },\n '& .row-select-single-selected:hover:not(.disabled-row) .cell-wrapper-base, .row-select-selected:hover:not(.disabled-row) .cell-wrapper-base': {\n backgroundColor: getIn(theme.colors, tableRow.nonStripe.backgroundColorSelectedHover),\n },\n '& .row-select-single-selected:focus:not(.disabled-row) .cell-wrapper-base, .row-select-selected:focus:not(.disabled-row) .cell-wrapper-base': {\n backgroundColor: getIn(theme.colors, tableRow.nonStripe.backgroundColorSelectedFocus),\n },\n '& .row-select-single-selected:active:not(.disabled-row) .cell-wrapper-base, .row-select-selected:active:not(.disabled-row) .cell-wrapper-base': {\n backgroundColor: getIn(theme.colors, tableRow.nonStripe.backgroundColorSelectedActive),\n },\n\n ...($isSelectable && {\n '& tr:active:not(.disabled-row) .cell-wrapper': {\n backgroundColor: getIn(theme.colors, tableRow.nonStripeWrapper.backgroundColorActive),\n },\n }),\n\n ...($showStripedRows && {\n '& tr:nth-child(even) .cell-wrapper': {\n backgroundColor: getIn(theme.colors, tableRow.stripeWrapper.backgroundColor),\n },\n '& tr:nth-child(even) .cell-wrapper-base': {\n backgroundColor: tableRow.stripe.backgroundColor,\n },\n }),\n\n ...($showStripedRows &&\n $isSelectable && {\n '& tr:nth-child(even):hover:not(.disabled-row) .cell-wrapper': {\n backgroundColor: getIn(theme.colors, tableRow.stripeWrapper.backgroundColorHover),\n },\n '& tr:nth-child(even):focus:not(.disabled-row) .cell-wrapper': {\n backgroundColor: getIn(theme.colors, tableRow.stripeWrapper.backgroundColorFocus),\n },\n '& tr:nth-child(even):active:not(.disabled-row) .cell-wrapper': {\n backgroundColor: getIn(theme.colors, tableRow.stripeWrapper.backgroundColorActive),\n },\n '& .row-select-single-selected:nth-child(even) .cell-wrapper, .row-select-selected:nth-child(even) .cell-wrapper': {\n backgroundColor: getIn(theme.colors, tableRow.stripeWrapper.backgroundColorSelected),\n },\n '& .row-select-single-selected:nth-child(even):hover:not(.disabled-row) .cell-wrapper, .row-select-selected:nth-child(even):hover:not(.disabled-row) .cell-wrapper': {\n backgroundColor: getIn(\n theme.colors,\n tableRow.stripeWrapper.backgroundColorSelectedHover,\n ),\n },\n '& .row-select-single-selected:nth-child(even):focus:not(.disabled-row) .cell-wrapper, .row-select-selected:nth-child(even):focus:not(.disabled-row) .cell-wrapper': {\n backgroundColor: getIn(\n theme.colors,\n tableRow.stripeWrapper.backgroundColorSelectedFocus,\n ),\n },\n '& .row-select-single-selected:nth-child(even):active:not(.disabled-row) .cell-wrapper, .row-select-selected:nth-child(even):active:not(.disabled-row) .cell-wrapper': {\n backgroundColor: getIn(\n theme.colors,\n tableRow.stripeWrapper.backgroundColorSelectedActive,\n ),\n },\n\n '& tr:nth-child(even):hover:not(.disabled-row) .cell-wrapper-base': {\n backgroundColor: getIn(theme.colors, tableRow.stripe.backgroundColorHover),\n },\n '& tr:nth-child(even):focus:not(.disabled-row) .cell-wrapper-base': {\n backgroundColor: getIn(theme.colors, tableRow.stripe.backgroundColorFocus),\n },\n '& tr:nth-child(even):active:not(.disabled-row) .cell-wrapper-base': {\n backgroundColor: getIn(theme.colors, tableRow.stripe.backgroundColorActive),\n },\n\n '& .row-select-single-selected:nth-child(even) .cell-wrapper-base, .row-select-selected:nth-child(even) .cell-wrapper-base ': {\n backgroundColor: getIn(theme.colors, tableRow.stripe.backgroundColorSelected),\n },\n '& .row-select-single-selected:nth-child(even):hover:not(.disabled-row) .cell-wrapper-base, .row-select-selected:nth-child(even):hover:not(.disabled-row) .cell-wrapper-base ': {\n backgroundColor: getIn(theme.colors, tableRow.stripe.backgroundColorSelectedHover),\n },\n '& .row-select-single-selected:nth-child(even):focus:not(.disabled-row) .cell-wrapper-base, .row-select-selected:nth-child(even):focus:not(.disabled-row) .cell-wrapper-base ': {\n backgroundColor: getIn(theme.colors, tableRow.stripe.backgroundColorSelectedFocus),\n },\n '& .row-select-single-selected:nth-child(even):active:not(.disabled-row) .cell-wrapper-base, .row-select-selected:nth-child(even):active:not(.disabled-row) .cell-wrapper-base ': {\n backgroundColor: getIn(theme.colors, tableRow.stripe.backgroundColorSelectedActive),\n },\n }),\n },\n };\n});\n\nconst _TableBody = ({ children }: TableBodyProps): React.ReactElement => {\n const { showStripedRows, selectionType } = useTableContext();\n const isSelectable = selectionType !== 'none';\n\n return (\n <StyledBody\n $isSelectable={isSelectable}\n $showStripedRows={showStripedRows}\n $showBorderedCells={true}\n {...metaAttribute({ name: MetaConstants.TableBody })}\n >\n {children}\n </StyledBody>\n );\n};\n\nconst TableBody = assignWithoutSideEffects(_TableBody, {\n componentId: ComponentIds.TableBody,\n});\n\nexport const StyledCell = styled(Cell)<{\n $backgroundColor: TableBackgroundColors;\n}>(({ theme, $backgroundColor }) => ({\n '&&&': {\n height: '100%',\n backgroundColor: getIn(theme.colors, $backgroundColor),\n '& > div:first-child': {\n alignSelf: 'stretch',\n },\n '&:focus-visible': { ...getFocusRingStyles({ theme, negativeOffset: true }) },\n },\n}));\n\nexport const CellWrapper = styled(BaseBox)<{\n $rowDensity: NonNullable<TableProps<unknown>['rowDensity']>;\n showStripedRows?: boolean;\n hasPadding?: boolean;\n}>(({ theme, $rowDensity, showStripedRows, hasPadding = true }) => {\n const rowBackgroundTransition = `background-color ${makeMotionTime(\n getIn(theme.motion, tableRow.backgroundColorMotionDuration),\n )} ${getIn(theme.motion, tableRow.backgroundColorMotionEasing)}`;\n\n return {\n '&&&': {\n transition: rowBackgroundTransition,\n backgroundColor: tableRow.nonStripeWrapper.backgroundColor,\n paddingLeft: hasPadding ? makeSpace(getIn(theme, tableRow.paddingLeft[$rowDensity])) : '0px',\n paddingRight: hasPadding\n ? makeSpace(getIn(theme, tableRow.paddingRight[$rowDensity]))\n : '0px',\n minHeight: makeSize(getIn(size, tableRow.minHeight[$rowDensity])),\n height: '100%',\n width: '100%',\n ...(!showStripedRows && {\n borderBottomWidth: makeSpace(getIn(theme.border.width, tableRow.borderBottomWidth)),\n borderBottomColor: getIn(theme.colors, tableRow.borderColor),\n borderBottomStyle: 'solid',\n }),\n },\n };\n});\n\nconst _TableCell = ({ children }: TableCellProps): React.ReactElement => {\n const isChildrenString = typeof children === 'string';\n const { selectionType, rowDensity, showStripedRows, backgroundColor } = useTableContext();\n const isSelectable = selectionType !== 'none';\n\n return (\n <StyledCell\n tabIndex={0}\n role=\"cell\"\n $backgroundColor={backgroundColor}\n {...metaAttribute({ name: MetaConstants.TableCell })}\n >\n <BaseBox className=\"cell-wrapper-base\" display=\"flex\" alignItems=\"center\" height=\"100%\">\n <CellWrapper\n className=\"cell-wrapper\"\n $rowDensity={rowDensity}\n showStripedRows={showStripedRows}\n display=\"flex\"\n alignItems=\"center\"\n flex={1}\n // when a direct string child is passed we want to disable pointer events\n // for custom cells components, consumers can handle pointer events themselves\n pointerEvents={isChildrenString && isSelectable ? 'none' : 'auto'}\n // allow text to wrap, so that if the <Text> overflows it can truncate\n whiteSpace=\"normal\"\n >\n {isChildrenString ? (\n <Text size=\"medium\" truncateAfterLines={1}>\n {children}\n </Text>\n ) : (\n children\n )}\n </CellWrapper>\n </BaseBox>\n </StyledCell>\n );\n};\n\nconst TableCell = assignWithoutSideEffects(_TableCell, {\n componentId: ComponentIds.TableCell,\n});\n\nconst TableCheckboxCell = ({\n isChecked,\n onChange,\n isDisabled,\n}: {\n isChecked: CheckboxProps['isChecked'];\n onChange: CheckboxProps['onChange'];\n isDisabled?: boolean;\n}): React.ReactElement => {\n return (\n <TableCell>\n <BaseBox\n display=\"flex\"\n alignItems=\"center\"\n justifyContent=\"center\"\n flex={1}\n width={makeSize(checkboxCellWidth)}\n onClick={(e) => e.stopPropagation()}\n >\n <Checkbox isDisabled={isDisabled} isChecked={isChecked} onChange={onChange} />\n </BaseBox>\n </TableCell>\n );\n};\n\nconst StyledRow = styled(Row)<{\n $isSelectable: boolean;\n $isHoverable: boolean;\n $showBorderedCells: boolean;\n}>(({ theme, $isSelectable, $isHoverable, $showBorderedCells }) => {\n const rowBackgroundTransition = `background-color ${makeMotionTime(\n getIn(theme.motion, tableRow.backgroundColorMotionDuration),\n )} ${getIn(theme.motion, tableRow.backgroundColorMotionEasing)}`;\n\n return {\n '&&&': {\n backgroundColor: 'transparent',\n '& .cell-wrapper': $showBorderedCells\n ? {\n borderRightWidth: makeSpace(getIn(theme.border.width, tableRow.borderBottomWidth)),\n borderRightStyle: 'solid',\n borderRightColor: getIn(theme.colors, tableRow.borderColor),\n }\n : undefined,\n '& td:last-child .cell-wrapper': {\n borderRight: 'none',\n },\n ...(($isHoverable || $isSelectable) && {\n '&:hover:not(.disabled-row) .cell-wrapper-base': {\n transition: rowBackgroundTransition,\n cursor: 'pointer',\n backgroundColor: getIn(theme.colors, tableRow.nonStripe.backgroundColorHover),\n },\n }),\n ...($isSelectable && {\n '&:focus:not(.disabled-row) .cell-wrapper-base': {\n transition: rowBackgroundTransition,\n backgroundColor: getIn(theme.colors, tableRow.nonStripe.backgroundColorFocus),\n cursor: 'pointer',\n },\n '&:active:not(.disabled-row) .cell-wrapper-base': {\n transition: rowBackgroundTransition,\n backgroundColor: getIn(theme.colors, tableRow.nonStripe.backgroundColorActive),\n cursor: 'pointer',\n },\n }),\n '&:focus': getFocusRingStyles({ theme, negativeOffset: true }),\n },\n };\n});\n\nconst _TableRow = <Item,>({\n children,\n item,\n isDisabled,\n onHover,\n onClick,\n}: TableRowProps<Item>): React.ReactElement => {\n const {\n selectionType,\n selectedRows,\n toggleRowSelectionById,\n setDisabledRows,\n showBorderedCells,\n } = useTableContext();\n const isSelectable = selectionType !== 'none';\n const isMultiSelect = selectionType === 'multiple';\n const isSelected = selectedRows?.includes(item.id);\n useEffect(() => {\n if (isDisabled) {\n setDisabledRows((prev) => [...prev, item.id]);\n }\n }, [isDisabled, item.id, setDisabledRows]);\n\n return (\n <StyledRow\n disabled={isDisabled}\n $isSelectable={isDisabled ? false : isSelectable}\n $isHoverable={isDisabled ? false : Boolean(onHover) || Boolean(onClick)}\n $showBorderedCells={showBorderedCells}\n item={item}\n className={isDisabled ? 'disabled-row' : ''}\n onMouseEnter={() => onHover?.({ item })}\n onClick={() => onClick?.({ item })}\n {...makeAccessible({ selected: isSelected })}\n {...metaAttribute({ name: MetaConstants.TableRow })}\n >\n {isMultiSelect && (\n <TableCheckboxCell\n isChecked={isSelected}\n onChange={() => !isDisabled && toggleRowSelectionById(item.id)}\n isDisabled={isDisabled}\n />\n )}\n {children}\n </StyledRow>\n );\n};\n\nconst TableRow = assignWithoutSideEffects(_TableRow, {\n componentId: ComponentIds.TableRow,\n});\n\nexport { TableBody, TableRow, TableCell };\n"],"names":["StyledBody","styled","Body","withConfig","displayName","componentId","_ref","theme","$showStripedRows","$isSelectable","rowBackgroundTransition","concat","makeMotionTime","getIn","motion","tableRow","backgroundColorMotionDuration","backgroundColorMotionEasing","_objectSpread","border","transition","borderBottom","backgroundColor","colors","nonStripe","backgroundColorSelected","backgroundColorSelectedHover","backgroundColorSelectedFocus","backgroundColorSelectedActive","nonStripeWrapper","backgroundColorActive","stripeWrapper","stripe","backgroundColorHover","backgroundColorFocus","_TableBody","_ref2","children","_useTableContext","useTableContext","showStripedRows","selectionType","isSelectable","_jsx","$showBorderedCells","metaAttribute","name","MetaConstants","TableBody","assignWithoutSideEffects","ComponentIds","StyledCell","Cell","_ref3","$backgroundColor","height","alignSelf","getFocusRingStyles","negativeOffset","CellWrapper","BaseBox","_ref4","$rowDensity","_ref4$hasPadding","hasPadding","paddingLeft","makeSpace","paddingRight","minHeight","makeSize","size","width","borderBottomWidth","borderBottomColor","borderColor","borderBottomStyle","_TableCell","_ref5","isChildrenString","_useTableContext2","rowDensity","tabIndex","role","TableCell","className","display","alignItems","flex","pointerEvents","whiteSpace","Text","truncateAfterLines","TableCheckboxCell","_ref6","isChecked","onChange","isDisabled","justifyContent","checkboxCellWidth","onClick","e","stopPropagation","Checkbox","StyledRow","Row","_ref7","$isHoverable","borderRightWidth","borderRightStyle","borderRightColor","undefined","borderRight","cursor","_TableRow","_ref8","item","onHover","_useTableContext3","selectedRows","toggleRowSelectionById","setDisabledRows","showBorderedCells","isMultiSelect","isSelected","includes","id","useEffect","prev","_toConsumableArray","_jsxs","disabled","Boolean","onMouseEnter","makeAccessible","selected","TableRow"],"mappings":"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"}
1
+ {"version":3,"file":"TableBody.web.js","sources":["../../../../../../src/components/Table/TableBody.web.tsx"],"sourcesContent":["import React, { useEffect } from 'react';\nimport { Body, Row, Cell } from '@table-library/react-table-library/table';\nimport styled from 'styled-components';\nimport { useTableContext } from './TableContext';\nimport { checkboxCellWidth, tableRow } from './tokens';\nimport { ComponentIds } from './componentIds';\nimport type {\n TableProps,\n TableBodyProps,\n TableRowProps,\n TableCellProps,\n TableBackgroundColors,\n} from './types';\nimport getIn from '~utils/lodashButBetter/get';\nimport { Text } from '~components/Typography';\nimport type { CheckboxProps } from '~components/Checkbox';\nimport { Checkbox } from '~components/Checkbox';\nimport { makeMotionTime, makeSize, makeSpace } from '~utils';\nimport BaseBox from '~components/Box/BaseBox';\nimport { MetaConstants, metaAttribute } from '~utils/metaAttribute';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { getFocusRingStyles } from '~utils/getFocusRingStyles';\nimport { size } from '~tokens/global';\nimport { makeAccessible } from '~utils/makeAccessible';\n\nconst StyledBody = styled(Body)<{\n $isSelectable: boolean;\n $showStripedRows: boolean;\n}>(({ theme, $showStripedRows, $isSelectable }) => {\n const rowBackgroundTransition = `background-color ${makeMotionTime(\n getIn(theme.motion, tableRow.backgroundColorMotionDuration),\n )} ${getIn(theme.motion, tableRow.backgroundColorMotionEasing)}`;\n\n return {\n '&&&': {\n border: 'none',\n transition: rowBackgroundTransition,\n\n '& tr:last-child .cell-wrapper': {\n borderBottom: 'none',\n },\n\n '& .row-select-single-selected .cell-wrapper-base, .row-select-selected .cell-wrapper-base': {\n backgroundColor: getIn(theme.colors, tableRow.nonStripe.backgroundColorSelected),\n },\n '& .row-select-single-selected:hover:not(.disabled-row) .cell-wrapper-base, .row-select-selected:hover:not(.disabled-row) .cell-wrapper-base': {\n backgroundColor: getIn(theme.colors, tableRow.nonStripe.backgroundColorSelectedHover),\n },\n '& .row-select-single-selected:focus:not(.disabled-row) .cell-wrapper-base, .row-select-selected:focus:not(.disabled-row) .cell-wrapper-base': {\n backgroundColor: getIn(theme.colors, tableRow.nonStripe.backgroundColorSelectedFocus),\n },\n '& .row-select-single-selected:active:not(.disabled-row) .cell-wrapper-base, .row-select-selected:active:not(.disabled-row) .cell-wrapper-base': {\n backgroundColor: getIn(theme.colors, tableRow.nonStripe.backgroundColorSelectedActive),\n },\n\n ...($isSelectable && {\n '& tr:active:not(.disabled-row) .cell-wrapper': {\n backgroundColor: getIn(theme.colors, tableRow.nonStripeWrapper.backgroundColorActive),\n },\n }),\n\n ...($showStripedRows && {\n '& tr:nth-child(even) .cell-wrapper': {\n backgroundColor: getIn(theme.colors, tableRow.stripeWrapper.backgroundColor),\n },\n '& tr:nth-child(even) .cell-wrapper-base': {\n backgroundColor: tableRow.stripe.backgroundColor,\n },\n }),\n\n ...($showStripedRows &&\n $isSelectable && {\n '& tr:nth-child(even):hover:not(.disabled-row) .cell-wrapper': {\n backgroundColor: getIn(theme.colors, tableRow.stripeWrapper.backgroundColorHover),\n },\n '& tr:nth-child(even):focus:not(.disabled-row) .cell-wrapper': {\n backgroundColor: getIn(theme.colors, tableRow.stripeWrapper.backgroundColorFocus),\n },\n '& tr:nth-child(even):active:not(.disabled-row) .cell-wrapper': {\n backgroundColor: getIn(theme.colors, tableRow.stripeWrapper.backgroundColorActive),\n },\n '& .row-select-single-selected:nth-child(even) .cell-wrapper, .row-select-selected:nth-child(even) .cell-wrapper': {\n backgroundColor: getIn(theme.colors, tableRow.stripeWrapper.backgroundColorSelected),\n },\n '& .row-select-single-selected:nth-child(even):hover:not(.disabled-row) .cell-wrapper, .row-select-selected:nth-child(even):hover:not(.disabled-row) .cell-wrapper': {\n backgroundColor: getIn(\n theme.colors,\n tableRow.stripeWrapper.backgroundColorSelectedHover,\n ),\n },\n '& .row-select-single-selected:nth-child(even):focus:not(.disabled-row) .cell-wrapper, .row-select-selected:nth-child(even):focus:not(.disabled-row) .cell-wrapper': {\n backgroundColor: getIn(\n theme.colors,\n tableRow.stripeWrapper.backgroundColorSelectedFocus,\n ),\n },\n '& .row-select-single-selected:nth-child(even):active:not(.disabled-row) .cell-wrapper, .row-select-selected:nth-child(even):active:not(.disabled-row) .cell-wrapper': {\n backgroundColor: getIn(\n theme.colors,\n tableRow.stripeWrapper.backgroundColorSelectedActive,\n ),\n },\n\n '& tr:nth-child(even):hover:not(.disabled-row) .cell-wrapper-base': {\n backgroundColor: getIn(theme.colors, tableRow.stripe.backgroundColorHover),\n },\n '& tr:nth-child(even):focus:not(.disabled-row) .cell-wrapper-base': {\n backgroundColor: getIn(theme.colors, tableRow.stripe.backgroundColorFocus),\n },\n '& tr:nth-child(even):active:not(.disabled-row) .cell-wrapper-base': {\n backgroundColor: getIn(theme.colors, tableRow.stripe.backgroundColorActive),\n },\n\n '& .row-select-single-selected:nth-child(even) .cell-wrapper-base, .row-select-selected:nth-child(even) .cell-wrapper-base ': {\n backgroundColor: getIn(theme.colors, tableRow.stripe.backgroundColorSelected),\n },\n '& .row-select-single-selected:nth-child(even):hover:not(.disabled-row) .cell-wrapper-base, .row-select-selected:nth-child(even):hover:not(.disabled-row) .cell-wrapper-base ': {\n backgroundColor: getIn(theme.colors, tableRow.stripe.backgroundColorSelectedHover),\n },\n '& .row-select-single-selected:nth-child(even):focus:not(.disabled-row) .cell-wrapper-base, .row-select-selected:nth-child(even):focus:not(.disabled-row) .cell-wrapper-base ': {\n backgroundColor: getIn(theme.colors, tableRow.stripe.backgroundColorSelectedFocus),\n },\n '& .row-select-single-selected:nth-child(even):active:not(.disabled-row) .cell-wrapper-base, .row-select-selected:nth-child(even):active:not(.disabled-row) .cell-wrapper-base ': {\n backgroundColor: getIn(theme.colors, tableRow.stripe.backgroundColorSelectedActive),\n },\n }),\n },\n };\n});\n\nconst _TableBody = ({ children }: TableBodyProps): React.ReactElement => {\n const { showStripedRows, selectionType } = useTableContext();\n const isSelectable = selectionType !== 'none';\n\n return (\n <StyledBody\n $isSelectable={isSelectable}\n $showStripedRows={showStripedRows}\n $showBorderedCells={true}\n {...metaAttribute({ name: MetaConstants.TableBody })}\n >\n {children}\n </StyledBody>\n );\n};\n\nconst TableBody = assignWithoutSideEffects(_TableBody, {\n componentId: ComponentIds.TableBody,\n});\n\nexport const StyledCell = styled(Cell)<{\n $backgroundColor: TableBackgroundColors;\n}>(({ theme, $backgroundColor }) => ({\n '&&&': {\n height: '100%',\n backgroundColor: getIn(theme.colors, $backgroundColor),\n '& > div:first-child': {\n alignSelf: 'stretch',\n },\n '&:focus-visible': { ...getFocusRingStyles({ theme, negativeOffset: true }) },\n },\n}));\n\nexport const CellWrapper = styled(BaseBox)<{\n $rowDensity: NonNullable<TableProps<unknown>['rowDensity']>;\n showStripedRows?: boolean;\n hasPadding?: boolean;\n}>(({ theme, $rowDensity, showStripedRows, hasPadding = true }) => {\n const rowBackgroundTransition = `background-color ${makeMotionTime(\n getIn(theme.motion, tableRow.backgroundColorMotionDuration),\n )} ${getIn(theme.motion, tableRow.backgroundColorMotionEasing)}`;\n\n return {\n '&&&': {\n transition: rowBackgroundTransition,\n backgroundColor: tableRow.nonStripeWrapper.backgroundColor,\n paddingLeft: hasPadding ? makeSpace(getIn(theme, tableRow.paddingLeft[$rowDensity])) : '0px',\n paddingRight: hasPadding\n ? makeSpace(getIn(theme, tableRow.paddingRight[$rowDensity]))\n : '0px',\n minHeight: makeSize(getIn(size, tableRow.minHeight[$rowDensity])),\n height: '100%',\n width: '100%',\n ...(!showStripedRows && {\n borderBottomWidth: makeSpace(getIn(theme.border.width, tableRow.borderBottomWidth)),\n borderBottomColor: getIn(theme.colors, tableRow.borderColor),\n borderBottomStyle: 'solid',\n }),\n },\n };\n});\n\nconst _TableCell = ({ children }: TableCellProps): React.ReactElement => {\n const isChildrenString = typeof children === 'string';\n const { selectionType, rowDensity, showStripedRows, backgroundColor } = useTableContext();\n const isSelectable = selectionType !== 'none';\n\n return (\n <StyledCell\n tabIndex={0}\n role=\"cell\"\n $backgroundColor={backgroundColor}\n {...metaAttribute({ name: MetaConstants.TableCell })}\n >\n <BaseBox className=\"cell-wrapper-base\" display=\"flex\" alignItems=\"center\" height=\"100%\">\n <CellWrapper\n className=\"cell-wrapper\"\n $rowDensity={rowDensity}\n showStripedRows={showStripedRows}\n display=\"flex\"\n alignItems=\"center\"\n flex={1}\n // when a direct string child is passed we want to disable pointer events\n // for custom cells components, consumers can handle pointer events themselves\n pointerEvents={isChildrenString && isSelectable ? 'none' : 'auto'}\n // allow text to wrap, so that if the <Text> overflows it can truncate\n whiteSpace=\"normal\"\n >\n {isChildrenString ? (\n <Text size=\"medium\" truncateAfterLines={1}>\n {children}\n </Text>\n ) : (\n children\n )}\n </CellWrapper>\n </BaseBox>\n </StyledCell>\n );\n};\n\nconst TableCell = assignWithoutSideEffects(_TableCell, {\n componentId: ComponentIds.TableCell,\n});\n\nconst TableCheckboxCell = ({\n isChecked,\n onChange,\n isDisabled,\n}: {\n isChecked: CheckboxProps['isChecked'];\n onChange: CheckboxProps['onChange'];\n isDisabled?: boolean;\n}): React.ReactElement => {\n return (\n <TableCell>\n <BaseBox\n display=\"flex\"\n alignItems=\"center\"\n justifyContent=\"center\"\n flex={1}\n width={makeSize(checkboxCellWidth)}\n onClick={(e) => e.stopPropagation()}\n >\n <Checkbox isDisabled={isDisabled} isChecked={isChecked} onChange={onChange} />\n </BaseBox>\n </TableCell>\n );\n};\n\nconst StyledRow = styled(Row)<{\n $isSelectable: boolean;\n $isHoverable: boolean;\n $showBorderedCells: boolean;\n}>(({ theme, $isSelectable, $isHoverable, $showBorderedCells }) => {\n const rowBackgroundTransition = `background-color ${makeMotionTime(\n getIn(theme.motion, tableRow.backgroundColorMotionDuration),\n )} ${getIn(theme.motion, tableRow.backgroundColorMotionEasing)}`;\n\n return {\n '&&&': {\n backgroundColor: 'transparent',\n '& .cell-wrapper': $showBorderedCells\n ? {\n borderRightWidth: makeSpace(getIn(theme.border.width, tableRow.borderBottomWidth)),\n borderRightStyle: 'solid',\n borderRightColor: getIn(theme.colors, tableRow.borderColor),\n }\n : undefined,\n '& td:last-child .cell-wrapper': {\n borderRight: 'none',\n },\n ...(($isHoverable || $isSelectable) && {\n '&:hover:not(.disabled-row) .cell-wrapper-base': {\n transition: rowBackgroundTransition,\n cursor: 'pointer',\n backgroundColor: getIn(theme.colors, tableRow.nonStripe.backgroundColorHover),\n },\n }),\n ...($isSelectable && {\n '&:focus:not(.disabled-row) .cell-wrapper-base': {\n transition: rowBackgroundTransition,\n backgroundColor: getIn(theme.colors, tableRow.nonStripe.backgroundColorFocus),\n cursor: 'pointer',\n },\n '&:active:not(.disabled-row) .cell-wrapper-base': {\n transition: rowBackgroundTransition,\n backgroundColor: getIn(theme.colors, tableRow.nonStripe.backgroundColorActive),\n cursor: 'pointer',\n },\n }),\n '&:focus': getFocusRingStyles({ theme, negativeOffset: true }),\n },\n };\n});\n\nconst _TableRow = <Item,>({\n children,\n item,\n isDisabled,\n onHover,\n onClick,\n testID,\n}: TableRowProps<Item>): React.ReactElement => {\n const {\n selectionType,\n selectedRows,\n toggleRowSelectionById,\n setDisabledRows,\n showBorderedCells,\n } = useTableContext();\n const isSelectable = selectionType !== 'none';\n const isMultiSelect = selectionType === 'multiple';\n const isSelected = selectedRows?.includes(item.id);\n useEffect(() => {\n if (isDisabled) {\n setDisabledRows((prev) => [...prev, item.id]);\n }\n }, [isDisabled, item.id, setDisabledRows]);\n\n return (\n <StyledRow\n disabled={isDisabled}\n $isSelectable={isDisabled ? false : isSelectable}\n $isHoverable={isDisabled ? false : Boolean(onHover) || Boolean(onClick)}\n $showBorderedCells={showBorderedCells}\n item={item}\n className={isDisabled ? 'disabled-row' : ''}\n onMouseEnter={() => onHover?.({ item })}\n onClick={() => onClick?.({ item })}\n {...makeAccessible({ selected: isSelected })}\n {...metaAttribute({ name: MetaConstants.TableRow, testID })}\n >\n {isMultiSelect && (\n <TableCheckboxCell\n isChecked={isSelected}\n onChange={() => !isDisabled && toggleRowSelectionById(item.id)}\n isDisabled={isDisabled}\n />\n )}\n {children}\n </StyledRow>\n );\n};\n\nconst TableRow = assignWithoutSideEffects(_TableRow, {\n componentId: ComponentIds.TableRow,\n});\n\nexport { TableBody, TableRow, TableCell };\n"],"names":["StyledBody","styled","Body","withConfig","displayName","componentId","_ref","theme","$showStripedRows","$isSelectable","rowBackgroundTransition","concat","makeMotionTime","getIn","motion","tableRow","backgroundColorMotionDuration","backgroundColorMotionEasing","_objectSpread","border","transition","borderBottom","backgroundColor","colors","nonStripe","backgroundColorSelected","backgroundColorSelectedHover","backgroundColorSelectedFocus","backgroundColorSelectedActive","nonStripeWrapper","backgroundColorActive","stripeWrapper","stripe","backgroundColorHover","backgroundColorFocus","_TableBody","_ref2","children","_useTableContext","useTableContext","showStripedRows","selectionType","isSelectable","_jsx","$showBorderedCells","metaAttribute","name","MetaConstants","TableBody","assignWithoutSideEffects","ComponentIds","StyledCell","Cell","_ref3","$backgroundColor","height","alignSelf","getFocusRingStyles","negativeOffset","CellWrapper","BaseBox","_ref4","$rowDensity","_ref4$hasPadding","hasPadding","paddingLeft","makeSpace","paddingRight","minHeight","makeSize","size","width","borderBottomWidth","borderBottomColor","borderColor","borderBottomStyle","_TableCell","_ref5","isChildrenString","_useTableContext2","rowDensity","tabIndex","role","TableCell","className","display","alignItems","flex","pointerEvents","whiteSpace","Text","truncateAfterLines","TableCheckboxCell","_ref6","isChecked","onChange","isDisabled","justifyContent","checkboxCellWidth","onClick","e","stopPropagation","Checkbox","StyledRow","Row","_ref7","$isHoverable","borderRightWidth","borderRightStyle","borderRightColor","undefined","borderRight","cursor","_TableRow","_ref8","item","onHover","testID","_useTableContext3","selectedRows","toggleRowSelectionById","setDisabledRows","showBorderedCells","isMultiSelect","isSelected","includes","id","useEffect","prev","_toConsumableArray","_jsxs","disabled","Boolean","onMouseEnter","makeAccessible","selected","TableRow"],"mappings":"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"}