@sproutsocial/seeds-react-list 0.3.7 → 0.3.8

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.
@@ -8,14 +8,14 @@ $ tsup --dts
8
8
  CLI Cleaning output folder
9
9
  CJS Build start
10
10
  ESM Build start
11
- ESM dist/esm/index.js 17.14 KB
12
- ESM dist/esm/index.js.map 32.25 KB
13
- ESM ⚡️ Build success in 23ms
14
- CJS dist/index.js 21.48 KB
15
- CJS dist/index.js.map 33.10 KB
16
- CJS ⚡️ Build success in 23ms
11
+ CJS dist/index.js 21.57 KB
12
+ CJS dist/index.js.map 33.99 KB
13
+ CJS ⚡️ Build success in 25ms
14
+ ESM dist/esm/index.js 17.21 KB
15
+ ESM dist/esm/index.js.map 33.14 KB
16
+ ESM ⚡️ Build success in 25ms
17
17
  DTS Build start
18
- DTS ⚡️ Build success in 1736ms
18
+ DTS ⚡️ Build success in 1757ms
19
19
  DTS dist/index.d.ts 5.24 KB
20
20
  DTS dist/index.d.mts 5.24 KB
21
- Done in 2.44s.
21
+ Done in 2.46s.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @sproutsocial/seeds-react-list
2
2
 
3
+ ## 0.3.8
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [4ba8720]
8
+ - Updated dependencies [df9d751]
9
+ - @sproutsocial/seeds-react-theme@3.6.2
10
+ - @sproutsocial/seeds-react-button@2.0.0
11
+ - @sproutsocial/seeds-react-box@1.1.16
12
+ - @sproutsocial/seeds-react-icon@2.3.2
13
+ - @sproutsocial/seeds-react-pagination@0.1.7
14
+
3
15
  ## 0.3.7
4
16
 
5
17
  ### Patch Changes
package/dist/esm/index.js CHANGED
@@ -379,6 +379,10 @@ var disabled = css`
379
379
  opacity: 0.4;
380
380
  pointer-events: none;
381
381
  `;
