@pega/cosmos-react-dnd 9.0.0-build.11.5 → 9.0.0-build.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/components/StandardDragDropList/StandardDragDropList.d.ts.map +1 -1
- package/lib/components/StandardDragDropList/StandardDragDropList.js +9 -7
- package/lib/components/StandardDragDropList/StandardDragDropList.js.map +1 -1
- package/lib/components/StandardDragDropList/StandardDragDropList.styles.d.ts +2 -2
- package/lib/components/StandardDragDropList/StandardDragDropList.styles.d.ts.map +1 -1
- package/lib/components/StandardDragDropList/StandardDragDropList.styles.js +4 -3
- package/lib/components/StandardDragDropList/StandardDragDropList.styles.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StandardDragDropList.d.ts","sourceRoot":"","sources":["../../../src/components/StandardDragDropList/StandardDragDropList.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAGV,UAAU,EAIX,MAAM,OAAO,CAAC;AA0Bf,OAAO,KAAK,EAAmC,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAwB3F,OAAO,KAAK,EACV,yBAAyB,EACzB,6BAA6B,EAC9B,MAAM,8BAA8B,CAAC;;;;;;;YAa9B,CAAJ;;;;;;;;;;;;;;;;;WAFW,6BAA6B,EAAE;sBACpB,yBAAyB,CAAC,iBAAiB,CAAC;YACtD,yBAAyB,CAAC,QAAQ,CAAC;cACjC,yBAAyB,CAAC,UAAU,CAAC;;;;
|
|
1
|
+
{"version":3,"file":"StandardDragDropList.d.ts","sourceRoot":"","sources":["../../../src/components/StandardDragDropList/StandardDragDropList.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAGV,UAAU,EAIX,MAAM,OAAO,CAAC;AA0Bf,OAAO,KAAK,EAAmC,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAwB3F,OAAO,KAAK,EACV,yBAAyB,EACzB,6BAA6B,EAC9B,MAAM,8BAA8B,CAAC;;;;;;;YAa9B,CAAJ;;;;;;;;;;;;;;;;;WAFW,6BAA6B,EAAE;sBACpB,yBAAyB,CAAC,iBAAiB,CAAC;YACtD,yBAAyB,CAAC,QAAQ,CAAC;cACjC,yBAAyB,CAAC,UAAU,CAAC;;;;AAsoBvD,wBAAiF"}
|
|
@@ -65,13 +65,15 @@ type, accept, primary, secondary, draggable = true, status, items, icon, onConfi
|
|
|
65
65
|
}
|
|
66
66
|
return (_jsx(Button, { variant: 'link', onClick: primary.onClick, href: primary.href, ref: setPrimaryTextEl, children: _jsxs(StyledPrimary, { children: [primaryText, tooltip] }) }));
|
|
67
67
|
}, [t, items, primary, collapsed, expandCollpaseId, primaryTextEl]);
|
|
68
|
-
return (_jsxs(_Fragment, { children: [_jsxs(Flex, { "data-testid": testIds.root, ...restProps, container: { direction: 'column' }, as: StyledStandardDragDropListItem, ref: containerRef, isDragging: isDragging, hasActions: hasActions, role: 'listitem', "aria-label": primary, tabIndex: tabKeyNavigation ? -1 : 0, children: [_jsxs(Flex, { container: { alignItems: 'center' }, as: StyledListItemInner, isDraggable: draggable, isSelectable: !!onItemSelection, hasActions: hasActions, hasVisual: !!status || !!icon, children: [draggable && (_jsx(DragHandle, { itemId: id, ref: dragRef, "data-testid": testIds.dragHandle, "aria-label": typeof primary === 'string' ? primary : primary.text })), _jsx(Flex, { container: { alignItems: 'center', gap: 0.5 }, item: { shrink: 1 }, children: _jsxs(Flex, { container: { alignItems: 'center', gap: status || icon ? 1 : undefined, pad: 0.5 }, as: StyledItemContent, children: [onItemSelection && !data.items && (_jsx(Checkbox, { "data-testid": testIds.checkbox, "aria-label": typeof primary === 'string' ? primary : primary.text, checked: selected, onChange: e => onItemSelection({ ...data, selected: e.target.checked }) })), status && _jsx(ItemStatus, { type: status?.type, message: status?.message }), icon && !items && _jsx(Icon, { "data-testid": testIds.icon, ...icon, size: 's' }), primaryEl] }) }),
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
68
|
+
return (_jsxs(_Fragment, { children: [_jsxs(Flex, { "data-testid": testIds.root, ...restProps, container: { direction: 'column' }, as: StyledStandardDragDropListItem, ref: containerRef, isDragging: isDragging, hasActions: hasActions, role: 'listitem', "aria-label": primary, tabIndex: tabKeyNavigation ? -1 : 0, children: [_jsxs(Flex, { container: { alignItems: 'center' }, as: StyledListItemInner, isDraggable: draggable, isSelectable: !!onItemSelection, hasActions: hasActions, hasVisual: !!status || !!icon, children: [draggable && (_jsx(DragHandle, { itemId: id, ref: dragRef, "data-testid": testIds.dragHandle, "aria-label": typeof primary === 'string' ? primary : primary.text })), _jsx(Flex, { container: { alignItems: 'center', gap: 0.5 }, item: { grow: 1, shrink: 1 }, children: _jsxs(Flex, { container: { alignItems: 'center', gap: status || icon ? 1 : undefined, pad: 0.5 }, as: StyledItemContent, children: [onItemSelection && !data.items && (_jsx(Checkbox, { "data-testid": testIds.checkbox, "aria-label": typeof primary === 'string' ? primary : primary.text, checked: selected, onChange: e => onItemSelection({ ...data, selected: e.target.checked }) })), status && _jsx(ItemStatus, { type: status?.type, message: status?.message }), icon && !items && _jsx(Icon, { "data-testid": testIds.icon, ...icon, size: 's' }), primaryEl] }) }), secondary && (_jsx(Flex, { container: { alignItems: 'center', justify: 'end', gap: 0.5 },
|
|
69
|
+
// flex-shrink: 100000 to crush secondary text before primary
|
|
70
|
+
item: { grow: 0, shrink: 100000 }, numberOfActions: numberOfActions, as: StyledItemSecondaryContainer, children: secondary && (_jsxs(StyledSecondary, { variant: 'secondary', ref: setSecondaryTextEl, children: [secondary, _jsx(Tooltip, { smart: true, target: secondaryTextEl, showDelay: 'none', hideDelay: 'none', children: secondary })] })) })), hasActions && (_jsxs(Flex, { container: { alignItems: 'center', gap: 0.5 }, as: StyledItemActions, children: [onAddTo && (_jsxs("span", { children: [_jsx(Button, { "data-testid": testIds.addButton, icon: true, variant: 'simple', label: t('add'), "aria-describedby": descriptionId, onClick: (e) => {
|
|
71
|
+
onAddTo?.(id, e);
|
|
72
|
+
}, children: _jsx(Icon, { name: 'plus' }) }), _jsx(HiddenText, { id: descriptionId, children: t('add_button_description') })] })), onConfigure && (_jsxs("span", { children: [_jsx(Button, { "data-testid": testIds.configureButton, icon: true, variant: 'simple', label: t('configure'), "aria-describedby": descriptionId, onClick: (e) => {
|
|
73
|
+
onConfigure?.(id, e);
|
|
74
|
+
}, children: _jsx(Icon, { name: 'gear' }) }), _jsx(HiddenText, { id: descriptionId, children: `${typeof primary === 'string' ? primary : primary.text} ${t('configure_button_description')}` })] })), onRemove && (_jsxs("span", { children: [_jsx(Button, { "data-testid": testIds.removeButton, icon: true, variant: 'simple', label: t('remove'), "aria-describedby": descriptionId, onClick: (e) => {
|
|
75
|
+
onRemove?.(id, e);
|
|
76
|
+
}, children: _jsx(Icon, { name: 'trash' }) }), _jsx(HiddenText, { id: descriptionId, children: `${typeof primary === 'string' ? primary : primary.text} ${t('remove_button_description')}` })] }))] }))] }), data.items && data.items.length > 0 && (_jsx(ExpandCollapse, { collapsed: collapsed, id: expandCollpaseId, children: _jsx(BaseStandardDragDropList, { accept: data.accept, items: data.items, onChange: data.onChange, onItemSelection: data.onItemSelection }) }))] }), _jsx(HiddenText, { id: descriptionId, children: t('list_item_control_instructions') })] }));
|
|
75
77
|
};
|
|
76
78
|
const ItemRendererWithTestIds = withTestIds(ItemRenderer, getItemRendererTestIds);
|
|
77
79
|
BaseStandardDragDropList = forwardRef(function BaseStandardDragDropListFunction({ testId, accept, items: itemsProp, onChange: onChangeProp, onEnter, onItemSelection, pushMode, pullMode, ...restProps }, ref) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StandardDragDropList.js","sourceRoot":"","sources":["../../../src/components/StandardDragDropList/StandardDragDropList.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n createContext,\n forwardRef,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useRef,\n useState\n} from 'react';\nimport type {\n Dispatch,\n KeyboardEvent,\n MouseEvent,\n PropsWithoutRef,\n Ref,\n SetStateAction\n} from 'react';\n\nimport {\n Flex,\n registerIcon,\n Icon,\n Text,\n Button,\n useI18n,\n EmptyState,\n ExpandCollapse,\n useUID,\n Tooltip,\n useElement,\n useTestIds,\n withTestIds,\n AdditionalInfo,\n Checkbox,\n HiddenText,\n useLiveLog,\n useFocusWithin,\n useConsolidatedRef,\n useArrows,\n getFocusables,\n useEvent\n} from '@pega/cosmos-react-core';\nimport type { ForwardRefForwardPropsComponent, OmitStrict } from '@pega/cosmos-react-core';\nimport * as DragIcon from '@pega/cosmos-react-core/lib/components/Icon/icons/drag.icon';\nimport * as PlusIcon from '@pega/cosmos-react-core/lib/components/Icon/icons/plus.icon';\nimport * as CaretDownIcon from '@pega/cosmos-react-core/lib/components/Icon/icons/caret-down.icon';\nimport * as DiamondMinusIcon from '@pega/cosmos-react-core/lib/components/Icon/icons/diamond-minus.icon';\nimport * as WarnSolidIcon from '@pega/cosmos-react-core/lib/components/Icon/icons/warn-solid.icon';\n\nimport DragDropList from '../DragDropList';\nimport type { ItemRendererProps } from '../DragDropList';\nimport type { DraggableItem } from '../Draggable';\nimport DragHandle from '../DragHandle';\n\nimport {\n StyledStandardDragDropList,\n StyledStandardDragDropListItem,\n StyledExpandCollapseToggle,\n StyledItemActions,\n StyledItemContent,\n StyledItemStatus,\n StyledPrimary,\n StyledSecondary,\n StyledListItemInner,\n StyledItemSecondaryContainer\n} from './StandardDragDropList.styles';\nimport type {\n StandardDragDropListProps,\n StandardDragDropListItemProps\n} from './StandardDragDropList.types';\nimport {\n getItemRendererTestIds,\n getStandardDragDropListTestIds\n} from './StandardDragDropList.test-ids';\n\nregisterIcon(DragIcon, PlusIcon, CaretDownIcon, DiamondMinusIcon, WarnSolidIcon);\n\ntype InternalStandardDragDropListItemProps = StandardDragDropListItemProps &\n (\n | {\n items: StandardDragDropListItemProps[];\n onItemSelection?: StandardDragDropListProps['onItemSelection'];\n accept: StandardDragDropListProps['accept'];\n onChange: StandardDragDropListProps['onChange'];\n }\n | {\n items?: undefined;\n onItemSelection?: StandardDragDropListProps['onItemSelection'];\n accept?: never;\n onChange?: never;\n }\n );\n\nlet BaseStandardDragDropList: ForwardRefForwardPropsComponent<\n OmitStrict<StandardDragDropListProps, 'ref'> & { ref: Ref<HTMLUListElement> }\n>;\n\ninterface TabKeyNavigationContextValue {\n tabKeyNavigation: boolean;\n setTabKeyNavigation: Dispatch<SetStateAction<boolean>>;\n}\n\nconst tabKeyNavigationContext = createContext<TabKeyNavigationContextValue>({\n tabKeyNavigation: false,\n setTabKeyNavigation: () => {}\n});\n\nconst ItemStatus = ({\n message,\n type\n}: Partial<NonNullable<StandardDragDropListItemProps['status']>>) => {\n const [ttt, setTTT] = useElement(null);\n const iconName = type === 'warning' ? 'diamond-minus' : 'warn-solid';\n\n return (\n <StyledItemStatus aria-live='polite' role='status'>\n {message && (\n <Text variant='secondary' status={type}>\n <Flex container={{ gap: 0.5 }}>\n <Icon ref={setTTT} name={iconName} role='status' tabIndex={0} aria-label={type} />\n <Tooltip target={ttt} aria-hidden showDelay='none' hideDelay='none'>\n {message}\n </Tooltip>\n </Flex>\n </Text>\n )}\n </StyledItemStatus>\n );\n};\n\nconst getFlattenedIds = (\n items: StandardDragDropListItemProps[]\n): StandardDragDropListItemProps['id'][] => {\n return items.flatMap(item => {\n return item.items ? [item.id, ...item.items.map(({ id }) => id)] : [item.id];\n });\n};\n\nconst ItemRenderer = ({\n testId,\n dragRef,\n previewRef,\n isDragging,\n data: {\n id,\n // Remove type for DOM restProps\n type,\n accept,\n primary,\n secondary,\n draggable = true,\n status,\n items,\n icon,\n onConfigure,\n onRemove,\n onAddTo,\n onChange,\n onItemSelection,\n selected,\n ...restProps\n },\n data\n}: ItemRendererProps<InternalStandardDragDropListItemProps>) => {\n const t = useI18n();\n const [collapsed, setCollapsed] = useState(false);\n const expandCollpaseId = useUID();\n const testIds = useTestIds(testId, getItemRendererTestIds);\n const descriptionId = useUID();\n const { tabKeyNavigation, setTabKeyNavigation } = useContext(tabKeyNavigationContext);\n const listItemRef = useRef<HTMLLIElement>(null);\n const containerRef = useConsolidatedRef<HTMLLIElement>(listItemRef, previewRef);\n\n const hasActions = !!(onConfigure ?? onRemove ?? onAddTo);\n const numberOfActions = [onConfigure, onRemove, onAddTo].filter(Boolean).length;\n\n const [primaryTextEl, setPrimaryTextEl] = useElement<\n HTMLSpanElement | HTMLAnchorElement | HTMLButtonElement\n >(null);\n const [secondaryTextEl, setSecondaryTextEl] = useElement<HTMLSpanElement>(null);\n\n useEvent(\n 'keydown',\n e => {\n if (e.key === 'Enter' && !tabKeyNavigation) {\n e.preventDefault();\n setTabKeyNavigation(true);\n getFocusables(listItemRef)[0]?.focus();\n }\n if (e.key === 'Escape' && tabKeyNavigation) {\n e.preventDefault();\n setTabKeyNavigation(false);\n listItemRef.current?.focus();\n }\n },\n { target: listItemRef, dependencies: [tabKeyNavigation] }\n );\n\n const primaryEl = useMemo(() => {\n const primaryText = typeof primary === 'string' ? primary : primary.text;\n\n const tooltip = (\n <Tooltip smart target={primaryTextEl} showDelay='none' hideDelay='none'>\n {primaryText}\n </Tooltip>\n );\n\n const labelText = collapsed ? t('expand') : t('collapse');\n\n if (items) {\n return (\n <>\n <StyledExpandCollapseToggle\n data-testid={testIds.expandCollapseButton}\n variant='simple'\n icon\n label={labelText}\n aria-label={`${labelText} - ${primaryText}`}\n onClick={() => setCollapsed(cur => !cur)}\n aria-owns={expandCollpaseId}\n aria-expanded={!collapsed}\n tabIndex={tabKeyNavigation ? 0 : -1}\n >\n <Icon name='caret-down' />\n </StyledExpandCollapseToggle>\n <span ref={setPrimaryTextEl}>\n {primaryText}\n {tooltip}\n </span>\n </>\n );\n }\n\n if (typeof primary === 'string') {\n return (\n <span ref={setPrimaryTextEl}>\n {primaryText}\n {tooltip}\n </span>\n );\n }\n\n return (\n <Button variant='link' onClick={primary.onClick} href={primary.href} ref={setPrimaryTextEl}>\n <StyledPrimary>\n {primaryText}\n {tooltip}\n </StyledPrimary>\n </Button>\n );\n }, [t, items, primary, collapsed, expandCollpaseId, primaryTextEl]);\n\n return (\n <>\n <Flex\n data-testid={testIds.root}\n {...restProps}\n container={{ direction: 'column' }}\n as={StyledStandardDragDropListItem}\n ref={containerRef}\n isDragging={isDragging}\n hasActions={hasActions}\n role='listitem'\n aria-label={primary}\n tabIndex={tabKeyNavigation ? -1 : 0}\n >\n <Flex\n container={{ alignItems: 'center' }}\n as={StyledListItemInner}\n isDraggable={draggable}\n isSelectable={!!onItemSelection}\n hasActions={hasActions}\n hasVisual={!!status || !!icon}\n >\n {draggable && (\n <DragHandle\n itemId={id}\n ref={dragRef}\n data-testid={testIds.dragHandle}\n aria-label={typeof primary === 'string' ? primary : primary.text}\n />\n )}\n <Flex container={{ alignItems: 'center', gap: 0.5 }} item={{ shrink: 1 }}>\n <Flex\n container={{ alignItems: 'center', gap: status || icon ? 1 : undefined, pad: 0.5 }}\n as={StyledItemContent}\n >\n {onItemSelection && !data.items && (\n <Checkbox\n data-testid={testIds.checkbox}\n aria-label={typeof primary === 'string' ? primary : primary.text}\n checked={selected}\n onChange={e => onItemSelection({ ...data, selected: e.target.checked })}\n />\n )}\n {status && <ItemStatus type={status?.type} message={status?.message} />}\n {icon && !items && <Icon data-testid={testIds.icon} {...icon} size='s' />}\n\n {primaryEl}\n </Flex>\n </Flex>\n\n {(secondary || hasActions) && (\n <Flex\n container={{ alignItems: 'center', justify: 'end', gap: 0.5 }}\n item={{ grow: 1 }}\n numberOfActions={numberOfActions}\n as={StyledItemSecondaryContainer}\n >\n {secondary && (\n <StyledSecondary variant='secondary' ref={setSecondaryTextEl}>\n {secondary}\n <Tooltip smart target={secondaryTextEl} showDelay='none' hideDelay='none'>\n {secondary}\n </Tooltip>\n </StyledSecondary>\n )}\n\n {hasActions && (\n <Flex container={{ alignItems: 'center', gap: 0.5 }} as={StyledItemActions}>\n {onAddTo && (\n <span>\n <Button\n data-testid={testIds.addButton}\n icon\n variant='simple'\n label={t('add')}\n aria-describedby={descriptionId}\n onClick={(e: MouseEvent<HTMLButtonElement>) => {\n onAddTo?.(id, e);\n }}\n >\n <Icon name='plus' />\n </Button>\n <HiddenText id={descriptionId}>{t('add_button_description')}</HiddenText>\n </span>\n )}\n\n {onConfigure && (\n <span>\n <Button\n data-testid={testIds.configureButton}\n icon\n variant='simple'\n label={t('configure')}\n aria-describedby={descriptionId}\n onClick={(e: MouseEvent<HTMLButtonElement>) => {\n onConfigure?.(id, e);\n }}\n >\n <Icon name='gear' />\n </Button>\n <HiddenText id={descriptionId}>\n {`${typeof primary === 'string' ? primary : primary.text} ${t('configure_button_description')}`}\n </HiddenText>\n </span>\n )}\n\n {onRemove && (\n <span>\n <Button\n data-testid={testIds.removeButton}\n icon\n variant='simple'\n label={t('remove')}\n aria-describedby={descriptionId}\n onClick={(e: MouseEvent<HTMLButtonElement>) => {\n onRemove?.(id, e);\n }}\n >\n <Icon name='trash' />\n </Button>\n <HiddenText\n id={descriptionId}\n >{`${typeof primary === 'string' ? primary : primary.text} ${t('remove_button_description')}`}</HiddenText>\n </span>\n )}\n </Flex>\n )}\n </Flex>\n )}\n </Flex>\n\n {/* Using data here so TS can track conditional type. */}\n {data.items && data.items.length > 0 && (\n <ExpandCollapse collapsed={collapsed} id={expandCollpaseId}>\n <BaseStandardDragDropList\n accept={data.accept}\n items={data.items}\n onChange={data.onChange}\n onItemSelection={data.onItemSelection}\n />\n </ExpandCollapse>\n )}\n </Flex>\n <HiddenText id={descriptionId}>{t('list_item_control_instructions')}</HiddenText>\n </>\n );\n};\n\nconst ItemRendererWithTestIds = withTestIds(ItemRenderer, getItemRendererTestIds);\n\nBaseStandardDragDropList = forwardRef(function BaseStandardDragDropListFunction(\n {\n testId,\n accept,\n items: itemsProp,\n onChange: onChangeProp,\n onEnter,\n onItemSelection,\n pushMode,\n pullMode,\n ...restProps\n }: PropsWithoutRef<StandardDragDropListProps>,\n ref: Ref<HTMLUListElement>\n) {\n const flatIds = useMemo(() => getFlattenedIds(itemsProp), [itemsProp]);\n const { tabKeyNavigation } = useContext(tabKeyNavigationContext);\n\n const timerRef = useRef<number>();\n const newItemsRef = useRef<StandardDragDropListItemProps[]>();\n\n const mergeChangeHandler = useCallback(\n (newItems: StandardDragDropListItemProps[]) => {\n if (typeof timerRef.current === 'number' && newItemsRef.current) {\n clearTimeout(timerRef.current);\n timerRef.current = undefined;\n const refedItems = newItemsRef.current;\n newItemsRef.current = undefined;\n\n const reffedItemsCount = getFlattenedIds(refedItems).length;\n const newItemsCount = getFlattenedIds(newItems).length;\n\n // Item moved between the top level list and nested list.\n if (Math.abs(reffedItemsCount - newItemsCount) === 2) {\n const itemsWithDuplicate = reffedItemsCount > newItemsCount ? refedItems : newItems;\n\n const flatItemsWithDuplicate = getFlattenedIds(itemsWithDuplicate);\n\n const duplicateItemId = flatItemsWithDuplicate.find(\n (id, idx) => flatItemsWithDuplicate.indexOf(id) !== idx\n );\n\n // Should never happen.\n if (!duplicateItemId) return;\n\n // The duplicate was top level before.\n if (itemsProp.some(({ id }) => id === duplicateItemId)) {\n onChangeProp?.(itemsWithDuplicate.filter(({ id }) => id !== duplicateItemId));\n }\n\n // The duplicate was nested before.\n else {\n onChangeProp?.(\n itemsWithDuplicate.map(innerItem => {\n if (!innerItem.items) return innerItem;\n\n if (\n itemsProp\n .find(({ id }) => id === innerItem.id)\n ?.items?.some(({ id: subItemId }) => subItemId === duplicateItemId)\n ) {\n return {\n ...innerItem,\n items: innerItem.items.filter(({ id }) => id !== duplicateItemId)\n };\n }\n\n return innerItem;\n })\n );\n }\n } else {\n // Failsafe for two unrelated change events within 100ms.\n onChangeProp?.(refedItems);\n onChangeProp?.(newItems);\n }\n } else {\n newItemsRef.current = newItems;\n timerRef.current = window.setTimeout(() => {\n onChangeProp?.(newItems);\n }, 100);\n }\n },\n [onChangeProp, itemsProp]\n );\n\n const itemsToRender: DraggableItem<InternalStandardDragDropListItemProps>[] = useMemo(\n () =>\n itemsProp.map(item => {\n const newItem = {\n id: item.id,\n type: item.type,\n data: {\n ...item,\n onItemSelection,\n draggable: item.draggable && !!onChangeProp\n } as InternalStandardDragDropListItemProps\n };\n if (!item.items) return newItem;\n\n return {\n ...newItem,\n data: {\n ...item,\n onItemSelection,\n accept: item.accept ?? accept,\n draggable: item.draggable && !!onChangeProp,\n onChange: onChangeProp\n ? (newItems: InternalStandardDragDropListItemProps[]) => {\n const newContentItems = itemsProp.map(topLevelItem =>\n topLevelItem.id === item.id && topLevelItem.items\n ? { ...topLevelItem, items: newItems }\n : topLevelItem\n );\n\n const flatNewItems = getFlattenedIds(newContentItems);\n\n if (\n itemsProp.some(propItem => !!propItem.items) &&\n flatIds.length !== flatNewItems.length\n ) {\n // An item may be \"removed\" or \"duplicated\".\n mergeChangeHandler(newContentItems);\n } else {\n onChangeProp(newContentItems);\n }\n }\n : undefined\n } as InternalStandardDragDropListItemProps\n };\n }),\n [accept, itemsProp, onChangeProp, tabKeyNavigation, flatIds, mergeChangeHandler]\n );\n\n const onChange = useCallback(\n (newItems: DraggableItem<InternalStandardDragDropListItemProps>[]) => {\n const newContentItems = newItems.map(({ data: { onChange: _, ...data } }) => {\n return data;\n });\n const flatNewItems = getFlattenedIds(newContentItems);\n\n if (itemsProp.some(propItem => !!propItem.items) && flatIds.length !== flatNewItems.length) {\n // An item may be \"removed\" or \"duplicated\".\n mergeChangeHandler(newContentItems);\n } else {\n onChangeProp?.(newContentItems);\n }\n },\n [onChangeProp, flatIds, mergeChangeHandler]\n );\n\n return (\n <DragDropList\n testId={testId}\n {...restProps}\n ref={ref}\n accept={accept}\n items={itemsToRender}\n pushMode={pushMode}\n pullMode={pullMode}\n itemRenderer={ItemRendererWithTestIds}\n emptyRenderer={EmptyState}\n onChange={onChange}\n onEnter={\n onEnter as (\n item: DraggableItem<InternalStandardDragDropListItemProps>\n ) => DraggableItem<InternalStandardDragDropListItemProps>\n }\n />\n );\n});\n\ntype CombinedProps = StandardDragDropListProps & InternalStandardDragDropListItemProps;\n\nconst StandardDragDropList = forwardRef<HTMLDivElement, CombinedProps>(\n (\n {\n testId,\n accept,\n pushMode,\n pullMode,\n items: itemsProp,\n heading: title,\n info,\n footer,\n headingTag = 'h2',\n additionalInfo,\n onChange,\n onEnter,\n onItemSelection,\n ...restProps\n }: PropsWithoutRef<StandardDragDropListProps>,\n ref: StandardDragDropListProps['ref']\n ) => {\n const [tabKeyNavigation, setTabKeyNavigation] = useState(false);\n const contextValue = useMemo(\n () => ({ tabKeyNavigation, setTabKeyNavigation }),\n [tabKeyNavigation]\n );\n const containerRef = useConsolidatedRef(ref);\n const listRef = useRef<HTMLUListElement>(null);\n const t = useI18n();\n const testIds = useTestIds(testId, getStandardDragDropListTestIds);\n const { announceAssertive } = useLiveLog();\n const [firstListElement, setFirstListElement] = useElement<HTMLLIElement>(null);\n\n useEffect(() => {\n setFirstListElement(\n listRef.current?.querySelector<HTMLLIElement>('[role=\"listitem\"]') ?? null\n );\n }, [itemsProp]);\n\n const arrowNavigationRef = tabKeyNavigation ? { current: null } : listRef;\n\n const heading = title ? (\n <Text variant={headingTag} role='heading'>\n {title}\n </Text>\n ) : null;\n\n const infoText = info ? <Text variant='primary'>{info}</Text> : undefined;\n\n useFocusWithin([containerRef], isFocused => {\n if (isFocused) {\n announceAssertive({ message: (title ?? '') + info });\n }\n });\n\n useFocusWithin([listRef], isFocused => {\n if (!isFocused) {\n setTabKeyNavigation(false);\n }\n });\n\n useEvent(\n 'keydown',\n e => {\n if (e.key === 'Tab' && !tabKeyNavigation && listRef.current) {\n listRef.current.inert = true; // Prevents focus from moving to the list items\n setTimeout(() => {\n if (listRef.current) listRef.current.inert = false;\n }, 0);\n }\n },\n { target: listRef }\n );\n\n useArrows(\n arrowNavigationRef,\n {\n cycle: false,\n selector: '[role=\"listitem\"]',\n dir: 'up-down',\n initialFocusElement: firstListElement\n },\n [tabKeyNavigation, firstListElement]\n );\n\n const descriptionId = useUID();\n\n return (\n <tabKeyNavigationContext.Provider value={contextValue}>\n <StyledStandardDragDropList ref={containerRef} data-testid={testIds.root} {...restProps}>\n {heading && (\n <Flex container={{ direction: 'column', gap: 1, pad: [1, undefined] }}>\n <Flex\n data-testid={testIds.header}\n container={{\n justify: 'between',\n alignItems: 'center',\n gap: 1\n }}\n as='header'\n >\n {additionalInfo ? (\n <Flex container>\n {heading}\n {/* Can assert title when heading is defined */}\n <AdditionalInfo heading={additionalInfo.heading ?? title!}>\n {additionalInfo.content}\n </AdditionalInfo>\n </Flex>\n ) : (\n heading\n )}\n </Flex>\n {infoText}\n </Flex>\n )}\n <BaseStandardDragDropList\n testId={testId}\n accept={accept}\n pushMode={pushMode}\n pullMode={pullMode}\n items={itemsProp}\n onChange={onChange}\n onEnter={onEnter}\n onItemSelection={onItemSelection}\n aria-describedby={descriptionId}\n ref={listRef}\n />\n {footer && (\n <Flex\n container={{\n alignItems: 'center',\n itemGap: 1,\n pad: [1, undefined]\n }}\n as='footer'\n onKeyDown={(e: KeyboardEvent) => {\n if (e.key === 'Tab' && e.shiftKey && firstListElement) {\n e.preventDefault();\n firstListElement.tabIndex = 0;\n firstListElement?.focus();\n }\n }}\n >\n {footer}\n </Flex>\n )}\n <HiddenText id={descriptionId}>{t('list_item_nav_instructions')}</HiddenText>\n </StyledStandardDragDropList>\n </tabKeyNavigationContext.Provider>\n );\n }\n);\n\nexport default withTestIds(StandardDragDropList, getStandardDragDropListTestIds);\n"]}
|
|
1
|
+
{"version":3,"file":"StandardDragDropList.js","sourceRoot":"","sources":["../../../src/components/StandardDragDropList/StandardDragDropList.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n createContext,\n forwardRef,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useRef,\n useState\n} from 'react';\nimport type {\n Dispatch,\n KeyboardEvent,\n MouseEvent,\n PropsWithoutRef,\n Ref,\n SetStateAction\n} from 'react';\n\nimport {\n Flex,\n registerIcon,\n Icon,\n Text,\n Button,\n useI18n,\n EmptyState,\n ExpandCollapse,\n useUID,\n Tooltip,\n useElement,\n useTestIds,\n withTestIds,\n AdditionalInfo,\n Checkbox,\n HiddenText,\n useLiveLog,\n useFocusWithin,\n useConsolidatedRef,\n useArrows,\n getFocusables,\n useEvent\n} from '@pega/cosmos-react-core';\nimport type { ForwardRefForwardPropsComponent, OmitStrict } from '@pega/cosmos-react-core';\nimport * as DragIcon from '@pega/cosmos-react-core/lib/components/Icon/icons/drag.icon';\nimport * as PlusIcon from '@pega/cosmos-react-core/lib/components/Icon/icons/plus.icon';\nimport * as CaretDownIcon from '@pega/cosmos-react-core/lib/components/Icon/icons/caret-down.icon';\nimport * as DiamondMinusIcon from '@pega/cosmos-react-core/lib/components/Icon/icons/diamond-minus.icon';\nimport * as WarnSolidIcon from '@pega/cosmos-react-core/lib/components/Icon/icons/warn-solid.icon';\n\nimport DragDropList from '../DragDropList';\nimport type { ItemRendererProps } from '../DragDropList';\nimport type { DraggableItem } from '../Draggable';\nimport DragHandle from '../DragHandle';\n\nimport {\n StyledStandardDragDropList,\n StyledStandardDragDropListItem,\n StyledExpandCollapseToggle,\n StyledItemActions,\n StyledItemContent,\n StyledItemStatus,\n StyledPrimary,\n StyledSecondary,\n StyledListItemInner,\n StyledItemSecondaryContainer\n} from './StandardDragDropList.styles';\nimport type {\n StandardDragDropListProps,\n StandardDragDropListItemProps\n} from './StandardDragDropList.types';\nimport {\n getItemRendererTestIds,\n getStandardDragDropListTestIds\n} from './StandardDragDropList.test-ids';\n\nregisterIcon(DragIcon, PlusIcon, CaretDownIcon, DiamondMinusIcon, WarnSolidIcon);\n\ntype InternalStandardDragDropListItemProps = StandardDragDropListItemProps &\n (\n | {\n items: StandardDragDropListItemProps[];\n onItemSelection?: StandardDragDropListProps['onItemSelection'];\n accept: StandardDragDropListProps['accept'];\n onChange: StandardDragDropListProps['onChange'];\n }\n | {\n items?: undefined;\n onItemSelection?: StandardDragDropListProps['onItemSelection'];\n accept?: never;\n onChange?: never;\n }\n );\n\nlet BaseStandardDragDropList: ForwardRefForwardPropsComponent<\n OmitStrict<StandardDragDropListProps, 'ref'> & { ref: Ref<HTMLUListElement> }\n>;\n\ninterface TabKeyNavigationContextValue {\n tabKeyNavigation: boolean;\n setTabKeyNavigation: Dispatch<SetStateAction<boolean>>;\n}\n\nconst tabKeyNavigationContext = createContext<TabKeyNavigationContextValue>({\n tabKeyNavigation: false,\n setTabKeyNavigation: () => {}\n});\n\nconst ItemStatus = ({\n message,\n type\n}: Partial<NonNullable<StandardDragDropListItemProps['status']>>) => {\n const [ttt, setTTT] = useElement(null);\n const iconName = type === 'warning' ? 'diamond-minus' : 'warn-solid';\n\n return (\n <StyledItemStatus aria-live='polite' role='status'>\n {message && (\n <Text variant='secondary' status={type}>\n <Flex container={{ gap: 0.5 }}>\n <Icon ref={setTTT} name={iconName} role='status' tabIndex={0} aria-label={type} />\n <Tooltip target={ttt} aria-hidden showDelay='none' hideDelay='none'>\n {message}\n </Tooltip>\n </Flex>\n </Text>\n )}\n </StyledItemStatus>\n );\n};\n\nconst getFlattenedIds = (\n items: StandardDragDropListItemProps[]\n): StandardDragDropListItemProps['id'][] => {\n return items.flatMap(item => {\n return item.items ? [item.id, ...item.items.map(({ id }) => id)] : [item.id];\n });\n};\n\nconst ItemRenderer = ({\n testId,\n dragRef,\n previewRef,\n isDragging,\n data: {\n id,\n // Remove type for DOM restProps\n type,\n accept,\n primary,\n secondary,\n draggable = true,\n status,\n items,\n icon,\n onConfigure,\n onRemove,\n onAddTo,\n onChange,\n onItemSelection,\n selected,\n ...restProps\n },\n data\n}: ItemRendererProps<InternalStandardDragDropListItemProps>) => {\n const t = useI18n();\n const [collapsed, setCollapsed] = useState(false);\n const expandCollpaseId = useUID();\n const testIds = useTestIds(testId, getItemRendererTestIds);\n const descriptionId = useUID();\n const { tabKeyNavigation, setTabKeyNavigation } = useContext(tabKeyNavigationContext);\n const listItemRef = useRef<HTMLLIElement>(null);\n const containerRef = useConsolidatedRef<HTMLLIElement>(listItemRef, previewRef);\n\n const hasActions = !!(onConfigure ?? onRemove ?? onAddTo);\n const numberOfActions = [onConfigure, onRemove, onAddTo].filter(Boolean).length;\n\n const [primaryTextEl, setPrimaryTextEl] = useElement<\n HTMLSpanElement | HTMLAnchorElement | HTMLButtonElement\n >(null);\n const [secondaryTextEl, setSecondaryTextEl] = useElement<HTMLSpanElement>(null);\n\n useEvent(\n 'keydown',\n e => {\n if (e.key === 'Enter' && !tabKeyNavigation) {\n e.preventDefault();\n setTabKeyNavigation(true);\n getFocusables(listItemRef)[0]?.focus();\n }\n if (e.key === 'Escape' && tabKeyNavigation) {\n e.preventDefault();\n setTabKeyNavigation(false);\n listItemRef.current?.focus();\n }\n },\n { target: listItemRef, dependencies: [tabKeyNavigation] }\n );\n\n const primaryEl = useMemo(() => {\n const primaryText = typeof primary === 'string' ? primary : primary.text;\n\n const tooltip = (\n <Tooltip smart target={primaryTextEl} showDelay='none' hideDelay='none'>\n {primaryText}\n </Tooltip>\n );\n\n const labelText = collapsed ? t('expand') : t('collapse');\n\n if (items) {\n return (\n <>\n <StyledExpandCollapseToggle\n data-testid={testIds.expandCollapseButton}\n variant='simple'\n icon\n label={labelText}\n aria-label={`${labelText} - ${primaryText}`}\n onClick={() => setCollapsed(cur => !cur)}\n aria-owns={expandCollpaseId}\n aria-expanded={!collapsed}\n tabIndex={tabKeyNavigation ? 0 : -1}\n >\n <Icon name='caret-down' />\n </StyledExpandCollapseToggle>\n <span ref={setPrimaryTextEl}>\n {primaryText}\n {tooltip}\n </span>\n </>\n );\n }\n\n if (typeof primary === 'string') {\n return (\n <span ref={setPrimaryTextEl}>\n {primaryText}\n {tooltip}\n </span>\n );\n }\n\n return (\n <Button variant='link' onClick={primary.onClick} href={primary.href} ref={setPrimaryTextEl}>\n <StyledPrimary>\n {primaryText}\n {tooltip}\n </StyledPrimary>\n </Button>\n );\n }, [t, items, primary, collapsed, expandCollpaseId, primaryTextEl]);\n\n return (\n <>\n <Flex\n data-testid={testIds.root}\n {...restProps}\n container={{ direction: 'column' }}\n as={StyledStandardDragDropListItem}\n ref={containerRef}\n isDragging={isDragging}\n hasActions={hasActions}\n role='listitem'\n aria-label={primary}\n tabIndex={tabKeyNavigation ? -1 : 0}\n >\n <Flex\n container={{ alignItems: 'center' }}\n as={StyledListItemInner}\n isDraggable={draggable}\n isSelectable={!!onItemSelection}\n hasActions={hasActions}\n hasVisual={!!status || !!icon}\n >\n {draggable && (\n <DragHandle\n itemId={id}\n ref={dragRef}\n data-testid={testIds.dragHandle}\n aria-label={typeof primary === 'string' ? primary : primary.text}\n />\n )}\n <Flex container={{ alignItems: 'center', gap: 0.5 }} item={{ grow: 1, shrink: 1 }}>\n <Flex\n container={{ alignItems: 'center', gap: status || icon ? 1 : undefined, pad: 0.5 }}\n as={StyledItemContent}\n >\n {onItemSelection && !data.items && (\n <Checkbox\n data-testid={testIds.checkbox}\n aria-label={typeof primary === 'string' ? primary : primary.text}\n checked={selected}\n onChange={e => onItemSelection({ ...data, selected: e.target.checked })}\n />\n )}\n {status && <ItemStatus type={status?.type} message={status?.message} />}\n {icon && !items && <Icon data-testid={testIds.icon} {...icon} size='s' />}\n\n {primaryEl}\n </Flex>\n </Flex>\n\n {secondary && (\n <Flex\n container={{ alignItems: 'center', justify: 'end', gap: 0.5 }}\n // flex-shrink: 100000 to crush secondary text before primary\n item={{ grow: 0, shrink: 100000 }}\n numberOfActions={numberOfActions}\n as={StyledItemSecondaryContainer}\n >\n {secondary && (\n <StyledSecondary variant='secondary' ref={setSecondaryTextEl}>\n {secondary}\n <Tooltip smart target={secondaryTextEl} showDelay='none' hideDelay='none'>\n {secondary}\n </Tooltip>\n </StyledSecondary>\n )}\n </Flex>\n )}\n\n {hasActions && (\n <Flex container={{ alignItems: 'center', gap: 0.5 }} as={StyledItemActions}>\n {onAddTo && (\n <span>\n <Button\n data-testid={testIds.addButton}\n icon\n variant='simple'\n label={t('add')}\n aria-describedby={descriptionId}\n onClick={(e: MouseEvent<HTMLButtonElement>) => {\n onAddTo?.(id, e);\n }}\n >\n <Icon name='plus' />\n </Button>\n <HiddenText id={descriptionId}>{t('add_button_description')}</HiddenText>\n </span>\n )}\n\n {onConfigure && (\n <span>\n <Button\n data-testid={testIds.configureButton}\n icon\n variant='simple'\n label={t('configure')}\n aria-describedby={descriptionId}\n onClick={(e: MouseEvent<HTMLButtonElement>) => {\n onConfigure?.(id, e);\n }}\n >\n <Icon name='gear' />\n </Button>\n <HiddenText id={descriptionId}>\n {`${typeof primary === 'string' ? primary : primary.text} ${t('configure_button_description')}`}\n </HiddenText>\n </span>\n )}\n\n {onRemove && (\n <span>\n <Button\n data-testid={testIds.removeButton}\n icon\n variant='simple'\n label={t('remove')}\n aria-describedby={descriptionId}\n onClick={(e: MouseEvent<HTMLButtonElement>) => {\n onRemove?.(id, e);\n }}\n >\n <Icon name='trash' />\n </Button>\n <HiddenText\n id={descriptionId}\n >{`${typeof primary === 'string' ? primary : primary.text} ${t('remove_button_description')}`}</HiddenText>\n </span>\n )}\n </Flex>\n )}\n </Flex>\n\n {/* Using data here so TS can track conditional type. */}\n {data.items && data.items.length > 0 && (\n <ExpandCollapse collapsed={collapsed} id={expandCollpaseId}>\n <BaseStandardDragDropList\n accept={data.accept}\n items={data.items}\n onChange={data.onChange}\n onItemSelection={data.onItemSelection}\n />\n </ExpandCollapse>\n )}\n </Flex>\n <HiddenText id={descriptionId}>{t('list_item_control_instructions')}</HiddenText>\n </>\n );\n};\n\nconst ItemRendererWithTestIds = withTestIds(ItemRenderer, getItemRendererTestIds);\n\nBaseStandardDragDropList = forwardRef(function BaseStandardDragDropListFunction(\n {\n testId,\n accept,\n items: itemsProp,\n onChange: onChangeProp,\n onEnter,\n onItemSelection,\n pushMode,\n pullMode,\n ...restProps\n }: PropsWithoutRef<StandardDragDropListProps>,\n ref: Ref<HTMLUListElement>\n) {\n const flatIds = useMemo(() => getFlattenedIds(itemsProp), [itemsProp]);\n const { tabKeyNavigation } = useContext(tabKeyNavigationContext);\n\n const timerRef = useRef<number>();\n const newItemsRef = useRef<StandardDragDropListItemProps[]>();\n\n const mergeChangeHandler = useCallback(\n (newItems: StandardDragDropListItemProps[]) => {\n if (typeof timerRef.current === 'number' && newItemsRef.current) {\n clearTimeout(timerRef.current);\n timerRef.current = undefined;\n const refedItems = newItemsRef.current;\n newItemsRef.current = undefined;\n\n const reffedItemsCount = getFlattenedIds(refedItems).length;\n const newItemsCount = getFlattenedIds(newItems).length;\n\n // Item moved between the top level list and nested list.\n if (Math.abs(reffedItemsCount - newItemsCount) === 2) {\n const itemsWithDuplicate = reffedItemsCount > newItemsCount ? refedItems : newItems;\n\n const flatItemsWithDuplicate = getFlattenedIds(itemsWithDuplicate);\n\n const duplicateItemId = flatItemsWithDuplicate.find(\n (id, idx) => flatItemsWithDuplicate.indexOf(id) !== idx\n );\n\n // Should never happen.\n if (!duplicateItemId) return;\n\n // The duplicate was top level before.\n if (itemsProp.some(({ id }) => id === duplicateItemId)) {\n onChangeProp?.(itemsWithDuplicate.filter(({ id }) => id !== duplicateItemId));\n }\n\n // The duplicate was nested before.\n else {\n onChangeProp?.(\n itemsWithDuplicate.map(innerItem => {\n if (!innerItem.items) return innerItem;\n\n if (\n itemsProp\n .find(({ id }) => id === innerItem.id)\n ?.items?.some(({ id: subItemId }) => subItemId === duplicateItemId)\n ) {\n return {\n ...innerItem,\n items: innerItem.items.filter(({ id }) => id !== duplicateItemId)\n };\n }\n\n return innerItem;\n })\n );\n }\n } else {\n // Failsafe for two unrelated change events within 100ms.\n onChangeProp?.(refedItems);\n onChangeProp?.(newItems);\n }\n } else {\n newItemsRef.current = newItems;\n timerRef.current = window.setTimeout(() => {\n onChangeProp?.(newItems);\n }, 100);\n }\n },\n [onChangeProp, itemsProp]\n );\n\n const itemsToRender: DraggableItem<InternalStandardDragDropListItemProps>[] = useMemo(\n () =>\n itemsProp.map(item => {\n const newItem = {\n id: item.id,\n type: item.type,\n data: {\n ...item,\n onItemSelection,\n draggable: item.draggable && !!onChangeProp\n } as InternalStandardDragDropListItemProps\n };\n if (!item.items) return newItem;\n\n return {\n ...newItem,\n data: {\n ...item,\n onItemSelection,\n accept: item.accept ?? accept,\n draggable: item.draggable && !!onChangeProp,\n onChange: onChangeProp\n ? (newItems: InternalStandardDragDropListItemProps[]) => {\n const newContentItems = itemsProp.map(topLevelItem =>\n topLevelItem.id === item.id && topLevelItem.items\n ? { ...topLevelItem, items: newItems }\n : topLevelItem\n );\n\n const flatNewItems = getFlattenedIds(newContentItems);\n\n if (\n itemsProp.some(propItem => !!propItem.items) &&\n flatIds.length !== flatNewItems.length\n ) {\n // An item may be \"removed\" or \"duplicated\".\n mergeChangeHandler(newContentItems);\n } else {\n onChangeProp(newContentItems);\n }\n }\n : undefined\n } as InternalStandardDragDropListItemProps\n };\n }),\n [accept, itemsProp, onChangeProp, tabKeyNavigation, flatIds, mergeChangeHandler]\n );\n\n const onChange = useCallback(\n (newItems: DraggableItem<InternalStandardDragDropListItemProps>[]) => {\n const newContentItems = newItems.map(({ data: { onChange: _, ...data } }) => {\n return data;\n });\n const flatNewItems = getFlattenedIds(newContentItems);\n\n if (itemsProp.some(propItem => !!propItem.items) && flatIds.length !== flatNewItems.length) {\n // An item may be \"removed\" or \"duplicated\".\n mergeChangeHandler(newContentItems);\n } else {\n onChangeProp?.(newContentItems);\n }\n },\n [onChangeProp, flatIds, mergeChangeHandler]\n );\n\n return (\n <DragDropList\n testId={testId}\n {...restProps}\n ref={ref}\n accept={accept}\n items={itemsToRender}\n pushMode={pushMode}\n pullMode={pullMode}\n itemRenderer={ItemRendererWithTestIds}\n emptyRenderer={EmptyState}\n onChange={onChange}\n onEnter={\n onEnter as (\n item: DraggableItem<InternalStandardDragDropListItemProps>\n ) => DraggableItem<InternalStandardDragDropListItemProps>\n }\n />\n );\n});\n\ntype CombinedProps = StandardDragDropListProps & InternalStandardDragDropListItemProps;\n\nconst StandardDragDropList = forwardRef<HTMLDivElement, CombinedProps>(\n (\n {\n testId,\n accept,\n pushMode,\n pullMode,\n items: itemsProp,\n heading: title,\n info,\n footer,\n headingTag = 'h2',\n additionalInfo,\n onChange,\n onEnter,\n onItemSelection,\n ...restProps\n }: PropsWithoutRef<StandardDragDropListProps>,\n ref: StandardDragDropListProps['ref']\n ) => {\n const [tabKeyNavigation, setTabKeyNavigation] = useState(false);\n const contextValue = useMemo(\n () => ({ tabKeyNavigation, setTabKeyNavigation }),\n [tabKeyNavigation]\n );\n const containerRef = useConsolidatedRef(ref);\n const listRef = useRef<HTMLUListElement>(null);\n const t = useI18n();\n const testIds = useTestIds(testId, getStandardDragDropListTestIds);\n const { announceAssertive } = useLiveLog();\n const [firstListElement, setFirstListElement] = useElement<HTMLLIElement>(null);\n\n useEffect(() => {\n setFirstListElement(\n listRef.current?.querySelector<HTMLLIElement>('[role=\"listitem\"]') ?? null\n );\n }, [itemsProp]);\n\n const arrowNavigationRef = tabKeyNavigation ? { current: null } : listRef;\n\n const heading = title ? (\n <Text variant={headingTag} role='heading'>\n {title}\n </Text>\n ) : null;\n\n const infoText = info ? <Text variant='primary'>{info}</Text> : undefined;\n\n useFocusWithin([containerRef], isFocused => {\n if (isFocused) {\n announceAssertive({ message: (title ?? '') + info });\n }\n });\n\n useFocusWithin([listRef], isFocused => {\n if (!isFocused) {\n setTabKeyNavigation(false);\n }\n });\n\n useEvent(\n 'keydown',\n e => {\n if (e.key === 'Tab' && !tabKeyNavigation && listRef.current) {\n listRef.current.inert = true; // Prevents focus from moving to the list items\n setTimeout(() => {\n if (listRef.current) listRef.current.inert = false;\n }, 0);\n }\n },\n { target: listRef }\n );\n\n useArrows(\n arrowNavigationRef,\n {\n cycle: false,\n selector: '[role=\"listitem\"]',\n dir: 'up-down',\n initialFocusElement: firstListElement\n },\n [tabKeyNavigation, firstListElement]\n );\n\n const descriptionId = useUID();\n\n return (\n <tabKeyNavigationContext.Provider value={contextValue}>\n <StyledStandardDragDropList ref={containerRef} data-testid={testIds.root} {...restProps}>\n {heading && (\n <Flex container={{ direction: 'column', gap: 1, pad: [1, undefined] }}>\n <Flex\n data-testid={testIds.header}\n container={{\n justify: 'between',\n alignItems: 'center',\n gap: 1\n }}\n as='header'\n >\n {additionalInfo ? (\n <Flex container>\n {heading}\n {/* Can assert title when heading is defined */}\n <AdditionalInfo heading={additionalInfo.heading ?? title!}>\n {additionalInfo.content}\n </AdditionalInfo>\n </Flex>\n ) : (\n heading\n )}\n </Flex>\n {infoText}\n </Flex>\n )}\n <BaseStandardDragDropList\n testId={testId}\n accept={accept}\n pushMode={pushMode}\n pullMode={pullMode}\n items={itemsProp}\n onChange={onChange}\n onEnter={onEnter}\n onItemSelection={onItemSelection}\n aria-describedby={descriptionId}\n ref={listRef}\n />\n {footer && (\n <Flex\n container={{\n alignItems: 'center',\n itemGap: 1,\n pad: [1, undefined]\n }}\n as='footer'\n onKeyDown={(e: KeyboardEvent) => {\n if (e.key === 'Tab' && e.shiftKey && firstListElement) {\n e.preventDefault();\n firstListElement.tabIndex = 0;\n firstListElement?.focus();\n }\n }}\n >\n {footer}\n </Flex>\n )}\n <HiddenText id={descriptionId}>{t('list_item_nav_instructions')}</HiddenText>\n </StyledStandardDragDropList>\n </tabKeyNavigationContext.Provider>\n );\n }\n);\n\nexport default withTestIds(StandardDragDropList, getStandardDragDropListTestIds);\n"]}
|
|
@@ -2,8 +2,8 @@ import { type DefaultTheme, type StyledComponent } from 'styled-components';
|
|
|
2
2
|
export declare const StyledExpandCollapseToggle: StyledComponent<import("@pega/cosmos-react-core").ForwardRefForwardPropsComponent<import("@pega/cosmos-react-core").ButtonProps>, DefaultTheme, {}, never>;
|
|
3
3
|
export declare const StyledItemStatus: StyledComponent<"div", DefaultTheme, {}, never>;
|
|
4
4
|
export declare const StyledItemContent: StyledComponent<"div", DefaultTheme, {}, never>;
|
|
5
|
-
export declare const
|
|
6
|
-
export declare const
|
|
5
|
+
export declare const StyledItemSecondaryContainer: StyledComponent<"div", DefaultTheme, {}, never>;
|
|
6
|
+
export declare const StyledItemActions: StyledComponent<"div", DefaultTheme, {
|
|
7
7
|
numberOfActions: number;
|
|
8
8
|
}, never>;
|
|
9
9
|
export declare const StyledPrimary: StyledComponent<import("@pega/cosmos-react-core").ForwardRefForwardPropsComponent<import("@pega/cosmos-react-core").TextProps>, DefaultTheme, {}, never>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StandardDragDropList.styles.d.ts","sourceRoot":"","sources":["../../../src/components/StandardDragDropList/StandardDragDropList.styles.ts"],"names":[],"mappings":"AAAA,OAAe,EAAO,KAAK,YAAY,EAAE,KAAK,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAQzF,eAAO,MAAM,0BAA0B,4JAerC,CAAC;AAIH,eAAO,MAAM,gBAAgB,iDAU3B,CAAC;AAIH,eAAO,MAAM,iBAAiB,iDAe5B,CAAC;AAIH,eAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"StandardDragDropList.styles.d.ts","sourceRoot":"","sources":["../../../src/components/StandardDragDropList/StandardDragDropList.styles.ts"],"names":[],"mappings":"AAAA,OAAe,EAAO,KAAK,YAAY,EAAE,KAAK,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAQzF,eAAO,MAAM,0BAA0B,4JAerC,CAAC;AAIH,eAAO,MAAM,gBAAgB,iDAU3B,CAAC;AAIH,eAAO,MAAM,iBAAiB,iDAe5B,CAAC;AAIH,eAAO,MAAM,4BAA4B,iDAExC,CAAC;AAEF,eAAO,MAAM,iBAAiB;qBAAiC,MAAM;SAapE,CAAC;AAEF,eAAO,MAAM,aAAa,0JAGzB,CAAC;AAEF,eAAO,MAAM,eAAe,0JAE3B,CAAC;AAEF,eAAO,MAAM,mBAAmB;kBAChB,OAAO;iBACR,OAAO;gBACR,OAAO;mBACJ,OAAO;SAiCtB,CAAC;AAIH,eAAO,MAAM,8BAA8B;iBAC5B,OAAO;YACZ,OAAO;SAiEf,CAAC;AAIH,eAAO,MAAM,0BAA0B,EAAE,eAAe,CAAC,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,CA8EvF,CAAC"}
|
|
@@ -49,8 +49,10 @@ export const StyledItemContent = styled.div(({ theme }) => {
|
|
|
49
49
|
`;
|
|
50
50
|
});
|
|
51
51
|
StyledItemContent.defaultProps = defaultThemeProp;
|
|
52
|
-
export const
|
|
53
|
-
|
|
52
|
+
export const StyledItemSecondaryContainer = styled.div `
|
|
53
|
+
min-width: 2rem;
|
|
54
|
+
`;
|
|
55
|
+
export const StyledItemActions = styled.div(({ theme, numberOfActions }) => {
|
|
54
56
|
const minContainerWidth = `calc(${numberOfActions} * ${theme.base['hit-area']['mouse-min']} + ${numberOfActions - 1} * ${theme.base.spacing} / 2)`;
|
|
55
57
|
const minCoarseContainerWidth = `calc(${numberOfActions} * ${theme.base['hit-area']['finger-min']} + ${numberOfActions - 1} * ${theme.base.spacing} / 2)`;
|
|
56
58
|
return css `
|
|
@@ -66,7 +68,6 @@ export const StyledPrimary = styled(Text) `
|
|
|
66
68
|
${ellipsisOverflow};
|
|
67
69
|
`;
|
|
68
70
|
export const StyledSecondary = styled(Text) `
|
|
69
|
-
max-width: 14ch;
|
|
70
71
|
${ellipsisOverflow}
|
|
71
72
|
`;
|
|
72
73
|
export const StyledListItemInner = styled.div(({ theme, isDraggable, hasActions, hasVisual, isSelectable }) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StandardDragDropList.styles.js","sourceRoot":"","sources":["../../../src/components/StandardDragDropList/StandardDragDropList.styles.ts"],"names":[],"mappings":"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","sourcesContent":["import styled, { css, type DefaultTheme, type StyledComponent } from 'styled-components';\n\nimport { Button, defaultThemeProp, StyledIcon, Text, useDirection } from '@pega/cosmos-react-core';\nimport { ellipsisOverflow } from '@pega/cosmos-react-core/lib/styles/mixins';\nimport { StyledPseudoRadioCheck } from '@pega/cosmos-react-core/lib/components/RadioCheck/RadioCheck';\n\nimport { StyledDragHandle } from '../DragHandle';\n\nexport const StyledExpandCollapseToggle = styled(Button)(({ theme }) => {\n const { ltr } = useDirection();\n return css`\n & > div {\n vertical-align: middle;\n }\n\n & ${StyledIcon} {\n transition: transform ${theme.base.animation.speed} ${theme.base.animation.timing.ease};\n }\n\n &[aria-expanded='false'] ${StyledIcon}:first-of-type {\n transform: rotateZ(${ltr ? '-' : ''}90deg);\n }\n `;\n});\n\nStyledExpandCollapseToggle.defaultProps = defaultThemeProp;\n\nexport const StyledItemStatus = styled.div(({ theme }) => {\n return css`\n ${StyledIcon} {\n outline: none;\n\n &:focus {\n box-shadow: ${theme.base.shadow['focus-inset']};\n }\n }\n `;\n});\n\nStyledItemStatus.defaultProps = defaultThemeProp;\n\nexport const StyledItemContent = styled.div(({ theme }) => {\n return css`\n &,\n & > :nth-child(2) {\n ${ellipsisOverflow}\n }\n\n & > ${StyledIcon} {\n margin-inline: ${theme.base.spacing};\n }\n\n & ${StyledPseudoRadioCheck} {\n margin-inline-end: 0;\n }\n `;\n});\n\nStyledItemContent.defaultProps = defaultThemeProp;\n\nexport const StyledItemActions = styled.div``;\n\nexport const StyledItemSecondaryContainer = styled.div<{ numberOfActions: number }>(\n ({ theme, numberOfActions }) => {\n const minContainerWidth = `calc(${numberOfActions} * ${theme.base['hit-area']['mouse-min']} + ${numberOfActions - 1} * ${theme.base.spacing} / 2)`;\n const minCoarseContainerWidth = `calc(${numberOfActions} * ${theme.base['hit-area']['finger-min']} + ${numberOfActions - 1} * ${theme.base.spacing} / 2)`;\n\n return css`\n min-width: ${minContainerWidth};\n\n @media (pointer: coarse) {\n min-width: ${minCoarseContainerWidth};\n }\n `;\n }\n);\n\nexport const StyledPrimary = styled(Text)`\n display: inline;\n ${ellipsisOverflow};\n`;\n\nexport const StyledSecondary = styled(Text)`\n max-width: 14ch;\n ${ellipsisOverflow}\n`;\n\nexport const StyledListItemInner = styled.div<{\n isDraggable?: boolean;\n hasActions?: boolean;\n hasVisual?: boolean;\n isSelectable?: boolean;\n}>(({ theme, isDraggable, hasActions, hasVisual, isSelectable }) => {\n return css`\n white-space: nowrap;\n padding-inline-start: calc(${theme.base.spacing} / 2);\n padding-inline-end: ${hasActions\n ? `calc(${theme.base.spacing} / 2)`\n : `calc(${theme.base.spacing} * 1.5)`};\n\n ${!isDraggable &&\n (!hasVisual || isSelectable) &&\n css`\n padding-inline-start: ${theme.base.spacing};\n `}\n ${hasVisual &&\n !isDraggable &&\n !isSelectable &&\n css`\n padding-inline-start: 0;\n `}\n\n &:has(${StyledExpandCollapseToggle}) {\n padding-inline-start: calc(${theme.base.spacing} * 0.5);\n\n &:not(:has(${StyledDragHandle})) {\n padding-inline-start: 0;\n }\n\n & > ${StyledDragHandle} {\n padding-inline-end: 0;\n }\n }\n `;\n});\n\nStyledListItemInner.defaultProps = defaultThemeProp;\n\nexport const StyledStandardDragDropListItem = styled.li<{\n isDragging?: boolean;\n empty?: boolean;\n}>(({ theme, isDragging, empty }) => {\n const bdrColor = theme.base.palette['border-line'];\n const bdr = `0.0625rem dashed ${isDragging || empty ? bdrColor : 'transparent'}`;\n\n if (empty) {\n return css`\n text-align: center;\n padding: ${theme.base.spacing};\n border: ${bdr};\n font-style: italic;\n `;\n }\n\n return css`\n position: relative;\n background: ${theme.base.palette['primary-background']};\n\n ${isDragging &&\n css`\n z-index: 1;\n\n & > div,\n span {\n opacity: 0.5;\n }\n `}\n\n &::before,\n &::after {\n content: '';\n display: block;\n position: absolute;\n height: 0.0625rem;\n left: 0;\n right: 0;\n background: ${isDragging ? theme.base.palette['primary-background'] : bdrColor};\n }\n\n &::before {\n top: 0;\n border-top: ${bdr};\n ${isDragging &&\n css`\n box-shadow: 0 0.0625rem 0 ${theme.base.palette.interactive};\n `}\n }\n\n &::after {\n bottom: -0.0625rem;\n border-bottom: ${bdr};\n ${isDragging &&\n css`\n box-shadow: 0 -0.0625rem 0 ${theme.base.palette.interactive};\n `}\n }\n\n & > ${StyledListItemInner} {\n min-height: calc(${theme.base['hit-area'].mouse} + ${theme.base.spacing});\n\n @media (pointer: coarse) {\n min-height: calc(${theme.base['hit-area']['finger-min']} + ${theme.base.spacing});\n }\n }\n `;\n});\n\nStyledStandardDragDropListItem.defaultProps = defaultThemeProp;\n\nexport const StyledStandardDragDropList: StyledComponent<'div', DefaultTheme, object, never> =\n styled.div(({ theme }) => {\n const {\n base: {\n palette: { 'border-line': borderColor },\n 'border-radius': baseBorderRadius\n },\n components: {\n 'form-control': { 'border-radius': borderRadiusMultiplier, 'border-width': borderWidth }\n }\n } = theme;\n\n const matchBottomBorderRadius = css`\n border-end-start-radius: calc(${baseBorderRadius} * ${borderRadiusMultiplier});\n border-end-end-radius: calc(${baseBorderRadius} * ${borderRadiusMultiplier});\n `;\n\n return css`\n flex-grow: 1;\n background-color: ${theme.base.palette['primary-background']};\n\n ul {\n list-style: none;\n border: ${borderWidth} solid ${borderColor};\n border-radius: calc(${baseBorderRadius} * ${borderRadiusMultiplier});\n\n > ${StyledStandardDragDropListItem} {\n &:first-child {\n border-start-start-radius: calc(${baseBorderRadius} * ${borderRadiusMultiplier});\n border-start-end-radius: calc(${baseBorderRadius} * ${borderRadiusMultiplier});\n\n &::before {\n display: none;\n }\n }\n\n &:last-child,\n &:last-child ${StyledStandardDragDropListItem}:last-child {\n ${matchBottomBorderRadius}\n\n &::after {\n display: none;\n }\n }\n\n &:last-child ${StyledStandardDragDropList} {\n ${matchBottomBorderRadius}\n }\n }\n\n ul {\n border: none;\n padding-inline: calc(3.5 * ${theme.base.spacing}) 0;\n\n > ${StyledStandardDragDropListItem} {\n &:first-child {\n border-radius: 0;\n }\n\n &:first-child::before {\n display: block;\n }\n\n &:last-child {\n border-radius: 0;\n }\n\n &:last-child::after {\n display: block;\n }\n\n ${StyledListItemInner} {\n padding-inline-start: calc(${theme.base.spacing} * 1);\n }\n }\n }\n }\n `;\n });\n\nStyledStandardDragDropList.defaultProps = defaultThemeProp;\n"]}
|
|
1
|
+
{"version":3,"file":"StandardDragDropList.styles.js","sourceRoot":"","sources":["../../../src/components/StandardDragDropList/StandardDragDropList.styles.ts"],"names":[],"mappings":"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","sourcesContent":["import styled, { css, type DefaultTheme, type StyledComponent } from 'styled-components';\n\nimport { Button, defaultThemeProp, StyledIcon, Text, useDirection } from '@pega/cosmos-react-core';\nimport { ellipsisOverflow } from '@pega/cosmos-react-core/lib/styles/mixins';\nimport { StyledPseudoRadioCheck } from '@pega/cosmos-react-core/lib/components/RadioCheck/RadioCheck';\n\nimport { StyledDragHandle } from '../DragHandle';\n\nexport const StyledExpandCollapseToggle = styled(Button)(({ theme }) => {\n const { ltr } = useDirection();\n return css`\n & > div {\n vertical-align: middle;\n }\n\n & ${StyledIcon} {\n transition: transform ${theme.base.animation.speed} ${theme.base.animation.timing.ease};\n }\n\n &[aria-expanded='false'] ${StyledIcon}:first-of-type {\n transform: rotateZ(${ltr ? '-' : ''}90deg);\n }\n `;\n});\n\nStyledExpandCollapseToggle.defaultProps = defaultThemeProp;\n\nexport const StyledItemStatus = styled.div(({ theme }) => {\n return css`\n ${StyledIcon} {\n outline: none;\n\n &:focus {\n box-shadow: ${theme.base.shadow['focus-inset']};\n }\n }\n `;\n});\n\nStyledItemStatus.defaultProps = defaultThemeProp;\n\nexport const StyledItemContent = styled.div(({ theme }) => {\n return css`\n &,\n & > :nth-child(2) {\n ${ellipsisOverflow}\n }\n\n & > ${StyledIcon} {\n margin-inline: ${theme.base.spacing};\n }\n\n & ${StyledPseudoRadioCheck} {\n margin-inline-end: 0;\n }\n `;\n});\n\nStyledItemContent.defaultProps = defaultThemeProp;\n\nexport const StyledItemSecondaryContainer = styled.div`\n min-width: 2rem;\n`;\n\nexport const StyledItemActions = styled.div<{ numberOfActions: number }>(\n ({ theme, numberOfActions }) => {\n const minContainerWidth = `calc(${numberOfActions} * ${theme.base['hit-area']['mouse-min']} + ${numberOfActions - 1} * ${theme.base.spacing} / 2)`;\n const minCoarseContainerWidth = `calc(${numberOfActions} * ${theme.base['hit-area']['finger-min']} + ${numberOfActions - 1} * ${theme.base.spacing} / 2)`;\n\n return css`\n min-width: ${minContainerWidth};\n\n @media (pointer: coarse) {\n min-width: ${minCoarseContainerWidth};\n }\n `;\n }\n);\n\nexport const StyledPrimary = styled(Text)`\n display: inline;\n ${ellipsisOverflow};\n`;\n\nexport const StyledSecondary = styled(Text)`\n ${ellipsisOverflow}\n`;\n\nexport const StyledListItemInner = styled.div<{\n isDraggable?: boolean;\n hasActions?: boolean;\n hasVisual?: boolean;\n isSelectable?: boolean;\n}>(({ theme, isDraggable, hasActions, hasVisual, isSelectable }) => {\n return css`\n white-space: nowrap;\n padding-inline-start: calc(${theme.base.spacing} / 2);\n padding-inline-end: ${hasActions\n ? `calc(${theme.base.spacing} / 2)`\n : `calc(${theme.base.spacing} * 1.5)`};\n\n ${!isDraggable &&\n (!hasVisual || isSelectable) &&\n css`\n padding-inline-start: ${theme.base.spacing};\n `}\n ${hasVisual &&\n !isDraggable &&\n !isSelectable &&\n css`\n padding-inline-start: 0;\n `}\n\n &:has(${StyledExpandCollapseToggle}) {\n padding-inline-start: calc(${theme.base.spacing} * 0.5);\n\n &:not(:has(${StyledDragHandle})) {\n padding-inline-start: 0;\n }\n\n & > ${StyledDragHandle} {\n padding-inline-end: 0;\n }\n }\n `;\n});\n\nStyledListItemInner.defaultProps = defaultThemeProp;\n\nexport const StyledStandardDragDropListItem = styled.li<{\n isDragging?: boolean;\n empty?: boolean;\n}>(({ theme, isDragging, empty }) => {\n const bdrColor = theme.base.palette['border-line'];\n const bdr = `0.0625rem dashed ${isDragging || empty ? bdrColor : 'transparent'}`;\n\n if (empty) {\n return css`\n text-align: center;\n padding: ${theme.base.spacing};\n border: ${bdr};\n font-style: italic;\n `;\n }\n\n return css`\n position: relative;\n background: ${theme.base.palette['primary-background']};\n\n ${isDragging &&\n css`\n z-index: 1;\n\n & > div,\n span {\n opacity: 0.5;\n }\n `}\n\n &::before,\n &::after {\n content: '';\n display: block;\n position: absolute;\n height: 0.0625rem;\n left: 0;\n right: 0;\n background: ${isDragging ? theme.base.palette['primary-background'] : bdrColor};\n }\n\n &::before {\n top: 0;\n border-top: ${bdr};\n ${isDragging &&\n css`\n box-shadow: 0 0.0625rem 0 ${theme.base.palette.interactive};\n `}\n }\n\n &::after {\n bottom: -0.0625rem;\n border-bottom: ${bdr};\n ${isDragging &&\n css`\n box-shadow: 0 -0.0625rem 0 ${theme.base.palette.interactive};\n `}\n }\n\n & > ${StyledListItemInner} {\n min-height: calc(${theme.base['hit-area'].mouse} + ${theme.base.spacing});\n\n @media (pointer: coarse) {\n min-height: calc(${theme.base['hit-area']['finger-min']} + ${theme.base.spacing});\n }\n }\n `;\n});\n\nStyledStandardDragDropListItem.defaultProps = defaultThemeProp;\n\nexport const StyledStandardDragDropList: StyledComponent<'div', DefaultTheme, object, never> =\n styled.div(({ theme }) => {\n const {\n base: {\n palette: { 'border-line': borderColor },\n 'border-radius': baseBorderRadius\n },\n components: {\n 'form-control': { 'border-radius': borderRadiusMultiplier, 'border-width': borderWidth }\n }\n } = theme;\n\n const matchBottomBorderRadius = css`\n border-end-start-radius: calc(${baseBorderRadius} * ${borderRadiusMultiplier});\n border-end-end-radius: calc(${baseBorderRadius} * ${borderRadiusMultiplier});\n `;\n\n return css`\n flex-grow: 1;\n background-color: ${theme.base.palette['primary-background']};\n\n ul {\n list-style: none;\n border: ${borderWidth} solid ${borderColor};\n border-radius: calc(${baseBorderRadius} * ${borderRadiusMultiplier});\n\n > ${StyledStandardDragDropListItem} {\n &:first-child {\n border-start-start-radius: calc(${baseBorderRadius} * ${borderRadiusMultiplier});\n border-start-end-radius: calc(${baseBorderRadius} * ${borderRadiusMultiplier});\n\n &::before {\n display: none;\n }\n }\n\n &:last-child,\n &:last-child ${StyledStandardDragDropListItem}:last-child {\n ${matchBottomBorderRadius}\n\n &::after {\n display: none;\n }\n }\n\n &:last-child ${StyledStandardDragDropList} {\n ${matchBottomBorderRadius}\n }\n }\n\n ul {\n border: none;\n padding-inline: calc(3.5 * ${theme.base.spacing}) 0;\n\n > ${StyledStandardDragDropListItem} {\n &:first-child {\n border-radius: 0;\n }\n\n &:first-child::before {\n display: block;\n }\n\n &:last-child {\n border-radius: 0;\n }\n\n &:last-child::after {\n display: block;\n }\n\n ${StyledListItemInner} {\n padding-inline-start: calc(${theme.base.spacing} * 1);\n }\n }\n }\n }\n `;\n });\n\nStyledStandardDragDropList.defaultProps = defaultThemeProp;\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pega/cosmos-react-dnd",
|
|
3
|
-
"version": "9.0.0-build.
|
|
3
|
+
"version": "9.0.0-build.12.0",
|
|
4
4
|
"license": "SEE LICENSE IN LICENSE",
|
|
5
5
|
"author": "Pegasystems",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"build": "tsc -b tsconfig.build.json"
|
|
15
15
|
},
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"@pega/cosmos-react-core": "9.0.0-build.
|
|
17
|
+
"@pega/cosmos-react-core": "9.0.0-build.12.0",
|
|
18
18
|
"@types/react": "^17.0.62 || ^18.3.3",
|
|
19
19
|
"@types/react-dom": "^17.0.20 || ^18.3.0",
|
|
20
20
|
"@types/styled-components": "^5.1.26",
|