@razorpay/blade 12.23.0 → 12.23.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/lib/web/development/components/ListView/ListViewFilters.web.js +2 -1
- package/build/lib/web/development/components/ListView/ListViewFilters.web.js.map +1 -1
- package/build/lib/web/production/components/ListView/ListViewFilters.web.js +2 -1
- package/build/lib/web/production/components/ListView/ListViewFilters.web.js.map +1 -1
- package/package.json +1 -1
|
@@ -176,7 +176,8 @@ var ListViewFilters = function ListViewFilters(_ref4) {
|
|
|
176
176
|
return !prev;
|
|
177
177
|
});
|
|
178
178
|
},
|
|
179
|
-
icon: FilterIcon
|
|
179
|
+
icon: FilterIcon,
|
|
180
|
+
accessibilityLabel: "Show More Filters"
|
|
180
181
|
}), /*#__PURE__*/jsx(Box, {
|
|
181
182
|
position: "absolute",
|
|
182
183
|
right: "spacing.0",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListViewFilters.web.js","sources":["../../../../../../src/components/ListView/ListViewFilters.web.tsx"],"sourcesContent":["import { useState } from 'react';\nimport { AnimatePresence, m } from 'framer-motion';\nimport styled from 'styled-components';\nimport type { ListViewFilterProps, ListViewSelectedFiltersType } from './types';\nimport { ListViewFiltersProvider } from './ListViewFiltersContext.web';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\nimport BaseBox from '~components/Box/BaseBox';\nimport { MetaConstants, metaAttribute } from '~utils/metaAttribute';\nimport { FilterIcon } from '~components/Icons';\nimport { Button } from '~components/Button';\nimport { Counter } from '~components/Counter';\nimport { Box } from '~components/Box';\nimport { SearchInput } from '~components/Input/SearchInput';\nimport { useId } from '~utils/useId';\nimport { useControllableState } from '~utils/useControllable';\nimport { useIsMobile } from '~utils/useIsMobile';\nimport { msToSeconds } from '~utils/msToSeconds';\nimport { useTheme } from '~components/BladeProvider';\nimport { cssBezierToArray } from '~utils/cssBezierToArray';\nimport { castWebType } from '~utils';\nimport { Divider } from '~components/Divider';\n\nconst gradientOverlyContainerWidth = '21px'; // 20px + 1px divider width\nconst gradientOverlyContainerHeight = '38px';\n\nconst StyledQuickFilterContainer = styled(BaseBox)({\n /* For Webkit (Chrome, Safari) */\n '::-webkit-scrollbar': {\n display: 'none',\n },\n /* For Firefox */\n scrollbarWidth: 'none',\n /* For Edge */\n msOverflowStyle: 'none',\n});\n\nconst GradientOverlay = styled.div<{\n gradientColorLeft: string;\n dividerColor: string;\n gradientColorRight: string;\n}>`\n height: 100%;\n width: 20px;\n background: linear-gradient(\n 270deg,\n ${({ gradientColorRight }) => gradientColorRight} 0%,\n ${({ gradientColorLeft }) => gradientColorLeft} 100%\n );\n pointer-events: none;\n &::after {\n content: '';\n position: absolute;\n right: 0;\n top: 0;\n height: 100%;\n width: 1px;\n background-color: ${({ dividerColor }) => dividerColor};\n }\n`;\n\nconst ListViewFilters = ({\n testID,\n children,\n quickFilters,\n onSearchChange,\n searchValue,\n searchValuePlaceholder,\n searchName,\n showQuickFilters,\n onShowQuickFiltersChange,\n onSearchClear,\n selectedFiltersCount = 0,\n ...rest\n}: ListViewFilterProps): React.ReactElement => {\n const [shouldShowDecorationInQuickFilters, setShouldShowDecorationInQuickFilters] = useState(\n false,\n );\n const [showFilters, setShowFilters] = useControllableState({\n defaultValue: showQuickFilters,\n value: showQuickFilters,\n onChange: onShowQuickFiltersChange,\n });\n const [\n listViewSelectedFilters,\n setListViewSelectedFilters,\n ] = useState<ListViewSelectedFiltersType>({});\n const searchId = useId('search-input');\n const searchNameValue = searchName || searchId;\n const isMobile = useIsMobile();\n const { theme } = useTheme();\n const showSearchInput = onSearchChange || onSearchClear || searchValuePlaceholder || searchName;\n\n return (\n <ListViewFiltersProvider\n value={{\n listViewSelectedFilters,\n setListViewSelectedFilters,\n selectedFiltersCount,\n }}\n >\n {isMobile && showSearchInput && (\n <SearchInput\n label=\"\"\n value={searchValue}\n placeholder={searchValuePlaceholder}\n name={searchNameValue || searchId}\n onChange={({ name, value }) => onSearchChange?.({ name, value })}\n onClearButtonClick={onSearchClear}\n />\n )}\n <BaseBox>\n <BaseBox\n {...metaAttribute({ name: MetaConstants.ListViewFilter, testID })}\n {...makeAnalyticsAttribute(rest)}\n display=\"flex\"\n justifyContent=\"space-between\"\n >\n <Box\n position=\"relative\"\n display=\"flex\"\n flexDirection=\"column\"\n width={isMobile ? '88%' : 'auto'}\n marginRight={isMobile ? 'spacing.2' : 'spacing.0'}\n >\n <StyledQuickFilterContainer\n overflow={isMobile ? 'scroll' : 'visible'}\n width={isMobile ? '100%' : 'auto'}\n ref={(node) => {\n if (node instanceof HTMLElement && quickFilters) {\n setShouldShowDecorationInQuickFilters(node.scrollWidth > node.offsetWidth);\n }\n }}\n paddingY=\"spacing.4\"\n paddingLeft={isMobile ? 'spacing.2' : 'spacing.0'}\n >\n {quickFilters}\n </StyledQuickFilterContainer>\n {isMobile && shouldShowDecorationInQuickFilters ? (\n <Box\n position=\"absolute\"\n right=\"-1px\"\n top=\"spacing.4\"\n width={gradientOverlyContainerWidth}\n height={gradientOverlyContainerHeight}\n >\n <GradientOverlay\n gradientColorLeft={theme.colors.transparent}\n gradientColorRight={theme.colors.surface.background.gray.intense}\n dividerColor={theme.colors.surface.border.gray.normal}\n />\n <Divider orientation=\"vertical\" />\n </Box>\n ) : null}\n </Box>\n\n <BaseBox display=\"flex\" gap=\"spacing.4\" alignItems=\"center\">\n <Box position=\"relative\" display=\"inline-block\">\n <Button\n variant=\"tertiary\"\n size=\"medium\"\n color=\"primary\"\n onClick={() => {\n setShowFilters((prev) => !prev);\n }}\n icon={FilterIcon}\n />\n <Box\n position=\"absolute\"\n right=\"spacing.0\"\n top=\"spacing.0\"\n transform=\"translate(50%, -50%)\"\n >\n <Counter\n value={selectedFiltersCount || Object.keys(listViewSelectedFilters).length}\n color=\"primary\"\n emphasis=\"intense\"\n size=\"small\"\n />\n </Box>\n </Box>\n {!isMobile && showSearchInput && (\n <Box width=\"256px\">\n <SearchInput\n label=\"\"\n value={searchValue}\n placeholder={searchValuePlaceholder}\n name={searchNameValue || searchId}\n onChange={({ name, value }) => onSearchChange?.({ name, value })}\n onClearButtonClick={onSearchClear}\n size=\"medium\"\n />\n </Box>\n )}\n </BaseBox>\n </BaseBox>\n <AnimatePresence>\n {showFilters && (\n <m.div\n initial={{ height: 0 }}\n animate={{ height: showFilters ? 'auto' : 0 }}\n transition={{\n duration: msToSeconds(theme.motion.duration.moderate),\n ease: cssBezierToArray(castWebType(theme.motion.easing.standard)),\n }}\n exit={{ height: 0 }}\n >\n <BaseBox\n display=\"flex\"\n backgroundColor={\n isMobile ? 'surface.background.white' : 'surface.background.gray.moderate'\n }\n borderTop={!isMobile ? '1ps solid' : undefined}\n borderTopColor={!isMobile ? 'surface.border.gray.muted' : undefined}\n >\n {children}\n </BaseBox>\n </m.div>\n )}\n </AnimatePresence>\n </BaseBox>\n </ListViewFiltersProvider>\n );\n};\n\nexport { ListViewFilters };\n"],"names":["gradientOverlyContainerWidth","gradientOverlyContainerHeight","StyledQuickFilterContainer","styled","BaseBox","withConfig","displayName","componentId","display","scrollbarWidth","msOverflowStyle","GradientOverlay","div","_ref","gradientColorRight","_ref2","gradientColorLeft","_ref3","dividerColor","ListViewFilters","_ref4","testID","children","quickFilters","onSearchChange","searchValue","searchValuePlaceholder","searchName","showQuickFilters","onShowQuickFiltersChange","onSearchClear","_ref4$selectedFilters","selectedFiltersCount","rest","_objectWithoutProperties","_excluded","_useState","useState","_useState2","_slicedToArray","shouldShowDecorationInQuickFilters","setShouldShowDecorationInQuickFilters","_useControllableState","useControllableState","defaultValue","value","onChange","_useControllableState2","showFilters","setShowFilters","_useState3","_useState4","listViewSelectedFilters","setListViewSelectedFilters","searchId","useId","searchNameValue","isMobile","useIsMobile","_useTheme","useTheme","theme","showSearchInput","_jsxs","ListViewFiltersProvider","_jsx","SearchInput","label","placeholder","name","_ref5","onClearButtonClick","_objectSpread","metaAttribute","MetaConstants","ListViewFilter","makeAnalyticsAttribute","justifyContent","Box","position","flexDirection","width","marginRight","overflow","ref","node","HTMLElement","scrollWidth","offsetWidth","paddingY","paddingLeft","right","top","height","colors","transparent","surface","background","gray","intense","border","normal","Divider","orientation","gap","alignItems","Button","variant","size","color","onClick","prev","icon","FilterIcon","transform","Counter","Object","keys","length","emphasis","_ref6","AnimatePresence","m","initial","animate","transition","duration","msToSeconds","motion","moderate","ease","cssBezierToArray","castWebType","easing","standard","exit","backgroundColor","borderTop","undefined","borderTopColor"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ListViewFilters.web.js","sources":["../../../../../../src/components/ListView/ListViewFilters.web.tsx"],"sourcesContent":["import { useState } from 'react';\nimport { AnimatePresence, m } from 'framer-motion';\nimport styled from 'styled-components';\nimport type { ListViewFilterProps, ListViewSelectedFiltersType } from './types';\nimport { ListViewFiltersProvider } from './ListViewFiltersContext.web';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\nimport BaseBox from '~components/Box/BaseBox';\nimport { MetaConstants, metaAttribute } from '~utils/metaAttribute';\nimport { FilterIcon } from '~components/Icons';\nimport { Button } from '~components/Button';\nimport { Counter } from '~components/Counter';\nimport { Box } from '~components/Box';\nimport { SearchInput } from '~components/Input/SearchInput';\nimport { useId } from '~utils/useId';\nimport { useControllableState } from '~utils/useControllable';\nimport { useIsMobile } from '~utils/useIsMobile';\nimport { msToSeconds } from '~utils/msToSeconds';\nimport { useTheme } from '~components/BladeProvider';\nimport { cssBezierToArray } from '~utils/cssBezierToArray';\nimport { castWebType } from '~utils';\nimport { Divider } from '~components/Divider';\n\nconst gradientOverlyContainerWidth = '21px'; // 20px + 1px divider width\nconst gradientOverlyContainerHeight = '38px';\n\nconst StyledQuickFilterContainer = styled(BaseBox)({\n /* For Webkit (Chrome, Safari) */\n '::-webkit-scrollbar': {\n display: 'none',\n },\n /* For Firefox */\n scrollbarWidth: 'none',\n /* For Edge */\n msOverflowStyle: 'none',\n});\n\nconst GradientOverlay = styled.div<{\n gradientColorLeft: string;\n dividerColor: string;\n gradientColorRight: string;\n}>`\n height: 100%;\n width: 20px;\n background: linear-gradient(\n 270deg,\n ${({ gradientColorRight }) => gradientColorRight} 0%,\n ${({ gradientColorLeft }) => gradientColorLeft} 100%\n );\n pointer-events: none;\n &::after {\n content: '';\n position: absolute;\n right: 0;\n top: 0;\n height: 100%;\n width: 1px;\n background-color: ${({ dividerColor }) => dividerColor};\n }\n`;\n\nconst ListViewFilters = ({\n testID,\n children,\n quickFilters,\n onSearchChange,\n searchValue,\n searchValuePlaceholder,\n searchName,\n showQuickFilters,\n onShowQuickFiltersChange,\n onSearchClear,\n selectedFiltersCount = 0,\n ...rest\n}: ListViewFilterProps): React.ReactElement => {\n const [shouldShowDecorationInQuickFilters, setShouldShowDecorationInQuickFilters] = useState(\n false,\n );\n const [showFilters, setShowFilters] = useControllableState({\n defaultValue: showQuickFilters,\n value: showQuickFilters,\n onChange: onShowQuickFiltersChange,\n });\n const [\n listViewSelectedFilters,\n setListViewSelectedFilters,\n ] = useState<ListViewSelectedFiltersType>({});\n const searchId = useId('search-input');\n const searchNameValue = searchName || searchId;\n const isMobile = useIsMobile();\n const { theme } = useTheme();\n const showSearchInput = onSearchChange || onSearchClear || searchValuePlaceholder || searchName;\n\n return (\n <ListViewFiltersProvider\n value={{\n listViewSelectedFilters,\n setListViewSelectedFilters,\n selectedFiltersCount,\n }}\n >\n {isMobile && showSearchInput && (\n <SearchInput\n label=\"\"\n value={searchValue}\n placeholder={searchValuePlaceholder}\n name={searchNameValue || searchId}\n onChange={({ name, value }) => onSearchChange?.({ name, value })}\n onClearButtonClick={onSearchClear}\n />\n )}\n <BaseBox>\n <BaseBox\n {...metaAttribute({ name: MetaConstants.ListViewFilter, testID })}\n {...makeAnalyticsAttribute(rest)}\n display=\"flex\"\n justifyContent=\"space-between\"\n >\n <Box\n position=\"relative\"\n display=\"flex\"\n flexDirection=\"column\"\n width={isMobile ? '88%' : 'auto'}\n marginRight={isMobile ? 'spacing.2' : 'spacing.0'}\n >\n <StyledQuickFilterContainer\n overflow={isMobile ? 'scroll' : 'visible'}\n width={isMobile ? '100%' : 'auto'}\n ref={(node) => {\n if (node instanceof HTMLElement && quickFilters) {\n setShouldShowDecorationInQuickFilters(node.scrollWidth > node.offsetWidth);\n }\n }}\n paddingY=\"spacing.4\"\n paddingLeft={isMobile ? 'spacing.2' : 'spacing.0'}\n >\n {quickFilters}\n </StyledQuickFilterContainer>\n {isMobile && shouldShowDecorationInQuickFilters ? (\n <Box\n position=\"absolute\"\n right=\"-1px\"\n top=\"spacing.4\"\n width={gradientOverlyContainerWidth}\n height={gradientOverlyContainerHeight}\n >\n <GradientOverlay\n gradientColorLeft={theme.colors.transparent}\n gradientColorRight={theme.colors.surface.background.gray.intense}\n dividerColor={theme.colors.surface.border.gray.normal}\n />\n <Divider orientation=\"vertical\" />\n </Box>\n ) : null}\n </Box>\n\n <BaseBox display=\"flex\" gap=\"spacing.4\" alignItems=\"center\">\n <Box position=\"relative\" display=\"inline-block\">\n <Button\n variant=\"tertiary\"\n size=\"medium\"\n color=\"primary\"\n onClick={() => {\n setShowFilters((prev) => !prev);\n }}\n icon={FilterIcon}\n accessibilityLabel=\"Show More Filters\"\n />\n <Box\n position=\"absolute\"\n right=\"spacing.0\"\n top=\"spacing.0\"\n transform=\"translate(50%, -50%)\"\n >\n <Counter\n value={selectedFiltersCount || Object.keys(listViewSelectedFilters).length}\n color=\"primary\"\n emphasis=\"intense\"\n size=\"small\"\n />\n </Box>\n </Box>\n {!isMobile && showSearchInput && (\n <Box width=\"256px\">\n <SearchInput\n label=\"\"\n value={searchValue}\n placeholder={searchValuePlaceholder}\n name={searchNameValue || searchId}\n onChange={({ name, value }) => onSearchChange?.({ name, value })}\n onClearButtonClick={onSearchClear}\n size=\"medium\"\n />\n </Box>\n )}\n </BaseBox>\n </BaseBox>\n <AnimatePresence>\n {showFilters && (\n <m.div\n initial={{ height: 0 }}\n animate={{ height: showFilters ? 'auto' : 0 }}\n transition={{\n duration: msToSeconds(theme.motion.duration.moderate),\n ease: cssBezierToArray(castWebType(theme.motion.easing.standard)),\n }}\n exit={{ height: 0 }}\n >\n <BaseBox\n display=\"flex\"\n backgroundColor={\n isMobile ? 'surface.background.white' : 'surface.background.gray.moderate'\n }\n borderTop={!isMobile ? '1ps solid' : undefined}\n borderTopColor={!isMobile ? 'surface.border.gray.muted' : undefined}\n >\n {children}\n </BaseBox>\n </m.div>\n )}\n </AnimatePresence>\n </BaseBox>\n </ListViewFiltersProvider>\n );\n};\n\nexport { ListViewFilters };\n"],"names":["gradientOverlyContainerWidth","gradientOverlyContainerHeight","StyledQuickFilterContainer","styled","BaseBox","withConfig","displayName","componentId","display","scrollbarWidth","msOverflowStyle","GradientOverlay","div","_ref","gradientColorRight","_ref2","gradientColorLeft","_ref3","dividerColor","ListViewFilters","_ref4","testID","children","quickFilters","onSearchChange","searchValue","searchValuePlaceholder","searchName","showQuickFilters","onShowQuickFiltersChange","onSearchClear","_ref4$selectedFilters","selectedFiltersCount","rest","_objectWithoutProperties","_excluded","_useState","useState","_useState2","_slicedToArray","shouldShowDecorationInQuickFilters","setShouldShowDecorationInQuickFilters","_useControllableState","useControllableState","defaultValue","value","onChange","_useControllableState2","showFilters","setShowFilters","_useState3","_useState4","listViewSelectedFilters","setListViewSelectedFilters","searchId","useId","searchNameValue","isMobile","useIsMobile","_useTheme","useTheme","theme","showSearchInput","_jsxs","ListViewFiltersProvider","_jsx","SearchInput","label","placeholder","name","_ref5","onClearButtonClick","_objectSpread","metaAttribute","MetaConstants","ListViewFilter","makeAnalyticsAttribute","justifyContent","Box","position","flexDirection","width","marginRight","overflow","ref","node","HTMLElement","scrollWidth","offsetWidth","paddingY","paddingLeft","right","top","height","colors","transparent","surface","background","gray","intense","border","normal","Divider","orientation","gap","alignItems","Button","variant","size","color","onClick","prev","icon","FilterIcon","accessibilityLabel","transform","Counter","Object","keys","length","emphasis","_ref6","AnimatePresence","m","initial","animate","transition","duration","msToSeconds","motion","moderate","ease","cssBezierToArray","castWebType","easing","standard","exit","backgroundColor","borderTop","undefined","borderTopColor"],"mappings":"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"}
|
|
@@ -176,7 +176,8 @@ var ListViewFilters = function ListViewFilters(_ref4) {
|
|
|
176
176
|
return !prev;
|
|
177
177
|
});
|
|
178
178
|
},
|
|
179
|
-
icon: FilterIcon
|
|
179
|
+
icon: FilterIcon,
|
|
180
|
+
accessibilityLabel: "Show More Filters"
|
|
180
181
|
}), /*#__PURE__*/jsx(Box, {
|
|
181
182
|
position: "absolute",
|
|
182
183
|
right: "spacing.0",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListViewFilters.web.js","sources":["../../../../../../src/components/ListView/ListViewFilters.web.tsx"],"sourcesContent":["import { useState } from 'react';\nimport { AnimatePresence, m } from 'framer-motion';\nimport styled from 'styled-components';\nimport type { ListViewFilterProps, ListViewSelectedFiltersType } from './types';\nimport { ListViewFiltersProvider } from './ListViewFiltersContext.web';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\nimport BaseBox from '~components/Box/BaseBox';\nimport { MetaConstants, metaAttribute } from '~utils/metaAttribute';\nimport { FilterIcon } from '~components/Icons';\nimport { Button } from '~components/Button';\nimport { Counter } from '~components/Counter';\nimport { Box } from '~components/Box';\nimport { SearchInput } from '~components/Input/SearchInput';\nimport { useId } from '~utils/useId';\nimport { useControllableState } from '~utils/useControllable';\nimport { useIsMobile } from '~utils/useIsMobile';\nimport { msToSeconds } from '~utils/msToSeconds';\nimport { useTheme } from '~components/BladeProvider';\nimport { cssBezierToArray } from '~utils/cssBezierToArray';\nimport { castWebType } from '~utils';\nimport { Divider } from '~components/Divider';\n\nconst gradientOverlyContainerWidth = '21px'; // 20px + 1px divider width\nconst gradientOverlyContainerHeight = '38px';\n\nconst StyledQuickFilterContainer = styled(BaseBox)({\n /* For Webkit (Chrome, Safari) */\n '::-webkit-scrollbar': {\n display: 'none',\n },\n /* For Firefox */\n scrollbarWidth: 'none',\n /* For Edge */\n msOverflowStyle: 'none',\n});\n\nconst GradientOverlay = styled.div<{\n gradientColorLeft: string;\n dividerColor: string;\n gradientColorRight: string;\n}>`\n height: 100%;\n width: 20px;\n background: linear-gradient(\n 270deg,\n ${({ gradientColorRight }) => gradientColorRight} 0%,\n ${({ gradientColorLeft }) => gradientColorLeft} 100%\n );\n pointer-events: none;\n &::after {\n content: '';\n position: absolute;\n right: 0;\n top: 0;\n height: 100%;\n width: 1px;\n background-color: ${({ dividerColor }) => dividerColor};\n }\n`;\n\nconst ListViewFilters = ({\n testID,\n children,\n quickFilters,\n onSearchChange,\n searchValue,\n searchValuePlaceholder,\n searchName,\n showQuickFilters,\n onShowQuickFiltersChange,\n onSearchClear,\n selectedFiltersCount = 0,\n ...rest\n}: ListViewFilterProps): React.ReactElement => {\n const [shouldShowDecorationInQuickFilters, setShouldShowDecorationInQuickFilters] = useState(\n false,\n );\n const [showFilters, setShowFilters] = useControllableState({\n defaultValue: showQuickFilters,\n value: showQuickFilters,\n onChange: onShowQuickFiltersChange,\n });\n const [\n listViewSelectedFilters,\n setListViewSelectedFilters,\n ] = useState<ListViewSelectedFiltersType>({});\n const searchId = useId('search-input');\n const searchNameValue = searchName || searchId;\n const isMobile = useIsMobile();\n const { theme } = useTheme();\n const showSearchInput = onSearchChange || onSearchClear || searchValuePlaceholder || searchName;\n\n return (\n <ListViewFiltersProvider\n value={{\n listViewSelectedFilters,\n setListViewSelectedFilters,\n selectedFiltersCount,\n }}\n >\n {isMobile && showSearchInput && (\n <SearchInput\n label=\"\"\n value={searchValue}\n placeholder={searchValuePlaceholder}\n name={searchNameValue || searchId}\n onChange={({ name, value }) => onSearchChange?.({ name, value })}\n onClearButtonClick={onSearchClear}\n />\n )}\n <BaseBox>\n <BaseBox\n {...metaAttribute({ name: MetaConstants.ListViewFilter, testID })}\n {...makeAnalyticsAttribute(rest)}\n display=\"flex\"\n justifyContent=\"space-between\"\n >\n <Box\n position=\"relative\"\n display=\"flex\"\n flexDirection=\"column\"\n width={isMobile ? '88%' : 'auto'}\n marginRight={isMobile ? 'spacing.2' : 'spacing.0'}\n >\n <StyledQuickFilterContainer\n overflow={isMobile ? 'scroll' : 'visible'}\n width={isMobile ? '100%' : 'auto'}\n ref={(node) => {\n if (node instanceof HTMLElement && quickFilters) {\n setShouldShowDecorationInQuickFilters(node.scrollWidth > node.offsetWidth);\n }\n }}\n paddingY=\"spacing.4\"\n paddingLeft={isMobile ? 'spacing.2' : 'spacing.0'}\n >\n {quickFilters}\n </StyledQuickFilterContainer>\n {isMobile && shouldShowDecorationInQuickFilters ? (\n <Box\n position=\"absolute\"\n right=\"-1px\"\n top=\"spacing.4\"\n width={gradientOverlyContainerWidth}\n height={gradientOverlyContainerHeight}\n >\n <GradientOverlay\n gradientColorLeft={theme.colors.transparent}\n gradientColorRight={theme.colors.surface.background.gray.intense}\n dividerColor={theme.colors.surface.border.gray.normal}\n />\n <Divider orientation=\"vertical\" />\n </Box>\n ) : null}\n </Box>\n\n <BaseBox display=\"flex\" gap=\"spacing.4\" alignItems=\"center\">\n <Box position=\"relative\" display=\"inline-block\">\n <Button\n variant=\"tertiary\"\n size=\"medium\"\n color=\"primary\"\n onClick={() => {\n setShowFilters((prev) => !prev);\n }}\n icon={FilterIcon}\n />\n <Box\n position=\"absolute\"\n right=\"spacing.0\"\n top=\"spacing.0\"\n transform=\"translate(50%, -50%)\"\n >\n <Counter\n value={selectedFiltersCount || Object.keys(listViewSelectedFilters).length}\n color=\"primary\"\n emphasis=\"intense\"\n size=\"small\"\n />\n </Box>\n </Box>\n {!isMobile && showSearchInput && (\n <Box width=\"256px\">\n <SearchInput\n label=\"\"\n value={searchValue}\n placeholder={searchValuePlaceholder}\n name={searchNameValue || searchId}\n onChange={({ name, value }) => onSearchChange?.({ name, value })}\n onClearButtonClick={onSearchClear}\n size=\"medium\"\n />\n </Box>\n )}\n </BaseBox>\n </BaseBox>\n <AnimatePresence>\n {showFilters && (\n <m.div\n initial={{ height: 0 }}\n animate={{ height: showFilters ? 'auto' : 0 }}\n transition={{\n duration: msToSeconds(theme.motion.duration.moderate),\n ease: cssBezierToArray(castWebType(theme.motion.easing.standard)),\n }}\n exit={{ height: 0 }}\n >\n <BaseBox\n display=\"flex\"\n backgroundColor={\n isMobile ? 'surface.background.white' : 'surface.background.gray.moderate'\n }\n borderTop={!isMobile ? '1ps solid' : undefined}\n borderTopColor={!isMobile ? 'surface.border.gray.muted' : undefined}\n >\n {children}\n </BaseBox>\n </m.div>\n )}\n </AnimatePresence>\n </BaseBox>\n </ListViewFiltersProvider>\n );\n};\n\nexport { ListViewFilters };\n"],"names":["gradientOverlyContainerWidth","gradientOverlyContainerHeight","StyledQuickFilterContainer","styled","BaseBox","withConfig","displayName","componentId","display","scrollbarWidth","msOverflowStyle","GradientOverlay","div","_ref","gradientColorRight","_ref2","gradientColorLeft","_ref3","dividerColor","ListViewFilters","_ref4","testID","children","quickFilters","onSearchChange","searchValue","searchValuePlaceholder","searchName","showQuickFilters","onShowQuickFiltersChange","onSearchClear","_ref4$selectedFilters","selectedFiltersCount","rest","_objectWithoutProperties","_excluded","_useState","useState","_useState2","_slicedToArray","shouldShowDecorationInQuickFilters","setShouldShowDecorationInQuickFilters","_useControllableState","useControllableState","defaultValue","value","onChange","_useControllableState2","showFilters","setShowFilters","_useState3","_useState4","listViewSelectedFilters","setListViewSelectedFilters","searchId","useId","searchNameValue","isMobile","useIsMobile","_useTheme","useTheme","theme","showSearchInput","_jsxs","ListViewFiltersProvider","_jsx","SearchInput","label","placeholder","name","_ref5","onClearButtonClick","_objectSpread","metaAttribute","MetaConstants","ListViewFilter","makeAnalyticsAttribute","justifyContent","Box","position","flexDirection","width","marginRight","overflow","ref","node","HTMLElement","scrollWidth","offsetWidth","paddingY","paddingLeft","right","top","height","colors","transparent","surface","background","gray","intense","border","normal","Divider","orientation","gap","alignItems","Button","variant","size","color","onClick","prev","icon","FilterIcon","transform","Counter","Object","keys","length","emphasis","_ref6","AnimatePresence","m","initial","animate","transition","duration","msToSeconds","motion","moderate","ease","cssBezierToArray","castWebType","easing","standard","exit","backgroundColor","borderTop","undefined","borderTopColor"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ListViewFilters.web.js","sources":["../../../../../../src/components/ListView/ListViewFilters.web.tsx"],"sourcesContent":["import { useState } from 'react';\nimport { AnimatePresence, m } from 'framer-motion';\nimport styled from 'styled-components';\nimport type { ListViewFilterProps, ListViewSelectedFiltersType } from './types';\nimport { ListViewFiltersProvider } from './ListViewFiltersContext.web';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\nimport BaseBox from '~components/Box/BaseBox';\nimport { MetaConstants, metaAttribute } from '~utils/metaAttribute';\nimport { FilterIcon } from '~components/Icons';\nimport { Button } from '~components/Button';\nimport { Counter } from '~components/Counter';\nimport { Box } from '~components/Box';\nimport { SearchInput } from '~components/Input/SearchInput';\nimport { useId } from '~utils/useId';\nimport { useControllableState } from '~utils/useControllable';\nimport { useIsMobile } from '~utils/useIsMobile';\nimport { msToSeconds } from '~utils/msToSeconds';\nimport { useTheme } from '~components/BladeProvider';\nimport { cssBezierToArray } from '~utils/cssBezierToArray';\nimport { castWebType } from '~utils';\nimport { Divider } from '~components/Divider';\n\nconst gradientOverlyContainerWidth = '21px'; // 20px + 1px divider width\nconst gradientOverlyContainerHeight = '38px';\n\nconst StyledQuickFilterContainer = styled(BaseBox)({\n /* For Webkit (Chrome, Safari) */\n '::-webkit-scrollbar': {\n display: 'none',\n },\n /* For Firefox */\n scrollbarWidth: 'none',\n /* For Edge */\n msOverflowStyle: 'none',\n});\n\nconst GradientOverlay = styled.div<{\n gradientColorLeft: string;\n dividerColor: string;\n gradientColorRight: string;\n}>`\n height: 100%;\n width: 20px;\n background: linear-gradient(\n 270deg,\n ${({ gradientColorRight }) => gradientColorRight} 0%,\n ${({ gradientColorLeft }) => gradientColorLeft} 100%\n );\n pointer-events: none;\n &::after {\n content: '';\n position: absolute;\n right: 0;\n top: 0;\n height: 100%;\n width: 1px;\n background-color: ${({ dividerColor }) => dividerColor};\n }\n`;\n\nconst ListViewFilters = ({\n testID,\n children,\n quickFilters,\n onSearchChange,\n searchValue,\n searchValuePlaceholder,\n searchName,\n showQuickFilters,\n onShowQuickFiltersChange,\n onSearchClear,\n selectedFiltersCount = 0,\n ...rest\n}: ListViewFilterProps): React.ReactElement => {\n const [shouldShowDecorationInQuickFilters, setShouldShowDecorationInQuickFilters] = useState(\n false,\n );\n const [showFilters, setShowFilters] = useControllableState({\n defaultValue: showQuickFilters,\n value: showQuickFilters,\n onChange: onShowQuickFiltersChange,\n });\n const [\n listViewSelectedFilters,\n setListViewSelectedFilters,\n ] = useState<ListViewSelectedFiltersType>({});\n const searchId = useId('search-input');\n const searchNameValue = searchName || searchId;\n const isMobile = useIsMobile();\n const { theme } = useTheme();\n const showSearchInput = onSearchChange || onSearchClear || searchValuePlaceholder || searchName;\n\n return (\n <ListViewFiltersProvider\n value={{\n listViewSelectedFilters,\n setListViewSelectedFilters,\n selectedFiltersCount,\n }}\n >\n {isMobile && showSearchInput && (\n <SearchInput\n label=\"\"\n value={searchValue}\n placeholder={searchValuePlaceholder}\n name={searchNameValue || searchId}\n onChange={({ name, value }) => onSearchChange?.({ name, value })}\n onClearButtonClick={onSearchClear}\n />\n )}\n <BaseBox>\n <BaseBox\n {...metaAttribute({ name: MetaConstants.ListViewFilter, testID })}\n {...makeAnalyticsAttribute(rest)}\n display=\"flex\"\n justifyContent=\"space-between\"\n >\n <Box\n position=\"relative\"\n display=\"flex\"\n flexDirection=\"column\"\n width={isMobile ? '88%' : 'auto'}\n marginRight={isMobile ? 'spacing.2' : 'spacing.0'}\n >\n <StyledQuickFilterContainer\n overflow={isMobile ? 'scroll' : 'visible'}\n width={isMobile ? '100%' : 'auto'}\n ref={(node) => {\n if (node instanceof HTMLElement && quickFilters) {\n setShouldShowDecorationInQuickFilters(node.scrollWidth > node.offsetWidth);\n }\n }}\n paddingY=\"spacing.4\"\n paddingLeft={isMobile ? 'spacing.2' : 'spacing.0'}\n >\n {quickFilters}\n </StyledQuickFilterContainer>\n {isMobile && shouldShowDecorationInQuickFilters ? (\n <Box\n position=\"absolute\"\n right=\"-1px\"\n top=\"spacing.4\"\n width={gradientOverlyContainerWidth}\n height={gradientOverlyContainerHeight}\n >\n <GradientOverlay\n gradientColorLeft={theme.colors.transparent}\n gradientColorRight={theme.colors.surface.background.gray.intense}\n dividerColor={theme.colors.surface.border.gray.normal}\n />\n <Divider orientation=\"vertical\" />\n </Box>\n ) : null}\n </Box>\n\n <BaseBox display=\"flex\" gap=\"spacing.4\" alignItems=\"center\">\n <Box position=\"relative\" display=\"inline-block\">\n <Button\n variant=\"tertiary\"\n size=\"medium\"\n color=\"primary\"\n onClick={() => {\n setShowFilters((prev) => !prev);\n }}\n icon={FilterIcon}\n accessibilityLabel=\"Show More Filters\"\n />\n <Box\n position=\"absolute\"\n right=\"spacing.0\"\n top=\"spacing.0\"\n transform=\"translate(50%, -50%)\"\n >\n <Counter\n value={selectedFiltersCount || Object.keys(listViewSelectedFilters).length}\n color=\"primary\"\n emphasis=\"intense\"\n size=\"small\"\n />\n </Box>\n </Box>\n {!isMobile && showSearchInput && (\n <Box width=\"256px\">\n <SearchInput\n label=\"\"\n value={searchValue}\n placeholder={searchValuePlaceholder}\n name={searchNameValue || searchId}\n onChange={({ name, value }) => onSearchChange?.({ name, value })}\n onClearButtonClick={onSearchClear}\n size=\"medium\"\n />\n </Box>\n )}\n </BaseBox>\n </BaseBox>\n <AnimatePresence>\n {showFilters && (\n <m.div\n initial={{ height: 0 }}\n animate={{ height: showFilters ? 'auto' : 0 }}\n transition={{\n duration: msToSeconds(theme.motion.duration.moderate),\n ease: cssBezierToArray(castWebType(theme.motion.easing.standard)),\n }}\n exit={{ height: 0 }}\n >\n <BaseBox\n display=\"flex\"\n backgroundColor={\n isMobile ? 'surface.background.white' : 'surface.background.gray.moderate'\n }\n borderTop={!isMobile ? '1ps solid' : undefined}\n borderTopColor={!isMobile ? 'surface.border.gray.muted' : undefined}\n >\n {children}\n </BaseBox>\n </m.div>\n )}\n </AnimatePresence>\n </BaseBox>\n </ListViewFiltersProvider>\n );\n};\n\nexport { ListViewFilters };\n"],"names":["gradientOverlyContainerWidth","gradientOverlyContainerHeight","StyledQuickFilterContainer","styled","BaseBox","withConfig","displayName","componentId","display","scrollbarWidth","msOverflowStyle","GradientOverlay","div","_ref","gradientColorRight","_ref2","gradientColorLeft","_ref3","dividerColor","ListViewFilters","_ref4","testID","children","quickFilters","onSearchChange","searchValue","searchValuePlaceholder","searchName","showQuickFilters","onShowQuickFiltersChange","onSearchClear","_ref4$selectedFilters","selectedFiltersCount","rest","_objectWithoutProperties","_excluded","_useState","useState","_useState2","_slicedToArray","shouldShowDecorationInQuickFilters","setShouldShowDecorationInQuickFilters","_useControllableState","useControllableState","defaultValue","value","onChange","_useControllableState2","showFilters","setShowFilters","_useState3","_useState4","listViewSelectedFilters","setListViewSelectedFilters","searchId","useId","searchNameValue","isMobile","useIsMobile","_useTheme","useTheme","theme","showSearchInput","_jsxs","ListViewFiltersProvider","_jsx","SearchInput","label","placeholder","name","_ref5","onClearButtonClick","_objectSpread","metaAttribute","MetaConstants","ListViewFilter","makeAnalyticsAttribute","justifyContent","Box","position","flexDirection","width","marginRight","overflow","ref","node","HTMLElement","scrollWidth","offsetWidth","paddingY","paddingLeft","right","top","height","colors","transparent","surface","background","gray","intense","border","normal","Divider","orientation","gap","alignItems","Button","variant","size","color","onClick","prev","icon","FilterIcon","accessibilityLabel","transform","Counter","Object","keys","length","emphasis","_ref6","AnimatePresence","m","initial","animate","transition","duration","msToSeconds","motion","moderate","ease","cssBezierToArray","castWebType","easing","standard","exit","backgroundColor","borderTop","undefined","borderTopColor"],"mappings":"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"}
|