382
+ var interactiveDisabled = css`
383
+ opacity: 0.4;
384
+ cursor: not-allowed;
385
+ `;
382
386
  var container = css`
383
387
  background: ${({ theme }) => theme.colors.container.background.base};
384
388
  border: ${({ theme }) => theme.borders[500]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/styles.tsx","../../src/List.tsx","../../src/ListItem.tsx","../../src/ListItemContent.tsx","../../src/DataList.tsx","../../src/DataItemSkeleton.tsx","../../../seeds-react-skeleton/src/Skeleton.tsx","../../../seeds-react-skeleton/src/index.ts","../../src/VirtualizedDataList.tsx","../../../seeds-react-loader/src/Loader.tsx","../../../seeds-react-loader/src/styles.ts","../../../seeds-react-loader/src/index.ts","../../../seeds-react-mixins/src/index.ts","../../src/ListTypes.ts","../../src/ListItemTypes.ts","../../src/DataListTypes.ts"],"sourcesContent":["import styled from \"styled-components\";\nimport type { TypeListProps } from \"./ListTypes\";\n\nconst Container = styled.ul<TypeListProps>`\n margin: 0;\n padding: 0;\n list-style: none;\n`;\n\nexport default Container;\n","import Container from \"./styles\";\nimport type { TypeListProps } from \"./ListTypes\";\n\nconst List = ({ as = \"ul\", children, ...rest }: TypeListProps) => {\n return (\n <Container as={as} {...rest}>\n {children}\n </Container>\n );\n};\n\nList.displayName = \"List\";\n\nexport default List;\n","import * as React from \"react\";\nimport Box from \"@sproutsocial/seeds-react-box\";\nimport type { TypeListItemProps } from \"./ListItemTypes\";\n\nconst ListItem = React.forwardRef<HTMLLIElement, TypeListItemProps>(\n ({ isBordered, children, ...rest }, ref) => {\n return (\n <Box\n as=\"li\"\n ref={ref}\n borderRadius=\"outer\"\n {...(isBordered\n ? {\n border: 500,\n borderColor: \"container.border.base\",\n p: 300,\n }\n : {})}\n mt={300}\n {...rest}\n >\n {children}\n </Box>\n );\n }\n);\n\nListItem.displayName = \"ListItem\";\n\nexport default ListItem;\n","import * as React from \"react\";\nimport Box from \"@sproutsocial/seeds-react-box\";\nimport Text from \"@sproutsocial/seeds-react-text\";\nimport { Icon } from \"@sproutsocial/seeds-react-icon\";\nimport type { TypeListItemContentProps } from \"./ListItemTypes\";\n\nconst ListItemContent = ({\n text,\n details,\n aside,\n iconName,\n iconLabel,\n actions,\n ...rest\n}: TypeListItemContentProps) => {\n return (\n <Box\n display=\"flex\"\n justifyContent=\"space-between\"\n borderRadius=\"outer\"\n alignItems=\"baseline\"\n {...rest}\n >\n <Box display=\"flex\" flex=\"1\">\n {iconName && (\n <span>\n <Icon mr={300} name={iconName} size=\"small\" ariaLabel={iconLabel} />\n </span>\n )}\n <Box flex=\"1\">\n <Text.SmallSubHeadline as=\"div\">{text}</Text.SmallSubHeadline>\n {details && (\n <Text.Byline as=\"div\" mt={200}>\n {details}\n </Text.Byline>\n )}\n </Box>\n </Box>\n <Box display=\"flex\" alignItems=\"center\" gap={300} flexShrink={0}>\n {aside && <Text.Byline as=\"div\">{aside}</Text.Byline>}\n {actions && (\n <Box display=\"flex\" alignItems=\"center\">\n {actions}\n </Box>\n )}\n </Box>\n </Box>\n );\n};\n\nListItemContent.displayName = \"ListItemContent\";\n\nexport default ListItemContent;\n","import * as React from \"react\";\nimport { useRef, useState } from \"react\";\nimport List from \"./List\";\nimport DataItemSkeleton from \"./DataItemSkeleton\";\nimport ListItem from \"./ListItem\";\nimport Box from \"@sproutsocial/seeds-react-box\";\nimport Container from \"./styles\";\nimport type { TypeDataListProps } from \"./DataListTypes\";\nimport styled from \"styled-components\";\nimport { Pagination } from \"@sproutsocial/seeds-react-pagination\";\n\nconst HeaderContent = styled(Box)`\n width: 100%;\n transition: transform 0.4s ease-in-out;\n`;\n\nconst DataList = <T,>({\n as = \"ul\",\n data,\n renderItem,\n isLoading,\n LoadingComponent = DataItemSkeleton,\n listItemProps = {},\n estimateItemSize = 50,\n Header,\n paginationConfig,\n currentPageIndex: controlledPageIndex,\n pageSize: controlledPageSize,\n totalItems,\n onPageChange,\n onPageSizeChange,\n ...rest\n}: TypeDataListProps<T>) => {\n const containerRef = useRef<HTMLDivElement>(null);\n const loadingItems = [0, 1, 2, 3, 4];\n\n // Internal state for uncontrolled pagination\n const [internalPageIndex, setInternalPageIndex] = useState(0);\n const [internalPageSize, setInternalPageSize] = useState(\n paginationConfig?.initialPageSize ?? 10\n );\n\n // Use controlled props if provided, otherwise use internal state\n const currentPageIndex = controlledPageIndex ?? internalPageIndex;\n const pageSize = controlledPageSize ?? internalPageSize;\n\n // Use provided callbacks or internal state setters\n const handlePageChange = onPageChange ?? setInternalPageIndex;\n const handlePageSizeChange = onPageSizeChange ?? setInternalPageSize;\n\n // Calculate paginated data if pagination is enabled\n const displayData = React.useMemo(() => {\n if (!paginationConfig) {\n return data;\n }\n const startIndex = currentPageIndex * pageSize;\n const endIndex = startIndex + pageSize;\n return data.slice(startIndex, endIndex);\n }, [data, paginationConfig, currentPageIndex, pageSize]);\n\n const totalRows = totalItems !== undefined ? totalItems : data.length;\n\n // Early return for loading state\n if (isLoading) {\n return (\n <>\n {Header && (\n <HeaderContent\n style={{\n position: \"sticky\",\n top: 0,\n left: 0,\n width: \"100%\",\n zIndex: 1,\n }}\n id=\"header\"\n >\n {Header}\n </HeaderContent>\n )}\n <List as={as} {...rest}>\n {loadingItems.map((index) => (\n <ListItem key={index} {...listItemProps}>\n <LoadingComponent />\n </ListItem>\n ))}\n </List>\n </>\n );\n }\n\n return (\n <>\n {Header && (\n <HeaderContent\n style={{\n position: \"sticky\",\n top: 0,\n left: 0,\n width: \"100%\",\n zIndex: 1,\n }}\n id=\"header\"\n >\n {Header}\n </HeaderContent>\n )}\n <List as={as} {...rest}>\n {displayData.map((item, index) => (\n <ListItem key={index} {...listItemProps}>\n {renderItem(item, index)}\n </ListItem>\n ))}\n </List>\n {paginationConfig && (\n <Pagination\n paginationConfig={paginationConfig}\n currentPageIndex={currentPageIndex}\n pageSize={pageSize}\n totalRows={totalRows}\n onPageChange={handlePageChange}\n onPageSizeChange={handlePageSizeChange}\n />\n )}\n </>\n );\n};\n\nDataList.displayName = \"DataList\";\n\nexport default DataList;\n","import * as React from \"react\";\nimport Box from \"@sproutsocial/seeds-react-box\";\nimport Skeleton from \"@sproutsocial/seeds-react-skeleton\";\nimport type { TypeDataItemSkeletonProps } from \"./DataItemSkeletonTypes\";\n\nconst DataItemSkeleton = ({\n hasIcon = false,\n hasAside = false,\n hasSubtext = false,\n}: TypeDataItemSkeletonProps) => {\n return (\n <Box\n display=\"flex\"\n justifyContent=\"space-between\"\n borderRadius=\"outer\"\n alignItems=\"flex-start\"\n mb={100}\n >\n <Box display=\"flex\" flex=\"1\">\n {hasIcon && (\n <Box mr={300} flexShrink={0}>\n <Skeleton width={21} height={21} borderRadius=\"pill\" />\n </Box>\n )}\n <Box flex=\"1\">\n <Skeleton width=\"80%\" height={21} borderRadius=\"inner\" />\n {hasSubtext && (\n <Skeleton width=\"60%\" height={16} mt={300} borderRadius=\"inner\" />\n )}\n </Box>\n </Box>\n {hasAside && (\n <Box display=\"flex\" alignItems=\"center\" gap={300} flexShrink={0}>\n <Skeleton width={60} height={21} borderRadius=\"inner\" />\n </Box>\n )}\n </Box>\n );\n};\n\nDataItemSkeleton.displayName = \"DataItemSkeleton\";\n\nexport default DataItemSkeleton;\n","import styled from \"styled-components\";\nimport Box from \"@sproutsocial/seeds-react-box\";\nimport type { SkeletonProps } from \"./SkeletonTypes\";\n\n/**\n *\n * @param borderRadius\n * @returns classname string for handling appropriate loader style depending on passed in properties\n */\n// @ts-ignore TODO: fix noImplicitAny error here. IDK why there are no types for this component\nconst SkeletonAttrs = ({ borderRadius, height, width }) => ({\n className:\n borderRadius === \"pill\" && height === width ? \"circular\" : \"linear\",\n});\n\nconst Skeleton = styled(Box).attrs(SkeletonAttrs)`\n position: relative;\n background: ${(props) =>\n props.theme.colors.container.background.decorative.neutral};\n overflow: hidden;\n &.circular {\n &:before {\n position: absolute;\n top: -25%;\n left: -25%;\n content: '';\n background-image: ${(props) => `conic-gradient(\n ${props.theme.colors.container.background.decorative.neutral} 270deg,\n ${props.theme.colors.container.border.decorative.neutral} 300deg\n );`};\n height: 150%;\n width: 150%;\n animation: SkeletonRotate 2s infinite linear;\n }\n &:after {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n content: '';\n height: calc(100% - 8px);\n width: calc(100% - 8px);\n background: ${(p) => p.theme.colors.app.background.base};\n border-radius: 50%;\n }\n }\n &.linear {\n position: relative;\n background-image: ${(props) => `linear-gradient(\n 288deg,\n ${props.theme.colors.container.background.decorative.neutral} 32%,\n ${props.theme.colors.container.border.decorative.neutral},\n ${props.theme.colors.container.background.decorative.neutral} 68%\n );`}\n background-size: 400%;\n background-repeat: no-repeat;\n animation: SkeletonShimmer 2s linear infinite reverse;\n overflow: hidden;\n &:after {\n position: absolute;\n bottom: 0;\n content: \"\";\n height: calc(100% - 4px);\n width: 100%;\n background: ${(props) =>\n props.theme.colors.container.background.decorative.neutral};\n \n }\n }\n\n @media (prefers-reduced-motion) {\n &.linear,\n &.circular::before {\n animation: none;\n }\n &:before,\n &:after {\n display: none;\n }\n &.linear,\n &.circular {\n border: 1px solid ${(props) =>\n props.theme.colors.container.border.decorative.neutral};\n animation: SkeletonPulse 2s linear infinite alternate; \n }\n }\n\n @keyframes SkeletonRotate {\n 100% {\n transform: rotate(360deg);\n }\n }\n @keyframes SkeletonRotateFade {\n 50% {\n transform: rotate(360deg);\n }\n 90% {\n opacity: 1;\n }\n 100% {\n transform: rotate(720deg);\n opacity: 0;\n }\n }\n\n @keyframes SkeletonShimmer {\n 0% {\n background-position: 0% 0;\n }\n 100% {\n background-position: 100% 0;\n }\n }\n @keyframes SkeletonPulse {\n 0% {\n border-color: ${(props) =>\n props.theme.colors.container.border.decorative.neutral}FF;\n }\n 100% {\n border-color: ${(props) =>\n props.theme.colors.container.border.decorative.neutral}1A;\n }\n }\n`;\n\n// @TODO: Refine types that are passed to SkeletonComponent\nexport const SkeletonComponent = ({\n borderRadius,\n height,\n width,\n ...props\n}: SkeletonProps) => {\n return (\n <Skeleton\n borderRadius={borderRadius}\n height={height}\n width={width}\n {...props}\n />\n );\n};\n\nexport default Skeleton;\n","import Skeleton from \"./Skeleton\";\n\nexport default Skeleton;\nexport * from \"./SkeletonTypes\";\nexport { Skeleton };\n","import * as React from \"react\";\nimport List from \"./List\";\nimport ListItem from \"./ListItem\";\nimport Box from \"@sproutsocial/seeds-react-box\";\nimport Loader from \"@sproutsocial/seeds-react-loader\";\nimport { useVirtualizer } from \"@tanstack/react-virtual\";\nimport type { TypeDataListProps } from \"./DataListTypes\";\nimport { useInView } from \"react-intersection-observer\";\nimport styled from \"styled-components\";\n\nconst HeaderContent = styled(Box)`\n width: 100%;\n transition: transform 0.4s ease-in-out;\n background-color: red;\n`;\n\nconst Experimental_VirtualizedDataList = <T,>({\n as = \"ul\",\n data,\n renderItem,\n estimateItemSize = 50,\n onEndReached,\n hasNextPage,\n isFetchingNextPage,\n Header,\n removeHeaderDepth = 500,\n headerHeight = 60,\n ...rest\n}: TypeDataListProps<T>) => {\n const afterInView = useInView();\n\n const parentRef = React.useRef<HTMLDivElement>(null);\n\n const count = data.length;\n\n const virtualizer = useVirtualizer({\n count,\n getScrollElement: () => parentRef.current,\n estimateSize: () => estimateItemSize,\n overscan: 5,\n });\n\n const items = virtualizer.getVirtualItems();\n const offset = virtualizer.scrollOffset;\n\n const transform =\n offset && offset > removeHeaderDepth\n ? `translateY(-${headerHeight}px)`\n : \"translateY(0px)\";\n\n React.useEffect(() => {\n if (afterInView.inView) {\n onEndReached?.();\n }\n }, [onEndReached, afterInView.inView]);\n\n return (\n <div\n ref={parentRef}\n className=\"List\"\n style={{\n width: \"100%\",\n height: \"100%\",\n overflowY: \"auto\",\n contain: \"strict\",\n }}\n >\n {Header && (\n <HeaderContent\n style={{\n position: \"sticky\",\n transform,\n top: 0,\n left: 0,\n width: \"100%\",\n zIndex: 1,\n }}\n id=\"header\"\n >\n {Header}\n </HeaderContent>\n )}\n <List\n as={as}\n style={{\n height: `${virtualizer.getTotalSize()}px`,\n width: \"100%\",\n position: \"relative\",\n }}\n >\n {items.map((virtualRow) => {\n return (\n <ListItem\n key={virtualRow.key}\n data-index={virtualRow.index}\n ref={virtualizer.measureElement}\n style={{\n position: \"absolute\",\n top: 0,\n left: 0,\n width: \"100%\",\n transform: `translateY(${\n virtualRow.start - virtualizer.options.scrollMargin\n }px)`,\n }}\n >\n {renderItem(data[virtualRow.index] as T)}\n </ListItem>\n );\n })}\n </List>\n {hasNextPage && !isFetchingNextPage && (\n <div ref={afterInView.ref}>\n <Loader delay={false} />\n </div>\n )}\n </div>\n );\n};\n\nExperimental_VirtualizedDataList.displayName =\n \"Experimental_VirtualizedDataList\";\n\nexport default Experimental_VirtualizedDataList;\n","import * as React from \"react\";\nimport Container, { Text } from \"./styles\";\nimport type { TypeLoaderProps } from \"./LoaderTypes\";\n\nconst Loader = ({\n size = \"large\",\n text = \"\",\n delay = true,\n color = \"dark\",\n qa,\n ...rest\n}: TypeLoaderProps) => {\n return (\n <Container\n small={size === \"small\"}\n dark={color === \"dark\"}\n delay={delay}\n data-qa-loader=\"\"\n {...qa}\n {...rest}\n >\n <Text>{text || \"Loading\"}</Text>\n </Container>\n );\n};\n\nexport default Loader;\n","import styled, { css, keyframes } from \"styled-components\";\nimport { COMMON } from \"@sproutsocial/seeds-react-system-props\";\nimport { visuallyHidden } from \"@sproutsocial/seeds-react-mixins\";\nimport type { TypeLoaderProps } from \"./LoaderTypes\";\n\nconst getSize = (size: number) => {\n const spinnerSize = Math.round(size * 1);\n const borderWidth = Math.round(size * 0.1);\n\n return css`\n width: ${size}px;\n height: ${size}px;\n box-shadow: ${({ theme }) =>\n `0 0 0 2px ${theme.colors.neutral[600]}, \n inset 0 0 0 ${borderWidth + 2}px ${theme.colors.neutral[600]}`};\n\n &:after {\n width: ${spinnerSize}px;\n height: ${spinnerSize}px;\n box-sizing: border-box;\n border-width: ${borderWidth}px;\n }\n\n .no-cssanimations &::after {\n background-size: ${spinnerSize}px;\n }\n `;\n};\n\nconst spin = keyframes`\n from {\n transform: translate(-50%,-50%) rotate(0deg);\n }\n to {\n transform: translate(-50%,-50%) rotate(360deg);\n }\n`;\n\nconst delayAnimation = keyframes`\n 0% {\n opacity: 0;\n }\n 80% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n`;\n\ninterface TypeLoaderContainer extends Pick<TypeLoaderProps, \"delay\"> {\n small?: boolean;\n dark?: boolean;\n}\n\nconst Container = styled.div.attrs<{ className: string }>({\n className: \"Loader\",\n})<TypeLoaderContainer>`\n position: relative;\n margin: 0 auto;\n padding: 0;\n overflow: hidden;\n border-radius: 100%;\n\n animation: ${(props) =>\n props.delay\n ? css`\n ${delayAnimation} 2s 1;\n `\n : \"none\"};\n\n &:after {\n position: absolute;\n top: 50%;\n left: 50%;\n background: transparent;\n border-style: solid;\n border-radius: 100%;\n content: \"\";\n transition: opacity 250ms;\n border-color: ${({ theme }) =>\n `${theme.colors.neutral[0]} ${theme.colors.neutral[0]} ${theme.colors.neutral[600]} ${theme.colors.neutral[600]}`};\n\n animation: ${(props) =>\n props.delay\n ? css`\n ${spin} 2.25s infinite linear, ${delayAnimation} 2s 1\n `\n : css`\n ${spin} 2.25s infinite linear\n `};\n }\n\n ${(props) => (props.small ? getSize(20) : getSize(40))}\n ${COMMON}\n`;\n\nexport const Text = styled.div<Pick<TypeLoaderProps, \"text\">>`\n ${visuallyHidden}\n`;\n\nexport default Container;\n","import Loader from \"./Loader\";\n\nexport default Loader;\nexport { Loader };\nexport * from \"./LoaderTypes\";\n","import { css } from \"styled-components\";\n\nexport const svgToDataURL = (svgStr: string) => {\n const encoded = encodeURIComponent(svgStr)\n .replace(/'/g, \"%27\")\n .replace(/\"/g, \"%22\");\n\n const header = \"data:image/svg+xml,\";\n const dataUrl = header + encoded;\n\n return dataUrl;\n};\n\nexport const visuallyHidden = css`\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0 0 0 0);\n border: 0;\n`;\n\nexport const focusRing = css`\n box-shadow: 0 0 0 1px\n ${({ theme }) => theme.colors.button.primary.background.base},\n 0 0px 0px 4px\n color-mix(\n in srgb,\n ${({ theme }) => theme.colors.button.primary.background.base},\n transparent 70%\n );\n outline: none;\n\n &::-moz-focus-inner {\n border: 0;\n }\n`;\n\nexport const pill = css`\n min-width: ${({ theme }) => theme.space[600]};\n min-height: ${({ theme }) => theme.space[600]};\n padding: ${({ theme }) => theme.space[300]};\n border-radius: ${({ theme }) => theme.radii.pill};\n`;\n\nexport const disabled = css`\n opacity: 0.4;\n pointer-events: none;\n`;\n\nexport const container = css`\n background: ${({ theme }) => theme.colors.container.background.base};\n border: ${({ theme }) => theme.borders[500]}\n ${({ theme }) => theme.colors.container.border.base};\n border-radius: ${({ theme }) => theme.radii.outer};\n`;\n\nexport const divider = css`\n border-bottom: ${({ theme }) => theme.borderWidths[500]} solid\n ${({ theme }) => theme.colors.container.border.base};\n`;\n\nexport const truncate = css`\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n`;\n","import * as React from \"react\";\nimport type { TypeStyledComponentsCommonProps } from \"@sproutsocial/seeds-react-system-props\";\n\nexport type TypeListElement = \"ul\" | \"ol\";\n\nexport interface TypeListProps extends TypeStyledComponentsCommonProps {\n /** The HTML element to render as - either \"ul\" or \"ol\" */\n as?: TypeListElement;\n /** Array of elements to render as list items */\n children: React.ReactNode;\n /** Inline styles to apply to the list element */\n style?: React.CSSProperties;\n}\n","import * as React from \"react\";\nimport type { TypeStyledComponentsCommonProps } from \"@sproutsocial/seeds-react-system-props\";\nimport type { TypeIconName } from \"@sproutsocial/seeds-react-icon\";\n\nexport interface TypeListItemProps extends TypeStyledComponentsCommonProps {\n /** If true, adds a border and padding around the list item which looks like a card or button */\n isBordered?: boolean;\n /** Children to display inside the list item */\n children: React.ReactNode;\n /** Inline styles to apply to the list item element */\n style?: React.CSSProperties;\n}\n\nexport interface TypeListItemContentProps\n extends TypeStyledComponentsCommonProps {\n /** Main text displayed as SmallSubheadline */\n text: React.ReactNode;\n /** Details text displayed as Byline below the main text */\n details?: React.ReactNode;\n /** Aside text displayed as Byline on the right side */\n aside?: React.ReactNode;\n /** Optional icon name to display on the left */\n iconName?: TypeIconName;\n /** Label used to describe the icon if not used with an accompanying visual label */\n iconLabel?: string;\n /** Actions to display on the right side (e.g., buttons, menus) */\n actions?: React.ReactNode;\n}\n","import * as React from \"react\";\nimport type { TypeListProps } from \"./ListTypes\";\nimport type { TypeDataItemSkeletonProps } from \"./DataItemSkeletonTypes\";\nimport type { TypeListItemProps } from \"./ListItemTypes\";\nimport type { TypePaginationConfig } from \"@sproutsocial/seeds-react-pagination\";\n\nexport interface TypeDataListProps<T> extends Omit<TypeListProps, \"children\"> {\n /** Array of data items to render */\n data: T[];\n /** Function to render each item in the data array */\n renderItem: (item: T, index?: number) => React.ReactNode;\n /** If true, shows loading skeletons instead of data */\n isLoading?: boolean;\n /** Component to render when loading. Receives props for customizing skeleton appearance */\n LoadingComponent?: React.ComponentType<TypeDataItemSkeletonProps>;\n /** Estimated height of each item in pixels for virtualization. Defaults to 60 */\n estimateItemSize?: number;\n /** Props to pass to the list item component */\n listItemProps?: Omit<TypeListItemProps, \"children\">;\n /** Callback function called when the end of the list is reached (for infinite scrolling) */\n onEndReached?: () => void;\n /** Whether there is a next page available (for infinite scrolling) */\n hasNextPage?: boolean;\n /** Whether the next page is currently being fetched */\n isFetchingNextPage?: boolean;\n /** Header component to display at the top of the list */\n Header?: React.ReactNode;\n /** Scroll offset in pixels at which the header should be removed/hidden. Defaults to 500 */\n removeHeaderDepth?: number;\n /** Height of the header in pixels. Defaults to 60 */\n headerHeight?: number;\n /** Configuration for pagination controls with page navigation and size selection */\n paginationConfig?: TypePaginationConfig;\n /** Current page index (0-based) for pagination */\n currentPageIndex?: number;\n /** Number of items per page */\n pageSize?: number;\n /** Total number of items (for pagination) */\n totalItems?: number;\n /** Callback fired when the page changes */\n onPageChange?: (pageIndex: number) => void;\n /** Callback fired when the page size changes */\n onPageSizeChange?: (pageSize: number) => void;\n}\n"],"mappings":"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","names":["jsx","Box","jsx","React","Box","styled","Box","jsx","jsx","jsxs","Box","Box","styled","jsx","jsxs","Box","React","Box","styled","css","jsx","css","Container","styled","Text","styles_default","index_default","styled","jsx","jsxs","HeaderContent","Box","index_default"]}
