{"version":3,"file":"GlobalSettings-Chunk-21b99e4e02753b14b785.js","mappings":"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","sources":["webpack://nikon-client/./components/organisms/GlobalSettings/GlobalSettings.tsx","webpack://nikon-client/./state-management/AriaLabelsStore.ts","webpack://nikon-client/./node_modules/.pnpm/zustand@3.7.2_react@18.3.1/node_modules/zustand/esm/index.js"],"sourcesContent":["import { IAriaLabels } from '@models/IAriaLabels';\nimport useAriaLabelsStore from '@state/AriaLabelsStore';\nimport { useEffect } from 'react';\n\ninterface Props {\n readonly accessibility: IAriaLabels;\n}\n\n// This component is added to every page, this component is handy for dispatching global state and avoid prop drilling\nconst GlobalSettings = ({ accessibility }: Props) => {\n const { setAriaLabels } = useAriaLabelsStore((state) => ({\n setAriaLabels: state.setAriaLabels,\n }));\n\n useEffect(() => {\n setAriaLabels(accessibility);\n }, [accessibility, setAriaLabels]);\n\n return null;\n};\n\nexport default GlobalSettings;\n","import { IAriaLabels } from '@models/IAriaLabels';\nimport create from 'zustand';\n\ninterface IAriaLabelsState {\n ariaLabels: IAriaLabels;\n setAriaLabels: (ariaLabels: IAriaLabels) => void;\n}\n\nexport const initialAriaLabels: IAriaLabels = {\n backToFirstLevelNavigationAriaLabel: 'Back to first level of navigation',\n breadcrumbAriaLabel: 'Breadcrumb navigation',\n breadcrumbFooterAriaLabel: 'Breadcrumb footer navigation',\n clearFiltersAriaLabel: 'Clear filters',\n closeMenuAriaLabel: 'Close menu',\n closeAddressListAriaLabel: 'Close address list',\n closeMobileNavigationAriaLabel: 'Close navigation',\n closeModalAriaLabel: 'Close Modal',\n closeSignUpFormAriaLabel: 'Close signup form',\n closeSiteNotificationAriaLabel: 'Close site notification',\n copyToClipboardAriaLabel: 'Copy to clipboard',\n editOrDeleteAriaLabel: 'Edit or delete',\n mainNavigationAriaLabel: 'Main navigation',\n moreInformationAriaLabel: 'More information',\n nextAriaLabel: 'Go to next slide',\n openAddressListAriaLabel: 'Open address list',\n openImageInFullScreenAriaLabel: 'Open image in full screen',\n openMenuAriaLabel: 'Open menu',\n overlayToCloseDesktopNavigationAriaLabel: 'Close overlay',\n pauseVideoAriaLabel: 'Pause video',\n playVideoAriaLabel: 'Play video',\n previousAriaLabel: 'Go to previous slide',\n searchAriaLabel: 'Search',\n shareToFacebookAriaLabel: 'Share to Facebook',\n shareToWhatsappAriaLabel: 'Share to Whatsapp',\n shareToXAriaLabel: 'Share to X',\n siteNotificationsAriaLabel: 'Site notifications banner',\n uspStripAriaLabel: 'Unique Selling Point Strip',\n zoomInAriaLabel: 'Zoom in',\n zoomOutAriaLabel: 'Zoom out',\n};\n\nconst useAriaLabelsStore = create((set) => ({\n ariaLabels: initialAriaLabels,\n setAriaLabels: (ariaLabels: IAriaLabels) => set({ ariaLabels }),\n}));\n\nexport default useAriaLabelsStore;\n","import { useReducer, useRef, useDebugValue, useEffect, useLayoutEffect } from 'react';\n\nfunction createStore(createState) {\n let state;\n const listeners = /* @__PURE__ */ new Set();\n const setState = (partial, replace) => {\n const nextState = typeof partial === \"function\" ? partial(state) : partial;\n if (nextState !== state) {\n const previousState = state;\n state = replace ? nextState : Object.assign({}, state, nextState);\n listeners.forEach((listener) => listener(state, previousState));\n }\n };\n const getState = () => state;\n const subscribeWithSelector = (listener, selector = getState, equalityFn = Object.is) => {\n console.warn(\"[DEPRECATED] Please use `subscribeWithSelector` middleware\");\n let currentSlice = selector(state);\n function listenerToAdd() {\n const nextSlice = selector(state);\n if (!equalityFn(currentSlice, nextSlice)) {\n const previousSlice = currentSlice;\n listener(currentSlice = nextSlice, previousSlice);\n }\n }\n listeners.add(listenerToAdd);\n return () => listeners.delete(listenerToAdd);\n };\n const subscribe = (listener, selector, equalityFn) => {\n if (selector || equalityFn) {\n return subscribeWithSelector(listener, selector, equalityFn);\n }\n listeners.add(listener);\n return () => listeners.delete(listener);\n };\n const destroy = () => listeners.clear();\n const api = { setState, getState, subscribe, destroy };\n state = createState(setState, getState, api);\n return api;\n}\n\nconst isSSR = typeof window === \"undefined\" || !window.navigator || /ServerSideRendering|^Deno\\//.test(window.navigator.userAgent);\nconst useIsomorphicLayoutEffect = isSSR ? useEffect : useLayoutEffect;\nfunction create(createState) {\n const api = typeof createState === \"function\" ? createStore(createState) : createState;\n const useStore = (selector = api.getState, equalityFn = Object.is) => {\n const [, forceUpdate] = useReducer((c) => c + 1, 0);\n const state = api.getState();\n const stateRef = useRef(state);\n const selectorRef = useRef(selector);\n const equalityFnRef = useRef(equalityFn);\n const erroredRef = useRef(false);\n const currentSliceRef = useRef();\n if (currentSliceRef.current === void 0) {\n currentSliceRef.current = selector(state);\n }\n let newStateSlice;\n let hasNewStateSlice = false;\n if (stateRef.current !== state || selectorRef.current !== selector || equalityFnRef.current !== equalityFn || erroredRef.current) {\n newStateSlice = selector(state);\n hasNewStateSlice = !equalityFn(currentSliceRef.current, newStateSlice);\n }\n useIsomorphicLayoutEffect(() => {\n if (hasNewStateSlice) {\n currentSliceRef.current = newStateSlice;\n }\n stateRef.current = state;\n selectorRef.current = selector;\n equalityFnRef.current = equalityFn;\n erroredRef.current = false;\n });\n const stateBeforeSubscriptionRef = useRef(state);\n useIsomorphicLayoutEffect(() => {\n const listener = () => {\n try {\n const nextState = api.getState();\n const nextStateSlice = selectorRef.current(nextState);\n if (!equalityFnRef.current(currentSliceRef.current, nextStateSlice)) {\n stateRef.current = nextState;\n currentSliceRef.current = nextStateSlice;\n forceUpdate();\n }\n } catch (error) {\n erroredRef.current = true;\n forceUpdate();\n }\n };\n const unsubscribe = api.subscribe(listener);\n if (api.getState() !== stateBeforeSubscriptionRef.current) {\n listener();\n }\n return unsubscribe;\n }, []);\n const sliceToReturn = hasNewStateSlice ? newStateSlice : currentSliceRef.current;\n useDebugValue(sliceToReturn);\n return sliceToReturn;\n };\n Object.assign(useStore, api);\n useStore[Symbol.iterator] = function() {\n console.warn(\"[useStore, api] = create() is deprecated and will be removed in v4\");\n const items = [useStore, api];\n return {\n next() {\n const done = items.length <= 0;\n return { value: items.shift(), done };\n }\n };\n };\n return useStore;\n}\n\nexport { create as default };\n"],"names":["_ref","accessibility","setAriaLabels","useAriaLabelsStore","state","useEffect","initialAriaLabels","backToFirstLevelNavigationAriaLabel","breadcrumbAriaLabel","breadcrumbFooterAriaLabel","clearFiltersAriaLabel","closeMenuAriaLabel","closeAddressListAriaLabel","closeMobileNavigationAriaLabel","closeModalAriaLabel","closeSignUpFormAriaLabel","closeSiteNotificationAriaLabel","copyToClipboardAriaLabel","editOrDeleteAriaLabel","mainNavigationAriaLabel","moreInformationAriaLabel","nextAriaLabel","openAddressListAriaLabel","openImageInFullScreenAriaLabel","openMenuAriaLabel","overlayToCloseDesktopNavigationAriaLabel","pauseVideoAriaLabel","playVideoAriaLabel","previousAriaLabel","searchAriaLabel","shareToFacebookAriaLabel","shareToWhatsappAriaLabel","shareToXAriaLabel","siteNotificationsAriaLabel","uspStripAriaLabel","zoomInAriaLabel","zoomOutAriaLabel","create","set","ariaLabels","createStore","createState","listeners","Set","setState","partial","replace","nextState","previousState","Object","assign","forEach","listener","getState","api","subscribe","selector","equalityFn","is","console","warn","currentSlice","listenerToAdd","nextSlice","previousSlice","add","delete","subscribeWithSelector","destroy","clear","useIsomorphicLayoutEffect","window","navigator","test","userAgent","useLayoutEffect","useStore","forceUpdate","useReducer","c","stateRef","useRef","selectorRef","equalityFnRef","erroredRef","currentSliceRef","newStateSlice","current","hasNewStateSlice","stateBeforeSubscriptionRef","nextStateSlice","error","unsubscribe","sliceToReturn","useDebugValue","Symbol","iterator","items","next","done","length","value","shift"],"sourceRoot":""}