@strapi/review-workflows 5.29.0 → 5.30.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/dist/admin/components/LimitsModal.js.map +1 -1
  2. package/dist/admin/components/LimitsModal.mjs.map +1 -1
  3. package/dist/admin/components/Widgets.js.map +1 -1
  4. package/dist/admin/components/Widgets.mjs.map +1 -1
  5. package/dist/admin/index.js.map +1 -1
  6. package/dist/admin/index.mjs.map +1 -1
  7. package/dist/admin/routes/settings/components/Stages.js.map +1 -1
  8. package/dist/admin/routes/settings/components/Stages.mjs.map +1 -1
  9. package/dist/admin/routes/settings/components/WorkflowAttributes.js +1 -1
  10. package/dist/admin/routes/settings/components/WorkflowAttributes.js.map +1 -1
  11. package/dist/admin/routes/settings/components/WorkflowAttributes.mjs +1 -1
  12. package/dist/admin/routes/settings/components/WorkflowAttributes.mjs.map +1 -1
  13. package/dist/admin/routes/settings/id.js +9 -2
  14. package/dist/admin/routes/settings/id.js.map +1 -1
  15. package/dist/admin/routes/settings/id.mjs +10 -3
  16. package/dist/admin/routes/settings/id.mjs.map +1 -1
  17. package/dist/admin/routes/settings/index.js +1 -0
  18. package/dist/admin/routes/settings/index.js.map +1 -1
  19. package/dist/admin/routes/settings/index.mjs +1 -0
  20. package/dist/admin/routes/settings/index.mjs.map +1 -1
  21. package/dist/admin/services/content-manager.js.map +1 -1
  22. package/dist/admin/services/content-manager.mjs.map +1 -1
  23. package/dist/admin/services/settings.js.map +1 -1
  24. package/dist/admin/services/settings.mjs.map +1 -1
  25. package/dist/admin/src/services/admin.d.ts +1 -1
  26. package/dist/admin/src/services/api.d.ts +1 -1
  27. package/dist/admin/src/services/content-manager.d.ts +4 -4
  28. package/dist/admin/src/services/settings.d.ts +3 -3
  29. package/dist/admin/utils/translations.js.map +1 -1
  30. package/dist/admin/utils/translations.mjs.map +1 -1
  31. package/dist/admin/utils/users.js.map +1 -1
  32. package/dist/admin/utils/users.mjs.map +1 -1
  33. package/dist/server/migrations/shorten-stage-attribute.js.map +1 -1
  34. package/dist/server/migrations/shorten-stage-attribute.mjs.map +1 -1
  35. package/dist/server/services/metrics/weekly-metrics.js.map +1 -1
  36. package/dist/server/services/metrics/weekly-metrics.mjs.map +1 -1
  37. package/dist/server/services/stage-permissions.js.map +1 -1
  38. package/dist/server/services/stage-permissions.mjs.map +1 -1
  39. package/dist/server/services/stages.js.map +1 -1
  40. package/dist/server/services/stages.mjs.map +1 -1
  41. package/dist/server/utils/index.js.map +1 -1
  42. package/dist/server/utils/index.mjs.map +1 -1
  43. package/package.json +5 -5
