@laerdal/life-react-components 3.5.2 → 3.6.0-dev.1.full
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Chips/ChoiceChips.cjs +1 -0
- package/dist/Chips/ChoiceChips.cjs.map +1 -1
- package/dist/Chips/ChoiceChips.js +1 -0
- package/dist/Chips/ChoiceChips.js.map +1 -1
- package/dist/ChipsInput/ChipDropdownInput.cjs +1 -1
- package/dist/ChipsInput/ChipDropdownInput.cjs.map +1 -1
- package/dist/ChipsInput/ChipDropdownInput.js +1 -1
- package/dist/ChipsInput/ChipDropdownInput.js.map +1 -1
- package/dist/Dropdown/BasicDropdown.cjs +2 -0
- package/dist/Dropdown/BasicDropdown.cjs.map +1 -1
- package/dist/Dropdown/BasicDropdown.js +2 -0
- package/dist/Dropdown/BasicDropdown.js.map +1 -1
- package/dist/Dropdown/CommonStyling.cjs +1 -1
- package/dist/Dropdown/CommonStyling.cjs.map +1 -1
- package/dist/Dropdown/CommonStyling.js +1 -1
- package/dist/Dropdown/CommonStyling.js.map +1 -1
- package/dist/Dropdown/DropdownButton.cjs +4 -0
- package/dist/Dropdown/DropdownButton.cjs.map +1 -1
- package/dist/Dropdown/DropdownButton.js +4 -0
- package/dist/Dropdown/DropdownButton.js.map +1 -1
- package/dist/Dropdown/DropdownContent.cjs +1 -1
- package/dist/Dropdown/DropdownContent.cjs.map +1 -1
- package/dist/Dropdown/DropdownContent.js +1 -1
- package/dist/Dropdown/DropdownContent.js.map +1 -1
- package/dist/Dropdown/DropdownFilter.cjs +2 -0
- package/dist/Dropdown/DropdownFilter.cjs.map +1 -1
- package/dist/Dropdown/DropdownFilter.js +2 -0
- package/dist/Dropdown/DropdownFilter.js.map +1 -1
- package/dist/Dropdown/index.cjs +0 -12
- package/dist/Dropdown/index.cjs.map +1 -1
- package/dist/Dropdown/index.d.ts +0 -1
- package/dist/Dropdown/index.js +0 -1
- package/dist/Dropdown/index.js.map +1 -1
- package/dist/GlobalNavigationBar/desktop/ExtendedMainMenu.cjs +0 -1
- package/dist/GlobalNavigationBar/desktop/ExtendedMainMenu.cjs.map +1 -1
- package/dist/GlobalNavigationBar/desktop/ExtendedMainMenu.js +0 -1
- package/dist/GlobalNavigationBar/desktop/ExtendedMainMenu.js.map +1 -1
- package/dist/GlobalNavigationBar/desktop/SubMenu.cjs +0 -1
- package/dist/GlobalNavigationBar/desktop/SubMenu.cjs.map +1 -1
- package/dist/GlobalNavigationBar/desktop/SubMenu.js +0 -1
- package/dist/GlobalNavigationBar/desktop/SubMenu.js.map +1 -1
- package/dist/InputFields/QuickSearch.cjs +1 -1
- package/dist/InputFields/QuickSearch.cjs.map +1 -1
- package/dist/InputFields/QuickSearch.js +1 -1
- package/dist/InputFields/QuickSearch.js.map +1 -1
- package/dist/List/ListRow.cjs +1 -1
- package/dist/List/ListRow.cjs.map +1 -1
- package/dist/List/ListRow.d.ts +1 -1
- package/dist/List/ListRow.js +1 -1
- package/dist/List/ListRow.js.map +1 -1
- package/dist/Table/TableBody.cjs +1 -1
- package/dist/Table/TableBody.cjs.map +1 -1
- package/dist/Table/TableBody.js +1 -1
- package/dist/Table/TableBody.js.map +1 -1
- package/dist/Table/TableFooter.cjs +2 -0
- package/dist/Table/TableFooter.cjs.map +1 -1
- package/dist/Table/TableFooter.js +2 -0
- package/dist/Table/TableFooter.js.map +1 -1
- package/dist/styles/typography.cjs +59 -35
- package/dist/styles/typography.cjs.map +1 -1
- package/dist/styles/typography.d.ts +1 -1
- package/dist/styles/typography.js +59 -35
- package/dist/styles/typography.js.map +1 -1
- package/dist/test-utils.cjs +42 -0
- package/dist/test-utils.cjs.map +1 -0
- package/dist/test-utils.d.ts +5 -0
- package/dist/test-utils.js +22 -0
- package/dist/test-utils.js.map +1 -0
- package/package.json +34 -10
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QuickSearch.cjs","names":["React","_interopRequireWildcard","require","_styledComponents","_Iconbutton","_styling","_types","_","_icons","_SearchBarInput","_interopRequireDefault","_SearchField","_jsxRuntime","_templateObject","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","Wrapper","styled","div","_taggedTemplateLiteral2","StyledSearchField","props","COLORS","getColor","theme","IconButtonStyledSecondary","shouldNotInteract","QuickSearch","_ref","id","searchTerm","setSearchTerm","enterSearch","removeSearch","placeholder","performSearchLabel","disabled","onKeyDown","size","margin","loading","useTheme","searchFieldRef","useRef","searchFieldInputRef","_React$useState","useState","visible","_React$useState2","_slicedToArray2","searchFieldVisible","setSearchFieldVisible","handleClickOutside","current","contains","target","length","handleKeyDown","key","handleBlur","_searchFieldRef$curre","relatedTarget","handleSearchIconAction","focus","detail","useEffect","document","addEventListener","removeEventListener","_searchFieldInputRef$","focusVisible","jsx","children","jsxs","ref","style","onBlur","className","term","focusParentRefs","SearchIconWrapper","role","concat","dataTestId","variant","shape","tabIndex","action","SystemIcons","Search","color","StyledIcon","hidden","_searchFieldInputRef$2","Clear","LoadingIndicator","Size","Small","propTypes","_propTypes","string","isRequired","func","bool","_default","exports"],"sources":["../../src/InputFields/QuickSearch.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport styled, { useTheme } from 'styled-components';\r\n\r\nimport IconButton, { IconButtonStyledSecondary } from '../Button/Iconbutton';\r\nimport { SearchIconWrapper, StyledIcon } from './styling';\r\nimport { Size } from '../types';\r\nimport { COLORS, LoadingIndicator } from '..';\r\nimport { SystemIcons } from '../icons';\r\nimport SearchBarInput from './components/SearchBarInput';\r\nimport SearchField, { StyledSearchField } from './components/SearchField';\r\n\r\nconst Wrapper = styled.div<{shouldNotInteract: boolean}>`\r\n width: 100%;\r\n\r\n ${StyledSearchField} {\r\n transition: box-shadow 0.2s ease-in-out, width 0.2s ease-in-out;\r\n\r\n background-color: transparent;\r\n\r\n &.small {\r\n width: 48px;\r\n }\r\n\r\n &.medium {\r\n width: 56px;\r\n }\r\n\r\n &.expanded {\r\n width: 100%;\r\n }\r\n\r\n box-shadow: none;\r\n\r\n &:hover {\r\n box-shadow: none;\r\n }\r\n\r\n &.expanded {\r\n background-color: ${props => COLORS.getColor('white', props.theme)};\r\n box-shadow: inset 0 0 0 1px ${props => COLORS.getColor('neutral_400', props.theme)};\r\n }\r\n\r\n &.expanded:hover,\r\n &.expanded:focus-within {\r\n box-shadow: inset 0 0 0 2px ${props => COLORS.getColor('primary_800', props.theme)};\r\n }\r\n }\r\n\r\n ${IconButtonStyledSecondary} {\r\n pointer-events: ${(props) => (props.shouldNotInteract ? 'none' : 'auto')};\r\n }\r\n`;\r\n\r\nexport type QuickSearchProps = {\r\n /** Required. Id of the component. */\r\n id: string;\r\n /** Optional. Current search term entered by the user. */\r\n searchTerm?: string;\r\n /** Required. Handler to be called when user modified input. */\r\n setSearchTerm: (term: string) => void;\r\n /** Required. Handler to be called when user triggers search. */\r\n enterSearch: (e: any) => void;\r\n /** Required. Handler to be called when user clears input field. */\r\n removeSearch: (e: any) => void;\r\n /** Optional. Placeholder text to be shown in the input field when there is no input. */\r\n placeholder?: string;\r\n /** Optional. ARIA label to set on the input field. */\r\n performSearchLabel?: string;\r\n /** Optional. If disabled user can not interact with the search bar. */\r\n disabled?: boolean;\r\n /** Optional. Optional onkeydown handler to be set on the input field. */\r\n onKeyDown?: (e: React.KeyboardEvent) => void;\r\n /** Optional. Size of the component. Defaults to 'medium'. */\r\n size?: Size.Small | Size.Medium;\r\n /** Optional. Margin style attribute to be set on the input field. */\r\n margin?: string;\r\n /** Optional. If set then loading indicator will be shown on the right side of the input field. */\r\n loading?: boolean;\r\n};\r\n\r\nconst QuickSearch: React.FunctionComponent<QuickSearchProps> = ({\r\n id,\r\n searchTerm,\r\n setSearchTerm,\r\n enterSearch,\r\n removeSearch,\r\n placeholder,\r\n performSearchLabel,\r\n disabled,\r\n onKeyDown,\r\n size,\r\n margin,\r\n loading,\r\n}: QuickSearchProps) => {\r\n const theme = useTheme();\r\n const searchFieldRef = React.useRef<HTMLDivElement>(null);\r\n const searchFieldInputRef = React.useRef<HTMLInputElement>(null);\r\n\r\n const [searchFieldVisible, setSearchFieldVisible] = React.useState<{ visible: boolean; focus?: boolean }>({\r\n visible: false,\r\n });\r\n\r\n const handleClickOutside = (e: any) => {\r\n if (searchFieldRef?.current && !searchFieldRef.current.contains(e.target)) {\r\n if (searchFieldVisible?.visible && !searchTerm?.length) {\r\n setSearchFieldVisible({ visible: false });\r\n }\r\n }\r\n };\r\n\r\n const handleKeyDown = (e: any) => {\r\n if (onKeyDown) {\r\n onKeyDown(e);\r\n }\r\n if (e.key === 'Escape') {\r\n if (searchFieldVisible?.visible && !searchTerm?.length) {\r\n setSearchFieldVisible({ visible: false });\r\n }\r\n }\r\n };\r\n\r\n const handleBlur = (e: any) => {\r\n if (!searchTerm && (!e.relatedTarget || !searchFieldRef.current?.contains(e.relatedTarget))) {\r\n setSearchFieldVisible({ visible: false });\r\n }\r\n };\r\n\r\n const handleSearchIconAction = (e: any) => {\r\n if (!searchFieldVisible?.visible) {\r\n setSearchFieldVisible({\r\n visible: !searchFieldVisible.visible,\r\n focus: !searchFieldVisible.visible && e?.detail !== 1,\r\n });\r\n }\r\n };\r\n\r\n // set search field visibility on search term change\r\n React.useEffect(() => {\r\n if (!!searchTerm?.length && !searchFieldVisible?.visible) {\r\n setSearchFieldVisible({ visible: true, focus: false });\r\n }\r\n }, [searchTerm, searchFieldVisible]);\r\n\r\n // register click outside handler\r\n React.useEffect(() => {\r\n document.addEventListener('click', handleClickOutside);\r\n return () => {\r\n document.removeEventListener('click', handleClickOutside);\r\n };\r\n }, []);\r\n\r\n // focus search input on visibility change\r\n React.useEffect(() => {\r\n if (searchFieldVisible?.visible) {\r\n searchFieldInputRef?.current?.focus({ focusVisible: searchFieldVisible.focus } as any);\r\n }\r\n }, [searchFieldVisible.visible, searchFieldInputRef]);\r\n\r\n return (\r\n <Wrapper shouldNotInteract={searchFieldVisible?.visible}>\r\n <SearchField\r\n ref={searchFieldRef}\r\n id={id}\r\n size={size}\r\n searchTerm={searchTerm}\r\n style={{\r\n margin: margin,\r\n }}\r\n onBlur={handleBlur}\r\n className={searchFieldVisible?.visible ? 'expanded' : ''}>\r\n {searchFieldVisible?.visible && (\r\n <SearchBarInput\r\n placeholder={disabled ? '' : placeholder}\r\n id={id}\r\n ref={searchFieldInputRef}\r\n disabled={disabled}\r\n onKeyDown={handleKeyDown}\r\n size={size}\r\n setSearchTerm={(term: string) => setSearchTerm(term)}\r\n searchTerm={searchTerm}\r\n enterSearch={enterSearch}\r\n focusParentRefs={[searchFieldRef]}\r\n />\r\n )}\r\n <SearchIconWrapper className={size ? size : ''} role=\"button\" aria-label={performSearchLabel}>\r\n <IconButton\r\n id={`${id}_Searchbutton`}\r\n dataTestId={`${id}_Searchbutton`}\r\n variant=\"secondary\"\r\n shape=\"circular\"\r\n tabIndex={searchFieldVisible?.visible ? -1 : 0}\r\n action={handleSearchIconAction}>\r\n <SystemIcons.Search size=\"24px\" color={disabled ? COLORS.getColor('neutral_300', theme) : COLORS.getColor('neutral_600', theme)} />\r\n </IconButton>\r\n </SearchIconWrapper>\r\n <StyledIcon className={size ? size : ''} role=\"button\" hidden={!searchTerm || !searchFieldVisible?.visible}>\r\n <IconButton\r\n id={`${id}_Clearicon`}\r\n dataTestId={`${id}_Clearicon`}\r\n variant=\"secondary\"\r\n shape=\"circular\"\r\n action={(e) => {\r\n removeSearch(e);\r\n searchFieldInputRef?.current?.focus();\r\n }}>\r\n <SystemIcons.Clear size=\"24px\" color={disabled ? COLORS.getColor('neutral_300', theme) : COLORS.getColor('neutral_600', theme)} />\r\n </IconButton>\r\n </StyledIcon>\r\n {loading && searchFieldVisible?.visible && (\r\n <StyledIcon className={size ? size : ''}>\r\n <LoadingIndicator size={Size.Small} color={COLORS.getColor('neutral_600', theme)} />\r\n </StyledIcon>\r\n )}\r\n </SearchField>\r\n </Wrapper>\r\n );\r\n};\r\n\r\nexport default QuickSearch;\r\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"QuickSearch.cjs","names":["React","_interopRequireWildcard","require","_styledComponents","_Iconbutton","_styling","_types","_","_icons","_SearchBarInput","_interopRequireDefault","_SearchField","_jsxRuntime","_templateObject","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","Wrapper","styled","div","_taggedTemplateLiteral2","StyledSearchField","props","COLORS","getColor","theme","IconButtonStyledSecondary","shouldNotInteract","QuickSearch","_ref","id","searchTerm","setSearchTerm","enterSearch","removeSearch","placeholder","performSearchLabel","disabled","onKeyDown","size","margin","loading","useTheme","searchFieldRef","useRef","searchFieldInputRef","_React$useState","useState","visible","_React$useState2","_slicedToArray2","searchFieldVisible","setSearchFieldVisible","handleClickOutside","current","contains","target","length","handleKeyDown","key","handleBlur","_searchFieldRef$curre","relatedTarget","handleSearchIconAction","focus","detail","useEffect","document","addEventListener","removeEventListener","_searchFieldInputRef$","focusVisible","jsx","children","jsxs","ref","style","onBlur","className","term","focusParentRefs","SearchIconWrapper","role","concat","dataTestId","variant","shape","tabIndex","action","SystemIcons","Search","color","StyledIcon","hidden","_searchFieldInputRef$2","Clear","LoadingIndicator","Size","Small","propTypes","_propTypes","string","isRequired","func","bool","_default","exports"],"sources":["../../src/InputFields/QuickSearch.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport styled, { useTheme } from 'styled-components';\r\n\r\nimport IconButton, { IconButtonStyledSecondary } from '../Button/Iconbutton';\r\nimport { SearchIconWrapper, StyledIcon } from './styling';\r\nimport { Size } from '../types';\r\nimport { COLORS, LoadingIndicator } from '..';\r\nimport { SystemIcons } from '../icons';\r\nimport SearchBarInput from './components/SearchBarInput';\r\nimport SearchField, { StyledSearchField } from './components/SearchField';\r\n\r\nconst Wrapper = styled.div<{shouldNotInteract: boolean}>`\r\n width: 100%;\r\n\r\n ${StyledSearchField} {\r\n transition: box-shadow 0.2s ease-in-out, width 0.2s ease-in-out;\r\n\r\n background-color: transparent;\r\n\r\n &.small {\r\n width: 48px;\r\n }\r\n\r\n &.medium {\r\n width: 56px;\r\n }\r\n\r\n &.expanded {\r\n width: 100%;\r\n }\r\n\r\n box-shadow: none;\r\n\r\n &:hover {\r\n box-shadow: none;\r\n }\r\n\r\n &.expanded {\r\n background-color: ${props => COLORS.getColor('white', props.theme)};\r\n box-shadow: inset 0 0 0 1px ${props => COLORS.getColor('neutral_400', props.theme)};\r\n }\r\n\r\n &.expanded:hover,\r\n &.expanded:focus-within {\r\n box-shadow: inset 0 0 0 2px ${props => COLORS.getColor('primary_800', props.theme)};\r\n }\r\n }\r\n\r\n ${IconButtonStyledSecondary} {\r\n pointer-events: ${(props) => (props.shouldNotInteract ? 'none' : 'auto')};\r\n }\r\n`;\r\n\r\nexport type QuickSearchProps = {\r\n /** Required. Id of the component. */\r\n id: string;\r\n /** Optional. Current search term entered by the user. */\r\n searchTerm?: string;\r\n /** Required. Handler to be called when user modified input. */\r\n setSearchTerm: (term: string) => void;\r\n /** Required. Handler to be called when user triggers search. */\r\n enterSearch: (e: any) => void;\r\n /** Required. Handler to be called when user clears input field. */\r\n removeSearch: (e: any) => void;\r\n /** Optional. Placeholder text to be shown in the input field when there is no input. */\r\n placeholder?: string;\r\n /** Optional. ARIA label to set on the input field. */\r\n performSearchLabel?: string;\r\n /** Optional. If disabled user can not interact with the search bar. */\r\n disabled?: boolean;\r\n /** Optional. Optional onkeydown handler to be set on the input field. */\r\n onKeyDown?: (e: React.KeyboardEvent) => void;\r\n /** Optional. Size of the component. Defaults to 'medium'. */\r\n size?: Size.Small | Size.Medium;\r\n /** Optional. Margin style attribute to be set on the input field. */\r\n margin?: string;\r\n /** Optional. If set then loading indicator will be shown on the right side of the input field. */\r\n loading?: boolean;\r\n};\r\n\r\nconst QuickSearch: React.FunctionComponent<QuickSearchProps> = ({\r\n id,\r\n searchTerm,\r\n setSearchTerm,\r\n enterSearch,\r\n removeSearch,\r\n placeholder,\r\n performSearchLabel,\r\n disabled,\r\n onKeyDown,\r\n size,\r\n margin,\r\n loading,\r\n}: QuickSearchProps) => {\r\n const theme = useTheme();\r\n const searchFieldRef = React.useRef<HTMLDivElement>(null);\r\n const searchFieldInputRef = React.useRef<HTMLInputElement>(null);\r\n\r\n const [searchFieldVisible, setSearchFieldVisible] = React.useState<{ visible: boolean; focus?: boolean }>({\r\n visible: false,\r\n });\r\n\r\n const handleClickOutside = (e: any) => {\r\n if (searchFieldRef?.current && !searchFieldRef.current.contains(e.target)) {\r\n if (searchFieldVisible?.visible && !searchTerm?.length) {\r\n setSearchFieldVisible({ visible: false });\r\n }\r\n }\r\n };\r\n\r\n const handleKeyDown = (e: any) => {\r\n if (onKeyDown) {\r\n onKeyDown(e);\r\n }\r\n if (e.key === 'Escape') {\r\n if (searchFieldVisible?.visible && !searchTerm?.length) {\r\n setSearchFieldVisible({ visible: false });\r\n }\r\n }\r\n };\r\n\r\n const handleBlur = (e: any) => {\r\n if (!searchTerm && (!e.relatedTarget || !searchFieldRef.current?.contains(e.relatedTarget))) {\r\n setSearchFieldVisible({ visible: false });\r\n }\r\n };\r\n\r\n const handleSearchIconAction = (e: any) => {\r\n if (!searchFieldVisible?.visible) {\r\n setSearchFieldVisible({\r\n visible: !searchFieldVisible.visible,\r\n focus: !searchFieldVisible.visible && e?.detail !== 1,\r\n });\r\n }\r\n };\r\n\r\n // set search field visibility on search term change\r\n React.useEffect(() => {\r\n if (!!searchTerm?.length && !searchFieldVisible?.visible) {\r\n setSearchFieldVisible({ visible: true, focus: false });\r\n }\r\n }, [searchTerm, searchFieldVisible]);\r\n\r\n // register click outside handler\r\n React.useEffect(() => {\r\n document.addEventListener('click', handleClickOutside);\r\n return () => {\r\n document.removeEventListener('click', handleClickOutside);\r\n };\r\n });\r\n\r\n // focus search input on visibility change\r\n React.useEffect(() => {\r\n if (searchFieldVisible?.visible) {\r\n searchFieldInputRef?.current?.focus({ focusVisible: searchFieldVisible.focus } as any);\r\n }\r\n }, [searchFieldVisible.visible, searchFieldInputRef]);\r\n\r\n return (\r\n <Wrapper shouldNotInteract={searchFieldVisible?.visible}>\r\n <SearchField\r\n ref={searchFieldRef}\r\n id={id}\r\n size={size}\r\n searchTerm={searchTerm}\r\n style={{\r\n margin: margin,\r\n }}\r\n onBlur={handleBlur}\r\n className={searchFieldVisible?.visible ? 'expanded' : ''}>\r\n {searchFieldVisible?.visible && (\r\n <SearchBarInput\r\n placeholder={disabled ? '' : placeholder}\r\n id={id}\r\n ref={searchFieldInputRef}\r\n disabled={disabled}\r\n onKeyDown={handleKeyDown}\r\n size={size}\r\n setSearchTerm={(term: string) => setSearchTerm(term)}\r\n searchTerm={searchTerm}\r\n enterSearch={enterSearch}\r\n focusParentRefs={[searchFieldRef]}\r\n />\r\n )}\r\n <SearchIconWrapper className={size ? size : ''} role=\"button\" aria-label={performSearchLabel}>\r\n <IconButton\r\n id={`${id}_Searchbutton`}\r\n dataTestId={`${id}_Searchbutton`}\r\n variant=\"secondary\"\r\n shape=\"circular\"\r\n tabIndex={searchFieldVisible?.visible ? -1 : 0}\r\n action={handleSearchIconAction}>\r\n <SystemIcons.Search size=\"24px\" color={disabled ? COLORS.getColor('neutral_300', theme) : COLORS.getColor('neutral_600', theme)} />\r\n </IconButton>\r\n </SearchIconWrapper>\r\n <StyledIcon className={size ? size : ''} role=\"button\" hidden={!searchTerm || !searchFieldVisible?.visible}>\r\n <IconButton\r\n id={`${id}_Clearicon`}\r\n dataTestId={`${id}_Clearicon`}\r\n variant=\"secondary\"\r\n shape=\"circular\"\r\n action={(e) => {\r\n removeSearch(e);\r\n searchFieldInputRef?.current?.focus();\r\n }}>\r\n <SystemIcons.Clear size=\"24px\" color={disabled ? COLORS.getColor('neutral_300', theme) : COLORS.getColor('neutral_600', theme)} />\r\n </IconButton>\r\n </StyledIcon>\r\n {loading && searchFieldVisible?.visible && (\r\n <StyledIcon className={size ? size : ''}>\r\n <LoadingIndicator size={Size.Small} color={COLORS.getColor('neutral_600', theme)} />\r\n </StyledIcon>\r\n )}\r\n </SearchField>\r\n </Wrapper>\r\n );\r\n};\r\n\r\nexport default QuickSearch;\r\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QuickSearch.js","names":["React","styled","useTheme","IconButton","IconButtonStyledSecondary","SearchIconWrapper","StyledIcon","Size","COLORS","LoadingIndicator","SystemIcons","SearchBarInput","SearchField","StyledSearchField","jsx","_jsx","jsxs","_jsxs","Wrapper","div","_templateObject","_taggedTemplateLiteral","props","getColor","theme","shouldNotInteract","QuickSearch","_ref","id","searchTerm","setSearchTerm","enterSearch","removeSearch","placeholder","performSearchLabel","disabled","onKeyDown","size","margin","loading","searchFieldRef","useRef","searchFieldInputRef","_React$useState","useState","visible","_React$useState2","_slicedToArray","searchFieldVisible","setSearchFieldVisible","handleClickOutside","e","current","contains","target","length","handleKeyDown","key","handleBlur","_searchFieldRef$curre","relatedTarget","handleSearchIconAction","focus","detail","useEffect","document","addEventListener","removeEventListener","_searchFieldInputRef$","focusVisible","children","ref","style","onBlur","className","term","focusParentRefs","role","concat","dataTestId","variant","shape","tabIndex","action","Search","color","hidden","_searchFieldInputRef$2","Clear","Small","propTypes","_pt","string","isRequired","func","bool"],"sources":["../../src/InputFields/QuickSearch.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport styled, { useTheme } from 'styled-components';\r\n\r\nimport IconButton, { IconButtonStyledSecondary } from '../Button/Iconbutton';\r\nimport { SearchIconWrapper, StyledIcon } from './styling';\r\nimport { Size } from '../types';\r\nimport { COLORS, LoadingIndicator } from '..';\r\nimport { SystemIcons } from '../icons';\r\nimport SearchBarInput from './components/SearchBarInput';\r\nimport SearchField, { StyledSearchField } from './components/SearchField';\r\n\r\nconst Wrapper = styled.div<{shouldNotInteract: boolean}>`\r\n width: 100%;\r\n\r\n ${StyledSearchField} {\r\n transition: box-shadow 0.2s ease-in-out, width 0.2s ease-in-out;\r\n\r\n background-color: transparent;\r\n\r\n &.small {\r\n width: 48px;\r\n }\r\n\r\n &.medium {\r\n width: 56px;\r\n }\r\n\r\n &.expanded {\r\n width: 100%;\r\n }\r\n\r\n box-shadow: none;\r\n\r\n &:hover {\r\n box-shadow: none;\r\n }\r\n\r\n &.expanded {\r\n background-color: ${props => COLORS.getColor('white', props.theme)};\r\n box-shadow: inset 0 0 0 1px ${props => COLORS.getColor('neutral_400', props.theme)};\r\n }\r\n\r\n &.expanded:hover,\r\n &.expanded:focus-within {\r\n box-shadow: inset 0 0 0 2px ${props => COLORS.getColor('primary_800', props.theme)};\r\n }\r\n }\r\n\r\n ${IconButtonStyledSecondary} {\r\n pointer-events: ${(props) => (props.shouldNotInteract ? 'none' : 'auto')};\r\n }\r\n`;\r\n\r\nexport type QuickSearchProps = {\r\n /** Required. Id of the component. */\r\n id: string;\r\n /** Optional. Current search term entered by the user. */\r\n searchTerm?: string;\r\n /** Required. Handler to be called when user modified input. */\r\n setSearchTerm: (term: string) => void;\r\n /** Required. Handler to be called when user triggers search. */\r\n enterSearch: (e: any) => void;\r\n /** Required. Handler to be called when user clears input field. */\r\n removeSearch: (e: any) => void;\r\n /** Optional. Placeholder text to be shown in the input field when there is no input. */\r\n placeholder?: string;\r\n /** Optional. ARIA label to set on the input field. */\r\n performSearchLabel?: string;\r\n /** Optional. If disabled user can not interact with the search bar. */\r\n disabled?: boolean;\r\n /** Optional. Optional onkeydown handler to be set on the input field. */\r\n onKeyDown?: (e: React.KeyboardEvent) => void;\r\n /** Optional. Size of the component. Defaults to 'medium'. */\r\n size?: Size.Small | Size.Medium;\r\n /** Optional. Margin style attribute to be set on the input field. */\r\n margin?: string;\r\n /** Optional. If set then loading indicator will be shown on the right side of the input field. */\r\n loading?: boolean;\r\n};\r\n\r\nconst QuickSearch: React.FunctionComponent<QuickSearchProps> = ({\r\n id,\r\n searchTerm,\r\n setSearchTerm,\r\n enterSearch,\r\n removeSearch,\r\n placeholder,\r\n performSearchLabel,\r\n disabled,\r\n onKeyDown,\r\n size,\r\n margin,\r\n loading,\r\n}: QuickSearchProps) => {\r\n const theme = useTheme();\r\n const searchFieldRef = React.useRef<HTMLDivElement>(null);\r\n const searchFieldInputRef = React.useRef<HTMLInputElement>(null);\r\n\r\n const [searchFieldVisible, setSearchFieldVisible] = React.useState<{ visible: boolean; focus?: boolean }>({\r\n visible: false,\r\n });\r\n\r\n const handleClickOutside = (e: any) => {\r\n if (searchFieldRef?.current && !searchFieldRef.current.contains(e.target)) {\r\n if (searchFieldVisible?.visible && !searchTerm?.length) {\r\n setSearchFieldVisible({ visible: false });\r\n }\r\n }\r\n };\r\n\r\n const handleKeyDown = (e: any) => {\r\n if (onKeyDown) {\r\n onKeyDown(e);\r\n }\r\n if (e.key === 'Escape') {\r\n if (searchFieldVisible?.visible && !searchTerm?.length) {\r\n setSearchFieldVisible({ visible: false });\r\n }\r\n }\r\n };\r\n\r\n const handleBlur = (e: any) => {\r\n if (!searchTerm && (!e.relatedTarget || !searchFieldRef.current?.contains(e.relatedTarget))) {\r\n setSearchFieldVisible({ visible: false });\r\n }\r\n };\r\n\r\n const handleSearchIconAction = (e: any) => {\r\n if (!searchFieldVisible?.visible) {\r\n setSearchFieldVisible({\r\n visible: !searchFieldVisible.visible,\r\n focus: !searchFieldVisible.visible && e?.detail !== 1,\r\n });\r\n }\r\n };\r\n\r\n // set search field visibility on search term change\r\n React.useEffect(() => {\r\n if (!!searchTerm?.length && !searchFieldVisible?.visible) {\r\n setSearchFieldVisible({ visible: true, focus: false });\r\n }\r\n }, [searchTerm, searchFieldVisible]);\r\n\r\n // register click outside handler\r\n React.useEffect(() => {\r\n document.addEventListener('click', handleClickOutside);\r\n return () => {\r\n document.removeEventListener('click', handleClickOutside);\r\n };\r\n }, []);\r\n\r\n // focus search input on visibility change\r\n React.useEffect(() => {\r\n if (searchFieldVisible?.visible) {\r\n searchFieldInputRef?.current?.focus({ focusVisible: searchFieldVisible.focus } as any);\r\n }\r\n }, [searchFieldVisible.visible, searchFieldInputRef]);\r\n\r\n return (\r\n <Wrapper shouldNotInteract={searchFieldVisible?.visible}>\r\n <SearchField\r\n ref={searchFieldRef}\r\n id={id}\r\n size={size}\r\n searchTerm={searchTerm}\r\n style={{\r\n margin: margin,\r\n }}\r\n onBlur={handleBlur}\r\n className={searchFieldVisible?.visible ? 'expanded' : ''}>\r\n {searchFieldVisible?.visible && (\r\n <SearchBarInput\r\n placeholder={disabled ? '' : placeholder}\r\n id={id}\r\n ref={searchFieldInputRef}\r\n disabled={disabled}\r\n onKeyDown={handleKeyDown}\r\n size={size}\r\n setSearchTerm={(term: string) => setSearchTerm(term)}\r\n searchTerm={searchTerm}\r\n enterSearch={enterSearch}\r\n focusParentRefs={[searchFieldRef]}\r\n />\r\n )}\r\n <SearchIconWrapper className={size ? size : ''} role=\"button\" aria-label={performSearchLabel}>\r\n <IconButton\r\n id={`${id}_Searchbutton`}\r\n dataTestId={`${id}_Searchbutton`}\r\n variant=\"secondary\"\r\n shape=\"circular\"\r\n tabIndex={searchFieldVisible?.visible ? -1 : 0}\r\n action={handleSearchIconAction}>\r\n <SystemIcons.Search size=\"24px\" color={disabled ? COLORS.getColor('neutral_300', theme) : COLORS.getColor('neutral_600', theme)} />\r\n </IconButton>\r\n </SearchIconWrapper>\r\n <StyledIcon className={size ? size : ''} role=\"button\" hidden={!searchTerm || !searchFieldVisible?.visible}>\r\n <IconButton\r\n id={`${id}_Clearicon`}\r\n dataTestId={`${id}_Clearicon`}\r\n variant=\"secondary\"\r\n shape=\"circular\"\r\n action={(e) => {\r\n removeSearch(e);\r\n searchFieldInputRef?.current?.focus();\r\n }}>\r\n <SystemIcons.Clear size=\"24px\" color={disabled ? COLORS.getColor('neutral_300', theme) : COLORS.getColor('neutral_600', theme)} />\r\n </IconButton>\r\n </StyledIcon>\r\n {loading && searchFieldVisible?.visible && (\r\n <StyledIcon className={size ? size : ''}>\r\n <LoadingIndicator size={Size.Small} color={COLORS.getColor('neutral_600', theme)} />\r\n </StyledIcon>\r\n )}\r\n </SearchField>\r\n </Wrapper>\r\n );\r\n};\r\n\r\nexport default QuickSearch;\r\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"QuickSearch.js","names":["React","styled","useTheme","IconButton","IconButtonStyledSecondary","SearchIconWrapper","StyledIcon","Size","COLORS","LoadingIndicator","SystemIcons","SearchBarInput","SearchField","StyledSearchField","jsx","_jsx","jsxs","_jsxs","Wrapper","div","_templateObject","_taggedTemplateLiteral","props","getColor","theme","shouldNotInteract","QuickSearch","_ref","id","searchTerm","setSearchTerm","enterSearch","removeSearch","placeholder","performSearchLabel","disabled","onKeyDown","size","margin","loading","searchFieldRef","useRef","searchFieldInputRef","_React$useState","useState","visible","_React$useState2","_slicedToArray","searchFieldVisible","setSearchFieldVisible","handleClickOutside","e","current","contains","target","length","handleKeyDown","key","handleBlur","_searchFieldRef$curre","relatedTarget","handleSearchIconAction","focus","detail","useEffect","document","addEventListener","removeEventListener","_searchFieldInputRef$","focusVisible","children","ref","style","onBlur","className","term","focusParentRefs","role","concat","dataTestId","variant","shape","tabIndex","action","Search","color","hidden","_searchFieldInputRef$2","Clear","Small","propTypes","_pt","string","isRequired","func","bool"],"sources":["../../src/InputFields/QuickSearch.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport styled, { useTheme } from 'styled-components';\r\n\r\nimport IconButton, { IconButtonStyledSecondary } from '../Button/Iconbutton';\r\nimport { SearchIconWrapper, StyledIcon } from './styling';\r\nimport { Size } from '../types';\r\nimport { COLORS, LoadingIndicator } from '..';\r\nimport { SystemIcons } from '../icons';\r\nimport SearchBarInput from './components/SearchBarInput';\r\nimport SearchField, { StyledSearchField } from './components/SearchField';\r\n\r\nconst Wrapper = styled.div<{shouldNotInteract: boolean}>`\r\n width: 100%;\r\n\r\n ${StyledSearchField} {\r\n transition: box-shadow 0.2s ease-in-out, width 0.2s ease-in-out;\r\n\r\n background-color: transparent;\r\n\r\n &.small {\r\n width: 48px;\r\n }\r\n\r\n &.medium {\r\n width: 56px;\r\n }\r\n\r\n &.expanded {\r\n width: 100%;\r\n }\r\n\r\n box-shadow: none;\r\n\r\n &:hover {\r\n box-shadow: none;\r\n }\r\n\r\n &.expanded {\r\n background-color: ${props => COLORS.getColor('white', props.theme)};\r\n box-shadow: inset 0 0 0 1px ${props => COLORS.getColor('neutral_400', props.theme)};\r\n }\r\n\r\n &.expanded:hover,\r\n &.expanded:focus-within {\r\n box-shadow: inset 0 0 0 2px ${props => COLORS.getColor('primary_800', props.theme)};\r\n }\r\n }\r\n\r\n ${IconButtonStyledSecondary} {\r\n pointer-events: ${(props) => (props.shouldNotInteract ? 'none' : 'auto')};\r\n }\r\n`;\r\n\r\nexport type QuickSearchProps = {\r\n /** Required. Id of the component. */\r\n id: string;\r\n /** Optional. Current search term entered by the user. */\r\n searchTerm?: string;\r\n /** Required. Handler to be called when user modified input. */\r\n setSearchTerm: (term: string) => void;\r\n /** Required. Handler to be called when user triggers search. */\r\n enterSearch: (e: any) => void;\r\n /** Required. Handler to be called when user clears input field. */\r\n removeSearch: (e: any) => void;\r\n /** Optional. Placeholder text to be shown in the input field when there is no input. */\r\n placeholder?: string;\r\n /** Optional. ARIA label to set on the input field. */\r\n performSearchLabel?: string;\r\n /** Optional. If disabled user can not interact with the search bar. */\r\n disabled?: boolean;\r\n /** Optional. Optional onkeydown handler to be set on the input field. */\r\n onKeyDown?: (e: React.KeyboardEvent) => void;\r\n /** Optional. Size of the component. Defaults to 'medium'. */\r\n size?: Size.Small | Size.Medium;\r\n /** Optional. Margin style attribute to be set on the input field. */\r\n margin?: string;\r\n /** Optional. If set then loading indicator will be shown on the right side of the input field. */\r\n loading?: boolean;\r\n};\r\n\r\nconst QuickSearch: React.FunctionComponent<QuickSearchProps> = ({\r\n id,\r\n searchTerm,\r\n setSearchTerm,\r\n enterSearch,\r\n removeSearch,\r\n placeholder,\r\n performSearchLabel,\r\n disabled,\r\n onKeyDown,\r\n size,\r\n margin,\r\n loading,\r\n}: QuickSearchProps) => {\r\n const theme = useTheme();\r\n const searchFieldRef = React.useRef<HTMLDivElement>(null);\r\n const searchFieldInputRef = React.useRef<HTMLInputElement>(null);\r\n\r\n const [searchFieldVisible, setSearchFieldVisible] = React.useState<{ visible: boolean; focus?: boolean }>({\r\n visible: false,\r\n });\r\n\r\n const handleClickOutside = (e: any) => {\r\n if (searchFieldRef?.current && !searchFieldRef.current.contains(e.target)) {\r\n if (searchFieldVisible?.visible && !searchTerm?.length) {\r\n setSearchFieldVisible({ visible: false });\r\n }\r\n }\r\n };\r\n\r\n const handleKeyDown = (e: any) => {\r\n if (onKeyDown) {\r\n onKeyDown(e);\r\n }\r\n if (e.key === 'Escape') {\r\n if (searchFieldVisible?.visible && !searchTerm?.length) {\r\n setSearchFieldVisible({ visible: false });\r\n }\r\n }\r\n };\r\n\r\n const handleBlur = (e: any) => {\r\n if (!searchTerm && (!e.relatedTarget || !searchFieldRef.current?.contains(e.relatedTarget))) {\r\n setSearchFieldVisible({ visible: false });\r\n }\r\n };\r\n\r\n const handleSearchIconAction = (e: any) => {\r\n if (!searchFieldVisible?.visible) {\r\n setSearchFieldVisible({\r\n visible: !searchFieldVisible.visible,\r\n focus: !searchFieldVisible.visible && e?.detail !== 1,\r\n });\r\n }\r\n };\r\n\r\n // set search field visibility on search term change\r\n React.useEffect(() => {\r\n if (!!searchTerm?.length && !searchFieldVisible?.visible) {\r\n setSearchFieldVisible({ visible: true, focus: false });\r\n }\r\n }, [searchTerm, searchFieldVisible]);\r\n\r\n // register click outside handler\r\n React.useEffect(() => {\r\n document.addEventListener('click', handleClickOutside);\r\n return () => {\r\n document.removeEventListener('click', handleClickOutside);\r\n };\r\n });\r\n\r\n // focus search input on visibility change\r\n React.useEffect(() => {\r\n if (searchFieldVisible?.visible) {\r\n searchFieldInputRef?.current?.focus({ focusVisible: searchFieldVisible.focus } as any);\r\n }\r\n }, [searchFieldVisible.visible, searchFieldInputRef]);\r\n\r\n return (\r\n <Wrapper shouldNotInteract={searchFieldVisible?.visible}>\r\n <SearchField\r\n ref={searchFieldRef}\r\n id={id}\r\n size={size}\r\n searchTerm={searchTerm}\r\n style={{\r\n margin: margin,\r\n }}\r\n onBlur={handleBlur}\r\n className={searchFieldVisible?.visible ? 'expanded' : ''}>\r\n {searchFieldVisible?.visible && (\r\n <SearchBarInput\r\n placeholder={disabled ? '' : placeholder}\r\n id={id}\r\n ref={searchFieldInputRef}\r\n disabled={disabled}\r\n onKeyDown={handleKeyDown}\r\n size={size}\r\n setSearchTerm={(term: string) => setSearchTerm(term)}\r\n searchTerm={searchTerm}\r\n enterSearch={enterSearch}\r\n focusParentRefs={[searchFieldRef]}\r\n />\r\n )}\r\n <SearchIconWrapper className={size ? size : ''} role=\"button\" aria-label={performSearchLabel}>\r\n <IconButton\r\n id={`${id}_Searchbutton`}\r\n dataTestId={`${id}_Searchbutton`}\r\n variant=\"secondary\"\r\n shape=\"circular\"\r\n tabIndex={searchFieldVisible?.visible ? -1 : 0}\r\n action={handleSearchIconAction}>\r\n <SystemIcons.Search size=\"24px\" color={disabled ? COLORS.getColor('neutral_300', theme) : COLORS.getColor('neutral_600', theme)} />\r\n </IconButton>\r\n </SearchIconWrapper>\r\n <StyledIcon className={size ? size : ''} role=\"button\" hidden={!searchTerm || !searchFieldVisible?.visible}>\r\n <IconButton\r\n id={`${id}_Clearicon`}\r\n dataTestId={`${id}_Clearicon`}\r\n variant=\"secondary\"\r\n shape=\"circular\"\r\n action={(e) => {\r\n removeSearch(e);\r\n searchFieldInputRef?.current?.focus();\r\n }}>\r\n <SystemIcons.Clear size=\"24px\" color={disabled ? COLORS.getColor('neutral_300', theme) : COLORS.getColor('neutral_600', theme)} />\r\n </IconButton>\r\n </StyledIcon>\r\n {loading && searchFieldVisible?.visible && (\r\n <StyledIcon className={size ? size : ''}>\r\n <LoadingIndicator size={Size.Small} color={COLORS.getColor('neutral_600', theme)} />\r\n </StyledIcon>\r\n )}\r\n </SearchField>\r\n </Wrapper>\r\n );\r\n};\r\n\r\nexport default QuickSearch;\r\n"],"mappings":"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","ignoreList":[]}
|
package/dist/List/ListRow.cjs
CHANGED
|
@@ -152,7 +152,7 @@ ListRow.propTypes = {
|
|
|
152
152
|
icon: _propTypes["default"].node,
|
|
153
153
|
mainText: _propTypes["default"].string.isRequired,
|
|
154
154
|
secondaryText: _propTypes["default"].string,
|
|
155
|
-
note: _propTypes["default"].string,
|
|
155
|
+
note: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].node]),
|
|
156
156
|
noteTooltip: _propTypes["default"].string,
|
|
157
157
|
disabled: _propTypes["default"].bool,
|
|
158
158
|
action: _propTypes["default"].func,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListRow.cjs","names":["React","_interopRequireWildcard","require","_styledComponents","_interopRequireDefault","_styles","_Tooltips","_Dropdown","_icons","_types","_common","_Button","_jsxRuntime","_excluded","_templateObject","_templateObject2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","Row","styled","div","_taggedTemplateLiteral2","props","COLORS","getColor","theme","Z_INDEXES","hover","active","focusStyles","ComponentSStyling","ComponentTextStyle","Regular","ComponentMStyling","ComponentLStyling","ComponentXXSStyling","ComponentXSStyling","RightIcon","ListRow","_ref","_ref$size","size","Size","Medium","_ref$variant","variant","icon","mainText","secondaryText","dropdown","note","noteTooltip","_ref$disabled","disabled","action","rightSideIcon","rightSideAction","rightSideIconDisabled","className","rest","_objectWithoutProperties2","_React$useState","useState","_React$useState2","_slicedToArray2","inAction","setInAction","handleKeyDown","key","rowClassName","concat","jsxs","tabIndex","onMouseDown","defaultOnMouseDownHandler","onKeyDown","onClick","children","jsx","Fragment","TooltipWrapper","label","Large","Small","XSmall","position","withArrow","onMouseEnter","onMouseLeave","DropdownButton","type","SystemIcons","ArrowDropDown","MoreVertical","IconButton","shape","propTypes","_propTypes","oneOf","node","string","isRequired","bool","func","_default","exports"],"sources":["../../src/List/ListRow.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport styled from 'styled-components';\r\nimport {COLORS, ComponentTextStyle, focusStyles} from '../styles';\r\n\r\nimport {\r\n ComponentLStyling,\r\n ComponentMStyling,\r\n ComponentSStyling,\r\n ComponentXSStyling,\r\n ComponentXXSStyling\r\n} from '../styles';\r\nimport {DropdownButtonProps} from '../Dropdown/DropdownButtonTypes';\r\nimport {TooltipWrapper} from '../Tooltips';\r\nimport {DropdownButton} from '../Dropdown';\r\nimport {SystemIcons} from '../icons';\r\nimport {Size} from '../types';\r\nimport {Z_INDEXES} from '../styles';\r\nimport {defaultOnMouseDownHandler} from '../common';\r\nimport {IconButton} from '../Button';\r\n\r\nconst Row = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n justify-content: center;\r\n border-bottom: 1px solid ${props => COLORS.getColor('neutral_100', props.theme)};\r\n box-sizing: border-box;\r\n\r\n color: ${props => COLORS.getColor('neutral_600', props.theme)};\r\n background-color: ${props => COLORS.getColor('white', props.theme)};\r\n\r\n\r\n cursor: default;\r\n\r\n &.interactive {\r\n cursor: pointer;\r\n }\r\n\r\n &.interactive.disabled {\r\n cursor: not-allowed;\r\n }\r\n\r\n &.interactive:hover:not(.in-action):not(.disabled) {\r\n background-color: ${props => COLORS.getColor('primary_20', props.theme)};\r\n color: ${props => COLORS.getColor('primary_700', props.theme)};\r\n z-index: ${Z_INDEXES.hover};\r\n }\r\n\r\n &.interactive:active:not(.in-action):not(.disabled) {\r\n background-color: ${props => COLORS.getColor('primary_100', props.theme)};\r\n color: ${props => COLORS.getColor('primary_800', props.theme)};\r\n z-index: ${Z_INDEXES.active};\r\n }\r\n\r\n &.interactive:focus {\r\n ${focusStyles}\r\n }\r\n\r\n &.disabled {\r\n .list-item-icon, .list-item-content, .list-item-note, .list-item-actions {\r\n color: ${props => COLORS.getColor('neutral_300', props.theme)};\r\n }\r\n }\r\n\r\n\r\n &.small {\r\n min-height: 48px;\r\n padding: 0 8px;\r\n\r\n .list-item-icon {\r\n margin-right: 8px;\r\n }\r\n\r\n .list-item-main-text {\r\n ${ComponentSStyling(ComponentTextStyle.Regular, null)}\r\n }\r\n\r\n .list-item-actions {\r\n margin-right: -8px;\r\n }\r\n }\r\n\r\n &.medium {\r\n min-height: 56px;\r\n padding: 0 12px;\r\n\r\n .list-item-icon {\r\n margin-right: 12px;\r\n }\r\n\r\n .list-item-main-text {\r\n ${ComponentMStyling(ComponentTextStyle.Regular, null)}\r\n }\r\n\r\n .list-item-actions {\r\n margin-right: -12px;\r\n }\r\n }\r\n\r\n &.large {\r\n min-height: 64px;\r\n padding: 0 16px;\r\n\r\n .list-item-icon {\r\n margin-right: 16px;\r\n }\r\n\r\n .list-item-main-text {\r\n ${ComponentLStyling(ComponentTextStyle.Regular, null)}\r\n }\r\n\r\n .list-item-actions {\r\n margin-right: -16px;\r\n }\r\n }\r\n\r\n &.overlay {\r\n padding: 0 4px;\r\n\r\n .list-item-actions {\r\n margin-right: -4px;\r\n }\r\n }\r\n\r\n .list-item-icon {\r\n width: 24px;\r\n height: 24px;\r\n\r\n svg {\r\n width: 24px;\r\n height: 24px;\r\n }\r\n }\r\n\r\n .list-item-content {\r\n flex-grow: 1;\r\n display: flex;\r\n flex-direction: column;\r\n }\r\n\r\n .list-item-main-text {\r\n }\r\n\r\n .list-item-secondary-text {\r\n ${ComponentXXSStyling(ComponentTextStyle.Regular, null)}\r\n }\r\n\r\n .list-item-note {\r\n color: ${props => COLORS.getColor('neutral_600', props.theme)};\r\n word-break: initial;\r\n ${ComponentXSStyling(ComponentTextStyle.Regular, null)}\r\n }\r\n\r\n .list-item-note.with-tooltip {\r\n cursor: pointer;\r\n\r\n > div {\r\n text-decoration-line: underline;\r\n text-decoration-style: dashed;\r\n text-underline-offset: 1px;\r\n text-decoration-thickness: 1px;\r\n }\r\n }\r\n\r\n .list-item-actions {\r\n display: flex;\r\n align-items: center;\r\n\r\n button div {\r\n background-color: transparent;\r\n }\r\n }\r\n`;\r\n\r\nconst RightIcon = styled.div`\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n min-height: 48px;\r\n min-width: 48px;\r\n`;\r\n\r\n\r\nexport interface ListRowProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'tabIndex' | 'onMouseDown' | 'onKeyDown'> {\r\n /** Size of the ListRow. Defaults to 'medium'. */\r\n size?: Size.Small | Size.Medium | Size.Large;\r\n /** Variant of the ListRow. Defaults to 'normal'. */\r\n variant?: 'normal' | 'overlay';\r\n /** Optional. Icon to be shown on the left side of the ListRow. */\r\n icon?: React.ReactNode;\r\n /** Required. Main text of the ListRow */\r\n mainText: string;\r\n /** Optional. Secondary row shown under MainText */\r\n secondaryText?: string;\r\n /** Optional. Details of the DropdownButton shown on the right side of the ListRow. */\r\n dropdown?: Pick<DropdownButtonProps, 'items' | 'onClick' | 'disabled' | 'width'>;\r\n /** Optional. Note to be shown on the right side of the component. */\r\n note?: string;\r\n /** Optional. Tooltip of the Note shown on the right side of the component. */\r\n noteTooltip?: string;\r\n /** Optional. If disabled then styles are greyed out and user can not interact with dropdown or click on the ListRow. */\r\n disabled?: boolean;\r\n /** Optional. Action to be executed when user clicks the row. */\r\n action?: () => void;\r\n /** Optional. Icon of the IconButton to show on the right side of the component */\r\n rightSideIcon?: React.ReactNode;\r\n /** Optional. Action to be executed when user clicks on the IconButton on the right */\r\n rightSideAction?: () => void;\r\n /** Optional. If disabled user will not be able to interact with IconButton shown on the right side */\r\n rightSideIconDisabled?: boolean;\r\n};\r\n\r\nconst ListRow: React.FunctionComponent<ListRowProps> = ({\r\n size = Size.Medium,\r\n variant = 'normal',\r\n icon,\r\n mainText,\r\n secondaryText,\r\n dropdown,\r\n note,\r\n noteTooltip,\r\n disabled = false,\r\n action,\r\n rightSideIcon,\r\n rightSideAction,\r\n rightSideIconDisabled,\r\n className,\r\n ...rest\r\n }: ListRowProps) => {\r\n\r\n const [inAction, setInAction] = React.useState<Boolean>(false);\r\n\r\n const handleKeyDown = (e: any) => {\r\n if (e.key === 'Enter') {\r\n action && action()\r\n }\r\n }\r\n\r\n const rowClassName = (inAction ? 'in-action ' : '')\r\n .concat(disabled ? 'disabled ' : '')\r\n .concat(!!action ? 'interactive ' : '')\r\n .concat('list-item-row ')\r\n .concat(`${variant} `)\r\n .concat(`${size}`)\r\n .concat(className ? ` ${className}` : '');\r\n\r\n return (\r\n <Row tabIndex={!action || disabled ? -1 : 0}\r\n className={rowClassName}\r\n onMouseDown={defaultOnMouseDownHandler}\r\n onKeyDown={(e) => !disabled && handleKeyDown(e)}\r\n onClick={e => {\r\n !disabled && action && action();\r\n }}\r\n data-hj-suppress\r\n {...rest}>\r\n {\r\n !!icon &&\r\n <div className={'list-item-icon'}>{icon}</div>\r\n }\r\n <div className={'list-item-content'}>\r\n <div className={'list-item-main-text'}>{mainText}</div>\r\n {!!secondaryText && <div className={'list-item-secondary-text'}>{secondaryText}</div>}\r\n </div>\r\n {\r\n !!note &&\r\n <>\r\n {\r\n !!noteTooltip &&\r\n <div className={'list-item-note with-tooltip'}>\r\n <TooltipWrapper label={noteTooltip}\r\n size={size === Size.Large ? Size.Medium : size === Size.Small ? Size.XSmall : Size.Small}\r\n position={'top'}\r\n tabIndex={disabled ? -1 : 0}\r\n withArrow={true}>\r\n {note}\r\n </TooltipWrapper>\r\n </div>\r\n }\r\n {\r\n !noteTooltip &&\r\n <div className={'list-item-note'}>\r\n {note}\r\n </div>\r\n }\r\n </>\r\n }\r\n {\r\n !!dropdown &&\r\n <div className={'list-item-actions'}\r\n onMouseEnter={() => setInAction(!dropdown?.disabled)}\r\n onMouseLeave={() => setInAction(false)}>\r\n <DropdownButton {...dropdown}\r\n type={'icon'}\r\n disabled={disabled || dropdown.disabled}\r\n icon={variant === 'overlay'\r\n ? <SystemIcons.ArrowDropDown/>\r\n : <SystemIcons.MoreVertical/>}\r\n />\r\n </div>\r\n }\r\n {\r\n !!rightSideIcon &&\r\n <RightIcon className={'list-item-actions'}\r\n onMouseEnter={() => rightSideAction && setInAction(!dropdown?.disabled)}\r\n onMouseLeave={() => rightSideAction && setInAction(false)}>\r\n {\r\n rightSideAction &&\r\n <IconButton action={rightSideAction} variant='secondary' shape='circular'\r\n disabled={disabled || rightSideIconDisabled}>\r\n {rightSideIcon}\r\n </IconButton>\r\n }\r\n {\r\n !rightSideAction && rightSideIcon\r\n }\r\n </RightIcon>\r\n }\r\n </Row>\r\n );\r\n};\r\n\r\nexport default ListRow;\r\n\r\n"],"mappings":";;;;;;;;;;;;;AAAA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AAUA,IAAAI,SAAA,GAAAJ,OAAA;AACA,IAAAK,SAAA,GAAAL,OAAA;AACA,IAAAM,MAAA,GAAAN,OAAA;AACA,IAAAO,MAAA,GAAAP,OAAA;AAEA,IAAAQ,OAAA,GAAAR,OAAA;AACA,IAAAS,OAAA,GAAAT,OAAA;AAAqC,IAAAU,WAAA,GAAAV,OAAA;AAAA,IAAAW,SAAA;AAAA,IAAAC,eAAA,EAAAC,gBAAA;AAAA,SAAAC,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,yBAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAhB,wBAAAgB,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,gBAAAK,OAAA,CAAAL,CAAA,0BAAAA,CAAA,sBAAAA,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,cAAAR,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA,SAAAW,QAAAnB,CAAA,EAAAE,CAAA,QAAAC,CAAA,GAAAQ,MAAA,CAAAS,IAAA,CAAApB,CAAA,OAAAW,MAAA,CAAAU,qBAAA,QAAAC,CAAA,GAAAX,MAAA,CAAAU,qBAAA,CAAArB,CAAA,GAAAE,CAAA,KAAAoB,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAArB,CAAA,WAAAS,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAE,CAAA,EAAAsB,UAAA,OAAArB,CAAA,CAAAsB,IAAA,CAAAC,KAAA,CAAAvB,CAAA,EAAAmB,CAAA,YAAAnB,CAAA;AAAA,SAAAwB,cAAA3B,CAAA,aAAAE,CAAA,MAAAA,CAAA,GAAA0B,SAAA,CAAAC,MAAA,EAAA3B,CAAA,UAAAC,CAAA,WAAAyB,SAAA,CAAA1B,CAAA,IAAA0B,SAAA,CAAA1B,CAAA,QAAAA,CAAA,OAAAiB,OAAA,CAAAR,MAAA,CAAAR,CAAA,OAAA2B,OAAA,WAAA5B,CAAA,QAAA6B,gBAAA,aAAA/B,CAAA,EAAAE,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAS,MAAA,CAAAqB,yBAAA,GAAArB,MAAA,CAAAsB,gBAAA,CAAAjC,CAAA,EAAAW,MAAA,CAAAqB,yBAAA,CAAA7B,CAAA,KAAAgB,OAAA,CAAAR,MAAA,CAAAR,CAAA,GAAA2B,OAAA,WAAA5B,CAAA,IAAAS,MAAA,CAAAC,cAAA,CAAAZ,CAAA,EAAAE,CAAA,EAAAS,MAAA,CAAAE,wBAAA,CAAAV,CAAA,EAAAD,CAAA,iBAAAF,CAAA;AAErC,IAAMkC,GAAG,GAAGC,4BAAM,CAACC,GAAG,CAAAvC,eAAA,KAAAA,eAAA,OAAAwC,uBAAA,i0EAKO,UAAAC,KAAK;EAAA,OAAIC,cAAM,CAACC,QAAQ,CAAC,aAAa,EAAEF,KAAK,CAACG,KAAK,CAAC;AAAA,GAGtE,UAAAH,KAAK;EAAA,OAAIC,cAAM,CAACC,QAAQ,CAAC,aAAa,EAAEF,KAAK,CAACG,KAAK,CAAC;AAAA,GACzC,UAAAH,KAAK;EAAA,OAAIC,cAAM,CAACC,QAAQ,CAAC,OAAO,EAAEF,KAAK,CAACG,KAAK,CAAC;AAAA,GAc5C,UAAAH,KAAK;EAAA,OAAIC,cAAM,CAACC,QAAQ,CAAC,YAAY,EAAEF,KAAK,CAACG,KAAK,CAAC;AAAA,GAC9D,UAAAH,KAAK;EAAA,OAAIC,cAAM,CAACC,QAAQ,CAAC,aAAa,EAAEF,KAAK,CAACG,KAAK,CAAC;AAAA,GAClDC,iBAAS,CAACC,KAAK,EAIN,UAAAL,KAAK;EAAA,OAAIC,cAAM,CAACC,QAAQ,CAAC,aAAa,EAAEF,KAAK,CAACG,KAAK,CAAC;AAAA,GAC/D,UAAAH,KAAK;EAAA,OAAIC,cAAM,CAACC,QAAQ,CAAC,aAAa,EAAEF,KAAK,CAACG,KAAK,CAAC;AAAA,GAClDC,iBAAS,CAACE,MAAM,EAIzBC,mBAAW,EAKF,UAAAP,KAAK;EAAA,OAAIC,cAAM,CAACC,QAAQ,CAAC,aAAa,EAAEF,KAAK,CAACG,KAAK,CAAC;AAAA,GAc3D,IAAAK,yBAAiB,EAACC,0BAAkB,CAACC,OAAO,EAAE,IAAI,CAAC,EAiBnD,IAAAC,yBAAiB,EAACF,0BAAkB,CAACC,OAAO,EAAE,IAAI,CAAC,EAiBnD,IAAAE,yBAAiB,EAACH,0BAAkB,CAACC,OAAO,EAAE,IAAI,CAAC,EAoCrD,IAAAG,2BAAmB,EAACJ,0BAAkB,CAACC,OAAO,EAAE,IAAI,CAAC,EAI9C,UAAAV,KAAK;EAAA,OAAIC,cAAM,CAACC,QAAQ,CAAC,aAAa,EAAEF,KAAK,CAACG,KAAK,CAAC;AAAA,GAE3D,IAAAW,0BAAkB,EAACL,0BAAkB,CAACC,OAAO,EAAE,IAAI,CAAC,CAsBzD;AAED,IAAMK,SAAS,GAAGlB,4BAAM,CAACC,GAAG,CAAAtC,gBAAA,KAAAA,gBAAA,OAAAuC,uBAAA,qIAM3B;AA8BA;AAED,IAAMiB,OAA8C,GAAG,SAAjDA,OAA8CA,CAAAC,IAAA,EAgBiB;EAAA,IAAAC,SAAA,GAAAD,IAAA,CAflBE,IAAI;IAAJA,IAAI,GAAAD,SAAA,cAAGE,WAAI,CAACC,MAAM,GAAAH,SAAA;IAAAI,YAAA,GAAAL,IAAA,CAClBM,OAAO;IAAPA,OAAO,GAAAD,YAAA,cAAG,QAAQ,GAAAA,YAAA;IAClBE,IAAI,GAAAP,IAAA,CAAJO,IAAI;IACJC,QAAQ,GAAAR,IAAA,CAARQ,QAAQ;IACRC,aAAa,GAAAT,IAAA,CAAbS,aAAa;IACbC,QAAQ,GAAAV,IAAA,CAARU,QAAQ;IACRC,IAAI,GAAAX,IAAA,CAAJW,IAAI;IACJC,WAAW,GAAAZ,IAAA,CAAXY,WAAW;IAAAC,aAAA,GAAAb,IAAA,CACXc,QAAQ;IAARA,QAAQ,GAAAD,aAAA,cAAG,KAAK,GAAAA,aAAA;IAChBE,MAAM,GAAAf,IAAA,CAANe,MAAM;IACNC,aAAa,GAAAhB,IAAA,CAAbgB,aAAa;IACbC,eAAe,GAAAjB,IAAA,CAAfiB,eAAe;IACfC,qBAAqB,GAAAlB,IAAA,CAArBkB,qBAAqB;IACrBC,SAAS,GAAAnB,IAAA,CAATmB,SAAS;IACNC,IAAI,OAAAC,yBAAA,aAAArB,IAAA,EAAA3D,SAAA;EAGxD,IAAAiF,eAAA,GAAgC9F,KAAK,CAAC+F,QAAQ,CAAU,KAAK,CAAC;IAAAC,gBAAA,OAAAC,eAAA,aAAAH,eAAA;IAAvDI,QAAQ,GAAAF,gBAAA;IAAEG,WAAW,GAAAH,gBAAA;EAE5B,IAAMI,aAAa,GAAG,SAAhBA,aAAaA,CAAInF,CAAM,EAAK;IAChC,IAAIA,CAAC,CAACoF,GAAG,KAAK,OAAO,EAAE;MACrBd,MAAM,IAAIA,MAAM,CAAC,CAAC;IACpB;EACF,CAAC;EAED,IAAMe,YAAY,GAAG,CAACJ,QAAQ,GAAG,YAAY,GAAG,EAAE,EAC/CK,MAAM,CAACjB,QAAQ,GAAG,WAAW,GAAG,EAAE,CAAC,CACnCiB,MAAM,CAAC,CAAC,CAAChB,MAAM,GAAG,cAAc,GAAG,EAAE,CAAC,CACtCgB,MAAM,CAAC,gBAAgB,CAAC,CACxBA,MAAM,IAAAA,MAAA,CAAIzB,OAAO,MAAG,CAAC,CACrByB,MAAM,IAAAA,MAAA,CAAI7B,IAAI,CAAE,CAAC,CACjB6B,MAAM,CAACZ,SAAS,OAAAY,MAAA,CAAOZ,SAAS,IAAK,EAAE,CAAC;EAE3C,oBACE,IAAA/E,WAAA,CAAA4F,IAAA,EAACrD,GAAG,EAAAP,aAAA,CAAAA,aAAA;IAAC6D,QAAQ,EAAE,CAAClB,MAAM,IAAID,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAE;IACvCK,SAAS,EAAEW,YAAa;IACxBI,WAAW,EAAEC,iCAA0B;IACvCC,SAAS,EAAE,SAAAA,UAAC3F,CAAC;MAAA,OAAK,CAACqE,QAAQ,IAAIc,aAAa,CAACnF,CAAC,CAAC;IAAA,CAAC;IAChD4F,OAAO,EAAE,SAAAA,QAAA5F,CAAC,EAAI;MACZ,CAACqE,QAAQ,IAAIC,MAAM,IAAIA,MAAM,CAAC,CAAC;IACjC,CAAE;IACF;EAAgB,GACZK,IAAI;IAAAkB,QAAA,GAET,CAAC,CAAC/B,IAAI,iBACN,IAAAnE,WAAA,CAAAmG,GAAA;MAAKpB,SAAS,EAAE,gBAAiB;MAAAmB,QAAA,EAAE/B;IAAI,CAAM,CAAC,eAEhD,IAAAnE,WAAA,CAAA4F,IAAA;MAAKb,SAAS,EAAE,mBAAoB;MAAAmB,QAAA,gBAClC,IAAAlG,WAAA,CAAAmG,GAAA;QAAKpB,SAAS,EAAE,qBAAsB;QAAAmB,QAAA,EAAE9B;MAAQ,CAAM,CAAC,EACtD,CAAC,CAACC,aAAa,iBAAI,IAAArE,WAAA,CAAAmG,GAAA;QAAKpB,SAAS,EAAE,0BAA2B;QAAAmB,QAAA,EAAE7B;MAAa,CAAM,CAAC;IAAA,CAClF,CAAC,EAEJ,CAAC,CAACE,IAAI,iBACN,IAAAvE,WAAA,CAAA4F,IAAA,EAAA5F,WAAA,CAAAoG,QAAA;MAAAF,QAAA,GAEI,CAAC,CAAC1B,WAAW,iBACb,IAAAxE,WAAA,CAAAmG,GAAA;QAAKpB,SAAS,EAAE,6BAA8B;QAAAmB,QAAA,eAC5C,IAAAlG,WAAA,CAAAmG,GAAA,EAACzG,SAAA,CAAA2G,cAAc;UAACC,KAAK,EAAE9B,WAAY;UACnBV,IAAI,EAAEA,IAAI,KAAKC,WAAI,CAACwC,KAAK,GAAGxC,WAAI,CAACC,MAAM,GAAGF,IAAI,KAAKC,WAAI,CAACyC,KAAK,GAAGzC,WAAI,CAAC0C,MAAM,GAAG1C,WAAI,CAACyC,KAAM;UACzFE,QAAQ,EAAE,KAAM;UAChBb,QAAQ,EAAEnB,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAE;UAC5BiC,SAAS,EAAE,IAAK;UAAAT,QAAA,EAC7B3B;QAAI,CACS;MAAC,CACd,CAAC,EAGN,CAACC,WAAW,iBACZ,IAAAxE,WAAA,CAAAmG,GAAA;QAAKpB,SAAS,EAAE,gBAAiB;QAAAmB,QAAA,EAC9B3B;MAAI,CACF,CAAC;IAAA,CAER,CAAC,EAGH,CAAC,CAACD,QAAQ,iBACV,IAAAtE,WAAA,CAAAmG,GAAA;MAAKpB,SAAS,EAAE,mBAAoB;MAC/B6B,YAAY,EAAE,SAAAA,aAAA;QAAA,OAAMrB,WAAW,CAAC,EAACjB,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAEI,QAAQ,EAAC;MAAA,CAAC;MACrDmC,YAAY,EAAE,SAAAA,aAAA;QAAA,OAAMtB,WAAW,CAAC,KAAK,CAAC;MAAA,CAAC;MAAAW,QAAA,eAC1C,IAAAlG,WAAA,CAAAmG,GAAA,EAACxG,SAAA,CAAAmH,cAAc,EAAA9E,aAAA,CAAAA,aAAA,KAAKsC,QAAQ;QACZyC,IAAI,EAAE,MAAO;QACbrC,QAAQ,EAAEA,QAAQ,IAAIJ,QAAQ,CAACI,QAAS;QACxCP,IAAI,EAAED,OAAO,KAAK,SAAS,gBACvB,IAAAlE,WAAA,CAAAmG,GAAA,EAACvG,MAAA,CAAAoH,WAAW,CAACC,aAAa,IAAC,CAAC,gBAC5B,IAAAjH,WAAA,CAAAmG,GAAA,EAACvG,MAAA,CAAAoH,WAAW,CAACE,YAAY,IAAC;MAAE,EAC/C;IAAC,CACC,CAAC,EAGN,CAAC,CAACtC,aAAa,iBACf,IAAA5E,WAAA,CAAA4F,IAAA,EAAClC,SAAS;MAACqB,SAAS,EAAE,mBAAoB;MAC/B6B,YAAY,EAAE,SAAAA,aAAA;QAAA,OAAM/B,eAAe,IAAIU,WAAW,CAAC,EAACjB,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAEI,QAAQ,EAAC;MAAA,CAAC;MACxEmC,YAAY,EAAE,SAAAA,aAAA;QAAA,OAAMhC,eAAe,IAAIU,WAAW,CAAC,KAAK,CAAC;MAAA,CAAC;MAAAW,QAAA,GAEjErB,eAAe,iBACf,IAAA7E,WAAA,CAAAmG,GAAA,EAACpG,OAAA,CAAAoH,UAAU;QAACxC,MAAM,EAAEE,eAAgB;QAACX,OAAO,EAAC,WAAW;QAACkD,KAAK,EAAC,UAAU;QAC7D1C,QAAQ,EAAEA,QAAQ,IAAII,qBAAsB;QAAAoB,QAAA,EACrDtB;MAAa,CACJ,CAAC,EAGb,CAACC,eAAe,IAAID,aAAa;IAAA,CAE1B,CAAC;EAAA,EAEX,CAAC;AAEV,CAAC;AAACjB,OAAA,CAAA0D,SAAA;EArIAnD,OAAO,EAAAoD,UAAA,YAAAC,KAAA,EAAG,QAAQ,EAAG,SAAS;EAE9BpD,IAAI,EAAAmD,UAAA,YAAAE,IAAA;EAEJpD,QAAQ,EAAAkD,UAAA,YAAAG,MAAA,CAAAC,UAAA;EAERrD,aAAa,EAAAiD,UAAA,YAAAG,MAAA;EAIblD,IAAI,EAAA+C,UAAA,YAAAG,MAAA;EAEJjD,WAAW,EAAA8C,UAAA,YAAAG,MAAA;EAEX/C,QAAQ,EAAA4C,UAAA,YAAAK,IAAA;EAERhD,MAAM,EAAA2C,UAAA,YAAAM,IAAA;EAENhD,aAAa,EAAA0C,UAAA,YAAAE,IAAA;EAEb3C,eAAe,EAAAyC,UAAA,YAAAM,IAAA;EAEf9C,qBAAqB,EAAAwC,UAAA,YAAAK;AAAA;AAAA,IAAAE,QAAA,GAiHRlE,OAAO;AAAAmE,OAAA,cAAAD,QAAA","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"ListRow.cjs","names":["React","_interopRequireWildcard","require","_styledComponents","_interopRequireDefault","_styles","_Tooltips","_Dropdown","_icons","_types","_common","_Button","_jsxRuntime","_excluded","_templateObject","_templateObject2","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","Row","styled","div","_taggedTemplateLiteral2","props","COLORS","getColor","theme","Z_INDEXES","hover","active","focusStyles","ComponentSStyling","ComponentTextStyle","Regular","ComponentMStyling","ComponentLStyling","ComponentXXSStyling","ComponentXSStyling","RightIcon","ListRow","_ref","_ref$size","size","Size","Medium","_ref$variant","variant","icon","mainText","secondaryText","dropdown","note","noteTooltip","_ref$disabled","disabled","action","rightSideIcon","rightSideAction","rightSideIconDisabled","className","rest","_objectWithoutProperties2","_React$useState","useState","_React$useState2","_slicedToArray2","inAction","setInAction","handleKeyDown","key","rowClassName","concat","jsxs","tabIndex","onMouseDown","defaultOnMouseDownHandler","onKeyDown","onClick","children","jsx","Fragment","TooltipWrapper","label","Large","Small","XSmall","position","withArrow","onMouseEnter","onMouseLeave","DropdownButton","type","SystemIcons","ArrowDropDown","MoreVertical","IconButton","shape","propTypes","_propTypes","oneOf","node","string","isRequired","oneOfType","bool","func","_default","exports"],"sources":["../../src/List/ListRow.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport styled from 'styled-components';\r\nimport {COLORS, ComponentTextStyle, focusStyles} from '../styles';\r\n\r\nimport {\r\n ComponentLStyling,\r\n ComponentMStyling,\r\n ComponentSStyling,\r\n ComponentXSStyling,\r\n ComponentXXSStyling\r\n} from '../styles';\r\nimport {DropdownButtonProps} from '../Dropdown/DropdownButtonTypes';\r\nimport {TooltipWrapper} from '../Tooltips';\r\nimport {DropdownButton} from '../Dropdown';\r\nimport {SystemIcons} from '../icons';\r\nimport {Size} from '../types';\r\nimport {Z_INDEXES} from '../styles';\r\nimport {defaultOnMouseDownHandler} from '../common';\r\nimport {IconButton} from '../Button';\r\n\r\nconst Row = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n justify-content: center;\r\n border-bottom: 1px solid ${props => COLORS.getColor('neutral_100', props.theme)};\r\n box-sizing: border-box;\r\n\r\n color: ${props => COLORS.getColor('neutral_600', props.theme)};\r\n background-color: ${props => COLORS.getColor('white', props.theme)};\r\n\r\n\r\n cursor: default;\r\n\r\n &.interactive {\r\n cursor: pointer;\r\n }\r\n\r\n &.interactive.disabled {\r\n cursor: not-allowed;\r\n }\r\n\r\n &.interactive:hover:not(.in-action):not(.disabled) {\r\n background-color: ${props => COLORS.getColor('primary_20', props.theme)};\r\n color: ${props => COLORS.getColor('primary_700', props.theme)};\r\n z-index: ${Z_INDEXES.hover};\r\n }\r\n\r\n &.interactive:active:not(.in-action):not(.disabled) {\r\n background-color: ${props => COLORS.getColor('primary_100', props.theme)};\r\n color: ${props => COLORS.getColor('primary_800', props.theme)};\r\n z-index: ${Z_INDEXES.active};\r\n }\r\n\r\n &.interactive:focus {\r\n ${focusStyles}\r\n }\r\n\r\n &.disabled {\r\n .list-item-icon, .list-item-content, .list-item-note, .list-item-actions {\r\n color: ${props => COLORS.getColor('neutral_300', props.theme)};\r\n }\r\n }\r\n\r\n\r\n &.small {\r\n min-height: 48px;\r\n padding: 0 8px;\r\n\r\n .list-item-icon {\r\n margin-right: 8px;\r\n }\r\n\r\n .list-item-main-text {\r\n ${ComponentSStyling(ComponentTextStyle.Regular, null)}\r\n }\r\n\r\n .list-item-actions {\r\n margin-right: -8px;\r\n }\r\n }\r\n\r\n &.medium {\r\n min-height: 56px;\r\n padding: 0 12px;\r\n\r\n .list-item-icon {\r\n margin-right: 12px;\r\n }\r\n\r\n .list-item-main-text {\r\n ${ComponentMStyling(ComponentTextStyle.Regular, null)}\r\n }\r\n\r\n .list-item-actions {\r\n margin-right: -12px;\r\n }\r\n }\r\n\r\n &.large {\r\n min-height: 64px;\r\n padding: 0 16px;\r\n\r\n .list-item-icon {\r\n margin-right: 16px;\r\n }\r\n\r\n .list-item-main-text {\r\n ${ComponentLStyling(ComponentTextStyle.Regular, null)}\r\n }\r\n\r\n .list-item-actions {\r\n margin-right: -16px;\r\n }\r\n }\r\n\r\n &.overlay {\r\n padding: 0 4px;\r\n\r\n .list-item-actions {\r\n margin-right: -4px;\r\n }\r\n }\r\n\r\n .list-item-icon {\r\n width: 24px;\r\n height: 24px;\r\n\r\n svg {\r\n width: 24px;\r\n height: 24px;\r\n }\r\n }\r\n\r\n .list-item-content {\r\n flex-grow: 1;\r\n display: flex;\r\n flex-direction: column;\r\n }\r\n\r\n .list-item-main-text {\r\n }\r\n\r\n .list-item-secondary-text {\r\n ${ComponentXXSStyling(ComponentTextStyle.Regular, null)}\r\n }\r\n\r\n .list-item-note {\r\n color: ${props => COLORS.getColor('neutral_600', props.theme)};\r\n word-break: initial;\r\n ${ComponentXSStyling(ComponentTextStyle.Regular, null)}\r\n }\r\n\r\n .list-item-note.with-tooltip {\r\n cursor: pointer;\r\n\r\n > div {\r\n text-decoration-line: underline;\r\n text-decoration-style: dashed;\r\n text-underline-offset: 1px;\r\n text-decoration-thickness: 1px;\r\n }\r\n }\r\n\r\n .list-item-actions {\r\n display: flex;\r\n align-items: center;\r\n\r\n button div {\r\n background-color: transparent;\r\n }\r\n }\r\n`;\r\n\r\nconst RightIcon = styled.div`\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n min-height: 48px;\r\n min-width: 48px;\r\n`;\r\n\r\n\r\nexport interface ListRowProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'tabIndex' | 'onMouseDown' | 'onKeyDown'> {\r\n /** Size of the ListRow. Defaults to 'medium'. */\r\n size?: Size.Small | Size.Medium | Size.Large;\r\n /** Variant of the ListRow. Defaults to 'normal'. */\r\n variant?: 'normal' | 'overlay';\r\n /** Optional. Icon to be shown on the left side of the ListRow. */\r\n icon?: React.ReactNode;\r\n /** Required. Main text of the ListRow */\r\n mainText: string;\r\n /** Optional. Secondary row shown under MainText */\r\n secondaryText?: string;\r\n /** Optional. Details of the DropdownButton shown on the right side of the ListRow. */\r\n dropdown?: Pick<DropdownButtonProps, 'items' | 'onClick' | 'disabled' | 'width'>;\r\n /** Optional. Note to be shown on the right side of the component. */\r\n note?: string | React.ReactNode;\r\n /** Optional. Tooltip of the Note shown on the right side of the component. */\r\n noteTooltip?: string;\r\n /** Optional. If disabled then styles are greyed out and user can not interact with dropdown or click on the ListRow. */\r\n disabled?: boolean;\r\n /** Optional. Action to be executed when user clicks the row. */\r\n action?: () => void;\r\n /** Optional. Icon of the IconButton to show on the right side of the component */\r\n rightSideIcon?: React.ReactNode;\r\n /** Optional. Action to be executed when user clicks on the IconButton on the right */\r\n rightSideAction?: () => void;\r\n /** Optional. If disabled user will not be able to interact with IconButton shown on the right side */\r\n rightSideIconDisabled?: boolean;\r\n};\r\n\r\nconst ListRow: React.FunctionComponent<ListRowProps> = ({\r\n size = Size.Medium,\r\n variant = 'normal',\r\n icon,\r\n mainText,\r\n secondaryText,\r\n dropdown,\r\n note,\r\n noteTooltip,\r\n disabled = false,\r\n action,\r\n rightSideIcon,\r\n rightSideAction,\r\n rightSideIconDisabled,\r\n className,\r\n ...rest\r\n }: ListRowProps) => {\r\n\r\n const [inAction, setInAction] = React.useState<Boolean>(false);\r\n\r\n const handleKeyDown = (e: any) => {\r\n if (e.key === 'Enter') {\r\n action && action()\r\n }\r\n }\r\n\r\n const rowClassName = (inAction ? 'in-action ' : '')\r\n .concat(disabled ? 'disabled ' : '')\r\n .concat(!!action ? 'interactive ' : '')\r\n .concat('list-item-row ')\r\n .concat(`${variant} `)\r\n .concat(`${size}`)\r\n .concat(className ? ` ${className}` : '');\r\n\r\n return (\r\n <Row tabIndex={!action || disabled ? -1 : 0}\r\n className={rowClassName}\r\n onMouseDown={defaultOnMouseDownHandler}\r\n onKeyDown={(e) => !disabled && handleKeyDown(e)}\r\n onClick={e => {\r\n !disabled && action && action();\r\n }}\r\n data-hj-suppress\r\n {...rest}>\r\n {\r\n !!icon &&\r\n <div className={'list-item-icon'}>{icon}</div>\r\n }\r\n <div className={'list-item-content'}>\r\n <div className={'list-item-main-text'}>{mainText}</div>\r\n {!!secondaryText && <div className={'list-item-secondary-text'}>{secondaryText}</div>}\r\n </div>\r\n {\r\n !!note &&\r\n <>\r\n {\r\n !!noteTooltip &&\r\n <div className={'list-item-note with-tooltip'}>\r\n <TooltipWrapper label={noteTooltip}\r\n size={size === Size.Large ? Size.Medium : size === Size.Small ? Size.XSmall : Size.Small}\r\n position={'top'}\r\n tabIndex={disabled ? -1 : 0}\r\n withArrow={true}>\r\n {note}\r\n </TooltipWrapper>\r\n </div>\r\n }\r\n {\r\n !noteTooltip &&\r\n <div className={'list-item-note'}>\r\n {note}\r\n </div>\r\n }\r\n </>\r\n }\r\n {\r\n !!dropdown &&\r\n <div className={'list-item-actions'}\r\n onMouseEnter={() => setInAction(!dropdown?.disabled)}\r\n onMouseLeave={() => setInAction(false)}>\r\n <DropdownButton {...dropdown}\r\n type={'icon'}\r\n disabled={disabled || dropdown.disabled}\r\n icon={variant === 'overlay'\r\n ? <SystemIcons.ArrowDropDown/>\r\n : <SystemIcons.MoreVertical/>}\r\n />\r\n </div>\r\n }\r\n {\r\n !!rightSideIcon &&\r\n <RightIcon className={'list-item-actions'}\r\n onMouseEnter={() => rightSideAction && setInAction(!dropdown?.disabled)}\r\n onMouseLeave={() => rightSideAction && setInAction(false)}>\r\n {\r\n rightSideAction &&\r\n <IconButton action={rightSideAction} variant='secondary' shape='circular'\r\n disabled={disabled || rightSideIconDisabled}>\r\n {rightSideIcon}\r\n </IconButton>\r\n }\r\n {\r\n !rightSideAction && rightSideIcon\r\n }\r\n </RightIcon>\r\n }\r\n </Row>\r\n );\r\n};\r\n\r\nexport default ListRow;\r\n\r\n"],"mappings":"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","ignoreList":[]}
|
package/dist/List/ListRow.d.ts
CHANGED
|
@@ -15,7 +15,7 @@ export interface ListRowProps extends Omit<React.HTMLAttributes<HTMLDivElement>,
|
|
|
15
15
|
/** Optional. Details of the DropdownButton shown on the right side of the ListRow. */
|
|
16
16
|
dropdown?: Pick<DropdownButtonProps, 'items' | 'onClick' | 'disabled' | 'width'>;
|
|
17
17
|
/** Optional. Note to be shown on the right side of the component. */
|
|
18
|
-
note?: string;
|
|
18
|
+
note?: string | React.ReactNode;
|
|
19
19
|
/** Optional. Tooltip of the Note shown on the right side of the component. */
|
|
20
20
|
noteTooltip?: string;
|
|
21
21
|
/** Optional. If disabled then styles are greyed out and user can not interact with dropdown or click on the ListRow. */
|
package/dist/List/ListRow.js
CHANGED
|
@@ -146,7 +146,7 @@ ListRow.propTypes = {
|
|
|
146
146
|
icon: _pt.node,
|
|
147
147
|
mainText: _pt.string.isRequired,
|
|
148
148
|
secondaryText: _pt.string,
|
|
149
|
-
note: _pt.string,
|
|
149
|
+
note: _pt.oneOfType([_pt.string, _pt.node]),
|
|
150
150
|
noteTooltip: _pt.string,
|
|
151
151
|
disabled: _pt.bool,
|
|
152
152
|
action: _pt.func,
|
package/dist/List/ListRow.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListRow.js","names":["React","styled","COLORS","ComponentTextStyle","focusStyles","ComponentLStyling","ComponentMStyling","ComponentSStyling","ComponentXSStyling","ComponentXXSStyling","TooltipWrapper","DropdownButton","SystemIcons","Size","Z_INDEXES","defaultOnMouseDownHandler","IconButton","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","Row","div","_templateObject","_taggedTemplateLiteral","props","getColor","theme","hover","active","Regular","RightIcon","_templateObject2","ListRow","_ref","_ref$size","size","Medium","_ref$variant","variant","icon","mainText","secondaryText","dropdown","note","noteTooltip","_ref$disabled","disabled","action","rightSideIcon","rightSideAction","rightSideIconDisabled","className","rest","_objectWithoutProperties","_excluded","_React$useState","useState","_React$useState2","_slicedToArray","inAction","setInAction","handleKeyDown","e","key","rowClassName","concat","_objectSpread","tabIndex","onMouseDown","onKeyDown","onClick","children","label","Large","Small","XSmall","position","withArrow","onMouseEnter","onMouseLeave","type","ArrowDropDown","MoreVertical","shape","propTypes","_pt","oneOf","node","string","isRequired","bool","func"],"sources":["../../src/List/ListRow.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport styled from 'styled-components';\r\nimport {COLORS, ComponentTextStyle, focusStyles} from '../styles';\r\n\r\nimport {\r\n ComponentLStyling,\r\n ComponentMStyling,\r\n ComponentSStyling,\r\n ComponentXSStyling,\r\n ComponentXXSStyling\r\n} from '../styles';\r\nimport {DropdownButtonProps} from '../Dropdown/DropdownButtonTypes';\r\nimport {TooltipWrapper} from '../Tooltips';\r\nimport {DropdownButton} from '../Dropdown';\r\nimport {SystemIcons} from '../icons';\r\nimport {Size} from '../types';\r\nimport {Z_INDEXES} from '../styles';\r\nimport {defaultOnMouseDownHandler} from '../common';\r\nimport {IconButton} from '../Button';\r\n\r\nconst Row = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n justify-content: center;\r\n border-bottom: 1px solid ${props => COLORS.getColor('neutral_100', props.theme)};\r\n box-sizing: border-box;\r\n\r\n color: ${props => COLORS.getColor('neutral_600', props.theme)};\r\n background-color: ${props => COLORS.getColor('white', props.theme)};\r\n\r\n\r\n cursor: default;\r\n\r\n &.interactive {\r\n cursor: pointer;\r\n }\r\n\r\n &.interactive.disabled {\r\n cursor: not-allowed;\r\n }\r\n\r\n &.interactive:hover:not(.in-action):not(.disabled) {\r\n background-color: ${props => COLORS.getColor('primary_20', props.theme)};\r\n color: ${props => COLORS.getColor('primary_700', props.theme)};\r\n z-index: ${Z_INDEXES.hover};\r\n }\r\n\r\n &.interactive:active:not(.in-action):not(.disabled) {\r\n background-color: ${props => COLORS.getColor('primary_100', props.theme)};\r\n color: ${props => COLORS.getColor('primary_800', props.theme)};\r\n z-index: ${Z_INDEXES.active};\r\n }\r\n\r\n &.interactive:focus {\r\n ${focusStyles}\r\n }\r\n\r\n &.disabled {\r\n .list-item-icon, .list-item-content, .list-item-note, .list-item-actions {\r\n color: ${props => COLORS.getColor('neutral_300', props.theme)};\r\n }\r\n }\r\n\r\n\r\n &.small {\r\n min-height: 48px;\r\n padding: 0 8px;\r\n\r\n .list-item-icon {\r\n margin-right: 8px;\r\n }\r\n\r\n .list-item-main-text {\r\n ${ComponentSStyling(ComponentTextStyle.Regular, null)}\r\n }\r\n\r\n .list-item-actions {\r\n margin-right: -8px;\r\n }\r\n }\r\n\r\n &.medium {\r\n min-height: 56px;\r\n padding: 0 12px;\r\n\r\n .list-item-icon {\r\n margin-right: 12px;\r\n }\r\n\r\n .list-item-main-text {\r\n ${ComponentMStyling(ComponentTextStyle.Regular, null)}\r\n }\r\n\r\n .list-item-actions {\r\n margin-right: -12px;\r\n }\r\n }\r\n\r\n &.large {\r\n min-height: 64px;\r\n padding: 0 16px;\r\n\r\n .list-item-icon {\r\n margin-right: 16px;\r\n }\r\n\r\n .list-item-main-text {\r\n ${ComponentLStyling(ComponentTextStyle.Regular, null)}\r\n }\r\n\r\n .list-item-actions {\r\n margin-right: -16px;\r\n }\r\n }\r\n\r\n &.overlay {\r\n padding: 0 4px;\r\n\r\n .list-item-actions {\r\n margin-right: -4px;\r\n }\r\n }\r\n\r\n .list-item-icon {\r\n width: 24px;\r\n height: 24px;\r\n\r\n svg {\r\n width: 24px;\r\n height: 24px;\r\n }\r\n }\r\n\r\n .list-item-content {\r\n flex-grow: 1;\r\n display: flex;\r\n flex-direction: column;\r\n }\r\n\r\n .list-item-main-text {\r\n }\r\n\r\n .list-item-secondary-text {\r\n ${ComponentXXSStyling(ComponentTextStyle.Regular, null)}\r\n }\r\n\r\n .list-item-note {\r\n color: ${props => COLORS.getColor('neutral_600', props.theme)};\r\n word-break: initial;\r\n ${ComponentXSStyling(ComponentTextStyle.Regular, null)}\r\n }\r\n\r\n .list-item-note.with-tooltip {\r\n cursor: pointer;\r\n\r\n > div {\r\n text-decoration-line: underline;\r\n text-decoration-style: dashed;\r\n text-underline-offset: 1px;\r\n text-decoration-thickness: 1px;\r\n }\r\n }\r\n\r\n .list-item-actions {\r\n display: flex;\r\n align-items: center;\r\n\r\n button div {\r\n background-color: transparent;\r\n }\r\n }\r\n`;\r\n\r\nconst RightIcon = styled.div`\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n min-height: 48px;\r\n min-width: 48px;\r\n`;\r\n\r\n\r\nexport interface ListRowProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'tabIndex' | 'onMouseDown' | 'onKeyDown'> {\r\n /** Size of the ListRow. Defaults to 'medium'. */\r\n size?: Size.Small | Size.Medium | Size.Large;\r\n /** Variant of the ListRow. Defaults to 'normal'. */\r\n variant?: 'normal' | 'overlay';\r\n /** Optional. Icon to be shown on the left side of the ListRow. */\r\n icon?: React.ReactNode;\r\n /** Required. Main text of the ListRow */\r\n mainText: string;\r\n /** Optional. Secondary row shown under MainText */\r\n secondaryText?: string;\r\n /** Optional. Details of the DropdownButton shown on the right side of the ListRow. */\r\n dropdown?: Pick<DropdownButtonProps, 'items' | 'onClick' | 'disabled' | 'width'>;\r\n /** Optional. Note to be shown on the right side of the component. */\r\n note?: string;\r\n /** Optional. Tooltip of the Note shown on the right side of the component. */\r\n noteTooltip?: string;\r\n /** Optional. If disabled then styles are greyed out and user can not interact with dropdown or click on the ListRow. */\r\n disabled?: boolean;\r\n /** Optional. Action to be executed when user clicks the row. */\r\n action?: () => void;\r\n /** Optional. Icon of the IconButton to show on the right side of the component */\r\n rightSideIcon?: React.ReactNode;\r\n /** Optional. Action to be executed when user clicks on the IconButton on the right */\r\n rightSideAction?: () => void;\r\n /** Optional. If disabled user will not be able to interact with IconButton shown on the right side */\r\n rightSideIconDisabled?: boolean;\r\n};\r\n\r\nconst ListRow: React.FunctionComponent<ListRowProps> = ({\r\n size = Size.Medium,\r\n variant = 'normal',\r\n icon,\r\n mainText,\r\n secondaryText,\r\n dropdown,\r\n note,\r\n noteTooltip,\r\n disabled = false,\r\n action,\r\n rightSideIcon,\r\n rightSideAction,\r\n rightSideIconDisabled,\r\n className,\r\n ...rest\r\n }: ListRowProps) => {\r\n\r\n const [inAction, setInAction] = React.useState<Boolean>(false);\r\n\r\n const handleKeyDown = (e: any) => {\r\n if (e.key === 'Enter') {\r\n action && action()\r\n }\r\n }\r\n\r\n const rowClassName = (inAction ? 'in-action ' : '')\r\n .concat(disabled ? 'disabled ' : '')\r\n .concat(!!action ? 'interactive ' : '')\r\n .concat('list-item-row ')\r\n .concat(`${variant} `)\r\n .concat(`${size}`)\r\n .concat(className ? ` ${className}` : '');\r\n\r\n return (\r\n <Row tabIndex={!action || disabled ? -1 : 0}\r\n className={rowClassName}\r\n onMouseDown={defaultOnMouseDownHandler}\r\n onKeyDown={(e) => !disabled && handleKeyDown(e)}\r\n onClick={e => {\r\n !disabled && action && action();\r\n }}\r\n data-hj-suppress\r\n {...rest}>\r\n {\r\n !!icon &&\r\n <div className={'list-item-icon'}>{icon}</div>\r\n }\r\n <div className={'list-item-content'}>\r\n <div className={'list-item-main-text'}>{mainText}</div>\r\n {!!secondaryText && <div className={'list-item-secondary-text'}>{secondaryText}</div>}\r\n </div>\r\n {\r\n !!note &&\r\n <>\r\n {\r\n !!noteTooltip &&\r\n <div className={'list-item-note with-tooltip'}>\r\n <TooltipWrapper label={noteTooltip}\r\n size={size === Size.Large ? Size.Medium : size === Size.Small ? Size.XSmall : Size.Small}\r\n position={'top'}\r\n tabIndex={disabled ? -1 : 0}\r\n withArrow={true}>\r\n {note}\r\n </TooltipWrapper>\r\n </div>\r\n }\r\n {\r\n !noteTooltip &&\r\n <div className={'list-item-note'}>\r\n {note}\r\n </div>\r\n }\r\n </>\r\n }\r\n {\r\n !!dropdown &&\r\n <div className={'list-item-actions'}\r\n onMouseEnter={() => setInAction(!dropdown?.disabled)}\r\n onMouseLeave={() => setInAction(false)}>\r\n <DropdownButton {...dropdown}\r\n type={'icon'}\r\n disabled={disabled || dropdown.disabled}\r\n icon={variant === 'overlay'\r\n ? <SystemIcons.ArrowDropDown/>\r\n : <SystemIcons.MoreVertical/>}\r\n />\r\n </div>\r\n }\r\n {\r\n !!rightSideIcon &&\r\n <RightIcon className={'list-item-actions'}\r\n onMouseEnter={() => rightSideAction && setInAction(!dropdown?.disabled)}\r\n onMouseLeave={() => rightSideAction && setInAction(false)}>\r\n {\r\n rightSideAction &&\r\n <IconButton action={rightSideAction} variant='secondary' shape='circular'\r\n disabled={disabled || rightSideIconDisabled}>\r\n {rightSideIcon}\r\n </IconButton>\r\n }\r\n {\r\n !rightSideAction && rightSideIcon\r\n }\r\n </RightIcon>\r\n }\r\n </Row>\r\n );\r\n};\r\n\r\nexport default ListRow;\r\n\r\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"ListRow.js","names":["React","styled","COLORS","ComponentTextStyle","focusStyles","ComponentLStyling","ComponentMStyling","ComponentSStyling","ComponentXSStyling","ComponentXXSStyling","TooltipWrapper","DropdownButton","SystemIcons","Size","Z_INDEXES","defaultOnMouseDownHandler","IconButton","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","Row","div","_templateObject","_taggedTemplateLiteral","props","getColor","theme","hover","active","Regular","RightIcon","_templateObject2","ListRow","_ref","_ref$size","size","Medium","_ref$variant","variant","icon","mainText","secondaryText","dropdown","note","noteTooltip","_ref$disabled","disabled","action","rightSideIcon","rightSideAction","rightSideIconDisabled","className","rest","_objectWithoutProperties","_excluded","_React$useState","useState","_React$useState2","_slicedToArray","inAction","setInAction","handleKeyDown","e","key","rowClassName","concat","_objectSpread","tabIndex","onMouseDown","onKeyDown","onClick","children","label","Large","Small","XSmall","position","withArrow","onMouseEnter","onMouseLeave","type","ArrowDropDown","MoreVertical","shape","propTypes","_pt","oneOf","node","string","isRequired","oneOfType","bool","func"],"sources":["../../src/List/ListRow.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport styled from 'styled-components';\r\nimport {COLORS, ComponentTextStyle, focusStyles} from '../styles';\r\n\r\nimport {\r\n ComponentLStyling,\r\n ComponentMStyling,\r\n ComponentSStyling,\r\n ComponentXSStyling,\r\n ComponentXXSStyling\r\n} from '../styles';\r\nimport {DropdownButtonProps} from '../Dropdown/DropdownButtonTypes';\r\nimport {TooltipWrapper} from '../Tooltips';\r\nimport {DropdownButton} from '../Dropdown';\r\nimport {SystemIcons} from '../icons';\r\nimport {Size} from '../types';\r\nimport {Z_INDEXES} from '../styles';\r\nimport {defaultOnMouseDownHandler} from '../common';\r\nimport {IconButton} from '../Button';\r\n\r\nconst Row = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n justify-content: center;\r\n border-bottom: 1px solid ${props => COLORS.getColor('neutral_100', props.theme)};\r\n box-sizing: border-box;\r\n\r\n color: ${props => COLORS.getColor('neutral_600', props.theme)};\r\n background-color: ${props => COLORS.getColor('white', props.theme)};\r\n\r\n\r\n cursor: default;\r\n\r\n &.interactive {\r\n cursor: pointer;\r\n }\r\n\r\n &.interactive.disabled {\r\n cursor: not-allowed;\r\n }\r\n\r\n &.interactive:hover:not(.in-action):not(.disabled) {\r\n background-color: ${props => COLORS.getColor('primary_20', props.theme)};\r\n color: ${props => COLORS.getColor('primary_700', props.theme)};\r\n z-index: ${Z_INDEXES.hover};\r\n }\r\n\r\n &.interactive:active:not(.in-action):not(.disabled) {\r\n background-color: ${props => COLORS.getColor('primary_100', props.theme)};\r\n color: ${props => COLORS.getColor('primary_800', props.theme)};\r\n z-index: ${Z_INDEXES.active};\r\n }\r\n\r\n &.interactive:focus {\r\n ${focusStyles}\r\n }\r\n\r\n &.disabled {\r\n .list-item-icon, .list-item-content, .list-item-note, .list-item-actions {\r\n color: ${props => COLORS.getColor('neutral_300', props.theme)};\r\n }\r\n }\r\n\r\n\r\n &.small {\r\n min-height: 48px;\r\n padding: 0 8px;\r\n\r\n .list-item-icon {\r\n margin-right: 8px;\r\n }\r\n\r\n .list-item-main-text {\r\n ${ComponentSStyling(ComponentTextStyle.Regular, null)}\r\n }\r\n\r\n .list-item-actions {\r\n margin-right: -8px;\r\n }\r\n }\r\n\r\n &.medium {\r\n min-height: 56px;\r\n padding: 0 12px;\r\n\r\n .list-item-icon {\r\n margin-right: 12px;\r\n }\r\n\r\n .list-item-main-text {\r\n ${ComponentMStyling(ComponentTextStyle.Regular, null)}\r\n }\r\n\r\n .list-item-actions {\r\n margin-right: -12px;\r\n }\r\n }\r\n\r\n &.large {\r\n min-height: 64px;\r\n padding: 0 16px;\r\n\r\n .list-item-icon {\r\n margin-right: 16px;\r\n }\r\n\r\n .list-item-main-text {\r\n ${ComponentLStyling(ComponentTextStyle.Regular, null)}\r\n }\r\n\r\n .list-item-actions {\r\n margin-right: -16px;\r\n }\r\n }\r\n\r\n &.overlay {\r\n padding: 0 4px;\r\n\r\n .list-item-actions {\r\n margin-right: -4px;\r\n }\r\n }\r\n\r\n .list-item-icon {\r\n width: 24px;\r\n height: 24px;\r\n\r\n svg {\r\n width: 24px;\r\n height: 24px;\r\n }\r\n }\r\n\r\n .list-item-content {\r\n flex-grow: 1;\r\n display: flex;\r\n flex-direction: column;\r\n }\r\n\r\n .list-item-main-text {\r\n }\r\n\r\n .list-item-secondary-text {\r\n ${ComponentXXSStyling(ComponentTextStyle.Regular, null)}\r\n }\r\n\r\n .list-item-note {\r\n color: ${props => COLORS.getColor('neutral_600', props.theme)};\r\n word-break: initial;\r\n ${ComponentXSStyling(ComponentTextStyle.Regular, null)}\r\n }\r\n\r\n .list-item-note.with-tooltip {\r\n cursor: pointer;\r\n\r\n > div {\r\n text-decoration-line: underline;\r\n text-decoration-style: dashed;\r\n text-underline-offset: 1px;\r\n text-decoration-thickness: 1px;\r\n }\r\n }\r\n\r\n .list-item-actions {\r\n display: flex;\r\n align-items: center;\r\n\r\n button div {\r\n background-color: transparent;\r\n }\r\n }\r\n`;\r\n\r\nconst RightIcon = styled.div`\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n min-height: 48px;\r\n min-width: 48px;\r\n`;\r\n\r\n\r\nexport interface ListRowProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'tabIndex' | 'onMouseDown' | 'onKeyDown'> {\r\n /** Size of the ListRow. Defaults to 'medium'. */\r\n size?: Size.Small | Size.Medium | Size.Large;\r\n /** Variant of the ListRow. Defaults to 'normal'. */\r\n variant?: 'normal' | 'overlay';\r\n /** Optional. Icon to be shown on the left side of the ListRow. */\r\n icon?: React.ReactNode;\r\n /** Required. Main text of the ListRow */\r\n mainText: string;\r\n /** Optional. Secondary row shown under MainText */\r\n secondaryText?: string;\r\n /** Optional. Details of the DropdownButton shown on the right side of the ListRow. */\r\n dropdown?: Pick<DropdownButtonProps, 'items' | 'onClick' | 'disabled' | 'width'>;\r\n /** Optional. Note to be shown on the right side of the component. */\r\n note?: string | React.ReactNode;\r\n /** Optional. Tooltip of the Note shown on the right side of the component. */\r\n noteTooltip?: string;\r\n /** Optional. If disabled then styles are greyed out and user can not interact with dropdown or click on the ListRow. */\r\n disabled?: boolean;\r\n /** Optional. Action to be executed when user clicks the row. */\r\n action?: () => void;\r\n /** Optional. Icon of the IconButton to show on the right side of the component */\r\n rightSideIcon?: React.ReactNode;\r\n /** Optional. Action to be executed when user clicks on the IconButton on the right */\r\n rightSideAction?: () => void;\r\n /** Optional. If disabled user will not be able to interact with IconButton shown on the right side */\r\n rightSideIconDisabled?: boolean;\r\n};\r\n\r\nconst ListRow: React.FunctionComponent<ListRowProps> = ({\r\n size = Size.Medium,\r\n variant = 'normal',\r\n icon,\r\n mainText,\r\n secondaryText,\r\n dropdown,\r\n note,\r\n noteTooltip,\r\n disabled = false,\r\n action,\r\n rightSideIcon,\r\n rightSideAction,\r\n rightSideIconDisabled,\r\n className,\r\n ...rest\r\n }: ListRowProps) => {\r\n\r\n const [inAction, setInAction] = React.useState<Boolean>(false);\r\n\r\n const handleKeyDown = (e: any) => {\r\n if (e.key === 'Enter') {\r\n action && action()\r\n }\r\n }\r\n\r\n const rowClassName = (inAction ? 'in-action ' : '')\r\n .concat(disabled ? 'disabled ' : '')\r\n .concat(!!action ? 'interactive ' : '')\r\n .concat('list-item-row ')\r\n .concat(`${variant} `)\r\n .concat(`${size}`)\r\n .concat(className ? ` ${className}` : '');\r\n\r\n return (\r\n <Row tabIndex={!action || disabled ? -1 : 0}\r\n className={rowClassName}\r\n onMouseDown={defaultOnMouseDownHandler}\r\n onKeyDown={(e) => !disabled && handleKeyDown(e)}\r\n onClick={e => {\r\n !disabled && action && action();\r\n }}\r\n data-hj-suppress\r\n {...rest}>\r\n {\r\n !!icon &&\r\n <div className={'list-item-icon'}>{icon}</div>\r\n }\r\n <div className={'list-item-content'}>\r\n <div className={'list-item-main-text'}>{mainText}</div>\r\n {!!secondaryText && <div className={'list-item-secondary-text'}>{secondaryText}</div>}\r\n </div>\r\n {\r\n !!note &&\r\n <>\r\n {\r\n !!noteTooltip &&\r\n <div className={'list-item-note with-tooltip'}>\r\n <TooltipWrapper label={noteTooltip}\r\n size={size === Size.Large ? Size.Medium : size === Size.Small ? Size.XSmall : Size.Small}\r\n position={'top'}\r\n tabIndex={disabled ? -1 : 0}\r\n withArrow={true}>\r\n {note}\r\n </TooltipWrapper>\r\n </div>\r\n }\r\n {\r\n !noteTooltip &&\r\n <div className={'list-item-note'}>\r\n {note}\r\n </div>\r\n }\r\n </>\r\n }\r\n {\r\n !!dropdown &&\r\n <div className={'list-item-actions'}\r\n onMouseEnter={() => setInAction(!dropdown?.disabled)}\r\n onMouseLeave={() => setInAction(false)}>\r\n <DropdownButton {...dropdown}\r\n type={'icon'}\r\n disabled={disabled || dropdown.disabled}\r\n icon={variant === 'overlay'\r\n ? <SystemIcons.ArrowDropDown/>\r\n : <SystemIcons.MoreVertical/>}\r\n />\r\n </div>\r\n }\r\n {\r\n !!rightSideIcon &&\r\n <RightIcon className={'list-item-actions'}\r\n onMouseEnter={() => rightSideAction && setInAction(!dropdown?.disabled)}\r\n onMouseLeave={() => rightSideAction && setInAction(false)}>\r\n {\r\n rightSideAction &&\r\n <IconButton action={rightSideAction} variant='secondary' shape='circular'\r\n disabled={disabled || rightSideIconDisabled}>\r\n {rightSideIcon}\r\n </IconButton>\r\n }\r\n {\r\n !rightSideAction && rightSideIcon\r\n }\r\n </RightIcon>\r\n }\r\n </Row>\r\n );\r\n};\r\n\r\nexport default ListRow;\r\n\r\n"],"mappings":"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","ignoreList":[]}
|
package/dist/Table/TableBody.cjs
CHANGED
|
@@ -167,7 +167,7 @@ var TableBody = function TableBody(props) {
|
|
|
167
167
|
column.sortable && props.sortByColumn(column);
|
|
168
168
|
}
|
|
169
169
|
},
|
|
170
|
-
"aria-
|
|
170
|
+
"aria-selected": column.key === ((_props$sortProps = props.sortProps) === null || _props$sortProps === void 0 ? void 0 : _props$sortProps.column) && !!((_props$sortProps2 = props.sortProps) !== null && _props$sortProps2 !== void 0 && _props$sortProps2.direction) ? true : undefined,
|
|
171
171
|
"aria-sort": column.key === ((_props$sortProps3 = props.sortProps) === null || _props$sortProps3 === void 0 ? void 0 : _props$sortProps3.column) && !!((_props$sortProps4 = props.sortProps) !== null && _props$sortProps4 !== void 0 && _props$sortProps4.direction) ? ((_props$sortProps5 = props.sortProps) === null || _props$sortProps5 === void 0 ? void 0 : _props$sortProps5.direction) == 'asc' ? 'ascending' : 'descending' : undefined,
|
|
172
172
|
style: {
|
|
173
173
|
width: column.width
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableBody.cjs","names":["_Button","require","_types","React","_interopRequireWildcard","_InputFields","_Iconbutton","_interopRequireDefault","_HyperLink","_TableStyles","_common","_icons","_rooks","_styledComponents","_jsxRuntime","_templateObject","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","ColumnLabel","styled","span","_taggedTemplateLiteral2","TableBody","props","_props$noRowsLabel","_useDimensionsRef","useDimensionsRef","updateOnResize","_useDimensionsRef2","_slicedToArray2","scrollContainerRef","dimensions","node","_React$useState","useState","_React$useState2","scrollable","setScrollable","useEffect","_node$clientWidth","_node$scrollWidth","clientWidth","scrollWidth","columns","rows","renderCellBody","column","row","type","tmp","variant","href","tabIndex","showLoadingIndicator","additionalProps","jsx","HyperLink","style","colorFn","color","key","onClick","preventDefault","stopPropagation","action","children","iconColor","shape","useTransparentBackground","icon","size","Size","Small","Button","Checkbox","selected","readOnly","customContent","jsxs","Fragment","StyledTableCellIcon","StyledTableCellTextWrapper","textWrap","shortenText","StyledTableCellText","Boolean","noteKey","StyledTableCellNoteText","isSelected","_props$selected","multiSelect","indexOf","keyExpr","StyledTableBodyWrapper","ref","className","StyledTable","cellPadding","cellSpacing","concat","layout","StyledTableHeaderRow","StyledTableHeaderColumns","StyledTableHeaderColumn","StyledTableHeaderColumnContent","selectAllState","disabled","semiSelected","select","onSelectAllClick","map","_props$sortProps","_props$sortProps2","_props$sortProps3","_props$sortProps4","_props$sortProps5","_props$sortProps6","_props$sortProps7","_props$sortProps8","_props$sortProps9","onMouseDown","defaultOnMouseDownHandler","sortable","sortByColumn","onKeyPress","sortProps","direction","undefined","width","justify","name","StyledTableHeaderColumnSortDirection","SystemIcons","ArrowLineUp","ArrowLineDown","StyledTableBody","currentPageRows","index","StyledTableBodyRow","selectable","onRowClick","StyledTableCell","StyledTableCellContent","maxWidth","title","withNote","StyledTableNoRowsLabelRow","colSpan","noRowsLabel","propTypes","_propTypes","arrayOf","any","isRequired","func","oneOf","_default","exports"],"sources":["../../src/Table/TableBody.tsx"],"sourcesContent":["import { TableColumn, TableProps } from './TableTypes';\r\nimport { Button } from '../Button';\r\nimport { Size } from '../types';\r\nimport * as React from 'react';\r\nimport { Checkbox } from '../InputFields';\r\nimport { ButtonProps } from '../Button/Button';\r\nimport IconButton, { IconButtonProps } from '../Button/Iconbutton';\r\nimport { HyperlinkProps } from '../HyperLink/HyperLink';\r\nimport { HyperLink } from '../HyperLink';\r\nimport {\r\n StyledTableBody,\r\n StyledTableBodyRow,\r\n StyledTableCell,\r\n StyledTableCellContent,\r\n StyledTableCellIcon,\r\n StyledTableCellText,\r\n StyledTableHeaderColumn,\r\n StyledTableHeaderColumnContent,\r\n StyledTableHeaderColumns,\r\n StyledTableNoRowsLabelRow,\r\n StyledTable,\r\n StyledTableBodyWrapper,\r\n StyledTableHeaderRow,\r\n StyledTableHeaderColumnSortDirection,\r\n StyledTableCellNoteText,\r\n StyledTableCellTextWrapper,\r\n} from './TableStyles';\r\nimport { defaultOnMouseDownHandler } from '../common';\r\nimport { SystemIcons } from '../icons';\r\nimport { useDimensionsRef } from 'rooks';\r\nimport styled from 'styled-components';\r\n\r\ninterface TableBodyProps extends TableProps {\r\n currentPageRows: any[];\r\n onRowClick?: (row: any) => void;\r\n selected?: any | any[];\r\n sortByColumn: (column: TableColumn) => void;\r\n onSelectAllClick: () => void;\r\n selectAllState: 'all' | 'some' | 'none';\r\n}\r\n\r\nconst ColumnLabel = styled.span`\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\r\n overflow: hidden;\r\n`;\r\n\r\nconst TableBody: React.FC<TableBodyProps> = (props) => {\r\n const [scrollContainerRef, dimensions, node] = useDimensionsRef({ updateOnResize: true });\r\n const [scrollable, setScrollable] = React.useState(false);\r\n\r\n React.useEffect(() => {\r\n const clientWidth = node?.clientWidth ?? 0;\r\n const scrollWidth = node?.scrollWidth ?? 0;\r\n setScrollable(scrollWidth > clientWidth);\r\n }, [dimensions, node, props.columns, props.rows]);\r\n\r\n const renderCellBody = (column: TableColumn, row: any) => {\r\n switch (column.type) {\r\n case 'link': {\r\n const tmp = {\r\n variant: 'default',\r\n href: '#',\r\n tabIndex: props.showLoadingIndicator ? -1 : 0,\r\n ...column.additionalProps,\r\n } as HyperlinkProps;\r\n return (\r\n <HyperLink\r\n style={column.colorFn && { color: column.colorFn(row, column.key) }}\r\n {...tmp}\r\n onClick={(e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n column.action && column.action(row, e);\r\n }}>\r\n {row[column.key]}\r\n </HyperLink>\r\n );\r\n }\r\n case 'icon': {\r\n const tmp = {\r\n iconColor: column.colorFn && column.colorFn(row, column.key),\r\n variant: 'secondary',\r\n shape: 'circular',\r\n tabIndex: props.showLoadingIndicator ? -1 : 0,\r\n useTransparentBackground: true,\r\n ...column.additionalProps,\r\n } as IconButtonProps;\r\n return (\r\n <IconButton\r\n {...tmp}\r\n action={(e) => {\r\n e?.stopPropagation();\r\n column.action && column.action(row, e);\r\n }}>\r\n {column.icon}\r\n </IconButton>\r\n );\r\n }\r\n case 'button': {\r\n const tmp = {\r\n variant: 'tertiary',\r\n size: Size.Small,\r\n tabIndex: props.showLoadingIndicator ? -1 : 0,\r\n ...column.additionalProps,\r\n } as ButtonProps;\r\n return (\r\n <Button\r\n style={column.colorFn && { color: column.colorFn(row, column.key) }}\r\n {...tmp}\r\n onClick={(e) => {\r\n e?.stopPropagation();\r\n column.action && column.action(row, e);\r\n }}>\r\n {row[column.key]}\r\n </Button>\r\n );\r\n }\r\n case 'boolean':\r\n return <Checkbox selected={!!row[column.key]} readOnly={true} />;\r\n case 'custom':\r\n return column.customContent && column.customContent(row, column.key);\r\n case 'number':\r\n case 'text':\r\n default:\r\n return (\r\n <>\r\n {column.icon && <StyledTableCellIcon>{column.icon}</StyledTableCellIcon>}\r\n <StyledTableCellTextWrapper textWrap={!column.shortenText}>\r\n <StyledTableCellText>{row[column.key]}</StyledTableCellText>\r\n {Boolean(column.noteKey) && Boolean(row[column.noteKey!]) && (\r\n <>\r\n <StyledTableCellNoteText>{row[column.noteKey!]}</StyledTableCellNoteText>\r\n </>\r\n )}\r\n </StyledTableCellTextWrapper>\r\n </>\r\n );\r\n }\r\n };\r\n\r\n const isSelected = (row: any) => {\r\n return (\r\n (props.multiSelect && props.selected?.indexOf(props.keyExpr ? row[props.keyExpr] : row) > -1) ||\r\n (!props.multiSelect && props.selected === (props.keyExpr ? row[props.keyExpr] : row))\r\n );\r\n };\r\n\r\n return (\r\n <StyledTableBodyWrapper ref={scrollContainerRef as any} className={scrollable ? 'scrollable' : ''}>\r\n <StyledTable cellPadding=\"0\" cellSpacing=\"0\" data-testid=\"TestTable\" className={`table ${props.layout || ''}`}>\r\n <StyledTableHeaderRow>\r\n <StyledTableHeaderColumns data-testid=\"TestTableColumnHeaderRow\">\r\n {props.multiSelect && (\r\n <StyledTableHeaderColumn>\r\n <StyledTableHeaderColumnContent>\r\n <Checkbox\r\n selected={props.selectAllState === 'all'}\r\n disabled={props.showLoadingIndicator}\r\n semiSelected={props.selectAllState === 'some'}\r\n select={props.onSelectAllClick}\r\n />\r\n </StyledTableHeaderColumnContent>\r\n </StyledTableHeaderColumn>\r\n )}\r\n {props.columns.map((column: TableColumn) => (\r\n <StyledTableHeaderColumn\r\n key={column.key}\r\n onMouseDown={defaultOnMouseDownHandler}\r\n onClick={(e) => column.sortable && props.sortByColumn(column)}\r\n onKeyPress={(e) => {\r\n if (e.key === 'Enter' || e.key === ' ') {\r\n column.sortable && props.sortByColumn(column);\r\n }\r\n }}\r\n aria-pressed={column.key === props.sortProps?.column && !!props.sortProps?.direction ? true : undefined}\r\n aria-sort={column.key === props.sortProps?.column && !!props.sortProps?.direction ? (props.sortProps?.direction == 'asc' ? 'ascending' : 'descending') : undefined}\r\n style={{ width: column.width }}\r\n tabIndex={column.sortable && !props.showLoadingIndicator ? 0 : -1}\r\n className={`${!!column.sortable ? 'sortable' : ''} ${column.key === props.sortProps?.column && !!props.sortProps?.direction ? 'sorted' : ''} ${\r\n column.justify || ''\r\n }`}>\r\n <StyledTableHeaderColumnContent>\r\n <ColumnLabel>{column.name}</ColumnLabel>\r\n {column.key === props.sortProps?.column && (\r\n <StyledTableHeaderColumnSortDirection>\r\n {props.sortProps?.direction === 'asc' ? <SystemIcons.ArrowLineUp size={'20px'} /> : <SystemIcons.ArrowLineDown size={'20px'} />}\r\n </StyledTableHeaderColumnSortDirection>\r\n )}\r\n </StyledTableHeaderColumnContent>\r\n </StyledTableHeaderColumn>\r\n ))}\r\n </StyledTableHeaderColumns>\r\n </StyledTableHeaderRow>\r\n <StyledTableBody>\r\n {props.currentPageRows.length > 0 ? (\r\n props.currentPageRows.map((row: any, index: number) => (\r\n <StyledTableBodyRow\r\n key={`row_${index}`}\r\n className={`${props.selectable ? 'selectable' : ''} ${isSelected(row) ? 'selected' : ''}`}\r\n onClick={() => props.onRowClick && props.onRowClick(row)}\r\n onMouseDown={defaultOnMouseDownHandler}\r\n onKeyPress={(e) => {\r\n if (e.key === 'Enter') {\r\n props.onRowClick && props.onRowClick(row);\r\n }\r\n }}\r\n tabIndex={props.selectable && !props.showLoadingIndicator ? 0 : undefined}\r\n data-testid=\"TestTableDataRow\">\r\n {props.multiSelect && (\r\n <StyledTableCell>\r\n <StyledTableCellContent>\r\n <Checkbox selected={isSelected(row)} />\r\n </StyledTableCellContent>\r\n </StyledTableCell>\r\n )}\r\n {props.columns.map((column: TableColumn) => (\r\n <StyledTableCell key={`row_${index}_${column.key}`} style={{ maxWidth: column.width }} title={column.shortenText ? `${row[column.key]} \\n ${column.noteKey ? row[column.noteKey!] : ''}` : ''}>\r\n <StyledTableCellContent\r\n withNote={Boolean(column.noteKey)}\r\n className={`${column.shortenText ? `truncate-text` : ''} ${column.justify || ''}`}\r\n style={{\r\n color: column.colorFn && column.colorFn(row, column.key),\r\n }}>\r\n {renderCellBody(column, row)}\r\n </StyledTableCellContent>\r\n </StyledTableCell>\r\n ))}\r\n </StyledTableBodyRow>\r\n ))\r\n ) : (\r\n <StyledTableNoRowsLabelRow data-testid=\"TestTableNoDataRow\">\r\n <StyledTableCell colSpan={props.columns.length + (props.multiSelect ? 1 : 0)}>\r\n <StyledTableCellContent className={'center'}>{props.noRowsLabel ?? 'There are no rows to display'}</StyledTableCellContent>\r\n </StyledTableCell>\r\n </StyledTableNoRowsLabelRow>\r\n )}\r\n </StyledTableBody>\r\n </StyledTable>\r\n </StyledTableBodyWrapper>\r\n );\r\n};\r\nexport default TableBody;\r\n"],"mappings":";;;;;;;;;;;;AACA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAC,uBAAA,CAAAH,OAAA;AACA,IAAAI,YAAA,GAAAJ,OAAA;AAEA,IAAAK,WAAA,GAAAC,sBAAA,CAAAN,OAAA;AAEA,IAAAO,UAAA,GAAAP,OAAA;AACA,IAAAQ,YAAA,GAAAR,OAAA;AAkBA,IAAAS,OAAA,GAAAT,OAAA;AACA,IAAAU,MAAA,GAAAV,OAAA;AACA,IAAAW,MAAA,GAAAX,OAAA;AACA,IAAAY,iBAAA,GAAAN,sBAAA,CAAAN,OAAA;AAAuC,IAAAa,WAAA,GAAAb,OAAA;AAAA,IAAAc,eAAA;AAAA,SAAAC,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,yBAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAb,wBAAAa,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,gBAAAK,OAAA,CAAAL,CAAA,0BAAAA,CAAA,sBAAAA,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,cAAAR,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA,SAAAW,QAAAnB,CAAA,EAAAE,CAAA,QAAAC,CAAA,GAAAQ,MAAA,CAAAS,IAAA,CAAApB,CAAA,OAAAW,MAAA,CAAAU,qBAAA,QAAAC,CAAA,GAAAX,MAAA,CAAAU,qBAAA,CAAArB,CAAA,GAAAE,CAAA,KAAAoB,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAArB,CAAA,WAAAS,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAE,CAAA,EAAAsB,UAAA,OAAArB,CAAA,CAAAsB,IAAA,CAAAC,KAAA,CAAAvB,CAAA,EAAAmB,CAAA,YAAAnB,CAAA;AAAA,SAAAwB,cAAA3B,CAAA,aAAAE,CAAA,MAAAA,CAAA,GAAA0B,SAAA,CAAAC,MAAA,EAAA3B,CAAA,UAAAC,CAAA,WAAAyB,SAAA,CAAA1B,CAAA,IAAA0B,SAAA,CAAA1B,CAAA,QAAAA,CAAA,OAAAiB,OAAA,CAAAR,MAAA,CAAAR,CAAA,OAAA2B,OAAA,WAAA5B,CAAA,QAAA6B,gBAAA,aAAA/B,CAAA,EAAAE,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAS,MAAA,CAAAqB,yBAAA,GAAArB,MAAA,CAAAsB,gBAAA,CAAAjC,CAAA,EAAAW,MAAA,CAAAqB,yBAAA,CAAA7B,CAAA,KAAAgB,OAAA,CAAAR,MAAA,CAAAR,CAAA,GAAA2B,OAAA,WAAA5B,CAAA,IAAAS,MAAA,CAAAC,cAAA,CAAAZ,CAAA,EAAAE,CAAA,EAAAS,MAAA,CAAAE,wBAAA,CAAAV,CAAA,EAAAD,CAAA,iBAAAF,CAAA;AAWvC,IAAMkC,WAAW,GAAGC,4BAAM,CAACC,IAAI,CAAAtC,eAAA,KAAAA,eAAA,OAAAuC,uBAAA,+FAI9B;AAED,IAAMC,SAAmC,GAAG,SAAtCA,SAAmCA,CAAIC,KAAK,EAAK;EAAA,IAAAC,kBAAA;EACrD,IAAAC,iBAAA,GAA+C,IAAAC,uBAAgB,EAAC;MAAEC,cAAc,EAAE;IAAK,CAAC,CAAC;IAAAC,kBAAA,OAAAC,eAAA,aAAAJ,iBAAA;IAAlFK,kBAAkB,GAAAF,kBAAA;IAAEG,UAAU,GAAAH,kBAAA;IAAEI,IAAI,GAAAJ,kBAAA;EAC3C,IAAAK,eAAA,GAAoC/D,KAAK,CAACgE,QAAQ,CAAC,KAAK,CAAC;IAAAC,gBAAA,OAAAN,eAAA,aAAAI,eAAA;IAAlDG,UAAU,GAAAD,gBAAA;IAAEE,aAAa,GAAAF,gBAAA;EAEhCjE,KAAK,CAACoE,SAAS,CAAC,YAAM;IAAA,IAAAC,iBAAA,EAAAC,iBAAA;IACpB,IAAMC,WAAW,IAAAF,iBAAA,GAAGP,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAES,WAAW,cAAAF,iBAAA,cAAAA,iBAAA,GAAI,CAAC;IAC1C,IAAMG,WAAW,IAAAF,iBAAA,GAAGR,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEU,WAAW,cAAAF,iBAAA,cAAAA,iBAAA,GAAI,CAAC;IAC1CH,aAAa,CAACK,WAAW,GAAGD,WAAW,CAAC;EAC1C,CAAC,EAAE,CAACV,UAAU,EAAEC,IAAI,EAAET,KAAK,CAACoB,OAAO,EAAEpB,KAAK,CAACqB,IAAI,CAAC,CAAC;EAEjD,IAAMC,cAAc,GAAG,SAAjBA,cAAcA,CAAIC,MAAmB,EAAEC,GAAQ,EAAK;IACxD,QAAQD,MAAM,CAACE,IAAI;MACjB,KAAK,MAAM;QAAE;UACX,IAAMC,GAAG,GAAAtC,aAAA;YACPuC,OAAO,EAAE,SAAS;YAClBC,IAAI,EAAE,GAAG;YACTC,QAAQ,EAAE7B,KAAK,CAAC8B,oBAAoB,GAAG,CAAC,CAAC,GAAG;UAAC,GAC1CP,MAAM,CAACQ,eAAe,CACR;UACnB,oBACE,IAAAzE,WAAA,CAAA0E,GAAA,EAAChF,UAAA,CAAAiF,SAAS,EAAA7C,aAAA,CAAAA,aAAA;YACR8C,KAAK,EAAEX,MAAM,CAACY,OAAO,IAAI;cAAEC,KAAK,EAAEb,MAAM,CAACY,OAAO,CAACX,GAAG,EAAED,MAAM,CAACc,GAAG;YAAE;UAAE,GAChEX,GAAG;YACPY,OAAO,EAAE,SAAAA,QAAC7E,CAAC,EAAK;cACdA,CAAC,CAAC8E,cAAc,CAAC,CAAC;cAClB9E,CAAC,CAAC+E,eAAe,CAAC,CAAC;cACnBjB,MAAM,CAACkB,MAAM,IAAIlB,MAAM,CAACkB,MAAM,CAACjB,GAAG,EAAE/D,CAAC,CAAC;YACxC,CAAE;YAAAiF,QAAA,EACDlB,GAAG,CAACD,MAAM,CAACc,GAAG;UAAC,EACP,CAAC;QAEhB;MACA,KAAK,MAAM;QAAE;UACX,IAAMX,IAAG,GAAAtC,aAAA;YACPuD,SAAS,EAAEpB,MAAM,CAACY,OAAO,IAAIZ,MAAM,CAACY,OAAO,CAACX,GAAG,EAAED,MAAM,CAACc,GAAG,CAAC;YAC5DV,OAAO,EAAE,WAAW;YACpBiB,KAAK,EAAE,UAAU;YACjBf,QAAQ,EAAE7B,KAAK,CAAC8B,oBAAoB,GAAG,CAAC,CAAC,GAAG,CAAC;YAC7Ce,wBAAwB,EAAE;UAAI,GAC3BtB,MAAM,CAACQ,eAAe,CACP;UACpB,oBACE,IAAAzE,WAAA,CAAA0E,GAAA,EAAClF,WAAA,WAAU,EAAAsC,aAAA,CAAAA,aAAA,KACLsC,IAAG;YACPe,MAAM,EAAE,SAAAA,OAAChF,CAAC,EAAK;cACbA,CAAC,aAADA,CAAC,uBAADA,CAAC,CAAE+E,eAAe,CAAC,CAAC;cACpBjB,MAAM,CAACkB,MAAM,IAAIlB,MAAM,CAACkB,MAAM,CAACjB,GAAG,EAAE/D,CAAC,CAAC;YACxC,CAAE;YAAAiF,QAAA,EACDnB,MAAM,CAACuB;UAAI,EACF,CAAC;QAEjB;MACA,KAAK,QAAQ;QAAE;UACb,IAAMpB,KAAG,GAAAtC,aAAA;YACPuC,OAAO,EAAE,UAAU;YACnBoB,IAAI,EAAEC,WAAI,CAACC,KAAK;YAChBpB,QAAQ,EAAE7B,KAAK,CAAC8B,oBAAoB,GAAG,CAAC,CAAC,GAAG;UAAC,GAC1CP,MAAM,CAACQ,eAAe,CACX;UAChB,oBACE,IAAAzE,WAAA,CAAA0E,GAAA,EAACxF,OAAA,CAAA0G,MAAM,EAAA9D,aAAA,CAAAA,aAAA;YACL8C,KAAK,EAAEX,MAAM,CAACY,OAAO,IAAI;cAAEC,KAAK,EAAEb,MAAM,CAACY,OAAO,CAACX,GAAG,EAAED,MAAM,CAACc,GAAG;YAAE;UAAE,GAChEX,KAAG;YACPY,OAAO,EAAE,SAAAA,QAAC7E,CAAC,EAAK;cACdA,CAAC,aAADA,CAAC,uBAADA,CAAC,CAAE+E,eAAe,CAAC,CAAC;cACpBjB,MAAM,CAACkB,MAAM,IAAIlB,MAAM,CAACkB,MAAM,CAACjB,GAAG,EAAE/D,CAAC,CAAC;YACxC,CAAE;YAAAiF,QAAA,EACDlB,GAAG,CAACD,MAAM,CAACc,GAAG;UAAC,EACV,CAAC;QAEb;MACA,KAAK,SAAS;QACZ,oBAAO,IAAA/E,WAAA,CAAA0E,GAAA,EAACnF,YAAA,CAAAsG,QAAQ;UAACC,QAAQ,EAAE,CAAC,CAAC5B,GAAG,CAACD,MAAM,CAACc,GAAG,CAAE;UAACgB,QAAQ,EAAE;QAAK,CAAE,CAAC;MAClE,KAAK,QAAQ;QACX,OAAO9B,MAAM,CAAC+B,aAAa,IAAI/B,MAAM,CAAC+B,aAAa,CAAC9B,GAAG,EAAED,MAAM,CAACc,GAAG,CAAC;MACtE,KAAK,QAAQ;MACb,KAAK,MAAM;MACX;QACE,oBACE,IAAA/E,WAAA,CAAAiG,IAAA,EAAAjG,WAAA,CAAAkG,QAAA;UAAAd,QAAA,GACGnB,MAAM,CAACuB,IAAI,iBAAI,IAAAxF,WAAA,CAAA0E,GAAA,EAAC/E,YAAA,CAAAwG,mBAAmB;YAAAf,QAAA,EAAEnB,MAAM,CAACuB;UAAI,CAAsB,CAAC,eACxE,IAAAxF,WAAA,CAAAiG,IAAA,EAACtG,YAAA,CAAAyG,0BAA0B;YAACC,QAAQ,EAAE,CAACpC,MAAM,CAACqC,WAAY;YAAAlB,QAAA,gBACxD,IAAApF,WAAA,CAAA0E,GAAA,EAAC/E,YAAA,CAAA4G,mBAAmB;cAAAnB,QAAA,EAAElB,GAAG,CAACD,MAAM,CAACc,GAAG;YAAC,CAAsB,CAAC,EAC3DyB,OAAO,CAACvC,MAAM,CAACwC,OAAO,CAAC,IAAID,OAAO,CAACtC,GAAG,CAACD,MAAM,CAACwC,OAAO,CAAE,CAAC,iBACvD,IAAAzG,WAAA,CAAA0E,GAAA,EAAA1E,WAAA,CAAAkG,QAAA;cAAAd,QAAA,eACE,IAAApF,WAAA,CAAA0E,GAAA,EAAC/E,YAAA,CAAA+G,uBAAuB;gBAAAtB,QAAA,EAAElB,GAAG,CAACD,MAAM,CAACwC,OAAO;cAAE,CAA0B;YAAC,CACzE,CACH;UAAA,CACyB,CAAC;QAAA,CAC7B,CAAC;IAET;EACF,CAAC;EAED,IAAME,UAAU,GAAG,SAAbA,UAAUA,CAAIzC,GAAQ,EAAK;IAAA,IAAA0C,eAAA;IAC/B,OACGlE,KAAK,CAACmE,WAAW,IAAI,EAAAD,eAAA,GAAAlE,KAAK,CAACoD,QAAQ,cAAAc,eAAA,uBAAdA,eAAA,CAAgBE,OAAO,CAACpE,KAAK,CAACqE,OAAO,GAAG7C,GAAG,CAACxB,KAAK,CAACqE,OAAO,CAAC,GAAG7C,GAAG,CAAC,IAAG,CAAC,CAAC,IAC3F,CAACxB,KAAK,CAACmE,WAAW,IAAInE,KAAK,CAACoD,QAAQ,MAAMpD,KAAK,CAACqE,OAAO,GAAG7C,GAAG,CAACxB,KAAK,CAACqE,OAAO,CAAC,GAAG7C,GAAG,CAAE;EAEzF,CAAC;EAED,oBACE,IAAAlE,WAAA,CAAA0E,GAAA,EAAC/E,YAAA,CAAAqH,sBAAsB;IAACC,GAAG,EAAEhE,kBAA0B;IAACiE,SAAS,EAAE3D,UAAU,GAAG,YAAY,GAAG,EAAG;IAAA6B,QAAA,eAChG,IAAApF,WAAA,CAAAiG,IAAA,EAACtG,YAAA,CAAAwH,WAAW;MAACC,WAAW,EAAC,GAAG;MAACC,WAAW,EAAC,GAAG;MAAC,eAAY,WAAW;MAACH,SAAS,WAAAI,MAAA,CAAW5E,KAAK,CAAC6E,MAAM,IAAI,EAAE,CAAG;MAAAnC,QAAA,gBAC5G,IAAApF,WAAA,CAAA0E,GAAA,EAAC/E,YAAA,CAAA6H,oBAAoB;QAAApC,QAAA,eACnB,IAAApF,WAAA,CAAAiG,IAAA,EAACtG,YAAA,CAAA8H,wBAAwB;UAAC,eAAY,0BAA0B;UAAArC,QAAA,GAC7D1C,KAAK,CAACmE,WAAW,iBAChB,IAAA7G,WAAA,CAAA0E,GAAA,EAAC/E,YAAA,CAAA+H,uBAAuB;YAAAtC,QAAA,eACtB,IAAApF,WAAA,CAAA0E,GAAA,EAAC/E,YAAA,CAAAgI,8BAA8B;cAAAvC,QAAA,eAC7B,IAAApF,WAAA,CAAA0E,GAAA,EAACnF,YAAA,CAAAsG,QAAQ;gBACPC,QAAQ,EAAEpD,KAAK,CAACkF,cAAc,KAAK,KAAM;gBACzCC,QAAQ,EAAEnF,KAAK,CAAC8B,oBAAqB;gBACrCsD,YAAY,EAAEpF,KAAK,CAACkF,cAAc,KAAK,MAAO;gBAC9CG,MAAM,EAAErF,KAAK,CAACsF;cAAiB,CAChC;YAAC,CAC4B;UAAC,CACV,CAC1B,EACAtF,KAAK,CAACoB,OAAO,CAACmE,GAAG,CAAC,UAAChE,MAAmB;YAAA,IAAAiE,gBAAA,EAAAC,iBAAA,EAAAC,iBAAA,EAAAC,iBAAA,EAAAC,iBAAA,EAAAC,iBAAA,EAAAC,iBAAA,EAAAC,iBAAA,EAAAC,iBAAA;YAAA,oBACrC,IAAA1I,WAAA,CAAA0E,GAAA,EAAC/E,YAAA,CAAA+H,uBAAuB;cAEtBiB,WAAW,EAAEC,iCAA0B;cACvC5D,OAAO,EAAE,SAAAA,QAAC7E,CAAC;gBAAA,OAAK8D,MAAM,CAAC4E,QAAQ,IAAInG,KAAK,CAACoG,YAAY,CAAC7E,MAAM,CAAC;cAAA,CAAC;cAC9D8E,UAAU,EAAE,SAAAA,WAAC5I,CAAC,EAAK;gBACjB,IAAIA,CAAC,CAAC4E,GAAG,KAAK,OAAO,IAAI5E,CAAC,CAAC4E,GAAG,KAAK,GAAG,EAAE;kBACtCd,MAAM,CAAC4E,QAAQ,IAAInG,KAAK,CAACoG,YAAY,CAAC7E,MAAM,CAAC;gBAC/C;cACF,CAAE;cACF,gBAAcA,MAAM,CAACc,GAAG,OAAAmD,gBAAA,GAAKxF,KAAK,CAACsG,SAAS,cAAAd,gBAAA,uBAAfA,gBAAA,CAAiBjE,MAAM,KAAI,CAAC,GAAAkE,iBAAA,GAACzF,KAAK,CAACsG,SAAS,cAAAb,iBAAA,eAAfA,iBAAA,CAAiBc,SAAS,IAAG,IAAI,GAAGC,SAAU;cACxG,aAAWjF,MAAM,CAACc,GAAG,OAAAqD,iBAAA,GAAK1F,KAAK,CAACsG,SAAS,cAAAZ,iBAAA,uBAAfA,iBAAA,CAAiBnE,MAAM,KAAI,CAAC,GAAAoE,iBAAA,GAAC3F,KAAK,CAACsG,SAAS,cAAAX,iBAAA,eAAfA,iBAAA,CAAiBY,SAAS,IAAI,EAAAX,iBAAA,GAAA5F,KAAK,CAACsG,SAAS,cAAAV,iBAAA,uBAAfA,iBAAA,CAAiBW,SAAS,KAAI,KAAK,GAAG,WAAW,GAAG,YAAY,GAAIC,SAAU;cACnKtE,KAAK,EAAE;gBAAEuE,KAAK,EAAElF,MAAM,CAACkF;cAAM,CAAE;cAC/B5E,QAAQ,EAAEN,MAAM,CAAC4E,QAAQ,IAAI,CAACnG,KAAK,CAAC8B,oBAAoB,GAAG,CAAC,GAAG,CAAC,CAAE;cAClE0C,SAAS,KAAAI,MAAA,CAAK,CAAC,CAACrD,MAAM,CAAC4E,QAAQ,GAAG,UAAU,GAAG,EAAE,OAAAvB,MAAA,CAAIrD,MAAM,CAACc,GAAG,OAAAwD,iBAAA,GAAK7F,KAAK,CAACsG,SAAS,cAAAT,iBAAA,uBAAfA,iBAAA,CAAiBtE,MAAM,KAAI,CAAC,GAAAuE,iBAAA,GAAC9F,KAAK,CAACsG,SAAS,cAAAR,iBAAA,eAAfA,iBAAA,CAAiBS,SAAS,IAAG,QAAQ,GAAG,EAAE,OAAA3B,MAAA,CACzIrD,MAAM,CAACmF,OAAO,IAAI,EAAE,CACnB;cAAAhE,QAAA,eACH,IAAApF,WAAA,CAAAiG,IAAA,EAACtG,YAAA,CAAAgI,8BAA8B;gBAAAvC,QAAA,gBAC7B,IAAApF,WAAA,CAAA0E,GAAA,EAACrC,WAAW;kBAAA+C,QAAA,EAAEnB,MAAM,CAACoF;gBAAI,CAAc,CAAC,EACvCpF,MAAM,CAACc,GAAG,OAAA0D,iBAAA,GAAK/F,KAAK,CAACsG,SAAS,cAAAP,iBAAA,uBAAfA,iBAAA,CAAiBxE,MAAM,kBACrC,IAAAjE,WAAA,CAAA0E,GAAA,EAAC/E,YAAA,CAAA2J,oCAAoC;kBAAAlE,QAAA,EAClC,EAAAsD,iBAAA,GAAAhG,KAAK,CAACsG,SAAS,cAAAN,iBAAA,uBAAfA,iBAAA,CAAiBO,SAAS,MAAK,KAAK,gBAAG,IAAAjJ,WAAA,CAAA0E,GAAA,EAAC7E,MAAA,CAAA0J,WAAW,CAACC,WAAW;oBAAC/D,IAAI,EAAE;kBAAO,CAAE,CAAC,gBAAG,IAAAzF,WAAA,CAAA0E,GAAA,EAAC7E,MAAA,CAAA0J,WAAW,CAACE,aAAa;oBAAChE,IAAI,EAAE;kBAAO,CAAE;gBAAC,CAC3F,CACvC;cAAA,CAC6B;YAAC,GAtB5BxB,MAAM,CAACc,GAuBW,CAAC;UAAA,CAC3B,CAAC;QAAA,CACsB;MAAC,CACP,CAAC,eACvB,IAAA/E,WAAA,CAAA0E,GAAA,EAAC/E,YAAA,CAAA+J,eAAe;QAAAtE,QAAA,EACb1C,KAAK,CAACiH,eAAe,CAAC3H,MAAM,GAAG,CAAC,GAC/BU,KAAK,CAACiH,eAAe,CAAC1B,GAAG,CAAC,UAAC/D,GAAQ,EAAE0F,KAAa;UAAA,oBAChD,IAAA5J,WAAA,CAAAiG,IAAA,EAACtG,YAAA,CAAAkK,kBAAkB;YAEjB3C,SAAS,KAAAI,MAAA,CAAK5E,KAAK,CAACoH,UAAU,GAAG,YAAY,GAAG,EAAE,OAAAxC,MAAA,CAAIX,UAAU,CAACzC,GAAG,CAAC,GAAG,UAAU,GAAG,EAAE,CAAG;YAC1Fc,OAAO,EAAE,SAAAA,QAAA;cAAA,OAAMtC,KAAK,CAACqH,UAAU,IAAIrH,KAAK,CAACqH,UAAU,CAAC7F,GAAG,CAAC;YAAA,CAAC;YACzDyE,WAAW,EAAEC,iCAA0B;YACvCG,UAAU,EAAE,SAAAA,WAAC5I,CAAC,EAAK;cACjB,IAAIA,CAAC,CAAC4E,GAAG,KAAK,OAAO,EAAE;gBACrBrC,KAAK,CAACqH,UAAU,IAAIrH,KAAK,CAACqH,UAAU,CAAC7F,GAAG,CAAC;cAC3C;YACF,CAAE;YACFK,QAAQ,EAAE7B,KAAK,CAACoH,UAAU,IAAI,CAACpH,KAAK,CAAC8B,oBAAoB,GAAG,CAAC,GAAG0E,SAAU;YAC1E,eAAY,kBAAkB;YAAA9D,QAAA,GAC7B1C,KAAK,CAACmE,WAAW,iBAChB,IAAA7G,WAAA,CAAA0E,GAAA,EAAC/E,YAAA,CAAAqK,eAAe;cAAA5E,QAAA,eACd,IAAApF,WAAA,CAAA0E,GAAA,EAAC/E,YAAA,CAAAsK,sBAAsB;gBAAA7E,QAAA,eACrB,IAAApF,WAAA,CAAA0E,GAAA,EAACnF,YAAA,CAAAsG,QAAQ;kBAACC,QAAQ,EAAEa,UAAU,CAACzC,GAAG;gBAAE,CAAE;cAAC,CACjB;YAAC,CACV,CAClB,EACAxB,KAAK,CAACoB,OAAO,CAACmE,GAAG,CAAC,UAAChE,MAAmB;cAAA,oBACrC,IAAAjE,WAAA,CAAA0E,GAAA,EAAC/E,YAAA,CAAAqK,eAAe;gBAAoCpF,KAAK,EAAE;kBAAEsF,QAAQ,EAAEjG,MAAM,CAACkF;gBAAM,CAAE;gBAACgB,KAAK,EAAElG,MAAM,CAACqC,WAAW,MAAAgB,MAAA,CAAMpD,GAAG,CAACD,MAAM,CAACc,GAAG,CAAC,UAAAuC,MAAA,CAAOrD,MAAM,CAACwC,OAAO,GAAGvC,GAAG,CAACD,MAAM,CAACwC,OAAO,CAAE,GAAG,EAAE,IAAK,EAAG;gBAAArB,QAAA,eAC5L,IAAApF,WAAA,CAAA0E,GAAA,EAAC/E,YAAA,CAAAsK,sBAAsB;kBACrBG,QAAQ,EAAE5D,OAAO,CAACvC,MAAM,CAACwC,OAAO,CAAE;kBAClCS,SAAS,KAAAI,MAAA,CAAKrD,MAAM,CAACqC,WAAW,qBAAqB,EAAE,OAAAgB,MAAA,CAAIrD,MAAM,CAACmF,OAAO,IAAI,EAAE,CAAG;kBAClFxE,KAAK,EAAE;oBACLE,KAAK,EAAEb,MAAM,CAACY,OAAO,IAAIZ,MAAM,CAACY,OAAO,CAACX,GAAG,EAAED,MAAM,CAACc,GAAG;kBACzD,CAAE;kBAAAK,QAAA,EACDpB,cAAc,CAACC,MAAM,EAAEC,GAAG;gBAAC,CACN;cAAC,UAAAoD,MAAA,CAREsC,KAAK,OAAAtC,MAAA,CAAIrD,MAAM,CAACc,GAAG,CAS/B,CAAC;YAAA,CACnB,CAAC;UAAA,UAAAuC,MAAA,CA7BUsC,KAAK,CA8BC,CAAC;QAAA,CACtB,CAAC,gBAEF,IAAA5J,WAAA,CAAA0E,GAAA,EAAC/E,YAAA,CAAA0K,yBAAyB;UAAC,eAAY,oBAAoB;UAAAjF,QAAA,eACzD,IAAApF,WAAA,CAAA0E,GAAA,EAAC/E,YAAA,CAAAqK,eAAe;YAACM,OAAO,EAAE5H,KAAK,CAACoB,OAAO,CAAC9B,MAAM,IAAIU,KAAK,CAACmE,WAAW,GAAG,CAAC,GAAG,CAAC,CAAE;YAAAzB,QAAA,eAC3E,IAAApF,WAAA,CAAA0E,GAAA,EAAC/E,YAAA,CAAAsK,sBAAsB;cAAC/C,SAAS,EAAE,QAAS;cAAA9B,QAAA,GAAAzC,kBAAA,GAAED,KAAK,CAAC6H,WAAW,cAAA5H,kBAAA,cAAAA,kBAAA,GAAI;YAA8B,CAAyB;UAAC,CAC5G;QAAC,CACO;MAC5B,CACc,CAAC;IAAA,CACP;EAAC,CACQ,CAAC;AAE7B,CAAC;AAACF,SAAA,CAAA+H,SAAA;EAhNAb,eAAe,EAAAc,UAAA,YAAAC,OAAA,CAAAD,UAAA,YAAAE,GAAA,EAAAC,UAAA;EACfb,UAAU,EAAAU,UAAA,YAAAI,IAAA;EACV/E,QAAQ,EAAA2E,UAAA,YAAAE,GAAA;EACR7B,YAAY,EAAA2B,UAAA,YAAAI,IAAA,CAAAD,UAAA;EACZ5C,gBAAgB,EAAAyC,UAAA,YAAAI,IAAA,CAAAD,UAAA;EAChBhD,cAAc,EAAA6C,UAAA,YAAAK,KAAA,EAAE,KAAK,EAAG,MAAM,EAAG,MAAM,GAAAF;AAAA;AAAA,IAAAG,QAAA,GA4M1BtI,SAAS;AAAAuI,OAAA,cAAAD,QAAA","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"TableBody.cjs","names":["_Button","require","_types","React","_interopRequireWildcard","_InputFields","_Iconbutton","_interopRequireDefault","_HyperLink","_TableStyles","_common","_icons","_rooks","_styledComponents","_jsxRuntime","_templateObject","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","ColumnLabel","styled","span","_taggedTemplateLiteral2","TableBody","props","_props$noRowsLabel","_useDimensionsRef","useDimensionsRef","updateOnResize","_useDimensionsRef2","_slicedToArray2","scrollContainerRef","dimensions","node","_React$useState","useState","_React$useState2","scrollable","setScrollable","useEffect","_node$clientWidth","_node$scrollWidth","clientWidth","scrollWidth","columns","rows","renderCellBody","column","row","type","tmp","variant","href","tabIndex","showLoadingIndicator","additionalProps","jsx","HyperLink","style","colorFn","color","key","onClick","preventDefault","stopPropagation","action","children","iconColor","shape","useTransparentBackground","icon","size","Size","Small","Button","Checkbox","selected","readOnly","customContent","jsxs","Fragment","StyledTableCellIcon","StyledTableCellTextWrapper","textWrap","shortenText","StyledTableCellText","Boolean","noteKey","StyledTableCellNoteText","isSelected","_props$selected","multiSelect","indexOf","keyExpr","StyledTableBodyWrapper","ref","className","StyledTable","cellPadding","cellSpacing","concat","layout","StyledTableHeaderRow","StyledTableHeaderColumns","StyledTableHeaderColumn","StyledTableHeaderColumnContent","selectAllState","disabled","semiSelected","select","onSelectAllClick","map","_props$sortProps","_props$sortProps2","_props$sortProps3","_props$sortProps4","_props$sortProps5","_props$sortProps6","_props$sortProps7","_props$sortProps8","_props$sortProps9","onMouseDown","defaultOnMouseDownHandler","sortable","sortByColumn","onKeyPress","sortProps","direction","undefined","width","justify","name","StyledTableHeaderColumnSortDirection","SystemIcons","ArrowLineUp","ArrowLineDown","StyledTableBody","currentPageRows","index","StyledTableBodyRow","selectable","onRowClick","StyledTableCell","StyledTableCellContent","maxWidth","title","withNote","StyledTableNoRowsLabelRow","colSpan","noRowsLabel","propTypes","_propTypes","arrayOf","any","isRequired","func","oneOf","_default","exports"],"sources":["../../src/Table/TableBody.tsx"],"sourcesContent":["import { TableColumn, TableProps } from './TableTypes';\r\nimport { Button } from '../Button';\r\nimport { Size } from '../types';\r\nimport * as React from 'react';\r\nimport { Checkbox } from '../InputFields';\r\nimport { ButtonProps } from '../Button/Button';\r\nimport IconButton, { IconButtonProps } from '../Button/Iconbutton';\r\nimport { HyperlinkProps } from '../HyperLink/HyperLink';\r\nimport { HyperLink } from '../HyperLink';\r\nimport {\r\n StyledTableBody,\r\n StyledTableBodyRow,\r\n StyledTableCell,\r\n StyledTableCellContent,\r\n StyledTableCellIcon,\r\n StyledTableCellText,\r\n StyledTableHeaderColumn,\r\n StyledTableHeaderColumnContent,\r\n StyledTableHeaderColumns,\r\n StyledTableNoRowsLabelRow,\r\n StyledTable,\r\n StyledTableBodyWrapper,\r\n StyledTableHeaderRow,\r\n StyledTableHeaderColumnSortDirection,\r\n StyledTableCellNoteText,\r\n StyledTableCellTextWrapper,\r\n} from './TableStyles';\r\nimport { defaultOnMouseDownHandler } from '../common';\r\nimport { SystemIcons } from '../icons';\r\nimport { useDimensionsRef } from 'rooks';\r\nimport styled from 'styled-components';\r\n\r\ninterface TableBodyProps extends TableProps {\r\n currentPageRows: any[];\r\n onRowClick?: (row: any) => void;\r\n selected?: any | any[];\r\n sortByColumn: (column: TableColumn) => void;\r\n onSelectAllClick: () => void;\r\n selectAllState: 'all' | 'some' | 'none';\r\n}\r\n\r\nconst ColumnLabel = styled.span`\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\r\n overflow: hidden;\r\n`;\r\n\r\nconst TableBody: React.FC<TableBodyProps> = (props) => {\r\n const [scrollContainerRef, dimensions, node] = useDimensionsRef({ updateOnResize: true });\r\n const [scrollable, setScrollable] = React.useState(false);\r\n\r\n React.useEffect(() => {\r\n const clientWidth = node?.clientWidth ?? 0;\r\n const scrollWidth = node?.scrollWidth ?? 0;\r\n setScrollable(scrollWidth > clientWidth);\r\n }, [dimensions, node, props.columns, props.rows]);\r\n\r\n const renderCellBody = (column: TableColumn, row: any) => {\r\n switch (column.type) {\r\n case 'link': {\r\n const tmp = {\r\n variant: 'default',\r\n href: '#',\r\n tabIndex: props.showLoadingIndicator ? -1 : 0,\r\n ...column.additionalProps,\r\n } as HyperlinkProps;\r\n return (\r\n <HyperLink\r\n style={column.colorFn && { color: column.colorFn(row, column.key) }}\r\n {...tmp}\r\n onClick={(e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n column.action && column.action(row, e);\r\n }}>\r\n {row[column.key]}\r\n </HyperLink>\r\n );\r\n }\r\n case 'icon': {\r\n const tmp = {\r\n iconColor: column.colorFn && column.colorFn(row, column.key),\r\n variant: 'secondary',\r\n shape: 'circular',\r\n tabIndex: props.showLoadingIndicator ? -1 : 0,\r\n useTransparentBackground: true,\r\n ...column.additionalProps,\r\n } as IconButtonProps;\r\n return (\r\n <IconButton\r\n {...tmp}\r\n action={(e) => {\r\n e?.stopPropagation();\r\n column.action && column.action(row, e);\r\n }}>\r\n {column.icon}\r\n </IconButton>\r\n );\r\n }\r\n case 'button': {\r\n const tmp = {\r\n variant: 'tertiary',\r\n size: Size.Small,\r\n tabIndex: props.showLoadingIndicator ? -1 : 0,\r\n ...column.additionalProps,\r\n } as ButtonProps;\r\n return (\r\n <Button\r\n style={column.colorFn && { color: column.colorFn(row, column.key) }}\r\n {...tmp}\r\n onClick={(e) => {\r\n e?.stopPropagation();\r\n column.action && column.action(row, e);\r\n }}>\r\n {row[column.key]}\r\n </Button>\r\n );\r\n }\r\n case 'boolean':\r\n return <Checkbox selected={!!row[column.key]} readOnly={true} />;\r\n case 'custom':\r\n return column.customContent && column.customContent(row, column.key);\r\n case 'number':\r\n case 'text':\r\n default:\r\n return (\r\n <>\r\n {column.icon && <StyledTableCellIcon>{column.icon}</StyledTableCellIcon>}\r\n <StyledTableCellTextWrapper textWrap={!column.shortenText}>\r\n <StyledTableCellText>{row[column.key]}</StyledTableCellText>\r\n {Boolean(column.noteKey) && Boolean(row[column.noteKey!]) && (\r\n <>\r\n <StyledTableCellNoteText>{row[column.noteKey!]}</StyledTableCellNoteText>\r\n </>\r\n )}\r\n </StyledTableCellTextWrapper>\r\n </>\r\n );\r\n }\r\n };\r\n\r\n const isSelected = (row: any) => {\r\n return (\r\n (props.multiSelect && props.selected?.indexOf(props.keyExpr ? row[props.keyExpr] : row) > -1) ||\r\n (!props.multiSelect && props.selected === (props.keyExpr ? row[props.keyExpr] : row))\r\n );\r\n };\r\n\r\n return (\r\n <StyledTableBodyWrapper ref={scrollContainerRef as any} className={scrollable ? 'scrollable' : ''}>\r\n <StyledTable cellPadding=\"0\" cellSpacing=\"0\" data-testid=\"TestTable\" className={`table ${props.layout || ''}`}>\r\n <StyledTableHeaderRow>\r\n <StyledTableHeaderColumns data-testid=\"TestTableColumnHeaderRow\">\r\n {props.multiSelect && (\r\n <StyledTableHeaderColumn>\r\n <StyledTableHeaderColumnContent>\r\n <Checkbox\r\n selected={props.selectAllState === 'all'}\r\n disabled={props.showLoadingIndicator}\r\n semiSelected={props.selectAllState === 'some'}\r\n select={props.onSelectAllClick}\r\n />\r\n </StyledTableHeaderColumnContent>\r\n </StyledTableHeaderColumn>\r\n )}\r\n {props.columns.map((column: TableColumn) => (\r\n <StyledTableHeaderColumn\r\n key={column.key}\r\n onMouseDown={defaultOnMouseDownHandler}\r\n onClick={(e) => column.sortable && props.sortByColumn(column)}\r\n onKeyPress={(e) => {\r\n if (e.key === 'Enter' || e.key === ' ') {\r\n column.sortable && props.sortByColumn(column);\r\n }\r\n }}\r\n aria-selected={column.key === props.sortProps?.column && !!props.sortProps?.direction ? true : undefined}\r\n aria-sort={column.key === props.sortProps?.column && !!props.sortProps?.direction ? (props.sortProps?.direction == 'asc' ? 'ascending' : 'descending') : undefined}\r\n style={{ width: column.width }}\r\n tabIndex={column.sortable && !props.showLoadingIndicator ? 0 : -1}\r\n className={`${!!column.sortable ? 'sortable' : ''} ${column.key === props.sortProps?.column && !!props.sortProps?.direction ? 'sorted' : ''} ${\r\n column.justify || ''\r\n }`}>\r\n <StyledTableHeaderColumnContent>\r\n <ColumnLabel>{column.name}</ColumnLabel>\r\n {column.key === props.sortProps?.column && (\r\n <StyledTableHeaderColumnSortDirection>\r\n {props.sortProps?.direction === 'asc' ? <SystemIcons.ArrowLineUp size={'20px'} /> : <SystemIcons.ArrowLineDown size={'20px'} />}\r\n </StyledTableHeaderColumnSortDirection>\r\n )}\r\n </StyledTableHeaderColumnContent>\r\n </StyledTableHeaderColumn>\r\n ))}\r\n </StyledTableHeaderColumns>\r\n </StyledTableHeaderRow>\r\n <StyledTableBody>\r\n {props.currentPageRows.length > 0 ? (\r\n props.currentPageRows.map((row: any, index: number) => (\r\n <StyledTableBodyRow\r\n key={`row_${index}`}\r\n className={`${props.selectable ? 'selectable' : ''} ${isSelected(row) ? 'selected' : ''}`}\r\n onClick={() => props.onRowClick && props.onRowClick(row)}\r\n onMouseDown={defaultOnMouseDownHandler}\r\n onKeyPress={(e) => {\r\n if (e.key === 'Enter') {\r\n props.onRowClick && props.onRowClick(row);\r\n }\r\n }}\r\n tabIndex={props.selectable && !props.showLoadingIndicator ? 0 : undefined}\r\n data-testid=\"TestTableDataRow\">\r\n {props.multiSelect && (\r\n <StyledTableCell>\r\n <StyledTableCellContent>\r\n <Checkbox selected={isSelected(row)} />\r\n </StyledTableCellContent>\r\n </StyledTableCell>\r\n )}\r\n {props.columns.map((column: TableColumn) => (\r\n <StyledTableCell key={`row_${index}_${column.key}`} style={{ maxWidth: column.width }} title={column.shortenText ? `${row[column.key]} \\n ${column.noteKey ? row[column.noteKey!] : ''}` : ''}>\r\n <StyledTableCellContent\r\n withNote={Boolean(column.noteKey)}\r\n className={`${column.shortenText ? `truncate-text` : ''} ${column.justify || ''}`}\r\n style={{\r\n color: column.colorFn && column.colorFn(row, column.key),\r\n }}>\r\n {renderCellBody(column, row)}\r\n </StyledTableCellContent>\r\n </StyledTableCell>\r\n ))}\r\n </StyledTableBodyRow>\r\n ))\r\n ) : (\r\n <StyledTableNoRowsLabelRow data-testid=\"TestTableNoDataRow\">\r\n <StyledTableCell colSpan={props.columns.length + (props.multiSelect ? 1 : 0)}>\r\n <StyledTableCellContent className={'center'}>{props.noRowsLabel ?? 'There are no rows to display'}</StyledTableCellContent>\r\n </StyledTableCell>\r\n </StyledTableNoRowsLabelRow>\r\n )}\r\n </StyledTableBody>\r\n </StyledTable>\r\n </StyledTableBodyWrapper>\r\n );\r\n};\r\nexport default TableBody;\r\n"],"mappings":"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","ignoreList":[]}
|
package/dist/Table/TableBody.js
CHANGED
|
@@ -159,7 +159,7 @@ var TableBody = function TableBody(props) {
|
|
|
159
159
|
column.sortable && props.sortByColumn(column);
|
|
160
160
|
}
|
|
161
161
|
},
|
|
162
|
-
"aria-
|
|
162
|
+
"aria-selected": column.key === ((_props$sortProps = props.sortProps) === null || _props$sortProps === void 0 ? void 0 : _props$sortProps.column) && !!((_props$sortProps2 = props.sortProps) !== null && _props$sortProps2 !== void 0 && _props$sortProps2.direction) ? true : undefined,
|
|
163
163
|
"aria-sort": column.key === ((_props$sortProps3 = props.sortProps) === null || _props$sortProps3 === void 0 ? void 0 : _props$sortProps3.column) && !!((_props$sortProps4 = props.sortProps) !== null && _props$sortProps4 !== void 0 && _props$sortProps4.direction) ? ((_props$sortProps5 = props.sortProps) === null || _props$sortProps5 === void 0 ? void 0 : _props$sortProps5.direction) == 'asc' ? 'ascending' : 'descending' : undefined,
|
|
164
164
|
style: {
|
|
165
165
|
width: column.width
|