{"version":3,"file":"Layout.mjs","sources":["../../../../../admin/src/routes/settings/components/Layout.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Page, Layouts } from '@strapi/admin/strapi-admin';\nimport { Box } from '@strapi/design-system';\nimport { XYCoord, useDragLayer } from 'react-dnd';\nimport { useIntl } from 'react-intl';\n\nimport { DRAG_DROP_TYPES } from '../constants';\n\nimport { StageDragPreview } from './StageDragPreview';\n\nfunction getStyle(\n  initialOffset: XYCoord | null,\n  currentOffset: XYCoord | null,\n  mouseOffset: XYCoord | null\n) {\n  if (!initialOffset || !currentOffset || !mouseOffset) {\n    return { display: 'none' };\n  }\n\n  const { x, y } = mouseOffset;\n\n  return {\n    transform: `translate(${x}px, ${y}px)`,\n  };\n}\n\nconst DragLayerRendered = () => {\n  const { itemType, isDragging, item, initialOffset, currentOffset, mouseOffset } = useDragLayer(\n    (monitor) => ({\n      item: monitor.getItem(),\n      itemType: monitor.getItemType(),\n      initialOffset: monitor.getInitialSourceClientOffset(),\n      currentOffset: monitor.getSourceClientOffset(),\n      isDragging: monitor.isDragging(),\n      mouseOffset: monitor.getClientOffset(),\n    })\n  );\n\n  if (!isDragging || itemType !== DRAG_DROP_TYPES.STAGE) {\n    return null;\n  }\n\n  return (\n    <Box\n      height=\"100%\"\n      left={0}\n      position=\"fixed\"\n      pointerEvents=\"none\"\n      top={0}\n      zIndex={100}\n      width=\"100%\"\n    >\n      <Box style={getStyle(initialOffset, currentOffset, mouseOffset)}>\n        <StageDragPreview name={typeof item.item === 'string' ? item.item : null} />;\n      </Box>\n    </Box>\n  );\n};\n\nconst Root: React.FC<React.PropsWithChildren> = ({ children }) => {\n  return (\n    <Page.Main>\n      <Layouts.Content>{children}</Layouts.Content>\n    </Page.Main>\n  );\n};\n\ninterface HeaderProps {\n  title: string;\n  navigationAction?: React.ReactNode;\n  primaryAction?: React.ReactNode;\n  secondaryAction?: React.ReactNode;\n  subtitle?: React.ReactNode;\n}\n\nconst Header: React.FC<HeaderProps> = ({ title, subtitle, navigationAction, primaryAction }) => {\n  const { formatMessage } = useIntl();\n  return (\n    <>\n      <Page.Title>\n        {formatMessage(\n          { id: 'Settings.PageTitle', defaultMessage: 'Settings - {name}' },\n          {\n            name: title,\n          }\n        )}\n      </Page.Title>\n      <Layouts.BaseHeader\n        navigationAction={navigationAction}\n        primaryAction={primaryAction}\n        title={title}\n        subtitle={subtitle}\n      />\n    </>\n  );\n};\n\nexport { DragLayerRendered, Header, Root };\n"],"names":["getStyle","initialOffset","currentOffset","mouseOffset","display","x","y","transform","DragLayerRendered","itemType","isDragging","item","useDragLayer","monitor","getItem","getItemType","getInitialSourceClientOffset","getSourceClientOffset","getClientOffset","DRAG_DROP_TYPES","STAGE","_jsx","Box","height","left","position","pointerEvents","top","zIndex","width","_jsxs","style","StageDragPreview","name","Root","children","Page","Main","Layouts","Content","Header","title","subtitle","navigationAction","primaryAction","formatMessage","useIntl","_Fragment","Title","id","defaultMessage","BaseHeader"],"mappings":";;;;;;;;;AAWA,SAASA,QAAAA,CACPC,aAA6B,EAC7BC,aAA6B,EAC7BC,WAA2B,EAAA;AAE3B,IAAA,IAAI,CAACF,aAAAA,IAAiB,CAACC,aAAAA,IAAiB,CAACC,WAAAA,EAAa;QACpD,OAAO;YAAEC,OAAAA,EAAS;AAAO,SAAA;AAC3B,IAAA;AAEA,IAAA,MAAM,EAAEC,CAAC,EAAEC,CAAC,EAAE,GAAGH,WAAAA;IAEjB,OAAO;QACLI,SAAAA,EAAW,CAAC,UAAU,EAAEF,CAAAA,CAAE,IAAI,EAAEC,CAAAA,CAAE,GAAG;AACvC,KAAA;AACF;AAEA,MAAME,iBAAAA,GAAoB,IAAA;AACxB,IAAA,MAAM,EAAEC,QAAQ,EAAEC,UAAU,EAAEC,IAAI,EAAEV,aAAa,EAAEC,aAAa,EAAEC,WAAW,EAAE,GAAGS,YAAAA,CAChF,CAACC,WAAa;AACZF,YAAAA,IAAAA,EAAME,QAAQC,OAAO,EAAA;AACrBL,YAAAA,QAAAA,EAAUI,QAAQE,WAAW,EAAA;AAC7Bd,YAAAA,aAAAA,EAAeY,QAAQG,4BAA4B,EAAA;AACnDd,YAAAA,aAAAA,EAAeW,QAAQI,qBAAqB,EAAA;AAC5CP,YAAAA,UAAAA,EAAYG,QAAQH,UAAU,EAAA;AAC9BP,YAAAA,WAAAA,EAAaU,QAAQK,eAAe;SACtC,CAAA,CAAA;AAGF,IAAA,IAAI,CAACR,UAAAA,IAAcD,QAAAA,KAAaU,eAAAA,CAAgBC,KAAK,EAAE;QACrD,OAAO,IAAA;AACT,IAAA;AAEA,IAAA,qBACEC,GAAA,CAACC,GAAAA,EAAAA;QACCC,MAAAA,EAAO,MAAA;QACPC,IAAAA,EAAM,CAAA;QACNC,QAAAA,EAAS,OAAA;QACTC,aAAAA,EAAc,MAAA;QACdC,GAAAA,EAAK,CAAA;QACLC,MAAAA,EAAQ,GAAA;QACRC,KAAAA,EAAM,MAAA;AAEN,QAAA,QAAA,gBAAAC,IAAA,CAACR,GAAAA,EAAAA;YAAIS,KAAAA,EAAO/B,QAAAA,CAASC,eAAeC,aAAAA,EAAeC,WAAAA,CAAAA;;8BACjDkB,GAAA,CAACW,gBAAAA,EAAAA;AAAiBC,oBAAAA,IAAAA,EAAM,OAAOtB,IAAAA,CAAKA,IAAI,KAAK,QAAA,GAAWA,IAAAA,CAAKA,IAAI,GAAG;;AAAQ,gBAAA;;;;AAIpF;AAEA,MAAMuB,IAAAA,GAA0C,CAAC,EAAEC,QAAQ,EAAE,GAAA;IAC3D,qBACEd,GAAA,CAACe,KAAKC,IAAI,EAAA;gCACRhB,GAAA,CAACiB,QAAQC,OAAO,EAAA;AAAEJ,YAAAA,QAAAA,EAAAA;;;AAGxB;AAUA,MAAMK,MAAAA,GAAgC,CAAC,EAAEC,KAAK,EAAEC,QAAQ,EAAEC,gBAAgB,EAAEC,aAAa,EAAE,GAAA;IACzF,MAAM,EAAEC,aAAa,EAAE,GAAGC,OAAAA,EAAAA;IAC1B,qBACEhB,IAAA,CAAAiB,QAAA,EAAA;;AACE,0BAAA1B,GAAA,CAACe,KAAKY,KAAK,EAAA;0BACRH,aAAAA,CACC;oBAAEI,EAAAA,EAAI,oBAAA;oBAAsBC,cAAAA,EAAgB;iBAAoB,EAChE;oBACEjB,IAAAA,EAAMQ;AACR,iBAAA;;AAGJ,0BAAApB,GAAA,CAACiB,QAAQa,UAAU,EAAA;gBACjBR,gBAAAA,EAAkBA,gBAAAA;gBAClBC,aAAAA,EAAeA,aAAAA;gBACfH,KAAAA,EAAOA,KAAAA;gBACPC,QAAAA,EAAUA;;;;AAIlB;;;;"}