1
+ {"version":3,"sources":["../../src/styles.tsx","../../src/List.tsx","../../src/ListItem.tsx","../../src/ListItemContent.tsx","../../src/DataList.tsx","../../src/DataItemSkeleton.tsx","../../../seeds-react-skeleton/src/Skeleton.tsx","../../../seeds-react-skeleton/src/index.ts","../../src/VirtualizedDataList.tsx","../../../seeds-react-loader/src/Loader.tsx","../../../seeds-react-loader/src/styles.ts","../../../seeds-react-loader/src/index.ts","../../../seeds-react-mixins/src/index.ts","../../src/ListTypes.ts","../../src/ListItemTypes.ts","../../src/DataListTypes.ts"],"sourcesContent":["import styled from \"styled-components\";\nimport type { TypeListProps } from \"./ListTypes\";\n\nconst Container = styled.ul<TypeListProps>`\n margin: 0;\n padding: 0;\n list-style: none;\n`;\n\nexport default Container;\n","import Container from \"./styles\";\nimport type { TypeListProps } from \"./ListTypes\";\n\nconst List = ({ as = \"ul\", children, ...rest }: TypeListProps) => {\n return (\n <Container as={as} {...rest}>\n {children}\n </Container>\n );\n};\n\nList.displayName = \"List\";\n\nexport default List;\n","import * as React from \"react\";\nimport Box from \"@sproutsocial/seeds-react-box\";\nimport type { TypeListItemProps } from \"./ListItemTypes\";\n\nconst ListItem = React.forwardRef<HTMLLIElement, TypeListItemProps>(\n ({ isBordered, children, ...rest }, ref) => {\n return (\n <Box\n as=\"li\"\n ref={ref}\n borderRadius=\"outer\"\n {...(isBordered\n ? {\n border: 500,\n borderColor: \"container.border.base\",\n p: 300,\n }\n : {})}\n mt={300}\n {...rest}\n >\n {children}\n </Box>\n );\n }\n);\n\nListItem.displayName = \"ListItem\";\n\nexport default ListItem;\n","import * as React from \"react\";\nimport Box from \"@sproutsocial/seeds-react-box\";\nimport Text from \"@sproutsocial/seeds-react-text\";\nimport { Icon } from \"@sproutsocial/seeds-react-icon\";\nimport type { TypeListItemContentProps } from \"./ListItemTypes\";\n\nconst ListItemContent = ({\n text,\n details,\n aside,\n iconName,\n iconLabel,\n actions,\n ...rest\n}: TypeListItemContentProps) => {\n return (\n <Box\n display=\"flex\"\n justifyContent=\"space-between\"\n borderRadius=\"outer\"\n alignItems=\"baseline\"\n {...rest}\n >\n <Box display=\"flex\" flex=\"1\">\n {iconName && (\n <span>\n <Icon mr={300} name={iconName} size=\"small\" ariaLabel={iconLabel} />\n </span>\n )}\n <Box flex=\"1\">\n <Text.SmallSubHeadline as=\"div\">{text}</Text.SmallSubHeadline>\n {details && (\n <Text.Byline as=\"div\" mt={200}>\n {details}\n </Text.Byline>\n )}\n </Box>\n </Box>\n <Box display=\"flex\" alignItems=\"center\" gap={300} flexShrink={0}>\n {aside && <Text.Byline as=\"div\">{aside}</Text.Byline>}\n {actions && (\n <Box display=\"flex\" alignItems=\"center\">\n {actions}\n </Box>\n )}\n </Box>\n </Box>\n );\n};\n\nListItemContent.displayName = \"ListItemContent\";\n\nexport default ListItemContent;\n","import * as React from \"react\";\nimport { useRef, useState } from \"react\";\nimport List from \"./List\";\nimport DataItemSkeleton from \"./DataItemSkeleton\";\nimport ListItem from \"./ListItem\";\nimport Box from \"@sproutsocial/seeds-react-box\";\nimport Container from \"./styles\";\nimport type { TypeDataListProps } from \"./DataListTypes\";\nimport styled from \"styled-components\";\nimport { Pagination } from \"@sproutsocial/seeds-react-pagination\";\n\nconst HeaderContent = styled(Box)`\n width: 100%;\n transition: transform 0.4s ease-in-out;\n`;\n\nconst DataList = <T,>({\n as = \"ul\",\n data,\n renderItem,\n isLoading,\n LoadingComponent = DataItemSkeleton,\n listItemProps = {},\n estimateItemSize = 50,\n Header,\n paginationConfig,\n currentPageIndex: controlledPageIndex,\n pageSize: controlledPageSize,\n totalItems,\n onPageChange,\n onPageSizeChange,\n ...rest\n}: TypeDataListProps<T>) => {\n const containerRef = useRef<HTMLDivElement>(null);\n const loadingItems = [0, 1, 2, 3, 4];\n\n // Internal state for uncontrolled pagination\n const [internalPageIndex, setInternalPageIndex] = useState(0);\n const [internalPageSize, setInternalPageSize] = useState(\n paginationConfig?.initialPageSize ?? 10\n );\n\n // Use controlled props if provided, otherwise use internal state\n const currentPageIndex = controlledPageIndex ?? internalPageIndex;\n const pageSize = controlledPageSize ?? internalPageSize;\n\n // Use provided callbacks or internal state setters\n const handlePageChange = onPageChange ?? setInternalPageIndex;\n const handlePageSizeChange = onPageSizeChange ?? setInternalPageSize;\n\n // Calculate paginated data if pagination is enabled\n const displayData = React.useMemo(() => {\n if (!paginationConfig) {\n return data;\n }\n const startIndex = currentPageIndex * pageSize;\n const endIndex = startIndex + pageSize;\n return data.slice(startIndex, endIndex);\n }, [data, paginationConfig, currentPageIndex, pageSize]);\n\n const totalRows = totalItems !== undefined ? totalItems : data.length;\n\n // Early return for loading state\n if (isLoading) {\n return (\n <>\n {Header && (\n <HeaderContent\n style={{\n position: \"sticky\",\n top: 0,\n left: 0,\n width: \"100%\",\n zIndex: 1,\n }}\n id=\"header\"\n >\n {Header}\n </HeaderContent>\n )}\n <List as={as} {...rest}>\n {loadingItems.map((index) => (\n <ListItem key={index} {...listItemProps}>\n <LoadingComponent />\n </ListItem>\n ))}\n </List>\n </>\n );\n }\n\n return (\n <>\n {Header && (\n <HeaderContent\n style={{\n position: \"sticky\",\n top: 0,\n left: 0,\n width: \"100%\",\n zIndex: 1,\n }}\n id=\"header\"\n >\n {Header}\n </HeaderContent>\n )}\n <List as={as} {...rest}>\n {displayData.map((item, index) => (\n <ListItem key={index} {...listItemProps}>\n {renderItem(item, index)}\n </ListItem>\n ))}\n </List>\n {paginationConfig && (\n <Pagination\n paginationConfig={paginationConfig}\n currentPageIndex={currentPageIndex}\n pageSize={pageSize}\n totalRows={totalRows}\n onPageChange={handlePageChange}\n onPageSizeChange={handlePageSizeChange}\n />\n )}\n </>\n );\n};\n\nDataList.displayName = \"DataList\";\n\nexport default DataList;\n","import * as React from \"react\";\nimport Box from \"@sproutsocial/seeds-react-box\";\nimport Skeleton from \"@sproutsocial/seeds-react-skeleton\";\nimport type { TypeDataItemSkeletonProps } from \"./DataItemSkeletonTypes\";\n\nconst DataItemSkeleton = ({\n hasIcon = false,\n hasAside = false,\n hasSubtext = false,\n}: TypeDataItemSkeletonProps) => {\n return (\n <Box\n display=\"flex\"\n justifyContent=\"space-between\"\n borderRadius=\"outer\"\n alignItems=\"flex-start\"\n mb={100}\n >\n <Box display=\"flex\" flex=\"1\">\n {hasIcon && (\n <Box mr={300} flexShrink={0}>\n <Skeleton width={21} height={21} borderRadius=\"pill\" />\n </Box>\n )}\n <Box flex=\"1\">\n <Skeleton width=\"80%\" height={21} borderRadius=\"inner\" />\n {hasSubtext && (\n <Skeleton width=\"60%\" height={16} mt={300} borderRadius=\"inner\" />\n )}\n </Box>\n </Box>\n {hasAside && (\n <Box display=\"flex\" alignItems=\"center\" gap={300} flexShrink={0}>\n <Skeleton width={60} height={21} borderRadius=\"inner\" />\n </Box>\n )}\n </Box>\n );\n};\n\nDataItemSkeleton.displayName = \"DataItemSkeleton\";\n\nexport default DataItemSkeleton;\n","import styled from \"styled-components\";\nimport Box from \"@sproutsocial/seeds-react-box\";\nimport type { SkeletonProps } from \"./SkeletonTypes\";\n\n/**\n *\n * @param borderRadius\n * @returns classname string for handling appropriate loader style depending on passed in properties\n */\n// @ts-ignore TODO: fix noImplicitAny error here. IDK why there are no types for this component\nconst SkeletonAttrs = ({ borderRadius, height, width }) => ({\n className:\n borderRadius === \"pill\" && height === width ? \"circular\" : \"linear\",\n});\n\nconst Skeleton = styled(Box).attrs(SkeletonAttrs)`\n position: relative;\n background: ${(props) =>\n props.theme.colors.container.background.decorative.neutral};\n overflow: hidden;\n &.circular {\n &:before {\n position: absolute;\n top: -25%;\n left: -25%;\n content: '';\n background-image: ${(props) => `conic-gradient(\n ${props.theme.colors.container.background.decorative.neutral} 270deg,\n ${props.theme.colors.container.border.decorative.neutral} 300deg\n );`};\n height: 150%;\n width: 150%;\n animation: SkeletonRotate 2s infinite linear;\n }\n &:after {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n content: '';\n height: calc(100% - 8px);\n width: calc(100% - 8px);\n background: ${(p) => p.theme.colors.app.background.base};\n border-radius: 50%;\n }\n }\n &.linear {\n position: relative;\n background-image: ${(props) => `linear-gradient(\n 288deg,\n ${props.theme.colors.container.background.decorative.neutral} 32%,\n ${props.theme.colors.container.border.decorative.neutral},\n ${props.theme.colors.container.background.decorative.neutral} 68%\n );`}\n background-size: 400%;\n background-repeat: no-repeat;\n animation: SkeletonShimmer 2s linear infinite reverse;\n overflow: hidden;\n &:after {\n position: absolute;\n bottom: 0;\n content: \"\";\n height: calc(100% - 4px);\n width: 100%;\n background: ${(props) =>\n props.theme.colors.container.background.decorative.neutral};\n \n }\n }\n\n @media (prefers-reduced-motion) {\n &.linear,\n &.circular::before {\n animation: none;\n }\n &:before,\n &:after {\n display: none;\n }\n &.linear,\n &.circular {\n border: 1px solid ${(props) =>\n props.theme.colors.container.border.decorative.neutral};\n animation: SkeletonPulse 2s linear infinite alternate; \n }\n }\n\n @keyframes SkeletonRotate {\n 100% {\n transform: rotate(360deg);\n }\n }\n @keyframes SkeletonRotateFade {\n 50% {\n transform: rotate(360deg);\n }\n 90% {\n opacity: 1;\n }\n 100% {\n transform: rotate(720deg);\n opacity: 0;\n }\n }\n\n @keyframes SkeletonShimmer {\n 0% {\n background-position: 0% 0;\n }\n 100% {\n background-position: 100% 0;\n }\n }\n @keyframes SkeletonPulse {\n 0% {\n border-color: ${(props) =>\n props.theme.colors.container.border.decorative.neutral}FF;\n }\n 100% {\n border-color: ${(props) =>\n props.theme.colors.container.border.decorative.neutral}1A;\n }\n }\n`;\n\n// @TODO: Refine types that are passed to SkeletonComponent\nexport const SkeletonComponent = ({\n borderRadius,\n height,\n width,\n ...props\n}: SkeletonProps) => {\n return (\n <Skeleton\n borderRadius={borderRadius}\n height={height}\n width={width}\n {...props}\n />\n );\n};\n\nexport default Skeleton;\n","import Skeleton from \"./Skeleton\";\n\nexport default Skeleton;\nexport * from \"./SkeletonTypes\";\nexport { Skeleton };\n","import * as React from \"react\";\nimport List from \"./List\";\nimport ListItem from \"./ListItem\";\nimport Box from \"@sproutsocial/seeds-react-box\";\nimport Loader from \"@sproutsocial/seeds-react-loader\";\nimport { useVirtualizer } from \"@tanstack/react-virtual\";\nimport type { TypeDataListProps } from \"./DataListTypes\";\nimport { useInView } from \"react-intersection-observer\";\nimport styled from \"styled-components\";\n\nconst HeaderContent = styled(Box)`\n width: 100%;\n transition: transform 0.4s ease-in-out;\n background-color: red;\n`;\n\nconst Experimental_VirtualizedDataList = <T,>({\n as = \"ul\",\n data,\n renderItem,\n estimateItemSize = 50,\n onEndReached,\n hasNextPage,\n isFetchingNextPage,\n Header,\n removeHeaderDepth = 500,\n headerHeight = 60,\n ...rest\n}: TypeDataListProps<T>) => {\n const afterInView = useInView();\n\n const parentRef = React.useRef<HTMLDivElement>(null);\n\n const count = data.length;\n\n const virtualizer = useVirtualizer({\n count,\n getScrollElement: () => parentRef.current,\n estimateSize: () => estimateItemSize,\n overscan: 5,\n });\n\n const items = virtualizer.getVirtualItems();\n const offset = virtualizer.scrollOffset;\n\n const transform =\n offset && offset > removeHeaderDepth\n ? `translateY(-${headerHeight}px)`\n : \"translateY(0px)\";\n\n React.useEffect(() => {\n if (afterInView.inView) {\n onEndReached?.();\n }\n }, [onEndReached, afterInView.inView]);\n\n return (\n <div\n ref={parentRef}\n className=\"List\"\n style={{\n width: \"100%\",\n height: \"100%\",\n overflowY: \"auto\",\n contain: \"strict\",\n }}\n >\n {Header && (\n <HeaderContent\n style={{\n position: \"sticky\",\n transform,\n top: 0,\n left: 0,\n width: \"100%\",\n zIndex: 1,\n }}\n id=\"header\"\n >\n {Header}\n </HeaderContent>\n )}\n <List\n as={as}\n style={{\n height: `${virtualizer.getTotalSize()}px`,\n width: \"100%\",\n position: \"relative\",\n }}\n >\n {items.map((virtualRow) => {\n return (\n <ListItem\n key={virtualRow.key}\n data-index={virtualRow.index}\n ref={virtualizer.measureElement}\n style={{\n position: \"absolute\",\n top: 0,\n left: 0,\n width: \"100%\",\n transform: `translateY(${\n virtualRow.start - virtualizer.options.scrollMargin\n }px)`,\n }}\n >\n {renderItem(data[virtualRow.index] as T)}\n </ListItem>\n );\n })}\n </List>\n {hasNextPage && !isFetchingNextPage && (\n <div ref={afterInView.ref}>\n <Loader delay={false} />\n </div>\n )}\n </div>\n );\n};\n\nExperimental_VirtualizedDataList.displayName =\n \"Experimental_VirtualizedDataList\";\n\nexport default Experimental_VirtualizedDataList;\n","import * as React from \"react\";\nimport Container, { Text } from \"./styles\";\nimport type { TypeLoaderProps } from \"./LoaderTypes\";\n\nconst Loader = ({\n size = \"large\",\n text = \"\",\n delay = true,\n color = \"dark\",\n qa,\n ...rest\n}: TypeLoaderProps) => {\n return (\n <Container\n small={size === \"small\"}\n dark={color === \"dark\"}\n delay={delay}\n data-qa-loader=\"\"\n {...qa}\n {...rest}\n >\n <Text>{text || \"Loading\"}</Text>\n </Container>\n );\n};\n\nexport default Loader;\n","import styled, { css, keyframes } from \"styled-components\";\nimport { COMMON } from \"@sproutsocial/seeds-react-system-props\";\nimport { visuallyHidden } from \"@sproutsocial/seeds-react-mixins\";\nimport type { TypeLoaderProps } from \"./LoaderTypes\";\n\nconst getSize = (size: number) => {\n const spinnerSize = Math.round(size * 1);\n const borderWidth = Math.round(size * 0.1);\n\n return css`\n width: ${size}px;\n height: ${size}px;\n box-shadow: ${({ theme }) =>\n `0 0 0 2px ${theme.colors.neutral[600]}, \n inset 0 0 0 ${borderWidth + 2}px ${theme.colors.neutral[600]}`};\n\n &:after {\n width: ${spinnerSize}px;\n height: ${spinnerSize}px;\n box-sizing: border-box;\n border-width: ${borderWidth}px;\n }\n\n .no-cssanimations &::after {\n background-size: ${spinnerSize}px;\n }\n `;\n};\n\nconst spin = keyframes`\n from {\n transform: translate(-50%,-50%) rotate(0deg);\n }\n to {\n transform: translate(-50%,-50%) rotate(360deg);\n }\n`;\n\nconst delayAnimation = keyframes`\n 0% {\n opacity: 0;\n }\n 80% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n`;\n\ninterface TypeLoaderContainer extends Pick<TypeLoaderProps, \"delay\"> {\n small?: boolean;\n dark?: boolean;\n}\n\nconst Container = styled.div.attrs<{ className: string }>({\n className: \"Loader\",\n})<TypeLoaderContainer>`\n position: relative;\n margin: 0 auto;\n padding: 0;\n overflow: hidden;\n border-radius: 100%;\n\n animation: ${(props) =>\n props.delay\n ? css`\n ${delayAnimation} 2s 1;\n `\n : \"none\"};\n\n &:after {\n position: absolute;\n top: 50%;\n left: 50%;\n background: transparent;\n border-style: solid;\n border-radius: 100%;\n content: \"\";\n transition: opacity 250ms;\n border-color: ${({ theme }) =>\n `${theme.colors.neutral[0]} ${theme.colors.neutral[0]} ${theme.colors.neutral[600]} ${theme.colors.neutral[600]}`};\n\n animation: ${(props) =>\n props.delay\n ? css`\n ${spin} 2.25s infinite linear, ${delayAnimation} 2s 1\n `\n : css`\n ${spin} 2.25s infinite linear\n `};\n }\n\n ${(props) => (props.small ? getSize(20) : getSize(40))}\n ${COMMON}\n`;\n\nexport const Text = styled.div<Pick<TypeLoaderProps, \"text\">>`\n ${visuallyHidden}\n`;\n\nexport default Container;\n","import Loader from \"./Loader\";\n\nexport default Loader;\nexport { Loader };\nexport * from \"./LoaderTypes\";\n","import { css } from \"styled-components\";\n\nexport const svgToDataURL = (svgStr: string) => {\n const encoded = encodeURIComponent(svgStr)\n .replace(/'/g, \"%27\")\n .replace(/\"/g, \"%22\");\n\n const header = \"data:image/svg+xml,\";\n const dataUrl = header + encoded;\n\n return dataUrl;\n};\n\nexport const visuallyHidden = css`\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0 0 0 0);\n border: 0;\n`;\n\nexport const focusRing = css`\n box-shadow: 0 0 0 1px\n ${({ theme }) => theme.colors.button.primary.background.base},\n 0 0px 0px 4px\n color-mix(\n in srgb,\n ${({ theme }) => theme.colors.button.primary.background.base},\n transparent 70%\n );\n outline: none;\n\n &::-moz-focus-inner {\n border: 0;\n }\n`;\n\nexport const pill = css`\n min-width: ${({ theme }) => theme.space[600]};\n min-height: ${({ theme }) => theme.space[600]};\n padding: ${({ theme }) => theme.space[300]};\n border-radius: ${({ theme }) => theme.radii.pill};\n`;\n\n/**\n * General-purpose disabled mixin. Applies opacity and removes pointer events.\n *\n * NOTE: Do NOT use this mixin for interactive elements. Those elements must\n * remain pointer-accessible.\n */\nexport const disabled = css`\n opacity: 0.4;\n pointer-events: none;\n`;\n\n/**\n * Disabled mixin for interactive elements (buttons, links, controls) that use\n * `aria-disabled=\"true\"` instead of the HTML `disabled` attribute.\n *\n * Unlike `disabled`, this mixin intentionally omits `pointer-events: none` so\n * that click events still reach the element's JavaScript handler, where they\n * can be suppressed and optionally used to show feedback (e.g. a tooltip).\n *\n * Usage: pair with `aria-disabled=\"true\"` on the element and an `onClick`\n * guard that returns early when the element is disabled.\n *\n * @see `disabled` for non-interactive elements\n */\nexport const interactiveDisabled = css`\n opacity: 0.4;\n cursor: not-allowed;\n`;\n\nexport const container = css`\n background: ${({ theme }) => theme.colors.container.background.base};\n border: ${({ theme }) => theme.borders[500]}\n ${({ theme }) => theme.colors.container.border.base};\n border-radius: ${({ theme }) => theme.radii.outer};\n`;\n\nexport const divider = css`\n border-bottom: ${({ theme }) => theme.borderWidths[500]} solid\n ${({ theme }) => theme.colors.container.border.base};\n`;\n\nexport const truncate = css`\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n`;\n","import * as React from \"react\";\nimport type { TypeStyledComponentsCommonProps } from \"@sproutsocial/seeds-react-system-props\";\n\nexport type TypeListElement = \"ul\" | \"ol\";\n\nexport interface TypeListProps extends TypeStyledComponentsCommonProps {\n /** The HTML element to render as - either \"ul\" or \"ol\" */\n as?: TypeListElement;\n /** Array of elements to render as list items */\n children: React.ReactNode;\n /** Inline styles to apply to the list element */\n style?: React.CSSProperties;\n}\n","import * as React from \"react\";\nimport type { TypeStyledComponentsCommonProps } from \"@sproutsocial/seeds-react-system-props\";\nimport type { TypeIconName } from \"@sproutsocial/seeds-react-icon\";\n\nexport interface TypeListItemProps extends TypeStyledComponentsCommonProps {\n /** If true, adds a border and padding around the list item which looks like a card or button */\n isBordered?: boolean;\n /** Children to display inside the list item */\n children: React.ReactNode;\n /** Inline styles to apply to the list item element */\n style?: React.CSSProperties;\n}\n\nexport interface TypeListItemContentProps\n extends TypeStyledComponentsCommonProps {\n /** Main text displayed as SmallSubheadline */\n text: React.ReactNode;\n /** Details text displayed as Byline below the main text */\n details?: React.ReactNode;\n /** Aside text displayed as Byline on the right side */\n aside?: React.ReactNode;\n /** Optional icon name to display on the left */\n iconName?: TypeIconName;\n /** Label used to describe the icon if not used with an accompanying visual label */\n iconLabel?: string;\n /** Actions to display on the right side (e.g., buttons, menus) */\n actions?: React.ReactNode;\n}\n","import * as React from \"react\";\nimport type { TypeListProps } from \"./ListTypes\";\nimport type { TypeDataItemSkeletonProps } from \"./DataItemSkeletonTypes\";\nimport type { TypeListItemProps } from \"./ListItemTypes\";\nimport type { TypePaginationConfig } from \"@sproutsocial/seeds-react-pagination\";\n\nexport interface TypeDataListProps<T> extends Omit<TypeListProps, \"children\"> {\n /** Array of data items to render */\n data: T[];\n /** Function to render each item in the data array */\n renderItem: (item: T, index?: number) => React.ReactNode;\n /** If true, shows loading skeletons instead of data */\n isLoading?: boolean;\n /** Component to render when loading. Receives props for customizing skeleton appearance */\n LoadingComponent?: React.ComponentType<TypeDataItemSkeletonProps>;\n /** Estimated height of each item in pixels for virtualization. Defaults to 60 */\n estimateItemSize?: number;\n /** Props to pass to the list item component */\n listItemProps?: Omit<TypeListItemProps, \"children\">;\n /** Callback function called when the end of the list is reached (for infinite scrolling) */\n onEndReached?: () => void;\n /** Whether there is a next page available (for infinite scrolling) */\n hasNextPage?: boolean;\n /** Whether the next page is currently being fetched */\n isFetchingNextPage?: boolean;\n /** Header component to display at the top of the list */\n Header?: React.ReactNode;\n /** Scroll offset in pixels at which the header should be removed/hidden. Defaults to 500 */\n removeHeaderDepth?: number;\n /** Height of the header in pixels. Defaults to 60 */\n headerHeight?: number;\n /** Configuration for pagination controls with page navigation and size selection */\n paginationConfig?: TypePaginationConfig;\n /** Current page index (0-based) for pagination */\n currentPageIndex?: number;\n /** Number of items per page */\n pageSize?: number;\n /** Total number of items (for pagination) */\n totalItems?: number;\n /** Callback fired when the page changes */\n onPageChange?: (pageIndex: number) => void;\n /** Callback fired when the page size changes */\n onPageSizeChange?: (pageSize: number) => void;\n}\n"],"mappings":"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","names":["jsx","Box","jsx","React","Box","styled","Box","jsx","jsx","jsxs","Box","Box","styled","jsx","jsxs","Box","React","Box","styled","css","jsx","css","Container","styled","Text","styles_default","index_default","styled","jsx","jsxs","HeaderContent","Box","index_default"]}
package/dist/index.js CHANGED
@@ -420,6 +420,10 @@ var disabled = import_styled_components4.css`
420
420
  opacity: 0.4;
421
421
  pointer-events: none;
422
422
  `;
