{"version":3,"file":"createShadow.cjs","sources":["../../../src/themes/createShadow/createShadow.ts"],"sourcesContent":["import { type FlattenSimpleInterpolation, css } from 'styled-components'\n\nimport { merge } from '../../libs/lodash'\nimport { type ColorProperty, defaultColor } from '../createColor'\n\nimport { defaultShadow } from './defaultShadow'\n\nexport type ShadowProperty = {\n  LAYER0?: string\n  LAYER1?: string\n  LAYER2?: string\n  LAYER3?: string\n  LAYER4?: string\n  OUTLINE?: string\n  OUTLINE_MARGIN?: string\n  UNDERLINE?: string\n}\n\nexport type CreatedShadowTheme = {\n  LAYER0?: string\n  LAYER1?: string\n  LAYER2?: string\n  LAYER3?: string\n  LAYER4?: string\n  OUTLINE: string\n  OUTLINE_MARGIN: string\n  UNDERLINE: string\n  focusIndicatorStyles: FlattenSimpleInterpolation\n}\n\nconst createOutline = (color: string) => `0 0 0 2px white, 0 0 0 4px ${color}`\n\n// 将来的になんらか別のデザイントークンに移行したい\nconst createFocusIndicatorStyles = (outlineColor: string) => css`\n  /* stylelint-disable no-invalid-position-declaration */\n  isolation: isolate;\n  box-shadow: 0 0 0 2px white;\n  outline: 2px solid ${outlineColor};\n  outline-offset: 2px;\n  /* stylelint-enable no-invalid-position-declaration */\n`\n\nexport const createShadow = (\n  userShadow?: ShadowProperty,\n  userColor?: ColorProperty,\n): CreatedShadowTheme => {\n  const outlineColor = userColor?.OUTLINE || defaultColor.OUTLINE\n  const outline = createOutline(outlineColor)\n  const shadows = {\n    ...defaultShadow,\n    OUTLINE: outline,\n    focusIndicatorStyles: createFocusIndicatorStyles(outlineColor),\n  }\n\n  if (!userShadow) {\n    return shadows\n  }\n\n  return merge(shadows, userShadow)\n}\n"],"names":["css","defaultColor","defaultShadow","merge"],"mappings":";;;;;;;AA8BA,MAAM,aAAa,GAAG,CAAC,KAAa,KAAK,CAAA,2BAAA,EAA8B,KAAK,CAAA,CAAE;AAE9E;AACA,MAAM,0BAA0B,GAAG,CAAC,YAAoB,KAAKA,oBAAG,CAAA;;;;uBAIzC,YAAY,CAAA;;;CAGlC;MAEY,YAAY,GAAG,CAC1B,UAA2B,EAC3B,SAAyB,KACH;IACtB,MAAM,YAAY,GAAG,SAAS,EAAE,OAAO,IAAIC,+BAAY,CAAC,OAAO;AAC/D,IAAA,MAAM,OAAO,GAAG,aAAa,CAAC,YAAY,CAAC;AAC3C,IAAA,MAAM,OAAO,GAAG;AACd,QAAA,GAAGC,+CAAa;AAChB,QAAA,OAAO,EAAE,OAAO;AAChB,QAAA,oBAAoB,EAAE,0BAA0B,CAAC,YAAY,CAAC;KAC/D;IAED,IAAI,CAAC,UAAU,EAAE;AACf,QAAA,OAAO,OAAO;IAChB;AAEA,IAAA,OAAOC,iBAAK,CAAC,OAAO,EAAE,UAAU,CAAC;AACnC;;;;"}