{"version":3,"sources":["webpack:///./src/components/toggle-nav-button.js","webpack:///./src/components/indexItem.js","webpack:///./src/components/index.js","webpack:///./src/components/footer.js","webpack:///./src/templates/doc.js"],"names":["ToggleNavButton","open","setOpen","type","aria-expanded","className","onClick","width","height","fill","d","stroke","strokeWidth","strokeLinecap","strokeLinejoin","defaultProps","IndexItem","item","collapsementState","collapsed","id","subItems","items","length","aria-label","label","viewBox","to","url","activeClassName","map","key","Index","lang","currentPath","cssClasses","indexTreeHTMLContainer","useRef","useIndexTree","index","setCollapsementState","setCurrentPath","useEffect","useLayoutEffect","current","scrollPosition","sessionStorage","getItem","scrollTo","toggleCollapsed","itemId","c","e","target","currentTarget","ref","domElement","setItem","scrollTop","Footer","Date","getFullYear","href","Doc","doc","data","landsDesignDoc","path","useState","navIsOpen","setNavIsOpen","useIntl","setLang","setTranslations","pageTitle","title","document","body","style","overflowY","translations","find","t","dangerouslySetInnerHTML","__html","htmlContent"],"mappings":"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","file":"component---src-templates-doc-js-c463538bc5884ab0efe5.js","sourcesContent":["import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nconst ToggleNavButton = ({ open, setOpen }) => (\r\n setOpen(!open)}\r\n >\r\n Open site navigation\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n);\r\n\r\nToggleNavButton.defaultProps = {\r\n open: false,\r\n setOpen: () => {},\r\n};\r\n\r\nToggleNavButton.propTypes = {\r\n open: PropTypes.bool,\r\n setOpen: PropTypes.func,\r\n};\r\n\r\nexport default ToggleNavButton;\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { Link } from \"gatsby\";\r\n\r\nconst IndexItem = ({ item, collapsementState, onClick }) => {\r\n const collapsed = collapsementState[item.id].collapsed;\r\n const subItems = item.items;\r\n\r\n return (\r\n
  • \r\n \r\n {subItems && subItems.length ? (\r\n onClick(item.id)}\r\n >\r\n \r\n {collapsed ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n ) : null}\r\n \r\n {item.label}\r\n \r\n \r\n {subItems && subItems.length && !collapsed ? (\r\n
      \r\n {subItems.map(item => (\r\n \r\n ))}\r\n
    \r\n ) : null}\r\n
  • \r\n );\r\n};\r\n\r\nIndexItem.propTypes = {\r\n item: PropTypes.object.isRequired,\r\n collapsementState: PropTypes.object.isRequired,\r\n onClick: PropTypes.func.isRequired,\r\n};\r\n\r\nexport default IndexItem;\r\n","import React, { useRef, useEffect, useLayoutEffect } from \"react\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nimport { useIndexTree } from \"../contexts/IndexTreeContext\";\r\n\r\nimport IndexItem from \"./indexItem\";\r\n\r\n/**\r\n * Stores the vertical scroll value of the provided element in session storage.\r\n * @param {Element} domElement\r\n */\r\nconst storeYScroll = domElement => {\r\n if (domElement)\r\n sessionStorage.setItem(\"indexTreeYScroll\", domElement.scrollTop);\r\n};\r\n\r\nconst Index = ({ lang, setOpen, currentPath, cssClasses }) => {\r\n const indexTreeHTMLContainer = useRef(null);\r\n\r\n const {\r\n index,\r\n collapsementState,\r\n setCollapsementState,\r\n setCurrentPath,\r\n } = useIndexTree();\r\n\r\n useEffect(() => {\r\n setCurrentPath(currentPath);\r\n }, [setCurrentPath, currentPath]);\r\n\r\n useLayoutEffect(() => {\r\n if (indexTreeHTMLContainer.current) {\r\n const scrollPosition = sessionStorage.getItem(\"indexTreeYScroll\");\r\n indexTreeHTMLContainer.current.scrollTo(0, scrollPosition || 0);\r\n }\r\n }, []);\r\n\r\n const toggleCollapsed = itemId => {\r\n setCollapsementState(\r\n c => ((c[itemId].collapsed = !c[itemId].collapsed), { ...c }) // eslint-disable-line no-sequences\r\n );\r\n };\r\n\r\n return (\r\n (e.target === e.currentTarget ? setOpen(false) : null)}\r\n >\r\n storeYScroll(indexTreeHTMLContainer.current)}\r\n >\r\n {/*

    Index

    */}\r\n {index ? (\r\n
      \r\n {index.map(item => (\r\n \r\n ))}\r\n
    \r\n ) : (\r\n `No index found for ${lang}`\r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nIndex.defaultProps = {\r\n lang: \"\",\r\n setOpen: () => {},\r\n cssClasses: \"\",\r\n};\r\n\r\nIndex.propTypes = {\r\n lang: PropTypes.string,\r\n setOpen: PropTypes.func,\r\n currentPath: PropTypes.string.isRequired,\r\n cssClasses: PropTypes.string,\r\n};\r\n\r\nexport default Index;\r\n","import React from \"react\";\r\n\r\nconst Footer = () => {\r\n return (\r\n
    \r\n \r\n © {new Date().getFullYear()},{\" \"}\r\n Asuni Soft\r\n \r\n
    \r\n );\r\n};\r\n\r\nexport default Footer;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { graphql } from \"gatsby\";\r\n\r\nimport Layout from \"../components/layout\";\r\nimport SEO from \"../components/seo\";\r\nimport ToggleNavButton from \"../components/toggle-nav-button\";\r\nimport Index from \"../components/index\";\r\nimport Footer from \"../components/footer\";\r\n\r\nimport { useIntl } from \"../contexts/IntlContext\";\r\n\r\nconst Doc = ({ data: { landsDesignDoc: doc }, path }) => {\r\n const [navIsOpen, setNavIsOpen] = useState(false);\r\n const { setLang, setTranslations } = useIntl();\r\n const lang = doc.lang;\r\n const pageTitle = doc.title;\r\n\r\n useEffect(() => {\r\n if (navIsOpen) {\r\n document.body.style.overflowY = \"hidden\";\r\n } else {\r\n document.body.style.overflowY = \"auto\";\r\n }\r\n }, [navIsOpen]);\r\n\r\n useEffect(() => {\r\n // TODO Those two methods probably will always be used together so could be \"merged\"\r\n setLang(lang);\r\n setTranslations(doc.translations.find(t => t[lang] === path) ?? {});\r\n }, [lang, path]);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport const query = graphql`\r\n query($id: String!) {\r\n landsDesignDoc(id: { eq: $id }) {\r\n id\r\n lang\r\n title\r\n translations\r\n htmlContent\r\n }\r\n }\r\n`;\r\n\r\nexport default Doc;\r\n"],"sourceRoot":""}