{"version":3,"file":"Td.cjs","sources":["../../../src/components/Table/Td.tsx"],"sourcesContent":["import { type ComponentPropsWithoutRef, type PropsWithChildren, memo, useMemo } from 'react'\nimport { type VariantProps, tv } from 'tailwind-variants'\n\nimport { reelShadowClassNameGenerator } from './reelShadowStyle'\n\nimport type { CellContentWidth } from './type'\n\nexport type AbstractProps = PropsWithChildren<\n  VariantProps<typeof classNameGenerator> & {\n    /** 横スクロール時、カラムを左右いずれかに固定 */\n    fixed?: 'left' | 'right'\n    contentWidth?:\n      | CellContentWidth\n      | { base?: CellContentWidth; min?: CellContentWidth; max?: CellContentWidth }\n  }\n>\ntype Props = AbstractProps & Omit<ComponentPropsWithoutRef<'td'>, keyof AbstractProps>\n\nexport const Td = memo<Props>(\n  ({ align, vAlign, nullable, fixed, contentWidth, className, style, ...rest }) => {\n    const actualClassName = useMemo(() => {\n      const base = classNameGenerator({ align, vAlign, nullable, className })\n\n      if (!fixed) {\n        return base\n      }\n\n      const shadow = reelShadowClassNameGenerator({ direction: fixed })\n\n      return `${base} ${shadow}`\n    }, [align, className, fixed, nullable, vAlign])\n    const actualStyle = useMemo(() => {\n      if (typeof contentWidth === 'object') {\n        return {\n          ...style,\n          width: convertContentWidth(contentWidth.base),\n          minWidth: convertContentWidth(contentWidth.min),\n          maxWidth: convertContentWidth(contentWidth.max),\n        }\n      }\n\n      return {\n        ...style,\n        width: convertContentWidth(contentWidth),\n      }\n    }, [style, contentWidth])\n\n    return <td {...rest} data-fixed={fixed} className={actualClassName} style={actualStyle} />\n  },\n)\n\nconst classNameGenerator = tv({\n  base: [\n    'smarthr-ui-Td',\n    'shr-h-[calc(1em_*_theme(lineHeight.normal))] shr-border-0 shr-px-1 shr-py-0.5 shr-align-middle shr-text-base shr-leading-normal shr-text-black',\n    '[&.fixed]:shr-bg-white',\n  ],\n  variants: {\n    align: {\n      left: '',\n      right: 'shr-text-right',\n    },\n    vAlign: {\n      middle: '',\n      baseline: 'shr-align-baseline',\n    },\n    nullable: {\n      true: \"empty:after:shr-content-['-----']\",\n    },\n  },\n  defaultVariants: {\n    align: 'left',\n    vAlign: 'middle',\n    nullable: false,\n  },\n})\n\nconst convertContentWidth = (contentWidth?: CellContentWidth) => {\n  if (typeof contentWidth === 'number') {\n    return `${contentWidth}em`\n  }\n\n  return contentWidth\n}\n"],"names":["memo","useMemo","reelShadowClassNameGenerator","_jsx","tv"],"mappings":";;;;;;;AAkBO,MAAM,EAAE,GAAGA,UAAI,CACpB,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,KAAI;AAC9E,IAAA,MAAM,eAAe,GAAGC,aAAO,CAAC,MAAK;AACnC,QAAA,MAAM,IAAI,GAAG,kBAAkB,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;QAEvE,IAAI,CAAC,KAAK,EAAE;AACV,YAAA,OAAO,IAAI;QACb;QAEA,MAAM,MAAM,GAAGC,6DAA4B,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;AAEjE,QAAA,OAAO,CAAA,EAAG,IAAI,CAAA,CAAA,EAAI,MAAM,EAAE;AAC5B,IAAA,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;AAC/C,IAAA,MAAM,WAAW,GAAGD,aAAO,CAAC,MAAK;AAC/B,QAAA,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE;YACpC,OAAO;AACL,gBAAA,GAAG,KAAK;AACR,gBAAA,KAAK,EAAE,mBAAmB,CAAC,YAAY,CAAC,IAAI,CAAC;AAC7C,gBAAA,QAAQ,EAAE,mBAAmB,CAAC,YAAY,CAAC,GAAG,CAAC;AAC/C,gBAAA,QAAQ,EAAE,mBAAmB,CAAC,YAAY,CAAC,GAAG,CAAC;aAChD;QACH;QAEA,OAAO;AACL,YAAA,GAAG,KAAK;AACR,YAAA,KAAK,EAAE,mBAAmB,CAAC,YAAY,CAAC;SACzC;AACH,IAAA,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;AAEzB,IAAA,OAAOE,cAAA,CAAA,IAAA,EAAA,EAAA,GAAQ,IAAI,EAAA,YAAA,EAAc,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,KAAK,EAAE,WAAW,GAAI;AAC5F,CAAC;AAGH,MAAM,kBAAkB,GAAGC,QAAE,CAAC;AAC5B,IAAA,IAAI,EAAE;QACJ,eAAe;QACf,gJAAgJ;QAChJ,wBAAwB;AACzB,KAAA;AACD,IAAA,QAAQ,EAAE;AACR,QAAA,KAAK,EAAE;AACL,YAAA,IAAI,EAAE,EAAE;AACR,YAAA,KAAK,EAAE,gBAAgB;AACxB,SAAA;AACD,QAAA,MAAM,EAAE;AACN,YAAA,MAAM,EAAE,EAAE;AACV,YAAA,QAAQ,EAAE,oBAAoB;AAC/B,SAAA;AACD,QAAA,QAAQ,EAAE;AACR,YAAA,IAAI,EAAE,mCAAmC;AAC1C,SAAA;AACF,KAAA;AACD,IAAA,eAAe,EAAE;AACf,QAAA,KAAK,EAAE,MAAM;AACb,QAAA,MAAM,EAAE,QAAQ;AAChB,QAAA,QAAQ,EAAE,KAAK;AAChB,KAAA;AACF,CAAA,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAAC,YAA+B,KAAI;AAC9D,IAAA,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE;QACpC,OAAO,CAAA,EAAG,YAAY,CAAA,EAAA,CAAI;IAC5B;AAEA,IAAA,OAAO,YAAY;AACrB,CAAC;;;;"}