{"version":3,"file":"MessageDialogContentInner.cjs","sources":["../../../../src/components/Dialog/ControlledMessageDialog/MessageDialogContentInner.tsx"],"sourcesContent":["import { type FC, type ReactNode, memo, useMemo } from 'react'\n\nimport { type DecoratorsType, useDecorators } from '../../../hooks/useDecorators'\nimport { useIntl } from '../../../intl'\nimport { Button } from '../../Button'\nimport { Cluster } from '../../Layout'\nimport { Section } from '../../SectioningContent'\nimport { DialogBody, type Props as DialogBodyProps } from '../DialogBody'\nimport { DialogHeading, type Props as DialogHeadingProps } from '../DialogHeading'\nimport { dialogContentInner } from '../dialogInnerStyle'\n\nexport type AbstractProps = DialogBodyProps & {\n  /** ダイアログタイトル */\n  heading: DialogHeadingProps\n  /** ダイアログの説明 */\n  children: ReactNode\n  /** コンポーネント内の文言を変更するための関数を設定 */\n  decorators?: DecoratorsType<'closeButtonLabel'>\n}\n\nexport type MessageDialogContentInnerProps = AbstractProps & {\n  onClickClose: () => void\n}\n\nexport const MessageDialogContentInner: FC<MessageDialogContentInnerProps> = ({\n  heading,\n  contentBgColor,\n  contentPadding,\n  children,\n  onClickClose,\n  decorators,\n}) => {\n  const styles = useMemo(() => {\n    const { wrapper, actionArea } = dialogContentInner()\n\n    return {\n      wrapper: wrapper(),\n      actionArea: actionArea(),\n    }\n  }, [])\n\n  return (\n    <Section className={styles.wrapper}>\n      <DialogHeading {...heading} />\n      <DialogBody contentPadding={contentPadding} contentBgColor={contentBgColor}>\n        {children}\n      </DialogBody>\n      <FooterCluster\n        onClickClose={onClickClose}\n        decorators={decorators}\n        className={styles.actionArea}\n      />\n    </Section>\n  )\n}\n\nconst FooterCluster = memo<\n  Pick<MessageDialogContentInnerProps, 'onClickClose' | 'decorators'> & { className: string }\n>(({ onClickClose, decorators, className }) => {\n  const { localize } = useIntl()\n\n  const decoratorDefaultTexts = useMemo(\n    () => ({\n      closeButtonLabel: localize({\n        id: 'smarthr-ui/MessageDialog/closeButtonLabel',\n        defaultText: '閉じる',\n      }),\n    }),\n    [localize],\n  )\n\n  const decorated = useDecorators<'closeButtonLabel'>(decoratorDefaultTexts, decorators)\n\n  return (\n    <Cluster as=\"footer\" justify=\"flex-end\" className={className}>\n      <Button onClick={onClickClose} className=\"smarthr-ui-Dialog-closeButton\">\n        {decorated.closeButtonLabel}\n      </Button>\n    </Cluster>\n  )\n})\n"],"names":["useMemo","dialogContentInner","_jsxs","Section","_jsx","DialogHeading","DialogBody","memo","useIntl","useDecorators","Cluster","Button"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAwBO,MAAM,yBAAyB,GAAuC,CAAC,EAC5E,OAAO,EACP,cAAc,EACd,cAAc,EACd,QAAQ,EACR,YAAY,EACZ,UAAU,GACX,KAAI;AACH,IAAA,MAAM,MAAM,GAAGA,aAAO,CAAC,MAAK;QAC1B,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAGC,qDAAkB,EAAE;QAEpD,OAAO;YACL,OAAO,EAAE,OAAO,EAAE;YAClB,UAAU,EAAE,UAAU,EAAE;SACzB;IACH,CAAC,EAAE,EAAE,CAAC;IAEN,QACEC,gBAACC,sDAAO,EAAA,EAAC,SAAS,EAAE,MAAM,CAAC,OAAO,EAAA,QAAA,EAAA,CAChCC,cAAA,CAACC,6CAAa,EAAA,EAAA,GAAK,OAAO,GAAI,EAC9BD,cAAA,CAACE,uCAAU,EAAA,EAAC,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAA,QAAA,EACvE,QAAQ,EAAA,CACE,EACbF,eAAC,aAAa,EAAA,EACZ,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,MAAM,CAAC,UAAU,EAAA,CAC5B,CAAA,EAAA,CACM;AAEd;AAEA,MAAM,aAAa,GAAGG,UAAI,CAExB,CAAC,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,KAAI;AAC5C,IAAA,MAAM,EAAE,QAAQ,EAAE,GAAGC,oBAAO,EAAE;AAE9B,IAAA,MAAM,qBAAqB,GAAGR,aAAO,CACnC,OAAO;QACL,gBAAgB,EAAE,QAAQ,CAAC;AACzB,YAAA,EAAE,EAAE,2CAA2C;AAC/C,YAAA,WAAW,EAAE,KAAK;SACnB,CAAC;AACH,KAAA,CAAC,EACF,CAAC,QAAQ,CAAC,CACX;IAED,MAAM,SAAS,GAAGS,iCAAa,CAAqB,qBAAqB,EAAE,UAAU,CAAC;AAEtF,IAAA,QACEL,cAAA,CAACM,yCAAO,EAAA,EAAC,EAAE,EAAC,QAAQ,EAAC,OAAO,EAAC,UAAU,EAAC,SAAS,EAAE,SAAS,EAAA,QAAA,EAC1DN,cAAA,CAACO,+BAAM,EAAA,EAAC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAC,+BAA+B,EAAA,QAAA,EACrE,SAAS,CAAC,gBAAgB,EAAA,CACpB,EAAA,CACD;AAEd,CAAC,CAAC;;;;"}