{"version":3,"sources":["controls/Loader.tsx","context/DataContextProvider.tsx","utils.ts","controls/EshopPopup.tsx","controls/SpanOrAnchor.tsx","controls/EshopSubCategory.tsx","controls/EshopCategory.tsx","controls/OtherSubCategory.tsx","controls/OtherCategory.tsx","index.tsx","controls/App.tsx"],"names":["Loader","className","focusable","role","xmlns","viewBox","fill","d","initState","level1current","level4current","level1prev","level1next","level3next","level1selected","level2selected","level3selected","level3top","level3nextTop","contextDefault","eshopHref","others","links","othersMeta","state","defaultState","setState","o","DataContext","React","useDataContext","getStaticData","url","a","axios","get","response","data","DataContextProvider","_baseUrl","baseUrl","corsUrl","initialState","children","staticData","setStaticData","error","setError","match","prepareData","Object","keys","reduce","p","q","icon","items","title","canonical","iconFull","undefined","canonicalFull","icon_url","image","text","then","Provider","value","Array","isArray","classNames","classes","result","filter","i","indexOf","sort","join","EshopPopup","useMeasure","ref","viewWidth","width","style","useSpring","from","to","y","leave","meta","map","href","onMouseEnter","s","onMouseLeave","div","src","alt","SpanOrAnchor","props","isAnchorProps","EshopSubCategory","isExpanded","onClick","e","currentTarget","dataset","offsetTop","dangerouslySetInnerHTML","__html","length","EshopCategory","eshop","viewHeight","height","showPopup","link","OtherSubCategory","onItemMouseEnter","selected","getAttribute","onItemMouseLeave","fn","OtherCategory","getMeta","backgroundImage","App","updateLevel1","debounce","updateLevel3","showOverlay","opacity","next","window","innerHeight","immediate","root","document","getElementById","Error","JSON","parse","firstElementChild","innerText","ReactDOM","readyState","setTimeout","addEventListener"],"mappings":"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","file":"js/main.chunk.js","sourcesContent":["import * as React from \"react\";\r\n\r\nexport const Loader: React.FunctionComponent = () => {\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n );\r\n};\r\n","import * as React from \"react\";\r\nimport axios from \"axios\";\r\n\r\nimport { Loader } from \"../controls/Loader\";\r\n\r\nexport interface StaticData {\r\n eshopHref: string;\r\n others: string[];\r\n links: Record;\r\n othersMeta: Record;\r\n}\r\n\r\nexport interface LinkInfo {\r\n icon: string | undefined;\r\n title: string;\r\n items: string[] | undefined;\r\n canonical: string | undefined;\r\n}\r\n\r\nexport interface OthersMeta {\r\n icon: string;\r\n icon_url: string;\r\n text: string;\r\n image: string;\r\n}\r\n\r\nexport interface AppState {\r\n level1current: string | null;\r\n level4current: string | null;\r\n\r\n level1prev: string | null;\r\n\r\n level1next: string | null;\r\n level3next: string | null;\r\n\r\n level1selected: string | null;\r\n level2selected: string | null;\r\n level3selected: string | null;\r\n\r\n level3top: number;\r\n level3nextTop: number;\r\n}\r\n\r\nconst initState: AppState = {\r\n level1current: null,\r\n level4current: null,\r\n\r\n level1prev: null,\r\n\r\n level1next: null,\r\n level3next: null,\r\n\r\n level1selected: null,\r\n level2selected: null,\r\n level3selected: null,\r\n\r\n level3top: 0,\r\n level3nextTop: 0,\r\n};\r\n\r\nexport interface DataContextType extends StaticData {\r\n state: AppState;\r\n defaultState: AppState;\r\n setState: React.Dispatch>;\r\n}\r\n\r\nconst contextDefault: DataContextType = {\r\n eshopHref: \"\",\r\n others: [],\r\n links: {},\r\n othersMeta: {},\r\n\r\n state: initState,\r\n defaultState: initState,\r\n setState: (o) => o,\r\n};\r\n\r\nconst DataContext = React.createContext(contextDefault);\r\nexport const useDataContext = () => React.useContext(DataContext);\r\n\r\nconst getStaticData = async (url: string): Promise => {\r\n const response = await axios.get(url);\r\n return response.data;\r\n};\r\n\r\ninterface DataContextProviderProps {\r\n baseUrl: string;\r\n corsUrl?: string;\r\n initialState: Partial;\r\n}\r\n\r\nexport const DataContextProvider: React.FunctionComponent = ({\r\n baseUrl: _baseUrl,\r\n corsUrl,\r\n initialState,\r\n children,\r\n}) => {\r\n const [staticData, setStaticData] = React.useState(null);\r\n const [error, setError] = React.useState(null);\r\n\r\n const baseUrl = React.useMemo(() => {\r\n if (corsUrl) {\r\n // http(s)://example.com/path?query=...\r\n // {corsUrl}/http(s)/example.com/path?query=...\r\n const match = _baseUrl.match(/(https?):\\/\\/(.*)/);\r\n if (match) {\r\n return corsUrl + \"/\" + match[1] + \"/\" + match[2];\r\n }\r\n }\r\n\r\n return _baseUrl;\r\n }, [_baseUrl, corsUrl]);\r\n\r\n const prepareData = React.useMemo<{ (data: StaticData): StaticData }>(() => {\r\n if (corsUrl) {\r\n return (o) => {\r\n const links = Object.keys(o.links).reduce((p, q) => {\r\n const { icon, items, title, canonical } = o.links[q];\r\n const iconFull = icon ? baseUrl + icon : undefined;\r\n const canonicalFull = canonical ? baseUrl + canonical : undefined;\r\n p[q] = { icon: iconFull, items, title, canonical: canonicalFull };\r\n return p;\r\n }, {} as Record);\r\n\r\n const othersMeta = Object.keys(o.othersMeta).reduce((p, q) => {\r\n const { icon, icon_url, image, text } = o.othersMeta[q];\r\n p[q] = {\r\n icon: baseUrl + icon,\r\n icon_url: baseUrl + icon_url,\r\n image: baseUrl + image,\r\n text,\r\n };\r\n return p;\r\n }, {} as Record);\r\n\r\n return { ...o, links, othersMeta };\r\n };\r\n }\r\n\r\n return (o) => o;\r\n }, [baseUrl, corsUrl]);\r\n\r\n React.useEffect(() => {\r\n getStaticData(baseUrl + \"/api\")\r\n .then(prepareData)\r\n .then(setStaticData, setError);\r\n }, [baseUrl, corsUrl, prepareData]);\r\n\r\n const [state, setState] = React.useState({ ...initState, ...initialState });\r\n\r\n if (error !== null) {\r\n return
{error}
;\r\n }\r\n\r\n if (staticData === null) {\r\n return ;\r\n }\r\n\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n};\r\n","import * as React from \"react\";\r\n\r\ntype ClassValue = string | Record | Array;\r\n\r\nconst className = (value: ClassValue): string[] => {\r\n if (typeof value === \"string\") {\r\n return [value];\r\n }\r\n\r\n if (Array.isArray(value)) {\r\n return value.reduce((p, o) => [...p, ...className(o)], []);\r\n }\r\n\r\n return Object.keys(value).reduce((p, o) => (value[o] ? [...p, o] : p), []);\r\n};\r\n\r\nexport const classNames = (...classes: ClassValue[]) => {\r\n const result = classes.reduce((p, o) => [...p, ...className(o)], []);\r\n return result\r\n .filter((o, i) => result.indexOf(o) === i)\r\n .sort()\r\n .join(\" \");\r\n};\r\n\r\nexport const delay = 400;\r\n\r\nexport function usePrevious(value: T): T {\r\n // The ref object is a generic container whose current property is mutable ...\r\n // ... and can hold any value, similar to an instance property on a class\r\n const ref: any = React.useRef();\r\n // Store current value in ref\r\n React.useEffect(() => {\r\n ref.current = value;\r\n }, [value]); // Only re-run if value changes\r\n // Return previous value (happens before update in useEffect above)\r\n return ref.current;\r\n}\r\n","import * as React from \"react\";\r\nimport { useSpring, a } from \"@react-spring/web\";\r\nimport useMeasure from \"react-use-measure\";\r\n\r\nimport { useDataContext } from \"../context/DataContextProvider\";\r\nimport { classNames } from \"../utils\";\r\n\r\nexport const EshopPopup: React.FunctionComponent = () => {\r\n const {\r\n links,\r\n state: { level3selected, level3top, level4current },\r\n setState,\r\n } = useDataContext();\r\n\r\n const {\r\n [level3selected as string]: { items },\r\n } = links;\r\n\r\n const [ref, { width: viewWidth }] = useMeasure();\r\n\r\n const style = useSpring({\r\n from: { width: 0 },\r\n to: { width: viewWidth, y: level3top },\r\n leave: { width: 0 },\r\n });\r\n\r\n const meta = React.useMemo(() => {\r\n return items\r\n ? items.map((href) => {\r\n const { icon, title, canonical } = links[href];\r\n return { href, icon, title, canonical };\r\n })\r\n : null;\r\n }, [items, links]);\r\n\r\n const onMouseEnter = React.useCallback>(() => {\r\n setState((s) => ({ ...s, level3next: level3selected, level3nextTop: s.level3top }));\r\n }, [setState, level3selected]);\r\n\r\n const onMouseLeave = React.useCallback>(() => {\r\n setState((s) => ({ ...s, level3next: null }));\r\n }, [setState]);\r\n\r\n return (\r\n meta && (\r\n \r\n
\r\n \r\n
\r\n \r\n )\r\n );\r\n};\r\n","import * as React from \"react\";\r\n\r\ntype SpanProps = React.DetailedHTMLProps, HTMLSpanElement>;\r\ntype AnchorProps = React.DetailedHTMLProps, HTMLAnchorElement>;\r\ntype SpanOrAnchorProps = SpanProps | AnchorProps;\r\n\r\nfunction isAnchorProps(props: SpanOrAnchorProps): props is AnchorProps {\r\n return (props as AnchorProps).href !== undefined;\r\n}\r\n\r\nexport const SpanOrAnchor: React.FunctionComponent = ({ children, ...props }) => {\r\n if (isAnchorProps(props)) {\r\n return {children};\r\n }\r\n\r\n return {children};\r\n};\r\n","import * as React from \"react\";\r\n\r\nimport { SpanOrAnchor } from \"./SpanOrAnchor\";\r\nimport { useDataContext } from \"../context/DataContextProvider\";\r\nimport { classNames } from \"../utils\";\r\n\r\ninterface EshopSubCategoryProps {\r\n href: string;\r\n}\r\nexport const EshopSubCategory: React.FunctionComponent = ({ href }) => {\r\n const { links, state, setState } = useDataContext();\r\n\r\n const isExpanded = React.useMemo(() => state.level2selected === href, [href, state.level2selected]);\r\n\r\n const { icon, items, title, canonical } = links[href];\r\n\r\n const meta = React.useMemo(() => (items ? items.map((href) => ({ href, ...links[href] })) : null), [items, links]);\r\n\r\n const onClick = React.useCallback>(() => {\r\n setState((s) => ({ ...s, level2selected: s.level2selected === href ? null : href }));\r\n }, [setState, href]);\r\n\r\n const onMouseEnter = React.useCallback>(\r\n (e) => {\r\n const level3next = e.currentTarget.dataset.href as string;\r\n const level3nextTop = e.currentTarget.offsetTop;\r\n setState((s) => ({ ...s, level3next, level3nextTop }));\r\n },\r\n [setState],\r\n );\r\n\r\n const onMouseLeave = React.useCallback>(() => {\r\n setState((s) => ({ ...s, level3next: null }));\r\n }, [setState]);\r\n\r\n return (\r\n \r\n
\r\n \r\n
{icon && \"\"}
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n {isExpanded && meta && (\r\n
    \r\n {meta.map((o) => (\r\n 0,\r\n \"is-expanded\": state.level3selected === o.href,\r\n })}\r\n >\r\n \r\n \r\n ))}\r\n
\r\n )}\r\n \r\n );\r\n};\r\n","import * as React from \"react\";\r\nimport { useSpring, a } from \"@react-spring/web\";\r\nimport useMeasure from \"react-use-measure\";\r\n\r\nimport { useDataContext } from \"../context/DataContextProvider\";\r\nimport { EshopPopup } from \"./EshopPopup\";\r\nimport { EshopSubCategory } from \"./EshopSubCategory\";\r\nimport { classNames } from \"../utils\";\r\n\r\nexport const EshopCategory: React.FunctionComponent = () => {\r\n const { eshopHref, links, state, setState } = useDataContext();\r\n\r\n const eshop = React.useMemo(() => links[eshopHref], [eshopHref, links]);\r\n\r\n const isExpanded = React.useMemo(() => state.level1selected === eshopHref, [state, eshopHref]);\r\n\r\n const [ref, { height: viewHeight }] = useMeasure();\r\n\r\n const style = useSpring({\r\n from: { height: 0 },\r\n to: { height: isExpanded ? viewHeight : 0 },\r\n leave: { height: 0 },\r\n });\r\n\r\n const onMouseEnter = React.useCallback>(() => {\r\n setState((s) => ({ ...s, level1next: eshopHref }));\r\n }, [setState, eshopHref]);\r\n\r\n const onMouseLeave = React.useCallback>(() => {\r\n setState((s) => ({ ...s, level1next: null }));\r\n }, [setState]);\r\n\r\n const showPopup = React.useMemo(() => {\r\n const link = state.level3selected ? links[state.level3selected] : undefined;\r\n return link && link.items && link.items.length > 0 && state.level3top > 0;\r\n }, [links, state.level3selected, state.level3top]);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n\r\n {isExpanded && eshop.items && (\r\n <>\r\n
\r\n \r\n
    \r\n {eshop.items.map((o) => (\r\n \r\n ))}\r\n
\r\n
\r\n
\r\n {showPopup && }\r\n \r\n )}\r\n \r\n );\r\n};\r\n","import * as React from \"react\";\r\n\r\nimport { useDataContext } from \"../context/DataContextProvider\";\r\nimport { classNames } from \"../utils\";\r\n\r\ninterface OtherSubCategoryProps {\r\n href: string;\r\n}\r\nexport const OtherSubCategory: React.FunctionComponent = ({ href }) => {\r\n const {\r\n links,\r\n setState,\r\n state: { level2selected, level3selected },\r\n } = useDataContext();\r\n const { icon, items, title, canonical } = links[href];\r\n\r\n const meta = React.useMemo(() => {\r\n return items\r\n ? items.map((href) => {\r\n const { title, canonical } = links[href];\r\n return { href, title, canonical };\r\n })\r\n : null;\r\n }, [items, links]);\r\n\r\n const onMouseEnter = React.useCallback>(() => {\r\n setState((s) => ({ ...s, level2selected: href }));\r\n }, [setState, href]);\r\n\r\n const onMouseLeave = React.useCallback>(() => {\r\n setState((s) => ({ ...s, level2selected: null }));\r\n }, [setState]);\r\n\r\n const onItemMouseEnter = React.useCallback>(\r\n (e) => {\r\n const selected = e.currentTarget.getAttribute(\"href\");\r\n setState((s) => ({ ...s, level3selected: selected }));\r\n },\r\n [setState],\r\n );\r\n\r\n const onItemMouseLeave = React.useCallback>(() => {\r\n setState((s) => ({ ...s, level3selected: null }));\r\n }, [setState]);\r\n\r\n return (\r\n \r\n \r\n {icon && \"\"}\r\n \r\n \r\n {meta && (\r\n
    \r\n {meta.map((o) => (\r\n \r\n \r\n \r\n ))}\r\n
