{"version":3,"file":"EditorLayout.mjs","sources":["../../../../../../../admin/src/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Flex, IconButton, FlexComponent, Modal } from '@strapi/design-system';\nimport { Collapse } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { css, styled } from 'styled-components';\n\nimport { getTranslation } from '../../../../../utils/translations';\n\nimport { useBlocksEditorContext } from './BlocksEditor';\n\ninterface EditorLayoutProps {\n  children: React.ReactNode;\n  error?: string;\n  onToggleExpand: () => void;\n  disabled: boolean;\n  ariaDescriptionId: string;\n}\n\nconst EditorLayout = ({\n  children,\n  error,\n  disabled,\n  onToggleExpand,\n  ariaDescriptionId,\n}: EditorLayoutProps) => {\n  const { formatMessage } = useIntl();\n  const { isExpandedMode } = useBlocksEditorContext('editorLayout');\n\n  return (\n    <>\n      {isExpandedMode && (\n        <Modal.Root open={isExpandedMode} onOpenChange={onToggleExpand}>\n          <Modal.Content style={{ maxWidth: 'unset', width: 'unset' }}>\n            <Flex height=\"90dvh\" width=\"90dvw\" alignItems=\"flex-start\" direction=\"column\">\n              {children}\n              <IconButton\n                position=\"absolute\"\n                bottom=\"1.2rem\"\n                right=\"1.2rem\"\n                shadow=\"filterShadow\"\n                label={formatMessage({\n                  id: getTranslation('components.Blocks.collapse'),\n                  defaultMessage: 'Collapse',\n                })}\n                onClick={onToggleExpand}\n              >\n                <Collapse />\n              </IconButton>\n            </Flex>\n          </Modal.Content>\n        </Modal.Root>\n      )}\n      <InputWrapper\n        direction=\"column\"\n        alignItems=\"flex-start\"\n        height=\"512px\"\n        $disabled={disabled}\n        $hasError={Boolean(error)}\n        style={{ overflow: 'hidden' }}\n        aria-describedby={ariaDescriptionId}\n        position=\"relative\"\n      >\n        {!isExpandedMode && children}\n      </InputWrapper>\n    </>\n  );\n};\n\nconst InputWrapper = styled<FlexComponent>(Flex)<{ $disabled?: boolean; $hasError?: boolean }>`\n  border: 1px solid\n    ${({ theme, $hasError }) => ($hasError ? theme.colors.danger600 : theme.colors.neutral200)};\n  border-radius: ${({ theme }) => theme.borderRadius};\n  background: ${({ theme }) => theme.colors.neutral0};\n\n  ${({ theme, $hasError = false }) => css`\n    outline: none;\n    box-shadow: 0;\n    transition-property: border-color, box-shadow, fill;\n    transition-duration: 0.2s;\n\n    &:focus-within {\n      border: 1px solid ${$hasError ? theme.colors.danger600 : theme.colors.primary600};\n      box-shadow: ${$hasError ? theme.colors.danger600 : theme.colors.primary600} 0px 0px 0px 2px;\n    }\n  `}\n\n  ${({ theme, $disabled }) =>\n    $disabled\n      ? css`\n          color: ${theme.colors.neutral600};\n          background: ${theme.colors.neutral150};\n        `\n      : undefined}\n`;\n\nexport { EditorLayout };\n"],"names":["EditorLayout","children","error","disabled","onToggleExpand","ariaDescriptionId","formatMessage","useIntl","isExpandedMode","useBlocksEditorContext","_jsxs","_Fragment","_jsx","Modal","Root","open","onOpenChange","Content","style","maxWidth","width","Flex","height","alignItems","direction","IconButton","position","bottom","right","shadow","label","id","getTranslation","defaultMessage","onClick","Collapse","InputWrapper","$disabled","$hasError","Boolean","overflow","aria-describedby","styled","theme","colors","danger600","neutral200","borderRadius","neutral0","css","primary600","neutral600","neutral150","undefined"],"mappings":"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"}