@pega/cosmos-react-build 9.0.0-build.6.3 → 9.0.0-build.6.5
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/LifeCycle/LifeCycle.js +2 -2
- package/lib/components/LifeCycle/LifeCycle.js.map +1 -1
- package/lib/components/LifeCycle/LifeCycle.types.d.ts +31 -0
- package/lib/components/LifeCycle/LifeCycle.types.d.ts.map +1 -1
- package/lib/components/LifeCycle/LifeCycle.types.js +9 -9
- package/lib/components/LifeCycle/LifeCycle.types.js.map +1 -1
- package/lib/components/LifeCycle/Stage.d.ts.map +1 -1
- package/lib/components/LifeCycle/Stage.js +20 -11
- package/lib/components/LifeCycle/Stage.js.map +1 -1
- package/lib/components/LifeCycle/Step.d.ts.map +1 -1
- package/lib/components/LifeCycle/Step.js +1 -0
- package/lib/components/LifeCycle/Step.js.map +1 -1
- package/lib/components/LifeCycle/Task.d.ts.map +1 -1
- package/lib/components/LifeCycle/Task.js +4 -2
- package/lib/components/LifeCycle/Task.js.map +1 -1
- package/package.json +4 -4
|
@@ -19,7 +19,7 @@ const StyledAddButton = styled(Button)(({ theme }) => {
|
|
|
19
19
|
});
|
|
20
20
|
StyledAddButton.defaultProps = defaultThemeProp;
|
|
21
21
|
export const StyledLifeCycleWrapper = styled(Flex)(({ hasLabel, theme }) => {
|
|
22
|
-
const { spacing
|
|
22
|
+
const { spacing } = theme.base;
|
|
23
23
|
return css `
|
|
24
24
|
padding: calc(2 * ${spacing});
|
|
25
25
|
margin: 0 calc(-2 * ${spacing}) calc(-2 * ${spacing}) calc(-2 * ${spacing});
|
|
@@ -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: ${
|
|
30
|
+
background-color: ${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, palette } = 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: ${palette['app-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-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"]}
|
|
@@ -609,6 +609,37 @@ export declare const getStageInfo: (currentType: StageType, transitionType: Stag
|
|
|
609
609
|
readonly link: {
|
|
610
610
|
readonly color: string;
|
|
611
611
|
};
|
|
612
|
+
readonly modal: {
|
|
613
|
+
readonly background: string;
|
|
614
|
+
};
|
|
615
|
+
readonly lifecycle: {
|
|
616
|
+
readonly background: string;
|
|
617
|
+
readonly task: {
|
|
618
|
+
readonly background: string;
|
|
619
|
+
readonly "foreground-color": string;
|
|
620
|
+
};
|
|
621
|
+
readonly stage: {
|
|
622
|
+
readonly background: string;
|
|
623
|
+
readonly "foreground-color": string;
|
|
624
|
+
readonly start: {
|
|
625
|
+
readonly background: string;
|
|
626
|
+
readonly "hover-color": string;
|
|
627
|
+
};
|
|
628
|
+
readonly default: {
|
|
629
|
+
readonly background: string;
|
|
630
|
+
readonly "hover-color": string;
|
|
631
|
+
};
|
|
632
|
+
readonly resolution: {
|
|
633
|
+
readonly background: string;
|
|
634
|
+
readonly "hover-color": string;
|
|
635
|
+
};
|
|
636
|
+
readonly alternate: {
|
|
637
|
+
readonly background: string;
|
|
638
|
+
readonly "hover-color": string;
|
|
639
|
+
readonly "resolution-highlight": string;
|
|
640
|
+
};
|
|
641
|
+
};
|
|
642
|
+
};
|
|
612
643
|
readonly mark: {
|
|
613
644
|
readonly "background-color": string;
|
|
614
645
|
readonly "font-weight": string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LifeCycle.types.d.ts","sourceRoot":"","sources":["../../../src/components/LifeCycle/LifeCycle.types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"LifeCycle.types.d.ts","sourceRoot":"","sources":["../../../src/components/LifeCycle/LifeCycle.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { WorkTheme as Theme } from '@pega/cosmos-react-core';
|
|
2
2
|
// calculates the final stage info based on prev type and returns the final stage info
|
|
3
3
|
// second param is mandatory for accurate results, optional only for the first stage
|
|
4
4
|
export const getStageInfo = (currentType, transitionType, prevStageItem, isLastItem = false, theme = Theme) => {
|
|
@@ -6,8 +6,8 @@ export const getStageInfo = (currentType, transitionType, prevStageItem, isLastI
|
|
|
6
6
|
start: {
|
|
7
7
|
id: 'start',
|
|
8
8
|
visual: {
|
|
9
|
-
bgColor: theme.
|
|
10
|
-
bgHover: theme.
|
|
9
|
+
bgColor: theme.components.lifecycle.stage.start.background,
|
|
10
|
+
bgHover: theme.components.lifecycle.stage.start['hover-color'],
|
|
11
11
|
tailPointed: false,
|
|
12
12
|
headPointed: true
|
|
13
13
|
}
|
|
@@ -15,8 +15,8 @@ export const getStageInfo = (currentType, transitionType, prevStageItem, isLastI
|
|
|
15
15
|
default: {
|
|
16
16
|
id: 'default',
|
|
17
17
|
visual: {
|
|
18
|
-
bgColor: theme.
|
|
19
|
-
bgHover: theme.
|
|
18
|
+
bgColor: theme.components.lifecycle.stage.default.background,
|
|
19
|
+
bgHover: theme.components.lifecycle.stage.default['hover-color'],
|
|
20
20
|
tailPointed: true,
|
|
21
21
|
headPointed: true
|
|
22
22
|
}
|
|
@@ -24,16 +24,16 @@ export const getStageInfo = (currentType, transitionType, prevStageItem, isLastI
|
|
|
24
24
|
alternate: {
|
|
25
25
|
id: 'alternate',
|
|
26
26
|
visual: {
|
|
27
|
-
bgColor: theme.
|
|
28
|
-
bgHover: theme.
|
|
27
|
+
bgColor: theme.components.lifecycle.stage.alternate.background,
|
|
28
|
+
bgHover: theme.components.lifecycle.stage.alternate['hover-color'],
|
|
29
29
|
tailPointed: false,
|
|
30
30
|
headPointed: false
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
33
|
};
|
|
34
34
|
const resolutionStyle = {
|
|
35
|
-
bgColor:
|
|
36
|
-
bgHover: theme.
|
|
35
|
+
bgColor: theme.components.lifecycle.stage.resolution.background,
|
|
36
|
+
bgHover: theme.components.lifecycle.stage.resolution['hover-color']
|
|
37
37
|
};
|
|
38
38
|
const clonedStageCopy = structuredClone(stageTypeDefaults);
|
|
39
39
|
const currentStageInfo = clonedStageCopy[currentType] || clonedStageCopy.default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LifeCycle.types.js","sourceRoot":"","sources":["../../../src/components/LifeCycle/LifeCycle.types.ts"],"names":[],"mappings":"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","sourcesContent":["import type { MouseEvent, Ref } from 'react';\n\nimport type {\n Action,\n StatusProps,\n NoChildrenProp,\n BaseProps,\n FormControlProps\n} from '@pega/cosmos-react-core';\nimport { readableHue, WorkTheme as Theme } from '@pega/cosmos-react-core';\n\nimport type { LibraryItem } from '../ItemLibrary';\n\nimport type { VisualStepItemProps } from './Step';\n\nexport type StageType = 'start' | 'default' | 'alternate';\n\ninterface ItemIdentifiers {\n /** The index of the item within its list */\n index?: number;\n /** If true, this item belongs to an alternate lifecycle list */\n alternate?: boolean;\n}\n\nexport interface StepItemProps extends ItemIdentifiers {\n id: string;\n label: string;\n visual: VisualStepItemProps;\n status: { type?: StatusProps['variant'] | ''; label: string };\n error?: string;\n}\n\nexport interface TaskItemProps extends ItemIdentifiers {\n id: string;\n label: string;\n visual: {\n imgSrc: string;\n };\n error?: string;\n steps: StepItemProps[];\n subIndex?: number;\n}\n\nexport interface CategoryItemProps extends ItemIdentifiers {\n /** Data model should have id of the stage item */\n id: string;\n /** id to map with category items */\n categoryId: string;\n /** Data model should have the categoryData array */\n tasks: TaskItemProps[] | TaskItemProps[][];\n}\n\nexport interface StageItemProps extends ItemIdentifiers {\n /** Data model should have id of the stage item */\n id: string;\n /** Data model should have the stage label */\n label: string;\n /** Data model should have the categoryData array */\n categories: CategoryItemProps[];\n /** Data model should have the stageType as below */\n type: StageType;\n error?: string;\n /* Sets stage transition to wait or resolution */\n transitionType?: 'wait' | 'resolution' | undefined;\n}\n\nexport interface LifeCycleActionParam {\n value?: string;\n stage?: StageItemProps;\n task?: TaskItemProps;\n category?: CategoryItemProps;\n step?: StepItemProps;\n type?: 'Stage' | 'Step' | 'Task' | 'Alternate Stage';\n routeTo?: string;\n}\n\nexport interface LifeCycleAction extends Omit<Action, 'onClick'> {\n onClick: (\n param: LifeCycleActionParam,\n e: MouseEvent<HTMLButtonElement | HTMLAnchorElement | HTMLInputElement>,\n menuButtonEl?: HTMLButtonElement\n ) => void;\n}\n\nexport interface CategoriesItemProps {\n label: string;\n id: string;\n}\n\nexport interface StageProps extends Omit<FormControlProps, 'status' | 'id'> {\n /** Label for the region. */\n label?: string;\n /** Pass an array of Action objects to append button(s) inline with the Input. */\n actions?: Record<StageType, LifeCycleAction[]> | LifeCycleAction[];\n /** Callback for Add stage */\n onAddStage?: () => void;\n /** Callback for Adding alternate stage */\n onAddAlternateStage?: () => void;\n /** callback for Click of stage */\n onClick?: (param: LifeCycleActionParam, e: MouseEvent) => void;\n}\n\nexport interface CategoriesProps extends CategoriesItemProps {\n /** height property used to manipulate height of catergory dom */\n height?: number;\n elementId?: string;\n}\n\nexport interface TaskProps extends Omit<FormControlProps, 'status' | 'id'> {\n /** Pass an array of Action objects to append button(s) inline with the Input. */\n actions?: LifeCycleAction[];\n /** Tooltip for adding items to the task component */\n addStepTitle?: string;\n /** Region for adding the task component */\n addTask?: {\n title: string;\n showOnce: boolean;\n onAddTask?: LifeCycleAction['onClick'];\n };\n /** Callback for adding a step when nodeLibrary is provided. */\n onAddStep?: (param: LifeCycleActionParam, selectedItem: LibraryItem) => void;\n /** Callback for adding a step when nodeLibrary is not provided. */\n onAddCustomStep?: (param: LifeCycleActionParam) => void;\n /** callback for Click of a task */\n onClick?: (param: LifeCycleActionParam, e: MouseEvent) => void;\n /** Types of Nodes */\n nodeLibrary?: LibraryItem[];\n}\n\nexport interface CategoryProps extends BaseProps, NoChildrenProp {\n ref?: Ref<HTMLOListElement | HTMLDivElement>;\n /** Pass the category items */\n item: CategoryItemProps;\n /** Enable the title for categories */\n showTitle?: boolean;\n /** Props of the categoryColumn */\n category?: CategoriesProps;\n /** Task component prop */\n task?: TaskProps;\n /** Stage data - to be passed in callbacks */\n stageItem: StageItemProps;\n /** Id for the component */\n id: string;\n}\n\nexport interface StepProps extends Omit<FormControlProps, 'status' | 'id'> {\n /** Pass an array of Action objects to append button(s) inline with the Input. */\n actions?: LifeCycleAction[];\n /** If true, step names will wrap rather than truncate. */\n wrap?: boolean;\n /** callback for Click of a step */\n onClick?: (param: LifeCycleActionParam, e: MouseEvent) => void;\n}\n\nexport interface IndexData {\n /** Determines if the item part of an alternate stage. */\n alternate: boolean;\n /** The index of the parent stage to the item, or the item itself. */\n stage?: number;\n /** The index of the parent category to the item. */\n category?: number;\n /** The index of the parent task to the item, or the item itself. */\n task?: number;\n /** The index of the parent stage to the item, or the item itself, if the task is nested within another task. */\n subTask?: number;\n /** The index of the step item. */\n step?: number;\n}\n\nexport type LifeCycleDragItemType =\n | 'stage'\n | 'step'\n | 'task'\n | 'alternate-stage'\n | 'alternate-step'\n | 'alternate-task';\n\nexport interface LifeCycleDragDropEvent {\n /** The type of item that was moved. */\n type: 'stage' | 'step' | 'task';\n /** The indices of the source item. */\n sourceData: IndexData;\n /** The indices of the target location. */\n targetData: IndexData;\n}\n\nexport interface DragDropConfig\n extends Record<LifeCycleDragItemType, { enabled: boolean; accept: LifeCycleDragItemType[] }> {\n loading?: boolean;\n}\n\nexport interface LifeCycleProps extends BaseProps, NoChildrenProp {\n /** Pass reference to the LifeCycleComponent */\n ref?: Ref<HTMLDivElement>;\n /** Array of stages and its contents */\n items: StageItemProps[];\n /** Array of alternate stages and its contents */\n alternateItems?: StageItemProps[];\n /** Props for the task component */\n task?: TaskProps[];\n /** Props for the Stage component */\n stage?: StageProps;\n /** Props for the AlternatStage component */\n alternateStage?: StageProps;\n /** Props for the Cluster component */\n categories?: CategoriesProps[];\n /** Props for the Step component */\n step?: StepProps[];\n /** Call back function for on AddState */\n onAddStage?: () => void;\n /** Call back function to add alternate stages */\n onAddAlternateStage?: () => void;\n /** Selected stage or task or step */\n selectedItemId?: string;\n /** Callback function for updating the items following a drag drop event. */\n onDragDrop?: (event: LifeCycleDragDropEvent) => void;\n /**\n * Configuration to control which item types each lifecycle region can accept, and which types are draggable.\n * */\n dragDropConfig?: DragDropConfig;\n /** makes component read-only */\n readOnly?: boolean;\n}\n\nexport interface StageInfo {\n id: StageType;\n visual: {\n bgColor: string;\n bgHover: string;\n tailPointed?: boolean;\n headPointed?: boolean;\n };\n}\n\n// calculates the final stage info based on prev type and returns the final stage info\n// second param is mandatory for accurate results, optional only for the first stage\nexport const getStageInfo = (\n currentType: StageType,\n transitionType: StageItemProps['transitionType'],\n prevStageItem: StageItemProps,\n isLastItem = false,\n theme = Theme\n) => {\n const stageTypeDefaults: Record<StageType, StageInfo> = {\n start: {\n id: 'start',\n visual: {\n bgColor: theme.base.colors.blue.dark,\n bgHover: theme.base.colors.blue.medium,\n tailPointed: false,\n headPointed: true\n }\n },\n default: {\n id: 'default',\n visual: {\n bgColor: theme.base.colors.blue.medium,\n bgHover: theme.base.colors.blue.light,\n tailPointed: true,\n headPointed: true\n }\n },\n alternate: {\n id: 'alternate',\n visual: {\n bgColor: theme.base.colors.slate.dark,\n bgHover: theme.base.colors.slate.medium,\n tailPointed: false,\n headPointed: false\n }\n }\n };\n\n const resolutionStyle = {\n bgColor: readableHue(theme.base.colors.green.medium, theme.base.palette.light),\n bgHover: theme.base.colors.green.light\n };\n const clonedStageCopy = structuredClone(stageTypeDefaults);\n const currentStageInfo = clonedStageCopy[currentType] || clonedStageCopy.default;\n if (currentType !== 'alternate') {\n if (transitionType === 'resolution') {\n currentStageInfo.visual = {\n ...resolutionStyle,\n tailPointed: currentType !== 'start'\n };\n }\n if (transitionType === 'wait') {\n currentStageInfo.visual = {\n ...currentStageInfo.visual,\n tailPointed: currentType !== 'start',\n headPointed: false\n };\n }\n }\n\n // cloning, to avoid getting modified\n const result: StageInfo = {\n ...currentStageInfo,\n visual: {\n ...currentStageInfo.visual\n }\n };\n if (prevStageItem?.type) {\n const clonedStage = JSON.parse(JSON.stringify(stageTypeDefaults));\n const prevStageInfo = clonedStage[prevStageItem.type] || clonedStage.start;\n if (prevStageItem.type !== 'alternate') {\n if (prevStageItem.transitionType === 'resolution') {\n result.visual = {\n ...result.visual,\n tailPointed: false\n };\n }\n if (prevStageItem.transitionType === 'wait') {\n result.visual = {\n ...result.visual,\n ...{ tailPointed: false }\n };\n }\n } else {\n result.visual.tailPointed =\n currentStageInfo.visual.tailPointed && prevStageInfo.visual.headPointed;\n }\n }\n if (isLastItem) {\n result.visual.headPointed = false;\n }\n return result;\n};\n"]}
|
|
1
|
+
{"version":3,"file":"LifeCycle.types.js","sourceRoot":"","sources":["../../../src/components/LifeCycle/LifeCycle.types.ts"],"names":[],"mappings":"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","sourcesContent":["import type { MouseEvent, Ref } from 'react';\n\nimport type {\n Action,\n StatusProps,\n NoChildrenProp,\n BaseProps,\n FormControlProps\n} from '@pega/cosmos-react-core';\nimport { WorkTheme as Theme } from '@pega/cosmos-react-core';\n\nimport type { LibraryItem } from '../ItemLibrary';\n\nimport type { VisualStepItemProps } from './Step';\n\nexport type StageType = 'start' | 'default' | 'alternate';\n\ninterface ItemIdentifiers {\n /** The index of the item within its list */\n index?: number;\n /** If true, this item belongs to an alternate lifecycle list */\n alternate?: boolean;\n}\n\nexport interface StepItemProps extends ItemIdentifiers {\n id: string;\n label: string;\n visual: VisualStepItemProps;\n status: { type?: StatusProps['variant'] | ''; label: string };\n error?: string;\n}\n\nexport interface TaskItemProps extends ItemIdentifiers {\n id: string;\n label: string;\n visual: {\n imgSrc: string;\n };\n error?: string;\n steps: StepItemProps[];\n subIndex?: number;\n}\n\nexport interface CategoryItemProps extends ItemIdentifiers {\n /** Data model should have id of the stage item */\n id: string;\n /** id to map with category items */\n categoryId: string;\n /** Data model should have the categoryData array */\n tasks: TaskItemProps[] | TaskItemProps[][];\n}\n\nexport interface StageItemProps extends ItemIdentifiers {\n /** Data model should have id of the stage item */\n id: string;\n /** Data model should have the stage label */\n label: string;\n /** Data model should have the categoryData array */\n categories: CategoryItemProps[];\n /** Data model should have the stageType as below */\n type: StageType;\n error?: string;\n /* Sets stage transition to wait or resolution */\n transitionType?: 'wait' | 'resolution' | undefined;\n}\n\nexport interface LifeCycleActionParam {\n value?: string;\n stage?: StageItemProps;\n task?: TaskItemProps;\n category?: CategoryItemProps;\n step?: StepItemProps;\n type?: 'Stage' | 'Step' | 'Task' | 'Alternate Stage';\n routeTo?: string;\n}\n\nexport interface LifeCycleAction extends Omit<Action, 'onClick'> {\n onClick: (\n param: LifeCycleActionParam,\n e: MouseEvent<HTMLButtonElement | HTMLAnchorElement | HTMLInputElement>,\n menuButtonEl?: HTMLButtonElement\n ) => void;\n}\n\nexport interface CategoriesItemProps {\n label: string;\n id: string;\n}\n\nexport interface StageProps extends Omit<FormControlProps, 'status' | 'id'> {\n /** Label for the region. */\n label?: string;\n /** Pass an array of Action objects to append button(s) inline with the Input. */\n actions?: Record<StageType, LifeCycleAction[]> | LifeCycleAction[];\n /** Callback for Add stage */\n onAddStage?: () => void;\n /** Callback for Adding alternate stage */\n onAddAlternateStage?: () => void;\n /** callback for Click of stage */\n onClick?: (param: LifeCycleActionParam, e: MouseEvent) => void;\n}\n\nexport interface CategoriesProps extends CategoriesItemProps {\n /** height property used to manipulate height of catergory dom */\n height?: number;\n elementId?: string;\n}\n\nexport interface TaskProps extends Omit<FormControlProps, 'status' | 'id'> {\n /** Pass an array of Action objects to append button(s) inline with the Input. */\n actions?: LifeCycleAction[];\n /** Tooltip for adding items to the task component */\n addStepTitle?: string;\n /** Region for adding the task component */\n addTask?: {\n title: string;\n showOnce: boolean;\n onAddTask?: LifeCycleAction['onClick'];\n };\n /** Callback for adding a step when nodeLibrary is provided. */\n onAddStep?: (param: LifeCycleActionParam, selectedItem: LibraryItem) => void;\n /** Callback for adding a step when nodeLibrary is not provided. */\n onAddCustomStep?: (param: LifeCycleActionParam) => void;\n /** callback for Click of a task */\n onClick?: (param: LifeCycleActionParam, e: MouseEvent) => void;\n /** Types of Nodes */\n nodeLibrary?: LibraryItem[];\n}\n\nexport interface CategoryProps extends BaseProps, NoChildrenProp {\n ref?: Ref<HTMLOListElement | HTMLDivElement>;\n /** Pass the category items */\n item: CategoryItemProps;\n /** Enable the title for categories */\n showTitle?: boolean;\n /** Props of the categoryColumn */\n category?: CategoriesProps;\n /** Task component prop */\n task?: TaskProps;\n /** Stage data - to be passed in callbacks */\n stageItem: StageItemProps;\n /** Id for the component */\n id: string;\n}\n\nexport interface StepProps extends Omit<FormControlProps, 'status' | 'id'> {\n /** Pass an array of Action objects to append button(s) inline with the Input. */\n actions?: LifeCycleAction[];\n /** If true, step names will wrap rather than truncate. */\n wrap?: boolean;\n /** callback for Click of a step */\n onClick?: (param: LifeCycleActionParam, e: MouseEvent) => void;\n}\n\nexport interface IndexData {\n /** Determines if the item part of an alternate stage. */\n alternate: boolean;\n /** The index of the parent stage to the item, or the item itself. */\n stage?: number;\n /** The index of the parent category to the item. */\n category?: number;\n /** The index of the parent task to the item, or the item itself. */\n task?: number;\n /** The index of the parent stage to the item, or the item itself, if the task is nested within another task. */\n subTask?: number;\n /** The index of the step item. */\n step?: number;\n}\n\nexport type LifeCycleDragItemType =\n | 'stage'\n | 'step'\n | 'task'\n | 'alternate-stage'\n | 'alternate-step'\n | 'alternate-task';\n\nexport interface LifeCycleDragDropEvent {\n /** The type of item that was moved. */\n type: 'stage' | 'step' | 'task';\n /** The indices of the source item. */\n sourceData: IndexData;\n /** The indices of the target location. */\n targetData: IndexData;\n}\n\nexport interface DragDropConfig\n extends Record<LifeCycleDragItemType, { enabled: boolean; accept: LifeCycleDragItemType[] }> {\n loading?: boolean;\n}\n\nexport interface LifeCycleProps extends BaseProps, NoChildrenProp {\n /** Pass reference to the LifeCycleComponent */\n ref?: Ref<HTMLDivElement>;\n /** Array of stages and its contents */\n items: StageItemProps[];\n /** Array of alternate stages and its contents */\n alternateItems?: StageItemProps[];\n /** Props for the task component */\n task?: TaskProps[];\n /** Props for the Stage component */\n stage?: StageProps;\n /** Props for the AlternatStage component */\n alternateStage?: StageProps;\n /** Props for the Cluster component */\n categories?: CategoriesProps[];\n /** Props for the Step component */\n step?: StepProps[];\n /** Call back function for on AddState */\n onAddStage?: () => void;\n /** Call back function to add alternate stages */\n onAddAlternateStage?: () => void;\n /** Selected stage or task or step */\n selectedItemId?: string;\n /** Callback function for updating the items following a drag drop event. */\n onDragDrop?: (event: LifeCycleDragDropEvent) => void;\n /**\n * Configuration to control which item types each lifecycle region can accept, and which types are draggable.\n * */\n dragDropConfig?: DragDropConfig;\n /** makes component read-only */\n readOnly?: boolean;\n}\n\nexport interface StageInfo {\n id: StageType;\n visual: {\n bgColor: string;\n bgHover: string;\n tailPointed?: boolean;\n headPointed?: boolean;\n };\n}\n\n// calculates the final stage info based on prev type and returns the final stage info\n// second param is mandatory for accurate results, optional only for the first stage\nexport const getStageInfo = (\n currentType: StageType,\n transitionType: StageItemProps['transitionType'],\n prevStageItem: StageItemProps,\n isLastItem = false,\n theme = Theme\n) => {\n const stageTypeDefaults: Record<StageType, StageInfo> = {\n start: {\n id: 'start',\n visual: {\n bgColor: theme.components.lifecycle.stage.start.background,\n bgHover: theme.components.lifecycle.stage.start['hover-color'],\n tailPointed: false,\n headPointed: true\n }\n },\n default: {\n id: 'default',\n visual: {\n bgColor: theme.components.lifecycle.stage.default.background,\n bgHover: theme.components.lifecycle.stage.default['hover-color'],\n tailPointed: true,\n headPointed: true\n }\n },\n alternate: {\n id: 'alternate',\n visual: {\n bgColor: theme.components.lifecycle.stage.alternate.background,\n bgHover: theme.components.lifecycle.stage.alternate['hover-color'],\n tailPointed: false,\n headPointed: false\n }\n }\n };\n\n const resolutionStyle = {\n bgColor: theme.components.lifecycle.stage.resolution.background,\n bgHover: theme.components.lifecycle.stage.resolution['hover-color']\n };\n const clonedStageCopy = structuredClone(stageTypeDefaults);\n const currentStageInfo = clonedStageCopy[currentType] || clonedStageCopy.default;\n if (currentType !== 'alternate') {\n if (transitionType === 'resolution') {\n currentStageInfo.visual = {\n ...resolutionStyle,\n tailPointed: currentType !== 'start'\n };\n }\n if (transitionType === 'wait') {\n currentStageInfo.visual = {\n ...currentStageInfo.visual,\n tailPointed: currentType !== 'start',\n headPointed: false\n };\n }\n }\n\n // cloning, to avoid getting modified\n const result: StageInfo = {\n ...currentStageInfo,\n visual: {\n ...currentStageInfo.visual\n }\n };\n if (prevStageItem?.type) {\n const clonedStage = JSON.parse(JSON.stringify(stageTypeDefaults));\n const prevStageInfo = clonedStage[prevStageItem.type] || clonedStage.start;\n if (prevStageItem.type !== 'alternate') {\n if (prevStageItem.transitionType === 'resolution') {\n result.visual = {\n ...result.visual,\n tailPointed: false\n };\n }\n if (prevStageItem.transitionType === 'wait') {\n result.visual = {\n ...result.visual,\n ...{ tailPointed: false }\n };\n }\n } else {\n result.visual.tailPointed =\n currentStageInfo.visual.tailPointed && prevStageInfo.visual.headPointed;\n }\n }\n if (isLastItem) {\n result.visual.headPointed = false;\n }\n return result;\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Stage.d.ts","sourceRoot":"","sources":["../../../src/components/LifeCycle/Stage.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAqB,GAAG,EAAc,WAAW,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Stage.d.ts","sourceRoot":"","sources":["../../../src/components/LifeCycle/Stage.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAqB,GAAG,EAAc,WAAW,EAAE,MAAM,OAAO,CAAC;AAiB7E,OAAO,KAAK,EAAE,SAAS,EAAU,+BAA+B,EAAE,MAAM,yBAAyB,CAAC;AAIlG,OAAO,KAAK,EAGV,SAAS,EACT,cAAc,EACd,UAAU,EACX,MAAM,mBAAmB,CAAC;AAE3B,OAAyB,EAAE,KAAK,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAElF,MAAM,WAAW,mBAAoB,SAAQ,SAAS,EAAE,UAAU;IAChE,GAAG,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;IAC1B,8BAA8B;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,iCAAiC;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,yCAAyC;IACzC,SAAS,EAAE,SAAS,CAAC;IACrB,2DAA2D;IAC3D,IAAI,EAAE,cAAc,CAAC;IACrB,iGAAiG;IACjG,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;CACpC;AAED,eAAO,MAAM,iBAAiB;WACrB,MAAM,GAAG,SAAS;kBACX,qBAAqB,CAAC,aAAa,CAAC;SAkClD,CAAC;AAIH,eAAO,MAAM,kBAAkB,yGAK7B,CAAC;AAIH,eAAO,MAAM,cAAc,0LAQzB,CAAC;AAIH,eAAO,MAAM,WAAW;WAEb,MAAM;kBACC,qBAAqB,CAAC,aAAa,CAAC;eACvC,OAAO;kDAoIpB,CAAC;;;;AAmJH,wBAAmD"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { forwardRef, useContext } from 'react';
|
|
3
3
|
import styled, { css } from 'styled-components';
|
|
4
|
-
import { Flex, Actions, defaultThemeProp, useDirection, StyledButton, Icon, useI18n,
|
|
4
|
+
import { Flex, Actions, defaultThemeProp, useDirection, StyledButton, Icon, useI18n, useTestIds, withTestIds, useElement, Tooltip, readableHue } from '@pega/cosmos-react-core';
|
|
5
5
|
import { DragHandle, StyledDragHandle } from '@pega/cosmos-react-dnd';
|
|
6
6
|
import { generateDynamicTestId } from './utils';
|
|
7
7
|
import { getStageTestIds } from './LifeCycle.test-ids';
|
|
@@ -15,7 +15,7 @@ export const StyledStageButton = styled.button(({ error, dragEnabled, theme }) =
|
|
|
15
15
|
overflow: hidden;
|
|
16
16
|
text-overflow: ellipsis;
|
|
17
17
|
white-space: nowrap;
|
|
18
|
-
text-align:
|
|
18
|
+
text-align: center;
|
|
19
19
|
margin-inline-start: calc(${dragEnabled ? 0.25 : 0.5} * ${theme.base.spacing});
|
|
20
20
|
padding-inline: calc(${dragEnabled ? 0.25 : 0.5} * ${theme.base.spacing});
|
|
21
21
|
background: transparent;
|
|
@@ -60,8 +60,8 @@ export const StyledWarnIcon = styled(Icon)(({ theme }) => {
|
|
|
60
60
|
StyledWarnIcon.defaultProps = defaultThemeProp;
|
|
61
61
|
export const StyledStage = styled.div(({ stageInfo, theme, error, dragEnabled, dragging, transitionType }) => {
|
|
62
62
|
const { visual: { bgColor, tailPointed, headPointed } } = stageInfo;
|
|
63
|
+
const readableBgColor = readableHue(bgColor, theme.components.lifecycle.stage['foreground-color']);
|
|
63
64
|
const { rtl } = useDirection();
|
|
64
|
-
const contrastColor = readableColor(bgColor);
|
|
65
65
|
const borderRadius = 'border-radius';
|
|
66
66
|
const roundedEndsStyles = css `
|
|
67
67
|
content: '';
|
|
@@ -77,10 +77,13 @@ export const StyledStage = styled.div(({ stageInfo, theme, error, dragEnabled, d
|
|
|
77
77
|
return css `
|
|
78
78
|
position: relative;
|
|
79
79
|
padding: ${spacing};
|
|
80
|
-
background: ${
|
|
80
|
+
background: ${readableBgColor};
|
|
81
81
|
border: 0.0625rem solid transparent;
|
|
82
82
|
width: 100%;
|
|
83
83
|
height: '${theme.base.spacing}';
|
|
84
|
+
font-family: ${theme.components.text.h1['font-family']};
|
|
85
|
+
font-size: 1rem;
|
|
86
|
+
border-radius: calc(0.5 * ${theme.base[borderRadius]});
|
|
84
87
|
&:hover {
|
|
85
88
|
cursor: pointer;
|
|
86
89
|
}
|
|
@@ -88,7 +91,7 @@ export const StyledStage = styled.div(({ stageInfo, theme, error, dragEnabled, d
|
|
|
88
91
|
stageInfo.id === 'alternate' &&
|
|
89
92
|
css `
|
|
90
93
|
border: none;
|
|
91
|
-
box-shadow: inset 0 -0.
|
|
94
|
+
box-shadow: inset 0 -0.4rem 0 0 ${readableHue(theme.components.lifecycle.stage.alternate['resolution-highlight'], theme.components.lifecycle.stage['foreground-color'])};
|
|
92
95
|
|
|
93
96
|
/* adding 0.0625rem to padding since 0.0625rem border is removed. */
|
|
94
97
|
padding: calc(${spacing} + 0.0625rem);
|
|
@@ -97,6 +100,9 @@ export const StyledStage = styled.div(({ stageInfo, theme, error, dragEnabled, d
|
|
|
97
100
|
${headPointed &&
|
|
98
101
|
!dragging &&
|
|
99
102
|
css `
|
|
103
|
+
border-start-end-radius: 0;
|
|
104
|
+
border-end-end-radius: 0;
|
|
105
|
+
|
|
100
106
|
&::after {
|
|
101
107
|
${roundedEndsStyles}
|
|
102
108
|
z-index: 1;
|
|
@@ -116,6 +122,9 @@ export const StyledStage = styled.div(({ stageInfo, theme, error, dragEnabled, d
|
|
|
116
122
|
|
|
117
123
|
${tailPointed &&
|
|
118
124
|
css `
|
|
125
|
+
border-start-start-radius: 0;
|
|
126
|
+
border-end-start-radius: 0;
|
|
127
|
+
|
|
119
128
|
${!error &&
|
|
120
129
|
!dragEnabled &&
|
|
121
130
|
css `
|
|
@@ -135,7 +144,7 @@ export const StyledStage = styled.div(({ stageInfo, theme, error, dragEnabled, d
|
|
|
135
144
|
css `
|
|
136
145
|
&::before {
|
|
137
146
|
${roundedEndsStyles}
|
|
138
|
-
background: ${theme.
|
|
147
|
+
background: ${theme.components.lifecycle.stage.background};
|
|
139
148
|
transform: rotateZ(45deg) skew(15deg, 15deg);
|
|
140
149
|
inset-inline-start: calc(-1.6 * ${theme.base.spacing});
|
|
141
150
|
${rtl
|
|
@@ -152,23 +161,23 @@ export const StyledStage = styled.div(({ stageInfo, theme, error, dragEnabled, d
|
|
|
152
161
|
`}
|
|
153
162
|
|
|
154
163
|
${StyledWarnIcon} {
|
|
155
|
-
color: ${
|
|
164
|
+
color: ${theme.components.lifecycle.stage['foreground-color']};
|
|
156
165
|
margin-inline-start: calc(${dragEnabled ? 0.5 : 1.25} * ${theme.base.spacing});
|
|
157
166
|
margin-inline-end: ${theme.base.spacing};
|
|
158
167
|
}
|
|
159
168
|
|
|
160
169
|
${StyledStageActions} {
|
|
161
170
|
& > ${StyledButton} {
|
|
162
|
-
color: ${
|
|
171
|
+
color: ${theme.components.lifecycle.stage['foreground-color']};
|
|
163
172
|
}
|
|
164
173
|
}
|
|
165
174
|
|
|
166
175
|
${StyledStageButton} {
|
|
167
|
-
color: ${
|
|
176
|
+
color: ${theme.components.lifecycle.stage['foreground-color']};
|
|
168
177
|
}
|
|
169
178
|
|
|
170
179
|
${StyledDragHandle} {
|
|
171
|
-
color: ${
|
|
180
|
+
color: ${theme.components.lifecycle.stage['foreground-color']};
|
|
172
181
|
margin-inline-start: ${theme.base.spacing};
|
|
173
182
|
}
|
|
174
183
|
`;
|
|
@@ -240,7 +249,7 @@ const Stage = forwardRef(({ value, actions, stageInfo, onClick, id, item, error,
|
|
|
240
249
|
accessibilityLabel = t('stage_name', [value]);
|
|
241
250
|
}
|
|
242
251
|
const stageDragEnabled = dragEnabled && dragDropConfig[item.alternate ? 'alternate-stage' : 'stage'].enabled;
|
|
243
|
-
return (_jsxs(Flex, { "data-testid": testIds.root, ...restProps, container: { inline: true, alignItems: 'center' }, as: StyledStage, ref: ref, error: error, dragEnabled: stageDragEnabled, dragging: draggedItem?.type === 'stage', stageInfo: stageInfo, "aria-label": error ? t('stage_name_error', [value]) : undefined, transitionType: item.transitionType, children: [stageDragEnabled && (_jsx(DragHandle, { itemId: id, ref: dragRef, onClick: e => e.stopPropagation() })), error && _jsx(StyledWarnIcon, { name: 'warn-solid' }), _jsxs(Flex, { container: { inline: true }, item: { grow: 1 }, onClick: onStageClick, children: [_jsx(StyledStageButton, { error: error, dragEnabled: stageDragEnabled, "aria-label": error ? undefined : accessibilityLabel, ref: setStageButtonEl, children: value }), stageButtonEl && (_jsx(Tooltip, { target: stageButtonEl, smart: true, children: value }))] }), _jsx(StyledStageActions, { children: actionsClone && (_jsx(Actions, { items: actionsClone, menuAt: 2, iconOnly: true, contextualLabel: t('stage_name', [value]) })) })] }));
|
|
252
|
+
return (_jsxs(Flex, { "data-testid": testIds.root, ...restProps, container: { inline: true, alignItems: 'center' }, as: StyledStage, ref: ref, error: error, dragEnabled: stageDragEnabled, dragging: draggedItem?.type === 'stage', stageInfo: stageInfo, "aria-label": error ? t('stage_name_error', [value]) : undefined, transitionType: item.transitionType, children: [stageDragEnabled && (_jsx(DragHandle, { itemId: id, ref: dragRef, onClick: e => e.stopPropagation() })), error && _jsx(StyledWarnIcon, { name: 'warn-solid' }), _jsxs(Flex, { container: { inline: true, justify: 'center' }, item: { grow: 1 }, onClick: onStageClick, children: [_jsx(StyledStageButton, { error: error, dragEnabled: stageDragEnabled, "aria-label": error ? undefined : accessibilityLabel, ref: setStageButtonEl, children: value }), stageButtonEl && (_jsx(Tooltip, { target: stageButtonEl, smart: true, children: value }))] }), _jsx(StyledStageActions, { children: actionsClone && (_jsx(Actions, { items: actionsClone, menuAt: 2, iconOnly: true, contextualLabel: t('stage_name', [value]) })) })] }));
|
|
244
253
|
});
|
|
245
254
|
export default withTestIds(Stage, getStageTestIds);
|
|
246
255
|
//# sourceMappingURL=Stage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Stage.js","sourceRoot":"","sources":["../../../src/components/LifeCycle/Stage.tsx"],"names":[],"mappings":"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","sourcesContent":["import { forwardRef, useContext } from 'react';\nimport type { PropsWithChildren, Ref, MouseEvent, RefCallback } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport {\n Flex,\n Actions,\n defaultThemeProp,\n useDirection,\n StyledButton,\n Icon,\n useI18n,\n readableColor,\n useTestIds,\n withTestIds,\n useElement,\n Tooltip,\n readableHue\n} from '@pega/cosmos-react-core';\nimport type { BaseProps, Action, ForwardRefForwardPropsComponent } from '@pega/cosmos-react-core';\nimport { DragHandle, StyledDragHandle } from '@pega/cosmos-react-dnd';\n\nimport { generateDynamicTestId } from './utils';\nimport type {\n LifeCycleAction,\n LifeCycleActionParam,\n StageInfo,\n StageItemProps,\n StageProps\n} from './LifeCycle.types';\nimport { getStageTestIds } from './LifeCycle.test-ids';\nimport LifeCycleContext, { type LifeCycleContextValue } from './LifeCycleContext';\n\nexport interface StageComponentProps extends BaseProps, StageProps {\n ref?: Ref<HTMLDivElement>;\n /** Pass text for the task. */\n value: string;\n /** unique id of the component */\n id: string;\n /** Controls the styling of the stage. */\n stageInfo: StageInfo;\n /** Full data object which can be passed to the callback */\n item: StageItemProps;\n /** The status is used to show the input error status and the info on tooltip in case of error */\n error?: string;\n dragRef?: RefCallback<HTMLElement>;\n}\n\nexport const StyledStageButton = styled.button<{\n error: string | undefined;\n dragEnabled?: LifeCycleContextValue['dragEnabled'];\n}>(({ error, dragEnabled, theme }) => {\n return css`\n height: ${theme.components.button.height};\n outline: none;\n border: none;\n border-radius: calc(0.5 * ${theme.base['border-radius']});\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n text-align: start;\n margin-inline-start: calc(${dragEnabled ? 0.25 : 0.5} * ${theme.base.spacing});\n padding-inline: calc(${dragEnabled ? 0.25 : 0.5} * ${theme.base.spacing});\n background: transparent;\n z-index: 2;\n\n ${error &&\n css`\n margin-inline-start: 0;\n `}\n\n &:hover {\n cursor: pointer;\n }\n\n &:focus {\n outline: none;\n box-shadow: ${theme.base.shadow.focus};\n }\n\n &:disabled {\n cursor: not-allowed;\n }\n `;\n});\n\nStyledStageButton.defaultProps = defaultThemeProp;\n\nexport const StyledStageActions = styled.div(({ theme }) => {\n return css`\n z-index: 2;\n margin-inline-end: calc(0.875 * ${theme.base.spacing});\n `;\n});\n\nStyledStageActions.defaultProps = defaultThemeProp;\n\nexport const StyledWarnIcon = styled(Icon)(({ theme }) => {\n return css`\n margin-inline: calc(0.5 * ${theme.base.spacing});\n\n &:hover {\n cursor: pointer;\n }\n `;\n});\n\nStyledWarnIcon.defaultProps = defaultThemeProp;\n\nexport const StyledStage = styled.div<\n Pick<StageComponentProps, 'stageInfo'> & {\n error: string;\n dragEnabled?: LifeCycleContextValue['dragEnabled'];\n dragging?: boolean;\n } & Pick<StageItemProps, 'transitionType'>\n>(({ stageInfo, theme, error, dragEnabled, dragging, transitionType }) => {\n const {\n visual: { bgColor, tailPointed, headPointed }\n } = stageInfo;\n\n const { rtl } = useDirection();\n const contrastColor = readableColor(bgColor);\n const borderRadius = 'border-radius';\n const roundedEndsStyles = css`\n content: '';\n position: absolute;\n display: block;\n width: calc(3 * ${theme.base.spacing});\n height: calc(3 * ${theme.base.spacing});\n top: calc(1 * ${theme.base.spacing});\n border: 0;\n border-inline-end: 0.0625rem solid transparent;\n `;\n const spacing = `calc(0.5 * ${theme.base.spacing})`;\n\n return css`\n position: relative;\n padding: ${spacing};\n background: ${bgColor};\n border: 0.0625rem solid transparent;\n width: 100%;\n height: '${theme.base.spacing}';\n &:hover {\n cursor: pointer;\n }\n ${transitionType === 'resolution' &&\n stageInfo.id === 'alternate' &&\n css`\n border: none;\n box-shadow: inset 0 -0.5rem 0 0 ${readableHue(theme.base.colors.green.medium, theme.base.palette.light)};\n\n /* adding 0.0625rem to padding since 0.0625rem border is removed. */\n padding: calc(${spacing} + 0.0625rem);\n `}\n\n ${headPointed &&\n !dragging &&\n css`\n &::after {\n ${roundedEndsStyles}\n z-index: 1;\n background: inherit;\n transform: rotateZ(-45deg) skew(-15deg, -15deg);\n inset-inline-end: calc(1.6 * ${theme.base.spacing} * -1);\n border-block-end: 0.0625rem solid transparent;\n ${rtl\n ? css`\n border-radius: calc(0.75 * ${theme.base[borderRadius]}) 0.1rem 0.1rem 0.1rem;\n `\n : css`\n border-radius: 0.0625rem 0.075rem calc(0.75 * ${theme.base[borderRadius]}) 0.0625rem;\n `}\n }\n `}\n\n ${tailPointed &&\n css`\n ${!error &&\n !dragEnabled &&\n css`\n ${StyledStageButton} {\n margin-inline-start: calc(1.5 * ${theme.base.spacing});\n }\n `}\n\n ${error &&\n css`\n ${StyledWarnIcon} {\n margin-inline-start: ${theme.base.spacing};\n }\n `}\n\n ${!dragging &&\n css`\n &::before {\n ${roundedEndsStyles}\n background: ${theme.base.palette['app-background']};\n transform: rotateZ(45deg) skew(15deg, 15deg);\n inset-inline-start: calc(-1.6 * ${theme.base.spacing});\n ${rtl\n ? css`\n border-block-end: 0.0625rem solid transparent;\n border-radius: 0.0625rem 1rem 0.0625rem calc(0.75 * ${theme.base[borderRadius]});\n `\n : css`\n border-block-start: 0.0625rem solid transparent;\n border-radius: 0.0625rem calc(0.75 * ${theme.base[borderRadius]}) 0.0625rem 1rem;\n `}\n }\n `}\n `}\n\n ${StyledWarnIcon} {\n color: ${contrastColor};\n margin-inline-start: calc(${dragEnabled ? 0.5 : 1.25} * ${theme.base.spacing});\n margin-inline-end: ${theme.base.spacing};\n }\n\n ${StyledStageActions} {\n & > ${StyledButton} {\n color: ${contrastColor};\n }\n }\n\n ${StyledStageButton} {\n color: ${contrastColor};\n }\n\n ${StyledDragHandle} {\n color: ${contrastColor};\n margin-inline-start: ${theme.base.spacing};\n }\n `;\n});\n\nStyledStage.defaultProps = defaultThemeProp;\n\nconst Stage: ForwardRefForwardPropsComponent<StageComponentProps> = forwardRef(\n (\n {\n value,\n actions,\n stageInfo,\n onClick,\n id,\n item,\n error,\n dragRef,\n ...restProps\n }: PropsWithChildren<StageComponentProps>,\n ref: StageComponentProps['ref']\n ) => {\n const { dragDropConfig, dragEnabled, draggedItem } = useContext(LifeCycleContext);\n const [stageButtonEl, setStageButtonEl] = useElement();\n const t = useI18n();\n let accessibilityLabel: string;\n const stageTestID = generateDynamicTestId([value]);\n const testIds = useTestIds(stageTestID, getStageTestIds);\n\n const onStageClick = (e: MouseEvent) => {\n const actionParam: LifeCycleActionParam = {\n value,\n stage: item,\n type: 'Stage'\n };\n onClick?.(actionParam, e);\n };\n\n const onActionItemClick = (\n actionId: string,\n e: MouseEvent<HTMLInputElement | HTMLAnchorElement | HTMLButtonElement>,\n menuButtonEl?: HTMLButtonElement\n ) => {\n const param: LifeCycleActionParam = {\n stage: item\n };\n\n if (actions) {\n let actionsList: LifeCycleAction[] = [];\n\n if (Array.isArray(actions)) {\n actionsList = actions;\n } else {\n actionsList = actions[item.type];\n }\n\n actionsList?.forEach((actionItem: LifeCycleAction) => {\n if (actionItem.id === actionId) {\n actionItem.onClick?.(param, e, menuButtonEl);\n }\n });\n }\n };\n\n // Deep copy of actions object is required to provide consistent callback objects on actions\n const actionsClone: Action[] = [];\n\n if (actions) {\n let actionsList: LifeCycleAction[] = [];\n if (Array.isArray(actions)) {\n actionsList = actions;\n } else {\n actionsList = actions[item.type];\n }\n\n actionsList.forEach(actionItem => {\n const actionCloneItem = {} as Action;\n Object.keys(actionItem).forEach((key: string) => {\n actionCloneItem[key] = actionItem[key];\n });\n actionCloneItem.onClick = onActionItemClick;\n actionsClone.push({\n ...actionCloneItem\n });\n return actionItem;\n });\n }\n if (item.transitionType === 'resolution') {\n accessibilityLabel = `${t('wait_for_user_action', [t('stage_name', [value])])}`;\n } else if (item.transitionType === 'wait') {\n accessibilityLabel = `${t('resolve_case', [t('stage_name', [value])])}`;\n } else {\n accessibilityLabel = t('stage_name', [value]);\n }\n\n const stageDragEnabled =\n dragEnabled && dragDropConfig[item.alternate ? 'alternate-stage' : 'stage'].enabled;\n\n return (\n <Flex\n data-testid={testIds.root}\n {...restProps}\n container={{ inline: true, alignItems: 'center' }}\n as={StyledStage}\n ref={ref}\n error={error}\n dragEnabled={stageDragEnabled}\n dragging={draggedItem?.type === 'stage'}\n stageInfo={stageInfo}\n aria-label={error ? t('stage_name_error', [value]) : undefined}\n transitionType={item.transitionType}\n >\n {stageDragEnabled && (\n <DragHandle itemId={id} ref={dragRef} onClick={e => e.stopPropagation()} />\n )}\n {error && <StyledWarnIcon name='warn-solid' />}\n <Flex container={{ inline: true }} item={{ grow: 1 }} onClick={onStageClick}>\n <StyledStageButton\n error={error}\n dragEnabled={stageDragEnabled}\n aria-label={error ? undefined : accessibilityLabel}\n ref={setStageButtonEl}\n >\n {value}\n </StyledStageButton>\n {stageButtonEl && (\n <Tooltip target={stageButtonEl} smart>\n {value}\n </Tooltip>\n )}\n </Flex>\n <StyledStageActions>\n {actionsClone && (\n <Actions\n items={actionsClone}\n menuAt={2}\n iconOnly\n contextualLabel={t('stage_name', [value])}\n />\n )}\n </StyledStageActions>\n </Flex>\n );\n }\n);\n\nexport default withTestIds(Stage, getStageTestIds);\n"]}
|
|
1
|
+
{"version":3,"file":"Stage.js","sourceRoot":"","sources":["../../../src/components/LifeCycle/Stage.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAE/C,OAAO,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EACL,IAAI,EACJ,OAAO,EACP,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,IAAI,EACJ,OAAO,EACP,UAAU,EACV,WAAW,EACX,UAAU,EACV,OAAO,EACP,WAAW,EACZ,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAEtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAQhD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,gBAAgB,EAAE,EAA8B,MAAM,oBAAoB,CAAC;AAiBlF,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAG3C,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,EAAE;IACnC,OAAO,GAAG,CAAA;cACE,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM;;;gCAGZ,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC;;;;;gCAK3B,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO;2BACrD,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO;;;;MAIrE,KAAK;QACP,GAAG,CAAA;;KAEF;;;;;;;;oBAQe,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK;;;;;;GAMxC,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,iBAAiB,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAElD,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;IACzD,OAAO,GAAG,CAAA;;sCAE0B,KAAK,CAAC,IAAI,CAAC,OAAO;GACrD,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,kBAAkB,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAEnD,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;IACvD,OAAO,GAAG,CAAA;gCACoB,KAAK,CAAC,IAAI,CAAC,OAAO;;;;;GAK/C,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,cAAc,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAE/C,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAMnC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,cAAc,EAAE,EAAE,EAAE;IACvE,MAAM,EACJ,MAAM,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,EAC9C,GAAG,SAAS,CAAC;IACd,MAAM,eAAe,GAAG,WAAW,CACjC,OAAO,EACP,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,kBAAkB,CAAC,CACrD,CAAC;IAEF,MAAM,EAAE,GAAG,EAAE,GAAG,YAAY,EAAE,CAAC;IAC/B,MAAM,YAAY,GAAG,eAAe,CAAC;IACrC,MAAM,iBAAiB,GAAG,GAAG,CAAA;;;;sBAIT,KAAK,CAAC,IAAI,CAAC,OAAO;uBACjB,KAAK,CAAC,IAAI,CAAC,OAAO;oBACrB,KAAK,CAAC,IAAI,CAAC,OAAO;;;GAGnC,CAAC;IACF,MAAM,OAAO,GAAG,cAAc,KAAK,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC;IAEpD,OAAO,GAAG,CAAA;;eAEG,OAAO;kBACJ,eAAe;;;eAGlB,KAAK,CAAC,IAAI,CAAC,OAAO;mBACd,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC;;gCAE1B,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC;;;;MAIlD,cAAc,KAAK,YAAY;QACjC,SAAS,CAAC,EAAE,KAAK,WAAW;QAC5B,GAAG,CAAA;;wCAEiC,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,sBAAsB,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;;;sBAGvJ,OAAO;KACxB;;MAEC,WAAW;QACb,CAAC,QAAQ;QACT,GAAG,CAAA;;;;;UAKG,iBAAiB;;;;uCAIY,KAAK,CAAC,IAAI,CAAC,OAAO;;UAE/C,GAAG;YACH,CAAC,CAAC,GAAG,CAAA;2CAC4B,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC;aACtD;YACH,CAAC,CAAC,GAAG,CAAA;8DAC+C,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC;aACzE;;KAER;;MAEC,WAAW;QACb,GAAG,CAAA;;;;QAIC,CAAC,KAAK;YACR,CAAC,WAAW;YACZ,GAAG,CAAA;UACC,iBAAiB;4CACiB,KAAK,CAAC,IAAI,CAAC,OAAO;;OAEvD;;QAEC,KAAK;YACP,GAAG,CAAA;UACC,cAAc;iCACS,KAAK,CAAC,IAAI,CAAC,OAAO;;OAE5C;;QAEC,CAAC,QAAQ;YACX,GAAG,CAAA;;YAEG,iBAAiB;wBACL,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU;;4CAEvB,KAAK,CAAC,IAAI,CAAC,OAAO;YAClD,GAAG;gBACH,CAAC,CAAC,GAAG,CAAA;;sEAEqD,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC;eAC/E;gBACH,CAAC,CAAC,GAAG,CAAA;;uDAEsC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC;eAChE;;OAER;KACF;;MAEC,cAAc;eACL,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,kBAAkB,CAAC;kCACjC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO;2BACvD,KAAK,CAAC,IAAI,CAAC,OAAO;;;MAGvC,kBAAkB;YACZ,YAAY;iBACP,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,kBAAkB,CAAC;;;;MAI/D,iBAAiB;eACR,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,kBAAkB,CAAC;;;MAG7D,gBAAgB;eACP,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,kBAAkB,CAAC;6BACtC,KAAK,CAAC,IAAI,CAAC,OAAO;;GAE5C,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,WAAW,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAE5C,MAAM,KAAK,GAAyD,UAAU,CAC5E,CACE,EACE,KAAK,EACL,OAAO,EACP,SAAS,EACT,OAAO,EACP,EAAE,EACF,IAAI,EACJ,KAAK,EACL,OAAO,EACP,GAAG,SAAS,EAC2B,EACzC,GAA+B,EAC/B,EAAE;IACF,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,UAAU,CAAC,gBAAgB,CAAC,CAAC;IAClF,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,UAAU,EAAE,CAAC;IACvD,MAAM,CAAC,GAAG,OAAO,EAAE,CAAC;IACpB,IAAI,kBAA0B,CAAC;IAC/B,MAAM,WAAW,GAAG,qBAAqB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IACnD,MAAM,OAAO,GAAG,UAAU,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;IAEzD,MAAM,YAAY,GAAG,CAAC,CAAa,EAAE,EAAE;QACrC,MAAM,WAAW,GAAyB;YACxC,KAAK;YACL,KAAK,EAAE,IAAI;YACX,IAAI,EAAE,OAAO;SACd,CAAC;QACF,OAAO,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IAC5B,CAAC,CAAC;IAEF,MAAM,iBAAiB,GAAG,CACxB,QAAgB,EAChB,CAAuE,EACvE,YAAgC,EAChC,EAAE;QACF,MAAM,KAAK,GAAyB;YAClC,KAAK,EAAE,IAAI;SACZ,CAAC;QAEF,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,WAAW,GAAsB,EAAE,CAAC;YAExC,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC3B,WAAW,GAAG,OAAO,CAAC;YACxB,CAAC;iBAAM,CAAC;gBACN,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnC,CAAC;YAED,WAAW,EAAE,OAAO,CAAC,CAAC,UAA2B,EAAE,EAAE;gBACnD,IAAI,UAAU,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;oBAC/B,UAAU,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC;gBAC/C,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC;IAEF,4FAA4F;IAC5F,MAAM,YAAY,GAAa,EAAE,CAAC;IAElC,IAAI,OAAO,EAAE,CAAC;QACZ,IAAI,WAAW,GAAsB,EAAE,CAAC;QACxC,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,WAAW,GAAG,OAAO,CAAC;QACxB,CAAC;aAAM,CAAC;YACN,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC;QAED,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;YAC/B,MAAM,eAAe,GAAG,EAAY,CAAC;YACrC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,GAAW,EAAE,EAAE;gBAC9C,eAAe,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;YACzC,CAAC,CAAC,CAAC;YACH,eAAe,CAAC,OAAO,GAAG,iBAAiB,CAAC;YAC5C,YAAY,CAAC,IAAI,CAAC;gBAChB,GAAG,eAAe;aACnB,CAAC,CAAC;YACH,OAAO,UAAU,CAAC;QACpB,CAAC,CAAC,CAAC;IACL,CAAC;IACD,IAAI,IAAI,CAAC,cAAc,KAAK,YAAY,EAAE,CAAC;QACzC,kBAAkB,GAAG,GAAG,CAAC,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAClF,CAAC;SAAM,IAAI,IAAI,CAAC,cAAc,KAAK,MAAM,EAAE,CAAC;QAC1C,kBAAkB,GAAG,GAAG,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1E,CAAC;SAAM,CAAC;QACN,kBAAkB,GAAG,CAAC,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,gBAAgB,GACpB,WAAW,IAAI,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC;IAEtF,OAAO,CACL,MAAC,IAAI,mBACU,OAAO,CAAC,IAAI,KACrB,SAAS,EACb,SAAS,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,EACjD,EAAE,EAAE,WAAW,EACf,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,gBAAgB,EAC7B,QAAQ,EAAE,WAAW,EAAE,IAAI,KAAK,OAAO,EACvC,SAAS,EAAE,SAAS,gBACR,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAC9D,cAAc,EAAE,IAAI,CAAC,cAAc,aAElC,gBAAgB,IAAI,CACnB,KAAC,UAAU,IAAC,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,GAAI,CAC5E,EACA,KAAK,IAAI,KAAC,cAAc,IAAC,IAAI,EAAC,YAAY,GAAG,EAC9C,MAAC,IAAI,IACH,SAAS,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,EAC9C,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EACjB,OAAO,EAAE,YAAY,aAErB,KAAC,iBAAiB,IAChB,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,gBAAgB,gBACjB,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,kBAAkB,EAClD,GAAG,EAAE,gBAAgB,YAEpB,KAAK,GACY,EACnB,aAAa,IAAI,CAChB,KAAC,OAAO,IAAC,MAAM,EAAE,aAAa,EAAE,KAAK,kBAClC,KAAK,GACE,CACX,IACI,EACP,KAAC,kBAAkB,cAChB,YAAY,IAAI,CACf,KAAC,OAAO,IACN,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,CAAC,EACT,QAAQ,QACR,eAAe,EAAE,CAAC,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,CAAC,GACzC,CACH,GACkB,IAChB,CACR,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,eAAe,WAAW,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC","sourcesContent":["import { forwardRef, useContext } from 'react';\nimport type { PropsWithChildren, Ref, MouseEvent, RefCallback } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport {\n Flex,\n Actions,\n defaultThemeProp,\n useDirection,\n StyledButton,\n Icon,\n useI18n,\n useTestIds,\n withTestIds,\n useElement,\n Tooltip,\n readableHue\n} from '@pega/cosmos-react-core';\nimport type { BaseProps, Action, ForwardRefForwardPropsComponent } from '@pega/cosmos-react-core';\nimport { DragHandle, StyledDragHandle } from '@pega/cosmos-react-dnd';\n\nimport { generateDynamicTestId } from './utils';\nimport type {\n LifeCycleAction,\n LifeCycleActionParam,\n StageInfo,\n StageItemProps,\n StageProps\n} from './LifeCycle.types';\nimport { getStageTestIds } from './LifeCycle.test-ids';\nimport LifeCycleContext, { type LifeCycleContextValue } from './LifeCycleContext';\n\nexport interface StageComponentProps extends BaseProps, StageProps {\n ref?: Ref<HTMLDivElement>;\n /** Pass text for the task. */\n value: string;\n /** unique id of the component */\n id: string;\n /** Controls the styling of the stage. */\n stageInfo: StageInfo;\n /** Full data object which can be passed to the callback */\n item: StageItemProps;\n /** The status is used to show the input error status and the info on tooltip in case of error */\n error?: string;\n dragRef?: RefCallback<HTMLElement>;\n}\n\nexport const StyledStageButton = styled.button<{\n error: string | undefined;\n dragEnabled?: LifeCycleContextValue['dragEnabled'];\n}>(({ error, dragEnabled, theme }) => {\n return css`\n height: ${theme.components.button.height};\n outline: none;\n border: none;\n border-radius: calc(0.5 * ${theme.base['border-radius']});\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n text-align: center;\n margin-inline-start: calc(${dragEnabled ? 0.25 : 0.5} * ${theme.base.spacing});\n padding-inline: calc(${dragEnabled ? 0.25 : 0.5} * ${theme.base.spacing});\n background: transparent;\n z-index: 2;\n\n ${error &&\n css`\n margin-inline-start: 0;\n `}\n\n &:hover {\n cursor: pointer;\n }\n\n &:focus {\n outline: none;\n box-shadow: ${theme.base.shadow.focus};\n }\n\n &:disabled {\n cursor: not-allowed;\n }\n `;\n});\n\nStyledStageButton.defaultProps = defaultThemeProp;\n\nexport const StyledStageActions = styled.div(({ theme }) => {\n return css`\n z-index: 2;\n margin-inline-end: calc(0.875 * ${theme.base.spacing});\n `;\n});\n\nStyledStageActions.defaultProps = defaultThemeProp;\n\nexport const StyledWarnIcon = styled(Icon)(({ theme }) => {\n return css`\n margin-inline: calc(0.5 * ${theme.base.spacing});\n\n &:hover {\n cursor: pointer;\n }\n `;\n});\n\nStyledWarnIcon.defaultProps = defaultThemeProp;\n\nexport const StyledStage = styled.div<\n Pick<StageComponentProps, 'stageInfo'> & {\n error: string;\n dragEnabled?: LifeCycleContextValue['dragEnabled'];\n dragging?: boolean;\n } & Pick<StageItemProps, 'transitionType'>\n>(({ stageInfo, theme, error, dragEnabled, dragging, transitionType }) => {\n const {\n visual: { bgColor, tailPointed, headPointed }\n } = stageInfo;\n const readableBgColor = readableHue(\n bgColor,\n theme.components.lifecycle.stage['foreground-color']\n );\n\n const { rtl } = useDirection();\n const borderRadius = 'border-radius';\n const roundedEndsStyles = css`\n content: '';\n position: absolute;\n display: block;\n width: calc(3 * ${theme.base.spacing});\n height: calc(3 * ${theme.base.spacing});\n top: calc(1 * ${theme.base.spacing});\n border: 0;\n border-inline-end: 0.0625rem solid transparent;\n `;\n const spacing = `calc(0.5 * ${theme.base.spacing})`;\n\n return css`\n position: relative;\n padding: ${spacing};\n background: ${readableBgColor};\n border: 0.0625rem solid transparent;\n width: 100%;\n height: '${theme.base.spacing}';\n font-family: ${theme.components.text.h1['font-family']};\n font-size: 1rem;\n border-radius: calc(0.5 * ${theme.base[borderRadius]});\n &:hover {\n cursor: pointer;\n }\n ${transitionType === 'resolution' &&\n stageInfo.id === 'alternate' &&\n css`\n border: none;\n box-shadow: inset 0 -0.4rem 0 0 ${readableHue(theme.components.lifecycle.stage.alternate['resolution-highlight'], theme.components.lifecycle.stage['foreground-color'])};\n\n /* adding 0.0625rem to padding since 0.0625rem border is removed. */\n padding: calc(${spacing} + 0.0625rem);\n `}\n\n ${headPointed &&\n !dragging &&\n css`\n border-start-end-radius: 0;\n border-end-end-radius: 0;\n\n &::after {\n ${roundedEndsStyles}\n z-index: 1;\n background: inherit;\n transform: rotateZ(-45deg) skew(-15deg, -15deg);\n inset-inline-end: calc(1.6 * ${theme.base.spacing} * -1);\n border-block-end: 0.0625rem solid transparent;\n ${rtl\n ? css`\n border-radius: calc(0.75 * ${theme.base[borderRadius]}) 0.1rem 0.1rem 0.1rem;\n `\n : css`\n border-radius: 0.0625rem 0.075rem calc(0.75 * ${theme.base[borderRadius]}) 0.0625rem;\n `}\n }\n `}\n\n ${tailPointed &&\n css`\n border-start-start-radius: 0;\n border-end-start-radius: 0;\n\n ${!error &&\n !dragEnabled &&\n css`\n ${StyledStageButton} {\n margin-inline-start: calc(1.5 * ${theme.base.spacing});\n }\n `}\n\n ${error &&\n css`\n ${StyledWarnIcon} {\n margin-inline-start: ${theme.base.spacing};\n }\n `}\n\n ${!dragging &&\n css`\n &::before {\n ${roundedEndsStyles}\n background: ${theme.components.lifecycle.stage.background};\n transform: rotateZ(45deg) skew(15deg, 15deg);\n inset-inline-start: calc(-1.6 * ${theme.base.spacing});\n ${rtl\n ? css`\n border-block-end: 0.0625rem solid transparent;\n border-radius: 0.0625rem 1rem 0.0625rem calc(0.75 * ${theme.base[borderRadius]});\n `\n : css`\n border-block-start: 0.0625rem solid transparent;\n border-radius: 0.0625rem calc(0.75 * ${theme.base[borderRadius]}) 0.0625rem 1rem;\n `}\n }\n `}\n `}\n\n ${StyledWarnIcon} {\n color: ${theme.components.lifecycle.stage['foreground-color']};\n margin-inline-start: calc(${dragEnabled ? 0.5 : 1.25} * ${theme.base.spacing});\n margin-inline-end: ${theme.base.spacing};\n }\n\n ${StyledStageActions} {\n & > ${StyledButton} {\n color: ${theme.components.lifecycle.stage['foreground-color']};\n }\n }\n\n ${StyledStageButton} {\n color: ${theme.components.lifecycle.stage['foreground-color']};\n }\n\n ${StyledDragHandle} {\n color: ${theme.components.lifecycle.stage['foreground-color']};\n margin-inline-start: ${theme.base.spacing};\n }\n `;\n});\n\nStyledStage.defaultProps = defaultThemeProp;\n\nconst Stage: ForwardRefForwardPropsComponent<StageComponentProps> = forwardRef(\n (\n {\n value,\n actions,\n stageInfo,\n onClick,\n id,\n item,\n error,\n dragRef,\n ...restProps\n }: PropsWithChildren<StageComponentProps>,\n ref: StageComponentProps['ref']\n ) => {\n const { dragDropConfig, dragEnabled, draggedItem } = useContext(LifeCycleContext);\n const [stageButtonEl, setStageButtonEl] = useElement();\n const t = useI18n();\n let accessibilityLabel: string;\n const stageTestID = generateDynamicTestId([value]);\n const testIds = useTestIds(stageTestID, getStageTestIds);\n\n const onStageClick = (e: MouseEvent) => {\n const actionParam: LifeCycleActionParam = {\n value,\n stage: item,\n type: 'Stage'\n };\n onClick?.(actionParam, e);\n };\n\n const onActionItemClick = (\n actionId: string,\n e: MouseEvent<HTMLInputElement | HTMLAnchorElement | HTMLButtonElement>,\n menuButtonEl?: HTMLButtonElement\n ) => {\n const param: LifeCycleActionParam = {\n stage: item\n };\n\n if (actions) {\n let actionsList: LifeCycleAction[] = [];\n\n if (Array.isArray(actions)) {\n actionsList = actions;\n } else {\n actionsList = actions[item.type];\n }\n\n actionsList?.forEach((actionItem: LifeCycleAction) => {\n if (actionItem.id === actionId) {\n actionItem.onClick?.(param, e, menuButtonEl);\n }\n });\n }\n };\n\n // Deep copy of actions object is required to provide consistent callback objects on actions\n const actionsClone: Action[] = [];\n\n if (actions) {\n let actionsList: LifeCycleAction[] = [];\n if (Array.isArray(actions)) {\n actionsList = actions;\n } else {\n actionsList = actions[item.type];\n }\n\n actionsList.forEach(actionItem => {\n const actionCloneItem = {} as Action;\n Object.keys(actionItem).forEach((key: string) => {\n actionCloneItem[key] = actionItem[key];\n });\n actionCloneItem.onClick = onActionItemClick;\n actionsClone.push({\n ...actionCloneItem\n });\n return actionItem;\n });\n }\n if (item.transitionType === 'resolution') {\n accessibilityLabel = `${t('wait_for_user_action', [t('stage_name', [value])])}`;\n } else if (item.transitionType === 'wait') {\n accessibilityLabel = `${t('resolve_case', [t('stage_name', [value])])}`;\n } else {\n accessibilityLabel = t('stage_name', [value]);\n }\n\n const stageDragEnabled =\n dragEnabled && dragDropConfig[item.alternate ? 'alternate-stage' : 'stage'].enabled;\n\n return (\n <Flex\n data-testid={testIds.root}\n {...restProps}\n container={{ inline: true, alignItems: 'center' }}\n as={StyledStage}\n ref={ref}\n error={error}\n dragEnabled={stageDragEnabled}\n dragging={draggedItem?.type === 'stage'}\n stageInfo={stageInfo}\n aria-label={error ? t('stage_name_error', [value]) : undefined}\n transitionType={item.transitionType}\n >\n {stageDragEnabled && (\n <DragHandle itemId={id} ref={dragRef} onClick={e => e.stopPropagation()} />\n )}\n {error && <StyledWarnIcon name='warn-solid' />}\n <Flex\n container={{ inline: true, justify: 'center' }}\n item={{ grow: 1 }}\n onClick={onStageClick}\n >\n <StyledStageButton\n error={error}\n dragEnabled={stageDragEnabled}\n aria-label={error ? undefined : accessibilityLabel}\n ref={setStageButtonEl}\n >\n {value}\n </StyledStageButton>\n {stageButtonEl && (\n <Tooltip target={stageButtonEl} smart>\n {value}\n </Tooltip>\n )}\n </Flex>\n <StyledStageActions>\n {actionsClone && (\n <Actions\n items={actionsClone}\n menuAt={2}\n iconOnly\n contextualLabel={t('stage_name', [value])}\n />\n )}\n </StyledStageActions>\n </Flex>\n );\n }\n);\n\nexport default withTestIds(Stage, getStageTestIds);\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Step.d.ts","sourceRoot":"","sources":["../../../src/components/LifeCycle/Step.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAA+B,WAAW,EAAE,MAAM,OAAO,CAAC;AAkBzF,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAU,MAAM,yBAAyB,CAAC;AAI/E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAGhE,OAAO,KAAK,EACV,aAAa,EACb,aAAa,EACb,cAAc,EACd,iBAAiB,EAEjB,SAAS,EACV,MAAM,mBAAmB,CAAC;AAK3B,UAAU,iBAAiB;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AACD,MAAM,WAAW,mBAAoB,SAAQ,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC;IACtE,MAAM,EAAE,MAAM,CAAC;CAChB;AACD,MAAM,WAAW,kBAAmB,SAAQ,SAAS,EAAE,SAAS;IAC9D,8BAA8B;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,wBAAwB;IACxB,EAAE,EAAE,MAAM,CAAC;IACX;;oDAEgD;IAChD,MAAM,EAAE,mBAAmB,CAAC;IAC5B,sDAAsD;IACtD,KAAK,CAAC,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;IAChC,iGAAiG;IACjG,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qEAAqE;IACrE,IAAI,EAAE,aAAa,CAAC;IACpB,SAAS,EAAE,cAAc,CAAC;IAC1B,QAAQ,EAAE,aAAa,CAAC;IACxB,YAAY,EAAE,iBAAiB,GAAG,iBAAiB,CAAC;IACpD,OAAO,CAAC,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;IACnC,UAAU,CAAC,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;CACvC;AAED,eAAO,MAAM,cAAc,yIAY1B,CAAC;AAIF,eAAO,MAAM,eAAe,yGAa1B,CAAC;AAIH,eAAO,MAAM,iBAAiB;cAClB,OAAO;cACP,OAAO;SA0BjB,CAAC;AAIH,eAAO,MAAM,UAAU,yGAcrB,CAAC;AAaH,eAAO,MAAM,gBAAgB;YAA2B,kBAAkB,CAAC,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"Step.d.ts","sourceRoot":"","sources":["../../../src/components/LifeCycle/Step.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAA+B,WAAW,EAAE,MAAM,OAAO,CAAC;AAkBzF,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAU,MAAM,yBAAyB,CAAC;AAI/E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAGhE,OAAO,KAAK,EACV,aAAa,EACb,aAAa,EACb,cAAc,EACd,iBAAiB,EAEjB,SAAS,EACV,MAAM,mBAAmB,CAAC;AAK3B,UAAU,iBAAiB;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AACD,MAAM,WAAW,mBAAoB,SAAQ,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC;IACtE,MAAM,EAAE,MAAM,CAAC;CAChB;AACD,MAAM,WAAW,kBAAmB,SAAQ,SAAS,EAAE,SAAS;IAC9D,8BAA8B;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,wBAAwB;IACxB,EAAE,EAAE,MAAM,CAAC;IACX;;oDAEgD;IAChD,MAAM,EAAE,mBAAmB,CAAC;IAC5B,sDAAsD;IACtD,KAAK,CAAC,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;IAChC,iGAAiG;IACjG,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qEAAqE;IACrE,IAAI,EAAE,aAAa,CAAC;IACpB,SAAS,EAAE,cAAc,CAAC;IAC1B,QAAQ,EAAE,aAAa,CAAC;IACxB,YAAY,EAAE,iBAAiB,GAAG,iBAAiB,CAAC;IACpD,OAAO,CAAC,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;IACnC,UAAU,CAAC,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;CACvC;AAED,eAAO,MAAM,cAAc,yIAY1B,CAAC;AAIF,eAAO,MAAM,eAAe,yGAa1B,CAAC;AAIH,eAAO,MAAM,iBAAiB;cAClB,OAAO;cACP,OAAO;SA0BjB,CAAC;AAIH,eAAO,MAAM,UAAU,yGAcrB,CAAC;AAaH,eAAO,MAAM,gBAAgB;YAA2B,kBAAkB,CAAC,MAAM,CAAC;SAiCjF,CAAC;AAIF,eAAO,MAAM,cAAc,0LAUzB,CAAC;;;;AA4KH,wBAAiD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Step.js","sourceRoot":"","sources":["../../../src/components/LifeCycle/Step.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useState, useContext } from 'react';\nimport type { FunctionComponent, PropsWithoutRef, MouseEvent, RefCallback } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport {\n Flex,\n defaultThemeProp,\n Icon,\n Status,\n Actions,\n useI18n,\n Avatar,\n useUID,\n useTestIds,\n VisuallyHiddenText,\n withTestIds,\n Tooltip,\n useElement\n} from '@pega/cosmos-react-core';\nimport type { BaseProps, ForwardProps, Action } from '@pega/cosmos-react-core';\nimport { DragHandle, StyledDragHandle } from '@pega/cosmos-react-dnd';\n\nimport IconTile from '../IconTile';\nimport type { IconTileProps } from '../IconTile/IconTile.types';\n\nimport { generateDynamicTestId } from './utils';\nimport type {\n TaskItemProps,\n StepItemProps,\n StageItemProps,\n CategoryItemProps,\n LifeCycleActionParam,\n StepProps\n} from './LifeCycle.types';\nimport LifeCycleContext from './LifeCycleContext';\nimport { getStepTestIds } from './LifeCycle.test-ids';\n\nconst borderRadius = 'border-radius';\ninterface CategoryLabelProp {\n categoryLabel?: string;\n}\nexport interface VisualStepItemProps extends Omit<IconTileProps, 'size'> {\n imgSrc: string;\n}\nexport interface StepComponentProps extends BaseProps, StepProps {\n /** Pass text for the step. */\n value: string;\n /** unique id of step */\n id: string;\n /** Determines the visual for icon, color and label to render.\n * This color is passed as a variant and accessible colors are used to display.\n * Icon and label are passed as normal string */\n visual: VisualStepItemProps;\n /** Determines the variant and label for the badges */\n badge?: StepItemProps['status'];\n /** The status is used to show the input error status and the info on tooltip in case of error */\n error?: string;\n /** Data of the steps which can be used to send the full info back */\n item: StepItemProps;\n stageItem: StageItemProps;\n taskItem: TaskItemProps;\n categoryItem: CategoryItemProps & CategoryLabelProp;\n dragRef?: RefCallback<HTMLElement>;\n previewRef?: RefCallback<HTMLElement>;\n}\n\nexport const StyledStepType = styled.div<Pick<StepComponentProps, 'visual'>>(\n ({ visual, theme }) => {\n return visual?.imgSrc\n ? css`\n height: 2rem;\n padding-inline-end: calc(0.25 * ${theme.base.spacing});\n `\n : css`\n margin: calc(0.5 * ${theme.base.spacing});\n border-radius: calc(0.25 * ${theme.base[borderRadius]});\n `;\n }\n);\n\nStyledStepType.defaultProps = defaultThemeProp;\n\nexport const StyledStepBadge = styled.div(({ theme }) => {\n return css`\n padding: 0 calc(0.5 * ${theme.base.spacing});\n justify-content: flex-end;\n width: auto;\n max-width: calc(50% - ${theme.base.spacing});\n\n > span {\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n }\n `;\n});\n\nStyledStepBadge.defaultProps = defaultThemeProp;\n\nexport const StyledStepWrapper = styled.li<{\n hasFocus: boolean;\n selected: boolean;\n}>(({ hasFocus, theme, selected }) => {\n return css`\n width: 100%;\n border: 0.125rem solid transparent;\n border-radius: calc(0.5 * ${theme.base[borderRadius]});\n\n &:not(:last-of-type) {\n margin: 0 0 calc(0.5 * ${theme.base.spacing});\n }\n\n ${hasFocus &&\n css`\n box-shadow: ${theme.base.shadow.focus};\n `}\n\n &:hover {\n cursor: pointer;\n }\n ${selected &&\n css`\n &[aria-current='step'] {\n border-color: ${theme.base.palette.interactive};\n }\n `}\n `;\n});\n\nStyledStepWrapper.defaultProps = defaultThemeProp;\n\nexport const StyledStep = styled.div(({ theme }) => {\n return css`\n background: ${theme.base.palette['secondary-background']};\n border: 0.125rem solid transparent;\n border-radius: calc(0.5 * ${theme.base[borderRadius]});\n\n &:hover {\n cursor: pointer;\n }\n\n ${StyledDragHandle} {\n margin-block: calc(0.5 * ${theme.base.spacing});\n }\n `;\n});\n\nStyledStep.defaultProps = defaultThemeProp;\n\nconst StyledStepButtonWrapper = styled.div<{ error: string }>(({ theme }) => {\n return css`\n border-radius: calc(0.5 * ${theme.base[borderRadius]});\n margin-inline: calc(0.5 * ${theme.base.spacing});\n `;\n});\n\nStyledStepButtonWrapper.defaultProps = defaultThemeProp;\n\nexport const StyledStepButton = styled.button<{ $wrap?: StepComponentProps['wrap'] }>(\n ({ theme, $wrap }) => {\n return css`\n border: none;\n height: ${theme.components.button.height};\n overflow: hidden;\n text-align: start;\n background: ${theme.base.palette['secondary-background']};\n\n ${$wrap\n ? css`\n height: fit-content;\n line-height: 1.2;\n min-height: ${theme.components.button.height};\n word-break: break-word;\n padding-block: calc(0.5 * ${theme.base.spacing});\n padding-inline-end: calc(0.5 * ${theme.base.spacing});\n `\n : css`\n white-space: nowrap;\n text-overflow: ellipsis;\n `}\n\n &:hover {\n cursor: pointer;\n }\n\n &:focus {\n outline: none;\n }\n `;\n }\n);\n\nStyledStepButton.defaultProps = defaultThemeProp;\n\nexport const StyledWarnIcon = styled(Icon)(({ theme }) => {\n return css`\n color: ${theme.base.palette.urgent};\n margin: calc(0.5 * ${theme.base.spacing});\n height: 1.5rem;\n flex-shrink: 0;\n &:hover {\n cursor: pointer;\n }\n `;\n});\n\nStyledWarnIcon.defaultProps = defaultThemeProp;\n\nconst Step: FunctionComponent<StepComponentProps & ForwardProps> = ({\n value,\n id,\n visual,\n actions,\n badge,\n error,\n wrap,\n categoryItem,\n item,\n stageItem,\n taskItem,\n onClick,\n dragRef,\n previewRef,\n ...restProps\n}: PropsWithoutRef<StepComponentProps>) => {\n const t = useI18n();\n const { selectedItemId, dragDropConfig, dragEnabled } = useContext(LifeCycleContext);\n const [stepHasFocus, setStepHasFocus] = useState(false);\n const [stepButtonEl, setStepButtonEl] = useElement();\n const stepButtonDescriptionId: string = useUID();\n const errorId: string = useUID();\n // Deep copy of actions is required to provide consistent callback objects on actions\n const actionsClone: Action[] = [];\n\n const stepTestID = generateDynamicTestId([\n stageItem.label,\n categoryItem.categoryLabel,\n taskItem.label,\n value\n ]);\n const testIds = useTestIds(stepTestID, getStepTestIds);\n\n // Need to check the value with statusProps\n const onActionItemClick = (\n actionId: string,\n e: MouseEvent<HTMLInputElement | HTMLAnchorElement | HTMLButtonElement>,\n menuButtonEl?: HTMLButtonElement\n ) => {\n e.stopPropagation();\n const param: LifeCycleActionParam = {\n task: taskItem,\n stage: stageItem,\n step: item,\n category: categoryItem\n };\n actions?.forEach(actionItem => {\n if (actionItem.id === actionId) {\n actionItem.onClick(param, e, menuButtonEl);\n }\n });\n };\n\n if (actions) {\n actions.forEach(actionItem => {\n const actionCloneItem = {} as Action;\n Object.keys(actionItem).forEach((key: string) => {\n actionCloneItem[key] = actionItem[key];\n });\n actionCloneItem.onClick = onActionItemClick;\n actionsClone.push(actionCloneItem);\n return actionItem;\n });\n }\n\n const onStepClick = (e: MouseEvent) => {\n e.stopPropagation();\n const actionParam: LifeCycleActionParam = {\n value,\n step: item,\n task: taskItem,\n category: categoryItem,\n stage: stageItem,\n type: 'Step'\n };\n onClick?.(actionParam, e);\n };\n\n return (\n <Flex\n id={id}\n ref={previewRef}\n data-testid={testIds.root}\n as={StyledStepWrapper}\n container={{ inline: true, alignItems: 'center' }}\n aria-current={selectedItemId === id ? 'step' : undefined}\n hasFocus={stepHasFocus && selectedItemId !== id}\n selected={selectedItemId === id}\n >\n <Flex\n as={StyledStep}\n container={{ inline: true, alignItems: 'start' }}\n item={{ grow: 1 }}\n onClick={onStepClick}\n >\n {dragEnabled && dragDropConfig[item.alternate ? 'alternate-step' : 'step'].enabled && (\n <DragHandle itemId={id} ref={dragRef} onClick={e => e.stopPropagation()} />\n )}\n {error && (\n <>\n <VisuallyHiddenText id={errorId}>{error}</VisuallyHiddenText>\n <StyledWarnIcon name='warn-solid' />\n </>\n )}\n <Flex\n as={StyledStepType}\n visual={visual}\n container={{ inline: true, alignItems: 'center', justify: 'center' }}\n >\n {visual?.label && visual?.imgSrc ? (\n <Avatar name={visual.label} imageSrc={visual.imgSrc} shape='squircle' size='m' />\n ) : (\n <IconTile\n name={visual?.name}\n category={visual?.category}\n label={visual?.label}\n inverted={visual?.inverted}\n />\n )}\n </Flex>\n\n <Flex\n as={StyledStepButtonWrapper}\n item={{ grow: 1 }}\n container={{ inline: true, alignItems: 'center', justify: 'between' }}\n id={stepButtonDescriptionId}\n >\n <StyledStepButton\n {...restProps}\n $wrap={wrap}\n onFocus={() => {\n setStepHasFocus(true);\n }}\n onBlur={() => {\n setStepHasFocus(false);\n }}\n aria-label={t('step_name', [value])}\n aria-describedby={error ? errorId : ''}\n ref={setStepButtonEl}\n >\n {value}\n </StyledStepButton>\n {stepButtonEl && (\n <Tooltip target={stepButtonEl} smart>\n {value}\n </Tooltip>\n )}\n {badge?.type && (\n <Flex as={StyledStepBadge} container={{ inline: true, alignItems: 'center' }}>\n <Status variant={badge?.type || 'success'}>{badge?.label}</Status>\n </Flex>\n )}\n </Flex>\n {actionsClone && (\n <Actions\n items={actionsClone}\n menuAt={2}\n iconOnly\n menuButtonProps={{ onClick: e => e.stopPropagation() }}\n contextualLabel={t('step_name', [value])}\n />\n )}\n </Flex>\n </Flex>\n );\n};\n\nexport default withTestIds(Step, getStepTestIds);\n"]}
|
|
1
|
+
{"version":3,"file":"Step.js","sourceRoot":"","sources":["../../../src/components/LifeCycle/Step.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useState, useContext } from 'react';\nimport type { FunctionComponent, PropsWithoutRef, MouseEvent, RefCallback } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport {\n Flex,\n defaultThemeProp,\n Icon,\n Status,\n Actions,\n useI18n,\n Avatar,\n useUID,\n useTestIds,\n VisuallyHiddenText,\n withTestIds,\n Tooltip,\n useElement\n} from '@pega/cosmos-react-core';\nimport type { BaseProps, ForwardProps, Action } from '@pega/cosmos-react-core';\nimport { DragHandle, StyledDragHandle } from '@pega/cosmos-react-dnd';\n\nimport IconTile from '../IconTile';\nimport type { IconTileProps } from '../IconTile/IconTile.types';\n\nimport { generateDynamicTestId } from './utils';\nimport type {\n TaskItemProps,\n StepItemProps,\n StageItemProps,\n CategoryItemProps,\n LifeCycleActionParam,\n StepProps\n} from './LifeCycle.types';\nimport LifeCycleContext from './LifeCycleContext';\nimport { getStepTestIds } from './LifeCycle.test-ids';\n\nconst borderRadius = 'border-radius';\ninterface CategoryLabelProp {\n categoryLabel?: string;\n}\nexport interface VisualStepItemProps extends Omit<IconTileProps, 'size'> {\n imgSrc: string;\n}\nexport interface StepComponentProps extends BaseProps, StepProps {\n /** Pass text for the step. */\n value: string;\n /** unique id of step */\n id: string;\n /** Determines the visual for icon, color and label to render.\n * This color is passed as a variant and accessible colors are used to display.\n * Icon and label are passed as normal string */\n visual: VisualStepItemProps;\n /** Determines the variant and label for the badges */\n badge?: StepItemProps['status'];\n /** The status is used to show the input error status and the info on tooltip in case of error */\n error?: string;\n /** Data of the steps which can be used to send the full info back */\n item: StepItemProps;\n stageItem: StageItemProps;\n taskItem: TaskItemProps;\n categoryItem: CategoryItemProps & CategoryLabelProp;\n dragRef?: RefCallback<HTMLElement>;\n previewRef?: RefCallback<HTMLElement>;\n}\n\nexport const StyledStepType = styled.div<Pick<StepComponentProps, 'visual'>>(\n ({ visual, theme }) => {\n return visual?.imgSrc\n ? css`\n height: 2rem;\n padding-inline-end: calc(0.25 * ${theme.base.spacing});\n `\n : css`\n margin: calc(0.5 * ${theme.base.spacing});\n border-radius: calc(0.25 * ${theme.base[borderRadius]});\n `;\n }\n);\n\nStyledStepType.defaultProps = defaultThemeProp;\n\nexport const StyledStepBadge = styled.div(({ theme }) => {\n return css`\n padding: 0 calc(0.5 * ${theme.base.spacing});\n justify-content: flex-end;\n width: auto;\n max-width: calc(50% - ${theme.base.spacing});\n\n > span {\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n }\n `;\n});\n\nStyledStepBadge.defaultProps = defaultThemeProp;\n\nexport const StyledStepWrapper = styled.li<{\n hasFocus: boolean;\n selected: boolean;\n}>(({ hasFocus, theme, selected }) => {\n return css`\n width: 100%;\n border: 0.125rem solid transparent;\n border-radius: calc(0.5 * ${theme.base[borderRadius]});\n\n &:not(:last-of-type) {\n margin: 0 0 calc(0.5 * ${theme.base.spacing});\n }\n\n ${hasFocus &&\n css`\n box-shadow: ${theme.base.shadow.focus};\n `}\n\n &:hover {\n cursor: pointer;\n }\n ${selected &&\n css`\n &[aria-current='step'] {\n border-color: ${theme.base.palette.interactive};\n }\n `}\n `;\n});\n\nStyledStepWrapper.defaultProps = defaultThemeProp;\n\nexport const StyledStep = styled.div(({ theme }) => {\n return css`\n background: ${theme.base.palette['secondary-background']};\n border: 0.125rem solid transparent;\n border-radius: calc(0.5 * ${theme.base[borderRadius]});\n\n &:hover {\n cursor: pointer;\n }\n\n ${StyledDragHandle} {\n margin-block: calc(0.5 * ${theme.base.spacing});\n }\n `;\n});\n\nStyledStep.defaultProps = defaultThemeProp;\n\nconst StyledStepButtonWrapper = styled.div<{ error: string }>(({ theme }) => {\n return css`\n border-radius: calc(0.5 * ${theme.base[borderRadius]});\n margin-inline: calc(0.5 * ${theme.base.spacing});\n `;\n});\n\nStyledStepButtonWrapper.defaultProps = defaultThemeProp;\n\nexport const StyledStepButton = styled.button<{ $wrap?: StepComponentProps['wrap'] }>(\n ({ theme, $wrap }) => {\n return css`\n border: none;\n height: ${theme.components.button.height};\n overflow: hidden;\n text-align: start;\n background: ${theme.base.palette['secondary-background']};\n color: ${theme.base.palette['foreground-color']};\n\n ${$wrap\n ? css`\n height: fit-content;\n line-height: 1.2;\n min-height: ${theme.components.button.height};\n word-break: break-word;\n padding-block: calc(0.5 * ${theme.base.spacing});\n padding-inline-end: calc(0.5 * ${theme.base.spacing});\n `\n : css`\n white-space: nowrap;\n text-overflow: ellipsis;\n `}\n\n &:hover {\n cursor: pointer;\n }\n\n &:focus {\n outline: none;\n }\n `;\n }\n);\n\nStyledStepButton.defaultProps = defaultThemeProp;\n\nexport const StyledWarnIcon = styled(Icon)(({ theme }) => {\n return css`\n color: ${theme.base.palette.urgent};\n margin: calc(0.5 * ${theme.base.spacing});\n height: 1.5rem;\n flex-shrink: 0;\n &:hover {\n cursor: pointer;\n }\n `;\n});\n\nStyledWarnIcon.defaultProps = defaultThemeProp;\n\nconst Step: FunctionComponent<StepComponentProps & ForwardProps> = ({\n value,\n id,\n visual,\n actions,\n badge,\n error,\n wrap,\n categoryItem,\n item,\n stageItem,\n taskItem,\n onClick,\n dragRef,\n previewRef,\n ...restProps\n}: PropsWithoutRef<StepComponentProps>) => {\n const t = useI18n();\n const { selectedItemId, dragDropConfig, dragEnabled } = useContext(LifeCycleContext);\n const [stepHasFocus, setStepHasFocus] = useState(false);\n const [stepButtonEl, setStepButtonEl] = useElement();\n const stepButtonDescriptionId: string = useUID();\n const errorId: string = useUID();\n // Deep copy of actions is required to provide consistent callback objects on actions\n const actionsClone: Action[] = [];\n\n const stepTestID = generateDynamicTestId([\n stageItem.label,\n categoryItem.categoryLabel,\n taskItem.label,\n value\n ]);\n const testIds = useTestIds(stepTestID, getStepTestIds);\n\n // Need to check the value with statusProps\n const onActionItemClick = (\n actionId: string,\n e: MouseEvent<HTMLInputElement | HTMLAnchorElement | HTMLButtonElement>,\n menuButtonEl?: HTMLButtonElement\n ) => {\n e.stopPropagation();\n const param: LifeCycleActionParam = {\n task: taskItem,\n stage: stageItem,\n step: item,\n category: categoryItem\n };\n actions?.forEach(actionItem => {\n if (actionItem.id === actionId) {\n actionItem.onClick(param, e, menuButtonEl);\n }\n });\n };\n\n if (actions) {\n actions.forEach(actionItem => {\n const actionCloneItem = {} as Action;\n Object.keys(actionItem).forEach((key: string) => {\n actionCloneItem[key] = actionItem[key];\n });\n actionCloneItem.onClick = onActionItemClick;\n actionsClone.push(actionCloneItem);\n return actionItem;\n });\n }\n\n const onStepClick = (e: MouseEvent) => {\n e.stopPropagation();\n const actionParam: LifeCycleActionParam = {\n value,\n step: item,\n task: taskItem,\n category: categoryItem,\n stage: stageItem,\n type: 'Step'\n };\n onClick?.(actionParam, e);\n };\n\n return (\n <Flex\n id={id}\n ref={previewRef}\n data-testid={testIds.root}\n as={StyledStepWrapper}\n container={{ inline: true, alignItems: 'center' }}\n aria-current={selectedItemId === id ? 'step' : undefined}\n hasFocus={stepHasFocus && selectedItemId !== id}\n selected={selectedItemId === id}\n >\n <Flex\n as={StyledStep}\n container={{ inline: true, alignItems: 'start' }}\n item={{ grow: 1 }}\n onClick={onStepClick}\n >\n {dragEnabled && dragDropConfig[item.alternate ? 'alternate-step' : 'step'].enabled && (\n <DragHandle itemId={id} ref={dragRef} onClick={e => e.stopPropagation()} />\n )}\n {error && (\n <>\n <VisuallyHiddenText id={errorId}>{error}</VisuallyHiddenText>\n <StyledWarnIcon name='warn-solid' />\n </>\n )}\n <Flex\n as={StyledStepType}\n visual={visual}\n container={{ inline: true, alignItems: 'center', justify: 'center' }}\n >\n {visual?.label && visual?.imgSrc ? (\n <Avatar name={visual.label} imageSrc={visual.imgSrc} shape='squircle' size='m' />\n ) : (\n <IconTile\n name={visual?.name}\n category={visual?.category}\n label={visual?.label}\n inverted={visual?.inverted}\n />\n )}\n </Flex>\n\n <Flex\n as={StyledStepButtonWrapper}\n item={{ grow: 1 }}\n container={{ inline: true, alignItems: 'center', justify: 'between' }}\n id={stepButtonDescriptionId}\n >\n <StyledStepButton\n {...restProps}\n $wrap={wrap}\n onFocus={() => {\n setStepHasFocus(true);\n }}\n onBlur={() => {\n setStepHasFocus(false);\n }}\n aria-label={t('step_name', [value])}\n aria-describedby={error ? errorId : ''}\n ref={setStepButtonEl}\n >\n {value}\n </StyledStepButton>\n {stepButtonEl && (\n <Tooltip target={stepButtonEl} smart>\n {value}\n </Tooltip>\n )}\n {badge?.type && (\n <Flex as={StyledStepBadge} container={{ inline: true, alignItems: 'center' }}>\n <Status variant={badge?.type || 'success'}>{badge?.label}</Status>\n </Flex>\n )}\n </Flex>\n {actionsClone && (\n <Actions\n items={actionsClone}\n menuAt={2}\n iconOnly\n menuButtonProps={{ onClick: e => e.stopPropagation() }}\n contextualLabel={t('step_name', [value])}\n />\n )}\n </Flex>\n </Flex>\n );\n};\n\nexport default withTestIds(Step, getStepTestIds);\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Task.d.ts","sourceRoot":"","sources":["../../../src/components/LifeCycle/Task.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAiC,WAAW,EAAE,MAAM,OAAO,CAAC;AAmB3F,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAU,MAAM,yBAAyB,CAAC;AAQ/E,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EACd,iBAAiB,EAEjB,SAAS,EACT,SAAS,EAEV,MAAM,mBAAmB,CAAC;AAK3B,UAAU,iBAAiB;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,kBAAmB,SAAQ,SAAS,EAAE,SAAS;IAC9D,8BAA8B;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,+DAA+D;IAC/D,MAAM,EAAE;QACN,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,qBAAqB;IACrB,IAAI,EAAE,aAAa,CAAC;IACpB,iGAAiG;IACjG,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iBAAiB;IACjB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,wCAAwC;IACxC,SAAS,EAAE,cAAc,CAAC;IAC1B,2CAA2C;IAC3C,YAAY,EAAE,iBAAiB,GAAG,iBAAiB,CAAC;IACpD,wBAAwB;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,+CAA+C;IAC/C,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,0BAA0B;IAC1B,OAAO,CAAC,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;IACnC,kDAAkD;IAClD,UAAU,CAAC,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;CACvC;AAED,eAAO,MAAM,cAAc,wGASzB,CAAC;AAIH,eAAO,MAAM,gBAAgB,4GAW5B,CAAC;AAIF,eAAO,MAAM,yBAAyB,oNASpC,CAAC;AAIH,eAAO,MAAM,mBAAmB,oNAAmB,CAAC;AAEpD,eAAO,MAAM,iBAAiB;eAA2B,OAAO;SAQ9D,CAAC;AAIH,eAAO,MAAM,gBAAgB,
|
|
1
|
+
{"version":3,"file":"Task.d.ts","sourceRoot":"","sources":["../../../src/components/LifeCycle/Task.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAiC,WAAW,EAAE,MAAM,OAAO,CAAC;AAmB3F,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAU,MAAM,yBAAyB,CAAC;AAQ/E,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EACd,iBAAiB,EAEjB,SAAS,EACT,SAAS,EAEV,MAAM,mBAAmB,CAAC;AAK3B,UAAU,iBAAiB;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,kBAAmB,SAAQ,SAAS,EAAE,SAAS;IAC9D,8BAA8B;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,+DAA+D;IAC/D,MAAM,EAAE;QACN,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,qBAAqB;IACrB,IAAI,EAAE,aAAa,CAAC;IACpB,iGAAiG;IACjG,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iBAAiB;IACjB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,wCAAwC;IACxC,SAAS,EAAE,cAAc,CAAC;IAC1B,2CAA2C;IAC3C,YAAY,EAAE,iBAAiB,GAAG,iBAAiB,CAAC;IACpD,wBAAwB;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,+CAA+C;IAC/C,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,0BAA0B;IAC1B,OAAO,CAAC,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;IACnC,kDAAkD;IAClD,UAAU,CAAC,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;CACvC;AAED,eAAO,MAAM,cAAc,wGASzB,CAAC;AAIH,eAAO,MAAM,gBAAgB,4GAW5B,CAAC;AAIF,eAAO,MAAM,yBAAyB,oNASpC,CAAC;AAIH,eAAO,MAAM,mBAAmB,oNAAmB,CAAC;AAEpD,eAAO,MAAM,iBAAiB;eAA2B,OAAO;SAQ9D,CAAC;AAIH,eAAO,MAAM,gBAAgB,4IA0B5B,CAAC;AAIF,eAAO,MAAM,UAAU;cACX,OAAO;eACN,OAAO;kBACJ,OAAO;SAmCrB,CAAC;AAIH,eAAO,MAAM,cAAc,0LAUzB,CAAC;;;;AAiQH,wBAAiD"}
|
|
@@ -52,7 +52,8 @@ export const StyledCardContent = styled.div(({ hasSteps, theme }) => {
|
|
|
52
52
|
StyledCardContent.defaultProps = defaultThemeProp;
|
|
53
53
|
export const StyledTaskButton = styled.button(({ theme, visual }) => {
|
|
54
54
|
return css `
|
|
55
|
-
|
|
55
|
+
color: ${theme.base.palette['foreground-color']};
|
|
56
|
+
background: none;
|
|
56
57
|
border: none;
|
|
57
58
|
height: ${theme.components.button.height};
|
|
58
59
|
overflow: hidden;
|
|
@@ -77,7 +78,8 @@ export const StyledTaskButton = styled.button(({ theme, visual }) => {
|
|
|
77
78
|
StyledTaskButton.defaultProps = defaultThemeProp;
|
|
78
79
|
export const StyledTask = styled.article(({ hasFocus, hasSteps, theme, dragEnabled }) => {
|
|
79
80
|
return css `
|
|
80
|
-
background: ${theme.
|
|
81
|
+
background-color: ${theme.components.lifecycle.task.background};
|
|
82
|
+
color: ${theme.components.lifecycle.task['foreground-color']};
|
|
81
83
|
border: 0.125rem solid transparent;
|
|
82
84
|
border-radius: calc(0.5 * ${theme.base['border-radius']});
|
|
83
85
|
padding: calc(${theme.base.spacing} - 0.125rem);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Task.js","sourceRoot":"","sources":["../../../src/components/LifeCycle/Task.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useState, useCallback, useContext } from 'react';\nimport type { FunctionComponent, PropsWithChildren, MouseEvent, RefCallback } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport {\n Flex,\n defaultThemeProp,\n Button,\n Icon,\n useElement,\n Actions,\n useI18n,\n Avatar,\n useTestIds,\n withTestIds,\n Text,\n Tooltip,\n StyledButton,\n StyledIcon\n} from '@pega/cosmos-react-core';\nimport type { BaseProps, ForwardProps, Action } from '@pega/cosmos-react-core';\nimport { DragHandle, StyledDragHandle } from '@pega/cosmos-react-dnd';\n\nimport { ItemLibrary } from '../ItemLibrary';\nimport type { LibraryItem } from '../ItemLibrary';\n\nimport { generateDynamicTestId } from './utils';\nimport Step, { type StepComponentProps } from './Step';\nimport type {\n TaskItemProps,\n StageItemProps,\n CategoryItemProps,\n LifeCycleActionParam,\n StepProps,\n TaskProps,\n StepItemProps\n} from './LifeCycle.types';\nimport LifeCycleContext from './LifeCycleContext';\nimport { getStepTestIds, getTaskTestIds } from './LifeCycle.test-ids';\nimport LifeCycleDragDropList from './LifeCycleDragDropList';\n\ninterface CategoryLabelProp {\n categoryLabel?: string;\n}\n\nexport interface TaskComponentProps extends BaseProps, TaskProps {\n /** Pass text for the task. */\n value: string;\n /** support for an Avatar, Icon, or other supporting visual. */\n visual: {\n imgSrc: string;\n };\n /** Pass task data */\n item: TaskItemProps;\n /** The status is used to show the input error status and the info on tooltip in case of error */\n error?: string;\n /** Step Props */\n step?: StepProps;\n /** Stage data to pass it as callback */\n stageItem: StageItemProps;\n /** Category data to pass it as callback */\n categoryItem: CategoryItemProps & CategoryLabelProp;\n /** unique id of task */\n id: string;\n /** Drag handle component passed from parent */\n dragEnabled?: boolean;\n /** Ref for drag handle */\n dragRef?: RefCallback<HTMLElement>;\n /** Preview ref for drag and drop functionality */\n previewRef?: RefCallback<HTMLElement>;\n}\n\nexport const StyledTaskList = styled.li(({ theme }) => {\n return css`\n list-style-type: none;\n margin-block-end: ${theme.base.spacing};\n\n &:last-child > article {\n margin-block-end: 0;\n }\n `;\n});\n\nStyledTaskList.defaultProps = defaultThemeProp;\n\nexport const StyledCardHeader = styled.header(\n ({\n theme: {\n base: { spacing }\n }\n }) => {\n return css`\n padding: 0 calc(0.25 * ${spacing});\n margin: calc(0.25 * ${spacing});\n `;\n }\n);\n\nStyledCardHeader.defaultProps = defaultThemeProp;\n\nexport const StyledAddCustomStepButton = styled(Button)(({ theme }) => {\n return css`\n height: ${theme.components.button.height};\n margin-inline-start: calc(0.5 * ${theme.base.spacing});\n\n ${StyledIcon} {\n margin-inline-end: ${theme.base.spacing};\n }\n `;\n});\n\nStyledAddCustomStepButton.defaultProps = defaultThemeProp;\n\nexport const StyledAddStepButton = styled(Button)``;\n\nexport const StyledCardContent = styled.div<{ hasSteps?: boolean }>(({ hasSteps, theme }) => {\n if (!hasSteps) return;\n\n return css`\n & > ${StyledButton}, & > ${StyledAddCustomStepButton} {\n margin-block-start: calc(0.5 * ${theme.base.spacing});\n }\n `;\n});\n\nStyledCardContent.defaultProps = defaultThemeProp;\n\nexport const StyledTaskButton = styled.button<Pick<TaskComponentProps, 'visual'>>(\n ({ theme, visual }) => {\n return css`\n background: ${theme.base.palette['primary-background']};\n border: none;\n height: ${theme.components.button.height};\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n text-align: start;\n\n ${visual.imgSrc &&\n css`\n padding-inline-start: calc(0.5 * ${theme.base.spacing});\n `}\n\n &:hover {\n cursor: pointer;\n }\n\n &:focus {\n outline: none;\n }\n `;\n }\n);\n\nStyledTaskButton.defaultProps = defaultThemeProp;\n\nexport const StyledTask = styled.article<{\n hasFocus: boolean;\n hasSteps?: boolean;\n dragEnabled?: boolean;\n}>(({ hasFocus, hasSteps, theme, dragEnabled }) => {\n return css`\n background: ${theme.base.palette['primary-background']};\n border: 0.125rem solid transparent;\n border-radius: calc(0.5 * ${theme.base['border-radius']});\n padding: calc(${theme.base.spacing} - 0.125rem);\n\n ${hasFocus &&\n css`\n box-shadow: ${theme.base.shadow.focus};\n `}\n\n &:hover {\n cursor: pointer;\n }\n\n &[aria-current='true'] {\n border-color: ${theme.base.palette.interactive};\n }\n\n ${hasSteps &&\n !dragEnabled &&\n css`\n ${StyledAddCustomStepButton} ,${StyledAddStepButton} {\n margin-block-start: calc(0.5 * ${theme.base.spacing});\n }\n `}\n\n ${StyledDragHandle} {\n margin-inline-start: calc(0.5 * ${theme.base.spacing});\n margin-block: calc(0.5 * ${theme.base.spacing});\n }\n `;\n});\n\nStyledTask.defaultProps = defaultThemeProp;\n\nexport const StyledWarnIcon = styled(Icon)(({ theme }) => {\n return css`\n color: ${theme.base.palette.urgent};\n margin-inline-start: calc(0.5 * ${theme.base.spacing});\n margin-inline-end: ${theme.base.spacing};\n\n &:hover {\n cursor: pointer;\n }\n `;\n});\n\nStyledWarnIcon.defaultProps = defaultThemeProp;\n\nconst Task: FunctionComponent<TaskComponentProps & ForwardProps> = ({\n value,\n visual,\n actions,\n item,\n addStepTitle,\n addTask,\n stageItem,\n error,\n onAddStep,\n onAddCustomStep,\n onClick,\n categoryItem,\n id,\n step: stepProp,\n nodeLibrary,\n dragEnabled,\n dragRef,\n previewRef,\n ...restProps\n}: PropsWithChildren<TaskComponentProps>) => {\n const t = useI18n();\n const { selectedItemId, readOnly, onDragDrop } = useContext(LifeCycleContext);\n const [taskHasFocus, setTaskHasFocus] = useState(false);\n const [taskButtonEl, setTaskButtonEl] = useElement();\n const [addEl, setAddEl] = useElement<HTMLButtonElement>(null);\n\n const taskTestID = generateDynamicTestId([stageItem.label, categoryItem.categoryLabel, value]);\n const testIds = useTestIds(taskTestID, getTaskTestIds);\n const stepTestIds = useTestIds(taskTestID, getStepTestIds);\n const dragId = item.id;\n\n const onActionItemClick = (\n actionId: string,\n e: MouseEvent<HTMLInputElement | HTMLAnchorElement | HTMLButtonElement>\n ) => {\n const param: LifeCycleActionParam = {\n task: item,\n stage: stageItem,\n category: categoryItem\n };\n actions?.forEach(actionItem => {\n if (actionItem.id === actionId) {\n actionItem.onClick(param, e);\n }\n });\n };\n // Deep copy of actions is required to provide consistent callback objects on actions\n const actionsClone: Action[] = [];\n\n if (actions) {\n actions.forEach(actionItem => {\n const actionCloneItem = {} as Action;\n Object.keys(actionItem).forEach((key: string) => {\n actionCloneItem[key] = actionItem[key];\n });\n actionCloneItem.onClick = onActionItemClick;\n actionsClone.push({\n ...actionCloneItem,\n 'data-testid': testIds.actionButton\n });\n return actionItem;\n });\n }\n\n const onTaskClick = (e: MouseEvent) => {\n const actionParam: LifeCycleActionParam = {\n value,\n task: item,\n stage: stageItem,\n category: categoryItem,\n type: 'Task'\n };\n onClick?.(actionParam, e);\n };\n\n const onLibraryItemSelect = useCallback(\n (libItem: LibraryItem) => {\n const param: LifeCycleActionParam = {\n task: item,\n stage: stageItem,\n category: categoryItem\n };\n onAddStep?.(param, libItem);\n },\n [onAddStep]\n );\n\n const isEmpty = (readOnly || (!readOnly && !addStepTitle)) && !item?.steps?.length && !value;\n\n const getStepProps = useCallback(\n (step: StepItemProps, stepIndex: number): StepComponentProps => {\n return {\n id: step.id,\n value: step.label,\n visual: {\n imgSrc: step.visual.imgSrc,\n name: step.visual.name,\n label: step.visual.label,\n category: step.visual.category,\n inverted: step.visual.inverted\n },\n item: { ...step, index: stepIndex, alternate: item.alternate },\n taskItem: item,\n stageItem,\n badge: {\n type: step?.status?.type ?? '',\n label: step?.status?.label ?? ''\n },\n error: step.error,\n categoryItem\n };\n },\n [categoryItem, item, stageItem]\n );\n\n const addStepRegion = (\n <>\n {!readOnly && addStepTitle && nodeLibrary && (\n <>\n <Button\n as={StyledAddStepButton}\n data-testid={stepTestIds.addButton}\n variant='simple'\n label={t('add_noun', [addStepTitle])}\n onClick={(e: MouseEvent<HTMLButtonElement>) => setAddEl(e.currentTarget)}\n icon\n >\n <Icon name='plus' />\n </Button>\n {addEl && (\n <ItemLibrary\n items={nodeLibrary}\n target={addEl}\n onClick={onLibraryItemSelect}\n onDismiss={() => setAddEl(null)}\n placeholder={t('search_placeholder_default')}\n />\n )}\n </>\n )}\n {!readOnly && addStepTitle && !nodeLibrary && onAddCustomStep && (\n <Button\n as={StyledAddCustomStepButton}\n data-testid={stepTestIds.addButton}\n variant='link'\n onClick={() => {\n const param: LifeCycleActionParam = {\n task: item,\n stage: stageItem,\n category: categoryItem\n };\n onAddCustomStep(param);\n }}\n >\n <Icon name='plus' />\n {t('add_noun', [addStepTitle])}\n </Button>\n )}\n </>\n );\n\n return (\n <StyledTaskList data-testid={testIds.root} {...restProps} id={item.id} ref={previewRef}>\n {isEmpty ? (\n <Flex container={{ justify: 'center', pad: 1 }}>\n <Text variant='secondary'>No Steps</Text>\n </Flex>\n ) : (\n <Flex\n as={StyledTask}\n aria-current={selectedItemId === id ? 'true' : undefined}\n container={{ direction: 'column' }}\n hasFocus={taskHasFocus && selectedItemId !== id}\n hasSteps={!!item?.steps?.length}\n dragEnabled={dragEnabled}\n >\n {!!value && (\n <Flex as={StyledCardHeader} container={{ inline: true, alignItems: 'center' }}>\n {dragEnabled && (\n <DragHandle itemId={dragId} ref={dragRef} onClick={e => e.stopPropagation()} />\n )}\n {visual?.imgSrc?.length > 0 && <Avatar name={value} imageSrc={visual?.imgSrc} />}\n {error && <StyledWarnIcon name='warn-solid' />}\n <Flex\n item={{ grow: 1 }}\n container={{ inline: true, alignItems: 'center' }}\n onClick={onTaskClick}\n >\n <StyledTaskButton\n onFocus={() => {\n setTaskHasFocus(true);\n }}\n onBlur={() => {\n setTaskHasFocus(false);\n }}\n aria-label={t(error ? 'process_name_error' : 'process_name', [value])}\n visual={visual}\n ref={setTaskButtonEl}\n >\n {value}\n </StyledTaskButton>\n {taskButtonEl && (\n <Tooltip target={taskButtonEl} smart>\n {value}\n </Tooltip>\n )}\n </Flex>\n {actionsClone && (\n <Actions\n items={actionsClone}\n menuAt={2}\n iconOnly\n contextualLabel={t('process_name', [value])}\n />\n )}\n </Flex>\n )}\n <StyledCardContent hasSteps={!!item?.steps?.length} as={dragEnabled ? 'div' : 'ul'}>\n {dragEnabled ? (\n <LifeCycleDragDropList\n type={stageItem.alternate ? 'alternate-step' : 'step'}\n listLocation={{\n alternate: !!stageItem.alternate,\n stage: stageItem.index,\n category: categoryItem.index,\n task: item.index,\n subTask: item.subIndex\n }}\n items={item?.steps?.map((step, stepIndex) => ({\n id: step.id,\n type: stageItem.alternate ? 'alternate-step' : 'step',\n data: { ...stepProp, ...getStepProps(step, stepIndex) }\n }))}\n itemRenderer={Step}\n onDragDrop={onDragDrop}\n additionalDropZone={addStepRegion}\n />\n ) : (\n <>\n {item?.steps?.map((step, stepIndex) => (\n <Step {...stepProp} key={step.id} {...getStepProps(step, stepIndex)} />\n ))}\n </>\n )}\n </StyledCardContent>\n {!dragEnabled && <div>{addStepRegion}</div>}\n </Flex>\n )}\n </StyledTaskList>\n );\n};\n\nexport default withTestIds(Task, getTaskTestIds);\n"]}
|
|
1
|
+
{"version":3,"file":"Task.js","sourceRoot":"","sources":["../../../src/components/LifeCycle/Task.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useState, useCallback, useContext } from 'react';\nimport type { FunctionComponent, PropsWithChildren, MouseEvent, RefCallback } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport {\n Flex,\n defaultThemeProp,\n Button,\n Icon,\n useElement,\n Actions,\n useI18n,\n Avatar,\n useTestIds,\n withTestIds,\n Text,\n Tooltip,\n StyledButton,\n StyledIcon\n} from '@pega/cosmos-react-core';\nimport type { BaseProps, ForwardProps, Action } from '@pega/cosmos-react-core';\nimport { DragHandle, StyledDragHandle } from '@pega/cosmos-react-dnd';\n\nimport { ItemLibrary } from '../ItemLibrary';\nimport type { LibraryItem } from '../ItemLibrary';\n\nimport { generateDynamicTestId } from './utils';\nimport Step, { type StepComponentProps } from './Step';\nimport type {\n TaskItemProps,\n StageItemProps,\n CategoryItemProps,\n LifeCycleActionParam,\n StepProps,\n TaskProps,\n StepItemProps\n} from './LifeCycle.types';\nimport LifeCycleContext from './LifeCycleContext';\nimport { getStepTestIds, getTaskTestIds } from './LifeCycle.test-ids';\nimport LifeCycleDragDropList from './LifeCycleDragDropList';\n\ninterface CategoryLabelProp {\n categoryLabel?: string;\n}\n\nexport interface TaskComponentProps extends BaseProps, TaskProps {\n /** Pass text for the task. */\n value: string;\n /** support for an Avatar, Icon, or other supporting visual. */\n visual: {\n imgSrc: string;\n };\n /** Pass task data */\n item: TaskItemProps;\n /** The status is used to show the input error status and the info on tooltip in case of error */\n error?: string;\n /** Step Props */\n step?: StepProps;\n /** Stage data to pass it as callback */\n stageItem: StageItemProps;\n /** Category data to pass it as callback */\n categoryItem: CategoryItemProps & CategoryLabelProp;\n /** unique id of task */\n id: string;\n /** Drag handle component passed from parent */\n dragEnabled?: boolean;\n /** Ref for drag handle */\n dragRef?: RefCallback<HTMLElement>;\n /** Preview ref for drag and drop functionality */\n previewRef?: RefCallback<HTMLElement>;\n}\n\nexport const StyledTaskList = styled.li(({ theme }) => {\n return css`\n list-style-type: none;\n margin-block-end: ${theme.base.spacing};\n\n &:last-child > article {\n margin-block-end: 0;\n }\n `;\n});\n\nStyledTaskList.defaultProps = defaultThemeProp;\n\nexport const StyledCardHeader = styled.header(\n ({\n theme: {\n base: { spacing }\n }\n }) => {\n return css`\n padding: 0 calc(0.25 * ${spacing});\n margin: calc(0.25 * ${spacing});\n `;\n }\n);\n\nStyledCardHeader.defaultProps = defaultThemeProp;\n\nexport const StyledAddCustomStepButton = styled(Button)(({ theme }) => {\n return css`\n height: ${theme.components.button.height};\n margin-inline-start: calc(0.5 * ${theme.base.spacing});\n\n ${StyledIcon} {\n margin-inline-end: ${theme.base.spacing};\n }\n `;\n});\n\nStyledAddCustomStepButton.defaultProps = defaultThemeProp;\n\nexport const StyledAddStepButton = styled(Button)``;\n\nexport const StyledCardContent = styled.div<{ hasSteps?: boolean }>(({ hasSteps, theme }) => {\n if (!hasSteps) return;\n\n return css`\n & > ${StyledButton}, & > ${StyledAddCustomStepButton} {\n margin-block-start: calc(0.5 * ${theme.base.spacing});\n }\n `;\n});\n\nStyledCardContent.defaultProps = defaultThemeProp;\n\nexport const StyledTaskButton = styled.button<Pick<TaskComponentProps, 'visual'>>(\n ({ theme, visual }) => {\n return css`\n color: ${theme.base.palette['foreground-color']};\n background: none;\n border: none;\n height: ${theme.components.button.height};\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n text-align: start;\n\n ${visual.imgSrc &&\n css`\n padding-inline-start: calc(0.5 * ${theme.base.spacing});\n `}\n\n &:hover {\n cursor: pointer;\n }\n\n &:focus {\n outline: none;\n }\n `;\n }\n);\n\nStyledTaskButton.defaultProps = defaultThemeProp;\n\nexport const StyledTask = styled.article<{\n hasFocus: boolean;\n hasSteps?: boolean;\n dragEnabled?: boolean;\n}>(({ hasFocus, hasSteps, theme, dragEnabled }) => {\n return css`\n background-color: ${theme.components.lifecycle.task.background};\n color: ${theme.components.lifecycle.task['foreground-color']};\n border: 0.125rem solid transparent;\n border-radius: calc(0.5 * ${theme.base['border-radius']});\n padding: calc(${theme.base.spacing} - 0.125rem);\n\n ${hasFocus &&\n css`\n box-shadow: ${theme.base.shadow.focus};\n `}\n\n &:hover {\n cursor: pointer;\n }\n\n &[aria-current='true'] {\n border-color: ${theme.base.palette.interactive};\n }\n\n ${hasSteps &&\n !dragEnabled &&\n css`\n ${StyledAddCustomStepButton} ,${StyledAddStepButton} {\n margin-block-start: calc(0.5 * ${theme.base.spacing});\n }\n `}\n\n ${StyledDragHandle} {\n margin-inline-start: calc(0.5 * ${theme.base.spacing});\n margin-block: calc(0.5 * ${theme.base.spacing});\n }\n `;\n});\n\nStyledTask.defaultProps = defaultThemeProp;\n\nexport const StyledWarnIcon = styled(Icon)(({ theme }) => {\n return css`\n color: ${theme.base.palette.urgent};\n margin-inline-start: calc(0.5 * ${theme.base.spacing});\n margin-inline-end: ${theme.base.spacing};\n\n &:hover {\n cursor: pointer;\n }\n `;\n});\n\nStyledWarnIcon.defaultProps = defaultThemeProp;\n\nconst Task: FunctionComponent<TaskComponentProps & ForwardProps> = ({\n value,\n visual,\n actions,\n item,\n addStepTitle,\n addTask,\n stageItem,\n error,\n onAddStep,\n onAddCustomStep,\n onClick,\n categoryItem,\n id,\n step: stepProp,\n nodeLibrary,\n dragEnabled,\n dragRef,\n previewRef,\n ...restProps\n}: PropsWithChildren<TaskComponentProps>) => {\n const t = useI18n();\n const { selectedItemId, readOnly, onDragDrop } = useContext(LifeCycleContext);\n const [taskHasFocus, setTaskHasFocus] = useState(false);\n const [taskButtonEl, setTaskButtonEl] = useElement();\n const [addEl, setAddEl] = useElement<HTMLButtonElement>(null);\n\n const taskTestID = generateDynamicTestId([stageItem.label, categoryItem.categoryLabel, value]);\n const testIds = useTestIds(taskTestID, getTaskTestIds);\n const stepTestIds = useTestIds(taskTestID, getStepTestIds);\n const dragId = item.id;\n\n const onActionItemClick = (\n actionId: string,\n e: MouseEvent<HTMLInputElement | HTMLAnchorElement | HTMLButtonElement>\n ) => {\n const param: LifeCycleActionParam = {\n task: item,\n stage: stageItem,\n category: categoryItem\n };\n actions?.forEach(actionItem => {\n if (actionItem.id === actionId) {\n actionItem.onClick(param, e);\n }\n });\n };\n // Deep copy of actions is required to provide consistent callback objects on actions\n const actionsClone: Action[] = [];\n\n if (actions) {\n actions.forEach(actionItem => {\n const actionCloneItem = {} as Action;\n Object.keys(actionItem).forEach((key: string) => {\n actionCloneItem[key] = actionItem[key];\n });\n actionCloneItem.onClick = onActionItemClick;\n actionsClone.push({\n ...actionCloneItem,\n 'data-testid': testIds.actionButton\n });\n return actionItem;\n });\n }\n\n const onTaskClick = (e: MouseEvent) => {\n const actionParam: LifeCycleActionParam = {\n value,\n task: item,\n stage: stageItem,\n category: categoryItem,\n type: 'Task'\n };\n onClick?.(actionParam, e);\n };\n\n const onLibraryItemSelect = useCallback(\n (libItem: LibraryItem) => {\n const param: LifeCycleActionParam = {\n task: item,\n stage: stageItem,\n category: categoryItem\n };\n onAddStep?.(param, libItem);\n },\n [onAddStep]\n );\n\n const isEmpty = (readOnly || (!readOnly && !addStepTitle)) && !item?.steps?.length && !value;\n\n const getStepProps = useCallback(\n (step: StepItemProps, stepIndex: number): StepComponentProps => {\n return {\n id: step.id,\n value: step.label,\n visual: {\n imgSrc: step.visual.imgSrc,\n name: step.visual.name,\n label: step.visual.label,\n category: step.visual.category,\n inverted: step.visual.inverted\n },\n item: { ...step, index: stepIndex, alternate: item.alternate },\n taskItem: item,\n stageItem,\n badge: {\n type: step?.status?.type ?? '',\n label: step?.status?.label ?? ''\n },\n error: step.error,\n categoryItem\n };\n },\n [categoryItem, item, stageItem]\n );\n\n const addStepRegion = (\n <>\n {!readOnly && addStepTitle && nodeLibrary && (\n <>\n <Button\n as={StyledAddStepButton}\n data-testid={stepTestIds.addButton}\n variant='simple'\n label={t('add_noun', [addStepTitle])}\n onClick={(e: MouseEvent<HTMLButtonElement>) => setAddEl(e.currentTarget)}\n icon\n >\n <Icon name='plus' />\n </Button>\n {addEl && (\n <ItemLibrary\n items={nodeLibrary}\n target={addEl}\n onClick={onLibraryItemSelect}\n onDismiss={() => setAddEl(null)}\n placeholder={t('search_placeholder_default')}\n />\n )}\n </>\n )}\n {!readOnly && addStepTitle && !nodeLibrary && onAddCustomStep && (\n <Button\n as={StyledAddCustomStepButton}\n data-testid={stepTestIds.addButton}\n variant='link'\n onClick={() => {\n const param: LifeCycleActionParam = {\n task: item,\n stage: stageItem,\n category: categoryItem\n };\n onAddCustomStep(param);\n }}\n >\n <Icon name='plus' />\n {t('add_noun', [addStepTitle])}\n </Button>\n )}\n </>\n );\n\n return (\n <StyledTaskList data-testid={testIds.root} {...restProps} id={item.id} ref={previewRef}>\n {isEmpty ? (\n <Flex container={{ justify: 'center', pad: 1 }}>\n <Text variant='secondary'>No Steps</Text>\n </Flex>\n ) : (\n <Flex\n as={StyledTask}\n aria-current={selectedItemId === id ? 'true' : undefined}\n container={{ direction: 'column' }}\n hasFocus={taskHasFocus && selectedItemId !== id}\n hasSteps={!!item?.steps?.length}\n dragEnabled={dragEnabled}\n >\n {!!value && (\n <Flex as={StyledCardHeader} container={{ inline: true, alignItems: 'center' }}>\n {dragEnabled && (\n <DragHandle itemId={dragId} ref={dragRef} onClick={e => e.stopPropagation()} />\n )}\n {visual?.imgSrc?.length > 0 && <Avatar name={value} imageSrc={visual?.imgSrc} />}\n {error && <StyledWarnIcon name='warn-solid' />}\n <Flex\n item={{ grow: 1 }}\n container={{ inline: true, alignItems: 'center' }}\n onClick={onTaskClick}\n >\n <StyledTaskButton\n onFocus={() => {\n setTaskHasFocus(true);\n }}\n onBlur={() => {\n setTaskHasFocus(false);\n }}\n aria-label={t(error ? 'process_name_error' : 'process_name', [value])}\n visual={visual}\n ref={setTaskButtonEl}\n >\n {value}\n </StyledTaskButton>\n {taskButtonEl && (\n <Tooltip target={taskButtonEl} smart>\n {value}\n </Tooltip>\n )}\n </Flex>\n {actionsClone && (\n <Actions\n items={actionsClone}\n menuAt={2}\n iconOnly\n contextualLabel={t('process_name', [value])}\n />\n )}\n </Flex>\n )}\n <StyledCardContent hasSteps={!!item?.steps?.length} as={dragEnabled ? 'div' : 'ul'}>\n {dragEnabled ? (\n <LifeCycleDragDropList\n type={stageItem.alternate ? 'alternate-step' : 'step'}\n listLocation={{\n alternate: !!stageItem.alternate,\n stage: stageItem.index,\n category: categoryItem.index,\n task: item.index,\n subTask: item.subIndex\n }}\n items={item?.steps?.map((step, stepIndex) => ({\n id: step.id,\n type: stageItem.alternate ? 'alternate-step' : 'step',\n data: { ...stepProp, ...getStepProps(step, stepIndex) }\n }))}\n itemRenderer={Step}\n onDragDrop={onDragDrop}\n additionalDropZone={addStepRegion}\n />\n ) : (\n <>\n {item?.steps?.map((step, stepIndex) => (\n <Step {...stepProp} key={step.id} {...getStepProps(step, stepIndex)} />\n ))}\n </>\n )}\n </StyledCardContent>\n {!dragEnabled && <div>{addStepRegion}</div>}\n </Flex>\n )}\n </StyledTaskList>\n );\n};\n\nexport default withTestIds(Task, getTaskTestIds);\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pega/cosmos-react-build",
|
|
3
|
-
"version": "9.0.0-build.6.
|
|
3
|
+
"version": "9.0.0-build.6.5",
|
|
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.6.
|
|
18
|
-
"@pega/cosmos-react-dnd": "9.0.0-build.6.
|
|
19
|
-
"@pega/cosmos-react-rte": "9.0.0-build.6.
|
|
17
|
+
"@pega/cosmos-react-core": "9.0.0-build.6.5",
|
|
18
|
+
"@pega/cosmos-react-dnd": "9.0.0-build.6.5",
|
|
19
|
+
"@pega/cosmos-react-rte": "9.0.0-build.6.5",
|
|
20
20
|
"@types/codemirror": "^5.60.15",
|
|
21
21
|
"@types/dagre": "^0.7.46",
|
|
22
22
|
"@types/react": "^17.0.62 || ^18.3.3",
|