@pega/cosmos-react-build 9.0.0-build.7.1 → 9.0.0-build.7.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -27,7 +27,7 @@ export const StyledLifeCycleWrapper = styled(Flex)(({ hasLabel, theme }) => {
27
27
  min-width: 100%;
28
28
  min-height: 100%;
29
29
  top: 0;
30
- background-color: ${theme.components.lifecycle.background};
30
+ background: ${theme.components.lifecycle.background};
31
31
 
32
32
  ${hasLabel &&
33
33
  css `
@@ -1 +1 @@
1
- {"version":3,"file":"LifeCycle.js","sourceRoot":"","sources":["../../../src/components/LifeCycle/LifeCycle.tsx"],"names":[],"mappings":"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","sourcesContent":["import { forwardRef, useCallback, useLayoutEffect, useMemo, useState } from 'react';\nimport type { PropsWithoutRef } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport {\n defaultThemeProp,\n Flex,\n Button,\n Icon,\n Text,\n useI18n,\n useTestIds,\n withTestIds,\n useAfterInitialEffect,\n useUID,\n usePrevious,\n registerIcon\n} from '@pega/cosmos-react-core';\nimport * as plusIcon from '@pega/cosmos-react-core/lib/components/Icon/icons/plus.icon';\nimport type { ForwardRefForwardPropsComponent } from '@pega/cosmos-react-core';\nimport { DragDropManager } from '@pega/cosmos-react-dnd';\n\nimport LifeCycleList, { type LifeCycleListProps } from './LifeCycleList';\nimport type { StageItemProps, LifeCycleProps } from './LifeCycle.types';\nimport LifeCycleContext from './LifeCycleContext';\nimport type { LifeCycleContextValue, LifeCycleDraggedItem } from './LifeCycleContext';\nimport { getAlternateStageTestIds, getStageTestIds } from './LifeCycle.test-ids';\nimport LifeCycleDragDropList from './LifeCycleDragDropList';\nimport { defaultDragDropConfig } from './utils';\n\nregisterIcon(plusIcon);\n\nconst StyledAddButton = styled(Button)(({ theme }) => {\n return css`\n align-self: flex-start;\n margin-block-start: calc(${theme.base.spacing} / 2);\n `;\n});\n\nStyledAddButton.defaultProps = defaultThemeProp;\n\nexport const StyledLifeCycleWrapper = styled(Flex)<{ hasLabel?: boolean }>(({\n hasLabel,\n theme\n}) => {\n const { spacing } = theme.base;\n return css`\n padding: calc(2 * ${spacing});\n margin: 0 calc(-2 * ${spacing}) calc(-2 * ${spacing}) calc(-2 * ${spacing});\n position: absolute;\n min-width: 100%;\n min-height: 100%;\n top: 0;\n background-color: ${theme.components.lifecycle.background};\n\n ${hasLabel &&\n css`\n padding-block-start: ${theme.base.spacing};\n `}\n\n li {\n list-style-type: none;\n }\n `;\n});\n\nStyledLifeCycleWrapper.defaultProps = defaultThemeProp;\n\nconst LifeCycle: ForwardRefForwardPropsComponent<LifeCycleProps> = forwardRef(\n (\n {\n items,\n categories = [],\n task = [],\n alternateItems = [],\n onAddStage,\n onAddAlternateStage,\n onDragDrop,\n dragDropConfig = defaultDragDropConfig,\n stage,\n alternateStage,\n selectedItemId,\n readOnly,\n ...restProps\n }: PropsWithoutRef<LifeCycleProps>,\n ref: LifeCycleProps['ref']\n ) => {\n const labelId = useUID();\n const t = useI18n();\n const [draggedItem, setDraggedItem] = useState<LifeCycleDraggedItem | undefined>();\n const [categoriesState, setCategoriesState] = useState(categories);\n const categoryElements: HTMLElement[] = [];\n const setRef = (element: HTMLOListElement) => {\n if (element) {\n categoryElements.push(element);\n }\n };\n\n useLayoutEffect(() => {\n let isHeightChanged = false;\n const categoriesColumn = [...categories];\n if (categoriesColumn && categoriesColumn.length > 0) {\n categoriesColumn.forEach((categoryItem, index) => {\n const categoryElm = [...categoryElements];\n let isActiveElement = false;\n const categoryComponent = categoryElm.filter((element: HTMLElement) => {\n if (element.getAttribute('data-id') === categoryItem.id) {\n if (categoryItem.elementId === element.getAttribute('id')) {\n isActiveElement = true;\n }\n return true;\n }\n return false;\n });\n if (!isActiveElement) {\n categoryItem.elementId = '';\n categoryItem.height = 0;\n }\n categoryComponent.forEach(categoryElement => {\n const columnHeight = categoryItem?.height ?? 0;\n const height = categoryElement.scrollHeight;\n const elementId = categoryElement.getAttribute('id');\n if (\n height > columnHeight ||\n (categoryItem.elementId === elementId && height !== columnHeight)\n ) {\n isHeightChanged = true;\n categoriesColumn[index].height = height;\n if (elementId) {\n categoriesColumn[index].elementId = elementId;\n }\n }\n });\n });\n if (isHeightChanged) {\n isHeightChanged = false;\n setCategoriesState(categoriesColumn);\n }\n }\n });\n\n const previouslyLoading = usePrevious(dragDropConfig.loading);\n useAfterInitialEffect(() => {\n // If the drag drop loading state is false and there was a dragged item, focus on the drag handle of the dragged item\n if (!dragDropConfig.loading && previouslyLoading && draggedItem) {\n setTimeout(() => {\n const dragHandle = document.querySelector(\n `[data-drag-handle-for=\"${draggedItem.id}\"]`\n ) as HTMLElement;\n if (dragHandle) {\n dragHandle.focus();\n }\n setDraggedItem(undefined);\n }, 100);\n }\n }, [dragDropConfig.loading, previouslyLoading, draggedItem?.id]);\n\n const getLifeCycleListProps = useCallback(\n (\n stageItem: StageItemProps,\n index: number,\n stageArray: StageItemProps[],\n alternate: boolean\n ): LifeCycleListProps => {\n return {\n id: stageItem.id,\n item: { ...stageItem, index, alternate },\n isFirstItem: index === 0,\n isLastItem: index === stageArray.length - 1,\n ref: setRef,\n task,\n categories: categoriesState,\n stageVariant: alternate ? 'alternate' : undefined,\n prevStageItem: stageArray[index - 1],\n stage: alternate ? alternateStage : stage\n };\n },\n [setRef, task, categoriesState, alternateStage, stage]\n );\n\n const stageTestIds = useTestIds('', getStageTestIds);\n const alternateStageTestIds = useTestIds('', getAlternateStageTestIds);\n const dragEnabled = !!onDragDrop && !readOnly;\n\n const addStageButton = (\n <StyledAddButton\n data-testid={stageTestIds.addButton}\n variant='simple'\n label={t('add_stage')}\n icon\n onClick={onAddStage}\n >\n <Icon name='plus' />\n </StyledAddButton>\n );\n\n const addAlternateStageButton = (\n <StyledAddButton\n data-testid={alternateStageTestIds.addButton}\n variant='simple'\n label={t('add_alternate_stage')}\n icon\n onClick={onAddAlternateStage}\n >\n <Icon name='plus' />\n </StyledAddButton>\n );\n\n const lifeCycleContext: LifeCycleContextValue = useMemo(\n () => ({\n lifeCycleData: { stages: items, alternateStages: alternateItems },\n selectedItemId,\n readOnly,\n dragDropConfig,\n dragEnabled,\n draggedItem,\n setDraggedItem,\n onDragDrop\n }),\n [\n items,\n alternateItems,\n selectedItemId,\n readOnly,\n dragDropConfig,\n dragEnabled,\n draggedItem,\n setDraggedItem,\n onDragDrop\n ]\n );\n\n return (\n <DragDropManager>\n <StyledLifeCycleWrapper\n container={{ gap: 2 }}\n hasLabel={!!stage?.label || !!alternateStage?.label}\n ref={ref}\n >\n <LifeCycleContext.Provider value={lifeCycleContext}>\n {items.length !== 0 && (\n <Flex container={{ direction: 'column', gap: 1 }}>\n {!!stage?.label && (\n <Text id={`${labelId}-stage-label`} variant='secondary'>\n {stage.label}\n </Text>\n )}\n\n {dragEnabled ? (\n <LifeCycleDragDropList\n type='stage'\n listLocation={{\n alternate: false\n }}\n items={items.map((stageItem, index, stageArray) => ({\n id: stageItem.id,\n type: 'stage',\n data: {\n ...restProps,\n ...getLifeCycleListProps(stageItem, index, stageArray, false)\n }\n }))}\n itemRenderer={LifeCycleList}\n onDragDrop={onDragDrop}\n additionalDropZone={onAddStage ? addStageButton : undefined}\n as={Flex}\n forwardedAs='ul'\n container={{ gap: 1 }}\n aria-label={t('stage')}\n aria-labelledby={`${labelId}-stage-label`}\n />\n ) : (\n <Flex\n container={{ gap: 1 }}\n aria-label={t('stage')}\n aria-labelledby={`${labelId}-stage-label`}\n as='ul'\n >\n {items.map((stageItem, index, stageArray) => {\n return (\n <LifeCycleList\n {...restProps}\n key={stageItem.id}\n {...getLifeCycleListProps(stageItem, index, stageArray, false)}\n />\n );\n })}\n\n {!readOnly && onAddStage && <li>{addStageButton}</li>}\n </Flex>\n )}\n </Flex>\n )}\n {alternateItems.length !== 0 && (\n <Flex container={{ direction: 'column', gap: 1 }}>\n {!!alternateStage?.label && (\n <Text id={`${labelId}-alt-stage-label`} variant='secondary'>\n {alternateStage.label}\n </Text>\n )}\n\n {dragEnabled ? (\n <LifeCycleDragDropList\n type='alternate-stage'\n listLocation={{\n alternate: true\n }}\n items={alternateItems.map((stageItem, index, stageArray) => ({\n id: stageItem.id,\n type: 'alternate-stage',\n data: {\n ...restProps,\n ...getLifeCycleListProps(stageItem, index, stageArray, true)\n }\n }))}\n itemRenderer={LifeCycleList}\n onDragDrop={onDragDrop}\n additionalDropZone={onAddAlternateStage ? addAlternateStageButton : undefined}\n as={Flex}\n forwardedAs='ul'\n container={{ gap: 1 }}\n aria-label={t('alternate_stage')}\n aria-labelledby={`${labelId}-alt-stage-label`}\n />\n ) : (\n <Flex\n container={{ gap: 1 }}\n aria-label={t('alternate_stage')}\n aria-labelledby={`${labelId}-alt-stage-label`}\n as='ul'\n >\n {alternateItems.map((stageItem, index, stageArray) => {\n return (\n <LifeCycleList\n {...restProps}\n key={stageItem.id}\n {...getLifeCycleListProps(stageItem, index, stageArray, true)}\n />\n );\n })}\n\n {!readOnly && onAddAlternateStage && <li>{addAlternateStageButton}</li>}\n </Flex>\n )}\n </Flex>\n )}\n </LifeCycleContext.Provider>\n </StyledLifeCycleWrapper>\n </DragDropManager>\n );\n }\n);\n\nexport default withTestIds(LifeCycle, getStageTestIds);\n"]}
1
+ {"version":3,"file":"LifeCycle.js","sourceRoot":"","sources":["../../../src/components/LifeCycle/LifeCycle.tsx"],"names":[],"mappings":"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","sourcesContent":["import { forwardRef, useCallback, useLayoutEffect, useMemo, useState } from 'react';\nimport type { PropsWithoutRef } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport {\n defaultThemeProp,\n Flex,\n Button,\n Icon,\n Text,\n useI18n,\n useTestIds,\n withTestIds,\n useAfterInitialEffect,\n useUID,\n usePrevious,\n registerIcon\n} from '@pega/cosmos-react-core';\nimport * as plusIcon from '@pega/cosmos-react-core/lib/components/Icon/icons/plus.icon';\nimport type { ForwardRefForwardPropsComponent } from '@pega/cosmos-react-core';\nimport { DragDropManager } from '@pega/cosmos-react-dnd';\n\nimport LifeCycleList, { type LifeCycleListProps } from './LifeCycleList';\nimport type { StageItemProps, LifeCycleProps } from './LifeCycle.types';\nimport LifeCycleContext from './LifeCycleContext';\nimport type { LifeCycleContextValue, LifeCycleDraggedItem } from './LifeCycleContext';\nimport { getAlternateStageTestIds, getStageTestIds } from './LifeCycle.test-ids';\nimport LifeCycleDragDropList from './LifeCycleDragDropList';\nimport { defaultDragDropConfig } from './utils';\n\nregisterIcon(plusIcon);\n\nconst StyledAddButton = styled(Button)(({ theme }) => {\n return css`\n align-self: flex-start;\n margin-block-start: calc(${theme.base.spacing} / 2);\n `;\n});\n\nStyledAddButton.defaultProps = defaultThemeProp;\n\nexport const StyledLifeCycleWrapper = styled(Flex)<{ hasLabel?: boolean }>(({\n hasLabel,\n theme\n}) => {\n const { spacing } = theme.base;\n return css`\n padding: calc(2 * ${spacing});\n margin: 0 calc(-2 * ${spacing}) calc(-2 * ${spacing}) calc(-2 * ${spacing});\n position: absolute;\n min-width: 100%;\n min-height: 100%;\n top: 0;\n background: ${theme.components.lifecycle.background};\n\n ${hasLabel &&\n css`\n padding-block-start: ${theme.base.spacing};\n `}\n\n li {\n list-style-type: none;\n }\n `;\n});\n\nStyledLifeCycleWrapper.defaultProps = defaultThemeProp;\n\nconst LifeCycle: ForwardRefForwardPropsComponent<LifeCycleProps> = forwardRef(\n (\n {\n items,\n categories = [],\n task = [],\n alternateItems = [],\n onAddStage,\n onAddAlternateStage,\n onDragDrop,\n dragDropConfig = defaultDragDropConfig,\n stage,\n alternateStage,\n selectedItemId,\n readOnly,\n ...restProps\n }: PropsWithoutRef<LifeCycleProps>,\n ref: LifeCycleProps['ref']\n ) => {\n const labelId = useUID();\n const t = useI18n();\n const [draggedItem, setDraggedItem] = useState<LifeCycleDraggedItem | undefined>();\n const [categoriesState, setCategoriesState] = useState(categories);\n const categoryElements: HTMLElement[] = [];\n const setRef = (element: HTMLOListElement) => {\n if (element) {\n categoryElements.push(element);\n }\n };\n\n useLayoutEffect(() => {\n let isHeightChanged = false;\n const categoriesColumn = [...categories];\n if (categoriesColumn && categoriesColumn.length > 0) {\n categoriesColumn.forEach((categoryItem, index) => {\n const categoryElm = [...categoryElements];\n let isActiveElement = false;\n const categoryComponent = categoryElm.filter((element: HTMLElement) => {\n if (element.getAttribute('data-id') === categoryItem.id) {\n if (categoryItem.elementId === element.getAttribute('id')) {\n isActiveElement = true;\n }\n return true;\n }\n return false;\n });\n if (!isActiveElement) {\n categoryItem.elementId = '';\n categoryItem.height = 0;\n }\n categoryComponent.forEach(categoryElement => {\n const columnHeight = categoryItem?.height ?? 0;\n const height = categoryElement.scrollHeight;\n const elementId = categoryElement.getAttribute('id');\n if (\n height > columnHeight ||\n (categoryItem.elementId === elementId && height !== columnHeight)\n ) {\n isHeightChanged = true;\n categoriesColumn[index].height = height;\n if (elementId) {\n categoriesColumn[index].elementId = elementId;\n }\n }\n });\n });\n if (isHeightChanged) {\n isHeightChanged = false;\n setCategoriesState(categoriesColumn);\n }\n }\n });\n\n const previouslyLoading = usePrevious(dragDropConfig.loading);\n useAfterInitialEffect(() => {\n // If the drag drop loading state is false and there was a dragged item, focus on the drag handle of the dragged item\n if (!dragDropConfig.loading && previouslyLoading && draggedItem) {\n setTimeout(() => {\n const dragHandle = document.querySelector(\n `[data-drag-handle-for=\"${draggedItem.id}\"]`\n ) as HTMLElement;\n if (dragHandle) {\n dragHandle.focus();\n }\n setDraggedItem(undefined);\n }, 100);\n }\n }, [dragDropConfig.loading, previouslyLoading, draggedItem?.id]);\n\n const getLifeCycleListProps = useCallback(\n (\n stageItem: StageItemProps,\n index: number,\n stageArray: StageItemProps[],\n alternate: boolean\n ): LifeCycleListProps => {\n return {\n id: stageItem.id,\n item: { ...stageItem, index, alternate },\n isFirstItem: index === 0,\n isLastItem: index === stageArray.length - 1,\n ref: setRef,\n task,\n categories: categoriesState,\n stageVariant: alternate ? 'alternate' : undefined,\n prevStageItem: stageArray[index - 1],\n stage: alternate ? alternateStage : stage\n };\n },\n [setRef, task, categoriesState, alternateStage, stage]\n );\n\n const stageTestIds = useTestIds('', getStageTestIds);\n const alternateStageTestIds = useTestIds('', getAlternateStageTestIds);\n const dragEnabled = !!onDragDrop && !readOnly;\n\n const addStageButton = (\n <StyledAddButton\n data-testid={stageTestIds.addButton}\n variant='simple'\n label={t('add_stage')}\n icon\n onClick={onAddStage}\n >\n <Icon name='plus' />\n </StyledAddButton>\n );\n\n const addAlternateStageButton = (\n <StyledAddButton\n data-testid={alternateStageTestIds.addButton}\n variant='simple'\n label={t('add_alternate_stage')}\n icon\n onClick={onAddAlternateStage}\n >\n <Icon name='plus' />\n </StyledAddButton>\n );\n\n const lifeCycleContext: LifeCycleContextValue = useMemo(\n () => ({\n lifeCycleData: { stages: items, alternateStages: alternateItems },\n selectedItemId,\n readOnly,\n dragDropConfig,\n dragEnabled,\n draggedItem,\n setDraggedItem,\n onDragDrop\n }),\n [\n items,\n alternateItems,\n selectedItemId,\n readOnly,\n dragDropConfig,\n dragEnabled,\n draggedItem,\n setDraggedItem,\n onDragDrop\n ]\n );\n\n return (\n <DragDropManager>\n <StyledLifeCycleWrapper\n container={{ gap: 2 }}\n hasLabel={!!stage?.label || !!alternateStage?.label}\n ref={ref}\n >\n <LifeCycleContext.Provider value={lifeCycleContext}>\n {items.length !== 0 && (\n <Flex container={{ direction: 'column', gap: 1 }}>\n {!!stage?.label && (\n <Text id={`${labelId}-stage-label`} variant='secondary'>\n {stage.label}\n </Text>\n )}\n\n {dragEnabled ? (\n <LifeCycleDragDropList\n type='stage'\n listLocation={{\n alternate: false\n }}\n items={items.map((stageItem, index, stageArray) => ({\n id: stageItem.id,\n type: 'stage',\n data: {\n ...restProps,\n ...getLifeCycleListProps(stageItem, index, stageArray, false)\n }\n }))}\n itemRenderer={LifeCycleList}\n onDragDrop={onDragDrop}\n additionalDropZone={onAddStage ? addStageButton : undefined}\n as={Flex}\n forwardedAs='ul'\n container={{ gap: 1 }}\n aria-label={t('stage')}\n aria-labelledby={`${labelId}-stage-label`}\n />\n ) : (\n <Flex\n container={{ gap: 1 }}\n aria-label={t('stage')}\n aria-labelledby={`${labelId}-stage-label`}\n as='ul'\n >\n {items.map((stageItem, index, stageArray) => {\n return (\n <LifeCycleList\n {...restProps}\n key={stageItem.id}\n {...getLifeCycleListProps(stageItem, index, stageArray, false)}\n />\n );\n })}\n\n {!readOnly && onAddStage && <li>{addStageButton}</li>}\n </Flex>\n )}\n </Flex>\n )}\n {alternateItems.length !== 0 && (\n <Flex container={{ direction: 'column', gap: 1 }}>\n {!!alternateStage?.label && (\n <Text id={`${labelId}-alt-stage-label`} variant='secondary'>\n {alternateStage.label}\n </Text>\n )}\n\n {dragEnabled ? (\n <LifeCycleDragDropList\n type='alternate-stage'\n listLocation={{\n alternate: true\n }}\n items={alternateItems.map((stageItem, index, stageArray) => ({\n id: stageItem.id,\n type: 'alternate-stage',\n data: {\n ...restProps,\n ...getLifeCycleListProps(stageItem, index, stageArray, true)\n }\n }))}\n itemRenderer={LifeCycleList}\n onDragDrop={onDragDrop}\n additionalDropZone={onAddAlternateStage ? addAlternateStageButton : undefined}\n as={Flex}\n forwardedAs='ul'\n container={{ gap: 1 }}\n aria-label={t('alternate_stage')}\n aria-labelledby={`${labelId}-alt-stage-label`}\n />\n ) : (\n <Flex\n container={{ gap: 1 }}\n aria-label={t('alternate_stage')}\n aria-labelledby={`${labelId}-alt-stage-label`}\n as='ul'\n >\n {alternateItems.map((stageItem, index, stageArray) => {\n return (\n <LifeCycleList\n {...restProps}\n key={stageItem.id}\n {...getLifeCycleListProps(stageItem, index, stageArray, true)}\n />\n );\n })}\n\n {!readOnly && onAddAlternateStage && <li>{addAlternateStageButton}</li>}\n </Flex>\n )}\n </Flex>\n )}\n </LifeCycleContext.Provider>\n </StyledLifeCycleWrapper>\n </DragDropManager>\n );\n }\n);\n\nexport default withTestIds(LifeCycle, getStageTestIds);\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pega/cosmos-react-build",
3
- "version": "9.0.0-build.7.1",
3
+ "version": "9.0.0-build.7.2",
4
4
  "license": "SEE LICENSE IN LICENSE",
5
5
  "author": "Pegasystems",
6
6
  "sideEffects": false,
@@ -14,9 +14,9 @@
14
14
  "build": "tsc -b tsconfig.build.json"
15
15
  },
16
16
  "dependencies": {
17
- "@pega/cosmos-react-core": "9.0.0-build.7.1",
18
- "@pega/cosmos-react-dnd": "9.0.0-build.7.1",
19
- "@pega/cosmos-react-rte": "9.0.0-build.7.1",
17
+ "@pega/cosmos-react-core": "9.0.0-build.7.2",
18
+ "@pega/cosmos-react-dnd": "9.0.0-build.7.2",
19
+ "@pega/cosmos-react-rte": "9.0.0-build.7.2",
20
20
  "@types/codemirror": "^5.60.15",
21
21
  "@types/dagre": "^0.7.46",
22
22
  "@types/react": "^17.0.62 || ^18.3.3",