{"version":3,"file":"ReleaseActionOptions.mjs","sources":["../../../admin/src/components/ReleaseActionOptions.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { VisuallyHidden, Field, Flex } from '@strapi/design-system';\nimport { styled } from 'styled-components';\n\ninterface FieldWrapperProps extends Field.Props {\n  actionType: 'publish' | 'unpublish';\n}\n\nconst getBorderLeftRadiusValue = (actionType: FieldWrapperProps['actionType']) => {\n  return actionType === 'publish' ? 1 : 0;\n};\n\nconst getBorderRightRadiusValue = (actionType: FieldWrapperProps['actionType']) => {\n  return actionType === 'publish' ? 0 : 1;\n};\n\nconst FieldWrapper = styled(Field.Root)<{\n  $actionType: 'publish' | 'unpublish';\n}>`\n  border-top-left-radius: ${({ $actionType, theme }) =>\n    theme.spaces[getBorderLeftRadiusValue($actionType)]};\n  border-bottom-left-radius: ${({ $actionType, theme }) =>\n    theme.spaces[getBorderLeftRadiusValue($actionType)]};\n  border-top-right-radius: ${({ $actionType, theme }) =>\n    theme.spaces[getBorderRightRadiusValue($actionType)]};\n  border-bottom-right-radius: ${({ $actionType, theme }) =>\n    theme.spaces[getBorderRightRadiusValue($actionType)]};\n\n  label {\n    color: inherit;\n    padding: ${({ theme }) => `${theme.spaces[2]} ${theme.spaces[3]}`};\n    text-align: center;\n    vertical-align: middle;\n    text-transform: capitalize;\n  }\n\n  &[data-checked='true'] {\n    color: ${({ theme, $actionType }) =>\n      $actionType === 'publish' ? theme.colors.primary700 : theme.colors.danger600};\n    background-color: ${({ theme, $actionType }) =>\n      $actionType === 'publish' ? theme.colors.primary100 : theme.colors.danger100};\n    border-color: ${({ theme, $actionType }) =>\n      $actionType === 'publish' ? theme.colors.primary700 : theme.colors.danger600};\n  }\n\n  &[data-checked='false'] {\n    border-left: ${({ $actionType }) => $actionType === 'unpublish' && 'none'};\n    border-right: ${({ $actionType }) => $actionType === 'publish' && 'none'};\n  }\n\n  &[data-checked='false'][data-disabled='false']:hover {\n    color: ${({ theme }) => theme.colors.neutral700};\n    background-color: ${({ theme }) => theme.colors.neutral100};\n    border-color: ${({ theme }) => theme.colors.neutral200};\n\n    & > label {\n      cursor: pointer;\n    }\n  }\n\n  &[data-disabled='true'] {\n    color: ${({ theme }) => theme.colors.neutral600};\n    background-color: ${({ theme }) => theme.colors.neutral150};\n    border-color: ${({ theme }) => theme.colors.neutral300};\n  }\n`;\n\ninterface ActionOptionProps {\n  selected: 'publish' | 'unpublish';\n  handleChange: (e: React.ChangeEvent<HTMLInputElement>) => void;\n  name: string;\n  disabled?: boolean;\n}\n\ninterface OptionProps extends ActionOptionProps {\n  actionType: 'publish' | 'unpublish';\n}\n\nconst ActionOption = ({\n  selected,\n  actionType,\n  handleChange,\n  name,\n  disabled = false,\n}: OptionProps) => {\n  return (\n    <FieldWrapper\n      $actionType={actionType}\n      background=\"primary0\"\n      borderColor=\"neutral200\"\n      color={selected === actionType ? 'primary600' : 'neutral600'}\n      position=\"relative\"\n      cursor=\"pointer\"\n      data-checked={selected === actionType}\n      data-disabled={disabled && selected !== actionType}\n    >\n      <Field.Label>\n        <VisuallyHidden>\n          <Field.Input\n            type=\"radio\"\n            name={name}\n            checked={selected === actionType}\n            onChange={handleChange}\n            value={actionType}\n            disabled={disabled}\n          />\n        </VisuallyHidden>\n        {actionType}\n      </Field.Label>\n    </FieldWrapper>\n  );\n};\n\nexport const ReleaseActionOptions = ({\n  selected,\n  handleChange,\n  name,\n  disabled = false,\n}: ActionOptionProps) => {\n  return (\n    <Flex>\n      <ActionOption\n        actionType=\"publish\"\n        selected={selected}\n        handleChange={handleChange}\n        name={name}\n        disabled={disabled}\n      />\n      <ActionOption\n        actionType=\"unpublish\"\n        selected={selected}\n        handleChange={handleChange}\n        name={name}\n        disabled={disabled}\n      />\n    </Flex>\n  );\n};\n"],"names":["getBorderLeftRadiusValue","actionType","getBorderRightRadiusValue","FieldWrapper","styled","Field","Root","$actionType","theme","spaces","colors","primary700","danger600","primary100","danger100","neutral700","neutral100","neutral200","neutral600","neutral150","neutral300","ActionOption","selected","handleChange","name","disabled","_jsx","background","borderColor","color","position","cursor","data-checked","data-disabled","_jsxs","Label","VisuallyHidden","Input","type","checked","onChange","value","ReleaseActionOptions","Flex"],"mappings":"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"}