@charcoal-ui/react-sandbox 2.5.0 → 2.7.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.
Files changed (50) hide show
  1. package/dist/_lib/compat.d.ts +14 -14
  2. package/dist/components/Carousel/index.d.ts +39 -39
  3. package/dist/components/Carousel/index.d.ts.map +1 -1
  4. package/dist/components/Carousel/index.story.d.ts +6 -6
  5. package/dist/components/CarouselButton/index.d.ts +20 -20
  6. package/dist/components/CarouselButton/index.story.d.ts +9 -9
  7. package/dist/components/Filter/index.d.ts +19 -19
  8. package/dist/components/Filter/index.story.d.ts +8 -8
  9. package/dist/components/HintText/index.d.ts +9 -9
  10. package/dist/components/HintText/index.d.ts.map +1 -1
  11. package/dist/components/HintText/index.story.d.ts +11 -11
  12. package/dist/components/Layout/index.d.ts +67 -67
  13. package/dist/components/Layout/index.story.d.ts +13 -13
  14. package/dist/components/LeftMenu/index.d.ts +11 -11
  15. package/dist/components/MenuListItem/index.d.ts +34 -34
  16. package/dist/components/MenuListItem/index.story.d.ts +17 -17
  17. package/dist/components/Pager/index.d.ts +14 -14
  18. package/dist/components/Pager/index.story.d.ts +31 -31
  19. package/dist/components/SwitchCheckbox/index.d.ts +8 -8
  20. package/dist/components/SwitchCheckbox/index.story.d.ts +10 -10
  21. package/dist/components/TextEllipsis/helper.d.ts +3 -3
  22. package/dist/components/TextEllipsis/index.d.ts +10 -10
  23. package/dist/components/TextEllipsis/index.story.d.ts +8 -8
  24. package/dist/components/WithIcon/index.d.ts +27 -27
  25. package/dist/components/WithIcon/index.story.d.ts +14 -14
  26. package/dist/components/icons/Base.d.ts +15 -15
  27. package/dist/components/icons/Base.d.ts.map +1 -1
  28. package/dist/components/icons/DotsIcon.d.ts +11 -11
  29. package/dist/components/icons/InfoIcon.d.ts +1 -1
  30. package/dist/components/icons/NextIcon.d.ts +11 -11
  31. package/dist/components/icons/WedgeIcon.d.ts +19 -19
  32. package/dist/foundation/contants.d.ts +3 -3
  33. package/dist/foundation/hooks.d.ts +28 -28
  34. package/dist/foundation/support.d.ts +2 -2
  35. package/dist/foundation/utils.d.ts +22 -22
  36. package/dist/hooks/index.d.ts +2 -2
  37. package/dist/index.cjs.js +1871 -0
  38. package/dist/index.cjs.js.map +1 -0
  39. package/dist/index.d.ts +13 -13
  40. package/dist/index.esm.js +1816 -0
  41. package/dist/index.esm.js.map +1 -0
  42. package/dist/misc/storybook-helper.d.ts +2 -2
  43. package/dist/styled.d.ts +94 -94
  44. package/package.json +18 -18
  45. package/dist/index.cjs +0 -1816
  46. package/dist/index.cjs.map +0 -1
  47. package/dist/index.modern.js +0 -2275
  48. package/dist/index.modern.js.map +0 -1
  49. package/dist/index.module.js +0 -1768
  50. package/dist/index.module.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.cjs","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","ref","onClick","children","active","hover","reactive","undefined","FilterIconButton","width","height","FilterLink","props","_excluded","useComponentAbstraction","Link","buttonCss","css","_templateObject","theme","color","text3","text2","_templateObject2","_templateObject3","surface3","_templateObject4","maxWidth","breakpoint","screen1","padding0Css","_templateObject5","ButtonLike","styled","button","_templateObject6","PlainElement","span","_templateObject7","StyledButtonLike","p","buttonWidth","buttonHeight","Filter","div","_templateObject9","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","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","useState","setMatches","callback","e","ReactDOM","flushSync","useLayoutEffect","useDebugValue","toString","measure","getBoundingClientRect","useElementSize","deps","useReducer","state","next","setSize","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","_templateObject8","screen4","_templateObject10","LayoutItemHeader","StyledLayoutItemHeader","_templateObject11","_templateObject12","_templateObject13","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","useSpring","scroll","styles","set","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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"}