{"version":3,"file":"FloatArea.cjs","sources":["../../../src/components/FloatArea/FloatArea.tsx"],"sourcesContent":["import { type ComponentPropsWithoutRef, type FC, type ReactNode, useMemo } from 'react'\nimport { tv } from 'tailwind-variants'\n\nimport { Base } from '../Base'\nimport { Cluster, Stack } from '../Layout'\nimport { ResponseMessage } from '../ResponseMessage'\n\nimport type { ResponseStatusWithoutProcessing } from '../../hooks/useResponseStatus'\nimport type { AbstractSize, CharRelativeSize } from '../../themes'\nimport type { Gap } from '../../types'\n\nconst classNameGenerator = tv({\n  slots: {\n    wrapper: 'smarthr-ui-FloatArea shr-sticky shr-z-fixed-menu -shr-mx-0.5',\n    mainButtonCluster: 'shr-ms-auto',\n    responseMessageWrapper: 'shr-ms-auto',\n  },\n  variants: {\n    bottom: {\n      0: {\n        wrapper: 'shr-bottom-0',\n      },\n      0.25: {\n        wrapper: 'shr-bottom-0.25',\n      },\n      0.5: {\n        wrapper: 'shr-bottom-0.5',\n      },\n      0.75: {\n        wrapper: 'shr-bottom-0.75',\n      },\n      1: {\n        wrapper: 'shr-bottom-1',\n      },\n      1.25: {\n        wrapper: 'shr-bottom-1.25',\n      },\n      1.5: {\n        wrapper: 'shr-bottom-1.5',\n      },\n      2: {\n        wrapper: 'shr-bottom-2',\n      },\n      2.5: {\n        wrapper: 'shr-bottom-2.5',\n      },\n      3: {\n        wrapper: 'shr-bottom-3',\n      },\n      3.5: {\n        wrapper: 'shr-bottom-3.5',\n      },\n      4: {\n        wrapper: 'shr-bottom-4',\n      },\n      8: {\n        wrapper: 'shr-bottom-8',\n      },\n      X3S: {\n        wrapper: 'shr-bottom-0.25',\n      },\n      XXS: {\n        wrapper: 'shr-bottom-0.5',\n      },\n      XS: {\n        wrapper: 'shr-bottom-1',\n      },\n      S: {\n        wrapper: 'shr-bottom-1.5',\n      },\n      M: {\n        wrapper: 'shr-bottom-2',\n      },\n      L: {\n        wrapper: 'shr-bottom-2.5',\n      },\n      XL: {\n        wrapper: 'shr-bottom-3',\n      },\n      XXL: {\n        wrapper: 'shr-bottom-3.5',\n      },\n      X3L: {\n        wrapper: 'shr-bottom-4',\n      },\n    } as { [key in Gap]: { wrapper: string } },\n  },\n  defaultVariants: {\n    bottom: 1.5,\n  },\n})\n\ntype AbstractProps = {\n  /** 表示する `Button` または `AnchorButton` コンポーネント */\n  primaryButton: ReactNode\n  /** 表示する `Button` または `AnchorButton` コンポーネント */\n  secondaryButton?: ReactNode\n  /** tertiary 領域に表示するボタン */\n  tertiaryButton?: ReactNode\n  /** 操作に対するフィードバックメッセージ */\n  responseStatus?: ResponseStatusWithoutProcessing\n  /** コンポーネントの下端から、包含ブロックの下端までの間隔（基準フォントサイズの相対値または抽象値） */\n  bottom?: CharRelativeSize | AbstractSize\n  /** コンポーネントの `z-index` 値 */\n  zIndex?: number\n}\ntype Props = AbstractProps & Omit<ComponentPropsWithoutRef<'div'>, keyof AbstractProps>\n\nexport const FloatArea: FC<Props> = ({\n  primaryButton,\n  secondaryButton,\n  tertiaryButton,\n  responseStatus,\n  bottom,\n  zIndex,\n  style,\n  className,\n  ...rest\n}) => {\n  const classNames = useMemo(() => {\n    const { wrapper, mainButtonCluster, responseMessageWrapper } = classNameGenerator({ bottom })\n\n    return {\n      wrapper: wrapper({ className }),\n      mainButtonCluster: mainButtonCluster(),\n      responseMessageWrapper: responseMessageWrapper(),\n    }\n  }, [bottom, className])\n  const actualStyle = useMemo(() => ({ ...style, zIndex }), [style, zIndex])\n\n  return (\n    <Base {...rest} layer={3} padding={1} className={classNames.wrapper} style={actualStyle}>\n      <Stack gap={0.5}>\n        <Cluster>\n          {tertiaryButton}\n          <Cluster gap={1} className={classNames.mainButtonCluster}>\n            {secondaryButton}\n            {primaryButton}\n          </Cluster>\n        </Cluster>\n        {responseStatus && (\n          <p className={classNames.responseMessageWrapper}>\n            <ResponseMessage status={responseStatus.status}>{responseStatus.text}</ResponseMessage>\n          </p>\n        )}\n      </Stack>\n    </Base>\n  )\n}\n"],"names":["tv","useMemo","_jsx","Base","_jsxs","Stack","Cluster","ResponseMessage"],"mappings":"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"}