\r\n )}\r\n \r\n );\r\n};\r\n","import * as React from \"react\";\r\n\r\nimport { AppState, OthersMeta, useDataContext } from \"../context/DataContextProvider\";\r\nimport { classNames } from \"../utils\";\r\nimport { OtherSubCategory } from \"./OtherSubCategory\";\r\n\r\nfunction getMeta(state: AppState, othersMeta: Record): OthersMeta | undefined {\r\n return [state.level1selected, state.level2selected, state.level3selected]\r\n .map((o) => (o ? othersMeta[o] : undefined))\r\n .reduce(\r\n (p, o) => ({\r\n ...p,\r\n icon: o && o.icon ? o.icon : p.icon,\r\n icon_url: o && o.icon_url ? o.icon_url : p.icon_url,\r\n text: o && o.text ? o.text : p.text,\r\n image: o && o.image ? o.image : p.image,\r\n }),\r\n { icon: \"\", icon_url: \"\", text: \"\", image: \"\" },\r\n );\r\n}\r\n\r\ninterface OtherCategoryProps {\r\n href: string;\r\n}\r\nexport const OtherCategory: React.FunctionComponent = ({ href }) => {\r\n const { links, othersMeta, state, setState } = useDataContext();\r\n const {\r\n [href]: { items, title, canonical },\r\n } = links;\r\n\r\n const isExpanded = React.useMemo(() => state.level1selected === href, [state, href]);\r\n\r\n const meta = React.useMemo(() => getMeta(state, othersMeta), [state, othersMeta]);\r\n\r\n const onMouseEnter = React.useCallback>(\r\n () => setState((s) => ({ ...s, level1next: href })),\r\n [href, setState],\r\n );\r\n\r\n const onMouseLeave = React.useCallback>(\r\n () => setState((s) => ({ ...s, level1next: null })),\r\n [setState],\r\n );\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n {items && (\r\n \r\n
\r\n
\r\n
    \r\n {items.map((o) => (\r\n \r\n ))}\r\n
