{"version":3,"file":"HorizontalStepItem.cjs","sources":["../../../src/components/Stepper/HorizontalStepItem.tsx"],"sourcesContent":["import { memo, useMemo } from 'react'\nimport { tv } from 'tailwind-variants'\n\nimport { Text } from '../Text'\n\nimport { StepCounter } from './StepCounter'\n\nimport type { HorizontalStep } from './types'\n\nconst classNameGenerator = tv({\n  slots: {\n    wrapper: [\n      'shr-group/stepItem',\n      // 長いステップ名が来ても等幅にする\n      'shr-flex-1',\n    ],\n    labelWrapper: 'shr-flex shr-flex-col shr-items-center shr-gap-0.5',\n    stepCounterWrapper: 'shr-flex shr-items-center shr-self-stretch',\n    beforeLine: [\n      'group-first/stepItem:shr-bg-transparent',\n      'shr-h-[theme(borderWidth.2)] shr-grow shr-bg-border',\n      'forced-colors:shr-bg-[ButtonBorder]',\n    ],\n    afterLine: [\n      'group-last/stepItem:shr-bg-transparent',\n      // compoundSlots で書けるが、variants の上書きが複雑になるため切り出していない\n      'shr-h-[theme(borderWidth.2)] shr-grow shr-bg-border',\n      'forced-colors:shr-bg-[ButtonBorder]',\n    ],\n    label: 'shr-px-0.25 shr-text-center shr-text-sm',\n  },\n  variants: {\n    status: {\n      completed: {\n        afterLine: ['shr-bg-main', 'forced-colors:shr-bg-[Highlight]'],\n      },\n      closed: {},\n    },\n    current: {\n      true: {\n        label: 'shr-font-bold',\n      },\n      false: {},\n    },\n    isPrevStepCompleted: {\n      true: {\n        beforeLine: ['shr-bg-main', 'forced-colors:shr-bg-[Highlight]'],\n      },\n      false: {},\n    },\n  },\n  compoundVariants: [\n    {\n      status: ['completed', 'closed'],\n      current: false,\n      className: {\n        label: 'shr-text-grey',\n      },\n    },\n  ],\n})\n\ntype Props = HorizontalStep & {\n  /** ステップ数 */\n  stepNumber: number\n  /** 現在地かどうか */\n  current: boolean\n  /** 前のステップが完了しているかどうか */\n  isPrevStepCompleted: boolean\n}\n\nexport const HorizontalStepItem = memo<Props>(\n  ({ stepNumber, label, status, current, isPrevStepCompleted }) => {\n    const classNames = useMemo(() => {\n      const {\n        wrapper,\n        labelWrapper,\n        stepCounterWrapper,\n        beforeLine,\n        afterLine,\n        label: labelText,\n      } = classNameGenerator({\n        status: typeof status === 'object' ? status.type : status,\n        current,\n        isPrevStepCompleted,\n      })\n\n      return {\n        wrapper: wrapper(),\n        labelWrapper: labelWrapper(),\n        stepCounterWrapper: stepCounterWrapper(),\n        beforeLine: beforeLine(),\n        afterLine: afterLine(),\n        label: labelText(),\n      }\n    }, [current, isPrevStepCompleted, status])\n\n    return (\n      <li aria-current={current ? 'step' : undefined} className={classNames.wrapper}>\n        <div className={classNames.labelWrapper}>\n          <div className={classNames.stepCounterWrapper}>\n            <span className={classNames.beforeLine} />\n            <StepCounter status={status} current={current} stepNumber={stepNumber} />\n            <span className={classNames.afterLine} />\n          </div>\n          <Text styleType=\"sectionTitle\" className={classNames.label}>\n            {label}\n          </Text>\n        </div>\n      </li>\n    )\n  },\n)\n"],"names":["tv","memo","useMemo","_jsx","_jsxs","StepCounter","Text"],"mappings":"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"}