423
+ var interactiveDisabled = import_styled_components4.css`
424
+ opacity: 0.4;
425
+ cursor: not-allowed;
426
+ `;
423
427
  var container = import_styled_components4.css`
424
428
  background: ${({ theme }) => theme.colors.container.background.base};
425
429
  border: ${({ theme }) => theme.borders[500]}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/styles.tsx","../src/List.tsx","../src/ListItem.tsx","../src/ListItemContent.tsx","../src/DataList.tsx","../src/DataItemSkeleton.tsx","../../seeds-react-skeleton/src/Skeleton.tsx","../../seeds-react-skeleton/src/index.ts","../src/VirtualizedDataList.tsx","../../seeds-react-loader/src/Loader.tsx","../../seeds-react-loader/src/styles.ts","../../seeds-react-loader/src/index.ts","../../seeds-react-mixins/src/index.ts","../src/ListTypes.ts","../src/ListItemTypes.ts","../src/DataListTypes.ts"],"sourcesContent":["import List from \"./List\";\nimport ListItem from \"./ListItem\";\nimport ListItemContent from \"./ListItemContent\";\nimport DataList from \"./DataList\";\nimport DataItemSkeleton from \"./DataItemSkeleton\";\nimport Experimental_VirtualizedDataList from \"./VirtualizedDataList\";\n\nexport {\n List,\n ListItem,\n ListItemContent,\n DataList,\n DataItemSkeleton,\n Experimental_VirtualizedDataList,\n};\nexport * from \"./ListTypes\";\nexport * from \"./ListItemTypes\";\nexport * from \"./DataListTypes\";\nexport * from \"./DataItemSkeletonTypes\";\n","import styled from \"styled-components\";\nimport type { TypeListProps } from \"./ListTypes\";\n\nconst Container = styled.ul<TypeListProps>`\n margin: 0;\n padding: 0;\n list-style: none;\n`;\n\nexport default Container;\n","import Container from \"./styles\";\nimport type { TypeListProps } from \"./ListTypes\";\n\nconst List = ({ as = \"ul\", children, ...rest }: TypeListProps) => {\n return (\n <Container as={as} {...rest}>\n {children}\n </Container>\n );\n};\n\nList.displayName = \"List\";\n\nexport default List;\n","import * as React from \"react\";\nimport Box from \"@sproutsocial/seeds-react-box\";\nimport type { TypeListItemProps } from \"./ListItemTypes\";\n\nconst ListItem = React.forwardRef<HTMLLIElement, TypeListItemProps>(\n ({ isBordered, children, ...rest }, ref) => {\n return (\n <Box\n as=\"li\"\n ref={ref}\n borderRadius=\"outer\"\n {...(isBordered\n ? {\n border: 500,\n borderColor: \"container.border.base\",\n p: 300,\n }\n : {})}\n mt={300}\n {...rest}\n >\n {children}\n </Box>\n );\n }\n);\n\nListItem.displayName = \"ListItem\";\n\nexport default ListItem;\n","import * as React from \"react\";\nimport Box from \"@sproutsocial/seeds-react-box\";\nimport Text from \"@sproutsocial/seeds-react-text\";\nimport { Icon } from \"@sproutsocial/seeds-react-icon\";\nimport type { TypeListItemContentProps } from \"./ListItemTypes\";\n\nconst ListItemContent = ({\n text,\n details,\n aside,\n iconName,\n iconLabel,\n actions,\n ...rest\n}: TypeListItemContentProps) => {\n return (\n <Box\n display=\"flex\"\n justifyContent=\"space-between\"\n borderRadius=\"outer\"\n alignItems=\"baseline\"\n {...rest}\n >\n <Box display=\"flex\" flex=\"1\">\n {iconName && (\n <span>\n <Icon mr={300} name={iconName} size=\"small\" ariaLabel={iconLabel} />\n </span>\n )}\n <Box flex=\"1\">\n <Text.SmallSubHeadline as=\"div\">{text}</Text.SmallSubHeadline>\n {details && (\n <Text.Byline as=\"div\" mt={200}>\n {details}\n </Text.Byline>\n )}\n </Box>\n </Box>\n <Box display=\"flex\" alignItems=\"center\" gap={300} flexShrink={0}>\n {aside && <Text.Byline as=\"div\">{aside}</Text.Byline>}\n {actions && (\n <Box display=\"flex\" alignItems=\"center\">\n {actions}\n </Box>\n )}\n </Box>\n </Box>\n );\n};\n\nListItemContent.displayName = \"ListItemContent\";\n\nexport default ListItemContent;\n","import * as React from \"react\";\nimport { useRef, useState } from \"react\";\nimport List from \"./List\";\nimport DataItemSkeleton from \"./DataItemSkeleton\";\nimport ListItem from \"./ListItem\";\nimport Box from \"@sproutsocial/seeds-react-box\";\nimport Container from \"./styles\";\nimport type { TypeDataListProps } from \"./DataListTypes\";\nimport styled from \"styled-components\";\nimport { Pagination } from \"@sproutsocial/seeds-react-pagination\";\n\nconst HeaderContent = styled(Box)`\n width: 100%;\n transition: transform 0.4s ease-in-out;\n`;\n\nconst DataList = <T,>({\n as = \"ul\",\n data,\n renderItem,\n isLoading,\n LoadingComponent = DataItemSkeleton,\n listItemProps = {},\n estimateItemSize = 50,\n Header,\n paginationConfig,\n currentPageIndex: controlledPageIndex,\n pageSize: controlledPageSize,\n totalItems,\n onPageChange,\n onPageSizeChange,\n ...rest\n}: TypeDataListProps<T>) => {\n const containerRef = useRef<HTMLDivElement>(null);\n const loadingItems = [0, 1, 2, 3, 4];\n\n // Internal state for uncontrolled pagination\n const [internalPageIndex, setInternalPageIndex] = useState(0);\n const [internalPageSize, setInternalPageSize] = useState(\n paginationConfig?.initialPageSize ?? 10\n );\n\n // Use controlled props if provided, otherwise use internal state\n const currentPageIndex = controlledPageIndex ?? internalPageIndex;\n const pageSize = controlledPageSize ?? internalPageSize;\n\n // Use provided callbacks or internal state setters\n const handlePageChange = onPageChange ?? setInternalPageIndex;\n const handlePageSizeChange = onPageSizeChange ?? setInternalPageSize;\n\n // Calculate paginated data if pagination is enabled\n const displayData = React.useMemo(() => {\n if (!paginationConfig) {\n return data;\n }\n const startIndex = currentPageIndex * pageSize;\n const endIndex = startIndex + pageSize;\n return data.slice(startIndex, endIndex);\n }, [data, paginationConfig, currentPageIndex, pageSize]);\n\n const totalRows = totalItems !== undefined ? totalItems : data.length;\n\n // Early return for loading state\n if (isLoading) {\n return (\n <>\n {Header && (\n <HeaderContent\n style={{\n position: \"sticky\",\n top: 0,\n left: 0,\n width: \"100%\",\n zIndex: 1,\n }}\n id=\"header\"\n >\n {Header}\n </HeaderContent>\n )}\n <List as={as} {...rest}>\n {loadingItems.map((index) => (\n <ListItem key={index} {...listItemProps}>\n <LoadingComponent />\n </ListItem>\n ))}\n </List>\n </>\n );\n }\n\n return (\n <>\n {Header && (\n <HeaderContent\n style={{\n position: \"sticky\",\n top: 0,\n left: 0,\n width: \"100%\",\n zIndex: 1,\n }}\n id=\"header\"\n >\n {Header}\n </HeaderContent>\n )}\n <List as={as} {...rest}>\n {displayData.map((item, index) => (\n <ListItem key={index} {...listItemProps}>\n {renderItem(item, index)}\n </ListItem>\n ))}\n </List>\n {paginationConfig && (\n <Pagination\n paginationConfig={paginationConfig}\n currentPageIndex={currentPageIndex}\n pageSize={pageSize}\n totalRows={totalRows}\n onPageChange={handlePageChange}\n onPageSizeChange={handlePageSizeChange}\n />\n )}\n </>\n );\n};\n\nDataList.displayName = \"DataList\";\n\nexport default DataList;\n","import * as React from \"react\";\nimport Box from \"@sproutsocial/seeds-react-box\";\nimport Skeleton from \"@sproutsocial/seeds-react-skeleton\";\nimport type { TypeDataItemSkeletonProps } from \"./DataItemSkeletonTypes\";\n\nconst DataItemSkeleton = ({\n hasIcon = false,\n hasAside = false,\n hasSubtext = false,\n}: TypeDataItemSkeletonProps) => {\n return (\n <Box\n display=\"flex\"\n justifyContent=\"space-between\"\n borderRadius=\"outer\"\n alignItems=\"flex-start\"\n mb={100}\n >\n <Box display=\"flex\" flex=\"1\">\n {hasIcon && (\n <Box mr={300} flexShrink={0}>\n <Skeleton width={21} height={21} borderRadius=\"pill\" />\n </Box>\n )}\n <Box flex=\"1\">\n <Skeleton width=\"80%\" height={21} borderRadius=\"inner\" />\n {hasSubtext && (\n <Skeleton width=\"60%\" height={16} mt={300} borderRadius=\"inner\" />\n )}\n </Box>\n </Box>\n {hasAside && (\n <Box display=\"flex\" alignItems=\"center\" gap={300} flexShrink={0}>\n <Skeleton width={60} height={21} borderRadius=\"inner\" />\n </Box>\n )}\n </Box>\n );\n};\n\nDataItemSkeleton.displayName = \"DataItemSkeleton\";\n\nexport default DataItemSkeleton;\n","import styled from \"styled-components\";\nimport Box from \"@sproutsocial/seeds-react-box\";\nimport type { SkeletonProps } from \"./SkeletonTypes\";\n\n/**\n *\n * @param borderRadius\n * @returns classname string for handling appropriate loader style depending on passed in properties\n */\n// @ts-ignore TODO: fix noImplicitAny error here. IDK why there are no types for this component\nconst SkeletonAttrs = ({ borderRadius, height, width }) => ({\n className:\n borderRadius === \"pill\" && height === width ? \"circular\" : \"linear\",\n});\n\nconst Skeleton = styled(Box).attrs(SkeletonAttrs)`\n position: relative;\n background: ${(props) =>\n props.theme.colors.container.background.decorative.neutral};\n overflow: hidden;\n &.circular {\n &:before {\n position: absolute;\n top: -25%;\n left: -25%;\n content: '';\n background-image: ${(props) => `conic-gradient(\n ${props.theme.colors.container.background.decorative.neutral} 270deg,\n ${props.theme.colors.container.border.decorative.neutral} 300deg\n );`};\n height: 150%;\n width: 150%;\n animation: SkeletonRotate 2s infinite linear;\n }\n &:after {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n content: '';\n height: calc(100% - 8px);\n width: calc(100% - 8px);\n background: ${(p) => p.theme.colors.app.background.base};\n border-radius: 50%;\n }\n }\n &.linear {\n position: relative;\n background-image: ${(props) => `linear-gradient(\n 288deg,\n ${props.theme.colors.container.background.decorative.neutral} 32%,\n ${props.theme.colors.container.border.decorative.neutral},\n ${props.theme.colors.container.background.decorative.neutral} 68%\n );`}\n background-size: 400%;\n background-repeat: no-repeat;\n animation: SkeletonShimmer 2s linear infinite reverse;\n overflow: hidden;\n &:after {\n position: absolute;\n bottom: 0;\n content: \"\";\n height: calc(100% - 4px);\n width: 100%;\n background: ${(props) =>\n props.theme.colors.container.background.decorative.neutral};\n \n }\n }\n\n @media (prefers-reduced-motion) {\n &.linear,\n &.circular::before {\n animation: none;\n }\n &:before,\n &:after {\n display: none;\n }\n &.linear,\n &.circular {\n border: 1px solid ${(props) =>\n props.theme.colors.container.border.decorative.neutral};\n animation: SkeletonPulse 2s linear infinite alternate; \n }\n }\n\n @keyframes SkeletonRotate {\n 100% {\n transform: rotate(360deg);\n }\n }\n @keyframes SkeletonRotateFade {\n 50% {\n transform: rotate(360deg);\n }\n 90% {\n opacity: 1;\n }\n 100% {\n transform: rotate(720deg);\n opacity: 0;\n }\n }\n\n @keyframes SkeletonShimmer {\n 0% {\n background-position: 0% 0;\n }\n 100% {\n background-position: 100% 0;\n }\n }\n @keyframes SkeletonPulse {\n 0% {\n border-color: ${(props) =>\n props.theme.colors.container.border.decorative.neutral}FF;\n }\n 100% {\n border-color: ${(props) =>\n props.theme.colors.container.border.decorative.neutral}1A;\n }\n }\n`;\n\n// @TODO: Refine types that are passed to SkeletonComponent\nexport const SkeletonComponent = ({\n borderRadius,\n height,\n width,\n ...props\n}: SkeletonProps) => {\n return (\n <Skeleton\n borderRadius={borderRadius}\n height={height}\n width={width}\n {...props}\n />\n );\n};\n\nexport default Skeleton;\n","import Skeleton from \"./Skeleton\";\n\nexport default Skeleton;\nexport * from \"./SkeletonTypes\";\nexport { Skeleton };\n","import * as React from \"react\";\nimport List from \"./List\";\nimport ListItem from \"./ListItem\";\nimport Box from \"@sproutsocial/seeds-react-box\";\nimport Loader from \"@sproutsocial/seeds-react-loader\";\nimport { useVirtualizer } from \"@tanstack/react-virtual\";\nimport type { TypeDataListProps } from \"./DataListTypes\";\nimport { useInView } from \"react-intersection-observer\";\nimport styled from \"styled-components\";\n\nconst HeaderContent = styled(Box)`\n width: 100%;\n transition: transform 0.4s ease-in-out;\n background-color: red;\n`;\n\nconst Experimental_VirtualizedDataList = <T,>({\n as = \"ul\",\n data,\n renderItem,\n estimateItemSize = 50,\n onEndReached,\n hasNextPage,\n isFetchingNextPage,\n Header,\n removeHeaderDepth = 500,\n headerHeight = 60,\n ...rest\n}: TypeDataListProps<T>) => {\n const afterInView = useInView();\n\n const parentRef = React.useRef<HTMLDivElement>(null);\n\n const count = data.length;\n\n const virtualizer = useVirtualizer({\n count,\n getScrollElement: () => parentRef.current,\n estimateSize: () => estimateItemSize,\n overscan: 5,\n });\n\n const items = virtualizer.getVirtualItems();\n const offset = virtualizer.scrollOffset;\n\n const transform =\n offset && offset > removeHeaderDepth\n ? `translateY(-${headerHeight}px)`\n : \"translateY(0px)\";\n\n React.useEffect(() => {\n if (afterInView.inView) {\n onEndReached?.();\n }\n }, [onEndReached, afterInView.inView]);\n\n return (\n <div\n ref={parentRef}\n className=\"List\"\n style={{\n width: \"100%\",\n height: \"100%\",\n overflowY: \"auto\",\n contain: \"strict\",\n }}\n >\n {Header && (\n <HeaderContent\n style={{\n position: \"sticky\",\n transform,\n top: 0,\n left: 0,\n width: \"100%\",\n zIndex: 1,\n }}\n id=\"header\"\n >\n {Header}\n </HeaderContent>\n )}\n <List\n as={as}\n style={{\n height: `${virtualizer.getTotalSize()}px`,\n width: \"100%\",\n position: \"relative\",\n }}\n >\n {items.map((virtualRow) => {\n return (\n <ListItem\n key={virtualRow.key}\n data-index={virtualRow.index}\n ref={virtualizer.measureElement}\n style={{\n position: \"absolute\",\n top: 0,\n left: 0,\n width: \"100%\",\n transform: `translateY(${\n virtualRow.start - virtualizer.options.scrollMargin\n }px)`,\n }}\n >\n {renderItem(data[virtualRow.index] as T)}\n </ListItem>\n );\n })}\n </List>\n {hasNextPage && !isFetchingNextPage && (\n <div ref={afterInView.ref}>\n <Loader delay={false} />\n </div>\n )}\n </div>\n );\n};\n\nExperimental_VirtualizedDataList.displayName =\n \"Experimental_VirtualizedDataList\";\n\nexport default Experimental_VirtualizedDataList;\n","import * as React from \"react\";\nimport Container, { Text } from \"./styles\";\nimport type { TypeLoaderProps } from \"./LoaderTypes\";\n\nconst Loader = ({\n size = \"large\",\n text = \"\",\n delay = true,\n color = \"dark\",\n qa,\n ...rest\n}: TypeLoaderProps) => {\n return (\n <Container\n small={size === \"small\"}\n dark={color === \"dark\"}\n delay={delay}\n data-qa-loader=\"\"\n {...qa}\n {...rest}\n >\n <Text>{text || \"Loading\"}</Text>\n </Container>\n );\n};\n\nexport default Loader;\n","import styled, { css, keyframes } from \"styled-components\";\nimport { COMMON } from \"@sproutsocial/seeds-react-system-props\";\nimport { visuallyHidden } from \"@sproutsocial/seeds-react-mixins\";\nimport type { TypeLoaderProps } from \"./LoaderTypes\";\n\nconst getSize = (size: number) => {\n const spinnerSize = Math.round(size * 1);\n const borderWidth = Math.round(size * 0.1);\n\n return css`\n width: ${size}px;\n height: ${size}px;\n box-shadow: ${({ theme }) =>\n `0 0 0 2px ${theme.colors.neutral[600]}, \n inset 0 0 0 ${borderWidth + 2}px ${theme.colors.neutral[600]}`};\n\n &:after {\n width: ${spinnerSize}px;\n height: ${spinnerSize}px;\n box-sizing: border-box;\n border-width: ${borderWidth}px;\n }\n\n .no-cssanimations &::after {\n background-size: ${spinnerSize}px;\n }\n `;\n};\n\nconst spin = keyframes`\n from {\n transform: translate(-50%,-50%) rotate(0deg);\n }\n to {\n transform: translate(-50%,-50%) rotate(360deg);\n }\n`;\n\nconst delayAnimation = keyframes`\n 0% {\n opacity: 0;\n }\n 80% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n`;\n\ninterface TypeLoaderContainer extends Pick<TypeLoaderProps, \"delay\"> {\n small?: boolean;\n dark?: boolean;\n}\n\nconst Container = styled.div.attrs<{ className: string }>({\n className: \"Loader\",\n})<TypeLoaderContainer>`\n position: relative;\n margin: 0 auto;\n padding: 0;\n overflow: hidden;\n border-radius: 100%;\n\n animation: ${(props) =>\n props.delay\n ? css`\n ${delayAnimation} 2s 1;\n `\n : \"none\"};\n\n &:after {\n position: absolute;\n top: 50%;\n left: 50%;\n background: transparent;\n border-style: solid;\n border-radius: 100%;\n content: \"\";\n transition: opacity 250ms;\n border-color: ${({ theme }) =>\n `${theme.colors.neutral[0]} ${theme.colors.neutral[0]} ${theme.colors.neutral[600]} ${theme.colors.neutral[600]}`};\n\n animation: ${(props) =>\n props.delay\n ? css`\n ${spin} 2.25s infinite linear, ${delayAnimation} 2s 1\n `\n : css`\n ${spin} 2.25s infinite linear\n `};\n }\n\n ${(props) => (props.small ? getSize(20) : getSize(40))}\n ${COMMON}\n`;\n\nexport const Text = styled.div<Pick<TypeLoaderProps, \"text\">>`\n ${visuallyHidden}\n`;\n\nexport default Container;\n","import Loader from \"./Loader\";\n\nexport default Loader;\nexport { Loader };\nexport * from \"./LoaderTypes\";\n","import { css } from \"styled-components\";\n\nexport const svgToDataURL = (svgStr: string) => {\n const encoded = encodeURIComponent(svgStr)\n .replace(/'/g, \"%27\")\n .replace(/\"/g, \"%22\");\n\n const header = \"data:image/svg+xml,\";\n const dataUrl = header + encoded;\n\n return dataUrl;\n};\n\nexport const visuallyHidden = css`\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0 0 0 0);\n border: 0;\n`;\n\nexport const focusRing = css`\n box-shadow: 0 0 0 1px\n ${({ theme }) => theme.colors.button.primary.background.base},\n 0 0px 0px 4px\n color-mix(\n in srgb,\n ${({ theme }) => theme.colors.button.primary.background.base},\n transparent 70%\n );\n outline: none;\n\n &::-moz-focus-inner {\n border: 0;\n }\n`;\n\nexport const pill = css`\n min-width: ${({ theme }) => theme.space[600]};\n min-height: ${({ theme }) => theme.space[600]};\n padding: ${({ theme }) => theme.space[300]};\n border-radius: ${({ theme }) => theme.radii.pill};\n`;\n\nexport const disabled = css`\n opacity: 0.4;\n pointer-events: none;\n`;\n\nexport const container = css`\n background: ${({ theme }) => theme.colors.container.background.base};\n border: ${({ theme }) => theme.borders[500]}\n ${({ theme }) => theme.colors.container.border.base};\n border-radius: ${({ theme }) => theme.radii.outer};\n`;\n\nexport const divider = css`\n border-bottom: ${({ theme }) => theme.borderWidths[500]} solid\n ${({ theme }) => theme.colors.container.border.base};\n`;\n\nexport const truncate = css`\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n`;\n","import * as React from \"react\";\nimport type { TypeStyledComponentsCommonProps } from \"@sproutsocial/seeds-react-system-props\";\n\nexport type TypeListElement = \"ul\" | \"ol\";\n\nexport interface TypeListProps extends TypeStyledComponentsCommonProps {\n /** The HTML element to render as - either \"ul\" or \"ol\" */\n as?: TypeListElement;\n /** Array of elements to render as list items */\n children: React.ReactNode;\n /** Inline styles to apply to the list element */\n style?: React.CSSProperties;\n}\n","import * as React from \"react\";\nimport type { TypeStyledComponentsCommonProps } from \"@sproutsocial/seeds-react-system-props\";\nimport type { TypeIconName } from \"@sproutsocial/seeds-react-icon\";\n\nexport interface TypeListItemProps extends TypeStyledComponentsCommonProps {\n /** If true, adds a border and padding around the list item which looks like a card or button */\n isBordered?: boolean;\n /** Children to display inside the list item */\n children: React.ReactNode;\n /** Inline styles to apply to the list item element */\n style?: React.CSSProperties;\n}\n\nexport interface TypeListItemContentProps\n extends TypeStyledComponentsCommonProps {\n /** Main text displayed as SmallSubheadline */\n text: React.ReactNode;\n /** Details text displayed as Byline below the main text */\n details?: React.ReactNode;\n /** Aside text displayed as Byline on the right side */\n aside?: React.ReactNode;\n /** Optional icon name to display on the left */\n iconName?: TypeIconName;\n /** Label used to describe the icon if not used with an accompanying visual label */\n iconLabel?: string;\n /** Actions to display on the right side (e.g., buttons, menus) */\n actions?: React.ReactNode;\n}\n","import * as React from \"react\";\nimport type { TypeListProps } from \"./ListTypes\";\nimport type { TypeDataItemSkeletonProps } from \"./DataItemSkeletonTypes\";\nimport type { TypeListItemProps } from \"./ListItemTypes\";\nimport type { TypePaginationConfig } from \"@sproutsocial/seeds-react-pagination\";\n\nexport interface TypeDataListProps<T> extends Omit<TypeListProps, \"children\"> {\n /** Array of data items to render */\n data: T[];\n /** Function to render each item in the data array */\n renderItem: (item: T, index?: number) => React.ReactNode;\n /** If true, shows loading skeletons instead of data */\n isLoading?: boolean;\n /** Component to render when loading. Receives props for customizing skeleton appearance */\n LoadingComponent?: React.ComponentType<TypeDataItemSkeletonProps>;\n /** Estimated height of each item in pixels for virtualization. Defaults to 60 */\n estimateItemSize?: number;\n /** Props to pass to the list item component */\n listItemProps?: Omit<TypeListItemProps, \"children\">;\n /** Callback function called when the end of the list is reached (for infinite scrolling) */\n onEndReached?: () => void;\n /** Whether there is a next page available (for infinite scrolling) */\n hasNextPage?: boolean;\n /** Whether the next page is currently being fetched */\n isFetchingNextPage?: boolean;\n /** Header component to display at the top of the list */\n Header?: React.ReactNode;\n /** Scroll offset in pixels at which the header should be removed/hidden. Defaults to 500 */\n removeHeaderDepth?: number;\n /** Height of the header in pixels. Defaults to 60 */\n headerHeight?: number;\n /** Configuration for pagination controls with page navigation and size selection */\n paginationConfig?: TypePaginationConfig;\n /** Current page index (0-based) for pagination */\n currentPageIndex?: number;\n /** Number of items per page */\n pageSize?: number;\n /** Total number of items (for pagination) */\n totalItems?: number;\n /** Callback fired when the page changes */\n onPageChange?: (pageIndex: number) => void;\n /** Callback fired when the page size changes */\n onPageSizeChange?: (pageSize: number) => void;\n}\n"],"mappings":"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","names":["styled","import_jsx_runtime","Box","React","import_seeds_react_box","import_jsx_runtime","Box","Text","React","React","import_seeds_react_box","import_styled_components","import_seeds_react_box","import_jsx_runtime","styled","Box","import_jsx_runtime","Box","import_seeds_react_box","import_styled_components","import_jsx_runtime","styled","Box","React","import_seeds_react_box","import_react","import_styled_components","import_styled_components","import_jsx_runtime","Container","styled","Text","styles_default","index_default","import_styled_components","import_jsx_runtime","HeaderContent","styled","Box","index_default","React","React","React"]}