\r\n
\r\n {meta && (\r\n
\r\n
\r\n \r\n \"\"\r\n \r\n

\r\n

\r\n \r\n
\r\n )}\r\n
\r\n \r\n )}\r\n \r\n );\r\n};\r\n","import * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { App } from \"./controls/App\";\nimport { DataContextProvider, AppState } from \"./context/DataContextProvider\";\n\ninterface ConfigJson extends Partial {\n baseUrl: string;\n}\n\nconst main = () => {\n const root = document.getElementById(\"root\");\n\n if (!root) {\n throw new Error(\"Cannot find root element!\");\n }\n\n const { baseUrl, ...initialState } = JSON.parse(\n (root.firstElementChild as HTMLScriptElement).innerText,\n ) as ConfigJson;\n\n const corsUrl: string | undefined = process.env.NODE_ENV === \"production\" ? undefined : \"http://corsproxy.cs\";\n\n ReactDOM.render(\n \n \n \n \n ,\n root,\n );\n};\n\nfunction docReady(fn: () => void) {\n if (document.readyState === \"complete\" || document.readyState === \"interactive\") {\n setTimeout(fn, 1);\n } else {\n document.addEventListener(\"DOMContentLoaded\", fn);\n }\n}\n\ndocReady(main);\n","import * as React from \"react\";\r\nimport { useSpring, a } from \"@react-spring/web\";\r\nimport { debounce } from \"ts-debounce\";\r\n\r\nimport { useDataContext } from \"../context/DataContextProvider\";\r\nimport { EshopCategory } from \"./EshopCategory\";\r\nimport { OtherCategory } from \"./OtherCategory\";\r\nimport { delay } from \"../utils\";\r\n\r\nexport const App: React.FunctionComponent = () => {\r\n const { state, setState, others } = useDataContext();\r\n\r\n const updateLevel1 = React.useMemo(() => {\r\n return debounce(() => setState((s) => ({ ...s, level1selected: s.level1next })), delay);\r\n }, [setState]);\r\n\r\n React.useEffect(() => {\r\n updateLevel1();\r\n }, [state.level1next, updateLevel1]);\r\n\r\n const updateLevel3 = React.useMemo(() => {\r\n return debounce(\r\n () => setState((s) => ({ ...s, level3selected: s.level3next, level3top: s.level3nextTop })),\r\n delay,\r\n );\r\n }, [setState]);\r\n\r\n React.useEffect(() => {\r\n updateLevel3();\r\n }, [state.level3next, updateLevel3]);\r\n\r\n const showOverlay = React.useMemo(() => !!state.level1selected, [state]);\r\n\r\n const style = useSpring({\r\n from: { opacity: 0 },\r\n to: async (next) => {\r\n await next({ height: showOverlay ? window.innerHeight : 0, immediate: true });\r\n await next({ opacity: showOverlay ? 1 : 0 });\r\n },\r\n });\r\n\r\n return (\r\n
\r\n \r\n\r\n
\r\n
    \r\n {others.map((o) => (\r\n \r\n ))}\r\n
\r\n
\r\n\r\n \r\n
\r\n );\r\n};\r\n"],"sourceRoot":""}