{"version":3,"file":"CroppingActions.mjs","sources":["../../../../../admin/src/components/EditAssetDialog/PreviewBox/CroppingActions.tsx"],"sourcesContent":["import { Flex, FocusTrap, IconButton, Menu } from '@strapi/design-system';\nimport { Check, Cross } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { styled, useTheme } from 'styled-components';\n\nimport { getTrad } from '../../../utils';\n\nimport { CroppingActionRow } from './PreviewComponents';\n\ninterface CroppingActionsProps {\n  onCancel: () => void;\n  onValidate: () => void;\n  onDuplicate?: () => void;\n}\n\nexport const CroppingActions = ({ onCancel, onValidate, onDuplicate }: CroppingActionsProps) => {\n  const { formatMessage } = useIntl();\n  const theme = useTheme();\n\n  return (\n    <FocusTrap onEscape={onCancel}>\n      <CroppingActionRow justifyContent=\"flex-end\" paddingLeft={3} paddingRight={3}>\n        <Flex gap={1}>\n          <IconButton\n            label={formatMessage({\n              id: getTrad('control-card.stop-crop'),\n              defaultMessage: 'Stop cropping',\n            })}\n            onClick={onCancel}\n          >\n            <Cross />\n          </IconButton>\n\n          <Menu.Root>\n            <Trigger\n              aria-label={formatMessage({\n                id: getTrad('control-card.crop'),\n                defaultMessage: 'Crop',\n              })}\n              variant=\"tertiary\"\n              paddingLeft={2}\n              paddingRight={2}\n              endIcon={null}\n            >\n              <Check\n                aria-hidden\n                focusable={false}\n                style={{ position: 'relative', top: 2 }}\n                fill=\"#C0C0D0\"\n              />\n            </Trigger>\n            <Menu.Content zIndex={theme.zIndices.dialog}>\n              <Menu.Item onSelect={onValidate}>\n                {formatMessage({\n                  id: getTrad('checkControl.crop-original'),\n                  defaultMessage: 'Crop the original asset',\n                })}\n              </Menu.Item>\n\n              {onDuplicate && (\n                <Menu.Item onSelect={onDuplicate}>\n                  {formatMessage({\n                    id: getTrad('checkControl.crop-duplicate'),\n                    defaultMessage: 'Duplicate & crop the asset',\n                  })}\n                </Menu.Item>\n              )}\n            </Menu.Content>\n          </Menu.Root>\n        </Flex>\n      </CroppingActionRow>\n    </FocusTrap>\n  );\n};\n\nconst Trigger = styled(Menu.Trigger)`\n  svg {\n    > g,\n    path {\n      fill: ${({ theme }) => theme.colors.neutral500};\n    }\n  }\n\n  &:hover {\n    svg {\n      > g,\n      path {\n        fill: ${({ theme }) => theme.colors.neutral600};\n      }\n    }\n  }\n\n  &:active {\n    svg {\n      > g,\n      path {\n        fill: ${({ theme }) => theme.colors.neutral400};\n      }\n    }\n  }\n`;\n"],"names":["CroppingActions","onCancel","onValidate","onDuplicate","formatMessage","useIntl","theme","useTheme","_jsx","FocusTrap","onEscape","CroppingActionRow","justifyContent","paddingLeft","paddingRight","_jsxs","Flex","gap","IconButton","label","id","getTrad","defaultMessage","onClick","Cross","Menu","Root","Trigger","aria-label","variant","endIcon","Check","aria-hidden","focusable","style","position","top","fill","Content","zIndex","zIndices","dialog","Item","onSelect","styled","colors","neutral500","neutral600","neutral400"],"mappings":";;;;;;;;;;;;;AAeO,MAAMA,kBAAkB,CAAC,EAAEC,QAAQ,EAAEC,UAAU,EAAEC,WAAW,EAAwB,GAAA;IACzF,MAAM,EAAEC,aAAa,EAAE,GAAGC,OAAAA,EAAAA;AAC1B,IAAA,MAAMC,KAAAA,GAAQC,QAAAA,EAAAA;AAEd,IAAA,qBACEC,GAAA,CAACC,SAAAA,EAAAA;QAAUC,QAAAA,EAAUT,QAAAA;AACnB,QAAA,QAAA,gBAAAO,GAAA,CAACG,iBAAAA,EAAAA;YAAkBC,cAAAA,EAAe,UAAA;YAAWC,WAAAA,EAAa,CAAA;YAAGC,YAAAA,EAAc,CAAA;AACzE,YAAA,QAAA,gBAAAC,IAAA,CAACC,IAAAA,EAAAA;gBAAKC,GAAAA,EAAK,CAAA;;kCACTT,GAAA,CAACU,UAAAA,EAAAA;AACCC,wBAAAA,KAAAA,EAAOf,aAAAA,CAAc;AACnBgB,4BAAAA,EAAAA,EAAIC,OAAAA,CAAQ,wBAAA,CAAA;4BACZC,cAAAA,EAAgB;AAClB,yBAAA,CAAA;wBACAC,OAAAA,EAAStB,QAAAA;AAET,wBAAA,QAAA,gBAAAO,GAAA,CAACgB,KAAAA,EAAAA,EAAAA;;AAGH,kCAAAT,IAAA,CAACU,KAAKC,IAAI,EAAA;;0CACRlB,GAAA,CAACmB,OAAAA,EAAAA;AACCC,gCAAAA,YAAAA,EAAYxB,aAAAA,CAAc;AACxBgB,oCAAAA,EAAAA,EAAIC,OAAAA,CAAQ,mBAAA,CAAA;oCACZC,cAAAA,EAAgB;AAClB,iCAAA,CAAA;gCACAO,OAAAA,EAAQ,UAAA;gCACRhB,WAAAA,EAAa,CAAA;gCACbC,YAAAA,EAAc,CAAA;gCACdgB,OAAAA,EAAS,IAAA;AAET,gCAAA,QAAA,gBAAAtB,GAAA,CAACuB,KAAAA,EAAAA;oCACCC,aAAW,EAAA,IAAA;oCACXC,SAAAA,EAAW,KAAA;oCACXC,KAAAA,EAAO;wCAAEC,QAAAA,EAAU,UAAA;wCAAYC,GAAAA,EAAK;AAAE,qCAAA;oCACtCC,IAAAA,EAAK;;;AAGT,0CAAAtB,IAAA,CAACU,KAAKa,OAAO,EAAA;gCAACC,MAAAA,EAAQjC,KAAAA,CAAMkC,QAAQ,CAACC,MAAM;;AACzC,kDAAAjC,GAAA,CAACiB,KAAKiB,IAAI,EAAA;wCAACC,QAAAA,EAAUzC,UAAAA;kDAClBE,aAAAA,CAAc;AACbgB,4CAAAA,EAAAA,EAAIC,OAAAA,CAAQ,4BAAA,CAAA;4CACZC,cAAAA,EAAgB;AAClB,yCAAA;;oCAGDnB,WAAAA,kBACCK,GAAA,CAACiB,KAAKiB,IAAI,EAAA;wCAACC,QAAAA,EAAUxC,WAAAA;kDAClBC,aAAAA,CAAc;AACbgB,4CAAAA,EAAAA,EAAIC,OAAAA,CAAQ,6BAAA,CAAA;4CACZC,cAAAA,EAAgB;AAClB,yCAAA;;;;;;;;;;AASlB;AAEA,MAAMK,OAAAA,GAAUiB,MAAAA,CAAOnB,IAAAA,CAAKE,OAAO,CAAC;;;;YAIxB,EAAE,CAAC,EAAErB,KAAK,EAAE,GAAKA,KAAAA,CAAMuC,MAAM,CAACC,UAAU,CAAC;;;;;;;;cAQvC,EAAE,CAAC,EAAExC,KAAK,EAAE,GAAKA,KAAAA,CAAMuC,MAAM,CAACE,UAAU,CAAC;;;;;;;;;cASzC,EAAE,CAAC,EAAEzC,KAAK,EAAE,GAAKA,KAAAA,CAAMuC,MAAM,CAACG,UAAU,CAAC;;;;AAIvD,CAAC;;;;"}