{"version":3,"file":"main.e7c45144a49ca935177f.js","mappings":"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","sources":["webpack://cmhr-witness-blanket-rails/./app/webpack/client/store/index.ts","webpack://cmhr-witness-blanket-rails/./app/webpack/client/index.tsx","webpack://cmhr-witness-blanket-rails/./app/webpack/client/components/layout/Layout.tsx","webpack://cmhr-witness-blanket-rails/./app/webpack/client/components/utils/layoutFormatData.tsx","webpack://cmhr-witness-blanket-rails/./app/webpack/client/components/App.tsx","webpack://cmhr-witness-blanket-rails/./app/webpack/client/components/shared/Footer/index.tsx","webpack://cmhr-witness-blanket-rails/./app/webpack/client/components/shared/Navbar/MenuButton.tsx","webpack://cmhr-witness-blanket-rails/./app/webpack/client/components/shared/Navbar/MenuSplitter.tsx","webpack://cmhr-witness-blanket-rails/./app/webpack/client/components/shared/Navbar/SafeSpaceButton.tsx","webpack://cmhr-witness-blanket-rails/./app/webpack/client/components/utils/isDesktop.tsx","webpack://cmhr-witness-blanket-rails/./app/webpack/client/components/utils/useMedia.tsx","webpack://cmhr-witness-blanket-rails/./app/webpack/client/components/shared/Navbar/index.tsx","webpack://cmhr-witness-blanket-rails/./app/webpack/client/components/shared/ShareMenu/index.tsx","webpack://cmhr-witness-blanket-rails/./app/webpack/client/components/shared/SafeSpaceCurtain/index.tsx","webpack://cmhr-witness-blanket-rails/./app/webpack/client/components/shared/SkipLinks/index.tsx","webpack://cmhr-witness-blanket-rails/./app/webpack/client/components/shared/LanguageSwitcher/index.tsx","webpack://cmhr-witness-blanket-rails/./app/webpack/client/components/shared/Link/index.tsx","webpack://cmhr-witness-blanket-rails/./app/webpack/client/components/utils/sharing.ts","webpack://cmhr-witness-blanket-rails/./app/webpack/client/components/utils/storyFilter.ts","webpack://cmhr-witness-blanket-rails/./app/webpack/client/components/utils/urlPaths.ts","webpack://cmhr-witness-blanket-rails/./app/webpack/client/components/utils/useTranslatedUrl.tsx","webpack://cmhr-witness-blanket-rails/./app/webpack/client/i18n/index.ts","webpack://cmhr-witness-blanket-rails/./app/webpack/client/store/settings/settingsSlice.ts","webpack://cmhr-witness-blanket-rails/./app/webpack/client/store/share/shareSlice.ts","webpack://cmhr-witness-blanket-rails/./app/webpack/client/store/ui/uiSlice.ts"],"sourcesContent":["import { configureStore } from '@reduxjs/toolkit';\nimport settingsReducer from './settings/settingsSlice';\nimport shareReducer from './share/shareSlice';\nimport uiReducer, {\n resizeScreen,\n updateMediaQuery,\n tabletMediaQuery,\n desktopMediaQuery,\n reducedMotionMediaQuery,\n} from './ui/uiSlice';\n\nexport const store = configureStore({\n reducer: {\n ui: uiReducer,\n settings: settingsReducer,\n share: shareReducer,\n },\n});\n\n// Infer the `RootState` and `AppDispatch` types from the store itself\nexport type RootState = ReturnType;\nexport type AppDispatch = typeof store.dispatch;\n\n// Media Query setup\nwindow.addEventListener('resize', () => {\n store.dispatch(resizeScreen(window.innerWidth));\n});\n\nexport const updateMediaQueries = () => {\n store.dispatch(\n updateMediaQuery({\n isTablet: tabletMediaQuery.matches,\n isDesktop: desktopMediaQuery.matches,\n isReducedMotion: reducedMotionMediaQuery.matches,\n })\n );\n};\n\nconst handleTablet = () => {\n updateMediaQueries();\n};\ntabletMediaQuery.addEventListener('change', handleTablet);\n\nconst handleDesktop = () => {\n updateMediaQueries();\n};\ndesktopMediaQuery.addEventListener('change', handleDesktop);\n\nupdateMediaQueries();\n","import React, { Suspense } from 'react';\nimport ReactDOM from 'react-dom';\nimport { Provider } from 'react-redux';\n\nimport { store } from './store';\nimport './i18n';\n\nimport App from './components/App';\n\n// loading component for suspense fallback\nfunction Loader() {\n return
;\n}\n\nconst createApp = () => {\n const reactComponent = (\n }>\n \n \n \n \n );\n\n return reactComponent;\n};\n\nconst renderApp = () => {\n const container = document.getElementById('react-root');\n\n if (container) {\n ReactDOM.render(createApp(), document.getElementById('react-root'));\n }\n};\n\ndocument.addEventListener('DOMContentLoaded', renderApp);\n\nif (module.hot) {\n module.hot.accept('./components/App', () => {\n renderApp();\n });\n}\n","import React from 'react';\nimport { Helmet } from 'react-helmet';\nimport { useLocation } from 'react-router-dom';\nimport { useTranslation } from 'react-i18next';\nimport { useSelector } from 'react-redux';\n\nimport useTranslatedUrl from '../utils/useTranslatedUrl';\nimport useLayoutData from '../utils/layoutFormatData';\nimport { Footer, Navbar, SafeSpaceCurtain, SkipLinks } from '../index';\nimport { selectIsModalOpen } from '../../store/settings/settingsSlice';\n\ninterface Props {\n children?: React.ReactNode;\n}\n\nfunction Layout({ children }: Props) {\n const { t } = useTranslation();\n const location = useLocation();\n const modalOpen = useSelector(selectIsModalOpen);\n const layoutData = useLayoutData(location.pathname);\n\n const currentUrl = useTranslatedUrl({\n path: window.location.pathname,\n fullPath: false,\n useCurrentLanguage: true,\n });\n\n // Allow dynamic fetching of page title\n /* eslint-disable @typescript-eslint/ban-ts-comment */\n // @ts-ignore\n const titleKey = t(`metadata.${currentUrl}.title`);\n\n return (\n
\n \n {titleKey || t('title')}\n \n \n \n \n
\n
-1 ? 'story' : ''}`}>\n {children}\n
\n
\n {layoutData?.includeFooter &&
}\n
\n );\n}\n\nLayout.defaultProps = {\n children: null,\n};\n\nexport default Layout;\n","import { useTranslation } from 'react-i18next';\n\nimport {\n ABOUT_ARTIST_PATH,\n ABOUT_ARTIST_PATH_FR,\n STORIES_PATH,\n STORIES_PATH_FR,\n STORY_MUSH_BOWL_PATH,\n STORY_MUSH_BOWL_PATH_FR,\n STORY_CHILD_SHOE_PATH,\n STORY_CHILD_SHOE_PATH_FR,\n STORY_BROKEN_ANGEL_PATH,\n STORY_BROKEN_ANGEL_PATH_FR,\n STORY_BRICK_PATH,\n STORY_BRICK_PATH_FR,\n STORY_STONE_PATH,\n STORY_STONE_PATH_FR,\n STORY_SKATE_PATH,\n STORY_SKATE_PATH_FR,\n STORY_LETTER_PATH,\n STORY_LETTER_PATH_FR,\n STORY_DOOR_PATH,\n STORY_DOOR_PATH_FR,\n STORY_BRANCH_PATH,\n STORY_BRANCH_PATH_FR,\n STORY_BRAIDS_PATH,\n STORY_BRAIDS_PATH_FR,\n EXPLORE_BLANKET_PATH,\n EXPLORE_BLANKET_PATH_FR,\n ABOUT_BLANKET_PATH,\n ABOUT_BLANKET_PATH_FR,\n BEAR_WITNESS_PATH,\n BEAR_WITNESS_PATH_FR,\n TEACHER_GUIDE_PATH,\n TEACHER_GUIDE_PATH_FR,\n CONTACT_PATH,\n CONTACT_PATH_FR,\n SITE_MAP_PATH,\n SITE_MAP_PATH_FR,\n} from './urlPaths';\n\ninterface LayoutProps {\n className?: string;\n title?: string;\n includeFooter?: boolean;\n}\n\nexport default function useLayoutData(path = '') {\n const { t } = useTranslation();\n\n switch (path.toLowerCase()) {\n case ABOUT_ARTIST_PATH:\n case ABOUT_ARTIST_PATH_FR:\n return {\n className: 'layout-stories about-artist-layout',\n title: t('nav_title.about_artist'),\n includeFooter: true,\n };\n case ABOUT_BLANKET_PATH:\n case ABOUT_BLANKET_PATH_FR:\n return {\n className: '',\n title: t('nav_title.about_blanket'),\n includeFooter: true,\n };\n case BEAR_WITNESS_PATH:\n case BEAR_WITNESS_PATH_FR:\n return {\n className: \"witness-layout\",\n title: t('nav_title.bear_witness'),\n includeFooter: true,\n };\n case EXPLORE_BLANKET_PATH:\n case EXPLORE_BLANKET_PATH_FR:\n return {\n className: \"layout-blanket\", \n title: t('nav_title.view_blanket'),\n includeFooter: false\n };\n case CONTACT_PATH:\n case CONTACT_PATH_FR:\n return {\n className: \"layout-contact\",\n title: t('nav_title.contact_us'),\n includeFooter: true,\n };\n case '/':\n case '/test':\n return {\n className: \"layout-home\",\n title: t('nav_title.homepage'),\n includeFooter: true,\n };\n case STORIES_PATH:\n case STORIES_PATH_FR:\n return {\n className: 'select-story-layout',\n title: t('nav_title.select_story'),\n includeFooter: true,\n };\n case SITE_MAP_PATH:\n case SITE_MAP_PATH_FR:\n return {\n className: \"layout-site-map\",\n title: t('nav_options.site_map'),\n includeFooter: true,\n };\n case STORY_BRAIDS_PATH:\n case STORY_BRAIDS_PATH_FR:\n return {\n className: 'layout-stories',\n title: t('stories.braids.title'),\n includeFooter: true,\n };\n case STORY_BRANCH_PATH:\n case STORY_BRANCH_PATH_FR:\n return {\n className: 'layout-stories',\n title: t('stories.branch.title'),\n includeFooter: true,\n };\n case STORY_BRICK_PATH:\n case STORY_BRICK_PATH_FR:\n return {\n className: 'layout-stories',\n title: t('stories.brick.title'),\n includeFooter: true,\n };\n case STORY_BROKEN_ANGEL_PATH:\n case STORY_BROKEN_ANGEL_PATH_FR:\n return {\n className: 'layout-stories',\n title: t('stories.angel.title'),\n includeFooter: true,\n };\n case STORY_CHILD_SHOE_PATH:\n case STORY_CHILD_SHOE_PATH_FR:\n return {\n className: 'layout-stories',\n title: t('stories.child_shoe.title'),\n includeFooter: true,\n };\n case STORY_DOOR_PATH:\n case STORY_DOOR_PATH_FR:\n return {\n className: 'layout-stories',\n title: t('stories.door.title'),\n includeFooter: true,\n };\n case STORY_LETTER_PATH:\n case STORY_LETTER_PATH_FR:\n return {\n className: 'layout-stories',\n title: t('stories.letter.title'),\n includeFooter: true,\n };\n case STORY_MUSH_BOWL_PATH:\n case STORY_MUSH_BOWL_PATH_FR:\n return {\n className: 'layout-stories',\n title: t('stories.mushbowl.title'),\n includeFooter: true,\n };\n case STORY_SKATE_PATH:\n case STORY_SKATE_PATH_FR:\n return {\n className: 'layout-stories',\n title: t('stories.skate.title'),\n includeFooter: true,\n };\n case STORY_STONE_PATH:\n case STORY_STONE_PATH_FR:\n return {\n className: 'layout-stories',\n title: t('stories.stone.title'),\n includeFooter: true,\n };\n case TEACHER_GUIDE_PATH:\n case TEACHER_GUIDE_PATH_FR:\n return {\n className: 'layout-teacher-guide',\n title: t('nav_title.teacher_guide'),\n includeFooter: true,\n };\n case '':\n return {};\n }\n}\n","import React, { Suspense, lazy } from 'react';\nimport { useDispatch } from 'react-redux';\nimport { BrowserRouter as Router, useRoutes } from 'react-router-dom';\n\nimport { setLanguageSettings } from '../store/settings/settingsSlice';\nimport Layout from './layout/Layout';\n\nimport {\n ABOUT_ARTIST_PATH,\n ABOUT_ARTIST_PATH_FR,\n STORIES_PATH,\n STORIES_PATH_FR,\n STORY_MUSH_BOWL_PATH,\n STORY_MUSH_BOWL_PATH_FR,\n STORY_CHILD_SHOE_PATH,\n STORY_CHILD_SHOE_PATH_FR,\n STORY_BROKEN_ANGEL_PATH,\n STORY_BROKEN_ANGEL_PATH_FR,\n STORY_BRICK_PATH,\n STORY_BRICK_PATH_FR,\n STORY_STONE_PATH,\n STORY_STONE_PATH_FR,\n STORY_SKATE_PATH,\n STORY_SKATE_PATH_FR,\n STORY_LETTER_PATH,\n STORY_LETTER_PATH_FR,\n STORY_DOOR_PATH,\n STORY_DOOR_PATH_FR,\n STORY_BRANCH_PATH,\n STORY_BRANCH_PATH_FR,\n STORY_BRAIDS_PATH,\n STORY_BRAIDS_PATH_FR,\n EXPLORE_BLANKET_PATH,\n EXPLORE_BLANKET_PATH_FR,\n ABOUT_BLANKET_PATH,\n ABOUT_BLANKET_PATH_FR,\n BEAR_WITNESS_PATH,\n BEAR_WITNESS_PATH_FR,\n TEACHER_GUIDE_PATH,\n TEACHER_GUIDE_PATH_FR,\n CONTACT_PATH,\n CONTACT_PATH_FR,\n SITE_MAP_PATH,\n SITE_MAP_PATH_FR,\n} from './utils/urlPaths';\n\nimport { StoryManagerItems, STORY_MANAGER } from './utils/storyFilter';\n\nconst MainSeries = lazy(() => import('./pages/MainSeries'));\nconst AboutArtistPage = lazy(() => import('./pages/AboutArtistPage/index'));\nconst StoryMushBowl = lazy(() => import('./pages/StoryMushBowl/index'));\nconst StoryChildShoe = lazy(() => import('./pages/StoryChildShoe/index'));\nconst StoryBrokenAngel = lazy(() => import('./pages/StoryBrokenAngel/index'));\nconst StoryBrick = lazy(() => import('./pages/StoryBrick/index'));\nconst StoryStone = lazy(() => import('./pages/StoryStone/index'));\nconst StorySkate = lazy(() => import('./pages/StorySkate/index'));\nconst StoryLetter = lazy(() => import('./pages/StoryLetter/index'));\nconst StoryDoor = lazy(() => import('./pages/StoryDoor/index'));\nconst StoryBranch = lazy(() => import('./pages/StoryBranch/index'));\nconst StoryBraids = lazy(() => import('./pages/StoryBraids/index'));\nconst AboutBlanket = lazy(() => import('./pages/AboutBlanket/index'));\nconst BearWitness = lazy(() => import('./pages/BearWitness/index'));\nconst TeacherGuide = lazy(() => import('./pages/TeacherGuide/index'));\nconst ContactUs = lazy(() => import('./pages/ContactUs/index'));\nconst Sitemap = lazy(() => import('./pages/Sitemap/index'));\n\nexport const ROUTES = [\n { en: ABOUT_ARTIST_PATH, fr: ABOUT_ARTIST_PATH_FR, element: },\n { en: STORIES_PATH, fr: STORIES_PATH_FR, element: },\n { en: STORY_MUSH_BOWL_PATH, fr: STORY_MUSH_BOWL_PATH_FR, element: , story_name: 'mushbowl' },\n { en: STORY_CHILD_SHOE_PATH, fr: STORY_CHILD_SHOE_PATH_FR, element: , story_name: 'child_shoe' },\n { en: STORY_BROKEN_ANGEL_PATH, fr: STORY_BROKEN_ANGEL_PATH_FR, element: , story_name: 'angel' },\n { en: STORY_BRICK_PATH, fr: STORY_BRICK_PATH_FR, element: , story_name: 'brick' },\n { en: STORY_STONE_PATH, fr: STORY_STONE_PATH_FR, element: , story_name: 'stone' },\n { en: STORY_SKATE_PATH, fr: STORY_SKATE_PATH_FR, element: , story_name: 'skate' },\n { en: STORY_LETTER_PATH, fr: STORY_LETTER_PATH_FR, element: , story_name: 'letter' },\n { en: STORY_DOOR_PATH, fr: STORY_DOOR_PATH_FR, element: , story_name: 'door' },\n { en: STORY_BRANCH_PATH, fr: STORY_BRANCH_PATH_FR, element: , story_name: 'branch' },\n { en: STORY_BRAIDS_PATH, fr: STORY_BRAIDS_PATH_FR, element: , story_name: 'braids' },\n { en: EXPLORE_BLANKET_PATH, fr: EXPLORE_BLANKET_PATH_FR, element: },\n { en: ABOUT_BLANKET_PATH, fr: ABOUT_BLANKET_PATH_FR, element: },\n { en: BEAR_WITNESS_PATH, fr: BEAR_WITNESS_PATH_FR, element: },\n { en: TEACHER_GUIDE_PATH, fr: TEACHER_GUIDE_PATH_FR, element: },\n { en: CONTACT_PATH, fr: CONTACT_PATH_FR, element: },\n { en: SITE_MAP_PATH, fr: SITE_MAP_PATH_FR, element: },\n];\n\nconst App = () =>\n useRoutes(\n [{ path: '/', element: }].concat(\n ROUTES.filter(\n (route) =>\n !route.story_name ||\n STORY_MANAGER.find((story: StoryManagerItems) => route.story_name === story.story_name)?.isAvailable\n )\n .map((route) => ({ path: route.en, element: route.element }))\n .concat(\n ROUTES.filter(\n (route) =>\n !route.story_name ||\n STORY_MANAGER.find((story: StoryManagerItems) => route.story_name === story.story_name)?.isAvailable\n ).map((route) => ({ path: route.fr, element: route.element }))\n )\n )\n );\n\nexport default function AppWrapper() {\n // Set initial settings from Rails\n const dispatch = useDispatch();\n const node = document.getElementById('settings-data');\n const settingsData = node !== null ? JSON.parse(node.dataset.settings || '{}') : {};\n dispatch(setLanguageSettings(settingsData));\n\n return (\n \n \n \n \n \n \n \n );\n}\n","import * as React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { HashLink } from 'react-router-hash-link';\nimport i18n from '../../../i18n';\n\nimport Link from '../Link';\nimport Logo from '../../../../images/footer_logo.svg';\nimport CMHRLogo from '../../../../images/footer_cmhr_logo.svg';\nimport CMHRLogoFR from '../../../../images/footer_cmhr_logo_fr.svg';\nimport ExternalArrow from '../../../../images/external_link_arrow.svg';\n\nimport {\n ABOUT_ARTIST_PATH,\n STORIES_PATH,\n ABOUT_BLANKET_PATH,\n BEAR_WITNESS_PATH,\n TEACHER_GUIDE_PATH,\n TEACHER_GUIDE_PATH_FR,\n CONTACT_PATH,\n SITE_MAP_PATH,\n} from '../../utils/urlPaths';\n\nfunction Footer() {\n const { t } = useTranslation();\n\n const footerOptions = [\n { url: '/', option: t('nav_title.homepage') },\n { url: STORIES_PATH, option: t('nav_options.stories') },\n { url: BEAR_WITNESS_PATH, option: t('nav_options.bear_witness') },\n { url: TEACHER_GUIDE_PATH, option: t('nav_options.teacher_guide') },\n { url: t('resource_url'), option: t('nav_options.resources') },\n { url: ABOUT_BLANKET_PATH, option: t('nav_options.about_blanket') },\n { url: ABOUT_ARTIST_PATH, option: t('nav_options.about_artist') },\n { url: CONTACT_PATH, option: t('nav_options.contact_us') },\n ];\n\n const teacherGuideFooterOptions = [\n { url: '#lesson_1', option: t('nav_teacher_guide_options.lesson_1') },\n { url: '#lesson_2', option: t('nav_teacher_guide_options.lesson_2') },\n { url: '#lesson_3', option: t('nav_teacher_guide_options.lesson_3') },\n { url: '#lesson_4', option: t('nav_teacher_guide_options.lesson_4') },\n { url: '#workshop', option: t('nav_teacher_guide_options.workshops') },\n { url: '#contact', option: t('nav_teacher_guide_options.contact') },\n { url: '/', option: t('nav_teacher_guide_options.main') },\n ];\n\n const isTeacherGuidePage = () => {\n return (\n window.location.href.indexOf(TEACHER_GUIDE_PATH) > -1 || window.location.href.indexOf(TEACHER_GUIDE_PATH_FR) > -1\n );\n };\n\n return (\n
\n

{t('footer.title')}

\n
\n
\n
\n \n {t('footer.logo_alt')}\n {t('nav_title.default')}\n \n
\n
\n \n
\n
\n
\n
\n
\n \n {t('footer.logo_alt')}\n {t('nav_title.default')}\n \n
\n

\n {t('footer.additional_links')}\n

\n \n
\n {t('footer.logo_alt')}\n
\n
{t('footer.copyright')}
\n
\n
\n );\n}\n\nexport default Footer;\n","import React, { useState } from 'react';\n\ninterface Props {\n isOpen?: boolean;\n onClick: () => void;\n className?: string;\n}\n\nexport const MenuButton = ({ isOpen, onClick, className }: Props): React.ReactElement => {\n const [isFirstRun, setIsFirstRun] = useState(true);\n const classNameFormatted = className ? `${className} ` : '';\n const classNameState = isOpen ? 'am-menu__button--open' : 'am-menu__button--closed';\n const classes = `${classNameFormatted}am-menu__button ${classNameState}`;\n return (\n {\n /* eslint-disable-next-line @typescript-eslint/no-unused-expressions */\n setIsFirstRun(false);\n onClick();\n }}\n data-toggle=\"collapse\"\n data-target=\"#navbarSupportedContent\"\n aria-controls=\"navbarSupportedContent\"\n aria-expanded=\"false\"\n aria-label={`${isOpen ? 'Close' : 'Open'} Menu`}\n type=\"button\"\n >\n
\n
\n
\n
\n
\n \n );\n};\n\nMenuButton.defaultProps = {\n isOpen: false,\n className: '',\n};\n","import React from 'react';\n\nexport default function MenuSplitter() {\n return (\n \n |\n \n );\n}\n","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport SafeSpace from '../../../../images/safespace.svg';\n\ninterface Props {\n isOpen: boolean;\n onClick: () => void;\n}\n\nexport const SafeSpaceButton = ({ isOpen, onClick }: Props): React.ReactElement => {\n const { t } = useTranslation();\n\n return (\n \n {isOpen ? (\n
\n
\n
\n
\n ) : (\n {t('safe_space_alt')}\n )}\n \n );\n};\n","import { useMediaQuery } from \"./useMedia\";\n\nexport function isDesktop() {\n return useMediaQuery('(min-width: 84.375em)');\n}","import { useState, useEffect } from 'react';\n\n//source: https://www.netlify.com/blog/2020/12/05/building-a-custom-react-media-query-hook-for-more-responsive-apps/\nexport function useMediaQuery(query:string) {\n const [matches, setMatches] = useState(false);\n\n useEffect(() => {\n const media = window.matchMedia(query);\n if (media.matches !== matches) {\n setMatches(media.matches);\n }\n const listener = () => {\n setMatches(media.matches);\n };\n media.addEventListener('change', listener);\n return () => media.removeEventListener('change', listener);\n }, [matches, query]);\n\n return matches;\n}","import React, { useRef, useState } from 'react';\nimport { useSelector, useDispatch } from 'react-redux';\nimport { useTranslation } from 'react-i18next';\nimport ReactPlayer from 'react-player/lazy';\nimport Modal from 'react-modal';\nimport { MenuButton } from './MenuButton';\nimport MenuSplitter from './MenuSplitter';\nimport { SafeSpaceButton } from './SafeSpaceButton';\nimport Link from '../Link';\n\nimport { isDesktop } from '../../utils/isDesktop';\nimport LanguageSwitcher from '../LanguageSwitcher';\n\nimport { selectIsMobile, selectIsReducedMotion } from '../../../store/ui/uiSlice';\nimport { selectIsModalOpen, setIsModalOpen } from '../../../store/settings/settingsSlice';\n\nimport CloseIcon from '../../../../images/close_icon.svg';\n\nimport {\n ABOUT_ARTIST_PATH,\n STORIES_PATH,\n EXPLORE_BLANKET_PATH,\n ABOUT_BLANKET_PATH,\n BEAR_WITNESS_PATH,\n TEACHER_GUIDE_PATH,\n TEACHER_GUIDE_PATH_FR,\n CONTACT_PATH,\n WELCOME_PATH,\n} from '../../utils/urlPaths';\n\ninterface Props {\n title?: string;\n}\n\nexport default function Navbar({ title }: Props) {\n Modal.setAppElement('#react-root');\n\n const SAFE_SPACE_LEAVE_LINK = 'https://humanrights.ca/';\n\n const { t } = useTranslation();\n const dispatch = useDispatch();\n const [navbarType, setNavbarType] = useState('menu');\n const [menuOpen, setMenuOpen] = useState(false);\n const [safeSpaceIsOpen, setSafeSpaceIsOpen] = useState(false);\n const [safeSpaceIsLoaded, setSafeSpaceIsLoaded] = useState(false);\n const [safeSpaceWarningIsOpen, setSafeSpaceWarningIsOpen] = useState(false);\n const [safeSpaceWarningIsFirstTime, setSafeSpaceWarningIsFirstTime] = useState(true);\n const isMobile = useSelector(selectIsMobile);\n const isReducedMotion = useSelector(selectIsReducedMotion);\n const modalOpen = useSelector(selectIsModalOpen);\n\n const menuNavbarRef = useRef(null);\n const safeSpaceNavbarRef = useRef(null);\n const closeSafeSpaceSupportRef = useRef(null);\n const firstSafeSpaceButtonRef = useRef(null);\n\n const isWide = isDesktop();\n const isNarrow = !isWide;\n\n const navbarClass = () => {\n if (safeSpaceIsOpen) {\n return 'safe-space--open';\n }\n if (menuOpen) {\n return 'menu--open';\n }\n if (navbarType === 'safe-space') {\n return 'safe-space--closed';\n }\n return 'menu--closed';\n };\n\n const navbarTitle = () => {\n if (safeSpaceIsOpen) {\n return t('safe_space_open');\n }\n if (menuOpen) {\n return t('menu_open');\n }\n return title;\n };\n\n const closeMenu = () => {\n setMenuOpen(false);\n dispatch(setIsModalOpen(false));\n\n // Manually simulate bootstrap navbar btn click\n if (menuNavbarRef.current !== null) {\n menuNavbarRef.current.classList.remove('show');\n }\n };\n const closeSafeSpace = () => {\n setSafeSpaceWarningIsOpen(false);\n setSafeSpaceIsOpen(false);\n dispatch(setIsModalOpen(false));\n\n // Manually simulate bootstrap navbar btn click\n if (safeSpaceNavbarRef.current !== null) {\n safeSpaceNavbarRef.current.classList.remove('show');\n }\n };\n const closeSafeSpaceWarning = () => {\n setSafeSpaceWarningIsFirstTime(false);\n setSafeSpaceWarningIsOpen(false);\n };\n\n const afterSupportOpenModal = () => {\n closeSafeSpaceSupportRef?.current?.focus();\n };\n\n const afterSupportCloseModal = () => {\n firstSafeSpaceButtonRef?.current?.focus();\n };\n\n const onToggleMenu = () => {\n setNavbarType('menu');\n\n closeSafeSpace();\n setTimeout(() => {\n setMenuOpen((prev) => !prev);\n dispatch(setIsModalOpen(!modalOpen));\n }, 150);\n };\n const onToggleSafeSpace = () => {\n setNavbarType('safe-space');\n\n closeMenu();\n setTimeout(() => {\n if (safeSpaceIsOpen) {\n closeSafeSpace();\n } else {\n setSafeSpaceWarningIsOpen(true);\n setSafeSpaceIsOpen(true);\n dispatch(setIsModalOpen(true));\n }\n }, 150);\n };\n\n const gotoSupport = () => {\n setSafeSpaceWarningIsFirstTime(true);\n setSafeSpaceWarningIsOpen(true);\n };\n const gotoReturn = () => {\n closeSafeSpace();\n };\n const gotoLeave = () => {\n window.location.assign(SAFE_SPACE_LEAVE_LINK);\n };\n\n const isTeacherGuidePage = () => {\n return (\n window.location.href.indexOf(TEACHER_GUIDE_PATH) > -1 || window.location.href.indexOf(TEACHER_GUIDE_PATH_FR) > -1\n );\n };\n\n const navOptions = [\n { url: WELCOME_PATH, option: t('nav_options.welcome') },\n { url: STORIES_PATH, option: t('nav_options.stories') },\n { url: EXPLORE_BLANKET_PATH, option: t('nav_options.blanket') },\n { url: BEAR_WITNESS_PATH, option: t('nav_options.bear_witness') },\n { url: TEACHER_GUIDE_PATH, option: t('nav_options.teacher_guide') },\n { url: t('resource_url'), option: t('nav_options.resources') },\n { url: ABOUT_BLANKET_PATH, option: t('nav_options.about_blanket') },\n { url: ABOUT_ARTIST_PATH, option: t('nav_options.about_artist') },\n { url: CONTACT_PATH, option: t('nav_options.contact_us') },\n ];\n const navOptionsDesktop = [\n { url: STORIES_PATH, option: t('nav_options.stories_desktop') },\n { url: EXPLORE_BLANKET_PATH, option: t('nav_options.blanket') },\n { url: BEAR_WITNESS_PATH, option: t('nav_options.bear_witness') },\n { url: TEACHER_GUIDE_PATH, option: t('nav_options.teacher_guide') },\n { url: t('resource_url'), option: t('nav_options.resources') },\n ];\n\n const roleOptions = isNarrow ? { role: 'dialog' } : {};\n return (\n <>\n
\n\n
\n \n
\n\n {isNarrow && (\n \n
\n
\n
{t('safe_space.title')}
\n
\n {/* eslint-disable react/no-danger */}\n gotoSupport()}\n dangerouslySetInnerHTML={{ __html: t('safe_space.button_support') }}\n />\n gotoReturn()}\n dangerouslySetInnerHTML={{ __html: t('safe_space.button_return') }}\n />\n gotoLeave()}\n dangerouslySetInnerHTML={{ __html: t('safe_space.button_leave') }}\n />\n
\n\n setSafeSpaceIsLoaded(true)}\n />\n
\n
\n
\n
\n )}\n \n {window.location.href.indexOf('story/') > -1 ? (\n
\n \n
\n ) : undefined}\n\n {isWide && (\n \n \n\n

\n {' '}\n {t('safe_space.title')}{' '}\n

\n
\n gotoSupport()}\n dangerouslySetInnerHTML={{ __html: t('safe_space.button_support') }}\n />\n gotoReturn()}\n dangerouslySetInnerHTML={{ __html: t('safe_space.button_return') }}\n />\n gotoLeave()}\n dangerouslySetInnerHTML={{ __html: t('safe_space.button_leave') }}\n />\n
\n\n \n setSafeSpaceIsLoaded(true)}\n />\n \n
\n \n )}\n\n \n
\n \n {t('close_modal')}\n \n\n {/* eslint-disable react/no-danger, jsx-a11y/control-has-associated-label */}\n
\n
\n \n \n );\n}\n\nNavbar.defaultProps = {\n title: 'The Witness Blanket',\n};\n","import React, { useRef, useState, useEffect } from 'react';\nimport { useSelector, useDispatch } from 'react-redux';\nimport { useTranslation } from 'react-i18next';\nimport { usePopper } from 'react-popper';\n\nimport {\n selectScreenWidth,\n TABLET_MIN_WIDTH_IN_PX,\n NAV_MIN_WIDTH_IN_PX,\n MOBILE_HEADER_HEIGHT_IN_PX,\n TABLET_HEADER_HEIGHT_IN_PX,\n DESKTOP_HEADER_HEIGHT_IN_PX,\n} from '../../../store/ui/uiSlice';\nimport { closeMenu, selectTitle, selectQuote, selectAuthor, selectMainUrl } from '../../../store/share/shareSlice';\nimport { openInNewTab, copyUrl, shareFB } from '../../utils/sharing';\n\nimport CopyIcon from '../../../../images/share_copy_icon.svg';\nimport FBIcon from '../../../../images/share_fb_icon.svg';\nimport TwitterIcon from '../../../../images/share_twitter_icon.svg';\nimport EmailIcon from '../../../../images/share_email_icon.svg';\n\ninterface Props {\n showMenu: boolean;\n className?: string;\n onClose?: () => void;\n popperReferenceElement?: HTMLElement | null;\n popperPlacement?: string;\n}\n\nexport default function ShareMenu({ className, showMenu, onClose, popperReferenceElement, popperPlacement }: Props) {\n const dispatch = useDispatch();\n const { t } = useTranslation();\n\n const mainUrl: string = useSelector(selectMainUrl);\n const title: string = useSelector(selectTitle);\n const quote: string = useSelector(selectQuote);\n const author: string = useSelector(selectAuthor);\n const screenWidth = useSelector(selectScreenWidth);\n\n const ref = useRef(null);\n\n const [showShareNotification, setShowShareNotification] = useState(false);\n const [shareNotificationMessage, setShareNotificationMessage] = useState('');\n const [popperElement, setPopperElement] = useState(null);\n const [arrowElement, setArrowElement] = useState(null);\n\n const calculatePopperPlacement = () => {\n return popperPlacement === 'top-end' ? 'top-end' : 'bottom-end';\n };\n\n const calculatePaddingOptions = () => {\n if (screenWidth < TABLET_MIN_WIDTH_IN_PX) {\n return {\n bottom: MOBILE_HEADER_HEIGHT_IN_PX,\n };\n }\n if (screenWidth < NAV_MIN_WIDTH_IN_PX) {\n return {\n top: TABLET_HEADER_HEIGHT_IN_PX,\n };\n }\n\n return { top: DESKTOP_HEADER_HEIGHT_IN_PX };\n };\n\n let rightSpace =\n window.innerWidth -\n ((popperReferenceElement?.getBoundingClientRect().x || 0) +\n (popperReferenceElement?.getBoundingClientRect().width || 0));\n\n if (rightSpace + 192 > window.innerWidth) {\n rightSpace -= rightSpace + 194 - window.innerWidth;\n }\n\n const notificationStyle = {\n right: `${rightSpace}px`,\n top: `${popperReferenceElement?.getBoundingClientRect().y}px`,\n };\n\n const POPPER_MODIFIERS_CONFIG = [\n {\n name: 'arrow',\n options: {\n element: arrowElement,\n },\n },\n {\n name: 'offset',\n options: {\n offset: [-12, 20],\n },\n },\n {\n name: 'flip',\n options: {\n padding: calculatePaddingOptions(),\n },\n },\n ];\n\n const {\n styles: popperStyles,\n attributes: popperAttributes,\n forceUpdate: forceUpdatePopper,\n } = usePopper(popperReferenceElement, popperElement, {\n placement: calculatePopperPlacement(),\n modifiers: POPPER_MODIFIERS_CONFIG,\n });\n\n popperReferenceElement?.setAttribute('aria-expanded', showMenu ? 'true' : 'false');\n\n useEffect(() => {\n // Hack to reforce repositioning of desktop share menu after it's shown\n if (forceUpdatePopper) {\n (async () => {\n /* eslint-disable no-promise-executor-return */\n await new Promise((resolve) => setTimeout(resolve, 50));\n forceUpdatePopper();\n })();\n }\n }, [showMenu]);\n\n const closeShareMenu = () => {\n if (onClose) onClose();\n dispatch(closeMenu());\n popperReferenceElement?.focus();\n };\n\n const displayNotification = (messageHandle: string) => {\n // Allow dynamic fetching of notification message\n /* eslint-disable @typescript-eslint/ban-ts-comment */\n // @ts-ignore\n setShareNotificationMessage(t(`share_menu.${messageHandle}`));\n setShowShareNotification(true);\n\n const timeoutRef = setTimeout(() => {\n setShowShareNotification(false);\n setShareNotificationMessage('');\n clearTimeout(timeoutRef);\n }, 3500);\n };\n\n const handleHideDropdown = (event: KeyboardEvent) => {\n if (showMenu && event.key === 'Escape') {\n closeShareMenu();\n }\n };\n\n const handleClickOutside = (event: Event) => {\n if (\n showMenu &&\n ref.current &&\n !ref.current.contains(event.target as Node) &&\n (popperReferenceElement == null || !popperReferenceElement.contains(event.target as Node))\n ) {\n closeShareMenu();\n }\n };\n\n useEffect(() => {\n document.addEventListener('keydown', handleHideDropdown, true);\n document.addEventListener('click', handleClickOutside, true);\n return () => {\n document.removeEventListener('keydown', handleHideDropdown, true);\n document.removeEventListener('click', handleClickOutside, true);\n };\n });\n\n const shareEmail = () => {\n const emailTitle = `${title} - ${t('share_email_title_suffix')}`;\n const emailBody = quote !== '' && author !== '' ? `“${quote}” - ${author}, ${mainUrl}` : mainUrl;\n\n openInNewTab(`mailto:?subject=${encodeURIComponent(emailTitle)}&body=${encodeURIComponent(emailBody)}`);\n closeShareMenu();\n displayNotification('share_email_notification');\n };\n\n const shareTwitter = () => {\n openInNewTab(\n `https://twitter.com/intent/tweet?text=${encodeURIComponent(title)}&via=${t(\n 'social_media.twitter'\n )}&url=${encodeURIComponent(mainUrl)}`\n );\n closeShareMenu();\n displayNotification('share_twitter_notification');\n };\n\n return (\n <>\n \n
\n {shareNotificationMessage}\n
\n
\n \n
\n

