@charcoal-ui/react-sandbox 2.4.0 → 2.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"index.modern.js","sources":["../src/components/Filter/index.tsx","../src/styled.ts","../src/components/icons/Base.tsx","../src/components/icons/InfoIcon.tsx","../src/components/HintText/index.tsx","../src/foundation/contants.ts","../src/foundation/hooks.ts","../src/components/Layout/index.tsx","../src/components/TextEllipsis/helper.ts","../src/components/TextEllipsis/index.tsx","../src/components/MenuListItem/index.tsx","../src/components/LeftMenu/index.tsx","../src/components/SwitchCheckbox/index.tsx","../src/components/WithIcon/index.tsx","../src/foundation/support.ts","../src/foundation/utils.ts","../src/components/icons/NextIcon.tsx","../src/components/CarouselButton/index.tsx","../src/components/Carousel/index.tsx","../src/components/icons/DotsIcon.tsx","../src/components/icons/WedgeIcon.tsx","../src/components/Pager/index.tsx"],"sourcesContent":["import React from 'react'\nimport styled, { css } from 'styled-components'\nimport { useComponentAbstraction, LinkProps } from '@charcoal-ui/react'\nimport { maxWidth } from '@charcoal-ui/utils'\n\ninterface Props<T extends HTMLElement> {\n active?: boolean\n hover?: boolean\n reactive?: boolean\n children: React.ReactNode\n onClick?: React.MouseEventHandler<T>\n}\n\ninterface FilterIconButtonProps extends Props<HTMLButtonElement> {\n width?: number\n height?: number\n}\n\nexport const FilterButton = React.forwardRef(function FilterButton(\n {\n onClick,\n children,\n active = false,\n hover,\n reactive = false,\n }: Props<HTMLButtonElement>,\n ref: React.Ref<HTMLButtonElement>\n) {\n return (\n <ButtonLike\n active={active}\n reactive={reactive}\n hover={hover}\n onClick={active && !reactive ? undefined : onClick}\n ref={ref}\n >\n {children}\n </ButtonLike>\n )\n})\n\nexport const FilterIconButton = React.forwardRef(function FilterIconButton(\n {\n onClick,\n children,\n active = false,\n hover,\n reactive = false,\n width,\n height,\n }: FilterIconButtonProps,\n ref: React.Ref<HTMLButtonElement>\n) {\n return (\n <StyledButtonLike\n active={active}\n reactive={reactive}\n hover={hover}\n onClick={active && !reactive ? undefined : onClick}\n ref={ref}\n buttonWidth={width}\n buttonHeight={height}\n >\n {children}\n </StyledButtonLike>\n )\n})\n\nexport const FilterLink = React.forwardRef(function FilterLink(\n {\n onClick,\n children,\n active = false,\n hover,\n reactive = false,\n ...props\n }: Props<HTMLAnchorElement> & LinkProps,\n ref: React.Ref<HTMLAnchorElement>\n) {\n const { Link } = useComponentAbstraction()\n if (active && !reactive) {\n return (\n <PlainElement active hover={hover} ref={ref}>\n {children}\n </PlainElement>\n )\n } else {\n return (\n <Link {...props} onClick={onClick}>\n <PlainElement\n active={active}\n reactive={reactive}\n hover={hover}\n ref={ref}\n >\n {children}\n </PlainElement>\n </Link>\n )\n }\n})\n\ninterface ButtonCssProps {\n active?: boolean\n hover?: boolean\n reactive?: boolean\n}\n\nconst buttonCss = css`\n display: block;\n outline: none;\n border: none;\n padding: 9px 24px;\n font-size: 14px;\n line-height: 22px;\n font-weight: bold;\n border-radius: /* absurd radius, but ensures rounded corners */ 2000px;\n transition: color 0.2s;\n color: ${({ theme }) => theme.color.text3};\n cursor: pointer;\n user-select: none;\n background-color: transparent;\n\n &:hover {\n color: ${({ theme }) => theme.color.text2};\n }\n\n ${({ hover = false }: ButtonCssProps) =>\n hover &&\n css`\n color: ${({ theme }) => theme.color.text2};\n `}\n\n ${({ active = false }: ButtonCssProps) =>\n active &&\n css`\n background-color: ${({ theme }) => theme.color.surface3};\n color: ${({ theme }) => theme.color.text2};\n `}\n\n ${({ active = false, reactive = false }) =>\n active &&\n !reactive &&\n css`\n cursor: default;\n `}\n\n @media ${({ theme }) => maxWidth(theme.breakpoint.screen1)} {\n padding: 5px 16px;\n }\n`\n\nconst padding0Css = css`\n padding: 0;\n\n @media ${({ theme }) => maxWidth(theme.breakpoint.screen1)} {\n padding: 0;\n }\n`\n\nconst ButtonLike = styled.button`\n ${buttonCss}\n`\n\nconst PlainElement = styled.span`\n ${buttonCss}\n`\n\nconst StyledButtonLike = styled(ButtonLike)<{\n buttonWidth: number | undefined\n buttonHeight: number | undefined\n}>`\n ${padding0Css};\n ${(p) => p.buttonWidth !== undefined && `width: ${p.buttonWidth}px;`}\n ${(p) => p.buttonHeight !== undefined && `height: ${p.buttonHeight}px;`}\n`\n\nconst Filter = styled.div`\n display: flex;\n`\n\nexport default Filter\n","import styled from 'styled-components'\nimport { createTheme } from '@charcoal-ui/styled'\nexport const theme = createTheme(styled)\n","import React from 'react'\nimport styled from 'styled-components'\n\nexport type IconSizes = 16 | 24 | 32\n\ninterface Props {\n path: string | React.ReactNode\n viewBoxSize: number\n size?: IconSizes | 40 | 48 | 64 | 72\n transform?: string\n currentColor?: boolean\n fillRule?: 'nonzero' | 'evenodd'\n clipRule?: 'nonzero' | 'evenodd' | 'inherit'\n}\n\nexport default function IconBase({\n size = 24,\n viewBoxSize,\n currentColor,\n path,\n transform,\n fillRule,\n clipRule,\n}: Props) {\n return (\n <Icon\n viewBox={`0 0 ${viewBoxSize} ${viewBoxSize}`}\n size={size}\n currentColor={currentColor}\n >\n <IconBasePath\n path={path}\n transform={transform}\n fillRule={fillRule}\n clipRule={clipRule}\n />\n </Icon>\n )\n}\n\nconst Icon = styled.svg<{ size: number; currentColor?: boolean }>`\n stroke: none;\n fill: ${({ currentColor = false, theme }) =>\n currentColor ? 'currentColor' : theme.color.text2};\n width: ${(props) => props.size}px;\n height: ${(props) => props.size}px;\n line-height: 0;\n font-size: 0;\n vertical-align: middle;\n`\n\ntype IconBasePathProps = Pick<\n Props,\n 'path' | 'transform' | 'fillRule' | 'clipRule'\n>\nexport const IconBasePath = ({\n path,\n transform,\n fillRule,\n clipRule,\n}: IconBasePathProps) => {\n if (typeof path === 'string') {\n return (\n <path\n d={path}\n transform={transform}\n fillRule={fillRule}\n clipRule={clipRule}\n />\n )\n } else {\n // eslint-disable-next-line react/jsx-no-useless-fragment\n return <>{path}</>\n }\n}\n","import React from 'react'\nimport styled from 'styled-components'\nimport IconBase from './Base'\n\nconst size = 16\n\nexport default function InfoIcon() {\n const path = (\n <>\n <path\n d=\"M8 16C3.58172 16 0 12.4183 0 8C0 3.58172 3.58172 0 8 0C12.4183\n 0 16 3.58172 16 8C16 12.4183 12.4183 16 8 16Z\"\n />\n <Path\n d=\"M14 8C14 11.3137 11.3137 14 8 14C4.68629 14 2 11.3137 2 8C2 4.68629\n 4.68629 2 8 2C11.3137 2 14 4.68629 14 8ZM8 6.25C8.69036 6.25 9.25 5.69036\n 9.25 5C9.25 4.30964 8.69036 3.75 8 3.75C7.30964 3.75 6.75 4.30964 6.75\n 5C6.75 5.69036 7.30964 6.25 8 6.25ZM7 7.75V11.25C7 11.8023 7.44772 12.25\n 8 12.25C8.55228 12.25 9 11.8023 9 11.25V7.75C9 7.19772 8.55228 6.75 8\n 6.75C7.44772 6.75 7 7.19772 7 7.75Z\"\n />\n </>\n )\n return <IconBase viewBoxSize={size} size={size} currentColor path={path} />\n}\n\nconst Path = styled.path`\n fill: ${({ theme }) => theme.color.surface1};\n fill-rule: evenodd;\n`\n","import React from 'react'\nimport styled, { css } from 'styled-components'\nimport { theme } from '../../styled'\nimport InfoIcon from '../icons/InfoIcon'\nimport { maxWidth } from '@charcoal-ui/utils'\n\ntype Context = 'page' | 'section'\ninterface Props {\n children: React.ReactNode\n context: Context\n className?: string\n}\n\nexport default function HintText({ children, context, className }: Props) {\n return (\n <Container className={className} context={context}>\n <IconWrap>\n <InfoIcon />\n </IconWrap>\n <Text>{children}</Text>\n </Container>\n )\n}\n\nconst Container = styled.div.attrs<Props, ReturnType<typeof styledProps>>(\n styledProps\n)`\n ${(p) =>\n theme((o) => [\n o.bg.surface3,\n o.borderRadius(8),\n o.padding.vertical(p.default.vertical),\n o.padding.horizontal(p.default.horizontal),\n ])}\n\n @media ${({ theme: t }) => maxWidth(t.breakpoint.screen1)} {\n ${(p) =>\n theme((o) => [\n o.padding.vertical(p.screen1.vertical),\n o.padding.horizontal(p.screen1.horizontal),\n ])}\n }\n\n display: flex;\n align-items: flex-start;\n ${(p) =>\n p.context === 'page' &&\n css`\n justify-content: center;\n `}\n`\n\nconst IconWrap = styled.div`\n display: flex;\n align-items: center;\n color: ${(p) => p.theme.color.text4};\n height: 22px;\n margin: -4px 4px -4px 0;\n`\n\nconst Text = styled.p`\n ${theme((o) => [o.font.text2, o.typography(14)])}\n margin: 0;\n`\n\nfunction styledProps(props: Props) {\n return { ...props, ...contextToProps(props.context) }\n}\n\nfunction contextToProps(context: Context) {\n switch (context) {\n case 'page':\n return {\n default: {\n horizontal: 40,\n vertical: 24,\n },\n screen1: {\n horizontal: 16,\n vertical: 16,\n },\n } as const\n case 'section':\n return {\n default: {\n horizontal: 16,\n vertical: 16,\n },\n screen1: {\n horizontal: 16,\n vertical: 16,\n },\n } as const\n }\n}\n","import { columnSystem, COLUMN_UNIT, GUTTER_UNIT } from '@charcoal-ui/foundation'\n\nexport const MAIN_COLUMN_HORIZONTAL_MIN_MARGIN = 72\n\nexport const RESPONSIVE_LEFT_WIDTH =\n columnSystem(2, COLUMN_UNIT, GUTTER_UNIT) + GUTTER_UNIT\nexport const RESPONSIVE_MAIN_MAX_WIDTH = columnSystem(\n 12,\n COLUMN_UNIT,\n GUTTER_UNIT\n)\n","import {\n useCallback,\n useDebugValue,\n useLayoutEffect,\n useMemo,\n useReducer,\n useRef,\n useState,\n} from 'react'\nimport ReactDOM from 'react-dom'\nimport { useTheme } from 'styled-components'\nimport { maxWidth } from '@charcoal-ui/utils'\n\ndeclare const __TEST__: object | undefined // actually object|false, but using undefined allows ! assertion\n\ndeclare module 'react-dom' {\n export function flushSync<R>(callback: () => R): R\n}\n\n/**\n * 現在の画面幅がモバイル幅かどうかを返す\n */\nexport function useMediaScreen1() {\n return useMedia(maxWidth(useTheme().breakpoint.screen1))\n}\n\n/**\n * Returns a dynamically-updating media query result.\n *\n * When the media query's matching state changes, this hook's result\n * will update with sync priority.\n *\n * @param query A full media query (the string written between `@media` and the `{` in CSS)\n * @returns true if the query matches, false if it doesn't\n */\nexport function useMedia(query: string) {\n const matcher = useMemo(\n () =>\n __TEST__\n ? {\n matches: false,\n addListener: () => {\n // do nothing\n },\n removeListener: () => {\n // do nothing\n },\n }\n : matchMedia(query),\n [query]\n )\n const [matches, setMatches] = useState<boolean>(matcher.matches)\n\n // can only happen if/when the query changes\n if (matcher.matches !== matches) {\n setMatches(matcher.matches)\n }\n\n const callback = (e: MediaQueryListEvent) => {\n // We're not on a React event listener, so React doesn't know the priority of the setState call\n // Media query updates _are_ very high priority to avoid FOUC\n // so we need to emit a sync priority update\n try {\n // However, flushSync may throw if the matcher is triggered by a\n // forced relayout that happens during a React lifecycle handler.\n // Try to be resilient and retry without flushSync if flushSync throws.\n ReactDOM.flushSync(() => {\n setMatches(e.matches)\n })\n } catch {\n setMatches(e.matches)\n }\n }\n\n useLayoutEffect(() => {\n matcher.addListener(callback)\n // sync update\n setMatches(matcher.matches)\n return () => {\n matcher.removeListener(callback)\n }\n }, [matcher])\n\n useDebugValue(`${query}: ${matches.toString()}`)\n\n return matches\n}\n\nexport interface ElementSize {\n width: number\n height: number\n}\n\nfunction measure(ref: Element | null): ElementSize | undefined {\n return ref !== null ? ref.getBoundingClientRect() : undefined\n}\n\nexport function useElementSize(\n ref: React.RefObject<Element>,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n deps: any[] = []\n) {\n // _don't_ call measure synchronously here even if you somehow can\n // measurement has to be done outside the render phase, either\n // as the resize observer callback or as a layout effect\n\n const [size, setSize] = useReducer(\n (\n state: ElementSize | undefined,\n next: ElementSize | undefined\n ): ElementSize | undefined => {\n // width, height, etc are not own properties but getters in the prototype\n // can't use shallowEqual or other iterative checks\n if (state === undefined || next === undefined) {\n return next\n }\n if (state.height === next.height && state.width === next.width) {\n return state\n }\n return next\n },\n undefined\n )\n const [watch, setWatch] = useState<Element | null>(null)\n useLayoutEffect(() => {\n if (watch === null) {\n return\n }\n\n const observer = new ResizeObserver(() => {\n // NOTE: the ResizeObserverCallback receives a rect,\n // but it's not measured in the same way as getBoundingClientRect,\n // which causes unstable layout\n const newSize = measure(watch)\n setSize(newSize)\n })\n\n // The ResizeObserver is supposed to call handleResize on observe\n observer.observe(watch)\n\n return () => {\n // this will correctly unobserve if either the observer\n // or the current changes, and even on unmount\n // no need for an observer.disconnect() 🎉\n observer.unobserve(watch)\n setSize(undefined)\n }\n }, [watch])\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useLayoutEffect(() => {\n if (ref.current !== watch) {\n setWatch(ref.current)\n }\n })\n\n useLayoutEffect(() => {\n if (deps.length > 0) {\n // Sync measuring\n setSize(measure(ref.current))\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, deps)\n\n useDebugValue(size)\n\n return size\n}\n\n/**\n * Debounce version of setState with `requestAnimationFrame`\n *\n * @param defaultValue Default value for `useState`\n */\nexport function useDebounceAnimationState<T>(defaultValue: T) {\n const [state, setState] = useState(defaultValue)\n const timer = useRef<ReturnType<typeof requestAnimationFrame>>()\n // typescript bug? (any when omitting type annotation)\n // eslint-disable-next-line @typescript-eslint/no-inferrable-types\n const setDebounceState = useCallback((value: T, force: boolean = false) => {\n if (force) {\n setState(value)\n return\n }\n if (timer.current !== undefined) {\n return\n }\n timer.current = requestAnimationFrame(() => {\n setState(value)\n if (timer.current !== undefined) {\n timer.current = undefined\n }\n })\n }, [])\n return [state, setDebounceState] as [typeof state, typeof setDebounceState]\n}\n","import React, { useContext } from 'react'\nimport styled, { createGlobalStyle, css } from 'styled-components'\nimport {\n MAIN_COLUMN_HORIZONTAL_MIN_MARGIN,\n RESPONSIVE_LEFT_WIDTH,\n RESPONSIVE_MAIN_MAX_WIDTH,\n} from '../../foundation/contants'\nimport { useMediaScreen1 } from '../../foundation/hooks'\nimport { columnSystem, COLUMN_UNIT, GUTTER_UNIT } from '@charcoal-ui/foundation'\nimport { maxWidth } from '@charcoal-ui/utils'\n\ninterface Props {\n menu?: React.ReactNode\n isHeaderTopMenu?: boolean\n children: React.ReactNode\n header?: React.ReactNode\n wide?: boolean\n center?: boolean\n}\n\nconst LayoutConfigContext = React.createContext({\n wide: false,\n center: false,\n withLeft: false,\n})\n\nexport default function Layout({\n menu,\n children,\n header,\n center = false,\n wide,\n isHeaderTopMenu = false,\n}: Props) {\n const config = {\n center,\n wide: center ? true : wide ?? false,\n withLeft: menu != null && !isHeaderTopMenu,\n }\n return (\n <LayoutRoot>\n <LayoutConfigContext.Provider value={config}>\n {config.withLeft && <LeftArea>{menu}</LeftArea>}\n <MainArea center={center}>\n {header != null && <Header>{header}</Header>}\n {isHeaderTopMenu && (\n <HeaderTopMenuContainer>{menu}</HeaderTopMenuContainer>\n )}\n <Grid>{children}</Grid>\n </MainArea>\n </LayoutConfigContext.Provider>\n <GlobalStyle />\n </LayoutRoot>\n )\n}\n\nconst HeaderTopMenuContainer = styled.div`\n margin-bottom: 40px;\n overflow-x: auto;\n word-break: keep-all;\n\n @media ${({ theme }) => maxWidth(theme.breakpoint.screen1)} {\n margin-bottom: 0;\n padding-left: 16px;\n padding-bottom: 16px;\n background-color: ${({ theme }) => theme.color.surface2};\n }\n`\n\nconst GlobalStyle = createGlobalStyle`\n :root {\n background-color: ${({ theme }) => theme.color.background2};\n\n @media ${({ theme }) => maxWidth(theme.breakpoint.screen1)} {\n background-color: ${({ theme }) => theme.color.background1};\n }\n }\n`\n\nconst LayoutRoot = styled.div`\n display: flex;\n background-color: ${({ theme }) => theme.color.background2};\n\n @media ${({ theme }) => maxWidth(theme.breakpoint.screen1)} {\n background-color: ${({ theme }) => theme.color.background1};\n }\n`\n\nconst LeftArea = styled.div`\n min-width: ${RESPONSIVE_LEFT_WIDTH}px;\n padding: 40px 0 40px ${GUTTER_UNIT}px;\n box-sizing: border-box;\n\n @media ${({ theme }) => theme.breakpoint.screen3} {\n display: none;\n }\n`\n\nconst MainArea = styled.div<{ center: boolean }>`\n flex-grow: 1;\n /* https://www.w3.org/TR/css-flexbox-1/#min-size-auto */\n min-width: 0;\n max-width: ${(p) =>\n p.center\n ? columnSystem(6, COLUMN_UNIT, GUTTER_UNIT)\n : RESPONSIVE_MAIN_MAX_WIDTH}px;\n padding: 40px ${MAIN_COLUMN_HORIZONTAL_MIN_MARGIN}px;\n margin: 0 auto;\n display: flex;\n flex-direction: column;\n\n @media ${({ theme }) => maxWidth(theme.breakpoint.screen1)} {\n padding: 0;\n }\n`\n\nconst Header = styled.div`\n font-weight: bold;\n margin-bottom: 12px;\n font-size: 20px;\n line-height: 28px;\n color: ${({ theme }) => theme.color.text2};\n\n @media ${({ theme }) => maxWidth(theme.breakpoint.screen1)} {\n margin-bottom: 0;\n padding: 12px;\n font-size: 16px;\n line-height: 24px;\n display: flex;\n justify-content: center;\n background-color: ${({ theme }) => theme.color.surface2};\n }\n`\n\nconst Grid = styled.div`\n display: grid;\n gap: ${GUTTER_UNIT}px;\n grid-template-columns: 1fr;\n grid-auto-columns: 1fr;\n grid-auto-rows: auto;\n\n @media ${({ theme }) => maxWidth(theme.breakpoint.screen1)} {\n gap: 0;\n background-color: ${({ theme }) => theme.color.background1};\n padding-bottom: 60px;\n }\n`\n\ninterface LayoutItemProps {\n span: number\n children?: React.ReactNode\n}\n\nexport const LayoutItem = React.forwardRef<HTMLDivElement, LayoutItemProps>(\n function LayoutItem({ span, children }, ref) {\n const { withLeft } = useContext(LayoutConfigContext)\n\n return (\n <StyledLayoutItem span={span} withLeft={withLeft} ref={ref}>\n {children}\n </StyledLayoutItem>\n )\n }\n)\n\ninterface StyledLayoutItemProps {\n span: number\n withLeft: boolean\n}\n\nconst StyledLayoutItem = styled.div<StyledLayoutItemProps>`\n grid-column-start: auto;\n grid-column-end: span ${(p) => p.span};\n border-radius: 24px;\n color: ${({ theme }) => theme.color.text2};\n background-color: ${({ theme }) => theme.color.background1};\n /* https://www.w3.org/TR/css-grid-1/#min-size-auto */\n min-width: 0;\n\n @media ${(p) =>\n p.withLeft ? p.theme.breakpoint.screen4 : p.theme.breakpoint.screen3} {\n ${(p) =>\n p.span > 2 &&\n css`\n grid-column-end: span 2;\n `}\n }\n\n @media ${({ theme }) => maxWidth(theme.breakpoint.screen1)} {\n ${(p) =>\n p.span > 1 &&\n css`\n grid-column-end: span 1;\n `}\n\n border-radius: 0;\n padding-bottom: 40px;\n }\n`\n\nexport function LayoutItemHeader({ children }: { children: React.ReactNode }) {\n const { wide, center } = useContext(LayoutConfigContext)\n\n return (\n <StyledLayoutItemHeader wide={wide} center={center}>\n {children}\n </StyledLayoutItemHeader>\n )\n}\n\ninterface StyledLayoutItemHeaderProps {\n wide: boolean\n center: boolean\n}\n\nconst StyledLayoutItemHeader = styled.div<StyledLayoutItemHeaderProps>`\n padding: 0 ${(p) => (p.wide ? 40 : 24)}px;\n height: ${(p) => (p.wide ? 64 : 48)}px;\n display: grid;\n align-items: center;\n font-size: 16px;\n line-height: 24px;\n font-weight: bold;\n background-color: ${({ theme }) => theme.color.surface2};\n color: ${({ theme }) => theme.color.text2};\n border-radius: 24px 24px 0 0;\n ${(p) =>\n p.center &&\n css`\n justify-content: center;\n `}\n\n @media ${({ theme }) => maxWidth(theme.breakpoint.screen1)} {\n margin-top: 4px;\n padding: 0 16px;\n background: none;\n overflow-x: auto;\n border-radius: unset;\n ${(p) =>\n p.wide &&\n css`\n height: 48px;\n margin-top: 0;\n `}\n }\n`\n\nexport const LAYOUT_ITEM_BODY_PADDING = {\n wide: {\n x: 40,\n y: 40,\n },\n default: {\n x: 24,\n y: 24,\n },\n column1: {\n x: 16,\n y: 16,\n },\n narrow: {\n x: 24,\n yTop: 12,\n yBottom: 20,\n },\n narrowColumn1: {\n x: 16,\n yTop: 4,\n yBottom: 0,\n },\n}\n\nexport function LayoutItemBody({\n children,\n horizontal = false,\n narrow = false,\n}: {\n children: React.ReactNode\n horizontal?: boolean\n narrow?: boolean\n}) {\n const { wide } = useContext(LayoutConfigContext)\n\n return (\n <StyledLayoutItemBody wide={wide} horizontal={horizontal} narrow={narrow}>\n {children}\n </StyledLayoutItemBody>\n )\n}\n\ninterface StyledLayoutItemBodyProps {\n wide: boolean\n horizontal: boolean\n narrow: boolean\n}\n\nexport const StyledLayoutItemBody = styled.div<StyledLayoutItemBodyProps>`\n padding: ${(p) =>\n p.narrow\n ? `${LAYOUT_ITEM_BODY_PADDING.narrow.yTop}px ${\n p.horizontal ? 0 : LAYOUT_ITEM_BODY_PADDING.narrow.x\n }px ${LAYOUT_ITEM_BODY_PADDING.narrow.yBottom}px`\n : p.wide\n ? `${p.horizontal ? 0 : LAYOUT_ITEM_BODY_PADDING.wide.y}px ${\n LAYOUT_ITEM_BODY_PADDING.wide.x\n }px`\n : `${p.horizontal ? 0 : LAYOUT_ITEM_BODY_PADDING.default.y}px ${\n LAYOUT_ITEM_BODY_PADDING.default.x\n }px`};\n\n @media ${({ theme }) => maxWidth(theme.breakpoint.screen1)} {\n padding: ${(p) =>\n p.narrow\n ? `${LAYOUT_ITEM_BODY_PADDING.narrowColumn1.yTop}px ${\n p.horizontal ? 0 : LAYOUT_ITEM_BODY_PADDING.narrowColumn1.x\n }px ${LAYOUT_ITEM_BODY_PADDING.narrowColumn1.yBottom}px`\n : `${LAYOUT_ITEM_BODY_PADDING.column1.y}px ${\n LAYOUT_ITEM_BODY_PADDING.column1.x\n }px ${0}`};\n }\n\n width: 100%;\n box-sizing: border-box;\n`\n\nexport function useLayoutItemBodyPadding() {\n const { wide } = useContext(LayoutConfigContext)\n return useMediaScreen1()\n ? LAYOUT_ITEM_BODY_PADDING.column1\n : wide\n ? LAYOUT_ITEM_BODY_PADDING.wide\n : LAYOUT_ITEM_BODY_PADDING.default\n}\n\nexport function CancelLayoutItemBodyPadding({\n children,\n cancelTop,\n}: {\n children: React.ReactNode\n cancelTop?: boolean\n}) {\n const { wide } = useContext(LayoutConfigContext)\n\n return (\n <StyledCancelLayoutItemBodyPadding wide={wide} cancelTop={cancelTop}>\n {children}\n </StyledCancelLayoutItemBodyPadding>\n )\n}\n\ninterface StyledCancelLayoutItemBodyPaddingProps {\n wide: boolean\n cancelTop?: boolean\n}\n\n/* eslint-disable max-len */\nexport const StyledCancelLayoutItemBodyPadding = styled.div<StyledCancelLayoutItemBodyPaddingProps>`\n margin: 0 -${(p) => (p.wide ? LAYOUT_ITEM_BODY_PADDING.wide.x : LAYOUT_ITEM_BODY_PADDING.default.x)}px;\n margin-top: -${({ cancelTop = false, wide }) => (!cancelTop ? 0 : wide ? LAYOUT_ITEM_BODY_PADDING.wide.y : LAYOUT_ITEM_BODY_PADDING.default.y)}px;\n\n @media ${({ theme }) => maxWidth(theme.breakpoint.screen1)} {\n margin: 0 -${LAYOUT_ITEM_BODY_PADDING.column1.x}px;\n margin-top: -${({ cancelTop = false }) => (!cancelTop ? 0 : LAYOUT_ITEM_BODY_PADDING.column1.x)}px;\n }\n`\n/* eslint-enable max-len */\n","// https://github.com/fernandopasik/react-children-utilities/blob/971d8a0324e6183734d8d1af9a65dbad18ab3d00/src/lib/onlyText.ts\n\nimport {\n Children,\n isValidElement,\n ReactElement,\n ReactNode,\n ReactText,\n} from 'react'\n\nconst hasChildren = (\n element: ReactNode\n): element is ReactElement<{ children: ReactNode[] }> =>\n isValidElement<{ children?: ReactNode[] }>(element) &&\n Boolean(element.props.children)\n\nexport const childToString = (\n // eslint-disable-next-line @typescript-eslint/ban-types\n child?: ReactText | boolean | {} | null\n): string => {\n if (\n typeof child === 'undefined' ||\n child === null ||\n typeof child === 'boolean'\n ) {\n return ''\n }\n\n if (JSON.stringify(child) === '{}') {\n return ''\n }\n\n return (child as string | number).toString()\n}\n\nexport const onlyText = (children: ReactNode): string => {\n if (!Array.isArray(children) && !isValidElement(children)) {\n return childToString(children)\n }\n\n return Children.toArray(children).reduce(\n (text: string, child: ReactNode): string => {\n let newText = ''\n\n if (isValidElement(child) && hasChildren(child)) {\n newText = onlyText(child.props.children)\n } else if (isValidElement(child) && !hasChildren(child)) {\n newText = ''\n } else {\n newText = childToString(child)\n }\n\n return text.concat(newText)\n },\n ''\n )\n}\n","import styled, { css } from 'styled-components'\nimport { onlyText } from './helper'\n\nexport interface Props {\n lineHeight: number\n lineLimit?: number\n}\n\n/**\n * 複数行のテキストに表示行数制限を設けて`...`で省略する\n */\nexport const TextEllipsis = styled.div.attrs(\n ({ children, title = onlyText(children) }) => ({\n title: title !== '' ? title : undefined,\n })\n)<Props>`\n overflow: hidden;\n line-height: ${(props) => props.lineHeight}px;\n /* For english */\n overflow-wrap: break-word;\n\n ${({ lineLimit = 1, lineHeight }) =>\n lineLimit === 1\n ? css`\n text-overflow: ellipsis;\n white-space: nowrap;\n `\n : css`\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: ${lineLimit};\n /* Fallback for -webkit-line-clamp */\n max-height: ${lineHeight * lineLimit}px;\n `}\n`\n","import React, { useContext } from 'react'\nimport styled, { css } from 'styled-components'\nimport { theme } from '../../styled'\nimport { TextEllipsis } from '../TextEllipsis'\nimport { LinkProps, useComponentAbstraction } from '@charcoal-ui/react'\nimport { disabledSelector } from '@charcoal-ui/utils'\n\ninterface MenuListItemContextProps {\n padding: 16 | 24\n}\n\nexport const MenuListItemContext =\n React.createContext<MenuListItemContextProps>({ padding: 24 })\n\nexport interface MenuListItemBaseData {\n primary: string | React.ReactNode // 表示アイテム名(上に表示)\n secondary?: string // 表示アイテム名2(下に表示)\n onClick?: (e: React.MouseEvent) => void\n disabled?: boolean\n gtmClass?: string\n noHover?: boolean\n}\n\ninterface MenuListItemProps extends MenuListItemBaseData {\n children?: React.ReactNode // 右寄せで表示したい要素\n}\n\nexport default function MenuListItem({\n primary,\n secondary,\n onClick,\n disabled = false,\n noHover = false,\n gtmClass,\n children,\n}: MenuListItemProps) {\n const { padding } = useContext(MenuListItemContext)\n\n return (\n <Item\n hasSubLabel={secondary !== undefined}\n onClick={(e) => !disabled && onClick && onClick(e)}\n sidePadding={padding}\n noHover={noHover}\n noClick={onClick === undefined}\n aria-disabled={disabled}\n role={onClick !== undefined ? 'button' : undefined}\n className={gtmClass !== undefined ? `gtm-${gtmClass}` : undefined}\n >\n <Labels>\n <PrimaryText>\n <TextEllipsis lineHeight={22} lineLimit={1}>\n {primary}\n </TextEllipsis>\n </PrimaryText>\n {secondary !== undefined && (\n <SecondaryText>\n <TextEllipsis lineHeight={22} lineLimit={1}>\n {secondary}\n </TextEllipsis>\n </SecondaryText>\n )}\n </Labels>\n {children}\n </Item>\n )\n}\n\ninterface ItemProps {\n hasSubLabel: boolean\n sidePadding: 16 | 24\n noHover: boolean\n noClick: boolean\n}\n\nconst Item = styled.div<ItemProps>`\n display: flex;\n height: ${(p) => (p.hasSubLabel ? 56 : 40)}px;\n align-items: center;\n justify-content: space-between;\n padding: 0 ${(p) => p.sidePadding}px;\n user-select: none;\n cursor: ${(p) => (p.noClick ? 'default' : 'pointer')};\n transition: 0.2s background-color;\n\n &:hover {\n ${(p) =>\n !p.noHover &&\n css`\n background-color: ${({ theme }) => theme.color.surface3};\n `}\n }\n\n ${theme((o) => o.disabled)}\n\n ${disabledSelector} {\n cursor: default;\n pointer-events: none;\n\n &:hover {\n background-color: unset;\n }\n }\n`\n\nconst Labels = styled.div`\n display: flex;\n flex-direction: column;\n`\n\nconst PrimaryText = styled.div`\n color: ${(p) => p.theme.color.text2};\n line-height: 22px;\n font-size: 14px;\n display: grid;\n`\n\nconst SecondaryText = styled.div`\n color: ${(p) => p.theme.color.text3};\n line-height: 18px;\n font-size: 10px;\n`\n\ninterface MenuListLinkItemProps\n extends MenuListItemBaseData,\n Omit<LinkProps, 'to' | 'onClick' | 'children'> {\n link: string\n children?: React.ReactNode\n}\n\nexport function MenuListLinkItem({\n link,\n onClick,\n disabled = false,\n primary,\n secondary,\n gtmClass,\n noHover,\n children,\n ...linkProps\n}: MenuListLinkItemProps) {\n const { Link } = useComponentAbstraction()\n const props: MenuListItemProps = {\n disabled,\n primary,\n secondary,\n gtmClass,\n noHover,\n children,\n }\n\n return disabled ? (\n <span onClick={onClick}>\n <MenuListItem {...props} />\n </span>\n ) : (\n <A<typeof Link> as={Link} to={link} onClick={onClick} {...linkProps}>\n <MenuListItem onClick={() => void 0} {...props} />\n </A>\n )\n}\n\nconst A = styled.a`\n display: block;\n`\n\ninterface MenuListLinkItemWithIconProps extends MenuListLinkItemProps {\n icon: React.ReactNode\n}\n\ninterface MenuListItemWithIconProps extends MenuListItemProps {\n icon: React.ReactNode\n}\n\nexport function MenuListLinkItemWithIcon({\n icon,\n primary: text,\n ...props\n}: MenuListLinkItemWithIconProps) {\n const primary = (\n <IconContainer>\n <Icon>{icon}</Icon>\n {text}\n </IconContainer>\n )\n return <MenuListLinkItem primary={primary} {...props} />\n}\n\nexport function MenuListItemWithIcon({\n icon,\n primary: text,\n ...props\n}: MenuListItemWithIconProps) {\n const primary = (\n <IconContainer>\n <Icon>{icon}</Icon>\n {text}\n </IconContainer>\n )\n return <MenuListItem primary={primary} {...props} />\n}\n\nconst IconContainer = styled.div`\n display: grid;\n gap: 8px;\n grid-auto-flow: column;\n align-items: center;\n`\n\nconst Icon = styled.div`\n color: ${({ theme }) => theme.color.text3};\n display: flex;\n`\n\nexport const MenuListSpacer = styled.div`\n height: 24px;\n`\n\nexport const MenuListLabel = styled.div`\n padding: 0 16px;\n font-size: 12px;\n line-height: 16px;\n color: ${({ theme }) => theme.color.text3};\n margin-top: -2px;\n margin-bottom: 6px;\n`\n","import React from 'react'\nimport styled from 'styled-components'\nimport { MenuListLinkItem } from '../MenuListItem'\nimport { useComponentAbstraction } from '@charcoal-ui/react'\n\ninterface Props<ID extends string> {\n links: readonly {\n text: string\n to: string\n id: ID\n }[]\n active: ID\n}\n\nexport default function LeftMenu<ID extends string>({\n links,\n active,\n}: Props<ID>) {\n const { Link } = useComponentAbstraction()\n return (\n <Container>\n {links.map((link, index) => (\n <Link to={link.to} key={index}>\n <LinkItem aria-current={link.id === active || undefined}>\n {link.text}\n </LinkItem>\n </Link>\n ))}\n </Container>\n )\n}\n\nexport function LeftMenuContent<ID extends string>({ links }: Props<ID>) {\n return (\n <>\n {links.map((link, index) => (\n <MenuListLinkItem link={link.to} key={index} primary={link.text} />\n ))}\n </>\n )\n}\n\nconst Container = styled.div`\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n`\n\nconst LinkItem = styled.div`\n display: flex;\n align-items: center;\n color: ${({ theme }) => theme.color.text3};\n border-radius: 24px;\n font-weight: bold;\n font-size: 14px;\n line-height: 22px;\n padding: 0 16px;\n height: 40px;\n transition: 0.2s color;\n &:hover {\n transition: 0.2s color;\n color: ${({ theme }) => theme.color.text2};\n }\n &[aria-current] {\n color: ${({ theme }) => theme.color.text2};\n background-color: ${({ theme }) => theme.color.surface3};\n }\n`\n","import React from 'react'\n\nimport styled, { css } from 'styled-components'\nimport { applyEffect } from '@charcoal-ui/utils'\n\nexport interface Props extends React.ComponentPropsWithoutRef<'input'> {\n gtmClass?: string\n flex?: boolean\n rowReverse?: boolean\n}\n\nexport default React.forwardRef(function SwitchCheckbox(\n {\n gtmClass,\n flex = false,\n rowReverse = false,\n children,\n disabled,\n ...props\n }: Props,\n ref: React.Ref<HTMLInputElement>\n) {\n return (\n <Label\n className={gtmClass !== undefined ? `gtm-${gtmClass}` : ''}\n flex={flex}\n rowReverse={rowReverse}\n aria-disabled={disabled}\n >\n <SwitchOuter>\n <SwitchInput {...props} disabled={disabled} ref={ref} />\n <SwitchInner>\n <SwitchInnerKnob />\n </SwitchInner>\n </SwitchOuter>\n {children != null && (\n <Children rowReverse={rowReverse}>{children}</Children>\n )}\n </Label>\n )\n})\n\nconst Children = styled.span<{ rowReverse: boolean }>`\n ${(p) =>\n p.rowReverse\n ? css`\n margin-right: 8px;\n `\n : css`\n margin-left: 8px;\n `}\n`\n\nconst Label = styled.label<{ flex: boolean; rowReverse: boolean }>`\n display: inline-flex;\n align-items: center;\n ${({ flex }) =>\n flex &&\n css`\n display: flex;\n justify-content: space-between;\n `}\n ${({ rowReverse }) =>\n css`\n flex-direction: ${rowReverse ? 'row-reverse' : 'row'};\n `}\n cursor: pointer;\n outline: 0;\n\n &[aria-disabled='true'] {\n cursor: auto;\n }\n`\n\nconst SwitchOuter = styled.span`\n display: inline-flex;\n position: relative;\n z-index: 0;\n`\n\nconst SwitchInner = styled.div`\n position: relative;\n box-sizing: border-box;\n width: 28px;\n height: 16px;\n border-radius: 16px;\n border: 2px solid transparent;\n background: ${({ theme }) => theme.color.text4};\n transition: box-shadow 0.2s, background-color 0.2s;\n`\n\nconst SwitchInnerKnob = styled.div`\n position: absolute;\n display: block;\n top: 0;\n left: 0;\n width: 12px;\n height: 12px;\n background-color: ${({ theme }) => theme.color.text5};\n border-radius: 50%;\n transform: translateX(0);\n transition: transform 0.2s;\n`\n\nconst SwitchInput = styled.input.attrs({\n type: 'checkbox' as string,\n})`\n position: absolute;\n /* NOTE: this is contained by the GraphicCheckboxOuter */\n z-index: 1;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n /* just to control the clickable area if used standalone */\n border-radius: 16px;\n opacity: 0;\n appearance: none;\n outline: none;\n cursor: pointer;\n\n &:checked {\n ~ ${SwitchInner} {\n background-color: ${({ theme }) => theme.color.brand};\n\n ${SwitchInnerKnob} {\n transform: translateX(12px);\n }\n }\n }\n\n &:disabled {\n cursor: auto;\n\n ~ ${SwitchInner} {\n opacity: ${({ theme }) => theme.elementEffect.disabled.opacity};\n }\n }\n\n &:not(:disabled):focus {\n ~ ${SwitchInner} {\n box-shadow: 0 0 0 4px\n ${({ theme }) =>\n applyEffect(theme.color.brand, theme.elementEffect.disabled)};\n }\n }\n`\n","import React, { useRef } from 'react'\nimport styled, { css } from 'styled-components'\nimport { useElementSize } from '../../foundation/hooks'\n\nexport interface Props {\n children?: React.ReactNode\n icon: React.ReactNode\n /**\n * アイコンを表示。デフォルトがtrueなので、非表示にするときに使います。 (アイコン自体の幅を維持します)\n */\n show?: boolean | 'collapse'\n /**\n * アイコンを前にする\n */\n prefix?: boolean\n /**\n * アイコンの高さが文字の高さよりも大きいケースで有効。アイコンの高さをゼロにしてインラインの高さに関与させないようにします。\n */\n fit?: boolean\n /**\n * `fit`と併用した時にのみ有効な最適化オプション。アイコンの幅の自動計算を行わず指定した数値を利用します。\n */\n width?: number\n /**\n * 親要素のサイズに合わせるのではなく、コンテンツのサイズを優先する\n */\n fixed?: boolean\n}\n\nexport default React.memo(function WithIcon({\n children,\n icon,\n show = true,\n prefix: pre = false,\n width,\n fit = false,\n fixed = false,\n}: Props) {\n const node = fit ? (\n width === undefined ? (\n <AutoWidthIconAnchor show={show} pre={pre}>\n {icon}\n </AutoWidthIconAnchor>\n ) : (\n <IconAnchor width={width} show={show} pre={pre}>\n <Icon>{icon}</Icon>\n </IconAnchor>\n )\n ) : (\n <IconAnchorNaive show={show} pre={pre}>\n <IconNaive>{icon}</IconNaive>\n </IconAnchorNaive>\n )\n\n return (\n <Root>\n {pre && node}\n <Text fixed={fixed}>{children}</Text>\n {!pre && node}\n </Root>\n )\n})\n\nconst Root = styled.div`\n display: flex;\n align-items: center;\n`\n\nconst Text = styled.div<{ fixed: boolean }>`\n ${(p) =>\n !p.fixed &&\n css`\n min-width: 0;\n overflow: hidden;\n `}\n white-space: nowrap;\n text-overflow: ellipsis;\n`\n\nfunction AutoWidthIconAnchor({\n children,\n show,\n pre,\n}: {\n children: React.ReactNode\n show: boolean | 'collapse'\n pre: boolean\n}) {\n const ref = useRef<HTMLDivElement>(null)\n // depsを空配列にしないことで初回だけ同期で幅を計算させるテクニック\n const width = useElementSize(ref, [null])?.width ?? 0\n return (\n <IconAnchor width={width} show={show} pre={pre}>\n <Icon ref={ref}>{children}</Icon>\n </IconAnchor>\n )\n}\n\nconst forceCenteringCss = css`\n > svg {\n display: block;\n }\n`\n\nconst iconAnchorCss = css`\n ${(p: { show: boolean | 'collapse'; pre: boolean }) =>\n p.show === 'collapse'\n ? css`\n display: none;\n `\n : css`\n visibility: ${p.show ? 'visible' : 'hidden'};\n `};\n ${(p) =>\n p.pre\n ? css`\n margin-right: 4px;\n `\n : css`\n margin-left: 4px;\n `}\n`\n\nconst IconAnchorNaive = styled.div`\n display: flex;\n align-items: center;\n\n ${iconAnchorCss}\n`\n\nconst IconNaive = styled.div`\n display: inline-flex;\n\n ${forceCenteringCss}\n`\n\nconst IconAnchor = styled.div<{\n width: number\n show: boolean | 'collapse'\n pre: boolean\n}>`\n display: flex;\n position: relative;\n /* Iconをline-heightに関与させない */\n height: 0;\n /* 横方向の領域は確保する */\n width: ${(p) => p.width}px;\n\n ${iconAnchorCss}\n`\n\nconst Icon = styled.div`\n display: inline-flex;\n position: absolute;\n transform: translateY(-50%);\n\n ${forceCenteringCss}\n`\n","var passiveEventsResult: boolean | undefined // eslint-disable-line no-var\nexport function passiveEvents(): boolean {\n if (passiveEventsResult !== undefined) {\n return passiveEventsResult\n }\n\n passiveEventsResult = false\n try {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n const options = Object.defineProperty({}, 'passive', {\n get() {\n return (passiveEventsResult = true)\n },\n })\n\n window.addEventListener('test', test, options)\n window.removeEventListener('test', test)\n } catch {\n // test fail\n }\n\n return passiveEventsResult\n\n function test() {\n /* empty */\n }\n}\n\nexport const isEdge = () => navigator.userAgent.includes('Edge/')\n","/**\n * Function used to assert a given code path is unreachable\n */\nexport function unreachable(): never\n/**\n * Function used to assert a given code path is unreachable.\n * Very useful for ensuring switches are exhaustive:\n *\n * ```ts\n * switch (a.type) {\n * case Types.A:\n * case Types.B:\n * break\n * default:\n * unreachable(a) // will cause a build error if there was\n * // a Types.C that was not checked\n * }\n * ```\n *\n * @param value Value to be asserted as unreachable\n */\n// NOTE: Uses separate overloads, _not_ `value?: never`, to not allow `undefined` to be passed\n// eslint-disable-next-line @typescript-eslint/unified-signatures\nexport function unreachable(value: never): never\nexport function unreachable(value?: never): never {\n throw new Error(\n arguments.length === 0\n ? 'unreachable'\n : `unreachable (${JSON.stringify(value)})`\n )\n}\n","import React from 'react'\nimport { unreachable } from '../../foundation/utils'\nimport IconBase from './Base'\n\nexport enum WedgeDirection {\n Up = 'up',\n Down = 'down',\n Left = 'left',\n Right = 'right',\n}\n\n// eslint-disable-next-line max-len\nconst path = `M8.08579 16.5858C7.30474 17.3668 7.30474 18.6332 8.08579 19.4142C8.86684 20.1953 10.1332 20.1953 10.9142 19.4142L18.3284 12L10.9142 4.58579C10.1332 3.80474 8.86684 3.80474 8.08579 4.58579C7.30474 5.36684 7.30474 6.63317 8.08579 7.41421L12.6716 12L8.08579 16.5858Z`\nconst size = 24\n\ninterface Props {\n direction: WedgeDirection\n}\n\nexport default function NextIcon({ direction }: Props) {\n const transform = directionToTransform(direction)\n return (\n <IconBase\n viewBoxSize={size}\n size={size}\n currentColor\n path={path}\n transform={transform}\n />\n )\n}\n\nfunction directionToTransform(direction: WedgeDirection) {\n // \"5 4\" is the center point of the \"0 0 10 8\" viewBox\n switch (direction) {\n case WedgeDirection.Up:\n return 'rotate(270 12 12)'\n case WedgeDirection.Down:\n return 'rotate(90 12 12)'\n case WedgeDirection.Left:\n return 'rotate(180 12 12)'\n case WedgeDirection.Right:\n return undefined\n default:\n return unreachable(direction)\n }\n}\n","import React from 'react'\nimport styled, { css } from 'styled-components'\nimport { unreachable } from '../../foundation/utils'\nimport NextIcon, { WedgeDirection } from '../icons/NextIcon'\nimport { applyEffect } from '@charcoal-ui/utils'\n\nexport enum Direction {\n Right = 'right',\n Left = 'left',\n}\n\ninterface Props {\n direction: Direction\n show: boolean\n offset?: number\n padding?: number\n bottomOffset?: number\n gradient?: boolean\n onClick(): void\n}\n\nexport default function CarouselButton({\n direction,\n show,\n offset = 0,\n padding = 0,\n bottomOffset: bottom = 0,\n gradient = false,\n onClick,\n}: Props) {\n const offsetStyle =\n direction === Direction.Left\n ? {\n left: gradient ? offset - 72 : offset,\n paddingLeft: Math.max(padding, 0),\n paddingBottom: bottom,\n }\n : {\n right: gradient ? offset - 72 : offset,\n paddingRight: Math.max(padding, 0),\n paddingBottom: bottom,\n }\n return (\n <Button\n type=\"button\"\n onClick={onClick}\n hide={!show}\n style={offsetStyle}\n css={onlyNonTouchDevice}\n >\n <CarouselButtonIcon>\n <NextIcon\n direction={\n direction === Direction.Right\n ? WedgeDirection.Right\n : // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n direction === Direction.Left\n ? WedgeDirection.Left\n : unreachable()\n }\n />\n </CarouselButtonIcon>\n </Button>\n )\n}\n\nexport const CAROUSEL_BUTTON_SIZE = 40\n\nconst CarouselButtonIcon = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n width: ${CAROUSEL_BUTTON_SIZE}px;\n height: ${CAROUSEL_BUTTON_SIZE}px;\n border-radius: 50%;\n background-color: ${({ theme }) => theme.color.surface4};\n transition: 0.4s visibility, 0.4s opacity, 0.2s background-color, 0.2s color;\n color: ${({ theme }) => theme.color.text5};\n`\n\nconst Button = styled.button<{ hide: boolean }>`\n position: absolute;\n top: 0;\n bottom: 0;\n display: flex;\n align-items: center;\n padding: 0;\n min-width: 40px;\n border: none;\n outline: 0;\n background: transparent;\n cursor: pointer;\n transition: 0.4s visibility, 0.4s opacity;\n /* つらい */\n /* このコンポーネントはCarouselでしか使われてないのでそっちでコンテキストで切る */\n z-index: 1;\n\n &:hover ${CarouselButtonIcon} {\n background-color: ${({ theme }) =>\n applyEffect(theme.color.surface4, theme.effect.hover)};\n color: ${({ theme }) => applyEffect(theme.color.text5, theme.effect.hover)};\n }\n\n &:active ${CarouselButtonIcon} {\n background-color: ${({ theme }) =>\n applyEffect(theme.color.surface4, theme.effect.press)};\n color: ${({ theme }) => applyEffect(theme.color.text5, theme.effect.press)};\n }\n\n ${(p) =>\n p.hide &&\n css`\n visibility: hidden;\n opacity: 0;\n pointer-events: none;\n `}\n`\n\nexport function ScrollHintButton({\n direction,\n onClick,\n}: {\n direction: Direction\n onClick(): void\n}) {\n return (\n <ScrollHintIcon onClick={onClick}>\n <NextIcon\n direction={\n direction === Direction.Right\n ? WedgeDirection.Right\n : // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n direction === Direction.Left\n ? WedgeDirection.Left\n : unreachable()\n }\n />\n </ScrollHintIcon>\n )\n}\n\nconst ScrollHintIcon = styled(CarouselButtonIcon)`\n cursor: pointer;\n\n &:hover {\n background-color: ${({ theme }) =>\n applyEffect(theme.color.surface4, theme.effect.hover)};\n color: ${({ theme }) => applyEffect(theme.color.text5, theme.effect.hover)};\n }\n\n &:active {\n background-color: ${({ theme }) =>\n applyEffect(theme.color.surface4, theme.effect.press)};\n color: ${({ theme }) => applyEffect(theme.color.text5, theme.effect.press)};\n }\n`\n\nconst onlyNonTouchDevice = css`\n @media (hover: none) and (pointer: coarse) {\n display: none;\n }\n`\n","import React, {\n useEffect,\n useState,\n useCallback,\n useRef,\n useLayoutEffect,\n} from 'react'\nimport { animated, useSpring } from 'react-spring'\nimport styled, { css } from 'styled-components'\nimport { useDebounceAnimationState } from '../../foundation/hooks'\nimport { passiveEvents, isEdge } from '../../foundation/support'\nimport CarouselButton, { Direction } from '../CarouselButton'\n\nexport const GRADIENT_WIDTH = 72\n/**\n * カルーセル系のスクロール量の定数\n *\n * @example\n * const scrollAmount = containerElm.clientWidth * SCROLL_AMOUNT_COEF\n */\nexport const SCROLL_AMOUNT_COEF = 0.75\n\ninterface ScrollProps {\n align?: 'center' | 'left' | 'right'\n offset?: number\n}\n\nexport interface CarouselBaseAppearanceProps {\n buttonOffset?: number\n buttonPadding?: number\n bottomOffset?: number\n defaultScroll?: ScrollProps\n}\n\nexport type CarouselGradientProps =\n | { hasGradient?: false }\n | {\n hasGradient: true\n fadeInGradient?: boolean\n }\n\ntype CarouselAppearanceProps = CarouselBaseAppearanceProps &\n CarouselGradientProps\n\ntype Props = CarouselAppearanceProps & {\n onScroll?: (left: number) => void\n onResize?: (width: number) => void\n children: React.ReactNode\n centerItems?: boolean\n onScrollStateChange?: (canScroll: boolean) => void\n scrollAmountCoef?: number\n}\n\nexport interface CarouselHandlerRef {\n resetScroll(): void\n}\n\nexport default function Carousel({\n buttonOffset = 0,\n buttonPadding = 16,\n bottomOffset = 0,\n defaultScroll: { align = 'left', offset: scrollOffset = 0 } = {},\n onScroll,\n onResize,\n children,\n centerItems,\n onScrollStateChange,\n scrollAmountCoef = SCROLL_AMOUNT_COEF,\n ...options\n}: Props) {\n // スクロール位置を保存する\n // アニメーション中の場合は、アニメーション終了時のスクロール位置が保存される\n const [scrollLeft, setScrollLeft] = useDebounceAnimationState(0)\n // アニメーション中かどうか\n const animation = useRef(false)\n // スクロール可能な領域を保存する\n const [maxScrollLeft, setMaxScrollLeft] = useState(0)\n // 左右のボタンの表示状態を保存する\n const [leftShow, setLeftShow] = useState(false)\n const [rightShow, setRightShow] = useState(false)\n\n // const [props, set, stop] = useSpring(() => ({\n // scroll: 0\n // }))\n const [styles, set] = useSpring(() => ({ scroll: 0 }))\n\n const ref = useRef<HTMLDivElement>(null)\n const visibleAreaRef = useRef<HTMLDivElement>(null)\n const innerRef = useRef<HTMLUListElement>(null)\n\n const handleRight = useCallback(() => {\n if (visibleAreaRef.current === null) {\n return\n }\n const { clientWidth } = visibleAreaRef.current\n // スクロール領域を超えないように、アニメーションを開始\n // アニメーション中にアニメーションが開始されたときに、アニメーション終了予定の位置から再度計算するようにする\n const scroll = Math.min(\n scrollLeft + clientWidth * scrollAmountCoef,\n maxScrollLeft\n )\n setScrollLeft(scroll, true)\n set({ scroll, from: { scroll: scrollLeft }, reset: !animation.current })\n animation.current = true\n }, [\n animation,\n maxScrollLeft,\n scrollLeft,\n set,\n scrollAmountCoef,\n setScrollLeft,\n ])\n\n const handleLeft = useCallback(() => {\n if (visibleAreaRef.current === null) {\n return\n }\n const { clientWidth } = visibleAreaRef.current\n const scroll = Math.max(scrollLeft - clientWidth * scrollAmountCoef, 0)\n setScrollLeft(scroll, true)\n set({ scroll, from: { scroll: scrollLeft }, reset: !animation.current })\n animation.current = true\n }, [animation, scrollLeft, set, scrollAmountCoef, setScrollLeft])\n\n // スクロール可能な場合にボタンを表示する\n // scrollLeftが変化したときに処理する (アニメーション開始時 & 手動スクロール時)\n useEffect(() => {\n const newleftShow = scrollLeft > 0\n const newrightShow = scrollLeft < maxScrollLeft && maxScrollLeft > 0\n if (newleftShow !== leftShow || newrightShow !== rightShow) {\n setLeftShow(newleftShow)\n setRightShow(newrightShow)\n onScrollStateChange?.(newleftShow || newrightShow)\n }\n }, [leftShow, maxScrollLeft, onScrollStateChange, rightShow, scrollLeft])\n\n const handleScroll = useCallback(() => {\n if (ref.current === null) {\n return\n }\n // 手動でスクロールが開始されたときにアニメーションを中断\n if (animation.current) {\n styles.scroll.stop()\n animation.current = false\n }\n // スクロール位置を保存 (アニメーションの基準になる)\n const manualScrollLeft = ref.current.scrollLeft\n // 過剰にsetStateが走らないようにDebouceする\n setScrollLeft(manualScrollLeft)\n }, [animation, setScrollLeft, styles])\n\n // リサイズが起きたときに、アニメーション用のスクロール領域 & ボタンの表示状態 を再計算する\n const handleResize = useCallback(() => {\n if (ref.current === null) {\n return\n }\n const { clientWidth, scrollWidth } = ref.current\n const newMaxScrollLeft = scrollWidth - clientWidth\n setMaxScrollLeft(newMaxScrollLeft)\n if (onResize) {\n onResize(clientWidth)\n }\n }, [onResize])\n\n useLayoutEffect(() => {\n const elm = ref.current\n const innerElm = innerRef.current\n if (elm === null || innerElm === null) {\n return\n }\n\n elm.addEventListener(\n 'wheel',\n handleScroll,\n passiveEvents() && { passive: true }\n )\n\n const resizeObserver = new ResizeObserver(handleResize)\n resizeObserver.observe(elm)\n\n const resizeObserverInner = new ResizeObserver(handleResize)\n resizeObserverInner.observe(innerElm)\n\n return () => {\n elm.removeEventListener('wheel', handleScroll)\n resizeObserver.disconnect()\n resizeObserverInner.disconnect()\n }\n }, [handleResize, handleScroll])\n\n // 初期スクロールを行う\n useLayoutEffect(() => {\n if (align !== 'left' || scrollOffset !== 0) {\n const scroll = ref.current\n if (scroll !== null) {\n const scrollLength = Math.max(\n 0,\n Math.min(\n align === 'left' && scrollOffset > 0\n ? scrollOffset\n : align === 'center'\n ? maxScrollLeft / 2 + scrollOffset\n : align === 'right' && scrollOffset <= maxScrollLeft\n ? maxScrollLeft - scrollOffset / 2\n : 0,\n maxScrollLeft\n )\n )\n scroll.scrollLeft = scrollLength\n setScrollLeft(scrollLength, true)\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [ref.current])\n\n const handleScrollMove = useCallback(() => {\n if (ref.current === null) {\n return\n }\n if (onScroll) {\n onScroll(ref.current.scrollLeft)\n }\n }, [onScroll])\n\n const [disableGradient, setDisableGradient] = useState(false)\n\n useLayoutEffect(() => {\n if (isEdge()) {\n setDisableGradient(true)\n }\n }, [])\n\n // NOTE: Edgeではmaskを使うと要素のレンダリングがバグる(場合によっては画像が表示されない)のでグラデーションを無効にする\n if (!disableGradient && options.hasGradient === true) {\n const fadeInGradient = options.fadeInGradient ?? false\n const overflowGradient = !fadeInGradient\n return (\n <Container ref={visibleAreaRef}>\n <GradientContainer fadeInGradient={fadeInGradient}>\n <RightGradient>\n <LeftGradient show={overflowGradient || scrollLeft > 0}>\n <ScrollArea\n ref={ref}\n scrollLeft={styles.scroll}\n onScroll={handleScrollMove}\n >\n <CarouselContainer ref={innerRef} centerItems={centerItems}>\n {children}\n </CarouselContainer>\n </ScrollArea>\n </LeftGradient>\n </RightGradient>\n </GradientContainer>\n <ButtonsContainer>\n <CarouselButton\n direction={Direction.Left}\n show={leftShow}\n offset={buttonOffset}\n bottomOffset={bottomOffset}\n padding={buttonPadding}\n gradient={overflowGradient}\n onClick={handleLeft}\n />\n <CarouselButton\n direction={Direction.Right}\n show={rightShow}\n offset={buttonOffset}\n bottomOffset={bottomOffset}\n padding={buttonPadding}\n gradient\n onClick={handleRight}\n />\n </ButtonsContainer>\n </Container>\n )\n }\n\n return (\n <Container ref={visibleAreaRef}>\n <ScrollArea\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-expect-error\n ref={ref}\n scrollLeft={styles.scroll}\n onScroll={handleScrollMove}\n >\n <CarouselContainer ref={innerRef} centerItems={centerItems}>\n {children}\n </CarouselContainer>\n </ScrollArea>\n <ButtonsContainer>\n <CarouselButton\n direction={Direction.Left}\n show={leftShow}\n offset={buttonOffset}\n bottomOffset={bottomOffset}\n padding={buttonPadding}\n onClick={handleLeft}\n />\n <CarouselButton\n direction={Direction.Right}\n show={rightShow}\n offset={buttonOffset}\n bottomOffset={bottomOffset}\n padding={buttonPadding}\n onClick={handleRight}\n />\n </ButtonsContainer>\n </Container>\n )\n}\n\nconst CarouselContainer = styled.ul<{ centerItems?: boolean }>`\n vertical-align: top;\n overflow: hidden;\n list-style: none;\n padding: 0;\n\n /* 最小幅を100%にして親要素にぴったりくっつけることで子要素で要素を均等に割り付けるなどを出来るようにしてある */\n min-width: 100%;\n box-sizing: border-box;\n\n ${({ centerItems = false }) =>\n centerItems\n ? css`\n display: flex;\n width: max-content;\n margin: 0 auto;\n `\n : css`\n display: inline-flex;\n margin: 0;\n `}\n`\n\nconst ButtonsContainer = styled.div`\n opacity: 0;\n transition: 0.4s opacity;\n`\nconst Container = styled.div`\n &:hover ${ButtonsContainer} {\n opacity: 1;\n }\n\n /* CarouselButtonの中にz-index:1があるのでここでコンテキストを切る */\n position: relative;\n z-index: 0;\n`\n\nconst ScrollArea = styled(animated.div)`\n overflow-x: auto;\n padding: 0;\n margin: 0;\n\n &::-webkit-scrollbar {\n display: none;\n }\n\n scrollbar-width: none;\n`\n\nconst GradientContainer = styled.div<{ fadeInGradient: boolean }>`\n /* NOTE: LeftGradientがはみ出るためhidden */\n overflow: hidden;\n ${(p) =>\n !p.fadeInGradient &&\n css`\n margin-left: ${-GRADIENT_WIDTH}px;\n ${CarouselContainer} {\n padding-left: ${GRADIENT_WIDTH}px;\n }\n `}\n\n margin-right: ${-GRADIENT_WIDTH}px;\n /* stylelint-disable-next-line no-duplicate-selectors */\n ${CarouselContainer} {\n padding-right: ${GRADIENT_WIDTH}px;\n }\n`\n\nconst RightGradient = styled.div`\n mask-image: linear-gradient(\n to right,\n #000 calc(100% - ${GRADIENT_WIDTH}px),\n transparent\n );\n`\n\nconst LeftGradient = styled.div<{ show: boolean }>`\n /* NOTE: mask-position が left → negative px の時、right → abs(negative px) の位置に表示されるため */\n margin-right: ${-GRADIENT_WIDTH}px;\n padding-right: ${GRADIENT_WIDTH}px;\n /* NOTE: mask-position に transition をつけたいが vender prefixes 対策で all につける */\n transition: 0.2s all ease-in;\n mask: linear-gradient(to right, transparent, #000 ${GRADIENT_WIDTH}px)\n ${(p) => (p.show ? 0 : -GRADIENT_WIDTH)}px 0;\n`\n","import React from 'react'\nimport styled from 'styled-components'\n\ninterface Props {\n size?: number | string\n subLink?: boolean\n}\n\nexport { DotsIcon as default }\n\nfunction DotsIcon({ size }: Props) {\n return (\n <StyledSVG viewBox=\"0 0 20 6\" width={size} height={size}>\n <path\n fillRule=\"evenodd\"\n d={`M5,14.5 C3.61928813,14.5 2.5,13.3807119 2.5,12 C2.5,10.6192881 3.61928813,9.5 5,9.5\n C6.38071187,9.5 7.5,10.6192881 7.5,12 C7.5,13.3807119 6.38071187,14.5 5,14.5 Z M12,14.5\n C10.6192881,14.5 9.5,13.3807119 9.5,12 C9.5,10.6192881 10.6192881,9.5 12,9.5\n C13.3807119,9.5 14.5,10.6192881 14.5,12 C14.5,13.3807119 13.3807119,14.5 12,14.5 Z M19,14.5\n C17.6192881,14.5 16.5,13.3807119 16.5,12 C16.5,10.6192881 17.6192881,9.5 19,9.5\n C20.3807119,9.5 21.5,10.6192881 21.5,12 C21.5,13.3807119 20.3807119,14.5 19,14.5 Z`}\n transform=\"translate(-2 -9)\"\n />\n </StyledSVG>\n )\n}\nDotsIcon.defaultProps = {\n size: 16,\n}\n\nconst StyledSVG = styled.svg`\n fill: currentColor;\n`\n","import React from 'react'\nimport styled from 'styled-components'\n\nimport { unreachable } from '../../foundation/utils'\n\nexport enum WedgeDirection {\n Up = 'up',\n Down = 'down',\n Left = 'left',\n Right = 'right',\n}\n\ninterface Props {\n size?: number | string\n direction: WedgeDirection\n}\n\nexport default function WedgeIcon({ size, direction }: Props) {\n return (\n // NOTE: directionToTransform depends on the value of viewBox\n <svg viewBox=\"0 0 10 8\" width={size} height={size}>\n <StyledPolyline\n strokeWidth=\"2\"\n points=\"1,2 5,6 9,2\"\n transform={directionToTransform(direction)}\n />\n </svg>\n )\n}\nWedgeIcon.defaultProps = {\n size: 16,\n white: false,\n lightGray: false,\n}\n\nfunction directionToTransform(direction: WedgeDirection) {\n // \"5 4\" is the center point of the \"0 0 10 8\" viewBox\n switch (direction) {\n case WedgeDirection.Up:\n return 'rotate(180 5 4)'\n case WedgeDirection.Down:\n return undefined\n case WedgeDirection.Left:\n return 'rotate(90 5 4)'\n case WedgeDirection.Right:\n return 'rotate(-90 5 4)'\n default:\n return unreachable(direction)\n }\n}\n\nconst StyledPolyline = styled.polyline`\n fill: none;\n stroke-linejoin: round;\n stroke-linecap: round;\n stroke: currentColor;\n`\n","import React, { useCallback, useDebugValue, useMemo } from 'react'\n\nimport styled, { css } from 'styled-components'\nimport warning from 'warning'\nimport DotsIcon from '../icons/DotsIcon'\nimport WedgeIcon, { WedgeDirection } from '../icons/WedgeIcon'\nimport { useComponentAbstraction } from '@charcoal-ui/react'\n\nfunction usePagerWindow(page: number, pageCount: number, windowSize = 7) {\n // ページャーのリンク生成例:\n //\n // < [ 1 ] [*2*] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] >\n //\n // < [ 1 ] [ 2 ] [ 3 ] [*4*] [ 5 ] [ 6 ] [ 7 ] >\n //\n // < [ 1 ] ... [ 4 ] [*5*] [ 6 ] [ 7 ] [ 8 ] >\n //\n // < [ 1 ] ... [ 99 ] [*100*] [ 101 ] [ 102 ] [ 103 ] >\n //\n // < [ 1 ] ... [ 99 ] [ 100 ] [ 101 ] [ 102 ] [*103*]\n //\n // [*1*] [ 2 ] >\n //\n // デザインの意図: 前後移動時のカーソル移動を最小限にする。\n\n if (process.env.NODE_ENV !== 'production') {\n warning((page | 0) === page, `\\`page\\` must be interger (${page})`)\n warning(\n (pageCount | 0) === pageCount,\n `\\`pageCount\\` must be interger (${pageCount})`\n )\n }\n\n const window = useMemo(() => {\n const visibleFirstPage = 1\n const visibleLastPage = Math.min(\n pageCount,\n Math.max(page + Math.floor(windowSize / 2), windowSize)\n )\n\n if (visibleLastPage <= windowSize) {\n // 表示範囲が1-7ページなら省略は無い。\n return Array.from(\n { length: 1 + visibleLastPage - visibleFirstPage },\n (_, i) => visibleFirstPage + i\n )\n } else {\n const start = visibleLastPage - (windowSize - 1) + 2\n return [\n // 表示範囲が1-7ページを超えるなら、\n // - 1ページ目は固定で表示する\n visibleFirstPage,\n // - 2ページ目から現在のページの直前までは省略する\n '...' as const,\n ...Array.from(\n { length: 1 + visibleLastPage - start },\n (_, i) => start + i\n ),\n ]\n }\n }, [page, pageCount, windowSize])\n\n useDebugValue(window)\n\n return window\n}\n\ninterface CommonProps {\n page: number\n pageCount: number\n}\n\nexport interface PagerProps extends CommonProps {\n onChange(newPage: number): void\n}\n\n// this pager is just regular buttons; for links use LinkPager\nexport default React.memo(function Pager({\n page,\n pageCount,\n onChange,\n}: PagerProps) {\n // TODO: refactor Pager and LinkPager to use a common parent component\n const window = usePagerWindow(page, pageCount)\n const makeClickHandler = useCallback(\n (value: number) => () => {\n onChange(value)\n },\n [onChange]\n )\n\n const hasNext = page < pageCount\n const hasPrev = page > 1\n return (\n <PagerContainer>\n <CircleButton\n type=\"button\"\n hidden={!hasPrev}\n disabled={!hasPrev}\n onClick={makeClickHandler(Math.max(1, page - 1))}\n noBackground\n >\n <WedgeIcon size={16} direction={WedgeDirection.Left} />\n </CircleButton>\n {window.map((p) =>\n p === '...' ? (\n <Spacer key={p}>\n <DotsIcon size={20} />\n </Spacer>\n ) : p === page ? (\n // we remove the onClick but don't mark it as disabled to preserve keyboard focus\n // not doing so causes the focus ring to flicker in and out of existence\n <CircleButton key={p} type=\"button\" aria-current>\n <Text>{p}</Text>\n </CircleButton>\n ) : (\n <CircleButton key={p} type=\"button\" onClick={makeClickHandler(p)}>\n <Text>{p}</Text>\n </CircleButton>\n )\n )}\n <CircleButton\n type=\"button\"\n hidden={!hasNext}\n disabled={!hasNext}\n onClick={makeClickHandler(Math.min(pageCount, page + 1))}\n noBackground\n >\n <WedgeIcon size={16} direction={WedgeDirection.Right} />\n </CircleButton>\n </PagerContainer>\n )\n})\n\nexport interface LinkPagerProps extends CommonProps {\n makeUrl(page: number): string\n}\n\nexport function LinkPager({ page, pageCount, makeUrl }: LinkPagerProps) {\n const { Link } = useComponentAbstraction()\n const window = usePagerWindow(page, pageCount)\n\n const hasNext = page < pageCount\n const hasPrev = page > 1\n return (\n <PagerContainer>\n <Link to={makeUrl(Math.max(1, page - 1))}>\n <CircleButton hidden={!hasPrev} aria-disabled={!hasPrev} noBackground>\n <WedgeIcon size={16} direction={WedgeDirection.Left} />\n </CircleButton>\n </Link>\n {window.map((p) =>\n p === '...' ? (\n <Spacer key={p}>\n <DotsIcon size={20} subLink />\n </Spacer>\n ) : p === page ? (\n <CircleButton key={p} type=\"button\" aria-current>\n <Text>{p}</Text>\n </CircleButton>\n ) : (\n <Link key={p} to={makeUrl(p)}>\n <CircleButton type=\"button\">\n <Text>{p}</Text>\n </CircleButton>\n </Link>\n )\n )}\n <Link to={makeUrl(Math.min(pageCount, page + 1))}>\n <CircleButton hidden={!hasNext} aria-disabled={!hasNext} noBackground>\n <WedgeIcon size={16} direction={WedgeDirection.Right} />\n </CircleButton>\n </Link>\n </PagerContainer>\n )\n}\n\nconst PagerContainer = styled.nav`\n display: flex;\n justify-content: center;\n align-items: center;\n`\n\nconst CircleButton = styled.button`\n font-size: 1rem;\n line-height: calc(1em + 8px);\n text-decoration: none;\n border: none;\n outline: none;\n touch-action: manipulation;\n user-select: none;\n transition: box-shadow 0.2s ease 0s, color 0.2s ease 0s,\n background 0.2s ease 0s, opacity 0.2s ease 0s;\n\n display: flex;\n justify-content: center;\n align-items: center;\n box-sizing: content-box;\n min-width: 24px;\n min-height: 24px;\n padding: 8px;\n cursor: pointer;\n font-weight: bold;\n /* HACK:\n * Safari doesn't correctly repaint the elements when they're reordered in response to interaction.\n * This forces it to repaint them. This doesn't work if put on the parents either, has to be here.\n */\n /* stylelint-disable-next-line property-no-vendor-prefix */\n -webkit-transform: translateZ(0);\n\n &[hidden] {\n visibility: hidden;\n display: block;\n }\n\n border-radius: 48px;\n\n background: transparent;\n color: ${({ theme }) => theme.color.text3};\n\n &:hover {\n background: ${({ theme }) => theme.color.surface3};\n color: ${({ theme }) => theme.color.text2};\n }\n\n &[aria-current] {\n background-color: ${({ theme }) => theme.color.surface6};\n color: ${({ theme }) => theme.color.text5};\n }\n\n &[aria-current]:hover {\n background-color: ${({ theme }) => theme.color.surface6};\n color: ${({ theme }) => theme.color.text5};\n }\n\n ${({ noBackground = false }: { noBackground?: boolean }) =>\n noBackground &&\n css`\n /* stylelint-disable-next-line no-duplicate-selectors */\n &:hover {\n background: transparent;\n }\n `}\n`\n\nconst Spacer = styled(CircleButton).attrs({ type: 'button', disabled: true })`\n && {\n color: ${({ theme }) => theme.color.text3};\n background: none;\n }\n`\n\nconst Text = 'span'\n"],"names":["FilterButton","React","forwardRef","onClick","children","active","hover","reactive","ref","undefined","FilterIconButton","width","height","FilterLink","props","_excluded","Link","useComponentAbstraction","buttonCss","css","_t","_","theme","color","text3","text2","_t2","_t3","surface3","_t4","maxWidth","breakpoint","screen1","padding0Css","_t5","ButtonLike","styled","button","_t6","PlainElement","span","_t7","StyledButtonLike","_t8","p","buttonWidth","buttonHeight","Filter","div","_t9","createTheme","IconBase","size","viewBoxSize","currentColor","path","transform","fillRule","clipRule","Icon","svg","IconBasePath","InfoIcon","Path","surface1","HintText","context","className","Container","Text","attrs","styledProps","o","bg","borderRadius","padding","vertical","default","horizontal","t","IconWrap","text4","font","typography","contextToProps","MAIN_COLUMN_HORIZONTAL_MIN_MARGIN","RESPONSIVE_LEFT_WIDTH","columnSystem","COLUMN_UNIT","GUTTER_UNIT","RESPONSIVE_MAIN_MAX_WIDTH","useMediaScreen1","useMedia","useTheme","query","matcher","useMemo","__TEST__","matches","addListener","removeListener","matchMedia","setMatches","useState","callback","e","ReactDOM","flushSync","useLayoutEffect","useDebugValue","toString","measure","getBoundingClientRect","useElementSize","deps","setSize","useReducer","state","next","watch","setWatch","observer","ResizeObserver","newSize","observe","unobserve","current","length","useDebounceAnimationState","defaultValue","setState","timer","useRef","setDebounceState","useCallback","value","force","requestAnimationFrame","LayoutConfigContext","createContext","wide","center","withLeft","Layout","menu","header","isHeaderTopMenu","config","HeaderTopMenuContainer","surface2","GlobalStyle","createGlobalStyle","background2","background1","LayoutRoot","LeftArea","screen3","MainArea","Header","Grid","LayoutItem","useContext","StyledLayoutItem","screen4","_t10","LayoutItemHeader","StyledLayoutItemHeader","_t11","_t12","_t13","LAYOUT_ITEM_BODY_PADDING","x","y","column1","narrow","yTop","yBottom","narrowColumn1","LayoutItemBody","StyledLayoutItemBody","useLayoutItemBodyPadding","CancelLayoutItemBodyPadding","cancelTop","StyledCancelLayoutItemBodyPadding","hasChildren","element","isValidElement","Boolean","childToString","child","JSON","stringify","onlyText","Array","isArray","Children","toArray","reduce","text","newText","concat","TextEllipsis","title","lineHeight","lineLimit","MenuListItemContext","MenuListItem","primary","secondary","disabled","noHover","gtmClass","Item","hasSubLabel","sidePadding","noClick","disabledSelector","Labels","PrimaryText","SecondaryText","MenuListLinkItem","link","linkProps","A","a","MenuListLinkItemWithIcon","icon","MenuListItemWithIcon","IconContainer","MenuListSpacer","MenuListLabel","LeftMenu","links","map","index","to","id","LeftMenuContent","LinkItem","SwitchCheckbox","flex","rowReverse","Label","label","SwitchOuter","SwitchInner","SwitchInnerKnob","text5","SwitchInput","input","type","brand","elementEffect","opacity","applyEffect","memo","WithIcon","show","prefix","pre","fit","fixed","node","Root","AutoWidthIconAnchor","forceCenteringCss","iconAnchorCss","IconAnchorNaive","IconNaive","IconAnchor","passiveEventsResult","passiveEvents","options","Object","defineProperty","get","window","addEventListener","test","removeEventListener","isEdge","navigator","userAgent","includes","unreachable","Error","arguments","WedgeDirection","NextIcon","direction","directionToTransform","Up","Down","Left","Right","Direction","CarouselButton","offset","bottomOffset","bottom","gradient","offsetStyle","left","paddingLeft","Math","max","paddingBottom","right","paddingRight","onlyNonTouchDevice","CAROUSEL_BUTTON_SIZE","CarouselButtonIcon","surface4","Button","effect","press","hide","GRADIENT_WIDTH","SCROLL_AMOUNT_COEF","Carousel","buttonOffset","buttonPadding","defaultScroll","align","scrollOffset","onScroll","onResize","centerItems","onScrollStateChange","scrollAmountCoef","scrollLeft","setScrollLeft","animation","maxScrollLeft","setMaxScrollLeft","leftShow","setLeftShow","rightShow","setRightShow","styles","set","useSpring","scroll","visibleAreaRef","innerRef","handleRight","clientWidth","min","from","reset","handleLeft","useEffect","newleftShow","newrightShow","handleScroll","stop","manualScrollLeft","handleResize","scrollWidth","newMaxScrollLeft","elm","innerElm","passive","resizeObserver","resizeObserverInner","disconnect","scrollLength","handleScrollMove","disableGradient","setDisableGradient","hasGradient","fadeInGradient","overflowGradient","CarouselContainer","ul","ButtonsContainer","ScrollArea","animated","GradientContainer","RightGradient","LeftGradient","DotsIcon","defaultProps","StyledSVG","WedgeIcon","white","lightGray","StyledPolyline","polyline","usePagerWindow","page","pageCount","windowSize","process","env","NODE_ENV","warning","visibleFirstPage","visibleLastPage","floor","i","start","Pager","onChange","makeClickHandler","hasNext","hasPrev","LinkPager","makeUrl","PagerContainer","nav","CircleButton","surface6","noBackground","Spacer"],"mappings":"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"}
1
+ {"version":3,"file":"index.modern.js","sources":["../src/components/Filter/index.tsx","../src/styled.ts","../src/components/icons/Base.tsx","../src/components/icons/InfoIcon.tsx","../src/components/HintText/index.tsx","../src/foundation/contants.ts","../src/foundation/hooks.ts","../src/components/Layout/index.tsx","../src/components/TextEllipsis/helper.ts","../src/components/TextEllipsis/index.tsx","../src/components/MenuListItem/index.tsx","../src/components/LeftMenu/index.tsx","../src/components/SwitchCheckbox/index.tsx","../src/components/WithIcon/index.tsx","../src/foundation/support.ts","../src/hooks/index.ts","../src/foundation/utils.ts","../src/components/icons/NextIcon.tsx","../src/components/CarouselButton/index.tsx","../src/components/Carousel/index.tsx","../src/components/icons/DotsIcon.tsx","../src/components/icons/WedgeIcon.tsx","../src/components/Pager/index.tsx"],"sourcesContent":["import React from 'react'\nimport styled, { css } from 'styled-components'\nimport { useComponentAbstraction, LinkProps } from '@charcoal-ui/react'\nimport { maxWidth } from '@charcoal-ui/utils'\n\ninterface Props<T extends HTMLElement> {\n active?: boolean\n hover?: boolean\n reactive?: boolean\n children: React.ReactNode\n onClick?: React.MouseEventHandler<T>\n}\n\ninterface FilterIconButtonProps extends Props<HTMLButtonElement> {\n width?: number\n height?: number\n}\n\nexport const FilterButton = React.forwardRef(function FilterButton(\n {\n onClick,\n children,\n active = false,\n hover,\n reactive = false,\n }: Props<HTMLButtonElement>,\n ref: React.Ref<HTMLButtonElement>\n) {\n return (\n <ButtonLike\n active={active}\n reactive={reactive}\n hover={hover}\n onClick={active && !reactive ? undefined : onClick}\n ref={ref}\n >\n {children}\n </ButtonLike>\n )\n})\n\nexport const FilterIconButton = React.forwardRef(function FilterIconButton(\n {\n onClick,\n children,\n active = false,\n hover,\n reactive = false,\n width,\n height,\n }: FilterIconButtonProps,\n ref: React.Ref<HTMLButtonElement>\n) {\n return (\n <StyledButtonLike\n active={active}\n reactive={reactive}\n hover={hover}\n onClick={active && !reactive ? undefined : onClick}\n ref={ref}\n buttonWidth={width}\n buttonHeight={height}\n >\n {children}\n </StyledButtonLike>\n )\n})\n\nexport const FilterLink = React.forwardRef(function FilterLink(\n {\n onClick,\n children,\n active = false,\n hover,\n reactive = false,\n ...props\n }: Props<HTMLAnchorElement> & LinkProps,\n ref: React.Ref<HTMLAnchorElement>\n) {\n const { Link } = useComponentAbstraction()\n if (active && !reactive) {\n return (\n <PlainElement active hover={hover} ref={ref}>\n {children}\n </PlainElement>\n )\n } else {\n return (\n <Link {...props} onClick={onClick}>\n <PlainElement\n active={active}\n reactive={reactive}\n hover={hover}\n ref={ref}\n >\n {children}\n </PlainElement>\n </Link>\n )\n }\n})\n\ninterface ButtonCssProps {\n active?: boolean\n hover?: boolean\n reactive?: boolean\n}\n\nconst buttonCss = css`\n display: block;\n outline: none;\n border: none;\n padding: 9px 24px;\n font-size: 14px;\n line-height: 22px;\n font-weight: bold;\n border-radius: /* absurd radius, but ensures rounded corners */ 2000px;\n transition: color 0.2s;\n color: ${({ theme }) => theme.color.text3};\n cursor: pointer;\n user-select: none;\n background-color: transparent;\n\n &:hover {\n color: ${({ theme }) => theme.color.text2};\n }\n\n ${({ hover = false }: ButtonCssProps) =>\n hover &&\n css`\n color: ${({ theme }) => theme.color.text2};\n `}\n\n ${({ active = false }: ButtonCssProps) =>\n active &&\n css`\n background-color: ${({ theme }) => theme.color.surface3};\n color: ${({ theme }) => theme.color.text2};\n `}\n\n ${({ active = false, reactive = false }) =>\n active &&\n !reactive &&\n css`\n cursor: default;\n `}\n\n @media ${({ theme }) => maxWidth(theme.breakpoint.screen1)} {\n padding: 5px 16px;\n }\n`\n\nconst padding0Css = css`\n padding: 0;\n\n @media ${({ theme }) => maxWidth(theme.breakpoint.screen1)} {\n padding: 0;\n }\n`\n\nconst ButtonLike = styled.button`\n ${buttonCss}\n`\n\nconst PlainElement = styled.span`\n ${buttonCss}\n`\n\nconst StyledButtonLike = styled(ButtonLike)<{\n buttonWidth: number | undefined\n buttonHeight: number | undefined\n}>`\n ${padding0Css};\n ${(p) => p.buttonWidth !== undefined && `width: ${p.buttonWidth}px;`}\n ${(p) => p.buttonHeight !== undefined && `height: ${p.buttonHeight}px;`}\n`\n\nconst Filter = styled.div`\n display: flex;\n`\n\nexport default Filter\n","import styled from 'styled-components'\nimport { createTheme } from '@charcoal-ui/styled'\nexport const theme = createTheme(styled)\n","import React from 'react'\nimport styled from 'styled-components'\n\nexport type IconSizes = 16 | 24 | 32\n\ninterface Props {\n path: string | React.ReactNode\n viewBoxSize: number\n size?: IconSizes | 40 | 48 | 64 | 72\n transform?: string\n currentColor?: boolean\n fillRule?: 'nonzero' | 'evenodd'\n clipRule?: 'nonzero' | 'evenodd' | 'inherit'\n}\n\nexport default function IconBase({\n size = 24,\n viewBoxSize,\n currentColor,\n path,\n transform,\n fillRule,\n clipRule,\n}: Props) {\n return (\n <Icon\n viewBox={`0 0 ${viewBoxSize} ${viewBoxSize}`}\n size={size}\n currentColor={currentColor}\n >\n <IconBasePath\n path={path}\n transform={transform}\n fillRule={fillRule}\n clipRule={clipRule}\n />\n </Icon>\n )\n}\n\nconst Icon = styled.svg<{ size: number; currentColor?: boolean }>`\n stroke: none;\n fill: ${({ currentColor = false, theme }) =>\n currentColor ? 'currentColor' : theme.color.text2};\n width: ${(props) => props.size}px;\n height: ${(props) => props.size}px;\n line-height: 0;\n font-size: 0;\n vertical-align: middle;\n`\n\ntype IconBasePathProps = Pick<\n Props,\n 'path' | 'transform' | 'fillRule' | 'clipRule'\n>\nexport const IconBasePath = ({\n path,\n transform,\n fillRule,\n clipRule,\n}: IconBasePathProps) => {\n if (typeof path === 'string') {\n return (\n <path\n d={path}\n transform={transform}\n fillRule={fillRule}\n clipRule={clipRule}\n />\n )\n } else {\n // eslint-disable-next-line react/jsx-no-useless-fragment\n return <>{path}</>\n }\n}\n","import React from 'react'\nimport styled from 'styled-components'\nimport IconBase from './Base'\n\nconst size = 16\n\nexport default function InfoIcon() {\n const path = (\n <>\n <path\n d=\"M8 16C3.58172 16 0 12.4183 0 8C0 3.58172 3.58172 0 8 0C12.4183\n 0 16 3.58172 16 8C16 12.4183 12.4183 16 8 16Z\"\n />\n <Path\n d=\"M14 8C14 11.3137 11.3137 14 8 14C4.68629 14 2 11.3137 2 8C2 4.68629\n 4.68629 2 8 2C11.3137 2 14 4.68629 14 8ZM8 6.25C8.69036 6.25 9.25 5.69036\n 9.25 5C9.25 4.30964 8.69036 3.75 8 3.75C7.30964 3.75 6.75 4.30964 6.75\n 5C6.75 5.69036 7.30964 6.25 8 6.25ZM7 7.75V11.25C7 11.8023 7.44772 12.25\n 8 12.25C8.55228 12.25 9 11.8023 9 11.25V7.75C9 7.19772 8.55228 6.75 8\n 6.75C7.44772 6.75 7 7.19772 7 7.75Z\"\n />\n </>\n )\n return <IconBase viewBoxSize={size} size={size} currentColor path={path} />\n}\n\nconst Path = styled.path`\n fill: ${({ theme }) => theme.color.surface1};\n fill-rule: evenodd;\n`\n","import React from 'react'\nimport styled, { css } from 'styled-components'\nimport { theme } from '../../styled'\nimport InfoIcon from '../icons/InfoIcon'\nimport { maxWidth } from '@charcoal-ui/utils'\n\ntype Context = 'page' | 'section'\ninterface Props {\n children: React.ReactNode\n context: Context\n className?: string\n}\n\nexport default function HintText({ children, context, className }: Props) {\n return (\n <Container className={className} context={context}>\n <IconWrap>\n <InfoIcon />\n </IconWrap>\n <Text>{children}</Text>\n </Container>\n )\n}\n\nconst Container = styled.div.attrs<Props, ReturnType<typeof styledProps>>(\n styledProps\n)`\n ${(p) =>\n theme((o) => [\n o.bg.surface3,\n o.borderRadius(8),\n o.padding.vertical(p.default.vertical),\n o.padding.horizontal(p.default.horizontal),\n ])}\n\n @media ${({ theme: t }) => maxWidth(t.breakpoint.screen1)} {\n ${(p) =>\n theme((o) => [\n o.padding.vertical(p.screen1.vertical),\n o.padding.horizontal(p.screen1.horizontal),\n ])}\n }\n\n display: flex;\n align-items: flex-start;\n ${(p) =>\n p.context === 'page' &&\n css`\n justify-content: center;\n `}\n`\n\nconst IconWrap = styled.div`\n display: flex;\n align-items: center;\n color: ${(p) => p.theme.color.text4};\n height: 22px;\n margin: -4px 4px -4px 0;\n`\n\nconst Text = styled.p`\n ${theme((o) => [o.font.text2, o.typography(14)])}\n margin: 0;\n`\n\nfunction styledProps(props: Props) {\n return { ...props, ...contextToProps(props.context) }\n}\n\nfunction contextToProps(context: Context) {\n switch (context) {\n case 'page':\n return {\n default: {\n horizontal: 40,\n vertical: 24,\n },\n screen1: {\n horizontal: 16,\n vertical: 16,\n },\n } as const\n case 'section':\n return {\n default: {\n horizontal: 16,\n vertical: 16,\n },\n screen1: {\n horizontal: 16,\n vertical: 16,\n },\n } as const\n }\n}\n","import { columnSystem, COLUMN_UNIT, GUTTER_UNIT } from '@charcoal-ui/foundation'\n\nexport const MAIN_COLUMN_HORIZONTAL_MIN_MARGIN = 72\n\nexport const RESPONSIVE_LEFT_WIDTH =\n columnSystem(2, COLUMN_UNIT, GUTTER_UNIT) + GUTTER_UNIT\nexport const RESPONSIVE_MAIN_MAX_WIDTH = columnSystem(\n 12,\n COLUMN_UNIT,\n GUTTER_UNIT\n)\n","import {\n useCallback,\n useDebugValue,\n useLayoutEffect,\n useMemo,\n useReducer,\n useRef,\n useState,\n} from 'react'\nimport ReactDOM from 'react-dom'\nimport { useTheme } from 'styled-components'\nimport { maxWidth } from '@charcoal-ui/utils'\n\ndeclare const __TEST__: object | undefined // actually object|false, but using undefined allows ! assertion\n\ndeclare module 'react-dom' {\n export function flushSync<R>(callback: () => R): R\n}\n\n/**\n * 現在の画面幅がモバイル幅かどうかを返す\n */\nexport function useMediaScreen1() {\n return useMedia(maxWidth(useTheme().breakpoint.screen1))\n}\n\n/**\n * Returns a dynamically-updating media query result.\n *\n * When the media query's matching state changes, this hook's result\n * will update with sync priority.\n *\n * @param query A full media query (the string written between `@media` and the `{` in CSS)\n * @returns true if the query matches, false if it doesn't\n */\nexport function useMedia(query: string) {\n const matcher = useMemo(\n () =>\n __TEST__\n ? {\n matches: false,\n addListener: () => {\n // do nothing\n },\n removeListener: () => {\n // do nothing\n },\n }\n : matchMedia(query),\n [query]\n )\n const [matches, setMatches] = useState<boolean>(matcher.matches)\n\n // can only happen if/when the query changes\n if (matcher.matches !== matches) {\n setMatches(matcher.matches)\n }\n\n const callback = (e: MediaQueryListEvent) => {\n // We're not on a React event listener, so React doesn't know the priority of the setState call\n // Media query updates _are_ very high priority to avoid FOUC\n // so we need to emit a sync priority update\n try {\n // However, flushSync may throw if the matcher is triggered by a\n // forced relayout that happens during a React lifecycle handler.\n // Try to be resilient and retry without flushSync if flushSync throws.\n ReactDOM.flushSync(() => {\n setMatches(e.matches)\n })\n } catch {\n setMatches(e.matches)\n }\n }\n\n useLayoutEffect(() => {\n matcher.addListener(callback)\n // sync update\n setMatches(matcher.matches)\n return () => {\n matcher.removeListener(callback)\n }\n }, [matcher])\n\n useDebugValue(`${query}: ${matches.toString()}`)\n\n return matches\n}\n\nexport interface ElementSize {\n width: number\n height: number\n}\n\nfunction measure(ref: Element | null): ElementSize | undefined {\n return ref !== null ? ref.getBoundingClientRect() : undefined\n}\n\nexport function useElementSize(\n ref: React.RefObject<Element>,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n deps: any[] = []\n) {\n // _don't_ call measure synchronously here even if you somehow can\n // measurement has to be done outside the render phase, either\n // as the resize observer callback or as a layout effect\n\n const [size, setSize] = useReducer(\n (\n state: ElementSize | undefined,\n next: ElementSize | undefined\n ): ElementSize | undefined => {\n // width, height, etc are not own properties but getters in the prototype\n // can't use shallowEqual or other iterative checks\n if (state === undefined || next === undefined) {\n return next\n }\n if (state.height === next.height && state.width === next.width) {\n return state\n }\n return next\n },\n undefined\n )\n const [watch, setWatch] = useState<Element | null>(null)\n useLayoutEffect(() => {\n if (watch === null) {\n return\n }\n\n const observer = new ResizeObserver(() => {\n // NOTE: the ResizeObserverCallback receives a rect,\n // but it's not measured in the same way as getBoundingClientRect,\n // which causes unstable layout\n const newSize = measure(watch)\n setSize(newSize)\n })\n\n // The ResizeObserver is supposed to call handleResize on observe\n observer.observe(watch)\n\n return () => {\n // this will correctly unobserve if either the observer\n // or the current changes, and even on unmount\n // no need for an observer.disconnect() 🎉\n observer.unobserve(watch)\n setSize(undefined)\n }\n }, [watch])\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useLayoutEffect(() => {\n if (ref.current !== watch) {\n setWatch(ref.current)\n }\n })\n\n useLayoutEffect(() => {\n if (deps.length > 0) {\n // Sync measuring\n setSize(measure(ref.current))\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, deps)\n\n useDebugValue(size)\n\n return size\n}\n\n/**\n * Debounce version of setState with `requestAnimationFrame`\n *\n * @param defaultValue Default value for `useState`\n */\nexport function useDebounceAnimationState<T>(defaultValue: T) {\n const [state, setState] = useState(defaultValue)\n const timer = useRef<ReturnType<typeof requestAnimationFrame>>()\n // typescript bug? (any when omitting type annotation)\n // eslint-disable-next-line @typescript-eslint/no-inferrable-types\n const setDebounceState = useCallback((value: T, force: boolean = false) => {\n if (force) {\n setState(value)\n return\n }\n if (timer.current !== undefined) {\n return\n }\n timer.current = requestAnimationFrame(() => {\n setState(value)\n if (timer.current !== undefined) {\n timer.current = undefined\n }\n })\n }, [])\n return [state, setDebounceState] as [typeof state, typeof setDebounceState]\n}\n","import React, { useContext } from 'react'\nimport styled, { createGlobalStyle, css } from 'styled-components'\nimport {\n MAIN_COLUMN_HORIZONTAL_MIN_MARGIN,\n RESPONSIVE_LEFT_WIDTH,\n RESPONSIVE_MAIN_MAX_WIDTH,\n} from '../../foundation/contants'\nimport { useMediaScreen1 } from '../../foundation/hooks'\nimport { columnSystem, COLUMN_UNIT, GUTTER_UNIT } from '@charcoal-ui/foundation'\nimport { maxWidth } from '@charcoal-ui/utils'\n\ninterface Props {\n menu?: React.ReactNode\n isHeaderTopMenu?: boolean\n children: React.ReactNode\n header?: React.ReactNode\n wide?: boolean\n center?: boolean\n}\n\nconst LayoutConfigContext = React.createContext({\n wide: false,\n center: false,\n withLeft: false,\n})\n\nexport default function Layout({\n menu,\n children,\n header,\n center = false,\n wide,\n isHeaderTopMenu = false,\n}: Props) {\n const config = {\n center,\n wide: center ? true : wide ?? false,\n withLeft: menu != null && !isHeaderTopMenu,\n }\n return (\n <LayoutRoot>\n <LayoutConfigContext.Provider value={config}>\n {config.withLeft && <LeftArea>{menu}</LeftArea>}\n <MainArea center={center}>\n {header != null && <Header>{header}</Header>}\n {isHeaderTopMenu && (\n <HeaderTopMenuContainer>{menu}</HeaderTopMenuContainer>\n )}\n <Grid>{children}</Grid>\n </MainArea>\n </LayoutConfigContext.Provider>\n <GlobalStyle />\n </LayoutRoot>\n )\n}\n\nconst HeaderTopMenuContainer = styled.div`\n margin-bottom: 40px;\n overflow-x: auto;\n word-break: keep-all;\n\n @media ${({ theme }) => maxWidth(theme.breakpoint.screen1)} {\n margin-bottom: 0;\n padding-left: 16px;\n padding-bottom: 16px;\n background-color: ${({ theme }) => theme.color.surface2};\n }\n`\n\nconst GlobalStyle = createGlobalStyle`\n :root {\n background-color: ${({ theme }) => theme.color.background2};\n\n @media ${({ theme }) => maxWidth(theme.breakpoint.screen1)} {\n background-color: ${({ theme }) => theme.color.background1};\n }\n }\n`\n\nconst LayoutRoot = styled.div`\n display: flex;\n background-color: ${({ theme }) => theme.color.background2};\n\n @media ${({ theme }) => maxWidth(theme.breakpoint.screen1)} {\n background-color: ${({ theme }) => theme.color.background1};\n }\n`\n\nconst LeftArea = styled.div`\n min-width: ${RESPONSIVE_LEFT_WIDTH}px;\n padding: 40px 0 40px ${GUTTER_UNIT}px;\n box-sizing: border-box;\n\n @media ${({ theme }) => theme.breakpoint.screen3} {\n display: none;\n }\n`\n\nconst MainArea = styled.div<{ center: boolean }>`\n flex-grow: 1;\n /* https://www.w3.org/TR/css-flexbox-1/#min-size-auto */\n min-width: 0;\n max-width: ${(p) =>\n p.center\n ? columnSystem(6, COLUMN_UNIT, GUTTER_UNIT)\n : RESPONSIVE_MAIN_MAX_WIDTH}px;\n padding: 40px ${MAIN_COLUMN_HORIZONTAL_MIN_MARGIN}px;\n margin: 0 auto;\n display: flex;\n flex-direction: column;\n\n @media ${({ theme }) => maxWidth(theme.breakpoint.screen1)} {\n padding: 0;\n }\n`\n\nconst Header = styled.div`\n font-weight: bold;\n margin-bottom: 12px;\n font-size: 20px;\n line-height: 28px;\n color: ${({ theme }) => theme.color.text2};\n\n @media ${({ theme }) => maxWidth(theme.breakpoint.screen1)} {\n margin-bottom: 0;\n padding: 12px;\n font-size: 16px;\n line-height: 24px;\n display: flex;\n justify-content: center;\n background-color: ${({ theme }) => theme.color.surface2};\n }\n`\n\nconst Grid = styled.div`\n display: grid;\n gap: ${GUTTER_UNIT}px;\n grid-template-columns: 1fr;\n grid-auto-columns: 1fr;\n grid-auto-rows: auto;\n\n @media ${({ theme }) => maxWidth(theme.breakpoint.screen1)} {\n gap: 0;\n background-color: ${({ theme }) => theme.color.background1};\n padding-bottom: 60px;\n }\n`\n\ninterface LayoutItemProps {\n span: number\n children?: React.ReactNode\n}\n\nexport const LayoutItem = React.forwardRef<HTMLDivElement, LayoutItemProps>(\n function LayoutItem({ span, children }, ref) {\n const { withLeft } = useContext(LayoutConfigContext)\n\n return (\n <StyledLayoutItem span={span} withLeft={withLeft} ref={ref}>\n {children}\n </StyledLayoutItem>\n )\n }\n)\n\ninterface StyledLayoutItemProps {\n span: number\n withLeft: boolean\n}\n\nconst StyledLayoutItem = styled.div<StyledLayoutItemProps>`\n grid-column-start: auto;\n grid-column-end: span ${(p) => p.span};\n border-radius: 24px;\n color: ${({ theme }) => theme.color.text2};\n background-color: ${({ theme }) => theme.color.background1};\n /* https://www.w3.org/TR/css-grid-1/#min-size-auto */\n min-width: 0;\n\n @media ${(p) =>\n p.withLeft ? p.theme.breakpoint.screen4 : p.theme.breakpoint.screen3} {\n ${(p) =>\n p.span > 2 &&\n css`\n grid-column-end: span 2;\n `}\n }\n\n @media ${({ theme }) => maxWidth(theme.breakpoint.screen1)} {\n ${(p) =>\n p.span > 1 &&\n css`\n grid-column-end: span 1;\n `}\n\n border-radius: 0;\n padding-bottom: 40px;\n }\n`\n\nexport function LayoutItemHeader({ children }: { children: React.ReactNode }) {\n const { wide, center } = useContext(LayoutConfigContext)\n\n return (\n <StyledLayoutItemHeader wide={wide} center={center}>\n {children}\n </StyledLayoutItemHeader>\n )\n}\n\ninterface StyledLayoutItemHeaderProps {\n wide: boolean\n center: boolean\n}\n\nconst StyledLayoutItemHeader = styled.div<StyledLayoutItemHeaderProps>`\n padding: 0 ${(p) => (p.wide ? 40 : 24)}px;\n height: ${(p) => (p.wide ? 64 : 48)}px;\n display: grid;\n align-items: center;\n font-size: 16px;\n line-height: 24px;\n font-weight: bold;\n background-color: ${({ theme }) => theme.color.surface2};\n color: ${({ theme }) => theme.color.text2};\n border-radius: 24px 24px 0 0;\n ${(p) =>\n p.center &&\n css`\n justify-content: center;\n `}\n\n @media ${({ theme }) => maxWidth(theme.breakpoint.screen1)} {\n margin-top: 4px;\n padding: 0 16px;\n background: none;\n overflow-x: auto;\n border-radius: unset;\n ${(p) =>\n p.wide &&\n css`\n height: 48px;\n margin-top: 0;\n `}\n }\n`\n\nexport const LAYOUT_ITEM_BODY_PADDING = {\n wide: {\n x: 40,\n y: 40,\n },\n default: {\n x: 24,\n y: 24,\n },\n column1: {\n x: 16,\n y: 16,\n },\n narrow: {\n x: 24,\n yTop: 12,\n yBottom: 20,\n },\n narrowColumn1: {\n x: 16,\n yTop: 4,\n yBottom: 0,\n },\n}\n\nexport function LayoutItemBody({\n children,\n horizontal = false,\n narrow = false,\n}: {\n children: React.ReactNode\n horizontal?: boolean\n narrow?: boolean\n}) {\n const { wide } = useContext(LayoutConfigContext)\n\n return (\n <StyledLayoutItemBody wide={wide} horizontal={horizontal} narrow={narrow}>\n {children}\n </StyledLayoutItemBody>\n )\n}\n\ninterface StyledLayoutItemBodyProps {\n wide: boolean\n horizontal: boolean\n narrow: boolean\n}\n\nexport const StyledLayoutItemBody = styled.div<StyledLayoutItemBodyProps>`\n padding: ${(p) =>\n p.narrow\n ? `${LAYOUT_ITEM_BODY_PADDING.narrow.yTop}px ${\n p.horizontal ? 0 : LAYOUT_ITEM_BODY_PADDING.narrow.x\n }px ${LAYOUT_ITEM_BODY_PADDING.narrow.yBottom}px`\n : p.wide\n ? `${p.horizontal ? 0 : LAYOUT_ITEM_BODY_PADDING.wide.y}px ${\n LAYOUT_ITEM_BODY_PADDING.wide.x\n }px`\n : `${p.horizontal ? 0 : LAYOUT_ITEM_BODY_PADDING.default.y}px ${\n LAYOUT_ITEM_BODY_PADDING.default.x\n }px`};\n\n @media ${({ theme }) => maxWidth(theme.breakpoint.screen1)} {\n padding: ${(p) =>\n p.narrow\n ? `${LAYOUT_ITEM_BODY_PADDING.narrowColumn1.yTop}px ${\n p.horizontal ? 0 : LAYOUT_ITEM_BODY_PADDING.narrowColumn1.x\n }px ${LAYOUT_ITEM_BODY_PADDING.narrowColumn1.yBottom}px`\n : `${LAYOUT_ITEM_BODY_PADDING.column1.y}px ${\n LAYOUT_ITEM_BODY_PADDING.column1.x\n }px ${0}`};\n }\n\n width: 100%;\n box-sizing: border-box;\n`\n\nexport function useLayoutItemBodyPadding() {\n const { wide } = useContext(LayoutConfigContext)\n return useMediaScreen1()\n ? LAYOUT_ITEM_BODY_PADDING.column1\n : wide\n ? LAYOUT_ITEM_BODY_PADDING.wide\n : LAYOUT_ITEM_BODY_PADDING.default\n}\n\nexport function CancelLayoutItemBodyPadding({\n children,\n cancelTop,\n}: {\n children: React.ReactNode\n cancelTop?: boolean\n}) {\n const { wide } = useContext(LayoutConfigContext)\n\n return (\n <StyledCancelLayoutItemBodyPadding wide={wide} cancelTop={cancelTop}>\n {children}\n </StyledCancelLayoutItemBodyPadding>\n )\n}\n\ninterface StyledCancelLayoutItemBodyPaddingProps {\n wide: boolean\n cancelTop?: boolean\n}\n\n/* eslint-disable max-len */\nexport const StyledCancelLayoutItemBodyPadding = styled.div<StyledCancelLayoutItemBodyPaddingProps>`\n margin: 0 -${(p) => (p.wide ? LAYOUT_ITEM_BODY_PADDING.wide.x : LAYOUT_ITEM_BODY_PADDING.default.x)}px;\n margin-top: -${({ cancelTop = false, wide }) => (!cancelTop ? 0 : wide ? LAYOUT_ITEM_BODY_PADDING.wide.y : LAYOUT_ITEM_BODY_PADDING.default.y)}px;\n\n @media ${({ theme }) => maxWidth(theme.breakpoint.screen1)} {\n margin: 0 -${LAYOUT_ITEM_BODY_PADDING.column1.x}px;\n margin-top: -${({ cancelTop = false }) => (!cancelTop ? 0 : LAYOUT_ITEM_BODY_PADDING.column1.x)}px;\n }\n`\n/* eslint-enable max-len */\n","// https://github.com/fernandopasik/react-children-utilities/blob/971d8a0324e6183734d8d1af9a65dbad18ab3d00/src/lib/onlyText.ts\n\nimport {\n Children,\n isValidElement,\n ReactElement,\n ReactNode,\n ReactText,\n} from 'react'\n\nconst hasChildren = (\n element: ReactNode\n): element is ReactElement<{ children: ReactNode[] }> =>\n isValidElement<{ children?: ReactNode[] }>(element) &&\n Boolean(element.props.children)\n\nexport const childToString = (\n // eslint-disable-next-line @typescript-eslint/ban-types\n child?: ReactText | boolean | {} | null\n): string => {\n if (\n typeof child === 'undefined' ||\n child === null ||\n typeof child === 'boolean'\n ) {\n return ''\n }\n\n if (JSON.stringify(child) === '{}') {\n return ''\n }\n\n return (child as string | number).toString()\n}\n\nexport const onlyText = (children: ReactNode): string => {\n if (!Array.isArray(children) && !isValidElement(children)) {\n return childToString(children)\n }\n\n return Children.toArray(children).reduce(\n (text: string, child: ReactNode): string => {\n let newText = ''\n\n if (isValidElement(child) && hasChildren(child)) {\n newText = onlyText(child.props.children)\n } else if (isValidElement(child) && !hasChildren(child)) {\n newText = ''\n } else {\n newText = childToString(child)\n }\n\n return text.concat(newText)\n },\n ''\n )\n}\n","import styled, { css } from 'styled-components'\nimport { onlyText } from './helper'\n\nexport interface Props {\n lineHeight: number\n lineLimit?: number\n}\n\n/**\n * 複数行のテキストに表示行数制限を設けて`...`で省略する\n */\nexport const TextEllipsis = styled.div.attrs(\n ({ children, title = onlyText(children) }) => ({\n title: title !== '' ? title : undefined,\n })\n)<Props>`\n overflow: hidden;\n line-height: ${(props) => props.lineHeight}px;\n /* For english */\n overflow-wrap: break-word;\n\n ${({ lineLimit = 1, lineHeight }) =>\n lineLimit === 1\n ? css`\n text-overflow: ellipsis;\n white-space: nowrap;\n `\n : css`\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: ${lineLimit};\n /* Fallback for -webkit-line-clamp */\n max-height: ${lineHeight * lineLimit}px;\n `}\n`\n","import React, { useContext } from 'react'\nimport styled, { css } from 'styled-components'\nimport { theme } from '../../styled'\nimport { TextEllipsis } from '../TextEllipsis'\nimport { LinkProps, useComponentAbstraction } from '@charcoal-ui/react'\nimport { disabledSelector } from '@charcoal-ui/utils'\n\ninterface MenuListItemContextProps {\n padding: 16 | 24\n}\n\nexport const MenuListItemContext =\n React.createContext<MenuListItemContextProps>({ padding: 24 })\n\nexport interface MenuListItemBaseData {\n primary: string | React.ReactNode // 表示アイテム名(上に表示)\n secondary?: string // 表示アイテム名2(下に表示)\n onClick?: (e: React.MouseEvent) => void\n disabled?: boolean\n gtmClass?: string\n noHover?: boolean\n}\n\ninterface MenuListItemProps extends MenuListItemBaseData {\n children?: React.ReactNode // 右寄せで表示したい要素\n}\n\nexport default function MenuListItem({\n primary,\n secondary,\n onClick,\n disabled = false,\n noHover = false,\n gtmClass,\n children,\n}: MenuListItemProps) {\n const { padding } = useContext(MenuListItemContext)\n\n return (\n <Item\n hasSubLabel={secondary !== undefined}\n onClick={(e) => !disabled && onClick && onClick(e)}\n sidePadding={padding}\n noHover={noHover}\n noClick={onClick === undefined}\n aria-disabled={disabled}\n role={onClick !== undefined ? 'button' : undefined}\n className={gtmClass !== undefined ? `gtm-${gtmClass}` : undefined}\n >\n <Labels>\n <PrimaryText>\n <TextEllipsis lineHeight={22} lineLimit={1}>\n {primary}\n </TextEllipsis>\n </PrimaryText>\n {secondary !== undefined && (\n <SecondaryText>\n <TextEllipsis lineHeight={22} lineLimit={1}>\n {secondary}\n </TextEllipsis>\n </SecondaryText>\n )}\n </Labels>\n {children}\n </Item>\n )\n}\n\ninterface ItemProps {\n hasSubLabel: boolean\n sidePadding: 16 | 24\n noHover: boolean\n noClick: boolean\n}\n\nconst Item = styled.div<ItemProps>`\n display: flex;\n height: ${(p) => (p.hasSubLabel ? 56 : 40)}px;\n align-items: center;\n justify-content: space-between;\n padding: 0 ${(p) => p.sidePadding}px;\n user-select: none;\n cursor: ${(p) => (p.noClick ? 'default' : 'pointer')};\n transition: 0.2s background-color;\n\n &:hover {\n ${(p) =>\n !p.noHover &&\n css`\n background-color: ${({ theme }) => theme.color.surface3};\n `}\n }\n\n ${theme((o) => o.disabled)}\n\n ${disabledSelector} {\n cursor: default;\n pointer-events: none;\n\n &:hover {\n background-color: unset;\n }\n }\n`\n\nconst Labels = styled.div`\n display: flex;\n flex-direction: column;\n`\n\nconst PrimaryText = styled.div`\n color: ${(p) => p.theme.color.text2};\n line-height: 22px;\n font-size: 14px;\n display: grid;\n`\n\nconst SecondaryText = styled.div`\n color: ${(p) => p.theme.color.text3};\n line-height: 18px;\n font-size: 10px;\n`\n\ninterface MenuListLinkItemProps\n extends MenuListItemBaseData,\n Omit<LinkProps, 'to' | 'onClick' | 'children'> {\n link: string\n children?: React.ReactNode\n}\n\nexport function MenuListLinkItem({\n link,\n onClick,\n disabled = false,\n primary,\n secondary,\n gtmClass,\n noHover,\n children,\n ...linkProps\n}: MenuListLinkItemProps) {\n const { Link } = useComponentAbstraction()\n const props: MenuListItemProps = {\n disabled,\n primary,\n secondary,\n gtmClass,\n noHover,\n children,\n }\n\n return disabled ? (\n <span onClick={onClick}>\n <MenuListItem {...props} />\n </span>\n ) : (\n <A<typeof Link> as={Link} to={link} onClick={onClick} {...linkProps}>\n <MenuListItem onClick={() => void 0} {...props} />\n </A>\n )\n}\n\nconst A = styled.a`\n display: block;\n`\n\ninterface MenuListLinkItemWithIconProps extends MenuListLinkItemProps {\n icon: React.ReactNode\n}\n\ninterface MenuListItemWithIconProps extends MenuListItemProps {\n icon: React.ReactNode\n}\n\nexport function MenuListLinkItemWithIcon({\n icon,\n primary: text,\n ...props\n}: MenuListLinkItemWithIconProps) {\n const primary = (\n <IconContainer>\n <Icon>{icon}</Icon>\n {text}\n </IconContainer>\n )\n return <MenuListLinkItem primary={primary} {...props} />\n}\n\nexport function MenuListItemWithIcon({\n icon,\n primary: text,\n ...props\n}: MenuListItemWithIconProps) {\n const primary = (\n <IconContainer>\n <Icon>{icon}</Icon>\n {text}\n </IconContainer>\n )\n return <MenuListItem primary={primary} {...props} />\n}\n\nconst IconContainer = styled.div`\n display: grid;\n gap: 8px;\n grid-auto-flow: column;\n align-items: center;\n`\n\nconst Icon = styled.div`\n color: ${({ theme }) => theme.color.text3};\n display: flex;\n`\n\nexport const MenuListSpacer = styled.div`\n height: 24px;\n`\n\nexport const MenuListLabel = styled.div`\n padding: 0 16px;\n font-size: 12px;\n line-height: 16px;\n color: ${({ theme }) => theme.color.text3};\n margin-top: -2px;\n margin-bottom: 6px;\n`\n","import React from 'react'\nimport styled from 'styled-components'\nimport { MenuListLinkItem } from '../MenuListItem'\nimport { useComponentAbstraction } from '@charcoal-ui/react'\n\ninterface Props<ID extends string> {\n links: readonly {\n text: string\n to: string\n id: ID\n }[]\n active: ID\n}\n\nexport default function LeftMenu<ID extends string>({\n links,\n active,\n}: Props<ID>) {\n const { Link } = useComponentAbstraction()\n return (\n <Container>\n {links.map((link, index) => (\n <Link to={link.to} key={index}>\n <LinkItem aria-current={link.id === active || undefined}>\n {link.text}\n </LinkItem>\n </Link>\n ))}\n </Container>\n )\n}\n\nexport function LeftMenuContent<ID extends string>({ links }: Props<ID>) {\n return (\n <>\n {links.map((link, index) => (\n <MenuListLinkItem link={link.to} key={index} primary={link.text} />\n ))}\n </>\n )\n}\n\nconst Container = styled.div`\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n`\n\nconst LinkItem = styled.div`\n display: flex;\n align-items: center;\n color: ${({ theme }) => theme.color.text3};\n border-radius: 24px;\n font-weight: bold;\n font-size: 14px;\n line-height: 22px;\n padding: 0 16px;\n height: 40px;\n transition: 0.2s color;\n &:hover {\n transition: 0.2s color;\n color: ${({ theme }) => theme.color.text2};\n }\n &[aria-current] {\n color: ${({ theme }) => theme.color.text2};\n background-color: ${({ theme }) => theme.color.surface3};\n }\n`\n","import React from 'react'\n\nimport styled, { css } from 'styled-components'\nimport { applyEffect } from '@charcoal-ui/utils'\n\nexport interface Props extends React.ComponentPropsWithoutRef<'input'> {\n gtmClass?: string\n flex?: boolean\n rowReverse?: boolean\n}\n\nexport default React.forwardRef(function SwitchCheckbox(\n {\n gtmClass,\n flex = false,\n rowReverse = false,\n children,\n disabled,\n ...props\n }: Props,\n ref: React.Ref<HTMLInputElement>\n) {\n return (\n <Label\n className={gtmClass !== undefined ? `gtm-${gtmClass}` : ''}\n flex={flex}\n rowReverse={rowReverse}\n aria-disabled={disabled}\n >\n <SwitchOuter>\n <SwitchInput {...props} disabled={disabled} ref={ref} />\n <SwitchInner>\n <SwitchInnerKnob />\n </SwitchInner>\n </SwitchOuter>\n {children != null && (\n <Children rowReverse={rowReverse}>{children}</Children>\n )}\n </Label>\n )\n})\n\nconst Children = styled.span<{ rowReverse: boolean }>`\n ${(p) =>\n p.rowReverse\n ? css`\n margin-right: 8px;\n `\n : css`\n margin-left: 8px;\n `}\n`\n\nconst Label = styled.label<{ flex: boolean; rowReverse: boolean }>`\n display: inline-flex;\n align-items: center;\n ${({ flex }) =>\n flex &&\n css`\n display: flex;\n justify-content: space-between;\n `}\n ${({ rowReverse }) =>\n css`\n flex-direction: ${rowReverse ? 'row-reverse' : 'row'};\n `}\n cursor: pointer;\n outline: 0;\n\n &[aria-disabled='true'] {\n cursor: auto;\n }\n`\n\nconst SwitchOuter = styled.span`\n display: inline-flex;\n position: relative;\n z-index: 0;\n`\n\nconst SwitchInner = styled.div`\n position: relative;\n box-sizing: border-box;\n width: 28px;\n height: 16px;\n border-radius: 16px;\n border: 2px solid transparent;\n background: ${({ theme }) => theme.color.text4};\n transition: box-shadow 0.2s, background-color 0.2s;\n`\n\nconst SwitchInnerKnob = styled.div`\n position: absolute;\n display: block;\n top: 0;\n left: 0;\n width: 12px;\n height: 12px;\n background-color: ${({ theme }) => theme.color.text5};\n border-radius: 50%;\n transform: translateX(0);\n transition: transform 0.2s;\n`\n\nconst SwitchInput = styled.input.attrs({\n type: 'checkbox' as string,\n})`\n position: absolute;\n /* NOTE: this is contained by the GraphicCheckboxOuter */\n z-index: 1;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n /* just to control the clickable area if used standalone */\n border-radius: 16px;\n opacity: 0;\n appearance: none;\n outline: none;\n cursor: pointer;\n\n &:checked {\n ~ ${SwitchInner} {\n background-color: ${({ theme }) => theme.color.brand};\n\n ${SwitchInnerKnob} {\n transform: translateX(12px);\n }\n }\n }\n\n &:disabled {\n cursor: auto;\n\n ~ ${SwitchInner} {\n opacity: ${({ theme }) => theme.elementEffect.disabled.opacity};\n }\n }\n\n &:not(:disabled):focus {\n ~ ${SwitchInner} {\n box-shadow: 0 0 0 4px\n ${({ theme }) =>\n applyEffect(theme.color.brand, theme.elementEffect.disabled)};\n }\n }\n`\n","import React, { useRef } from 'react'\nimport styled, { css } from 'styled-components'\nimport { useElementSize } from '../../foundation/hooks'\n\nexport interface Props {\n children?: React.ReactNode\n icon: React.ReactNode\n /**\n * アイコンを表示。デフォルトがtrueなので、非表示にするときに使います。 (アイコン自体の幅を維持します)\n */\n show?: boolean | 'collapse'\n /**\n * アイコンを前にする\n */\n prefix?: boolean\n /**\n * アイコンの高さが文字の高さよりも大きいケースで有効。アイコンの高さをゼロにしてインラインの高さに関与させないようにします。\n */\n fit?: boolean\n /**\n * `fit`と併用した時にのみ有効な最適化オプション。アイコンの幅の自動計算を行わず指定した数値を利用します。\n */\n width?: number\n /**\n * 親要素のサイズに合わせるのではなく、コンテンツのサイズを優先する\n */\n fixed?: boolean\n}\n\nexport default React.memo(function WithIcon({\n children,\n icon,\n show = true,\n prefix: pre = false,\n width,\n fit = false,\n fixed = false,\n}: Props) {\n const node = fit ? (\n width === undefined ? (\n <AutoWidthIconAnchor show={show} pre={pre}>\n {icon}\n </AutoWidthIconAnchor>\n ) : (\n <IconAnchor width={width} show={show} pre={pre}>\n <Icon>{icon}</Icon>\n </IconAnchor>\n )\n ) : (\n <IconAnchorNaive show={show} pre={pre}>\n <IconNaive>{icon}</IconNaive>\n </IconAnchorNaive>\n )\n\n return (\n <Root>\n {pre && node}\n <Text fixed={fixed}>{children}</Text>\n {!pre && node}\n </Root>\n )\n})\n\nconst Root = styled.div`\n display: flex;\n align-items: center;\n`\n\nconst Text = styled.div<{ fixed: boolean }>`\n ${(p) =>\n !p.fixed &&\n css`\n min-width: 0;\n overflow: hidden;\n `}\n white-space: nowrap;\n text-overflow: ellipsis;\n`\n\nfunction AutoWidthIconAnchor({\n children,\n show,\n pre,\n}: {\n children: React.ReactNode\n show: boolean | 'collapse'\n pre: boolean\n}) {\n const ref = useRef<HTMLDivElement>(null)\n // depsを空配列にしないことで初回だけ同期で幅を計算させるテクニック\n const width = useElementSize(ref, [null])?.width ?? 0\n return (\n <IconAnchor width={width} show={show} pre={pre}>\n <Icon ref={ref}>{children}</Icon>\n </IconAnchor>\n )\n}\n\nconst forceCenteringCss = css`\n > svg {\n display: block;\n }\n`\n\nconst iconAnchorCss = css`\n ${(p: { show: boolean | 'collapse'; pre: boolean }) =>\n p.show === 'collapse'\n ? css`\n display: none;\n `\n : css`\n visibility: ${p.show ? 'visible' : 'hidden'};\n `};\n ${(p) =>\n p.pre\n ? css`\n margin-right: 4px;\n `\n : css`\n margin-left: 4px;\n `}\n`\n\nconst IconAnchorNaive = styled.div`\n display: flex;\n align-items: center;\n\n ${iconAnchorCss}\n`\n\nconst IconNaive = styled.div`\n display: inline-flex;\n\n ${forceCenteringCss}\n`\n\nconst IconAnchor = styled.div<{\n width: number\n show: boolean | 'collapse'\n pre: boolean\n}>`\n display: flex;\n position: relative;\n /* Iconをline-heightに関与させない */\n height: 0;\n /* 横方向の領域は確保する */\n width: ${(p) => p.width}px;\n\n ${iconAnchorCss}\n`\n\nconst Icon = styled.div`\n display: inline-flex;\n position: absolute;\n transform: translateY(-50%);\n\n ${forceCenteringCss}\n`\n","var passiveEventsResult: boolean | undefined // eslint-disable-line no-var\nexport function passiveEvents(): boolean {\n if (passiveEventsResult !== undefined) {\n return passiveEventsResult\n }\n\n passiveEventsResult = false\n try {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n const options = Object.defineProperty({}, 'passive', {\n get() {\n return (passiveEventsResult = true)\n },\n })\n\n window.addEventListener('test', test, options)\n window.removeEventListener('test', test)\n } catch {\n // test fail\n }\n\n return passiveEventsResult\n\n function test() {\n /* empty */\n }\n}\n\nexport const isEdge = () => navigator.userAgent.includes('Edge/')\n","import { useLayoutEffect, useEffect } from 'react'\n\nexport const useIsomorphicLayoutEffect =\n typeof window !== 'undefined' ? useLayoutEffect : useEffect\n","/**\n * Function used to assert a given code path is unreachable\n */\nexport function unreachable(): never\n/**\n * Function used to assert a given code path is unreachable.\n * Very useful for ensuring switches are exhaustive:\n *\n * ```ts\n * switch (a.type) {\n * case Types.A:\n * case Types.B:\n * break\n * default:\n * unreachable(a) // will cause a build error if there was\n * // a Types.C that was not checked\n * }\n * ```\n *\n * @param value Value to be asserted as unreachable\n */\n// NOTE: Uses separate overloads, _not_ `value?: never`, to not allow `undefined` to be passed\n// eslint-disable-next-line @typescript-eslint/unified-signatures\nexport function unreachable(value: never): never\nexport function unreachable(value?: never): never {\n throw new Error(\n arguments.length === 0\n ? 'unreachable'\n : `unreachable (${JSON.stringify(value)})`\n )\n}\n","import React from 'react'\nimport { unreachable } from '../../foundation/utils'\nimport IconBase from './Base'\n\nexport enum WedgeDirection {\n Up = 'up',\n Down = 'down',\n Left = 'left',\n Right = 'right',\n}\n\n// eslint-disable-next-line max-len\nconst path = `M8.08579 16.5858C7.30474 17.3668 7.30474 18.6332 8.08579 19.4142C8.86684 20.1953 10.1332 20.1953 10.9142 19.4142L18.3284 12L10.9142 4.58579C10.1332 3.80474 8.86684 3.80474 8.08579 4.58579C7.30474 5.36684 7.30474 6.63317 8.08579 7.41421L12.6716 12L8.08579 16.5858Z`\nconst size = 24\n\ninterface Props {\n direction: WedgeDirection\n}\n\nexport default function NextIcon({ direction }: Props) {\n const transform = directionToTransform(direction)\n return (\n <IconBase\n viewBoxSize={size}\n size={size}\n currentColor\n path={path}\n transform={transform}\n />\n )\n}\n\nfunction directionToTransform(direction: WedgeDirection) {\n // \"5 4\" is the center point of the \"0 0 10 8\" viewBox\n switch (direction) {\n case WedgeDirection.Up:\n return 'rotate(270 12 12)'\n case WedgeDirection.Down:\n return 'rotate(90 12 12)'\n case WedgeDirection.Left:\n return 'rotate(180 12 12)'\n case WedgeDirection.Right:\n return undefined\n default:\n return unreachable(direction)\n }\n}\n","import React from 'react'\nimport styled, { css } from 'styled-components'\nimport { unreachable } from '../../foundation/utils'\nimport NextIcon, { WedgeDirection } from '../icons/NextIcon'\nimport { applyEffect } from '@charcoal-ui/utils'\n\nexport enum Direction {\n Right = 'right',\n Left = 'left',\n}\n\ninterface Props {\n direction: Direction\n show: boolean\n offset?: number\n padding?: number\n bottomOffset?: number\n gradient?: boolean\n onClick(): void\n}\n\nexport default function CarouselButton({\n direction,\n show,\n offset = 0,\n padding = 0,\n bottomOffset: bottom = 0,\n gradient = false,\n onClick,\n}: Props) {\n const offsetStyle =\n direction === Direction.Left\n ? {\n left: gradient ? offset - 72 : offset,\n paddingLeft: Math.max(padding, 0),\n paddingBottom: bottom,\n }\n : {\n right: gradient ? offset - 72 : offset,\n paddingRight: Math.max(padding, 0),\n paddingBottom: bottom,\n }\n return (\n <Button\n type=\"button\"\n onClick={onClick}\n hide={!show}\n style={offsetStyle}\n css={onlyNonTouchDevice}\n >\n <CarouselButtonIcon>\n <NextIcon\n direction={\n direction === Direction.Right\n ? WedgeDirection.Right\n : // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n direction === Direction.Left\n ? WedgeDirection.Left\n : unreachable()\n }\n />\n </CarouselButtonIcon>\n </Button>\n )\n}\n\nexport const CAROUSEL_BUTTON_SIZE = 40\n\nconst CarouselButtonIcon = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n width: ${CAROUSEL_BUTTON_SIZE}px;\n height: ${CAROUSEL_BUTTON_SIZE}px;\n border-radius: 50%;\n background-color: ${({ theme }) => theme.color.surface4};\n transition: 0.4s visibility, 0.4s opacity, 0.2s background-color, 0.2s color;\n color: ${({ theme }) => theme.color.text5};\n`\n\nconst Button = styled.button<{ hide: boolean }>`\n position: absolute;\n top: 0;\n bottom: 0;\n display: flex;\n align-items: center;\n padding: 0;\n min-width: 40px;\n border: none;\n outline: 0;\n background: transparent;\n cursor: pointer;\n transition: 0.4s visibility, 0.4s opacity;\n /* つらい */\n /* このコンポーネントはCarouselでしか使われてないのでそっちでコンテキストで切る */\n z-index: 1;\n\n &:hover ${CarouselButtonIcon} {\n background-color: ${({ theme }) =>\n applyEffect(theme.color.surface4, theme.effect.hover)};\n color: ${({ theme }) => applyEffect(theme.color.text5, theme.effect.hover)};\n }\n\n &:active ${CarouselButtonIcon} {\n background-color: ${({ theme }) =>\n applyEffect(theme.color.surface4, theme.effect.press)};\n color: ${({ theme }) => applyEffect(theme.color.text5, theme.effect.press)};\n }\n\n ${(p) =>\n p.hide &&\n css`\n visibility: hidden;\n opacity: 0;\n pointer-events: none;\n `}\n`\n\nexport function ScrollHintButton({\n direction,\n onClick,\n}: {\n direction: Direction\n onClick(): void\n}) {\n return (\n <ScrollHintIcon onClick={onClick}>\n <NextIcon\n direction={\n direction === Direction.Right\n ? WedgeDirection.Right\n : // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n direction === Direction.Left\n ? WedgeDirection.Left\n : unreachable()\n }\n />\n </ScrollHintIcon>\n )\n}\n\nconst ScrollHintIcon = styled(CarouselButtonIcon)`\n cursor: pointer;\n\n &:hover {\n background-color: ${({ theme }) =>\n applyEffect(theme.color.surface4, theme.effect.hover)};\n color: ${({ theme }) => applyEffect(theme.color.text5, theme.effect.hover)};\n }\n\n &:active {\n background-color: ${({ theme }) =>\n applyEffect(theme.color.surface4, theme.effect.press)};\n color: ${({ theme }) => applyEffect(theme.color.text5, theme.effect.press)};\n }\n`\n\nconst onlyNonTouchDevice = css`\n @media (hover: none) and (pointer: coarse) {\n display: none;\n }\n`\n","import React, { useEffect, useState, useCallback, useRef } from 'react'\nimport { animated, useSpring } from 'react-spring'\nimport styled, { css } from 'styled-components'\nimport { useDebounceAnimationState } from '../../foundation/hooks'\nimport { passiveEvents, isEdge } from '../../foundation/support'\nimport { useIsomorphicLayoutEffect } from '../../hooks'\nimport CarouselButton, { Direction } from '../CarouselButton'\n\nexport const GRADIENT_WIDTH = 72\n/**\n * カルーセル系のスクロール量の定数\n *\n * @example\n * const scrollAmount = containerElm.clientWidth * SCROLL_AMOUNT_COEF\n */\nexport const SCROLL_AMOUNT_COEF = 0.75\n\ninterface ScrollProps {\n align?: 'center' | 'left' | 'right'\n offset?: number\n}\n\nexport interface CarouselBaseAppearanceProps {\n buttonOffset?: number\n buttonPadding?: number\n bottomOffset?: number\n defaultScroll?: ScrollProps\n}\n\nexport type CarouselGradientProps =\n | { hasGradient?: false }\n | {\n hasGradient: true\n fadeInGradient?: boolean\n }\n\ntype CarouselAppearanceProps = CarouselBaseAppearanceProps &\n CarouselGradientProps\n\ntype Props = CarouselAppearanceProps & {\n onScroll?: (left: number) => void\n onResize?: (width: number) => void\n children: React.ReactNode\n centerItems?: boolean\n onScrollStateChange?: (canScroll: boolean) => void\n scrollAmountCoef?: number\n}\n\nexport interface CarouselHandlerRef {\n resetScroll(): void\n}\n\nexport default function Carousel({\n buttonOffset = 0,\n buttonPadding = 16,\n bottomOffset = 0,\n defaultScroll: { align = 'left', offset: scrollOffset = 0 } = {},\n onScroll,\n onResize,\n children,\n centerItems,\n onScrollStateChange,\n scrollAmountCoef = SCROLL_AMOUNT_COEF,\n ...options\n}: Props) {\n // スクロール位置を保存する\n // アニメーション中の場合は、アニメーション終了時のスクロール位置が保存される\n const [scrollLeft, setScrollLeft] = useDebounceAnimationState(0)\n // アニメーション中かどうか\n const animation = useRef(false)\n // スクロール可能な領域を保存する\n const [maxScrollLeft, setMaxScrollLeft] = useState(0)\n // 左右のボタンの表示状態を保存する\n const [leftShow, setLeftShow] = useState(false)\n const [rightShow, setRightShow] = useState(false)\n\n // const [props, set, stop] = useSpring(() => ({\n // scroll: 0\n // }))\n const [styles, set] = useSpring(() => ({ scroll: 0 }))\n\n const ref = useRef<HTMLDivElement>(null)\n const visibleAreaRef = useRef<HTMLDivElement>(null)\n const innerRef = useRef<HTMLUListElement>(null)\n\n const handleRight = useCallback(() => {\n if (visibleAreaRef.current === null) {\n return\n }\n const { clientWidth } = visibleAreaRef.current\n // スクロール領域を超えないように、アニメーションを開始\n // アニメーション中にアニメーションが開始されたときに、アニメーション終了予定の位置から再度計算するようにする\n const scroll = Math.min(\n scrollLeft + clientWidth * scrollAmountCoef,\n maxScrollLeft\n )\n setScrollLeft(scroll, true)\n set({ scroll, from: { scroll: scrollLeft }, reset: !animation.current })\n animation.current = true\n }, [\n animation,\n maxScrollLeft,\n scrollLeft,\n set,\n scrollAmountCoef,\n setScrollLeft,\n ])\n\n const handleLeft = useCallback(() => {\n if (visibleAreaRef.current === null) {\n return\n }\n const { clientWidth } = visibleAreaRef.current\n const scroll = Math.max(scrollLeft - clientWidth * scrollAmountCoef, 0)\n setScrollLeft(scroll, true)\n set({ scroll, from: { scroll: scrollLeft }, reset: !animation.current })\n animation.current = true\n }, [animation, scrollLeft, set, scrollAmountCoef, setScrollLeft])\n\n // スクロール可能な場合にボタンを表示する\n // scrollLeftが変化したときに処理する (アニメーション開始時 & 手動スクロール時)\n useEffect(() => {\n const newleftShow = scrollLeft > 0\n const newrightShow = scrollLeft < maxScrollLeft && maxScrollLeft > 0\n if (newleftShow !== leftShow || newrightShow !== rightShow) {\n setLeftShow(newleftShow)\n setRightShow(newrightShow)\n onScrollStateChange?.(newleftShow || newrightShow)\n }\n }, [leftShow, maxScrollLeft, onScrollStateChange, rightShow, scrollLeft])\n\n const handleScroll = useCallback(() => {\n if (ref.current === null) {\n return\n }\n // 手動でスクロールが開始されたときにアニメーションを中断\n if (animation.current) {\n styles.scroll.stop()\n animation.current = false\n }\n // スクロール位置を保存 (アニメーションの基準になる)\n const manualScrollLeft = ref.current.scrollLeft\n // 過剰にsetStateが走らないようにDebouceする\n setScrollLeft(manualScrollLeft)\n }, [animation, setScrollLeft, styles])\n\n // リサイズが起きたときに、アニメーション用のスクロール領域 & ボタンの表示状態 を再計算する\n const handleResize = useCallback(() => {\n if (ref.current === null) {\n return\n }\n const { clientWidth, scrollWidth } = ref.current\n const newMaxScrollLeft = scrollWidth - clientWidth\n setMaxScrollLeft(newMaxScrollLeft)\n if (onResize) {\n onResize(clientWidth)\n }\n }, [onResize])\n\n useIsomorphicLayoutEffect(() => {\n const elm = ref.current\n const innerElm = innerRef.current\n if (elm === null || innerElm === null) {\n return\n }\n\n elm.addEventListener(\n 'wheel',\n handleScroll,\n passiveEvents() && { passive: true }\n )\n\n const resizeObserver = new ResizeObserver(handleResize)\n resizeObserver.observe(elm)\n\n const resizeObserverInner = new ResizeObserver(handleResize)\n resizeObserverInner.observe(innerElm)\n\n return () => {\n elm.removeEventListener('wheel', handleScroll)\n resizeObserver.disconnect()\n resizeObserverInner.disconnect()\n }\n }, [handleResize, handleScroll])\n\n // 初期スクロールを行う\n useIsomorphicLayoutEffect(() => {\n if (align !== 'left' || scrollOffset !== 0) {\n const scroll = ref.current\n if (scroll !== null) {\n const scrollLength = Math.max(\n 0,\n Math.min(\n align === 'left' && scrollOffset > 0\n ? scrollOffset\n : align === 'center'\n ? maxScrollLeft / 2 + scrollOffset\n : align === 'right' && scrollOffset <= maxScrollLeft\n ? maxScrollLeft - scrollOffset / 2\n : 0,\n maxScrollLeft\n )\n )\n scroll.scrollLeft = scrollLength\n setScrollLeft(scrollLength, true)\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [ref.current])\n\n const handleScrollMove = useCallback(() => {\n if (ref.current === null) {\n return\n }\n if (onScroll) {\n onScroll(ref.current.scrollLeft)\n }\n }, [onScroll])\n\n const [disableGradient, setDisableGradient] = useState(false)\n\n useIsomorphicLayoutEffect(() => {\n if (isEdge()) {\n setDisableGradient(true)\n }\n }, [])\n\n // NOTE: Edgeではmaskを使うと要素のレンダリングがバグる(場合によっては画像が表示されない)のでグラデーションを無効にする\n if (!disableGradient && options.hasGradient === true) {\n const fadeInGradient = options.fadeInGradient ?? false\n const overflowGradient = !fadeInGradient\n return (\n <Container ref={visibleAreaRef}>\n <GradientContainer fadeInGradient={fadeInGradient}>\n <RightGradient>\n <LeftGradient show={overflowGradient || scrollLeft > 0}>\n <ScrollArea\n ref={ref}\n scrollLeft={styles.scroll}\n onScroll={handleScrollMove}\n >\n <CarouselContainer ref={innerRef} centerItems={centerItems}>\n {children}\n </CarouselContainer>\n </ScrollArea>\n </LeftGradient>\n </RightGradient>\n </GradientContainer>\n <ButtonsContainer>\n <CarouselButton\n direction={Direction.Left}\n show={leftShow}\n offset={buttonOffset}\n bottomOffset={bottomOffset}\n padding={buttonPadding}\n gradient={overflowGradient}\n onClick={handleLeft}\n />\n <CarouselButton\n direction={Direction.Right}\n show={rightShow}\n offset={buttonOffset}\n bottomOffset={bottomOffset}\n padding={buttonPadding}\n gradient\n onClick={handleRight}\n />\n </ButtonsContainer>\n </Container>\n )\n }\n\n return (\n <Container ref={visibleAreaRef}>\n <ScrollArea\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-expect-error\n ref={ref}\n scrollLeft={styles.scroll}\n onScroll={handleScrollMove}\n >\n <CarouselContainer ref={innerRef} centerItems={centerItems}>\n {children}\n </CarouselContainer>\n </ScrollArea>\n <ButtonsContainer>\n <CarouselButton\n direction={Direction.Left}\n show={leftShow}\n offset={buttonOffset}\n bottomOffset={bottomOffset}\n padding={buttonPadding}\n onClick={handleLeft}\n />\n <CarouselButton\n direction={Direction.Right}\n show={rightShow}\n offset={buttonOffset}\n bottomOffset={bottomOffset}\n padding={buttonPadding}\n onClick={handleRight}\n />\n </ButtonsContainer>\n </Container>\n )\n}\n\nconst CarouselContainer = styled.ul<{ centerItems?: boolean }>`\n vertical-align: top;\n overflow: hidden;\n list-style: none;\n padding: 0;\n\n /* 最小幅を100%にして親要素にぴったりくっつけることで子要素で要素を均等に割り付けるなどを出来るようにしてある */\n min-width: 100%;\n box-sizing: border-box;\n\n ${({ centerItems = false }) =>\n centerItems\n ? css`\n display: flex;\n width: max-content;\n margin: 0 auto;\n `\n : css`\n display: inline-flex;\n margin: 0;\n `}\n`\n\nconst ButtonsContainer = styled.div`\n opacity: 0;\n transition: 0.4s opacity;\n`\nconst Container = styled.div`\n &:hover ${ButtonsContainer} {\n opacity: 1;\n }\n\n /* CarouselButtonの中にz-index:1があるのでここでコンテキストを切る */\n position: relative;\n z-index: 0;\n`\n\nconst ScrollArea = styled(animated.div)`\n overflow-x: auto;\n padding: 0;\n margin: 0;\n\n &::-webkit-scrollbar {\n display: none;\n }\n\n scrollbar-width: none;\n`\n\nconst GradientContainer = styled.div<{ fadeInGradient: boolean }>`\n /* NOTE: LeftGradientがはみ出るためhidden */\n overflow: hidden;\n ${(p) =>\n !p.fadeInGradient &&\n css`\n margin-left: ${-GRADIENT_WIDTH}px;\n ${CarouselContainer} {\n padding-left: ${GRADIENT_WIDTH}px;\n }\n `}\n\n margin-right: ${-GRADIENT_WIDTH}px;\n /* stylelint-disable-next-line no-duplicate-selectors */\n ${CarouselContainer} {\n padding-right: ${GRADIENT_WIDTH}px;\n }\n`\n\nconst RightGradient = styled.div`\n mask-image: linear-gradient(\n to right,\n #000 calc(100% - ${GRADIENT_WIDTH}px),\n transparent\n );\n`\n\nconst LeftGradient = styled.div<{ show: boolean }>`\n /* NOTE: mask-position が left → negative px の時、right → abs(negative px) の位置に表示されるため */\n margin-right: ${-GRADIENT_WIDTH}px;\n padding-right: ${GRADIENT_WIDTH}px;\n /* NOTE: mask-position に transition をつけたいが vender prefixes 対策で all につける */\n transition: 0.2s all ease-in;\n mask: linear-gradient(to right, transparent, #000 ${GRADIENT_WIDTH}px)\n ${(p) => (p.show ? 0 : -GRADIENT_WIDTH)}px 0;\n`\n","import React from 'react'\nimport styled from 'styled-components'\n\ninterface Props {\n size?: number | string\n subLink?: boolean\n}\n\nexport { DotsIcon as default }\n\nfunction DotsIcon({ size }: Props) {\n return (\n <StyledSVG viewBox=\"0 0 20 6\" width={size} height={size}>\n <path\n fillRule=\"evenodd\"\n d={`M5,14.5 C3.61928813,14.5 2.5,13.3807119 2.5,12 C2.5,10.6192881 3.61928813,9.5 5,9.5\n C6.38071187,9.5 7.5,10.6192881 7.5,12 C7.5,13.3807119 6.38071187,14.5 5,14.5 Z M12,14.5\n C10.6192881,14.5 9.5,13.3807119 9.5,12 C9.5,10.6192881 10.6192881,9.5 12,9.5\n C13.3807119,9.5 14.5,10.6192881 14.5,12 C14.5,13.3807119 13.3807119,14.5 12,14.5 Z M19,14.5\n C17.6192881,14.5 16.5,13.3807119 16.5,12 C16.5,10.6192881 17.6192881,9.5 19,9.5\n C20.3807119,9.5 21.5,10.6192881 21.5,12 C21.5,13.3807119 20.3807119,14.5 19,14.5 Z`}\n transform=\"translate(-2 -9)\"\n />\n </StyledSVG>\n )\n}\nDotsIcon.defaultProps = {\n size: 16,\n}\n\nconst StyledSVG = styled.svg`\n fill: currentColor;\n`\n","import React from 'react'\nimport styled from 'styled-components'\n\nimport { unreachable } from '../../foundation/utils'\n\nexport enum WedgeDirection {\n Up = 'up',\n Down = 'down',\n Left = 'left',\n Right = 'right',\n}\n\ninterface Props {\n size?: number | string\n direction: WedgeDirection\n}\n\nexport default function WedgeIcon({ size, direction }: Props) {\n return (\n // NOTE: directionToTransform depends on the value of viewBox\n <svg viewBox=\"0 0 10 8\" width={size} height={size}>\n <StyledPolyline\n strokeWidth=\"2\"\n points=\"1,2 5,6 9,2\"\n transform={directionToTransform(direction)}\n />\n </svg>\n )\n}\nWedgeIcon.defaultProps = {\n size: 16,\n white: false,\n lightGray: false,\n}\n\nfunction directionToTransform(direction: WedgeDirection) {\n // \"5 4\" is the center point of the \"0 0 10 8\" viewBox\n switch (direction) {\n case WedgeDirection.Up:\n return 'rotate(180 5 4)'\n case WedgeDirection.Down:\n return undefined\n case WedgeDirection.Left:\n return 'rotate(90 5 4)'\n case WedgeDirection.Right:\n return 'rotate(-90 5 4)'\n default:\n return unreachable(direction)\n }\n}\n\nconst StyledPolyline = styled.polyline`\n fill: none;\n stroke-linejoin: round;\n stroke-linecap: round;\n stroke: currentColor;\n`\n","import React, { useCallback, useDebugValue, useMemo } from 'react'\n\nimport styled, { css } from 'styled-components'\nimport warning from 'warning'\nimport DotsIcon from '../icons/DotsIcon'\nimport WedgeIcon, { WedgeDirection } from '../icons/WedgeIcon'\nimport { useComponentAbstraction } from '@charcoal-ui/react'\n\nfunction usePagerWindow(page: number, pageCount: number, windowSize = 7) {\n // ページャーのリンク生成例:\n //\n // < [ 1 ] [*2*] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] >\n //\n // < [ 1 ] [ 2 ] [ 3 ] [*4*] [ 5 ] [ 6 ] [ 7 ] >\n //\n // < [ 1 ] ... [ 4 ] [*5*] [ 6 ] [ 7 ] [ 8 ] >\n //\n // < [ 1 ] ... [ 99 ] [*100*] [ 101 ] [ 102 ] [ 103 ] >\n //\n // < [ 1 ] ... [ 99 ] [ 100 ] [ 101 ] [ 102 ] [*103*]\n //\n // [*1*] [ 2 ] >\n //\n // デザインの意図: 前後移動時のカーソル移動を最小限にする。\n\n if (process.env.NODE_ENV !== 'production') {\n warning((page | 0) === page, `\\`page\\` must be interger (${page})`)\n warning(\n (pageCount | 0) === pageCount,\n `\\`pageCount\\` must be interger (${pageCount})`\n )\n }\n\n const window = useMemo(() => {\n const visibleFirstPage = 1\n const visibleLastPage = Math.min(\n pageCount,\n Math.max(page + Math.floor(windowSize / 2), windowSize)\n )\n\n if (visibleLastPage <= windowSize) {\n // 表示範囲が1-7ページなら省略は無い。\n return Array.from(\n { length: 1 + visibleLastPage - visibleFirstPage },\n (_, i) => visibleFirstPage + i\n )\n } else {\n const start = visibleLastPage - (windowSize - 1) + 2\n return [\n // 表示範囲が1-7ページを超えるなら、\n // - 1ページ目は固定で表示する\n visibleFirstPage,\n // - 2ページ目から現在のページの直前までは省略する\n '...' as const,\n ...Array.from(\n { length: 1 + visibleLastPage - start },\n (_, i) => start + i\n ),\n ]\n }\n }, [page, pageCount, windowSize])\n\n useDebugValue(window)\n\n return window\n}\n\ninterface CommonProps {\n page: number\n pageCount: number\n}\n\nexport interface PagerProps extends CommonProps {\n onChange(newPage: number): void\n}\n\n// this pager is just regular buttons; for links use LinkPager\nexport default React.memo(function Pager({\n page,\n pageCount,\n onChange,\n}: PagerProps) {\n // TODO: refactor Pager and LinkPager to use a common parent component\n const window = usePagerWindow(page, pageCount)\n const makeClickHandler = useCallback(\n (value: number) => () => {\n onChange(value)\n },\n [onChange]\n )\n\n const hasNext = page < pageCount\n const hasPrev = page > 1\n return (\n <PagerContainer>\n <CircleButton\n type=\"button\"\n hidden={!hasPrev}\n disabled={!hasPrev}\n onClick={makeClickHandler(Math.max(1, page - 1))}\n noBackground\n >\n <WedgeIcon size={16} direction={WedgeDirection.Left} />\n </CircleButton>\n {window.map((p) =>\n p === '...' ? (\n <Spacer key={p}>\n <DotsIcon size={20} />\n </Spacer>\n ) : p === page ? (\n // we remove the onClick but don't mark it as disabled to preserve keyboard focus\n // not doing so causes the focus ring to flicker in and out of existence\n <CircleButton key={p} type=\"button\" aria-current>\n <Text>{p}</Text>\n </CircleButton>\n ) : (\n <CircleButton key={p} type=\"button\" onClick={makeClickHandler(p)}>\n <Text>{p}</Text>\n </CircleButton>\n )\n )}\n <CircleButton\n type=\"button\"\n hidden={!hasNext}\n disabled={!hasNext}\n onClick={makeClickHandler(Math.min(pageCount, page + 1))}\n noBackground\n >\n <WedgeIcon size={16} direction={WedgeDirection.Right} />\n </CircleButton>\n </PagerContainer>\n )\n})\n\nexport interface LinkPagerProps extends CommonProps {\n makeUrl(page: number): string\n}\n\nexport function LinkPager({ page, pageCount, makeUrl }: LinkPagerProps) {\n const { Link } = useComponentAbstraction()\n const window = usePagerWindow(page, pageCount)\n\n const hasNext = page < pageCount\n const hasPrev = page > 1\n return (\n <PagerContainer>\n <Link to={makeUrl(Math.max(1, page - 1))}>\n <CircleButton hidden={!hasPrev} aria-disabled={!hasPrev} noBackground>\n <WedgeIcon size={16} direction={WedgeDirection.Left} />\n </CircleButton>\n </Link>\n {window.map((p) =>\n p === '...' ? (\n <Spacer key={p}>\n <DotsIcon size={20} subLink />\n </Spacer>\n ) : p === page ? (\n <CircleButton key={p} type=\"button\" aria-current>\n <Text>{p}</Text>\n </CircleButton>\n ) : (\n <Link key={p} to={makeUrl(p)}>\n <CircleButton type=\"button\">\n <Text>{p}</Text>\n </CircleButton>\n </Link>\n )\n )}\n <Link to={makeUrl(Math.min(pageCount, page + 1))}>\n <CircleButton hidden={!hasNext} aria-disabled={!hasNext} noBackground>\n <WedgeIcon size={16} direction={WedgeDirection.Right} />\n </CircleButton>\n </Link>\n </PagerContainer>\n )\n}\n\nconst PagerContainer = styled.nav`\n display: flex;\n justify-content: center;\n align-items: center;\n`\n\nconst CircleButton = styled.button`\n font-size: 1rem;\n line-height: calc(1em + 8px);\n text-decoration: none;\n border: none;\n outline: none;\n touch-action: manipulation;\n user-select: none;\n transition: box-shadow 0.2s ease 0s, color 0.2s ease 0s,\n background 0.2s ease 0s, opacity 0.2s ease 0s;\n\n display: flex;\n justify-content: center;\n align-items: center;\n box-sizing: content-box;\n min-width: 24px;\n min-height: 24px;\n padding: 8px;\n cursor: pointer;\n font-weight: bold;\n /* HACK:\n * Safari doesn't correctly repaint the elements when they're reordered in response to interaction.\n * This forces it to repaint them. This doesn't work if put on the parents either, has to be here.\n */\n /* stylelint-disable-next-line property-no-vendor-prefix */\n -webkit-transform: translateZ(0);\n\n &[hidden] {\n visibility: hidden;\n display: block;\n }\n\n border-radius: 48px;\n\n background: transparent;\n color: ${({ theme }) => theme.color.text3};\n\n &:hover {\n background: ${({ theme }) => theme.color.surface3};\n color: ${({ theme }) => theme.color.text2};\n }\n\n &[aria-current] {\n background-color: ${({ theme }) => theme.color.surface6};\n color: ${({ theme }) => theme.color.text5};\n }\n\n &[aria-current]:hover {\n background-color: ${({ theme }) => theme.color.surface6};\n color: ${({ theme }) => theme.color.text5};\n }\n\n ${({ noBackground = false }: { noBackground?: boolean }) =>\n noBackground &&\n css`\n /* stylelint-disable-next-line no-duplicate-selectors */\n &:hover {\n background: transparent;\n }\n `}\n`\n\nconst Spacer = styled(CircleButton).attrs({ type: 'button', disabled: true })`\n && {\n color: ${({ theme }) => theme.color.text3};\n background: none;\n }\n`\n\nconst Text = 'span'\n"],"names":["FilterButton","React","forwardRef","onClick","children","active","hover","reactive","ref","undefined","FilterIconButton","width","height","FilterLink","props","_excluded","Link","useComponentAbstraction","buttonCss","css","_t","_","theme","color","text3","text2","_t2","_t3","surface3","_t4","maxWidth","breakpoint","screen1","padding0Css","_t5","ButtonLike","styled","button","_t6","PlainElement","span","_t7","StyledButtonLike","_t8","p","buttonWidth","buttonHeight","Filter","div","_t9","createTheme","IconBase","size","viewBoxSize","currentColor","path","transform","fillRule","clipRule","Icon","svg","IconBasePath","InfoIcon","Path","surface1","HintText","context","className","Container","Text","attrs","styledProps","o","bg","borderRadius","padding","vertical","default","horizontal","t","IconWrap","text4","font","typography","contextToProps","MAIN_COLUMN_HORIZONTAL_MIN_MARGIN","RESPONSIVE_LEFT_WIDTH","columnSystem","COLUMN_UNIT","GUTTER_UNIT","RESPONSIVE_MAIN_MAX_WIDTH","useMediaScreen1","useMedia","useTheme","query","matcher","useMemo","__TEST__","matches","addListener","removeListener","matchMedia","setMatches","useState","callback","e","ReactDOM","flushSync","useLayoutEffect","useDebugValue","toString","measure","getBoundingClientRect","useElementSize","deps","setSize","useReducer","state","next","watch","setWatch","observer","ResizeObserver","newSize","observe","unobserve","current","length","useDebounceAnimationState","defaultValue","setState","timer","useRef","setDebounceState","useCallback","value","force","requestAnimationFrame","LayoutConfigContext","createContext","wide","center","withLeft","Layout","menu","header","isHeaderTopMenu","config","HeaderTopMenuContainer","surface2","GlobalStyle","createGlobalStyle","background2","background1","LayoutRoot","LeftArea","screen3","MainArea","Header","Grid","LayoutItem","useContext","StyledLayoutItem","screen4","_t10","LayoutItemHeader","StyledLayoutItemHeader","_t11","_t12","_t13","LAYOUT_ITEM_BODY_PADDING","x","y","column1","narrow","yTop","yBottom","narrowColumn1","LayoutItemBody","StyledLayoutItemBody","useLayoutItemBodyPadding","CancelLayoutItemBodyPadding","cancelTop","StyledCancelLayoutItemBodyPadding","hasChildren","element","isValidElement","Boolean","childToString","child","JSON","stringify","onlyText","Array","isArray","Children","toArray","reduce","text","newText","concat","TextEllipsis","title","lineHeight","lineLimit","MenuListItemContext","MenuListItem","primary","secondary","disabled","noHover","gtmClass","Item","hasSubLabel","sidePadding","noClick","disabledSelector","Labels","PrimaryText","SecondaryText","MenuListLinkItem","link","linkProps","A","a","MenuListLinkItemWithIcon","icon","MenuListItemWithIcon","IconContainer","MenuListSpacer","MenuListLabel","LeftMenu","links","map","index","to","id","LeftMenuContent","LinkItem","SwitchCheckbox","flex","rowReverse","Label","label","SwitchOuter","SwitchInner","SwitchInnerKnob","text5","SwitchInput","input","type","brand","elementEffect","opacity","applyEffect","memo","WithIcon","show","prefix","pre","fit","fixed","node","Root","AutoWidthIconAnchor","forceCenteringCss","iconAnchorCss","IconAnchorNaive","IconNaive","IconAnchor","passiveEventsResult","passiveEvents","options","Object","defineProperty","get","window","addEventListener","test","removeEventListener","isEdge","navigator","userAgent","includes","useIsomorphicLayoutEffect","useEffect","unreachable","Error","arguments","WedgeDirection","NextIcon","direction","directionToTransform","Up","Down","Left","Right","Direction","CarouselButton","offset","bottomOffset","bottom","gradient","offsetStyle","left","paddingLeft","Math","max","paddingBottom","right","paddingRight","onlyNonTouchDevice","CAROUSEL_BUTTON_SIZE","CarouselButtonIcon","surface4","Button","effect","press","hide","GRADIENT_WIDTH","SCROLL_AMOUNT_COEF","Carousel","buttonOffset","buttonPadding","defaultScroll","align","scrollOffset","onScroll","onResize","centerItems","onScrollStateChange","scrollAmountCoef","scrollLeft","setScrollLeft","animation","maxScrollLeft","setMaxScrollLeft","leftShow","setLeftShow","rightShow","setRightShow","styles","set","useSpring","scroll","visibleAreaRef","innerRef","handleRight","clientWidth","min","from","reset","handleLeft","newleftShow","newrightShow","handleScroll","stop","manualScrollLeft","handleResize","scrollWidth","newMaxScrollLeft","elm","innerElm","passive","resizeObserver","resizeObserverInner","disconnect","scrollLength","handleScrollMove","disableGradient","setDisableGradient","hasGradient","fadeInGradient","overflowGradient","CarouselContainer","ul","ButtonsContainer","ScrollArea","animated","GradientContainer","RightGradient","LeftGradient","DotsIcon","defaultProps","StyledSVG","WedgeIcon","white","lightGray","StyledPolyline","polyline","usePagerWindow","page","pageCount","windowSize","process","env","NODE_ENV","warning","visibleFirstPage","visibleLastPage","floor","i","start","Pager","onChange","makeClickHandler","hasNext","hasPrev","LinkPager","makeUrl","PagerContainer","nav","CircleButton","surface6","noBackground","Spacer"],"mappings":"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"}