@@ -1 +1 @@
1
- {"version":3,"file":"LimitsModal.js","sources":["../../../admin/src/components/LimitsModal.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Box, Flex, IconButton, Modal, Typography, LinkButton } from '@strapi/design-system';\nimport { Cross } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport balloonImageSrc from '../assets/balloon.png';\n\nconst CTA_LEARN_MORE_HREF = 'https://strapi.io/pricing-cloud';\nconst CTA_SALES_HREF = 'https://strapi.io/contact-sales';\n\nconst Title: React.FC<React.PropsWithChildren> = ({ children }) => {\n return <Modal.Title variant=\"alpha\">{children}</Modal.Title>;\n};\n\nconst Body: React.FC<React.PropsWithChildren> = ({ children }) => {\n return <Typography variant=\"omega\">{children}</Typography>;\n};\n\nconst CallToActions = () => {\n const { formatMessage } = useIntl();\n\n return (\n <Flex gap={2} paddingTop={4}>\n <LinkButton variant=\"default\" isExternal href={CTA_LEARN_MORE_HREF}>\n {formatMessage({\n id: 'Settings.review-workflows.limit.cta.learn',\n defaultMessage: 'Learn more',\n })}\n </LinkButton>\n\n <LinkButton variant=\"tertiary\" isExternal href={CTA_SALES_HREF}>\n {formatMessage({\n id: 'Settings.review-workflows.limit.cta.sales',\n defaultMessage: 'Contact Sales',\n })}\n </LinkButton>\n </Flex>\n );\n};\n\nconst BalloonImage = styled.img`\n // Margin top|right reverse the padding of ModalBody\n margin-right: ${({ theme }) => `-${theme.spaces[7]}`};\n margin-top: ${({ theme }) => `-${theme.spaces[7]}`};\n width: 360px;\n`;\n\nexport type LimitsModalProps = Pick<Modal.Props, 'open' | 'onOpenChange'>;\n\nconst Root: React.FC<React.PropsWithChildren<LimitsModalProps>> = ({\n children,\n open = false,\n onOpenChange,\n}) => {\n const { formatMessage } = useIntl();\n\n return (\n <Modal.Root open={open} onOpenChange={onOpenChange}>\n <Modal.Content>\n <Modal.Body>\n <Flex gap={2} paddingLeft={7} position=\"relative\">\n <Flex alignItems=\"start\" direction=\"column\" gap={2} width=\"60%\">\n {children}\n\n <CallToActions />\n </Flex>\n\n <Flex justifyContent=\"end\" height=\"100%\" width=\"40%\">\n <BalloonImage src={balloonImageSrc} aria-hidden alt=\"\" loading=\"lazy\" />\n\n <Box display=\"flex\" position=\"absolute\" right={0} top={0}>\n <Modal.Close>\n <IconButton\n withTooltip={false}\n label={formatMessage({\n id: 'global.close',\n defaultMessage: 'Close',\n })}\n >\n <Cross />\n </IconButton>\n </Modal.Close>\n </Box>\n </Flex>\n </Flex>\n </Modal.Body>\n </Modal.Content>\n </Modal.Root>\n );\n};\n\nconst LimitsModal = {\n Title,\n Body,\n Root,\n};\n\nexport { LimitsModal };\n"],"names":["CTA_LEARN_MORE_HREF","CTA_SALES_HREF","Title","children","_jsx","Modal","variant","Body","Typography","CallToActions","formatMessage","useIntl","_jsxs","Flex","gap","paddingTop","LinkButton","isExternal","href","id","defaultMessage","BalloonImage","styled","img","theme","spaces","Root","open","onOpenChange","Content","paddingLeft","position","alignItems","direction","width","justifyContent","height","src","balloonImageSrc","aria-hidden","alt","loading","Box","display","right","top","Close","IconButton","withTooltip","label","Cross","LimitsModal"],"mappings":";;;;;;;;;;AASA,MAAMA,mBAAsB,GAAA,iCAAA;AAC5B,MAAMC,cAAiB,GAAA,iCAAA;AAEvB,MAAMC,KAA2C,GAAA,CAAC,EAAEC,QAAQ,EAAE,GAAA;IAC5D,qBAAOC,cAAA,CAACC,mBAAMH,KAAK,EAAA;QAACI,OAAQ,EAAA,OAAA;AAASH,QAAAA,QAAAA,EAAAA;;AACvC,CAAA;AAEA,MAAMI,IAA0C,GAAA,CAAC,EAAEJ,QAAQ,EAAE,GAAA;AAC3D,IAAA,qBAAOC,cAACI,CAAAA,uBAAAA,EAAAA;QAAWF,OAAQ,EAAA,OAAA;AAASH,QAAAA,QAAAA,EAAAA;;AACtC,CAAA;AAEA,MAAMM,aAAgB,GAAA,IAAA;IACpB,MAAM,EAAEC,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;AAE1B,IAAA,qBACEC,eAACC,CAAAA,iBAAAA,EAAAA;QAAKC,GAAK,EAAA,CAAA;QAAGC,UAAY,EAAA,CAAA;;0BACxBX,cAACY,CAAAA,uBAAAA,EAAAA;gBAAWV,OAAQ,EAAA,SAAA;gBAAUW,UAAU,EAAA,IAAA;gBAACC,IAAMlB,EAAAA,mBAAAA;0BAC5CU,aAAc,CAAA;oBACbS,EAAI,EAAA,2CAAA;oBACJC,cAAgB,EAAA;AAClB,iBAAA;;0BAGFhB,cAACY,CAAAA,uBAAAA,EAAAA;gBAAWV,OAAQ,EAAA,UAAA;gBAAWW,UAAU,EAAA,IAAA;gBAACC,IAAMjB,EAAAA,cAAAA;0BAC7CS,aAAc,CAAA;oBACbS,EAAI,EAAA,2CAAA;oBACJC,cAAgB,EAAA;AAClB,iBAAA;;;;AAIR,CAAA;AAEA,MAAMC,YAAAA,GAAeC,uBAAOC,CAAAA,GAAG;;AAEf,gBAAA,EAAE,CAAC,EAAEC,KAAK,EAAE,GAAK,CAAC,CAAC,EAAEA,KAAAA,CAAMC,MAAM,CAAC,CAAE,CAAA,CAAC,CAAC,CAAC;AACzC,cAAA,EAAE,CAAC,EAAED,KAAK,EAAE,GAAK,CAAC,CAAC,EAAEA,KAAAA,CAAMC,MAAM,CAAC,CAAE,CAAA,CAAC,CAAC,CAAC;;AAErD,CAAC;AAID,MAAMC,IAAAA,GAA4D,CAAC,EACjEvB,QAAQ,EACRwB,IAAO,GAAA,KAAK,EACZC,YAAY,EACb,GAAA;IACC,MAAM,EAAElB,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;IAE1B,qBACEP,cAAA,CAACC,mBAAMqB,IAAI,EAAA;QAACC,IAAMA,EAAAA,IAAAA;QAAMC,YAAcA,EAAAA,YAAAA;gCACpCxB,cAAA,CAACC,mBAAMwB,OAAO,EAAA;oCACZzB,cAAA,CAACC,mBAAME,IAAI,EAAA;AACT,gBAAA,QAAA,gBAAAK,eAACC,CAAAA,iBAAAA,EAAAA;oBAAKC,GAAK,EAAA,CAAA;oBAAGgB,WAAa,EAAA,CAAA;oBAAGC,QAAS,EAAA,UAAA;;sCACrCnB,eAACC,CAAAA,iBAAAA,EAAAA;4BAAKmB,UAAW,EAAA,OAAA;4BAAQC,SAAU,EAAA,QAAA;4BAASnB,GAAK,EAAA,CAAA;4BAAGoB,KAAM,EAAA,KAAA;;AACvD/B,gCAAAA,QAAAA;8CAEDC,cAACK,CAAAA,aAAAA,EAAAA,EAAAA;;;sCAGHG,eAACC,CAAAA,iBAAAA,EAAAA;4BAAKsB,cAAe,EAAA,KAAA;4BAAMC,MAAO,EAAA,MAAA;4BAAOF,KAAM,EAAA,KAAA;;8CAC7C9B,cAACiB,CAAAA,YAAAA,EAAAA;oCAAagB,GAAKC,EAAAA,OAAAA;oCAAiBC,aAAW,EAAA,IAAA;oCAACC,GAAI,EAAA,EAAA;oCAAGC,OAAQ,EAAA;;8CAE/DrC,cAACsC,CAAAA,gBAAAA,EAAAA;oCAAIC,OAAQ,EAAA,MAAA;oCAAOZ,QAAS,EAAA,UAAA;oCAAWa,KAAO,EAAA,CAAA;oCAAGC,GAAK,EAAA,CAAA;4DACrDzC,cAAA,CAACC,mBAAMyC,KAAK,EAAA;AACV,wCAAA,QAAA,gBAAA1C,cAAC2C,CAAAA,uBAAAA,EAAAA;4CACCC,WAAa,EAAA,KAAA;AACbC,4CAAAA,KAAAA,EAAOvC,aAAc,CAAA;gDACnBS,EAAI,EAAA,cAAA;gDACJC,cAAgB,EAAA;AAClB,6CAAA,CAAA;AAEA,4CAAA,QAAA,gBAAAhB,cAAC8C,CAAAA,WAAAA,EAAAA,EAAAA;;;;;;;;;;;AAUrB,CAAA;AAEA,MAAMC,WAAc,GAAA;AAClBjD,IAAAA,KAAAA;AACAK,IAAAA,IAAAA;AACAmB,IAAAA;AACF;;;;"}
1
+ {"version":3,"file":"LimitsModal.js","sources":["../../../admin/src/components/LimitsModal.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Box, Flex, IconButton, Modal, Typography, LinkButton } from '@strapi/design-system';\nimport { Cross } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport balloonImageSrc from '../assets/balloon.png';\n\nconst CTA_LEARN_MORE_HREF = 'https://strapi.io/pricing-cloud';\nconst CTA_SALES_HREF = 'https://strapi.io/contact-sales';\n\nconst Title: React.FC<React.PropsWithChildren> = ({ children }) => {\n return <Modal.Title variant=\"alpha\">{children}</Modal.Title>;\n};\n\nconst Body: React.FC<React.PropsWithChildren> = ({ children }) => {\n return <Typography variant=\"omega\">{children}</Typography>;\n};\n\nconst CallToActions = () => {\n const { formatMessage } = useIntl();\n\n return (\n <Flex gap={2} paddingTop={4}>\n <LinkButton variant=\"default\" isExternal href={CTA_LEARN_MORE_HREF}>\n {formatMessage({\n id: 'Settings.review-workflows.limit.cta.learn',\n defaultMessage: 'Learn more',\n })}\n </LinkButton>\n\n <LinkButton variant=\"tertiary\" isExternal href={CTA_SALES_HREF}>\n {formatMessage({\n id: 'Settings.review-workflows.limit.cta.sales',\n defaultMessage: 'Contact Sales',\n })}\n </LinkButton>\n </Flex>\n );\n};\n\nconst BalloonImage = styled.img`\n // Margin top|right reverse the padding of ModalBody\n margin-right: ${({ theme }) => `-${theme.spaces[7]}`};\n margin-top: ${({ theme }) => `-${theme.spaces[7]}`};\n width: 360px;\n`;\n\nexport type LimitsModalProps = Pick<Modal.Props, 'open' | 'onOpenChange'>;\n\nconst Root: React.FC<React.PropsWithChildren<LimitsModalProps>> = ({\n children,\n open = false,\n onOpenChange,\n}) => {\n const { formatMessage } = useIntl();\n\n return (\n <Modal.Root open={open} onOpenChange={onOpenChange}>\n <Modal.Content>\n <Modal.Body>\n <Flex gap={2} paddingLeft={7} position=\"relative\">\n <Flex alignItems=\"start\" direction=\"column\" gap={2} width=\"60%\">\n {children}\n\n <CallToActions />\n </Flex>\n\n <Flex justifyContent=\"end\" height=\"100%\" width=\"40%\">\n <BalloonImage src={balloonImageSrc} aria-hidden alt=\"\" loading=\"lazy\" />\n\n <Box display=\"flex\" position=\"absolute\" right={0} top={0}>\n <Modal.Close>\n <IconButton\n withTooltip={false}\n label={formatMessage({\n id: 'global.close',\n defaultMessage: 'Close',\n })}\n >\n <Cross />\n </IconButton>\n </Modal.Close>\n </Box>\n </Flex>\n </Flex>\n </Modal.Body>\n </Modal.Content>\n </Modal.Root>\n );\n};\n\nconst LimitsModal = {\n Title,\n Body,\n Root,\n};\n\nexport { LimitsModal };\n"],"names":["CTA_LEARN_MORE_HREF","CTA_SALES_HREF","Title","children","_jsx","Modal","variant","Body","Typography","CallToActions","formatMessage","useIntl","_jsxs","Flex","gap","paddingTop","LinkButton","isExternal","href","id","defaultMessage","BalloonImage","styled","img","theme","spaces","Root","open","onOpenChange","Content","paddingLeft","position","alignItems","direction","width","justifyContent","height","src","balloonImageSrc","aria-hidden","alt","loading","Box","display","right","top","Close","IconButton","withTooltip","label","Cross","LimitsModal"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"LimitsModal.mjs","sources":["../../../admin/src/components/LimitsModal.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Box, Flex, IconButton, Modal, Typography, LinkButton } from '@strapi/design-system';\nimport { Cross } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport balloonImageSrc from '../assets/balloon.png';\n\nconst CTA_LEARN_MORE_HREF = 'https://strapi.io/pricing-cloud';\nconst CTA_SALES_HREF = 'https://strapi.io/contact-sales';\n\nconst Title: React.FC<React.PropsWithChildren> = ({ children }) => {\n return <Modal.Title variant=\"alpha\">{children}</Modal.Title>;\n};\n\nconst Body: React.FC<React.PropsWithChildren> = ({ children }) => {\n return <Typography variant=\"omega\">{children}</Typography>;\n};\n\nconst CallToActions = () => {\n const { formatMessage } = useIntl();\n\n return (\n <Flex gap={2} paddingTop={4}>\n <LinkButton variant=\"default\" isExternal href={CTA_LEARN_MORE_HREF}>\n {formatMessage({\n id: 'Settings.review-workflows.limit.cta.learn',\n defaultMessage: 'Learn more',\n })}\n </LinkButton>\n\n <LinkButton variant=\"tertiary\" isExternal href={CTA_SALES_HREF}>\n {formatMessage({\n id: 'Settings.review-workflows.limit.cta.sales',\n defaultMessage: 'Contact Sales',\n })}\n </LinkButton>\n </Flex>\n );\n};\n\nconst BalloonImage = styled.img`\n // Margin top|right reverse the padding of ModalBody\n margin-right: ${({ theme }) => `-${theme.spaces[7]}`};\n margin-top: ${({ theme }) => `-${theme.spaces[7]}`};\n width: 360px;\n`;\n\nexport type LimitsModalProps = Pick<Modal.Props, 'open' | 'onOpenChange'>;\n\nconst Root: React.FC<React.PropsWithChildren<LimitsModalProps>> = ({\n children,\n open = false,\n onOpenChange,\n}) => {\n const { formatMessage } = useIntl();\n\n return (\n <Modal.Root open={open} onOpenChange={onOpenChange}>\n <Modal.Content>\n <Modal.Body>\n <Flex gap={2} paddingLeft={7} position=\"relative\">\n <Flex alignItems=\"start\" direction=\"column\" gap={2} width=\"60%\">\n {children}\n\n <CallToActions />\n </Flex>\n\n <Flex justifyContent=\"end\" height=\"100%\" width=\"40%\">\n <BalloonImage src={balloonImageSrc} aria-hidden alt=\"\" loading=\"lazy\" />\n\n <Box display=\"flex\" position=\"absolute\" right={0} top={0}>\n <Modal.Close>\n <IconButton\n withTooltip={false}\n label={formatMessage({\n id: 'global.close',\n defaultMessage: 'Close',\n })}\n >\n <Cross />\n </IconButton>\n </Modal.Close>\n </Box>\n </Flex>\n </Flex>\n </Modal.Body>\n </Modal.Content>\n </Modal.Root>\n );\n};\n\nconst LimitsModal = {\n Title,\n Body,\n Root,\n};\n\nexport { LimitsModal };\n"],"names":["CTA_LEARN_MORE_HREF","CTA_SALES_HREF","Title","children","_jsx","Modal","variant","Body","Typography","CallToActions","formatMessage","useIntl","_jsxs","Flex","gap","paddingTop","LinkButton","isExternal","href","id","defaultMessage","BalloonImage","styled","img","theme","spaces","Root","open","onOpenChange","Content","paddingLeft","position","alignItems","direction","width","justifyContent","height","src","balloonImageSrc","aria-hidden","alt","loading","Box","display","right","top","Close","IconButton","withTooltip","label","Cross","LimitsModal"],"mappings":"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"}
1
+ {"version":3,"file":"LimitsModal.mjs","sources":["../../../admin/src/components/LimitsModal.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Box, Flex, IconButton, Modal, Typography, LinkButton } from '@strapi/design-system';\nimport { Cross } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport balloonImageSrc from '../assets/balloon.png';\n\nconst CTA_LEARN_MORE_HREF = 'https://strapi.io/pricing-cloud';\nconst CTA_SALES_HREF = 'https://strapi.io/contact-sales';\n\nconst Title: React.FC<React.PropsWithChildren> = ({ children }) => {\n return <Modal.Title variant=\"alpha\">{children}</Modal.Title>;\n};\n\nconst Body: React.FC<React.PropsWithChildren> = ({ children }) => {\n return <Typography variant=\"omega\">{children}</Typography>;\n};\n\nconst CallToActions = () => {\n const { formatMessage } = useIntl();\n\n return (\n <Flex gap={2} paddingTop={4}>\n <LinkButton variant=\"default\" isExternal href={CTA_LEARN_MORE_HREF}>\n {formatMessage({\n id: 'Settings.review-workflows.limit.cta.learn',\n defaultMessage: 'Learn more',\n })}\n </LinkButton>\n\n <LinkButton variant=\"tertiary\" isExternal href={CTA_SALES_HREF}>\n {formatMessage({\n id: 'Settings.review-workflows.limit.cta.sales',\n defaultMessage: 'Contact Sales',\n })}\n </LinkButton>\n </Flex>\n );\n};\n\nconst BalloonImage = styled.img`\n // Margin top|right reverse the padding of ModalBody\n margin-right: ${({ theme }) => `-${theme.spaces[7]}`};\n margin-top: ${({ theme }) => `-${theme.spaces[7]}`};\n width: 360px;\n`;\n\nexport type LimitsModalProps = Pick<Modal.Props, 'open' | 'onOpenChange'>;\n\nconst Root: React.FC<React.PropsWithChildren<LimitsModalProps>> = ({\n children,\n open = false,\n onOpenChange,\n}) => {\n const { formatMessage } = useIntl();\n\n return (\n <Modal.Root open={open} onOpenChange={onOpenChange}>\n <Modal.Content>\n <Modal.Body>\n <Flex gap={2} paddingLeft={7} position=\"relative\">\n <Flex alignItems=\"start\" direction=\"column\" gap={2} width=\"60%\">\n {children}\n\n <CallToActions />\n </Flex>\n\n <Flex justifyContent=\"end\" height=\"100%\" width=\"40%\">\n <BalloonImage src={balloonImageSrc} aria-hidden alt=\"\" loading=\"lazy\" />\n\n <Box display=\"flex\" position=\"absolute\" right={0} top={0}>\n <Modal.Close>\n <IconButton\n withTooltip={false}\n label={formatMessage({\n id: 'global.close',\n defaultMessage: 'Close',\n })}\n >\n <Cross />\n </IconButton>\n </Modal.Close>\n </Box>\n </Flex>\n </Flex>\n </Modal.Body>\n </Modal.Content>\n </Modal.Root>\n );\n};\n\nconst LimitsModal = {\n Title,\n Body,\n Root,\n};\n\nexport { LimitsModal };\n"],"names":["CTA_LEARN_MORE_HREF","CTA_SALES_HREF","Title","children","_jsx","Modal","variant","Body","Typography","CallToActions","formatMessage","useIntl","_jsxs","Flex","gap","paddingTop","LinkButton","isExternal","href","id","defaultMessage","BalloonImage","styled","img","theme","spaces","Root","open","onOpenChange","Content","paddingLeft","position","alignItems","direction","width","justifyContent","height","src","balloonImageSrc","aria-hidden","alt","loading","Box","display","right","top","Close","IconButton","withTooltip","label","Cross","LimitsModal"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Widgets.js","sources":["../../../admin/src/components/Widgets.tsx"],"sourcesContent":["import { Widget, useTracking } from '@strapi/admin/strapi-admin';\nimport { DocumentStatus, RelativeTime } from '@strapi/content-manager/strapi-admin';\nimport { Box, IconButton, Table, Tbody, Td, Tr, Typography } from '@strapi/design-system';\nimport { Pencil } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { Link, useNavigate } from 'react-router-dom';\nimport { styled } from 'styled-components';\n\nimport { StageColumn } from '../routes/content-manager/model/components/TableColumns';\nimport { useGetRecentlyAssignedDocumentsQuery } from '../services/content-manager';\n\nimport type { RecentDocument } from '../../../shared/contracts/homepage';\n\nconst CellTypography = styled(Typography)`\n display: block;\n max-width: 14.4rem;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n`;\n\nconst RecentDocumentsTable = ({\n documents,\n type,\n}: {\n documents: RecentDocument[];\n type: 'assigned';\n}) => {\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n const navigate = useNavigate();\n\n const getEditViewLink = (document: RecentDocument): string => {\n const isSingleType = document.kind === 'singleType';\n const kindPath = isSingleType ? 'single-types' : 'collection-types';\n const queryParams = document.locale ? `?plugins[i18n][locale]=${document.locale}` : '';\n\n return `/content-manager/${kindPath}/${document.contentTypeUid}${isSingleType ? '' : '/' + document.documentId}${queryParams}`;\n };\n\n const handleRowClick = (document: RecentDocument) => () => {\n trackUsage('willEditEntryFromHome', { entryType: type });\n const link = getEditViewLink(document);\n navigate(link);\n };\n\n return (\n <Table colCount={6} rowCount={documents?.length ?? 0}>\n <Tbody>\n {documents?.map((document) => (\n <Tr onClick={handleRowClick(document)} cursor=\"pointer\" key={document.documentId}>\n <Td>\n <CellTypography title={document.title} variant=\"omega\" textColor=\"neutral800\">\n {document.title}\n </CellTypography>\n </Td>\n <Td>\n <CellTypography variant=\"omega\" textColor=\"neutral600\">\n {document.kind === 'singleType'\n ? formatMessage({\n id: 'content-manager.widget.last-edited.single-type',\n defaultMessage: 'Single-Type',\n })\n : formatMessage({\n id: document.contentTypeDisplayName,\n defaultMessage: document.contentTypeDisplayName,\n })}\n </CellTypography>\n </Td>\n <Td>\n <Box display=\"inline-block\">\n {document.status ? (\n <DocumentStatus status={document.status} />\n ) : (\n <Typography textColor=\"neutral600\" aria-hidden>\n -\n </Typography>\n )}\n </Box>\n </Td>\n <Td>\n <Typography textColor=\"neutral600\">\n <RelativeTime timestamp={new Date(document.updatedAt)} />\n </Typography>\n </Td>\n <Td>\n <StageColumn strapi_stage={document.strapi_stage} />\n </Td>\n <Td onClick={(e) => e.stopPropagation()}>\n <Box display=\"inline-block\">\n <IconButton\n tag={Link}\n to={getEditViewLink(document)}\n onClick={() => trackUsage('willEditEntryFromHome', { entryType: type })}\n label={formatMessage({\n id: 'content-manager.actions.edit.label',\n defaultMessage: 'Edit',\n })}\n variant=\"ghost\"\n >\n <Pencil />\n </IconButton>\n </Box>\n </Td>\n </Tr>\n ))}\n </Tbody>\n </Table>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * AssignedWidget\n * -----------------------------------------------------------------------------------------------*/\n\nconst AssignedWidget = () => {\n const { formatMessage } = useIntl();\n const { data, isLoading, error } = useGetRecentlyAssignedDocumentsQuery();\n\n if (isLoading) {\n return <Widget.Loading />;\n }\n\n if (error || !data) {\n return <Widget.Error />;\n }\n\n if (data.length === 0) {\n return (\n <Widget.NoData>\n {formatMessage({\n id: 'review-workflows.widget.assigned.no-data',\n defaultMessage: 'No entries',\n })}\n </Widget.NoData>\n );\n }\n\n return <RecentDocumentsTable documents={data} type=\"assigned\" />;\n};\n\nexport { AssignedWidget };\n"],"names":["CellTypography","styled","Typography","RecentDocumentsTable","documents","type","formatMessage","useIntl","trackUsage","useTracking","navigate","useNavigate","getEditViewLink","document","isSingleType","kind","kindPath","queryParams","locale","contentTypeUid","documentId","handleRowClick","entryType","link","_jsx","Table","colCount","rowCount","length","Tbody","map","_jsxs","Tr","onClick","cursor","Td","title","variant","textColor","id","defaultMessage","contentTypeDisplayName","Box","display","status","DocumentStatus","aria-hidden","RelativeTime","timestamp","Date","updatedAt","StageColumn","strapi_stage","e","stopPropagation","IconButton","tag","Link","to","label","Pencil","AssignedWidget","data","isLoading","error","useGetRecentlyAssignedDocumentsQuery","Widget","Loading","Error","NoData"],"mappings":"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"}
1
+ {"version":3,"file":"Widgets.js","sources":["../../../admin/src/components/Widgets.tsx"],"sourcesContent":["import { Widget, useTracking } from '@strapi/admin/strapi-admin';\nimport { DocumentStatus, RelativeTime } from '@strapi/content-manager/strapi-admin';\nimport { Box, IconButton, Table, Tbody, Td, Tr, Typography } from '@strapi/design-system';\nimport { Pencil } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { Link, useNavigate } from 'react-router-dom';\nimport { styled } from 'styled-components';\n\nimport { StageColumn } from '../routes/content-manager/model/components/TableColumns';\nimport { useGetRecentlyAssignedDocumentsQuery } from '../services/content-manager';\n\nimport type { RecentDocument } from '../../../shared/contracts/homepage';\n\nconst CellTypography = styled(Typography)`\n display: block;\n max-width: 14.4rem;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n`;\n\nconst RecentDocumentsTable = ({\n documents,\n type,\n}: {\n documents: RecentDocument[];\n type: 'assigned';\n}) => {\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n const navigate = useNavigate();\n\n const getEditViewLink = (document: RecentDocument): string => {\n const isSingleType = document.kind === 'singleType';\n const kindPath = isSingleType ? 'single-types' : 'collection-types';\n const queryParams = document.locale ? `?plugins[i18n][locale]=${document.locale}` : '';\n\n return `/content-manager/${kindPath}/${document.contentTypeUid}${isSingleType ? '' : '/' + document.documentId}${queryParams}`;\n };\n\n const handleRowClick = (document: RecentDocument) => () => {\n trackUsage('willEditEntryFromHome', { entryType: type });\n const link = getEditViewLink(document);\n navigate(link);\n };\n\n return (\n <Table colCount={6} rowCount={documents?.length ?? 0}>\n <Tbody>\n {documents?.map((document) => (\n <Tr onClick={handleRowClick(document)} cursor=\"pointer\" key={document.documentId}>\n <Td>\n <CellTypography title={document.title} variant=\"omega\" textColor=\"neutral800\">\n {document.title}\n </CellTypography>\n </Td>\n <Td>\n <CellTypography variant=\"omega\" textColor=\"neutral600\">\n {document.kind === 'singleType'\n ? formatMessage({\n id: 'content-manager.widget.last-edited.single-type',\n defaultMessage: 'Single-Type',\n })\n : formatMessage({\n id: document.contentTypeDisplayName,\n defaultMessage: document.contentTypeDisplayName,\n })}\n </CellTypography>\n </Td>\n <Td>\n <Box display=\"inline-block\">\n {document.status ? (\n <DocumentStatus status={document.status} />\n ) : (\n <Typography textColor=\"neutral600\" aria-hidden>\n -\n </Typography>\n )}\n </Box>\n </Td>\n <Td>\n <Typography textColor=\"neutral600\">\n <RelativeTime timestamp={new Date(document.updatedAt)} />\n </Typography>\n </Td>\n <Td>\n <StageColumn strapi_stage={document.strapi_stage} />\n </Td>\n <Td onClick={(e) => e.stopPropagation()}>\n <Box display=\"inline-block\">\n <IconButton\n tag={Link}\n to={getEditViewLink(document)}\n onClick={() => trackUsage('willEditEntryFromHome', { entryType: type })}\n label={formatMessage({\n id: 'content-manager.actions.edit.label',\n defaultMessage: 'Edit',\n })}\n variant=\"ghost\"\n >\n <Pencil />\n </IconButton>\n </Box>\n </Td>\n </Tr>\n ))}\n </Tbody>\n </Table>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * AssignedWidget\n * -----------------------------------------------------------------------------------------------*/\n\nconst AssignedWidget = () => {\n const { formatMessage } = useIntl();\n const { data, isLoading, error } = useGetRecentlyAssignedDocumentsQuery();\n\n if (isLoading) {\n return <Widget.Loading />;\n }\n\n if (error || !data) {\n return <Widget.Error />;\n }\n\n if (data.length === 0) {\n return (\n <Widget.NoData>\n {formatMessage({\n id: 'review-workflows.widget.assigned.no-data',\n defaultMessage: 'No entries',\n })}\n </Widget.NoData>\n );\n }\n\n return <RecentDocumentsTable documents={data} type=\"assigned\" />;\n};\n\nexport { AssignedWidget };\n"],"names":["CellTypography","styled","Typography","RecentDocumentsTable","documents","type","formatMessage","useIntl","trackUsage","useTracking","navigate","useNavigate","getEditViewLink","document","isSingleType","kind","kindPath","queryParams","locale","contentTypeUid","documentId","handleRowClick","entryType","link","_jsx","Table","colCount","rowCount","length","Tbody","map","_jsxs","Tr","onClick","cursor","Td","title","variant","textColor","id","defaultMessage","contentTypeDisplayName","Box","display","status","DocumentStatus","aria-hidden","RelativeTime","timestamp","Date","updatedAt","StageColumn","strapi_stage","e","stopPropagation","IconButton","tag","Link","to","label","Pencil","AssignedWidget","data","isLoading","error","useGetRecentlyAssignedDocumentsQuery","Widget","Loading","Error","NoData"],"mappings":";;;;;;;;;;;;;AAaA,MAAMA,cAAAA,GAAiBC,uBAAOC,CAAAA,uBAAAA,CAAW;;;;;;AAMzC,CAAC;AAED,MAAMC,uBAAuB,CAAC,EAC5BC,SAAS,EACTC,IAAI,EAIL,GAAA;IACC,MAAM,EAAEC,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;IAC1B,MAAM,EAAEC,UAAU,EAAE,GAAGC,uBAAAA,EAAAA;AACvB,IAAA,MAAMC,QAAWC,GAAAA,0BAAAA,EAAAA;AAEjB,IAAA,MAAMC,kBAAkB,CAACC,QAAAA,GAAAA;QACvB,MAAMC,YAAAA,GAAeD,QAASE,CAAAA,IAAI,KAAK,YAAA;QACvC,MAAMC,QAAAA,GAAWF,eAAe,cAAiB,GAAA,kBAAA;QACjD,MAAMG,WAAAA,GAAcJ,QAASK,CAAAA,MAAM,GAAG,CAAC,uBAAuB,EAAEL,QAAAA,CAASK,MAAM,CAAA,CAAE,GAAG,EAAA;AAEpF,QAAA,OAAO,CAAC,iBAAiB,EAAEF,QAAAA,CAAS,CAAC,EAAEH,QAAAA,CAASM,cAAc,CAAA,EAAGL,eAAe,EAAK,GAAA,GAAA,GAAMD,QAASO,CAAAA,UAAU,GAAGH,WAAa,CAAA,CAAA;AAChI,KAAA;IAEA,MAAMI,cAAAA,GAAiB,CAACR,QAA6B,GAAA,IAAA;AACnDL,YAAAA,UAAAA,CAAW,uBAAyB,EAAA;gBAAEc,SAAWjB,EAAAA;AAAK,aAAA,CAAA;AACtD,YAAA,MAAMkB,OAAOX,eAAgBC,CAAAA,QAAAA,CAAAA;YAC7BH,QAASa,CAAAA,IAAAA,CAAAA;AACX,SAAA;AAEA,IAAA,qBACEC,cAACC,CAAAA,kBAAAA,EAAAA;QAAMC,QAAU,EAAA,CAAA;AAAGC,QAAAA,QAAAA,EAAUvB,WAAWwB,MAAU,IAAA,CAAA;AACjD,QAAA,QAAA,gBAAAJ,cAACK,CAAAA,kBAAAA,EAAAA;sBACEzB,SAAW0B,EAAAA,GAAAA,CAAI,CAACjB,QAAAA,iBACfkB,eAACC,CAAAA,eAAAA,EAAAA;AAAGC,oBAAAA,OAAAA,EAASZ,cAAeR,CAAAA,QAAAA,CAAAA;oBAAWqB,MAAO,EAAA,SAAA;;sCAC5CV,cAACW,CAAAA,eAAAA,EAAAA;AACC,4BAAA,QAAA,gBAAAX,cAACxB,CAAAA,cAAAA,EAAAA;AAAeoC,gCAAAA,KAAAA,EAAOvB,SAASuB,KAAK;gCAAEC,OAAQ,EAAA,OAAA;gCAAQC,SAAU,EAAA,YAAA;AAC9DzB,gCAAAA,QAAAA,EAAAA,QAAAA,CAASuB;;;sCAGdZ,cAACW,CAAAA,eAAAA,EAAAA;AACC,4BAAA,QAAA,gBAAAX,cAACxB,CAAAA,cAAAA,EAAAA;gCAAeqC,OAAQ,EAAA,OAAA;gCAAQC,SAAU,EAAA,YAAA;0CACvCzB,QAASE,CAAAA,IAAI,KAAK,YAAA,GACfT,aAAc,CAAA;oCACZiC,EAAI,EAAA,gDAAA;oCACJC,cAAgB,EAAA;AAClB,iCAAA,CAAA,GACAlC,aAAc,CAAA;AACZiC,oCAAAA,EAAAA,EAAI1B,SAAS4B,sBAAsB;AACnCD,oCAAAA,cAAAA,EAAgB3B,SAAS4B;AAC3B,iCAAA;;;sCAGRjB,cAACW,CAAAA,eAAAA,EAAAA;AACC,4BAAA,QAAA,gBAAAX,cAACkB,CAAAA,gBAAAA,EAAAA;gCAAIC,OAAQ,EAAA,cAAA;0CACV9B,QAAS+B,CAAAA,MAAM,iBACdpB,cAACqB,CAAAA,4BAAAA,EAAAA;AAAeD,oCAAAA,MAAAA,EAAQ/B,SAAS+B;mDAEjCpB,cAACtB,CAAAA,uBAAAA,EAAAA;oCAAWoC,SAAU,EAAA,YAAA;oCAAaQ,aAAW,EAAA,IAAA;AAAC,oCAAA,QAAA,EAAA;;;;sCAMrDtB,cAACW,CAAAA,eAAAA,EAAAA;AACC,4BAAA,QAAA,gBAAAX,cAACtB,CAAAA,uBAAAA,EAAAA;gCAAWoC,SAAU,EAAA,YAAA;AACpB,gCAAA,QAAA,gBAAAd,cAACuB,CAAAA,0BAAAA,EAAAA;oCAAaC,SAAW,EAAA,IAAIC,IAAKpC,CAAAA,QAAAA,CAASqC,SAAS;;;;sCAGxD1B,cAACW,CAAAA,eAAAA,EAAAA;AACC,4BAAA,QAAA,gBAAAX,cAAC2B,CAAAA,wBAAAA,EAAAA;AAAYC,gCAAAA,YAAAA,EAAcvC,SAASuC;;;sCAEtC5B,cAACW,CAAAA,eAAAA,EAAAA;4BAAGF,OAAS,EAAA,CAACoB,CAAMA,GAAAA,CAAAA,CAAEC,eAAe,EAAA;AACnC,4BAAA,QAAA,gBAAA9B,cAACkB,CAAAA,gBAAAA,EAAAA;gCAAIC,OAAQ,EAAA,cAAA;AACX,gCAAA,QAAA,gBAAAnB,cAAC+B,CAAAA,uBAAAA,EAAAA;oCACCC,GAAKC,EAAAA,mBAAAA;AACLC,oCAAAA,EAAAA,EAAI9C,eAAgBC,CAAAA,QAAAA,CAAAA;oCACpBoB,OAAS,EAAA,IAAMzB,WAAW,uBAAyB,EAAA;4CAAEc,SAAWjB,EAAAA;AAAK,yCAAA,CAAA;AACrEsD,oCAAAA,KAAAA,EAAOrD,aAAc,CAAA;wCACnBiC,EAAI,EAAA,oCAAA;wCACJC,cAAgB,EAAA;AAClB,qCAAA,CAAA;oCACAH,OAAQ,EAAA,OAAA;AAER,oCAAA,QAAA,gBAAAb,cAACoC,CAAAA,YAAAA,EAAAA,EAAAA;;;;;AAlDoD/C,iBAAAA,EAAAA,QAAAA,CAASO,UAAU,CAAA;;;AA2D1F,CAAA;AAEA;;AAEkG,2GAE5FyC,cAAiB,GAAA,IAAA;IACrB,MAAM,EAAEvD,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;AAC1B,IAAA,MAAM,EAAEuD,IAAI,EAAEC,SAAS,EAAEC,KAAK,EAAE,GAAGC,mDAAAA,EAAAA;AAEnC,IAAA,IAAIF,SAAW,EAAA;QACb,qBAAOvC,cAAA,CAAC0C,mBAAOC,OAAO,EAAA,EAAA,CAAA;AACxB;IAEA,IAAIH,KAAAA,IAAS,CAACF,IAAM,EAAA;QAClB,qBAAOtC,cAAA,CAAC0C,mBAAOE,KAAK,EAAA,EAAA,CAAA;AACtB;IAEA,IAAIN,IAAAA,CAAKlC,MAAM,KAAK,CAAG,EAAA;QACrB,qBACEJ,cAAA,CAAC0C,mBAAOG,MAAM,EAAA;sBACX/D,aAAc,CAAA;gBACbiC,EAAI,EAAA,0CAAA;gBACJC,cAAgB,EAAA;AAClB,aAAA;;AAGN;AAEA,IAAA,qBAAOhB,cAACrB,CAAAA,oBAAAA,EAAAA;QAAqBC,SAAW0D,EAAAA,IAAAA;QAAMzD,IAAK,EAAA;;AACrD;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Widgets.mjs","sources":["../../../admin/src/components/Widgets.tsx"],"sourcesContent":["import { Widget, useTracking } from '@strapi/admin/strapi-admin';\nimport { DocumentStatus, RelativeTime } from '@strapi/content-manager/strapi-admin';\nimport { Box, IconButton, Table, Tbody, Td, Tr, Typography } from '@strapi/design-system';\nimport { Pencil } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { Link, useNavigate } from 'react-router-dom';\nimport { styled } from 'styled-components';\n\nimport { StageColumn } from '../routes/content-manager/model/components/TableColumns';\nimport { useGetRecentlyAssignedDocumentsQuery } from '../services/content-manager';\n\nimport type { RecentDocument } from '../../../shared/contracts/homepage';\n\nconst CellTypography = styled(Typography)`\n display: block;\n max-width: 14.4rem;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n`;\n\nconst RecentDocumentsTable = ({\n documents,\n type,\n}: {\n documents: RecentDocument[];\n type: 'assigned';\n}) => {\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n const navigate = useNavigate();\n\n const getEditViewLink = (document: RecentDocument): string => {\n const isSingleType = document.kind === 'singleType';\n const kindPath = isSingleType ? 'single-types' : 'collection-types';\n const queryParams = document.locale ? `?plugins[i18n][locale]=${document.locale}` : '';\n\n return `/content-manager/${kindPath}/${document.contentTypeUid}${isSingleType ? '' : '/' + document.documentId}${queryParams}`;\n };\n\n const handleRowClick = (document: RecentDocument) => () => {\n trackUsage('willEditEntryFromHome', { entryType: type });\n const link = getEditViewLink(document);\n navigate(link);\n };\n\n return (\n <Table colCount={6} rowCount={documents?.length ?? 0}>\n <Tbody>\n {documents?.map((document) => (\n <Tr onClick={handleRowClick(document)} cursor=\"pointer\" key={document.documentId}>\n <Td>\n <CellTypography title={document.title} variant=\"omega\" textColor=\"neutral800\">\n {document.title}\n </CellTypography>\n </Td>\n <Td>\n <CellTypography variant=\"omega\" textColor=\"neutral600\">\n {document.kind === 'singleType'\n ? formatMessage({\n id: 'content-manager.widget.last-edited.single-type',\n defaultMessage: 'Single-Type',\n })\n : formatMessage({\n id: document.contentTypeDisplayName,\n defaultMessage: document.contentTypeDisplayName,\n })}\n </CellTypography>\n </Td>\n <Td>\n <Box display=\"inline-block\">\n {document.status ? (\n <DocumentStatus status={document.status} />\n ) : (\n <Typography textColor=\"neutral600\" aria-hidden>\n -\n </Typography>\n )}\n </Box>\n </Td>\n <Td>\n <Typography textColor=\"neutral600\">\n <RelativeTime timestamp={new Date(document.updatedAt)} />\n </Typography>\n </Td>\n <Td>\n <StageColumn strapi_stage={document.strapi_stage} />\n </Td>\n <Td onClick={(e) => e.stopPropagation()}>\n <Box display=\"inline-block\">\n <IconButton\n tag={Link}\n to={getEditViewLink(document)}\n onClick={() => trackUsage('willEditEntryFromHome', { entryType: type })}\n label={formatMessage({\n id: 'content-manager.actions.edit.label',\n defaultMessage: 'Edit',\n })}\n variant=\"ghost\"\n >\n <Pencil />\n </IconButton>\n </Box>\n </Td>\n </Tr>\n ))}\n </Tbody>\n </Table>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * AssignedWidget\n * -----------------------------------------------------------------------------------------------*/\n\nconst AssignedWidget = () => {\n const { formatMessage } = useIntl();\n const { data, isLoading, error } = useGetRecentlyAssignedDocumentsQuery();\n\n if (isLoading) {\n return <Widget.Loading />;\n }\n\n if (error || !data) {\n return <Widget.Error />;\n }\n\n if (data.length === 0) {\n return (\n <Widget.NoData>\n {formatMessage({\n id: 'review-workflows.widget.assigned.no-data',\n defaultMessage: 'No entries',\n })}\n </Widget.NoData>\n );\n }\n\n return <RecentDocumentsTable documents={data} type=\"assigned\" />;\n};\n\nexport { AssignedWidget };\n"],"names":["CellTypography","styled","Typography","RecentDocumentsTable","documents","type","formatMessage","useIntl","trackUsage","useTracking","navigate","useNavigate","getEditViewLink","document","isSingleType","kind","kindPath","queryParams","locale","contentTypeUid","documentId","handleRowClick","entryType","link","_jsx","Table","colCount","rowCount","length","Tbody","map","_jsxs","Tr","onClick","cursor","Td","title","variant","textColor","id","defaultMessage","contentTypeDisplayName","Box","display","status","DocumentStatus","aria-hidden","RelativeTime","timestamp","Date","updatedAt","StageColumn","strapi_stage","e","stopPropagation","IconButton","tag","Link","to","label","Pencil","AssignedWidget","data","isLoading","error","useGetRecentlyAssignedDocumentsQuery","Widget","Loading","Error","NoData"],"mappings":";;;;;;;;;;;AAaA,MAAMA,cAAAA,GAAiBC,MAAOC,CAAAA,UAAAA,CAAW;;;;;;AAMzC,CAAC;AAED,MAAMC,uBAAuB,CAAC,EAC5BC,SAAS,EACTC,IAAI,EAIL,GAAA;IACC,MAAM,EAAEC,aAAa,EAAE,GAAGC,OAAAA,EAAAA;IAC1B,MAAM,EAAEC,UAAU,EAAE,GAAGC,WAAAA,EAAAA;AACvB,IAAA,MAAMC,QAAWC,GAAAA,WAAAA,EAAAA;AAEjB,IAAA,MAAMC,kBAAkB,CAACC,QAAAA,GAAAA;QACvB,MAAMC,YAAAA,GAAeD,QAASE,CAAAA,IAAI,KAAK,YAAA;QACvC,MAAMC,QAAAA,GAAWF,eAAe,cAAiB,GAAA,kBAAA;QACjD,MAAMG,WAAAA,GAAcJ,QAASK,CAAAA,MAAM,GAAG,CAAC,uBAAuB,EAAEL,QAASK,CAAAA,MAAM,CAAC,CAAC,GAAG,EAAA;AAEpF,QAAA,OAAO,CAAC,iBAAiB,EAAEF,SAAS,CAAC,EAAEH,SAASM,cAAc,CAAC,EAAEL,YAAAA,GAAe,KAAK,GAAMD,GAAAA,QAAAA,CAASO,UAAU,CAAC,EAAEH,YAAY,CAAC;AAChI,KAAA;IAEA,MAAMI,cAAAA,GAAiB,CAACR,QAA6B,GAAA,IAAA;AACnDL,YAAAA,UAAAA,CAAW,uBAAyB,EAAA;gBAAEc,SAAWjB,EAAAA;AAAK,aAAA,CAAA;AACtD,YAAA,MAAMkB,OAAOX,eAAgBC,CAAAA,QAAAA,CAAAA;YAC7BH,QAASa,CAAAA,IAAAA,CAAAA;AACX,SAAA;AAEA,IAAA,qBACEC,GAACC,CAAAA,KAAAA,EAAAA;QAAMC,QAAU,EAAA,CAAA;AAAGC,QAAAA,QAAAA,EAAUvB,WAAWwB,MAAU,IAAA,CAAA;AACjD,QAAA,QAAA,gBAAAJ,GAACK,CAAAA,KAAAA,EAAAA;sBACEzB,SAAW0B,EAAAA,GAAAA,CAAI,CAACjB,QAAAA,iBACfkB,IAACC,CAAAA,EAAAA,EAAAA;AAAGC,oBAAAA,OAAAA,EAASZ,cAAeR,CAAAA,QAAAA,CAAAA;oBAAWqB,MAAO,EAAA,SAAA;;sCAC5CV,GAACW,CAAAA,EAAAA,EAAAA;AACC,4BAAA,QAAA,gBAAAX,GAACxB,CAAAA,cAAAA,EAAAA;AAAeoC,gCAAAA,KAAAA,EAAOvB,SAASuB,KAAK;gCAAEC,OAAQ,EAAA,OAAA;gCAAQC,SAAU,EAAA,YAAA;AAC9DzB,gCAAAA,QAAAA,EAAAA,QAAAA,CAASuB;;;sCAGdZ,GAACW,CAAAA,EAAAA,EAAAA;AACC,4BAAA,QAAA,gBAAAX,GAACxB,CAAAA,cAAAA,EAAAA;gCAAeqC,OAAQ,EAAA,OAAA;gCAAQC,SAAU,EAAA,YAAA;0CACvCzB,QAASE,CAAAA,IAAI,KAAK,YAAA,GACfT,aAAc,CAAA;oCACZiC,EAAI,EAAA,gDAAA;oCACJC,cAAgB,EAAA;AAClB,iCAAA,CAAA,GACAlC,aAAc,CAAA;AACZiC,oCAAAA,EAAAA,EAAI1B,SAAS4B,sBAAsB;AACnCD,oCAAAA,cAAAA,EAAgB3B,SAAS4B;AAC3B,iCAAA;;;sCAGRjB,GAACW,CAAAA,EAAAA,EAAAA;AACC,4BAAA,QAAA,gBAAAX,GAACkB,CAAAA,GAAAA,EAAAA;gCAAIC,OAAQ,EAAA,cAAA;0CACV9B,QAAS+B,CAAAA,MAAM,iBACdpB,GAACqB,CAAAA,cAAAA,EAAAA;AAAeD,oCAAAA,MAAAA,EAAQ/B,SAAS+B;mDAEjCpB,GAACtB,CAAAA,UAAAA,EAAAA;oCAAWoC,SAAU,EAAA,YAAA;oCAAaQ,aAAW,EAAA,IAAA;AAAC,oCAAA,QAAA,EAAA;;;;sCAMrDtB,GAACW,CAAAA,EAAAA,EAAAA;AACC,4BAAA,QAAA,gBAAAX,GAACtB,CAAAA,UAAAA,EAAAA;gCAAWoC,SAAU,EAAA,YAAA;AACpB,gCAAA,QAAA,gBAAAd,GAACuB,CAAAA,YAAAA,EAAAA;oCAAaC,SAAW,EAAA,IAAIC,IAAKpC,CAAAA,QAAAA,CAASqC,SAAS;;;;sCAGxD1B,GAACW,CAAAA,EAAAA,EAAAA;AACC,4BAAA,QAAA,gBAAAX,GAAC2B,CAAAA,WAAAA,EAAAA;AAAYC,gCAAAA,YAAAA,EAAcvC,SAASuC;;;sCAEtC5B,GAACW,CAAAA,EAAAA,EAAAA;4BAAGF,OAAS,EAAA,CAACoB,CAAMA,GAAAA,CAAAA,CAAEC,eAAe,EAAA;AACnC,4BAAA,QAAA,gBAAA9B,GAACkB,CAAAA,GAAAA,EAAAA;gCAAIC,OAAQ,EAAA,cAAA;AACX,gCAAA,QAAA,gBAAAnB,GAAC+B,CAAAA,UAAAA,EAAAA;oCACCC,GAAKC,EAAAA,IAAAA;AACLC,oCAAAA,EAAAA,EAAI9C,eAAgBC,CAAAA,QAAAA,CAAAA;oCACpBoB,OAAS,EAAA,IAAMzB,WAAW,uBAAyB,EAAA;4CAAEc,SAAWjB,EAAAA;AAAK,yCAAA,CAAA;AACrEsD,oCAAAA,KAAAA,EAAOrD,aAAc,CAAA;wCACnBiC,EAAI,EAAA,oCAAA;wCACJC,cAAgB,EAAA;AAClB,qCAAA,CAAA;oCACAH,OAAQ,EAAA,OAAA;AAER,oCAAA,QAAA,gBAAAb,GAACoC,CAAAA,MAAAA,EAAAA,EAAAA;;;;;AAlDoD/C,iBAAAA,EAAAA,QAAAA,CAASO,UAAU,CAAA;;;AA2D1F,CAAA;AAEA;;AAEkG,2GAE5FyC,cAAiB,GAAA,IAAA;IACrB,MAAM,EAAEvD,aAAa,EAAE,GAAGC,OAAAA,EAAAA;AAC1B,IAAA,MAAM,EAAEuD,IAAI,EAAEC,SAAS,EAAEC,KAAK,EAAE,GAAGC,oCAAAA,EAAAA;AAEnC,IAAA,IAAIF,SAAW,EAAA;QACb,qBAAOvC,GAAA,CAAC0C,OAAOC,OAAO,EAAA,EAAA,CAAA;AACxB;IAEA,IAAIH,KAAAA,IAAS,CAACF,IAAM,EAAA;QAClB,qBAAOtC,GAAA,CAAC0C,OAAOE,KAAK,EAAA,EAAA,CAAA;AACtB;IAEA,IAAIN,IAAAA,CAAKlC,MAAM,KAAK,CAAG,EAAA;QACrB,qBACEJ,GAAA,CAAC0C,OAAOG,MAAM,EAAA;sBACX/D,aAAc,CAAA;gBACbiC,EAAI,EAAA,0CAAA;gBACJC,cAAgB,EAAA;AAClB,aAAA;;AAGN;AAEA,IAAA,qBAAOhB,GAACrB,CAAAA,oBAAAA,EAAAA;QAAqBC,SAAW0D,EAAAA,IAAAA;QAAMzD,IAAK,EAAA;;AACrD;;;;"}
1
+ {"version":3,"file":"Widgets.mjs","sources":["../../../admin/src/components/Widgets.tsx"],"sourcesContent":["import { Widget, useTracking } from '@strapi/admin/strapi-admin';\nimport { DocumentStatus, RelativeTime } from '@strapi/content-manager/strapi-admin';\nimport { Box, IconButton, Table, Tbody, Td, Tr, Typography } from '@strapi/design-system';\nimport { Pencil } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { Link, useNavigate } from 'react-router-dom';\nimport { styled } from 'styled-components';\n\nimport { StageColumn } from '../routes/content-manager/model/components/TableColumns';\nimport { useGetRecentlyAssignedDocumentsQuery } from '../services/content-manager';\n\nimport type { RecentDocument } from '../../../shared/contracts/homepage';\n\nconst CellTypography = styled(Typography)`\n display: block;\n max-width: 14.4rem;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n`;\n\nconst RecentDocumentsTable = ({\n documents,\n type,\n}: {\n documents: RecentDocument[];\n type: 'assigned';\n}) => {\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n const navigate = useNavigate();\n\n const getEditViewLink = (document: RecentDocument): string => {\n const isSingleType = document.kind === 'singleType';\n const kindPath = isSingleType ? 'single-types' : 'collection-types';\n const queryParams = document.locale ? `?plugins[i18n][locale]=${document.locale}` : '';\n\n return `/content-manager/${kindPath}/${document.contentTypeUid}${isSingleType ? '' : '/' + document.documentId}${queryParams}`;\n };\n\n const handleRowClick = (document: RecentDocument) => () => {\n trackUsage('willEditEntryFromHome', { entryType: type });\n const link = getEditViewLink(document);\n navigate(link);\n };\n\n return (\n <Table colCount={6} rowCount={documents?.length ?? 0}>\n <Tbody>\n {documents?.map((document) => (\n <Tr onClick={handleRowClick(document)} cursor=\"pointer\" key={document.documentId}>\n <Td>\n <CellTypography title={document.title} variant=\"omega\" textColor=\"neutral800\">\n {document.title}\n </CellTypography>\n </Td>\n <Td>\n <CellTypography variant=\"omega\" textColor=\"neutral600\">\n {document.kind === 'singleType'\n ? formatMessage({\n id: 'content-manager.widget.last-edited.single-type',\n defaultMessage: 'Single-Type',\n })\n : formatMessage({\n id: document.contentTypeDisplayName,\n defaultMessage: document.contentTypeDisplayName,\n })}\n </CellTypography>\n </Td>\n <Td>\n <Box display=\"inline-block\">\n {document.status ? (\n <DocumentStatus status={document.status} />\n ) : (\n <Typography textColor=\"neutral600\" aria-hidden>\n -\n </Typography>\n )}\n </Box>\n </Td>\n <Td>\n <Typography textColor=\"neutral600\">\n <RelativeTime timestamp={new Date(document.updatedAt)} />\n </Typography>\n </Td>\n <Td>\n <StageColumn strapi_stage={document.strapi_stage} />\n </Td>\n <Td onClick={(e) => e.stopPropagation()}>\n <Box display=\"inline-block\">\n <IconButton\n tag={Link}\n to={getEditViewLink(document)}\n onClick={() => trackUsage('willEditEntryFromHome', { entryType: type })}\n label={formatMessage({\n id: 'content-manager.actions.edit.label',\n defaultMessage: 'Edit',\n })}\n variant=\"ghost\"\n >\n <Pencil />\n </IconButton>\n </Box>\n </Td>\n </Tr>\n ))}\n </Tbody>\n </Table>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * AssignedWidget\n * -----------------------------------------------------------------------------------------------*/\n\nconst AssignedWidget = () => {\n const { formatMessage } = useIntl();\n const { data, isLoading, error } = useGetRecentlyAssignedDocumentsQuery();\n\n if (isLoading) {\n return <Widget.Loading />;\n }\n\n if (error || !data) {\n return <Widget.Error />;\n }\n\n if (data.length === 0) {\n return (\n <Widget.NoData>\n {formatMessage({\n id: 'review-workflows.widget.assigned.no-data',\n defaultMessage: 'No entries',\n })}\n </Widget.NoData>\n );\n }\n\n return <RecentDocumentsTable documents={data} type=\"assigned\" />;\n};\n\nexport { AssignedWidget };\n"],"names":["CellTypography","styled","Typography","RecentDocumentsTable","documents","type","formatMessage","useIntl","trackUsage","useTracking","navigate","useNavigate","getEditViewLink","document","isSingleType","kind","kindPath","queryParams","locale","contentTypeUid","documentId","handleRowClick","entryType","link","_jsx","Table","colCount","rowCount","length","Tbody","map","_jsxs","Tr","onClick","cursor","Td","title","variant","textColor","id","defaultMessage","contentTypeDisplayName","Box","display","status","DocumentStatus","aria-hidden","RelativeTime","timestamp","Date","updatedAt","StageColumn","strapi_stage","e","stopPropagation","IconButton","tag","Link","to","label","Pencil","AssignedWidget","data","isLoading","error","useGetRecentlyAssignedDocumentsQuery","Widget","Loading","Error","NoData"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../admin/src/index.ts"],"sourcesContent":["import { SealCheck } from '@strapi/icons';\n\nimport { PLUGIN_ID, FEATURE_ID } from './constants';\nimport { Header } from './routes/content-manager/model/id/components/Header';\nimport { Panel } from './routes/content-manager/model/id/components/Panel';\nimport { addColumnToTableHook } from './utils/cm-hooks';\nimport { prefixPluginTranslations } from './utils/translations';\n\nimport type { StrapiApp, WidgetArgs } from '@strapi/admin/strapi-admin';\nimport type { Plugin } from '@strapi/types';\n\nconst admin: Plugin.Config.AdminInput = {\n register(app: StrapiApp) {\n if (window.strapi.features.isEnabled(FEATURE_ID)) {\n app.registerHook('Admin/CM/pages/ListView/inject-column-in-table', addColumnToTableHook);\n\n const contentManagerPluginApis = app.getPlugin('content-manager').apis;\n\n if (\n 'addEditViewSidePanel' in contentManagerPluginApis &&\n typeof contentManagerPluginApis.addEditViewSidePanel === 'function'\n ) {\n contentManagerPluginApis.addEditViewSidePanel([Panel]);\n }\n\n app.addSettingsLink('global', {\n id: PLUGIN_ID,\n to: `review-workflows`,\n intlLabel: {\n id: `${PLUGIN_ID}.plugin.name`,\n defaultMessage: 'Review Workflows',\n },\n licenseOnly: true,\n permissions: [],\n async Component() {\n const { Router } = await import('./router');\n return { default: Router };\n },\n });\n\n // Always put the assigned to me widget last in the list of widgets\n app.widgets.register((widgets: WidgetArgs[]) => [\n ...widgets,\n {\n icon: SealCheck,\n title: {\n id: `${PLUGIN_ID}.widget.assigned.title`,\n defaultMessage: 'Assigned to me',\n },\n component: async () => {\n const { AssignedWidget } = await import('./components/Widgets');\n return AssignedWidget;\n },\n pluginId: PLUGIN_ID,\n id: 'assigned',\n permissions: [{ action: 'plugin::content-manager.explorer.read' }],\n },\n ]);\n } else if (!window.strapi.features.isEnabled(FEATURE_ID) && window.strapi?.flags?.promoteEE) {\n app.addSettingsLink('global', {\n id: PLUGIN_ID,\n to: `purchase-review-workflows`,\n intlLabel: {\n id: `${PLUGIN_ID}.plugin.name`,\n defaultMessage: 'Review Workflows',\n },\n licenseOnly: true,\n permissions: [],\n async Component() {\n const { PurchaseReviewWorkflows } = await import('./routes/purchase-review-workflows');\n return { default: PurchaseReviewWorkflows };\n },\n });\n }\n },\n bootstrap(app: StrapiApp) {\n if (window.strapi.features.isEnabled(FEATURE_ID)) {\n app.getPlugin('content-manager').injectComponent('preview', 'actions', {\n name: 'review-workflows-assignee',\n Component: Header,\n });\n }\n },\n async registerTrads({ locales }: { locales: string[] }) {\n const importedTrads = await Promise.all(\n locales.map((locale) => {\n return import(`./translations/${locale}.json`)\n .then(({ default: data }) => {\n return {\n data: prefixPluginTranslations(data, PLUGIN_ID),\n locale,\n };\n })\n .catch(() => {\n return {\n data: {},\n locale,\n };\n });\n })\n );\n\n return Promise.resolve(importedTrads);\n },\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default admin;\n"],"names":["admin","register","app","window","strapi","features","isEnabled","FEATURE_ID","registerHook","addColumnToTableHook","contentManagerPluginApis","getPlugin","apis","addEditViewSidePanel","Panel","addSettingsLink","id","PLUGIN_ID","to","intlLabel","defaultMessage","licenseOnly","permissions","Component","Router","default","widgets","icon","SealCheck","title","component","AssignedWidget","pluginId","action","flags","promoteEE","PurchaseReviewWorkflows","bootstrap","injectComponent","name","Header","registerTrads","locales","importedTrads","Promise","all","map","locale","then","data","prefixPluginTranslations","catch","resolve"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../admin/src/index.ts"],"sourcesContent":["import { SealCheck } from '@strapi/icons';\n\nimport { PLUGIN_ID, FEATURE_ID } from './constants';\nimport { Header } from './routes/content-manager/model/id/components/Header';\nimport { Panel } from './routes/content-manager/model/id/components/Panel';\nimport { addColumnToTableHook } from './utils/cm-hooks';\nimport { prefixPluginTranslations } from './utils/translations';\n\nimport type { StrapiApp, WidgetArgs } from '@strapi/admin/strapi-admin';\nimport type { Plugin } from '@strapi/types';\n\nconst admin: Plugin.Config.AdminInput = {\n register(app: StrapiApp) {\n if (window.strapi.features.isEnabled(FEATURE_ID)) {\n app.registerHook('Admin/CM/pages/ListView/inject-column-in-table', addColumnToTableHook);\n\n const contentManagerPluginApis = app.getPlugin('content-manager').apis;\n\n if (\n 'addEditViewSidePanel' in contentManagerPluginApis &&\n typeof contentManagerPluginApis.addEditViewSidePanel === 'function'\n ) {\n contentManagerPluginApis.addEditViewSidePanel([Panel]);\n }\n\n app.addSettingsLink('global', {\n id: PLUGIN_ID,\n to: `review-workflows`,\n intlLabel: {\n id: `${PLUGIN_ID}.plugin.name`,\n defaultMessage: 'Review Workflows',\n },\n licenseOnly: true,\n permissions: [],\n async Component() {\n const { Router } = await import('./router');\n return { default: Router };\n },\n });\n\n // Always put the assigned to me widget last in the list of widgets\n app.widgets.register((widgets: WidgetArgs[]) => [\n ...widgets,\n {\n icon: SealCheck,\n title: {\n id: `${PLUGIN_ID}.widget.assigned.title`,\n defaultMessage: 'Assigned to me',\n },\n component: async () => {\n const { AssignedWidget } = await import('./components/Widgets');\n return AssignedWidget;\n },\n pluginId: PLUGIN_ID,\n id: 'assigned',\n permissions: [{ action: 'plugin::content-manager.explorer.read' }],\n },\n ]);\n } else if (!window.strapi.features.isEnabled(FEATURE_ID) && window.strapi?.flags?.promoteEE) {\n app.addSettingsLink('global', {\n id: PLUGIN_ID,\n to: `purchase-review-workflows`,\n intlLabel: {\n id: `${PLUGIN_ID}.plugin.name`,\n defaultMessage: 'Review Workflows',\n },\n licenseOnly: true,\n permissions: [],\n async Component() {\n const { PurchaseReviewWorkflows } = await import('./routes/purchase-review-workflows');\n return { default: PurchaseReviewWorkflows };\n },\n });\n }\n },\n bootstrap(app: StrapiApp) {\n if (window.strapi.features.isEnabled(FEATURE_ID)) {\n app.getPlugin('content-manager').injectComponent('preview', 'actions', {\n name: 'review-workflows-assignee',\n Component: Header,\n });\n }\n },\n async registerTrads({ locales }: { locales: string[] }) {\n const importedTrads = await Promise.all(\n locales.map((locale) => {\n return import(`./translations/${locale}.json`)\n .then(({ default: data }) => {\n return {\n data: prefixPluginTranslations(data, PLUGIN_ID),\n locale,\n };\n })\n .catch(() => {\n return {\n data: {},\n locale,\n };\n });\n })\n );\n\n return Promise.resolve(importedTrads);\n },\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default admin;\n"],"names":["admin","register","app","window","strapi","features","isEnabled","FEATURE_ID","registerHook","addColumnToTableHook","contentManagerPluginApis","getPlugin","apis","addEditViewSidePanel","Panel","addSettingsLink","id","PLUGIN_ID","to","intlLabel","defaultMessage","licenseOnly","permissions","Component","Router","default","widgets","icon","SealCheck","title","component","AssignedWidget","pluginId","action","flags","promoteEE","PurchaseReviewWorkflows","bootstrap","injectComponent","name","Header","registerTrads","locales","importedTrads","Promise","all","map","locale","then","data","prefixPluginTranslations","catch","resolve"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../admin/src/index.ts"],"sourcesContent":["import { SealCheck } from '@strapi/icons';\n\nimport { PLUGIN_ID, FEATURE_ID } from './constants';\nimport { Header } from './routes/content-manager/model/id/components/Header';\nimport { Panel } from './routes/content-manager/model/id/components/Panel';\nimport { addColumnToTableHook } from './utils/cm-hooks';\nimport { prefixPluginTranslations } from './utils/translations';\n\nimport type { StrapiApp, WidgetArgs } from '@strapi/admin/strapi-admin';\nimport type { Plugin } from '@strapi/types';\n\nconst admin: Plugin.Config.AdminInput = {\n register(app: StrapiApp) {\n if (window.strapi.features.isEnabled(FEATURE_ID)) {\n app.registerHook('Admin/CM/pages/ListView/inject-column-in-table', addColumnToTableHook);\n\n const contentManagerPluginApis = app.getPlugin('content-manager').apis;\n\n if (\n 'addEditViewSidePanel' in contentManagerPluginApis &&\n typeof contentManagerPluginApis.addEditViewSidePanel === 'function'\n ) {\n contentManagerPluginApis.addEditViewSidePanel([Panel]);\n }\n\n app.addSettingsLink('global', {\n id: PLUGIN_ID,\n to: `review-workflows`,\n intlLabel: {\n id: `${PLUGIN_ID}.plugin.name`,\n defaultMessage: 'Review Workflows',\n },\n licenseOnly: true,\n permissions: [],\n async Component() {\n const { Router } = await import('./router');\n return { default: Router };\n },\n });\n\n // Always put the assigned to me widget last in the list of widgets\n app.widgets.register((widgets: WidgetArgs[]) => [\n ...widgets,\n {\n icon: SealCheck,\n title: {\n id: `${PLUGIN_ID}.widget.assigned.title`,\n defaultMessage: 'Assigned to me',\n },\n component: async () => {\n const { AssignedWidget } = await import('./components/Widgets');\n return AssignedWidget;\n },\n pluginId: PLUGIN_ID,\n id: 'assigned',\n permissions: [{ action: 'plugin::content-manager.explorer.read' }],\n },\n ]);\n } else if (!window.strapi.features.isEnabled(FEATURE_ID) && window.strapi?.flags?.promoteEE) {\n app.addSettingsLink('global', {\n id: PLUGIN_ID,\n to: `purchase-review-workflows`,\n intlLabel: {\n id: `${PLUGIN_ID}.plugin.name`,\n defaultMessage: 'Review Workflows',\n },\n licenseOnly: true,\n permissions: [],\n async Component() {\n const { PurchaseReviewWorkflows } = await import('./routes/purchase-review-workflows');\n return { default: PurchaseReviewWorkflows };\n },\n });\n }\n },\n bootstrap(app: StrapiApp) {\n if (window.strapi.features.isEnabled(FEATURE_ID)) {\n app.getPlugin('content-manager').injectComponent('preview', 'actions', {\n name: 'review-workflows-assignee',\n Component: Header,\n });\n }\n },\n async registerTrads({ locales }: { locales: string[] }) {\n const importedTrads = await Promise.all(\n locales.map((locale) => {\n return import(`./translations/${locale}.json`)\n .then(({ default: data }) => {\n return {\n data: prefixPluginTranslations(data, PLUGIN_ID),\n locale,\n };\n })\n .catch(() => {\n return {\n data: {},\n locale,\n };\n });\n })\n );\n\n return Promise.resolve(importedTrads);\n },\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default admin;\n"],"names":["admin","register","app","window","strapi","features","isEnabled","FEATURE_ID","registerHook","addColumnToTableHook","contentManagerPluginApis","getPlugin","apis","addEditViewSidePanel","Panel","addSettingsLink","id","PLUGIN_ID","to","intlLabel","defaultMessage","licenseOnly","permissions","Component","Router","default","widgets","icon","SealCheck","title","component","AssignedWidget","pluginId","action","flags","promoteEE","PurchaseReviewWorkflows","bootstrap","injectComponent","name","Header","registerTrads","locales","importedTrads","Promise","all","map","locale","then","data","prefixPluginTranslations","catch","resolve"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../../admin/src/index.ts"],"sourcesContent":["import { SealCheck } from '@strapi/icons';\n\nimport { PLUGIN_ID, FEATURE_ID } from './constants';\nimport { Header } from './routes/content-manager/model/id/components/Header';\nimport { Panel } from './routes/content-manager/model/id/components/Panel';\nimport { addColumnToTableHook } from './utils/cm-hooks';\nimport { prefixPluginTranslations } from './utils/translations';\n\nimport type { StrapiApp, WidgetArgs } from '@strapi/admin/strapi-admin';\nimport type { Plugin } from '@strapi/types';\n\nconst admin: Plugin.Config.AdminInput = {\n register(app: StrapiApp) {\n if (window.strapi.features.isEnabled(FEATURE_ID)) {\n app.registerHook('Admin/CM/pages/ListView/inject-column-in-table', addColumnToTableHook);\n\n const contentManagerPluginApis = app.getPlugin('content-manager').apis;\n\n if (\n 'addEditViewSidePanel' in contentManagerPluginApis &&\n typeof contentManagerPluginApis.addEditViewSidePanel === 'function'\n ) {\n contentManagerPluginApis.addEditViewSidePanel([Panel]);\n }\n\n app.addSettingsLink('global', {\n id: PLUGIN_ID,\n to: `review-workflows`,\n intlLabel: {\n id: `${PLUGIN_ID}.plugin.name`,\n defaultMessage: 'Review Workflows',\n },\n licenseOnly: true,\n permissions: [],\n async Component() {\n const { Router } = await import('./router');\n return { default: Router };\n },\n });\n\n // Always put the assigned to me widget last in the list of widgets\n app.widgets.register((widgets: WidgetArgs[]) => [\n ...widgets,\n {\n icon: SealCheck,\n title: {\n id: `${PLUGIN_ID}.widget.assigned.title`,\n defaultMessage: 'Assigned to me',\n },\n component: async () => {\n const { AssignedWidget } = await import('./components/Widgets');\n return AssignedWidget;\n },\n pluginId: PLUGIN_ID,\n id: 'assigned',\n permissions: [{ action: 'plugin::content-manager.explorer.read' }],\n },\n ]);\n } else if (!window.strapi.features.isEnabled(FEATURE_ID) && window.strapi?.flags?.promoteEE) {\n app.addSettingsLink('global', {\n id: PLUGIN_ID,\n to: `purchase-review-workflows`,\n intlLabel: {\n id: `${PLUGIN_ID}.plugin.name`,\n defaultMessage: 'Review Workflows',\n },\n licenseOnly: true,\n permissions: [],\n async Component() {\n const { PurchaseReviewWorkflows } = await import('./routes/purchase-review-workflows');\n return { default: PurchaseReviewWorkflows };\n },\n });\n }\n },\n bootstrap(app: StrapiApp) {\n if (window.strapi.features.isEnabled(FEATURE_ID)) {\n app.getPlugin('content-manager').injectComponent('preview', 'actions', {\n name: 'review-workflows-assignee',\n Component: Header,\n });\n }\n },\n async registerTrads({ locales }: { locales: string[] }) {\n const importedTrads = await Promise.all(\n locales.map((locale) => {\n return import(`./translations/${locale}.json`)\n .then(({ default: data }) => {\n return {\n data: prefixPluginTranslations(data, PLUGIN_ID),\n locale,\n };\n })\n .catch(() => {\n return {\n data: {},\n locale,\n };\n });\n })\n );\n\n return Promise.resolve(importedTrads);\n },\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default admin;\n"],"names":["admin","register","app","window","strapi","features","isEnabled","FEATURE_ID","registerHook","addColumnToTableHook","contentManagerPluginApis","getPlugin","apis","addEditViewSidePanel","Panel","addSettingsLink","id","PLUGIN_ID","to","intlLabel","defaultMessage","licenseOnly","permissions","Component","Router","default","widgets","icon","SealCheck","title","component","AssignedWidget","pluginId","action","flags","promoteEE","PurchaseReviewWorkflows","bootstrap","injectComponent","name","Header","registerTrads","locales","importedTrads","Promise","all","map","locale","then","data","prefixPluginTranslations","catch","resolve"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Stages.js","sources":["../../../../../admin/src/routes/settings/components/Stages.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n useField,\n useForm,\n useTracking,\n ConfirmDialog,\n useNotification,\n InputRenderer as AdminInputRenderer,\n InputProps,\n} from '@strapi/admin/strapi-admin';\nimport {\n Box,\n Flex,\n MultiSelectOption,\n Accordion,\n Grid,\n IconButton,\n MultiSelect,\n MultiSelectGroup,\n SingleSelect,\n SingleSelectOption,\n TextInput,\n VisuallyHidden,\n useComposedRefs,\n Menu,\n Field,\n Dialog,\n} from '@strapi/design-system';\nimport { Duplicate, Drag, More, EyeStriked } from '@strapi/icons';\nimport { getEmptyImage } from 'react-dnd-html5-backend';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { Stage as IStage, StagePermission } from '../../../../../shared/contracts/review-workflows';\nimport { useGetAdminRolesQuery } from '../../../services/admin';\nimport { AVAILABLE_COLORS, getStageColorByHex } from '../../../utils/colors';\nimport { DRAG_DROP_TYPES } from '../constants';\nimport { useDragAndDrop } from '../hooks/useDragAndDrop';\n\nimport { AddStage } from './AddStage';\n\ninterface WorkflowStage extends Pick<IStage, 'id' | 'name' | 'permissions' | 'color'> {\n __temp_key__: string;\n}\n\n/* -------------------------------------------------------------------------------------------------\n * Stages\n * -----------------------------------------------------------------------------------------------*/\ninterface StagesProps {\n canDelete?: boolean;\n canUpdate?: boolean;\n isCreating?: boolean;\n}\n\nconst Stages = ({ canDelete = true, canUpdate = true, isCreating }: StagesProps) => {\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n const addFieldRow = useForm('Stages', (state) => state.addFieldRow);\n const { value: stages = [] } = useField<WorkflowStage[]>('stages');\n\n return (\n <Flex direction=\"column\" gap={6} width=\"100%\">\n <Box position=\"relative\" width=\"100%\">\n <Background\n background=\"neutral200\"\n height=\"100%\"\n left=\"50%\"\n position=\"absolute\"\n top=\"0\"\n width={2}\n />\n\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6} position=\"relative\" tag=\"ol\">\n {stages.map((stage, index) => {\n return (\n <Box key={stage.__temp_key__} tag=\"li\">\n <Stage\n index={index}\n canDelete={stages.length > 1 && canDelete}\n canReorder={stages.length > 1}\n canUpdate={canUpdate}\n stagesCount={stages.length}\n defaultOpen={!stage.id}\n {...stage}\n />\n </Box>\n );\n })}\n </Flex>\n </Box>\n\n {canUpdate && (\n <AddStage\n type=\"button\"\n onClick={() => {\n addFieldRow('stages', { name: '' });\n trackUsage('willCreateStage');\n }}\n >\n {formatMessage({\n id: 'Settings.review-workflows.stage.add',\n defaultMessage: 'Add new stage',\n })}\n </AddStage>\n )}\n </Flex>\n );\n};\n\nconst Background = styled(Box)`\n transform: translateX(-50%);\n`;\n\n/* -------------------------------------------------------------------------------------------------\n * Stage\n * -----------------------------------------------------------------------------------------------*/\ninterface StageProps extends WorkflowStage {\n canDelete?: boolean;\n canReorder?: boolean;\n canUpdate?: boolean;\n index: number;\n stagesCount: number;\n defaultOpen?: boolean;\n}\n\nconst Stage = ({\n index,\n canDelete = false,\n canReorder = false,\n canUpdate = false,\n stagesCount,\n name,\n permissions,\n color,\n defaultOpen,\n}: StageProps) => {\n const [liveText, setLiveText] = React.useState<string>();\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n const stageErrors = useForm('Stages', (state) => state.errors.stages as object[]);\n const error = stageErrors?.[index];\n const addFieldRow = useForm('Stage', (state) => state.addFieldRow);\n const moveFieldRow = useForm('Stage', (state) => state.moveFieldRow);\n const removeFieldRow = useForm('Stage', (state) => state.removeFieldRow);\n\n const getItemPos = (index: number) => `${index + 1} of ${stagesCount}`;\n\n const handleGrabStage = (index: number) => {\n setLiveText(\n formatMessage(\n {\n id: 'dnd.grab-item',\n defaultMessage: `{item}, grabbed. Current position in list: {position}. Press up and down arrow to change position, Spacebar to drop, Escape to cancel.`,\n },\n {\n item: name,\n position: getItemPos(index),\n }\n )\n );\n };\n\n const handleDropStage = (index: number) => {\n setLiveText(\n formatMessage(\n {\n id: 'dnd.drop-item',\n defaultMessage: `{item}, dropped. Final position in list: {position}.`,\n },\n {\n item: name,\n position: getItemPos(index),\n }\n )\n );\n };\n\n const handleCancelDragStage = () => {\n setLiveText(\n formatMessage(\n {\n id: 'dnd.cancel-item',\n defaultMessage: '{item}, dropped. Re-order cancelled.',\n },\n {\n item: name,\n }\n )\n );\n };\n\n const handleMoveStage = (newIndex: number, oldIndex: number) => {\n setLiveText(\n formatMessage(\n {\n id: 'dnd.reorder',\n defaultMessage: '{item}, moved. New position in list: {position}.',\n },\n {\n item: name,\n position: getItemPos(newIndex),\n }\n )\n );\n\n moveFieldRow('stages', oldIndex, newIndex);\n };\n\n const [{ handlerId, isDragging, handleKeyDown }, stageRef, dropRef, dragRef, dragPreviewRef] =\n useDragAndDrop(canReorder, {\n index,\n item: {\n index,\n name,\n },\n onGrabItem: handleGrabStage,\n onDropItem: handleDropStage,\n onMoveItem: handleMoveStage,\n onCancel: handleCancelDragStage,\n type: DRAG_DROP_TYPES.STAGE,\n });\n\n // @ts-expect-error – the stageRef is incorrectly typed.\n const composedRef = useComposedRefs<HTMLDivElement>(stageRef, dropRef);\n\n React.useEffect(() => {\n dragPreviewRef(getEmptyImage(), { captureDraggingState: false });\n }, [dragPreviewRef, index]);\n\n const handleCloneClick = () => {\n addFieldRow('stages', { name, color, permissions });\n };\n\n const id = React.useId();\n\n return (\n <Box ref={composedRef} shadow=\"tableShadow\">\n {liveText && <VisuallyHidden aria-live=\"assertive\">{liveText}</VisuallyHidden>}\n\n {isDragging ? (\n <Box\n background=\"primary100\"\n borderStyle=\"dashed\"\n borderColor=\"primary600\"\n borderWidth=\"1px\"\n display=\"block\"\n hasRadius\n padding={6}\n />\n ) : (\n <AccordionRoot\n onValueChange={(value) => {\n if (value) {\n trackUsage('willEditStage');\n }\n }}\n defaultValue={defaultOpen ? id : undefined}\n $error={Object.values(error ?? {}).length > 0}\n >\n <Accordion.Item value={id}>\n <Accordion.Header>\n <Accordion.Trigger>{name}</Accordion.Trigger>\n <Accordion.Actions>\n {canDelete || canUpdate ? (\n <>\n <Menu.Root>\n <ContextMenuTrigger size=\"S\" endIcon={null} paddingLeft={2} paddingRight={2}>\n <More aria-hidden focusable={false} />\n <VisuallyHidden tag=\"span\">\n {formatMessage({\n id: '[tbdb].components.DynamicZone.more-actions',\n defaultMessage: 'More actions',\n })}\n </VisuallyHidden>\n </ContextMenuTrigger>\n {/* z-index needs to be as big as the one defined for the wrapper in Stages, otherwise the menu\n * disappears behind the accordion\n */}\n <Menu.Content popoverPlacement=\"bottom-end\" zIndex={2}>\n <Menu.SubRoot>\n {canUpdate && (\n <Menu.Item onClick={handleCloneClick}>\n {formatMessage({\n id: 'Settings.review-workflows.stage.delete',\n defaultMessage: 'Duplicate stage',\n })}\n </Menu.Item>\n )}\n\n {canDelete && (\n <Menu.Item\n onClick={() => removeFieldRow('stages', index)}\n variant=\"danger\"\n >\n {formatMessage({\n id: 'Settings.review-workflows.stage.delete',\n defaultMessage: 'Delete',\n })}\n </Menu.Item>\n )}\n </Menu.SubRoot>\n </Menu.Content>\n </Menu.Root>\n\n {canUpdate && (\n <IconButton\n background=\"transparent\"\n hasRadius\n variant=\"ghost\"\n data-handler-id={handlerId}\n ref={dragRef}\n label={formatMessage({\n id: 'Settings.review-workflows.stage.drag',\n defaultMessage: 'Drag',\n })}\n onClick={(e) => e.stopPropagation()}\n onKeyDown={handleKeyDown}\n >\n <Drag />\n </IconButton>\n )}\n </>\n ) : null}\n </Accordion.Actions>\n </Accordion.Header>\n <Accordion.Content>\n <Grid.Root gap={4} padding={6}>\n {[\n {\n disabled: !canUpdate,\n label: formatMessage({\n id: 'Settings.review-workflows.stage.name.label',\n defaultMessage: 'Stage name',\n }),\n name: `stages.${index}.name`,\n required: true,\n size: 6,\n type: 'string' as const,\n },\n {\n disabled: !canUpdate,\n label: formatMessage({\n id: 'content-manager.reviewWorkflows.stage.color',\n defaultMessage: 'Color',\n }),\n name: `stages.${index}.color`,\n required: true,\n size: 6,\n type: 'color' as const,\n },\n {\n disabled: !canUpdate,\n label: formatMessage({\n id: 'Settings.review-workflows.stage.permissions.label',\n defaultMessage: 'Roles that can change this stage',\n }),\n name: `stages.${index}.permissions`,\n placeholder: formatMessage({\n id: 'Settings.review-workflows.stage.permissions.placeholder',\n defaultMessage: 'Select a role',\n }),\n required: true,\n size: 6,\n type: 'permissions' as const,\n },\n ].map(({ size, ...field }) => (\n <Grid.Item key={field.name} col={size} direction=\"column\" alignItems=\"stretch\">\n <InputRenderer {...field} />\n </Grid.Item>\n ))}\n </Grid.Root>\n </Accordion.Content>\n </Accordion.Item>\n </AccordionRoot>\n )}\n </Box>\n );\n};\n\nconst AccordionRoot = styled(Accordion.Root)<{ $error?: boolean }>`\n border: 1px solid\n ${({ theme, $error }) => ($error ? theme.colors.danger600 : theme.colors.neutral200)};\n`;\n\n// Removing the font-size from the child-span aligns the\n// more icon vertically\nconst ContextMenuTrigger = styled(Menu.Trigger)`\n :hover,\n :focus {\n background-color: ${({ theme }) => theme.colors.neutral100};\n }\n\n > span {\n font-size: 0;\n }\n`;\n\n/* -------------------------------------------------------------------------------------------------\n * InputRenderer\n * -----------------------------------------------------------------------------------------------*/\n\ntype InputRendererProps = InputProps | ColorSelectorProps | PermissionsFieldProps;\n\nconst InputRenderer = (props: InputRendererProps) => {\n switch (props.type) {\n case 'color':\n return <ColorSelector {...props} />;\n case 'permissions':\n return <PermissionsField {...props} />;\n default:\n return <AdminInputRenderer {...props} />;\n }\n};\n\n/* -------------------------------------------------------------------------------------------------\n * ColorSelector\n * -----------------------------------------------------------------------------------------------*/\n\ninterface ColorSelectorProps\n extends Omit<Extract<InputProps, { type: 'enumeration' }>, 'type' | 'options'> {\n type: 'color';\n}\n\nconst ColorSelector = ({ disabled, label, name, required }: ColorSelectorProps) => {\n const { formatMessage } = useIntl();\n const { value, error, onChange } = useField<string>(name);\n\n const colorOptions = AVAILABLE_COLORS.map(({ hex, name }) => ({\n value: hex,\n label: formatMessage(\n {\n id: 'Settings.review-workflows.stage.color.name',\n defaultMessage: '{name}',\n },\n { name }\n ),\n color: hex,\n }));\n\n const { themeColorName } = getStageColorByHex(value) ?? {};\n\n return (\n <Field.Root error={error} name={name} required={required}>\n <Field.Label>{label}</Field.Label>\n <SingleSelect\n disabled={disabled}\n onChange={(v) => {\n onChange(name, v.toString());\n }}\n value={value?.toUpperCase()}\n startIcon={\n <Flex\n tag=\"span\"\n height={2}\n background={value}\n borderColor={themeColorName === 'neutral0' ? 'neutral150' : 'transparent'}\n hasRadius\n shrink={0}\n width={2}\n />\n }\n >\n {colorOptions.map(({ value, label, color }) => {\n const { themeColorName } = getStageColorByHex(color) || {};\n\n return (\n <SingleSelectOption\n value={value}\n key={value}\n startIcon={\n <Flex\n tag=\"span\"\n height={2}\n background={color}\n borderColor={themeColorName === 'neutral0' ? 'neutral150' : 'transparent'}\n hasRadius\n shrink={0}\n width={2}\n />\n }\n >\n {label}\n </SingleSelectOption>\n );\n })}\n </SingleSelect>\n <Field.Error />\n </Field.Root>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * PermissionsField\n * -----------------------------------------------------------------------------------------------*/\ninterface PermissionsFieldProps\n extends Omit<Extract<InputProps, { type: 'enumeration' }>, 'type' | 'options'> {\n type: 'permissions';\n}\n\nconst PermissionsField = ({ disabled, name, placeholder, required }: PermissionsFieldProps) => {\n const { formatMessage } = useIntl();\n const { toggleNotification } = useNotification();\n const [isApplyAllConfirmationOpen, setIsApplyAllConfirmationOpen] = React.useState(false);\n const { value = [], error, onChange } = useField<StagePermission[]>(name);\n const allStages = useForm<WorkflowStage[]>('PermissionsField', (state) => state.values.stages);\n const onFormValueChange = useForm('PermissionsField', (state) => state.onChange);\n const rolesErrorCount = React.useRef(0);\n\n const { data: roles = [], isLoading, error: getRolesError } = useGetAdminRolesQuery();\n\n // Super admins always have permissions to do everything and therefore\n // there is no point for this role to show up in the role combobox\n const filteredRoles = roles?.filter((role) => role.code !== 'strapi-super-admin') ?? [];\n\n React.useEffect(() => {\n if (\n !isLoading &&\n getRolesError &&\n 'status' in getRolesError &&\n getRolesError.status == 403 &&\n rolesErrorCount.current === 0\n ) {\n rolesErrorCount.current = 1;\n\n toggleNotification({\n blockTransition: true,\n type: 'danger',\n message: formatMessage({\n id: 'review-workflows.stage.permissions.noPermissions.description',\n defaultMessage: 'You don’t have the permission to see roles. Contact your administrator.',\n }),\n });\n }\n }, [formatMessage, isLoading, roles, toggleNotification, getRolesError]);\n\n if (!isLoading && filteredRoles.length === 0) {\n return (\n <Field.Root\n name={name}\n hint={formatMessage({\n id: 'Settings.review-workflows.stage.permissions.noPermissions.description',\n defaultMessage: 'You don’t have the permission to see roles',\n })}\n required={required}\n >\n <Field.Label>\n {formatMessage({\n id: 'Settings.review-workflows.stage.permissions.label',\n defaultMessage: 'Roles that can change this stage',\n })}\n </Field.Label>\n <TextInput\n disabled\n placeholder={formatMessage({\n id: 'components.NotAllowedInput.text',\n defaultMessage: 'No permissions to see this field',\n })}\n startAction={<EyeStriked fill=\"neutral600\" />}\n type=\"text\"\n value=\"\"\n />\n <Field.Hint />\n </Field.Root>\n );\n }\n\n return (\n <>\n <Flex alignItems=\"flex-end\" gap={3}>\n <PermissionWrapper grow={1}>\n <Field.Root error={error} name={name} required>\n <Field.Label>\n {formatMessage({\n id: 'Settings.review-workflows.stage.permissions.label',\n defaultMessage: 'Roles that can change this stage',\n })}\n </Field.Label>\n <MultiSelect\n disabled={disabled}\n onChange={(values) => {\n // Because the select components expects strings for values, but\n // the yup schema validates we are sending full permission objects to the API,\n // we must coerce the string value back to an object\n const permissions = values.map((value) => ({\n role: parseInt(value, 10),\n action: 'admin::review-workflows.stage.transition',\n }));\n\n onChange(name, permissions);\n }}\n placeholder={placeholder}\n // The Select component expects strings for values\n value={value.map((permission) => `${permission.role}`)}\n withTags\n >\n <MultiSelectGroup\n label={formatMessage({\n id: 'Settings.review-workflows.stage.permissions.allRoles.label',\n defaultMessage: 'All roles',\n })}\n values={filteredRoles.map((r) => `${r.id}`)}\n >\n {filteredRoles.map((role) => {\n return (\n <NestedOption key={role.id} value={`${role.id}`}>\n {role.name}\n </NestedOption>\n );\n })}\n </MultiSelectGroup>\n </MultiSelect>\n <Field.Error />\n </Field.Root>\n </PermissionWrapper>\n <Dialog.Root open={isApplyAllConfirmationOpen} onOpenChange={setIsApplyAllConfirmationOpen}>\n <Dialog.Trigger>\n <IconButton\n disabled={disabled}\n label={formatMessage({\n id: 'Settings.review-workflows.stage.permissions.apply.label',\n defaultMessage: 'Apply to all stages',\n })}\n size=\"L\"\n >\n <Duplicate />\n </IconButton>\n </Dialog.Trigger>\n <ConfirmDialog\n onConfirm={() => {\n onFormValueChange(\n 'stages',\n allStages.map((stage) => ({\n ...stage,\n permissions: value,\n }))\n );\n\n setIsApplyAllConfirmationOpen(false);\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: 'Settings.review-workflows.page.edit.confirm.stages.permissions.copy.success',\n defaultMessage: 'Applied roles to all other stages of the workflow',\n }),\n });\n }}\n variant=\"default\"\n >\n {formatMessage({\n id: 'Settings.review-workflows.page.edit.confirm.stages.permissions.copy',\n defaultMessage:\n 'Roles that can change that stage will be applied to all the other stages.',\n })}\n </ConfirmDialog>\n </Dialog.Root>\n </Flex>\n </>\n );\n};\n\nconst NestedOption = styled(MultiSelectOption)`\n padding-left: ${({ theme }) => theme.spaces[7]};\n`;\n\n// Grow the size of the permission Select\nconst PermissionWrapper = styled(Flex)`\n > * {\n flex-grow: 1;\n }\n`;\n\nexport { Stages };\nexport type { StagesProps, WorkflowStage };\n"],"names":["Stages","canDelete","canUpdate","isCreating","formatMessage","useIntl","trackUsage","useTracking","addFieldRow","useForm","state","value","stages","useField","_jsxs","Flex","direction","gap","width","Box","position","_jsx","Background","background","height","left","top","alignItems","tag","map","stage","index","Stage","length","canReorder","stagesCount","defaultOpen","id","__temp_key__","AddStage","type","onClick","name","defaultMessage","styled","permissions","color","liveText","setLiveText","React","useState","stageErrors","errors","error","moveFieldRow","removeFieldRow","getItemPos","handleGrabStage","item","handleDropStage","handleCancelDragStage","handleMoveStage","newIndex","oldIndex","handlerId","isDragging","handleKeyDown","stageRef","dropRef","dragRef","dragPreviewRef","useDragAndDrop","onGrabItem","onDropItem","onMoveItem","onCancel","DRAG_DROP_TYPES","STAGE","composedRef","useComposedRefs","useEffect","getEmptyImage","captureDraggingState","handleCloneClick","useId","ref","shadow","VisuallyHidden","aria-live","borderStyle","borderColor","borderWidth","display","hasRadius","padding","AccordionRoot","onValueChange","defaultValue","undefined","$error","Object","values","Accordion","Item","Header","Trigger","Actions","_Fragment","Menu","Root","ContextMenuTrigger","size","endIcon","paddingLeft","paddingRight","More","aria-hidden","focusable","Content","popoverPlacement","zIndex","SubRoot","variant","IconButton","data-handler-id","label","e","stopPropagation","onKeyDown","Drag","Grid","disabled","required","placeholder","field","col","InputRenderer","theme","colors","danger600","neutral200","neutral100","props","ColorSelector","PermissionsField","AdminInputRenderer","onChange","colorOptions","AVAILABLE_COLORS","hex","themeColorName","getStageColorByHex","Field","Label","SingleSelect","v","toString","toUpperCase","startIcon","shrink","SingleSelectOption","Error","toggleNotification","useNotification","isApplyAllConfirmationOpen","setIsApplyAllConfirmationOpen","allStages","onFormValueChange","rolesErrorCount","useRef","data","roles","isLoading","getRolesError","useGetAdminRolesQuery","filteredRoles","filter","role","code","status","current","blockTransition","message","hint","TextInput","startAction","EyeStriked","fill","Hint","PermissionWrapper","grow","MultiSelect","parseInt","action","permission","withTags","MultiSelectGroup","r","NestedOption","Dialog","open","onOpenChange","Duplicate","ConfirmDialog","onConfirm","MultiSelectOption","spaces"],"mappings":"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"}
1
+ {"version":3,"file":"Stages.js","sources":["../../../../../admin/src/routes/settings/components/Stages.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n useField,\n useForm,\n useTracking,\n ConfirmDialog,\n useNotification,\n InputRenderer as AdminInputRenderer,\n InputProps,\n} from '@strapi/admin/strapi-admin';\nimport {\n Box,\n Flex,\n MultiSelectOption,\n Accordion,\n Grid,\n IconButton,\n MultiSelect,\n MultiSelectGroup,\n SingleSelect,\n SingleSelectOption,\n TextInput,\n VisuallyHidden,\n useComposedRefs,\n Menu,\n Field,\n Dialog,\n} from '@strapi/design-system';\nimport { Duplicate, Drag, More, EyeStriked } from '@strapi/icons';\nimport { getEmptyImage } from 'react-dnd-html5-backend';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { Stage as IStage, StagePermission } from '../../../../../shared/contracts/review-workflows';\nimport { useGetAdminRolesQuery } from '../../../services/admin';\nimport { AVAILABLE_COLORS, getStageColorByHex } from '../../../utils/colors';\nimport { DRAG_DROP_TYPES } from '../constants';\nimport { useDragAndDrop } from '../hooks/useDragAndDrop';\n\nimport { AddStage } from './AddStage';\n\ninterface WorkflowStage extends Pick<IStage, 'id' | 'name' | 'permissions' | 'color'> {\n __temp_key__: string;\n}\n\n/* -------------------------------------------------------------------------------------------------\n * Stages\n * -----------------------------------------------------------------------------------------------*/\ninterface StagesProps {\n canDelete?: boolean;\n canUpdate?: boolean;\n isCreating?: boolean;\n}\n\nconst Stages = ({ canDelete = true, canUpdate = true, isCreating }: StagesProps) => {\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n const addFieldRow = useForm('Stages', (state) => state.addFieldRow);\n const { value: stages = [] } = useField<WorkflowStage[]>('stages');\n\n return (\n <Flex direction=\"column\" gap={6} width=\"100%\">\n <Box position=\"relative\" width=\"100%\">\n <Background\n background=\"neutral200\"\n height=\"100%\"\n left=\"50%\"\n position=\"absolute\"\n top=\"0\"\n width={2}\n />\n\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6} position=\"relative\" tag=\"ol\">\n {stages.map((stage, index) => {\n return (\n <Box key={stage.__temp_key__} tag=\"li\">\n <Stage\n index={index}\n canDelete={stages.length > 1 && canDelete}\n canReorder={stages.length > 1}\n canUpdate={canUpdate}\n stagesCount={stages.length}\n defaultOpen={!stage.id}\n {...stage}\n />\n </Box>\n );\n })}\n </Flex>\n </Box>\n\n {canUpdate && (\n <AddStage\n type=\"button\"\n onClick={() => {\n addFieldRow('stages', { name: '' });\n trackUsage('willCreateStage');\n }}\n >\n {formatMessage({\n id: 'Settings.review-workflows.stage.add',\n defaultMessage: 'Add new stage',\n })}\n </AddStage>\n )}\n </Flex>\n );\n};\n\nconst Background = styled(Box)`\n transform: translateX(-50%);\n`;\n\n/* -------------------------------------------------------------------------------------------------\n * Stage\n * -----------------------------------------------------------------------------------------------*/\ninterface StageProps extends WorkflowStage {\n canDelete?: boolean;\n canReorder?: boolean;\n canUpdate?: boolean;\n index: number;\n stagesCount: number;\n defaultOpen?: boolean;\n}\n\nconst Stage = ({\n index,\n canDelete = false,\n canReorder = false,\n canUpdate = false,\n stagesCount,\n name,\n permissions,\n color,\n defaultOpen,\n}: StageProps) => {\n const [liveText, setLiveText] = React.useState<string>();\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n const stageErrors = useForm('Stages', (state) => state.errors.stages as object[]);\n const error = stageErrors?.[index];\n const addFieldRow = useForm('Stage', (state) => state.addFieldRow);\n const moveFieldRow = useForm('Stage', (state) => state.moveFieldRow);\n const removeFieldRow = useForm('Stage', (state) => state.removeFieldRow);\n\n const getItemPos = (index: number) => `${index + 1} of ${stagesCount}`;\n\n const handleGrabStage = (index: number) => {\n setLiveText(\n formatMessage(\n {\n id: 'dnd.grab-item',\n defaultMessage: `{item}, grabbed. Current position in list: {position}. Press up and down arrow to change position, Spacebar to drop, Escape to cancel.`,\n },\n {\n item: name,\n position: getItemPos(index),\n }\n )\n );\n };\n\n const handleDropStage = (index: number) => {\n setLiveText(\n formatMessage(\n {\n id: 'dnd.drop-item',\n defaultMessage: `{item}, dropped. Final position in list: {position}.`,\n },\n {\n item: name,\n position: getItemPos(index),\n }\n )\n );\n };\n\n const handleCancelDragStage = () => {\n setLiveText(\n formatMessage(\n {\n id: 'dnd.cancel-item',\n defaultMessage: '{item}, dropped. Re-order cancelled.',\n },\n {\n item: name,\n }\n )\n );\n };\n\n const handleMoveStage = (newIndex: number, oldIndex: number) => {\n setLiveText(\n formatMessage(\n {\n id: 'dnd.reorder',\n defaultMessage: '{item}, moved. New position in list: {position}.',\n },\n {\n item: name,\n position: getItemPos(newIndex),\n }\n )\n );\n\n moveFieldRow('stages', oldIndex, newIndex);\n };\n\n const [{ handlerId, isDragging, handleKeyDown }, stageRef, dropRef, dragRef, dragPreviewRef] =\n useDragAndDrop(canReorder, {\n index,\n item: {\n index,\n name,\n },\n onGrabItem: handleGrabStage,\n onDropItem: handleDropStage,\n onMoveItem: handleMoveStage,\n onCancel: handleCancelDragStage,\n type: DRAG_DROP_TYPES.STAGE,\n });\n\n // @ts-expect-error – the stageRef is incorrectly typed.\n const composedRef = useComposedRefs<HTMLDivElement>(stageRef, dropRef);\n\n React.useEffect(() => {\n dragPreviewRef(getEmptyImage(), { captureDraggingState: false });\n }, [dragPreviewRef, index]);\n\n const handleCloneClick = () => {\n addFieldRow('stages', { name, color, permissions });\n };\n\n const id = React.useId();\n\n return (\n <Box ref={composedRef} shadow=\"tableShadow\">\n {liveText && <VisuallyHidden aria-live=\"assertive\">{liveText}</VisuallyHidden>}\n\n {isDragging ? (\n <Box\n background=\"primary100\"\n borderStyle=\"dashed\"\n borderColor=\"primary600\"\n borderWidth=\"1px\"\n display=\"block\"\n hasRadius\n padding={6}\n />\n ) : (\n <AccordionRoot\n onValueChange={(value) => {\n if (value) {\n trackUsage('willEditStage');\n }\n }}\n defaultValue={defaultOpen ? id : undefined}\n $error={Object.values(error ?? {}).length > 0}\n >\n <Accordion.Item value={id}>\n <Accordion.Header>\n <Accordion.Trigger>{name}</Accordion.Trigger>\n <Accordion.Actions>\n {canDelete || canUpdate ? (\n <>\n <Menu.Root>\n <ContextMenuTrigger size=\"S\" endIcon={null} paddingLeft={2} paddingRight={2}>\n <More aria-hidden focusable={false} />\n <VisuallyHidden tag=\"span\">\n {formatMessage({\n id: '[tbdb].components.DynamicZone.more-actions',\n defaultMessage: 'More actions',\n })}\n </VisuallyHidden>\n </ContextMenuTrigger>\n {/* z-index needs to be as big as the one defined for the wrapper in Stages, otherwise the menu\n * disappears behind the accordion\n */}\n <Menu.Content popoverPlacement=\"bottom-end\" zIndex={2}>\n <Menu.SubRoot>\n {canUpdate && (\n <Menu.Item onClick={handleCloneClick}>\n {formatMessage({\n id: 'Settings.review-workflows.stage.delete',\n defaultMessage: 'Duplicate stage',\n })}\n </Menu.Item>\n )}\n\n {canDelete && (\n <Menu.Item\n onClick={() => removeFieldRow('stages', index)}\n variant=\"danger\"\n >\n {formatMessage({\n id: 'Settings.review-workflows.stage.delete',\n defaultMessage: 'Delete',\n })}\n </Menu.Item>\n )}\n </Menu.SubRoot>\n </Menu.Content>\n </Menu.Root>\n\n {canUpdate && (\n <IconButton\n background=\"transparent\"\n hasRadius\n variant=\"ghost\"\n data-handler-id={handlerId}\n ref={dragRef}\n label={formatMessage({\n id: 'Settings.review-workflows.stage.drag',\n defaultMessage: 'Drag',\n })}\n onClick={(e) => e.stopPropagation()}\n onKeyDown={handleKeyDown}\n >\n <Drag />\n </IconButton>\n )}\n </>\n ) : null}\n </Accordion.Actions>\n </Accordion.Header>\n <Accordion.Content>\n <Grid.Root gap={4} padding={6}>\n {[\n {\n disabled: !canUpdate,\n label: formatMessage({\n id: 'Settings.review-workflows.stage.name.label',\n defaultMessage: 'Stage name',\n }),\n name: `stages.${index}.name`,\n required: true,\n size: 6,\n type: 'string' as const,\n },\n {\n disabled: !canUpdate,\n label: formatMessage({\n id: 'content-manager.reviewWorkflows.stage.color',\n defaultMessage: 'Color',\n }),\n name: `stages.${index}.color`,\n required: true,\n size: 6,\n type: 'color' as const,\n },\n {\n disabled: !canUpdate,\n label: formatMessage({\n id: 'Settings.review-workflows.stage.permissions.label',\n defaultMessage: 'Roles that can change this stage',\n }),\n name: `stages.${index}.permissions`,\n placeholder: formatMessage({\n id: 'Settings.review-workflows.stage.permissions.placeholder',\n defaultMessage: 'Select a role',\n }),\n required: true,\n size: 6,\n type: 'permissions' as const,\n },\n ].map(({ size, ...field }) => (\n <Grid.Item key={field.name} col={size} direction=\"column\" alignItems=\"stretch\">\n <InputRenderer {...field} />\n </Grid.Item>\n ))}\n </Grid.Root>\n </Accordion.Content>\n </Accordion.Item>\n </AccordionRoot>\n )}\n </Box>\n );\n};\n\nconst AccordionRoot = styled(Accordion.Root)<{ $error?: boolean }>`\n border: 1px solid\n ${({ theme, $error }) => ($error ? theme.colors.danger600 : theme.colors.neutral200)};\n`;\n\n// Removing the font-size from the child-span aligns the\n// more icon vertically\nconst ContextMenuTrigger = styled(Menu.Trigger)`\n :hover,\n :focus {\n background-color: ${({ theme }) => theme.colors.neutral100};\n }\n\n > span {\n font-size: 0;\n }\n`;\n\n/* -------------------------------------------------------------------------------------------------\n * InputRenderer\n * -----------------------------------------------------------------------------------------------*/\n\ntype InputRendererProps = InputProps | ColorSelectorProps | PermissionsFieldProps;\n\nconst InputRenderer = (props: InputRendererProps) => {\n switch (props.type) {\n case 'color':\n return <ColorSelector {...props} />;\n case 'permissions':\n return <PermissionsField {...props} />;\n default:\n return <AdminInputRenderer {...props} />;\n }\n};\n\n/* -------------------------------------------------------------------------------------------------\n * ColorSelector\n * -----------------------------------------------------------------------------------------------*/\n\ninterface ColorSelectorProps\n extends Omit<Extract<InputProps, { type: 'enumeration' }>, 'type' | 'options'> {\n type: 'color';\n}\n\nconst ColorSelector = ({ disabled, label, name, required }: ColorSelectorProps) => {\n const { formatMessage } = useIntl();\n const { value, error, onChange } = useField<string>(name);\n\n const colorOptions = AVAILABLE_COLORS.map(({ hex, name }) => ({\n value: hex,\n label: formatMessage(\n {\n id: 'Settings.review-workflows.stage.color.name',\n defaultMessage: '{name}',\n },\n { name }\n ),\n color: hex,\n }));\n\n const { themeColorName } = getStageColorByHex(value) ?? {};\n\n return (\n <Field.Root error={error} name={name} required={required}>\n <Field.Label>{label}</Field.Label>\n <SingleSelect\n disabled={disabled}\n onChange={(v) => {\n onChange(name, v.toString());\n }}\n value={value?.toUpperCase()}\n startIcon={\n <Flex\n tag=\"span\"\n height={2}\n background={value}\n borderColor={themeColorName === 'neutral0' ? 'neutral150' : 'transparent'}\n hasRadius\n shrink={0}\n width={2}\n />\n }\n >\n {colorOptions.map(({ value, label, color }) => {\n const { themeColorName } = getStageColorByHex(color) || {};\n\n return (\n <SingleSelectOption\n value={value}\n key={value}\n startIcon={\n <Flex\n tag=\"span\"\n height={2}\n background={color}\n borderColor={themeColorName === 'neutral0' ? 'neutral150' : 'transparent'}\n hasRadius\n shrink={0}\n width={2}\n />\n }\n >\n {label}\n </SingleSelectOption>\n );\n })}\n </SingleSelect>\n <Field.Error />\n </Field.Root>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * PermissionsField\n * -----------------------------------------------------------------------------------------------*/\ninterface PermissionsFieldProps\n extends Omit<Extract<InputProps, { type: 'enumeration' }>, 'type' | 'options'> {\n type: 'permissions';\n}\n\nconst PermissionsField = ({ disabled, name, placeholder, required }: PermissionsFieldProps) => {\n const { formatMessage } = useIntl();\n const { toggleNotification } = useNotification();\n const [isApplyAllConfirmationOpen, setIsApplyAllConfirmationOpen] = React.useState(false);\n const { value = [], error, onChange } = useField<StagePermission[]>(name);\n const allStages = useForm<WorkflowStage[]>('PermissionsField', (state) => state.values.stages);\n const onFormValueChange = useForm('PermissionsField', (state) => state.onChange);\n const rolesErrorCount = React.useRef(0);\n\n const { data: roles = [], isLoading, error: getRolesError } = useGetAdminRolesQuery();\n\n // Super admins always have permissions to do everything and therefore\n // there is no point for this role to show up in the role combobox\n const filteredRoles = roles?.filter((role) => role.code !== 'strapi-super-admin') ?? [];\n\n React.useEffect(() => {\n if (\n !isLoading &&\n getRolesError &&\n 'status' in getRolesError &&\n getRolesError.status == 403 &&\n rolesErrorCount.current === 0\n ) {\n rolesErrorCount.current = 1;\n\n toggleNotification({\n blockTransition: true,\n type: 'danger',\n message: formatMessage({\n id: 'review-workflows.stage.permissions.noPermissions.description',\n defaultMessage: 'You don’t have the permission to see roles. Contact your administrator.',\n }),\n });\n }\n }, [formatMessage, isLoading, roles, toggleNotification, getRolesError]);\n\n if (!isLoading && filteredRoles.length === 0) {\n return (\n <Field.Root\n name={name}\n hint={formatMessage({\n id: 'Settings.review-workflows.stage.permissions.noPermissions.description',\n defaultMessage: 'You don’t have the permission to see roles',\n })}\n required={required}\n >\n <Field.Label>\n {formatMessage({\n id: 'Settings.review-workflows.stage.permissions.label',\n defaultMessage: 'Roles that can change this stage',\n })}\n </Field.Label>\n <TextInput\n disabled\n placeholder={formatMessage({\n id: 'components.NotAllowedInput.text',\n defaultMessage: 'No permissions to see this field',\n })}\n startAction={<EyeStriked fill=\"neutral600\" />}\n type=\"text\"\n value=\"\"\n />\n <Field.Hint />\n </Field.Root>\n );\n }\n\n return (\n <>\n <Flex alignItems=\"flex-end\" gap={3}>\n <PermissionWrapper grow={1}>\n <Field.Root error={error} name={name} required>\n <Field.Label>\n {formatMessage({\n id: 'Settings.review-workflows.stage.permissions.label',\n defaultMessage: 'Roles that can change this stage',\n })}\n </Field.Label>\n <MultiSelect\n disabled={disabled}\n onChange={(values) => {\n // Because the select components expects strings for values, but\n // the yup schema validates we are sending full permission objects to the API,\n // we must coerce the string value back to an object\n const permissions = values.map((value) => ({\n role: parseInt(value, 10),\n action: 'admin::review-workflows.stage.transition',\n }));\n\n onChange(name, permissions);\n }}\n placeholder={placeholder}\n // The Select component expects strings for values\n value={value.map((permission) => `${permission.role}`)}\n withTags\n >\n <MultiSelectGroup\n label={formatMessage({\n id: 'Settings.review-workflows.stage.permissions.allRoles.label',\n defaultMessage: 'All roles',\n })}\n values={filteredRoles.map((r) => `${r.id}`)}\n >\n {filteredRoles.map((role) => {\n return (\n <NestedOption key={role.id} value={`${role.id}`}>\n {role.name}\n </NestedOption>\n );\n })}\n </MultiSelectGroup>\n </MultiSelect>\n <Field.Error />\n </Field.Root>\n </PermissionWrapper>\n <Dialog.Root open={isApplyAllConfirmationOpen} onOpenChange={setIsApplyAllConfirmationOpen}>\n <Dialog.Trigger>\n <IconButton\n disabled={disabled}\n label={formatMessage({\n id: 'Settings.review-workflows.stage.permissions.apply.label',\n defaultMessage: 'Apply to all stages',\n })}\n size=\"L\"\n >\n <Duplicate />\n </IconButton>\n </Dialog.Trigger>\n <ConfirmDialog\n onConfirm={() => {\n onFormValueChange(\n 'stages',\n allStages.map((stage) => ({\n ...stage,\n permissions: value,\n }))\n );\n\n setIsApplyAllConfirmationOpen(false);\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: 'Settings.review-workflows.page.edit.confirm.stages.permissions.copy.success',\n defaultMessage: 'Applied roles to all other stages of the workflow',\n }),\n });\n }}\n variant=\"default\"\n >\n {formatMessage({\n id: 'Settings.review-workflows.page.edit.confirm.stages.permissions.copy',\n defaultMessage:\n 'Roles that can change that stage will be applied to all the other stages.',\n })}\n </ConfirmDialog>\n </Dialog.Root>\n </Flex>\n </>\n );\n};\n\nconst NestedOption = styled(MultiSelectOption)`\n padding-left: ${({ theme }) => theme.spaces[7]};\n`;\n\n// Grow the size of the permission Select\nconst PermissionWrapper = styled(Flex)`\n > * {\n flex-grow: 1;\n }\n`;\n\nexport { Stages };\nexport type { StagesProps, WorkflowStage };\n"],"names":["Stages","canDelete","canUpdate","isCreating","formatMessage","useIntl","trackUsage","useTracking","addFieldRow","useForm","state","value","stages","useField","_jsxs","Flex","direction","gap","width","Box","position","_jsx","Background","background","height","left","top","alignItems","tag","map","stage","index","Stage","length","canReorder","stagesCount","defaultOpen","id","__temp_key__","AddStage","type","onClick","name","defaultMessage","styled","permissions","color","liveText","setLiveText","React","useState","stageErrors","errors","error","moveFieldRow","removeFieldRow","getItemPos","handleGrabStage","item","handleDropStage","handleCancelDragStage","handleMoveStage","newIndex","oldIndex","handlerId","isDragging","handleKeyDown","stageRef","dropRef","dragRef","dragPreviewRef","useDragAndDrop","onGrabItem","onDropItem","onMoveItem","onCancel","DRAG_DROP_TYPES","STAGE","composedRef","useComposedRefs","useEffect","getEmptyImage","captureDraggingState","handleCloneClick","useId","ref","shadow","VisuallyHidden","aria-live","borderStyle","borderColor","borderWidth","display","hasRadius","padding","AccordionRoot","onValueChange","defaultValue","undefined","$error","Object","values","Accordion","Item","Header","Trigger","Actions","_Fragment","Menu","Root","ContextMenuTrigger","size","endIcon","paddingLeft","paddingRight","More","aria-hidden","focusable","Content","popoverPlacement","zIndex","SubRoot","variant","IconButton","data-handler-id","label","e","stopPropagation","onKeyDown","Drag","Grid","disabled","required","placeholder","field","col","InputRenderer","theme","colors","danger600","neutral200","neutral100","props","ColorSelector","PermissionsField","AdminInputRenderer","onChange","colorOptions","AVAILABLE_COLORS","hex","themeColorName","getStageColorByHex","Field","Label","SingleSelect","v","toString","toUpperCase","startIcon","shrink","SingleSelectOption","Error","toggleNotification","useNotification","isApplyAllConfirmationOpen","setIsApplyAllConfirmationOpen","allStages","onFormValueChange","rolesErrorCount","useRef","data","roles","isLoading","getRolesError","useGetAdminRolesQuery","filteredRoles","filter","role","code","status","current","blockTransition","message","hint","TextInput","startAction","EyeStriked","fill","Hint","PermissionWrapper","grow","MultiSelect","parseInt","action","permission","withTags","MultiSelectGroup","r","NestedOption","Dialog","open","onOpenChange","Duplicate","ConfirmDialog","onConfirm","MultiSelectOption","spaces"],"mappings":"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"}