{t('share_menu.title')}

\n
    \n
  • \n {\n copyUrl(mainUrl);\n closeShareMenu();\n displayNotification('share_link_notification');\n }}\n >\n \n \"Copy\n \n {t('share_menu.share_link')}\n \n
  • \n
  • \n {\n shareFB(mainUrl);\n closeShareMenu();\n displayNotification('share_facebook_notification');\n }}\n >\n \n \"Share\n \n {t('share_menu.share_facebook')}\n \n
  • \n
  • \n \n
  • \n
  • \n \n
  • \n
\n
\n
\n
\n \n );\n}\n\nShareMenu.defaultProps = {\n className: '',\n onClose: () => {},\n popperReferenceElement: null,\n popperPlacement: '',\n};\n","import React, { useState, useEffect } from 'react';\nimport { useSelector, useDispatch } from 'react-redux';\nimport { useTranslation } from 'react-i18next';\nimport {\n selectSafeSpaceWarningShown,\n setSafeSpaceWarningShown,\n setIsModalOpen,\n} from '../../../store/settings/settingsSlice';\nimport { selectIsMobile, selectIsTablet } from '../../../store/ui/uiSlice';\nimport bkgImgMobile from '../../../../images/mobile-menu-bg.png';\nimport bkgImgTablet from '../../../../images/tablet-menu-bg.png';\nimport bkgImgDesktop from '../../../../images/desktop-menu-bg.png';\n\nexport default function SafeSpaceCurtain() {\n const dispatch = useDispatch();\n const { t } = useTranslation();\n const [isShown, setIsShown] = useState(false);\n const [isClosing, setIsClosing] = useState(false);\n const warningShown: boolean = useSelector(selectSafeSpaceWarningShown);\n const isMobile = useSelector(selectIsMobile);\n const isTablet = useSelector(selectIsTablet);\n\n useEffect(() => {\n if (!warningShown) {\n dispatch(setIsModalOpen(true));\n }\n\n const timer = setTimeout(() => {\n setIsShown(true);\n }, 500);\n return () => clearTimeout(timer);\n }, []);\n\n const classNames = () => {\n if (isClosing) {\n return 'close-curtain';\n }\n if (!isShown || (isShown && warningShown)) {\n return 'hidden';\n }\n return 'show-curtain';\n };\n\n const closeCurtain = () => {\n setIsClosing(true);\n dispatch(setSafeSpaceWarningShown(true));\n dispatch(setIsModalOpen(false));\n };\n\n /* Trick to fetch background img immediately */\n const bkgImg = () => {\n if (isMobile) return bkgImgMobile;\n if (isTablet) return bkgImgTablet;\n\n return bkgImgDesktop;\n };\n\n const curtainHtml = `

${t('safe_space_curtain.heading')}

${t(\n 'safe_space_curtain.main_text'\n )}`;\n return (\n
\n \"\"\n {/* eslint-disable react/no-danger */}\n {/* eslint-disable jsx-a11y/no-noninteractive-tabindex */}\n \n
\n \n
\n
\n );\n}\n","import * as React from 'react';\nimport { useSelector } from 'react-redux';\nimport { selectSkipLinks } from '../../../store/settings/settingsSlice';\n\nexport default function SkipLinks() {\n const skipLinks = useSelector(selectSkipLinks);\n if (!skipLinks.length) return null;\n\n const gotoAnchor = (link: string) => {\n const element = document.getElementById(link);\n if (element) {\n const position = element.getBoundingClientRect();\n const offset = parseFloat(getComputedStyle(element).scrollMarginTop);\n window.scrollTo(position.left, position.top + window.scrollY - offset);\n element.focus();\n }\n };\n\n return (\n <>\n {skipLinks.map((link) => (\n {\n e.preventDefault();\n gotoAnchor(link.id);\n }}\n className=\"skipLink\"\n key={link.title}\n >\n {link.title}\n \n ))}\n \n );\n}\n","import React from 'react';\nimport i18n from '../../../i18n';\nimport useTranslatedUrl from '../../utils/useTranslatedUrl';\n\ninterface Props {\n lang?: string;\n text?: string;\n className?: string;\n}\n\nfunction getSwitcherHref(lang?: string) {\n return useTranslatedUrl({\n path: window.location.pathname,\n fullPath: true,\n useCurrentLanguage: false,\n translatedLanguage: lang,\n });\n}\n\nfunction LanguageSwitcher({ lang, text, className }: Props) {\n const isEn = i18n.language === 'en';\n const targetLang = lang ?? (isEn ? 'fr' : 'en');\n const linkText = text ?? (isEn ? 'Français' : 'English');\n const switcherLink = getSwitcherHref(targetLang);\n return (\n \n {linkText}\n \n );\n}\n\nLanguageSwitcher.defaultProps = {\n lang: null,\n text: null,\n className: '',\n};\n\nexport default LanguageSwitcher;\n","import * as React from 'react';\nimport { NavLink as ReactRouterNavLink, Link as ReactRouterLink } from 'react-router-dom';\nimport useTranslatedUrl from '../../utils/useTranslatedUrl';\n\ninterface Props {\n isNavLink?: boolean;\n to: string;\n className?: string;\n onClick?: React.MouseEventHandler;\n children: React.ReactNode;\n}\n\nexport default function Link({ isNavLink, to, children, ...others }: Props) {\n return isNavLink ? (\n \n {children}\n \n ) : (\n \n {children}\n \n );\n}\n\nLink.defaultProps = {\n isNavLink: false,\n className: '',\n onClick: null,\n};\n","export const openInNewTab = (url: string): void => {\n const newWindow = window.open(url, '_blank', 'noopener,noreferrer');\n if (newWindow) newWindow.opener = null;\n};\n\nexport const copyUrl = (url: string) => {\n navigator.clipboard.writeText(url);\n};\n\nexport const shareFB = (url: string) => {\n openInNewTab(`https://www.facebook.com/sharer/sharer.php?u=${encodeURIComponent(url)}`);\n};\n","export interface StoryManagerItems {\n story_name: string;\n isAvailable: boolean;\n}\n\nexport const STORY_MANAGER: StoryManagerItems[] = [\n { story_name: 'stone', isAvailable: true },\n { story_name: 'brick', isAvailable: true },\n { story_name: 'skate', isAvailable: true },\n { story_name: 'letter', isAvailable: true },\n { story_name: 'door', isAvailable: true },\n { story_name: 'branch', isAvailable: true },\n { story_name: 'braids', isAvailable: true },\n { story_name: 'mushbowl', isAvailable: true },\n { story_name: 'child_shoe', isAvailable: true },\n { story_name: 'angel', isAvailable: true },\n];\n","export const WELCOME_PATH = '/';\nexport const ABOUT_ARTIST_PATH = '/carey-newman';\nexport const ABOUT_ARTIST_PATH_FR = '/carey-newman';\nexport const ABOUT_BLANKET_PATH = '/about-the-blanket';\nexport const ABOUT_BLANKET_PATH_FR = '/au-sujet-de-la-couverture';\nexport const EXPLORE_BLANKET_PATH = '/explore';\nexport const EXPLORE_BLANKET_PATH_FR = '/explorer';\nexport const BEAR_WITNESS_PATH = '/bear-witness';\nexport const BEAR_WITNESS_PATH_FR = '/se-porter-temoin';\nexport const TEACHER_GUIDE_PATH = '/teacher-guide';\nexport const TEACHER_GUIDE_PATH_FR = '/guide-pedagogique';\nexport const CONTACT_PATH = '/contact-us';\nexport const CONTACT_PATH_FR = '/pour-nous-joindre';\nexport const SITE_MAP_PATH = '/sitemap';\nexport const SITE_MAP_PATH_FR = '/plan-du-site';\n\nexport const STORIES_PATH = '/stories';\nexport const STORIES_PATH_FR = '/histoires';\nexport const STORY_MUSH_BOWL_PATH = '/story/mush-hole-bowl';\nexport const STORY_MUSH_BOWL_PATH_FR = '/histoire/bol-a-bouillie';\nexport const STORY_CHILD_SHOE_PATH = '/story/child-shoe';\nexport const STORY_CHILD_SHOE_PATH_FR = '/histoire/chaussure-enfant';\nexport const STORY_BROKEN_ANGEL_PATH = '/story/broken-angel';\nexport const STORY_BROKEN_ANGEL_PATH_FR = '/histoire/ange-brise';\nexport const STORY_BRICK_PATH = '/story/brick';\nexport const STORY_BRICK_PATH_FR = '/histoire/brique';\nexport const STORY_STONE_PATH = '/story/inuvik-stone';\nexport const STORY_STONE_PATH_FR = '/histoire/pierre-dinuvik';\nexport const STORY_SKATE_PATH = '/story/skate';\nexport const STORY_SKATE_PATH_FR = '/histoire/patin';\nexport const STORY_LETTER_PATH = '/story/moose-cree-letter';\nexport const STORY_LETTER_PATH_FR = '/histoire/lettre-en-cri-de-moose';\nexport const STORY_DOOR_PATH = '/story/door';\nexport const STORY_DOOR_PATH_FR = '/histoire/porte';\nexport const STORY_BRANCH_PATH = '/story/tree-branch';\nexport const STORY_BRANCH_PATH_FR = '/histoire/branche-darbre';\nexport const STORY_BRAIDS_PATH = '/story/braids';\nexport const STORY_BRAIDS_PATH_FR = '/histoire/tresses';\n","import { useSelector } from 'react-redux';\nimport { ROUTES } from '../App';\nimport i18n from '../../i18n';\nimport { selectInitialLanguage, selectBaseEnUrl, selectBaseFrUrl } from '../../store/settings/settingsSlice';\n\nexport default function useTranslatedUrl({ path = '', fullPath = false, useCurrentLanguage = false, translatedLanguage = '' } = {}) {\n const initialLanguage = useSelector(selectInitialLanguage);\n const baseEnUrl = useSelector(selectBaseEnUrl);\n const baseFrUrl = useSelector(selectBaseFrUrl);\n\n const language = useCurrentLanguage ? i18n.language : (translatedLanguage ? translatedLanguage : initialLanguage);\n\n if (language === 'en') {\n const tempPath = ROUTES.find((route) => route.fr === path)?.en || path;\n if (fullPath) {\n return `${baseEnUrl}${tempPath}`;\n }\n return tempPath;\n }\n\n const tempPath = ROUTES.find((route) => route.en === path)?.fr || path;\n return fullPath ? `${baseFrUrl}${tempPath}` : tempPath;\n}\n","import i18n from 'i18next';\nimport { initReactI18next } from 'react-i18next';\nimport en from './translations/en.json';\nimport fr from './translations/fr.json';\n\n// import Backend from 'i18next-http-backend';\n\nexport const resources = {\n en,\n fr,\n} as const;\n\ni18n\n // load translation using http -> see /public/locales (i.e. https://github.com/i18next/react-i18next/tree/master/example/react/public/locales)\n // learn more: https://github.com/i18next/i18next-http-backend\n // want your translations to be loaded from a professional CDN? => https://github.com/locize/react-tutorial#step-2---use-the-locize-cdn\n // .use(Backend)\n .use(initReactI18next)\n .init({\n resources,\n defaultNS: 'common',\n lng: document.documentElement.getAttribute('lang') || 'en',\n fallbackLng: 'en',\n interpolation: {\n escapeValue: false, // not needed for react as it escapes by default\n },\n debug: false,\n });\n\n// Change HTML lang attribute upon language change\ni18n.on('languageChanged', (lng) => {\n document.documentElement.setAttribute('lang', lng);\n});\n\nexport default i18n;\n","import { createSlice, PayloadAction } from '@reduxjs/toolkit';\nimport type { RootState } from '../index';\n\nexport const SAFE_SPACE_WARNING_SHOWN_KEY = 'safeSpaceWarningShown';\nexport const GESTURE_TIPS_SHOWN_KEY = 'gestureTipsShown';\n\nexport interface SkipLink {\n title: string;\n id: string;\n}\n\ninterface SettingsData {\n initialLanguage: string;\n baseUrls: { [key: string]: string };\n}\n\ninterface SettingsState {\n initialLanguage: string;\n baseEnUrl: string;\n baseFrUrl: string;\n safeSpaceWarningShown: boolean;\n gestureTipsShown: boolean;\n isModalOpen: boolean;\n skipLinks: SkipLink[];\n}\n\nconst initialState: SettingsState = {\n initialLanguage: 'en',\n baseEnUrl: '',\n baseFrUrl: '',\n safeSpaceWarningShown: localStorage.getItem(SAFE_SPACE_WARNING_SHOWN_KEY) === 'true',\n gestureTipsShown: localStorage.getItem(GESTURE_TIPS_SHOWN_KEY) === 'true',\n isModalOpen: false,\n skipLinks: [],\n};\n\nexport const settingsSlice = createSlice({\n name: 'settings',\n initialState,\n reducers: {\n setLanguageSettings: (state, action: PayloadAction) => {\n state.initialLanguage = action.payload.initialLanguage;\n state.baseEnUrl = action.payload.baseUrls.en;\n state.baseFrUrl = action.payload.baseUrls.fr;\n },\n setSafeSpaceWarningShown: (state, action: PayloadAction) => {\n state.safeSpaceWarningShown = action.payload;\n localStorage.setItem(SAFE_SPACE_WARNING_SHOWN_KEY, action.payload.toString());\n },\n setGestureTipsShown: (state, action: PayloadAction) => {\n state.gestureTipsShown = action.payload;\n localStorage.setItem(GESTURE_TIPS_SHOWN_KEY, action.payload.toString());\n },\n setIsModalOpen: (state, action: PayloadAction) => {\n state.isModalOpen = action.payload;\n if (state.isModalOpen) {\n document.body.style.overflow = 'hidden';\n } else {\n document.body.style.overflow = 'scroll';\n }\n },\n setSkipLinks: (state, action: PayloadAction) => {\n state.skipLinks = action.payload;\n },\n },\n});\n\nexport const { setLanguageSettings, setSafeSpaceWarningShown, setGestureTipsShown, setIsModalOpen, setSkipLinks } =\n settingsSlice.actions;\n\nexport const selectInitialLanguage = (state: RootState) => state.settings.initialLanguage;\nexport const selectBaseEnUrl = (state: RootState) => state.settings.baseEnUrl;\nexport const selectBaseFrUrl = (state: RootState) => state.settings.baseFrUrl;\nexport const selectSafeSpaceWarningShown = (state: RootState) => state.settings.safeSpaceWarningShown;\nexport const selectGestureTipsShown = (state: RootState) => state.settings.gestureTipsShown;\nexport const selectIsModalOpen = (state: RootState) => state.settings.isModalOpen;\nexport const selectSkipLinks = (state: RootState) => state.settings.skipLinks;\n\nexport default settingsSlice.reducer;\n","import { createSlice, PayloadAction } from '@reduxjs/toolkit';\nimport type { RootState } from '../index';\n\ninterface ShareState {\n showMenu: boolean;\n title: string;\n quote: string;\n author: string;\n mainUrl: string;\n}\n\ninterface ShareData {\n title: string;\n mainUrl: string;\n}\n\ninterface OpenMenuData {\n quote?: string;\n author?: string;\n mainUrl: string;\n}\n\nconst initialState: ShareState = {\n showMenu: false,\n title: '',\n quote: '',\n author: '',\n mainUrl: '',\n};\n\nexport const shareSlice = createSlice({\n name: 'share',\n initialState,\n reducers: {\n setShareData: (state, action: PayloadAction) => {\n state.title = action.payload.title;\n state.mainUrl = action.payload.mainUrl;\n },\n openMenu: (state, action: PayloadAction) => {\n state.showMenu = true;\n if (action.payload.quote) state.quote = action.payload.quote;\n if (action.payload.author) state.author = action.payload.author;\n state.mainUrl = action.payload.mainUrl;\n },\n closeMenu: (state) => {\n state.showMenu = false;\n state.quote = '';\n state.author = '';\n state.mainUrl = '';\n },\n },\n});\n\nexport const { setShareData, openMenu, closeMenu } = shareSlice.actions;\n\nexport const selectShowMenu = (state: RootState) => state.share.showMenu;\nexport const selectTitle = (state: RootState) => state.share.title;\nexport const selectQuote = (state: RootState) => state.share.quote;\nexport const selectAuthor = (state: RootState) => state.share.author;\nexport const selectMainUrl = (state: RootState) => state.share.mainUrl;\n\nexport default shareSlice.reducer;\n","import { createSlice, PayloadAction } from '@reduxjs/toolkit';\nimport type { RootState } from '../index';\n\ninterface UiState {\n screenWidth: number;\n isMobile: boolean;\n isTablet: boolean;\n isDesktop: boolean;\n isReducedMotion: boolean;\n}\n\ninterface UpdateMediaQueryData {\n isTablet: boolean;\n isDesktop: boolean;\n isReducedMotion: boolean;\n}\n\nconst initialState: UiState = {\n screenWidth: typeof window === 'object' ? window.innerWidth : 0,\n isMobile: true,\n isTablet: false,\n isDesktop: false,\n isReducedMotion: false,\n};\n\nexport const TABLET_MIN_WIDTH_IN_PX = 576;\nexport const TABLET_MIN_WIDTH_IN_EM = 36;\nconst DESKTOP_MIN_WIDTH_IN_EM = 62;\nexport const LARGE_DESKTOP_MIN_WIDTH_IN_PX = 1202;\nexport const LARGE_DESKTOP_MIN_WIDTH_IN_EM = 75;\nexport const NAV_MIN_WIDTH_IN_PX = 1350;\nexport const NAV_MIN_WIDTH_IN_EM = 84;\nconst REDUCED_QUERY = '(prefers-reduced-motion: reduce)';\n\nexport const MOBILE_HEADER_HEIGHT_IN_PX = 48;\nexport const TABLET_HEADER_HEIGHT_IN_PX = 58;\nexport const DESKTOP_HEADER_HEIGHT_IN_PX = 131;\n\nexport const tabletMediaQuery = window.matchMedia(`(min-width: ${TABLET_MIN_WIDTH_IN_EM}em)`);\nexport const tabletMediaQueryRem = window.matchMedia(`(min-width: ${TABLET_MIN_WIDTH_IN_EM}em)`);\nexport const desktopMediaQuery = window.matchMedia(`(min-width: ${DESKTOP_MIN_WIDTH_IN_EM}em)`);\nexport const desktopMediaQueryRem = window.matchMedia(`(min-width: ${DESKTOP_MIN_WIDTH_IN_EM}em)`);\nexport const reducedMotionMediaQuery = window.matchMedia(REDUCED_QUERY);\n\nexport const uiSlice = createSlice({\n name: 'ui',\n initialState,\n reducers: {\n resizeScreen: (state, action: PayloadAction) => {\n state.screenWidth = action.payload;\n },\n updateMediaQuery: (state, action: PayloadAction) => {\n if (action.payload.isTablet) {\n if (action.payload.isDesktop) {\n state.isMobile = false;\n state.isTablet = false;\n state.isDesktop = true;\n } else {\n state.isMobile = false;\n state.isTablet = true;\n state.isDesktop = false;\n }\n } else {\n state.isMobile = true;\n state.isTablet = false;\n state.isDesktop = false;\n }\n if (action.payload.isReducedMotion) state.isReducedMotion = true;\n else state.isReducedMotion = false;\n },\n },\n});\n\nexport const { resizeScreen, updateMediaQuery } = uiSlice.actions;\n\nexport const selectScreenWidth = (state: RootState) => state.ui.screenWidth;\nexport const selectIsMobile = (state: RootState) => state.ui.isMobile;\nexport const selectIsTablet = (state: RootState) => state.ui.isTablet;\nexport const selectIsDesktop = (state: RootState) => state.ui.isDesktop;\nexport const selectIsReducedMotion = (state: RootState) => state.ui.isReducedMotion;\n\nexport default uiSlice.reducer;\n"],"names":["store","configureStore","reducer","ui","uiReducer","settings","settingsReducer","share","shareReducer","window","addEventListener","dispatch","resizeScreen","innerWidth","updateMediaQueries","updateMediaQuery","isTablet","tabletMediaQuery","isDesktop","desktopMediaQuery","isReducedMotion","reducedMotionMediaQuery","Loader","className","document","getElementById","ReactDOM","Suspense","fallback","App","Layout","children","t","useTranslation","location","useLocation","modalOpen","useSelector","selectIsModalOpen","layoutData","path","toLowerCase","ABOUT_ARTIST_PATH","ABOUT_ARTIST_PATH_FR","title","includeFooter","ABOUT_BLANKET_PATH","ABOUT_BLANKET_PATH_FR","BEAR_WITNESS_PATH","BEAR_WITNESS_PATH_FR","EXPLORE_BLANKET_PATH","EXPLORE_BLANKET_PATH_FR","CONTACT_PATH","CONTACT_PATH_FR","STORIES_PATH","STORIES_PATH_FR","SITE_MAP_PATH","SITE_MAP_PATH_FR","STORY_BRAIDS_PATH","STORY_BRAIDS_PATH_FR","STORY_BRANCH_PATH","STORY_BRANCH_PATH_FR","STORY_BRICK_PATH","STORY_BRICK_PATH_FR","STORY_BROKEN_ANGEL_PATH","STORY_BROKEN_ANGEL_PATH_FR","STORY_CHILD_SHOE_PATH","STORY_CHILD_SHOE_PATH_FR","STORY_DOOR_PATH","STORY_DOOR_PATH_FR","STORY_LETTER_PATH","STORY_LETTER_PATH_FR","STORY_MUSH_BOWL_PATH","STORY_MUSH_BOWL_PATH_FR","STORY_SKATE_PATH","STORY_SKATE_PATH_FR","STORY_STONE_PATH","STORY_STONE_PATH_FR","TEACHER_GUIDE_PATH","TEACHER_GUIDE_PATH_FR","useLayoutData","pathname","currentUrl","useTranslatedUrl","fullPath","useCurrentLanguage","titleKey","Helmet","href","indexOf","defaultProps","MainSeries","lazy","AboutArtistPage","StoryMushBowl","StoryChildShoe","StoryBrokenAngel","StoryBrick","StoryStone","StorySkate","StoryLetter","StoryDoor","StoryBranch","StoryBraids","AboutBlanket","BearWitness","TeacherGuide","ContactUs","Sitemap","ROUTES","en","fr","element","story_name","useRoutes","concat","filter","route","STORY_MANAGER","story","isAvailable","map","AppWrapper","useDispatch","node","settingsData","JSON","parse","dataset","setLanguageSettings","footerOptions","url","option","teacherGuideFooterOptions","Link","to","src","Logo","alt","id","item","startsWith","target","rel","ExternalArrow","i18n","CMHRLogo","CMHRLogoFR","MenuButton","isOpen","onClick","useState","isFirstRun","setIsFirstRun","classNameFormatted","classNameState","classes","type","MenuSplitter","SafeSpaceButton","SafeSpace","query","matches","setMatches","useEffect","media","matchMedia","listener","removeEventListener","Navbar","Modal","navbarType","setNavbarType","menuOpen","setMenuOpen","safeSpaceIsOpen","setSafeSpaceIsOpen","safeSpaceIsLoaded","setSafeSpaceIsLoaded","safeSpaceWarningIsOpen","setSafeSpaceWarningIsOpen","safeSpaceWarningIsFirstTime","setSafeSpaceWarningIsFirstTime","isMobile","selectIsMobile","selectIsReducedMotion","menuNavbarRef","useRef","safeSpaceNavbarRef","closeSafeSpaceSupportRef","firstSafeSpaceButtonRef","isWide","isNarrow","closeMenu","setIsModalOpen","current","classList","remove","closeSafeSpace","closeSafeSpaceWarning","gotoSupport","gotoReturn","gotoLeave","assign","navOptions","WELCOME_PATH","navOptionsDesktop","roleOptions","role","setTimeout","prev","ref","LanguageSwitcher","text","lang","isNavLink","dangerouslySetInnerHTML","__html","height","width","config","youtube","playerVars","autoplay","showinfo","cc_load_policy","iv_load_policy","modestbranding","playlist","playing","muted","loop","style","opacity","onStart","undefined","onRequestClose","overlayClassName","closeTimeoutMS","contentLabel","CloseIcon","loading","onAfterOpen","focus","onAfterClose","ShareMenu","showMenu","onClose","popperReferenceElement","popperPlacement","mainUrl","selectMainUrl","selectTitle","quote","selectQuote","author","selectAuthor","screenWidth","selectScreenWidth","showShareNotification","setShowShareNotification","shareNotificationMessage","setShareNotificationMessage","popperElement","setPopperElement","arrowElement","setArrowElement","rightSpace","getBoundingClientRect","x","notificationStyle","right","top","y","POPPER_MODIFIERS_CONFIG","name","options","offset","padding","TABLET_MIN_WIDTH_IN_PX","bottom","MOBILE_HEADER_HEIGHT_IN_PX","NAV_MIN_WIDTH_IN_PX","TABLET_HEADER_HEIGHT_IN_PX","DESKTOP_HEADER_HEIGHT_IN_PX","usePopper","placement","modifiers","popperStyles","styles","popperAttributes","attributes","forceUpdatePopper","forceUpdate","setAttribute","Promise","resolve","closeShareMenu","displayNotification","messageHandle","timeoutRef","clearTimeout","handleHideDropdown","event","key","handleClickOutside","contains","popper","copyUrl","CopyIcon","shareFB","FBIcon","openInNewTab","encodeURIComponent","TwitterIcon","emailTitle","emailBody","EmailIcon","arrow","SafeSpaceCurtain","isShown","setIsShown","isClosing","setIsClosing","warningShown","selectSafeSpaceWarningShown","selectIsTablet","timer","curtainHtml","bkgImgMobile","bkgImgTablet","bkgImgDesktop","display","tabIndex","setSafeSpaceWarningShown","SkipLinks","skipLinks","selectSkipLinks","length","link","e","preventDefault","position","parseFloat","getComputedStyle","scrollMarginTop","scrollTo","left","scrollY","gotoAnchor","isEn","targetLang","linkText","switcherLink","translatedLanguage","getSwitcherHref","others","newWindow","open","opener","navigator","clipboard","writeText","initialLanguage","selectInitialLanguage","baseEnUrl","selectBaseEnUrl","baseFrUrl","selectBaseFrUrl","language","tempPath","resources","initReactI18next","init","defaultNS","lng","documentElement","getAttribute","fallbackLng","interpolation","escapeValue","debug","SAFE_SPACE_WARNING_SHOWN_KEY","GESTURE_TIPS_SHOWN_KEY","initialState","safeSpaceWarningShown","localStorage","getItem","gestureTipsShown","isModalOpen","settingsSlice","createSlice","reducers","state","action","payload","baseUrls","setItem","toString","setGestureTipsShown","body","overflow","setSkipLinks","actions","selectGestureTipsShown","shareSlice","setShareData","openMenu","selectShowMenu","LARGE_DESKTOP_MIN_WIDTH_IN_PX","uiSlice","selectIsDesktop"],"sourceRoot":""}