Newer
Older
FanFarm / system / V3fanfarm-ubuntu-local / V3fanfarm-frontend / node_modules / .cache / babel-loader / f61175f0d9454b9118e77ec4b0a83d3b740b3c72026b38364690c0a7055d275f.json
@Fanfarm User Fanfarm User on 18 Dec 8 KB add all
{"ast":null,"code":"import _objectSpread from\"/home/fanfarm/FanFarm/system/V3fanfarm-ubuntu-local/V3fanfarm-frontend/node_modules/@babel/runtime/helpers/esm/objectSpread2.js\";import _objectWithoutProperties from\"/home/fanfarm/FanFarm/system/V3fanfarm-ubuntu-local/V3fanfarm-frontend/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js\";import _taggedTemplateLiteral from\"/home/fanfarm/FanFarm/system/V3fanfarm-ubuntu-local/V3fanfarm-frontend/node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js\";const _excluded=[\"children\",\"onClick\",\"secondary\",\"disabled\",\"fullWidth\",\"inline\",\"size\",\"noMargin\",\"type\"];var _templateObject;// src/components/common/Button.js - 改良版(タッチデバイス最適化)\nimport React from'react';import styled from'styled-components';import{jsx as _jsx}from\"react/jsx-runtime\";const StyledButton=styled.button(_templateObject||(_templateObject=_taggedTemplateLiteral([\"\\n  display: \",\";\\n  width: \",\";\\n  padding: \",\";\\n  background-color: \",\";\\n  color: var(--white);\\n  font-size: \",\";\\n  font-weight: 700;\\n  border: none;\\n  border-radius: var(--border-radius);\\n  cursor: pointer;\\n  transition: background-color 0.3s, transform 0.3s;\\n  box-shadow: var(--box-shadow);\\n  margin: \",\";\\n  \\n  /* \\u30BF\\u30C3\\u30C1\\u30C7\\u30D0\\u30A4\\u30B9\\u7528\\u306E\\u6700\\u5C0F\\u30B5\\u30A4\\u30BA\\u78BA\\u4FDD */\\n  min-height: 44px;\\n  min-width: \",\";\\n  \\n  /* \\u30BF\\u30C3\\u30D7\\u3057\\u3084\\u3059\\u304F\\u3059\\u308B */\\n  -webkit-tap-highlight-color: transparent;\\n  touch-action: manipulation;\\n\\n  &:hover {\\n    background-color: \",\";\\n    transform: translateY(-2px);\\n  }\\n\\n  &:active {\\n    transform: translateY(0);\\n  }\\n\\n  &:disabled {\\n    background-color: var(--border-color);\\n    cursor: not-allowed;\\n    transform: none;\\n    opacity: 0.6;\\n  }\\n\\n  /* \\u30BF\\u30D6\\u30EC\\u30C3\\u30C8\\u5BFE\\u5FDC */\\n  @media (min-width: 768px) and (max-width: 1023px) {\\n    padding: \",\";\\n    font-size: \",\";\\n  }\\n\\n  /* \\u30E2\\u30D0\\u30A4\\u30EB\\u5BFE\\u5FDC */\\n  @media (max-width: 767px) {\\n    width: \",\";\\n    min-height: 48px;\\n  }\\n\"])),props=>props.$inline?'inline-block':'block',props=>props.$fullWidth?'100%':'auto',props=>{if(props.$size==='small')return'12px 20px';if(props.$size==='large')return'20px 32px';return'16px 24px';// default\n},props=>props.$secondary?'var(--accent-color)':'var(--primary-color)',props=>{if(props.$size==='small')return'16px';if(props.$size==='large')return'22px';return'20px';// default\n},props=>props.$noMargin?'0':'16px 0',props=>props.$fullWidth?'auto':'120px',props=>props.$secondary?'#e3a800':'var(--secondary-color)',props=>{if(props.$size==='small')return'14px 22px';if(props.$size==='large')return'18px 30px';return'16px 26px';},props=>{if(props.$size==='small')return'17px';if(props.$size==='large')return'21px';return'19px';},props=>props.$inline?'auto':'100%');const Button=_ref=>{let{children,onClick,secondary,disabled,fullWidth,inline,size,noMargin,type='button'}=_ref,props=_objectWithoutProperties(_ref,_excluded);return/*#__PURE__*/_jsx(StyledButton,_objectSpread(_objectSpread({onClick:onClick,$secondary:secondary,disabled:disabled,$fullWidth:fullWidth,$inline:inline,$size:size,$noMargin:noMargin,type:type},props),{},{children:children}));};export default Button;","map":{"version":3,"names":["React","styled","jsx","_jsx","StyledButton","button","_templateObject","_taggedTemplateLiteral","props","$inline","$fullWidth","$size","$secondary","$noMargin","Button","_ref","children","onClick","secondary","disabled","fullWidth","inline","size","noMargin","type","_objectWithoutProperties","_excluded","_objectSpread"],"sources":["/home/fanfarm/FanFarm/system/V3fanfarm-ubuntu-local/V3fanfarm-frontend/src/components/common/Button.js"],"sourcesContent":["// src/components/common/Button.js - 改良版(タッチデバイス最適化)\nimport React from 'react';\nimport styled from 'styled-components';\n\nconst StyledButton = styled.button`\n  display: ${props => props.$inline ? 'inline-block' : 'block'};\n  width: ${props => props.$fullWidth ? '100%' : 'auto'};\n  padding: ${props => {\n    if (props.$size === 'small') return '12px 20px';\n    if (props.$size === 'large') return '20px 32px';\n    return '16px 24px'; // default\n  }};\n  background-color: ${props => props.$secondary ? 'var(--accent-color)' : 'var(--primary-color)'};\n  color: var(--white);\n  font-size: ${props => {\n    if (props.$size === 'small') return '16px';\n    if (props.$size === 'large') return '22px';\n    return '20px'; // default\n  }};\n  font-weight: 700;\n  border: none;\n  border-radius: var(--border-radius);\n  cursor: pointer;\n  transition: background-color 0.3s, transform 0.3s;\n  box-shadow: var(--box-shadow);\n  margin: ${props => props.$noMargin ? '0' : '16px 0'};\n  \n  /* タッチデバイス用の最小サイズ確保 */\n  min-height: 44px;\n  min-width: ${props => props.$fullWidth ? 'auto' : '120px'};\n  \n  /* タップしやすくする */\n  -webkit-tap-highlight-color: transparent;\n  touch-action: manipulation;\n\n  &:hover {\n    background-color: ${props => props.$secondary ? '#e3a800' : 'var(--secondary-color)'};\n    transform: translateY(-2px);\n  }\n\n  &:active {\n    transform: translateY(0);\n  }\n\n  &:disabled {\n    background-color: var(--border-color);\n    cursor: not-allowed;\n    transform: none;\n    opacity: 0.6;\n  }\n\n  /* タブレット対応 */\n  @media (min-width: 768px) and (max-width: 1023px) {\n    padding: ${props => {\n      if (props.$size === 'small') return '14px 22px';\n      if (props.$size === 'large') return '18px 30px';\n      return '16px 26px';\n    }};\n    font-size: ${props => {\n      if (props.$size === 'small') return '17px';\n      if (props.$size === 'large') return '21px';\n      return '19px';\n    }};\n  }\n\n  /* モバイル対応 */\n  @media (max-width: 767px) {\n    width: ${props => props.$inline ? 'auto' : '100%'};\n    min-height: 48px;\n  }\n`;\n\nconst Button = ({ \n  children, \n  onClick, \n  secondary, \n  disabled, \n  fullWidth, \n  inline,\n  size,\n  noMargin,\n  type = 'button', \n  ...props \n}) => {\n  return (\n    <StyledButton \n      onClick={onClick} \n      $secondary={secondary} \n      disabled={disabled}\n      $fullWidth={fullWidth}\n      $inline={inline}\n      $size={size}\n      $noMargin={noMargin}\n      type={type}\n      {...props}\n    >\n      {children}\n    </StyledButton>\n  );\n};\n\nexport default Button;\n"],"mappings":"unBAAA;AACA,MAAO,CAAAA,KAAK,KAAM,OAAO,CACzB,MAAO,CAAAC,MAAM,KAAM,mBAAmB,CAAC,OAAAC,GAAA,IAAAC,IAAA,yBAEvC,KAAM,CAAAC,YAAY,CAAGH,MAAM,CAACI,MAAM,CAAAC,eAAA,GAAAA,eAAA,CAAAC,sBAAA,kpCACrBC,KAAK,EAAIA,KAAK,CAACC,OAAO,CAAG,cAAc,CAAG,OAAO,CACnDD,KAAK,EAAIA,KAAK,CAACE,UAAU,CAAG,MAAM,CAAG,MAAM,CACzCF,KAAK,EAAI,CAClB,GAAIA,KAAK,CAACG,KAAK,GAAK,OAAO,CAAE,MAAO,WAAW,CAC/C,GAAIH,KAAK,CAACG,KAAK,GAAK,OAAO,CAAE,MAAO,WAAW,CAC/C,MAAO,WAAW,CAAE;AACtB,CAAC,CACmBH,KAAK,EAAIA,KAAK,CAACI,UAAU,CAAG,qBAAqB,CAAG,sBAAsB,CAEjFJ,KAAK,EAAI,CACpB,GAAIA,KAAK,CAACG,KAAK,GAAK,OAAO,CAAE,MAAO,MAAM,CAC1C,GAAIH,KAAK,CAACG,KAAK,GAAK,OAAO,CAAE,MAAO,MAAM,CAC1C,MAAO,MAAM,CAAE;AACjB,CAAC,CAOSH,KAAK,EAAIA,KAAK,CAACK,SAAS,CAAG,GAAG,CAAG,QAAQ,CAItCL,KAAK,EAAIA,KAAK,CAACE,UAAU,CAAG,MAAM,CAAG,OAAO,CAOnCF,KAAK,EAAIA,KAAK,CAACI,UAAU,CAAG,SAAS,CAAG,wBAAwB,CAiBzEJ,KAAK,EAAI,CAClB,GAAIA,KAAK,CAACG,KAAK,GAAK,OAAO,CAAE,MAAO,WAAW,CAC/C,GAAIH,KAAK,CAACG,KAAK,GAAK,OAAO,CAAE,MAAO,WAAW,CAC/C,MAAO,WAAW,CACpB,CAAC,CACYH,KAAK,EAAI,CACpB,GAAIA,KAAK,CAACG,KAAK,GAAK,OAAO,CAAE,MAAO,MAAM,CAC1C,GAAIH,KAAK,CAACG,KAAK,GAAK,OAAO,CAAE,MAAO,MAAM,CAC1C,MAAO,MAAM,CACf,CAAC,CAKQH,KAAK,EAAIA,KAAK,CAACC,OAAO,CAAG,MAAM,CAAG,MAAM,CAGpD,CAED,KAAM,CAAAK,MAAM,CAAGC,IAAA,EAWT,IAXU,CACdC,QAAQ,CACRC,OAAO,CACPC,SAAS,CACTC,QAAQ,CACRC,SAAS,CACTC,MAAM,CACNC,IAAI,CACJC,QAAQ,CACRC,IAAI,CAAG,QAET,CAAC,CAAAT,IAAA,CADIP,KAAK,CAAAiB,wBAAA,CAAAV,IAAA,CAAAW,SAAA,EAER,mBACEvB,IAAA,CAACC,YAAY,CAAAuB,aAAA,CAAAA,aAAA,EACXV,OAAO,CAAEA,OAAQ,CACjBL,UAAU,CAAEM,SAAU,CACtBC,QAAQ,CAAEA,QAAS,CACnBT,UAAU,CAAEU,SAAU,CACtBX,OAAO,CAAEY,MAAO,CAChBV,KAAK,CAAEW,IAAK,CACZT,SAAS,CAAEU,QAAS,CACpBC,IAAI,CAAEA,IAAK,EACPhB,KAAK,MAAAQ,QAAA,CAERA,QAAQ,EACG,CAAC,CAEnB,CAAC,CAED,cAAe,CAAAF,MAAM","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}