1
+ {"version":3,"sources":["../src/index.ts","../src/styles.tsx","../src/List.tsx","../src/ListItem.tsx","../src/ListItemContent.tsx","../src/DataList.tsx","../src/DataItemSkeleton.tsx","../../seeds-react-skeleton/src/Skeleton.tsx","../../seeds-react-skeleton/src/index.ts","../src/VirtualizedDataList.tsx","../../seeds-react-loader/src/Loader.tsx","../../seeds-react-loader/src/styles.ts","../../seeds-react-loader/src/index.ts","../../seeds-react-mixins/src/index.ts","../src/ListTypes.ts","../src/ListItemTypes.ts","../src/DataListTypes.ts"],"sourcesContent":["import List from \"./List\";\nimport ListItem from \"./ListItem\";\nimport ListItemContent from \"./ListItemContent\";\nimport DataList from \"./DataList\";\nimport DataItemSkeleton from \"./DataItemSkeleton\";\nimport Experimental_VirtualizedDataList from \"./VirtualizedDataList\";\n\nexport {\n List,\n ListItem,\n ListItemContent,\n DataList,\n DataItemSkeleton,\n Experimental_VirtualizedDataList,\n};\nexport * from \"./ListTypes\";\nexport * from \"./ListItemTypes\";\nexport * from \"./DataListTypes\";\nexport * from \"./DataItemSkeletonTypes\";\n","import styled from \"styled-components\";\nimport type { TypeListProps } from \"./ListTypes\";\n\nconst Container = styled.ul<TypeListProps>`\n margin: 0;\n padding: 0;\n list-style: none;\n`;\n\nexport default Container;\n","import Container from \"./styles\";\nimport type { TypeListProps } from \"./ListTypes\";\n\nconst List = ({ as = \"ul\", children, ...rest }: TypeListProps) => {\n return (\n <Container as={as} {...rest}>\n {children}\n </Container>\n );\n};\n\nList.displayName = \"List\";\n\nexport default List;\n","import * as React from \"react\";\nimport Box from \"@sproutsocial/seeds-react-box\";\nimport type { TypeListItemProps } from \"./ListItemTypes\";\n\nconst ListItem = React.forwardRef<HTMLLIElement, TypeListItemProps>(\n ({ isBordered, children, ...rest }, ref) => {\n return (\n <Box\n as=\"li\"\n ref={ref}\n borderRadius=\"outer\"\n {...(isBordered\n ? {\n border: 500,\n borderColor: \"container.border.base\",\n p: 300,\n }\n : {})}\n mt={300}\n {...rest}\n >\n {children}\n </Box>\n );\n }\n);\n\nListItem.displayName = \"ListItem\";\n\nexport default ListItem;\n","import * as React from \"react\";\nimport Box from \"@sproutsocial/seeds-react-box\";\nimport Text from \"@sproutsocial/seeds-react-text\";\nimport { Icon } from \"@sproutsocial/seeds-react-icon\";\nimport type { TypeListItemContentProps } from \"./ListItemTypes\";\n\nconst ListItemContent = ({\n text,\n details,\n aside,\n iconName,\n iconLabel,\n actions,\n ...rest\n}: TypeListItemContentProps) => {\n return (\n <Box\n display=\"flex\"\n justifyContent=\"space-between\"\n borderRadius=\"outer\"\n alignItems=\"baseline\"\n {...rest}\n >\n <Box display=\"flex\" flex=\"1\">\n {iconName && (\n <span>\n <Icon mr={300} name={iconName} size=\"small\" ariaLabel={iconLabel} />\n </span>\n )}\n <Box flex=\"1\">\n <Text.SmallSubHeadline as=\"div\">{text}</Text.SmallSubHeadline>\n {details && (\n <Text.Byline as=\"div\" mt={200}>\n {details}\n </Text.Byline>\n )}\n </Box>\n </Box>\n <Box display=\"flex\" alignItems=\"center\" gap={300} flexShrink={0}>\n {aside && <Text.Byline as=\"div\">{aside}</Text.Byline>}\n {actions && (\n <Box display=\"flex\" alignItems=\"center\">\n {actions}\n </Box>\n )}\n </Box>\n </Box>\n );\n};\n\nListItemContent.displayName = \"ListItemContent\";\n\nexport default ListItemContent;\n","import * as React from \"react\";\nimport { useRef, useState } from \"react\";\nimport List from \"./List\";\nimport DataItemSkeleton from \"./DataItemSkeleton\";\nimport ListItem from \"./ListItem\";\nimport Box from \"@sproutsocial/seeds-react-box\";\nimport Container from \"./styles\";\nimport type { TypeDataListProps } from \"./DataListTypes\";\nimport styled from \"styled-components\";\nimport { Pagination } from \"@sproutsocial/seeds-react-pagination\";\n\nconst HeaderContent = styled(Box)`\n width: 100%;\n transition: transform 0.4s ease-in-out;\n`;\n\nconst DataList = <T,>({\n as = \"ul\",\n data,\n renderItem,\n isLoading,\n LoadingComponent = DataItemSkeleton,\n listItemProps = {},\n estimateItemSize = 50,\n Header,\n paginationConfig,\n currentPageIndex: controlledPageIndex,\n pageSize: controlledPageSize,\n totalItems,\n onPageChange,\n onPageSizeChange,\n ...rest\n}: TypeDataListProps<T>) => {\n const containerRef = useRef<HTMLDivElement>(null);\n const loadingItems = [0, 1, 2, 3, 4];\n\n // Internal state for uncontrolled pagination\n const [internalPageIndex, setInternalPageIndex] = useState(0);\n const [internalPageSize, setInternalPageSize] = useState(\n paginationConfig?.initialPageSize ?? 10\n );\n\n // Use controlled props if provided, otherwise use internal state\n const currentPageIndex = controlledPageIndex ?? internalPageIndex;\n const pageSize = controlledPageSize ?? internalPageSize;\n\n // Use provided callbacks or internal state setters\n const handlePageChange = onPageChange ?? setInternalPageIndex;\n const handlePageSizeChange = onPageSizeChange ?? setInternalPageSize;\n\n // Calculate paginated data if pagination is enabled\n const displayData = React.useMemo(() => {\n if (!paginationConfig) {\n return data;\n }\n const startIndex = currentPageIndex * pageSize;\n const endIndex = startIndex + pageSize;\n return data.slice(startIndex, endIndex);\n }, [data, paginationConfig, currentPageIndex, pageSize]);\n\n const totalRows = totalItems !== undefined ? totalItems : data.length;\n\n // Early return for loading state\n if (isLoading) {\n return (\n <>\n {Header && (\n <HeaderContent\n style={{\n position: \"sticky\",\n top: 0,\n left: 0,\n width: \"100%\",\n zIndex: 1,\n }}\n id=\"header\"\n >\n {Header}\n </HeaderContent>\n )}\n <List as={as} {...rest}>\n {loadingItems.map((index) => (\n <ListItem key={index} {...listItemProps}>\n <LoadingComponent />\n </ListItem>\n ))}\n </List>\n </>\n );\n }\n\n return (\n <>\n {Header && (\n <HeaderContent\n style={{\n position: \"sticky\",\n top: 0,\n left: 0,\n width: \"100%\",\n zIndex: 1,\n }}\n id=\"header\"\n >\n {Header}\n </HeaderContent>\n )}\n <List as={as} {...rest}>\n {displayData.map((item, index) => (\n <ListItem key={index} {...listItemProps}>\n {renderItem(item, index)}\n </ListItem>\n ))}\n </List>\n {paginationConfig && (\n <Pagination\n paginationConfig={paginationConfig}\n currentPageIndex={currentPageIndex}\n pageSize={pageSize}\n totalRows={totalRows}\n onPageChange={handlePageChange}\n onPageSizeChange={handlePageSizeChange}\n />\n )}\n </>\n );\n};\n\nDataList.displayName = \"DataList\";\n\nexport default DataList;\n","import * as React from \"react\";\nimport Box from \"@sproutsocial/seeds-react-box\";\nimport Skeleton from \"@sproutsocial/seeds-react-skeleton\";\nimport type { TypeDataItemSkeletonProps } from \"./DataItemSkeletonTypes\";\n\nconst DataItemSkeleton = ({\n hasIcon = false,\n hasAside = false,\n hasSubtext = false,\n}: TypeDataItemSkeletonProps) => {\n return (\n <Box\n display=\"flex\"\n justifyContent=\"space-between\"\n borderRadius=\"outer\"\n alignItems=\"flex-start\"\n mb={100}\n >\n <Box display=\"flex\" flex=\"1\">\n {hasIcon && (\n <Box mr={300} flexShrink={0}>\n <Skeleton width={21} height={21} borderRadius=\"pill\" />\n </Box>\n )}\n <Box flex=\"1\">\n <Skeleton width=\"80%\" height={21} borderRadius=\"inner\" />\n {hasSubtext && (\n <Skeleton width=\"60%\" height={16} mt={300} borderRadius=\"inner\" />\n )}\n </Box>\n </Box>\n {hasAside && (\n <Box display=\"flex\" alignItems=\"center\" gap={300} flexShrink={0}>\n <Skeleton width={60} height={21} borderRadius=\"inner\" />\n </Box>\n )}\n </Box>\n );\n};\n\nDataItemSkeleton.displayName = \"DataItemSkeleton\";\n\nexport default DataItemSkeleton;\n","import styled from \"styled-components\";\nimport Box from \"@sproutsocial/seeds-react-box\";\nimport type { SkeletonProps } from \"./SkeletonTypes\";\n\n/**\n *\n * @param borderRadius\n * @returns classname string for handling appropriate loader style depending on passed in properties\n */\n// @ts-ignore TODO: fix noImplicitAny error here. IDK why there are no types for this component\nconst SkeletonAttrs = ({ borderRadius, height, width }) => ({\n className:\n borderRadius === \"pill\" && height === width ? \"circular\" : \"linear\",\n});\n\nconst Skeleton = styled(Box).attrs(SkeletonAttrs)`\n position: relative;\n background: ${(props) =>\n props.theme.colors.container.background.decorative.neutral};\n overflow: hidden;\n &.circular {\n &:before {\n position: absolute;\n top: -25%;\n left: -25%;\n content: '';\n background-image: ${(props) => `conic-gradient(\n ${props.theme.colors.container.background.decorative.neutral} 270deg,\n ${props.theme.colors.container.border.decorative.neutral} 300deg\n );`};\n height: 150%;\n width: 150%;\n animation: SkeletonRotate 2s infinite linear;\n }\n &:after {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n content: '';\n height: calc(100% - 8px);\n width: calc(100% - 8px);\n background: ${(p) => p.theme.colors.app.background.base};\n border-radius: 50%;\n }\n }\n &.linear {\n position: relative;\n background-image: ${(props) => `linear-gradient(\n 288deg,\n ${props.theme.colors.container.background.decorative.neutral} 32%,\n ${props.theme.colors.container.border.decorative.neutral},\n ${props.theme.colors.container.background.decorative.neutral} 68%\n );`}\n background-size: 400%;\n background-repeat: no-repeat;\n animation: SkeletonShimmer 2s linear infinite reverse;\n overflow: hidden;\n &:after {\n position: absolute;\n bottom: 0;\n content: \"\";\n height: calc(100% - 4px);\n width: 100%;\n background: ${(props) =>\n props.theme.colors.container.background.decorative.neutral};\n \n }\n }\n\n @media (prefers-reduced-motion) {\n &.linear,\n &.circular::before {\n animation: none;\n }\n &:before,\n &:after {\n display: none;\n }\n &.linear,\n &.circular {\n border: 1px solid ${(props) =>\n props.theme.colors.container.border.decorative.neutral};\n animation: SkeletonPulse 2s linear infinite alternate; \n }\n }\n\n @keyframes SkeletonRotate {\n 100% {\n transform: rotate(360deg);\n }\n }\n @keyframes SkeletonRotateFade {\n 50% {\n transform: rotate(360deg);\n }\n 90% {\n opacity: 1;\n }\n 100% {\n transform: rotate(720deg);\n opacity: 0;\n }\n }\n\n @keyframes SkeletonShimmer {\n 0% {\n background-position: 0% 0;\n }\n 100% {\n background-position: 100% 0;\n }\n }\n @keyframes SkeletonPulse {\n 0% {\n border-color: ${(props) =>\n props.theme.colors.container.border.decorative.neutral}FF;\n }\n 100% {\n border-color: ${(props) =>\n props.theme.colors.container.border.decorative.neutral}1A;\n }\n }\n`;\n\n// @TODO: Refine types that are passed to SkeletonComponent\nexport const SkeletonComponent = ({\n borderRadius,\n height,\n width,\n ...props\n}: SkeletonProps) => {\n return (\n <Skeleton\n borderRadius={borderRadius}\n height={height}\n width={width}\n {...props}\n />\n );\n};\n\nexport default Skeleton;\n","import Skeleton from \"./Skeleton\";\n\nexport default Skeleton;\nexport * from \"./SkeletonTypes\";\nexport { Skeleton };\n","import * as React from \"react\";\nimport List from \"./List\";\nimport ListItem from \"./ListItem\";\nimport Box from \"@sproutsocial/seeds-react-box\";\nimport Loader from \"@sproutsocial/seeds-react-loader\";\nimport { useVirtualizer } from \"@tanstack/react-virtual\";\nimport type { TypeDataListProps } from \"./DataListTypes\";\nimport { useInView } from \"react-intersection-observer\";\nimport styled from \"styled-components\";\n\nconst HeaderContent = styled(Box)`\n width: 100%;\n transition: transform 0.4s ease-in-out;\n background-color: red;\n`;\n\nconst Experimental_VirtualizedDataList = <T,>({\n as = \"ul\",\n data,\n renderItem,\n estimateItemSize = 50,\n onEndReached,\n hasNextPage,\n isFetchingNextPage,\n Header,\n removeHeaderDepth = 500,\n headerHeight = 60,\n ...rest\n}: TypeDataListProps<T>) => {\n const afterInView = useInView();\n\n const parentRef = React.useRef<HTMLDivElement>(null);\n\n const count = data.length;\n\n const virtualizer = useVirtualizer({\n count,\n getScrollElement: () => parentRef.current,\n estimateSize: () => estimateItemSize,\n overscan: 5,\n });\n\n const items = virtualizer.getVirtualItems();\n const offset = virtualizer.scrollOffset;\n\n const transform =\n offset && offset > removeHeaderDepth\n ? `translateY(-${headerHeight}px)`\n : \"translateY(0px)\";\n\n React.useEffect(() => {\n if (afterInView.inView) {\n onEndReached?.();\n }\n }, [onEndReached, afterInView.inView]);\n\n return (\n <div\n ref={parentRef}\n className=\"List\"\n style={{\n width: \"100%\",\n height: \"100%\",\n overflowY: \"auto\",\n contain: \"strict\",\n }}\n >\n {Header && (\n <HeaderContent\n style={{\n position: \"sticky\",\n transform,\n top: 0,\n left: 0,\n width: \"100%\",\n zIndex: 1,\n }}\n id=\"header\"\n >\n {Header}\n </HeaderContent>\n )}\n <List\n as={as}\n style={{\n height: `${virtualizer.getTotalSize()}px`,\n width: \"100%\",\n position: \"relative\",\n }}\n >\n {items.map((virtualRow) => {\n return (\n <ListItem\n key={virtualRow.key}\n data-index={virtualRow.index}\n ref={virtualizer.measureElement}\n style={{\n position: \"absolute\",\n top: 0,\n left: 0,\n width: \"100%\",\n transform: `translateY(${\n virtualRow.start - virtualizer.options.scrollMargin\n }px)`,\n }}\n >\n {renderItem(data[virtualRow.index] as T)}\n </ListItem>\n );\n })}\n </List>\n {hasNextPage && !isFetchingNextPage && (\n <div ref={afterInView.ref}>\n <Loader delay={false} />\n </div>\n )}\n </div>\n );\n};\n\nExperimental_VirtualizedDataList.displayName =\n \"Experimental_VirtualizedDataList\";\n\nexport default Experimental_VirtualizedDataList;\n","import * as React from \"react\";\nimport Container, { Text } from \"./styles\";\nimport type { TypeLoaderProps } from \"./LoaderTypes\";\n\nconst Loader = ({\n size = \"large\",\n text = \"\",\n delay = true,\n color = \"dark\",\n qa,\n ...rest\n}: TypeLoaderProps) => {\n return (\n <Container\n small={size === \"small\"}\n dark={color === \"dark\"}\n delay={delay}\n data-qa-loader=\"\"\n {...qa}\n {...rest}\n >\n <Text>{text || \"Loading\"}</Text>\n </Container>\n );\n};\n\nexport default Loader;\n","import styled, { css, keyframes } from \"styled-components\";\nimport { COMMON } from \"@sproutsocial/seeds-react-system-props\";\nimport { visuallyHidden } from \"@sproutsocial/seeds-react-mixins\";\nimport type { TypeLoaderProps } from \"./LoaderTypes\";\n\nconst getSize = (size: number) => {\n const spinnerSize = Math.round(size * 1);\n const borderWidth = Math.round(size * 0.1);\n\n return css`\n width: ${size}px;\n height: ${size}px;\n box-shadow: ${({ theme }) =>\n `0 0 0 2px ${theme.colors.neutral[600]}, \n inset 0 0 0 ${borderWidth + 2}px ${theme.colors.neutral[600]}`};\n\n &:after {\n width: ${spinnerSize}px;\n height: ${spinnerSize}px;\n box-sizing: border-box;\n border-width: ${borderWidth}px;\n }\n\n .no-cssanimations &::after {\n background-size: ${spinnerSize}px;\n }\n `;\n};\n\nconst spin = keyframes`\n from {\n transform: translate(-50%,-50%) rotate(0deg);\n }\n to {\n transform: translate(-50%,-50%) rotate(360deg);\n }\n`;\n\nconst delayAnimation = keyframes`\n 0% {\n opacity: 0;\n }\n 80% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n`;\n\ninterface TypeLoaderContainer extends Pick<TypeLoaderProps, \"delay\"> {\n small?: boolean;\n dark?: boolean;\n}\n\nconst Container = styled.div.attrs<{ className: string }>({\n className: \"Loader\",\n})<TypeLoaderContainer>`\n position: relative;\n margin: 0 auto;\n padding: 0;\n overflow: hidden;\n border-radius: 100%;\n\n animation: ${(props) =>\n props.delay\n ? css`\n ${delayAnimation} 2s 1;\n `\n : \"none\"};\n\n &:after {\n position: absolute;\n top: 50%;\n left: 50%;\n background: transparent;\n border-style: solid;\n border-radius: 100%;\n content: \"\";\n transition: opacity 250ms;\n border-color: ${({ theme }) =>\n `${theme.colors.neutral[0]} ${theme.colors.neutral[0]} ${theme.colors.neutral[600]} ${theme.colors.neutral[600]}`};\n\n animation: ${(props) =>\n props.delay\n ? css`\n ${spin} 2.25s infinite linear, ${delayAnimation} 2s 1\n `\n : css`\n ${spin} 2.25s infinite linear\n `};\n }\n\n ${(props) => (props.small ? getSize(20) : getSize(40))}\n ${COMMON}\n`;\n\nexport const Text = styled.div<Pick<TypeLoaderProps, \"text\">>`\n ${visuallyHidden}\n`;\n\nexport default Container;\n","import Loader from \"./Loader\";\n\nexport default Loader;\nexport { Loader };\nexport * from \"./LoaderTypes\";\n","import { css } from \"styled-components\";\n\nexport const svgToDataURL = (svgStr: string) => {\n const encoded = encodeURIComponent(svgStr)\n .replace(/'/g, \"%27\")\n .replace(/\"/g, \"%22\");\n\n const header = \"data:image/svg+xml,\";\n const dataUrl = header + encoded;\n\n return dataUrl;\n};\n\nexport const visuallyHidden = css`\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0 0 0 0);\n border: 0;\n`;\n\nexport const focusRing = css`\n box-shadow: 0 0 0 1px\n ${({ theme }) => theme.colors.button.primary.background.base},\n 0 0px 0px 4px\n color-mix(\n in srgb,\n ${({ theme }) => theme.colors.button.primary.background.base},\n transparent 70%\n );\n outline: none;\n\n &::-moz-focus-inner {\n border: 0;\n }\n`;\n\nexport const pill = css`\n min-width: ${({ theme }) => theme.space[600]};\n min-height: ${({ theme }) => theme.space[600]};\n padding: ${({ theme }) => theme.space[300]};\n border-radius: ${({ theme }) => theme.radii.pill};\n`;\n\n/**\n * General-purpose disabled mixin. Applies opacity and removes pointer events.\n *\n * NOTE: Do NOT use this mixin for interactive elements. Those elements must\n * remain pointer-accessible.\n */\nexport const disabled = css`\n opacity: 0.4;\n pointer-events: none;\n`;\n\n/**\n * Disabled mixin for interactive elements (buttons, links, controls) that use\n * `aria-disabled=\"true\"` instead of the HTML `disabled` attribute.\n *\n * Unlike `disabled`, this mixin intentionally omits `pointer-events: none` so\n * that click events still reach the element's JavaScript handler, where they\n * can be suppressed and optionally used to show feedback (e.g. a tooltip).\n *\n * Usage: pair with `aria-disabled=\"true\"` on the element and an `onClick`\n * guard that returns early when the element is disabled.\n *\n * @see `disabled` for non-interactive elements\n */\nexport const interactiveDisabled = css`\n opacity: 0.4;\n cursor: not-allowed;\n`;\n\nexport const container = css`\n background: ${({ theme }) => theme.colors.container.background.base};\n border: ${({ theme }) => theme.borders[500]}\n ${({ theme }) => theme.colors.container.border.base};\n border-radius: ${({ theme }) => theme.radii.outer};\n`;\n\nexport const divider = css`\n border-bottom: ${({ theme }) => theme.borderWidths[500]} solid\n ${({ theme }) => theme.colors.container.border.base};\n`;\n\nexport const truncate = css`\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n`;\n","import * as React from \"react\";\nimport type { TypeStyledComponentsCommonProps } from \"@sproutsocial/seeds-react-system-props\";\n\nexport type TypeListElement = \"ul\" | \"ol\";\n\nexport interface TypeListProps extends TypeStyledComponentsCommonProps {\n /** The HTML element to render as - either \"ul\" or \"ol\" */\n as?: TypeListElement;\n /** Array of elements to render as list items */\n children: React.ReactNode;\n /** Inline styles to apply to the list element */\n style?: React.CSSProperties;\n}\n","import * as React from \"react\";\nimport type { TypeStyledComponentsCommonProps } from \"@sproutsocial/seeds-react-system-props\";\nimport type { TypeIconName } from \"@sproutsocial/seeds-react-icon\";\n\nexport interface TypeListItemProps extends TypeStyledComponentsCommonProps {\n /** If true, adds a border and padding around the list item which looks like a card or button */\n isBordered?: boolean;\n /** Children to display inside the list item */\n children: React.ReactNode;\n /** Inline styles to apply to the list item element */\n style?: React.CSSProperties;\n}\n\nexport interface TypeListItemContentProps\n extends TypeStyledComponentsCommonProps {\n /** Main text displayed as SmallSubheadline */\n text: React.ReactNode;\n /** Details text displayed as Byline below the main text */\n details?: React.ReactNode;\n /** Aside text displayed as Byline on the right side */\n aside?: React.ReactNode;\n /** Optional icon name to display on the left */\n iconName?: TypeIconName;\n /** Label used to describe the icon if not used with an accompanying visual label */\n iconLabel?: string;\n /** Actions to display on the right side (e.g., buttons, menus) */\n actions?: React.ReactNode;\n}\n","import * as React from \"react\";\nimport type { TypeListProps } from \"./ListTypes\";\nimport type { TypeDataItemSkeletonProps } from \"./DataItemSkeletonTypes\";\nimport type { TypeListItemProps } from \"./ListItemTypes\";\nimport type { TypePaginationConfig } from \"@sproutsocial/seeds-react-pagination\";\n\nexport interface TypeDataListProps<T> extends Omit<TypeListProps, \"children\"> {\n /** Array of data items to render */\n data: T[];\n /** Function to render each item in the data array */\n renderItem: (item: T, index?: number) => React.ReactNode;\n /** If true, shows loading skeletons instead of data */\n isLoading?: boolean;\n /** Component to render when loading. Receives props for customizing skeleton appearance */\n LoadingComponent?: React.ComponentType<TypeDataItemSkeletonProps>;\n /** Estimated height of each item in pixels for virtualization. Defaults to 60 */\n estimateItemSize?: number;\n /** Props to pass to the list item component */\n listItemProps?: Omit<TypeListItemProps, \"children\">;\n /** Callback function called when the end of the list is reached (for infinite scrolling) */\n onEndReached?: () => void;\n /** Whether there is a next page available (for infinite scrolling) */\n hasNextPage?: boolean;\n /** Whether the next page is currently being fetched */\n isFetchingNextPage?: boolean;\n /** Header component to display at the top of the list */\n Header?: React.ReactNode;\n /** Scroll offset in pixels at which the header should be removed/hidden. Defaults to 500 */\n removeHeaderDepth?: number;\n /** Height of the header in pixels. Defaults to 60 */\n headerHeight?: number;\n /** Configuration for pagination controls with page navigation and size selection */\n paginationConfig?: TypePaginationConfig;\n /** Current page index (0-based) for pagination */\n currentPageIndex?: number;\n /** Number of items per page */\n pageSize?: number;\n /** Total number of items (for pagination) */\n totalItems?: number;\n /** Callback fired when the page changes */\n onPageChange?: (pageIndex: number) => void;\n /** Callback fired when the page size changes */\n onPageSizeChange?: (pageSize: number) => void;\n}\n"],"mappings":"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","names":["styled","import_jsx_runtime","Box","React","import_seeds_react_box","import_jsx_runtime","Box","Text","React","React","import_seeds_react_box","import_styled_components","import_seeds_react_box","import_jsx_runtime","styled","Box","import_jsx_runtime","Box","import_seeds_react_box","import_styled_components","import_jsx_runtime","styled","Box","React","import_seeds_react_box","import_react","import_styled_components","import_styled_components","import_jsx_runtime","Container","styled","Text","styles_default","index_default","import_styled_components","import_jsx_runtime","HeaderContent","styled","Box","index_default","React","React","React"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sproutsocial/seeds-react-list",
3
- "version": "0.3.7",
3
+ "version": "0.3.8",
4
4
  "description": "Seeds React List",
5
5
  "author": "Sprout Social, Inc.",
6
6
  "license": "MIT",
@@ -18,13 +18,13 @@
18
18
  "test:watch": "jest --watch --coverage=false"
19
19
  },
20
20
  "dependencies": {
21
- "@sproutsocial/seeds-react-theme": "^3.6.1",
21
+ "@sproutsocial/seeds-react-theme": "^3.6.2",
22
22
  "@sproutsocial/seeds-react-system-props": "^3.0.2",
23
- "@sproutsocial/seeds-react-box": "^1.1.15",
23
+ "@sproutsocial/seeds-react-box": "^1.1.16",
24
24
  "@sproutsocial/seeds-react-text": "^1.4.0",
25
- "@sproutsocial/seeds-react-icon": "^2.3.1",
26
- "@sproutsocial/seeds-react-button": "^1.4.3",
27
- "@sproutsocial/seeds-react-pagination": "^0.1.6",
25
+ "@sproutsocial/seeds-react-icon": "^2.3.2",
26
+ "@sproutsocial/seeds-react-button": "^2.0.0",
27
+ "@sproutsocial/seeds-react-pagination": "^0.1.7",
28
28
  "@tanstack/react-virtual": "^3.13.12",
29
29
  "react-intersection-observer": "^9.16.0"
30
30
  },