{"version":3,"file":"AuthorBiography-Chunk-95dc2d40946145eebe71.js","mappings":"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","sources":["webpack://nikon-client/./components/atoms/Image/Image.tsx","webpack://nikon-client/./components/atoms/LoadMoreButton/LoadMoreButton.tsx","webpack://nikon-client/./components/molecules/CollapsibleTextSection/CollapsibleTextSection.tsx","webpack://nikon-client/./components/organisms/AuthorBiography/AuthorBiography.tsx","webpack://nikon-client/./models/enums/BreakpointEnum.ts","webpack://nikon-client/./utility/hooks/useBreakpoint.ts","webpack://nikon-client/./node_modules/.pnpm/react-icomoon@2.6.0_react@18.3.1/node_modules/react-icomoon/dist/index.js","webpack://nikon-client/./node_modules/.pnpm/framer-motion@10.18.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/framer-motion/dist/es/utils/use-is-mounted.mjs","webpack://nikon-client/./node_modules/.pnpm/framer-motion@10.18.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/framer-motion/dist/es/components/AnimatePresence/PopChild.mjs","webpack://nikon-client/./node_modules/.pnpm/framer-motion@10.18.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/framer-motion/dist/es/components/AnimatePresence/PresenceChild.mjs","webpack://nikon-client/./node_modules/.pnpm/framer-motion@10.18.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/framer-motion/dist/es/components/AnimatePresence/index.mjs","webpack://nikon-client/./node_modules/.pnpm/framer-motion@10.18.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/framer-motion/dist/es/utils/use-force-update.mjs","webpack://nikon-client/./node_modules/.pnpm/framer-motion@10.18.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/framer-motion/dist/es/utils/use-unmount-effect.mjs"],"sourcesContent":["import BreakpointEnum from '@models/enums/BreakpointEnum';\nimport { IImage } from '@models/IImage';\nimport useBreakpoint from '@utils/hooks/useBreakpoint';\nimport classNames from 'classnames';\nimport { PropsWithChildren, RefObject, useState } from 'react';\n\ninterface Props {\n readonly classes?: string;\n readonly dataTestId?: string;\n readonly epiEdit?: string;\n readonly image?: IImage;\n readonly imageClasses?: string;\n readonly imageRef?:\n | RefObject\n | ((node: HTMLElement | null) => void);\n readonly lazyLoad?: boolean;\n readonly progressiveLoad?: boolean;\n readonly sizes?: string;\n}\n\nconst Image = ({\n children,\n classes,\n dataTestId,\n epiEdit,\n image,\n imageClasses,\n imageRef,\n lazyLoad = true,\n progressiveLoad = true,\n sizes = '',\n}: PropsWithChildren) => {\n const mobileSource = image?.mobile;\n const tabletSource = image?.tablet;\n const desktopSource = image?.desktop;\n const largeDesktopSource = image?.largeDesktop;\n const breakpoint = useBreakpoint() as BreakpointEnum;\n const [isLoaded, setIsLoaded] = useState(false);\n\n if (!desktopSource?.url) return null;\n\n const currentSrc = {\n [BreakpointEnum.Small]: mobileSource,\n [BreakpointEnum.Medium]: tabletSource,\n [BreakpointEnum.Large]: desktopSource,\n [BreakpointEnum.XLarge]: largeDesktopSource,\n };\n\n return (\n \n \n setIsLoaded(true)}\n sizes={sizes}\n src={\n isLoaded && progressiveLoad\n ? currentSrc[breakpoint]?.url\n : mobileSource?.url\n }\n height={currentSrc[breakpoint]?.height}\n width={currentSrc[breakpoint]?.width}\n srcSet={`${mobileSource?.originalUrl} 376w, ${tabletSource?.originalUrl} 768w, ${desktopSource?.originalUrl} 1024w, ${largeDesktopSource?.originalUrl} 1440w`}\n {...(dataTestId && { 'data-testid': dataTestId })}\n />\n {isLoaded && children}\n \n );\n};\n\nexport default Image;\n","import Icon from '@atoms/Icon/Icon';\nimport classNames from 'classnames';\nimport { motion } from 'framer-motion';\nimport { ButtonHTMLAttributes, DetailedHTMLProps } from 'react';\n\ninterface Props\n extends DetailedHTMLProps<\n ButtonHTMLAttributes,\n HTMLButtonElement\n > {\n readonly open?: boolean;\n readonly loadMoreLabel: string;\n readonly loadLessLabel?: string;\n readonly _type?: 'BASIC' | 'YELLOW-HIGHLIGHT';\n readonly isLightMode?: boolean;\n readonly dataTestId?: string;\n}\n\nconst LoadMoreButton = ({\n open = false,\n loadMoreLabel,\n loadLessLabel,\n _type = 'BASIC',\n isLightMode,\n dataTestId,\n ...props\n}: Props) => (\n \n {(!open || loadLessLabel) && (\n

{open ? loadLessLabel : loadMoreLabel}

\n )}\n\n \n \n \n \n);\n\nexport default LoadMoreButton;\n","import classNames from 'classnames';\nimport { AnimatePresence, motion } from 'framer-motion';\n\ninterface Props {\n readonly title?: string;\n readonly text?: string;\n readonly open?: boolean;\n}\n\nconst CollapsibleTextSection = ({ title, text, open = true }: Props) => (\n <>\n {title &&

{title}

}\n {text && (\n \n {open && (\n \n \n {text}\n

\n \n )}\n
\n )}\n \n);\n\nexport default CollapsibleTextSection;\n","import Image from '@atoms/Image/Image';\nimport LoadMoreButton from '@atoms/LoadMoreButton/LoadMoreButton';\nimport { IImage } from '@models/IImage';\nimport CollapsibleTextSection from '@molecules/CollapsibleTextSection/CollapsibleTextSection';\nimport { useState } from 'react';\n\ninterface Props {\n readonly anchorId?: string;\n readonly bioLogo: IImage;\n readonly loadLessLabel: string;\n readonly loadMoreLabel: string;\n readonly subText?: string;\n readonly title: string;\n}\n\nconst AuthorBiography = ({\n anchorId = '',\n bioLogo,\n loadLessLabel,\n loadMoreLabel,\n subText,\n title,\n}: Props) => {\n const [isOpen, setIsOpen] = useState(false);\n\n return (\n \n
\n \n {title && (\n
\n \n {subText && (\n
\n setIsOpen(!isOpen)}\n loadMoreLabel={loadMoreLabel}\n loadLessLabel={loadLessLabel}\n />\n
\n )}\n
\n )}\n
\n \n );\n};\n\nexport default AuthorBiography;\n","const enum BreakpointEnum {\n Small = 'sm',\n Medium = 'md',\n Large = 'lg',\n XLarge = 'xl',\n}\n\nexport default BreakpointEnum;\n","import BreakpointEnum from '@models/enums/BreakpointEnum';\nimport { useCallback, useEffect, useState } from 'react';\n\nconst getCurrentBreakpoint = () => {\n const breakpoints = { tablet: 768, desktop: 1024, lgDesktop: 1440 };\n const width = window.innerWidth;\n\n if (width < breakpoints.tablet) {\n return BreakpointEnum.Small;\n }\n if (width >= breakpoints.tablet && width < breakpoints.desktop) {\n return BreakpointEnum.Medium;\n }\n if (width >= breakpoints.desktop && width < breakpoints.lgDesktop) {\n return BreakpointEnum.Large;\n }\n return BreakpointEnum.XLarge;\n};\n\nconst useBreakpoint = () => {\n const [screen, setScreen] = useState();\n\n const resizeHandler = useCallback(\n () => setScreen(getCurrentBreakpoint()),\n []\n );\n\n useEffect(() => {\n window.addEventListener('resize', resizeHandler);\n setScreen(getCurrentBreakpoint());\n\n return () => {\n window.removeEventListener('resize', resizeHandler);\n };\n }, [resizeHandler]);\n\n return screen;\n};\n\nexport default useBreakpoint;\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.iconList = void 0;\nvar react_1 = require(\"react\");\nvar IcoMoon = function (_a) {\n var iconSet = _a.iconSet, icon = _a.icon, size = _a.size, title = _a.title, disableFill = _a.disableFill, removeInlineStyle = _a.removeInlineStyle, native = _a.native, SvgComponent = _a.SvgComponent, PathComponent = _a.PathComponent, props = __rest(_a, [\"iconSet\", \"icon\", \"size\", \"title\", \"disableFill\", \"removeInlineStyle\", \"native\", \"SvgComponent\", \"PathComponent\"]);\n if (!iconSet || !icon)\n return null;\n var currentIcon = iconSet.icons.find(function (item) { return item.properties.name === icon; });\n if (!currentIcon)\n return null;\n var initialStyle = {\n display: \"inline-block\",\n stroke: \"currentColor\",\n fill: \"currentColor\",\n };\n if (native) {\n initialStyle.display = \"flex\";\n initialStyle.flexDirection = \"row\";\n initialStyle.flexWrap = \"wrap\";\n }\n var comptuedStyle = __assign(__assign(__assign({}, (removeInlineStyle ? {} : initialStyle)), (size ? { width: size, height: size } : {})), (props.style || {}));\n var _b = currentIcon.icon.width, width = _b === void 0 ? \"1024\" : _b;\n var viewBox = \"0 0 \".concat(width, \" 1024\");\n var children = currentIcon.icon.paths.map(function (path, index) {\n var _a;\n var attrs = (_a = currentIcon.icon.attrs) === null || _a === void 0 ? void 0 : _a[index];\n var pathProps = __assign({ d: path, key: icon + index }, (!disableFill && attrs ? attrs : {}));\n return (0, react_1.createElement)(PathComponent || \"path\", pathProps);\n });\n if (title && !native) {\n children.push((0, react_1.createElement)(\"title\", { key: title }, title));\n }\n return (0, react_1.createElement)(SvgComponent || \"svg\", __assign(__assign({}, props), { viewBox: viewBox, style: comptuedStyle }), children);\n};\nvar iconList = function (iconSet) {\n if (!iconSet || !Array.isArray(iconSet.icons))\n return null;\n return iconSet.icons.map(function (icon) { return icon.properties.name; });\n};\nexports.iconList = iconList;\nexports.default = IcoMoon;\n//# sourceMappingURL=index.js.map","import { useRef } from 'react';\nimport { useIsomorphicLayoutEffect } from './use-isomorphic-effect.mjs';\n\nfunction useIsMounted() {\n const isMounted = useRef(false);\n useIsomorphicLayoutEffect(() => {\n isMounted.current = true;\n return () => {\n isMounted.current = false;\n };\n }, []);\n return isMounted;\n}\n\nexport { useIsMounted };\n","import * as React from 'react';\nimport { useId, useRef, useInsertionEffect } from 'react';\n\n/**\n * Measurement functionality has to be within a separate component\n * to leverage snapshot lifecycle.\n */\nclass PopChildMeasure extends React.Component {\n getSnapshotBeforeUpdate(prevProps) {\n const element = this.props.childRef.current;\n if (element && prevProps.isPresent && !this.props.isPresent) {\n const size = this.props.sizeRef.current;\n size.height = element.offsetHeight || 0;\n size.width = element.offsetWidth || 0;\n size.top = element.offsetTop;\n size.left = element.offsetLeft;\n }\n return null;\n }\n /**\n * Required with getSnapshotBeforeUpdate to stop React complaining.\n */\n componentDidUpdate() { }\n render() {\n return this.props.children;\n }\n}\nfunction PopChild({ children, isPresent }) {\n const id = useId();\n const ref = useRef(null);\n const size = useRef({\n width: 0,\n height: 0,\n top: 0,\n left: 0,\n });\n /**\n * We create and inject a style block so we can apply this explicit\n * sizing in a non-destructive manner by just deleting the style block.\n *\n * We can't apply size via render as the measurement happens\n * in getSnapshotBeforeUpdate (post-render), likewise if we apply the\n * styles directly on the DOM node, we might be overwriting\n * styles set via the style prop.\n */\n useInsertionEffect(() => {\n const { width, height, top, left } = size.current;\n if (isPresent || !ref.current || !width || !height)\n return;\n ref.current.dataset.motionPopId = id;\n const style = document.createElement(\"style\");\n document.head.appendChild(style);\n if (style.sheet) {\n style.sheet.insertRule(`\n [data-motion-pop-id=\"${id}\"] {\n position: absolute !important;\n width: ${width}px !important;\n height: ${height}px !important;\n top: ${top}px !important;\n left: ${left}px !important;\n }\n `);\n }\n return () => {\n document.head.removeChild(style);\n };\n }, [isPresent]);\n return (React.createElement(PopChildMeasure, { isPresent: isPresent, childRef: ref, sizeRef: size }, React.cloneElement(children, { ref })));\n}\n\nexport { PopChild };\n","import * as React from 'react';\nimport { useId, useMemo } from 'react';\nimport { PresenceContext } from '../../context/PresenceContext.mjs';\nimport { useConstant } from '../../utils/use-constant.mjs';\nimport { PopChild } from './PopChild.mjs';\n\nconst PresenceChild = ({ children, initial, isPresent, onExitComplete, custom, presenceAffectsLayout, mode, }) => {\n const presenceChildren = useConstant(newChildrenMap);\n const id = useId();\n const context = useMemo(() => ({\n id,\n initial,\n isPresent,\n custom,\n onExitComplete: (childId) => {\n presenceChildren.set(childId, true);\n for (const isComplete of presenceChildren.values()) {\n if (!isComplete)\n return; // can stop searching when any is incomplete\n }\n onExitComplete && onExitComplete();\n },\n register: (childId) => {\n presenceChildren.set(childId, false);\n return () => presenceChildren.delete(childId);\n },\n }), \n /**\n * If the presence of a child affects the layout of the components around it,\n * we want to make a new context value to ensure they get re-rendered\n * so they can detect that layout change.\n */\n presenceAffectsLayout ? undefined : [isPresent]);\n useMemo(() => {\n presenceChildren.forEach((_, key) => presenceChildren.set(key, false));\n }, [isPresent]);\n /**\n * If there's no `motion` components to fire exit animations, we want to remove this\n * component immediately.\n */\n React.useEffect(() => {\n !isPresent &&\n !presenceChildren.size &&\n onExitComplete &&\n onExitComplete();\n }, [isPresent]);\n if (mode === \"popLayout\") {\n children = React.createElement(PopChild, { isPresent: isPresent }, children);\n }\n return (React.createElement(PresenceContext.Provider, { value: context }, children));\n};\nfunction newChildrenMap() {\n return new Map();\n}\n\nexport { PresenceChild };\n","import * as React from 'react';\nimport { useContext, useRef, cloneElement, Children, isValidElement } from 'react';\nimport { useForceUpdate } from '../../utils/use-force-update.mjs';\nimport { useIsMounted } from '../../utils/use-is-mounted.mjs';\nimport { PresenceChild } from './PresenceChild.mjs';\nimport { LayoutGroupContext } from '../../context/LayoutGroupContext.mjs';\nimport { useIsomorphicLayoutEffect } from '../../utils/use-isomorphic-effect.mjs';\nimport { useUnmountEffect } from '../../utils/use-unmount-effect.mjs';\nimport { invariant } from '../../utils/errors.mjs';\n\nconst getChildKey = (child) => child.key || \"\";\nfunction updateChildLookup(children, allChildren) {\n children.forEach((child) => {\n const key = getChildKey(child);\n allChildren.set(key, child);\n });\n}\nfunction onlyElements(children) {\n const filtered = [];\n // We use forEach here instead of map as map mutates the component key by preprending `.$`\n Children.forEach(children, (child) => {\n if (isValidElement(child))\n filtered.push(child);\n });\n return filtered;\n}\n/**\n * `AnimatePresence` enables the animation of components that have been removed from the tree.\n *\n * When adding/removing more than a single child, every child **must** be given a unique `key` prop.\n *\n * Any `motion` components that have an `exit` property defined will animate out when removed from\n * the tree.\n *\n * ```jsx\n * import { motion, AnimatePresence } from 'framer-motion'\n *\n * export const Items = ({ items }) => (\n * \n * {items.map(item => (\n * \n * ))}\n * \n * )\n * ```\n *\n * You can sequence exit animations throughout a tree using variants.\n *\n * If a child contains multiple `motion` components with `exit` props, it will only unmount the child\n * once all `motion` components have finished animating out. Likewise, any components using\n * `usePresence` all need to call `safeToRemove`.\n *\n * @public\n */\nconst AnimatePresence = ({ children, custom, initial = true, onExitComplete, exitBeforeEnter, presenceAffectsLayout = true, mode = \"sync\", }) => {\n invariant(!exitBeforeEnter, \"Replace exitBeforeEnter with mode='wait'\");\n // We want to force a re-render once all exiting animations have finished. We\n // either use a local forceRender function, or one from a parent context if it exists.\n const forceRender = useContext(LayoutGroupContext).forceRender || useForceUpdate()[0];\n const isMounted = useIsMounted();\n // Filter out any children that aren't ReactElements. We can only track ReactElements with a props.key\n const filteredChildren = onlyElements(children);\n let childrenToRender = filteredChildren;\n const exitingChildren = useRef(new Map()).current;\n // Keep a living record of the children we're actually rendering so we\n // can diff to figure out which are entering and exiting\n const presentChildren = useRef(childrenToRender);\n // A lookup table to quickly reference components by key\n const allChildren = useRef(new Map()).current;\n // If this is the initial component render, just deal with logic surrounding whether\n // we play onMount animations or not.\n const isInitialRender = useRef(true);\n useIsomorphicLayoutEffect(() => {\n isInitialRender.current = false;\n updateChildLookup(filteredChildren, allChildren);\n presentChildren.current = childrenToRender;\n });\n useUnmountEffect(() => {\n isInitialRender.current = true;\n allChildren.clear();\n exitingChildren.clear();\n });\n if (isInitialRender.current) {\n return (React.createElement(React.Fragment, null, childrenToRender.map((child) => (React.createElement(PresenceChild, { key: getChildKey(child), isPresent: true, initial: initial ? undefined : false, presenceAffectsLayout: presenceAffectsLayout, mode: mode }, child)))));\n }\n // If this is a subsequent render, deal with entering and exiting children\n childrenToRender = [...childrenToRender];\n // Diff the keys of the currently-present and target children to update our\n // exiting list.\n const presentKeys = presentChildren.current.map(getChildKey);\n const targetKeys = filteredChildren.map(getChildKey);\n // Diff the present children with our target children and mark those that are exiting\n const numPresent = presentKeys.length;\n for (let i = 0; i < numPresent; i++) {\n const key = presentKeys[i];\n if (targetKeys.indexOf(key) === -1 && !exitingChildren.has(key)) {\n exitingChildren.set(key, undefined);\n }\n }\n // If we currently have exiting children, and we're deferring rendering incoming children\n // until after all current children have exiting, empty the childrenToRender array\n if (mode === \"wait\" && exitingChildren.size) {\n childrenToRender = [];\n }\n // Loop through all currently exiting components and clone them to overwrite `animate`\n // with any `exit` prop they might have defined.\n exitingChildren.forEach((component, key) => {\n // If this component is actually entering again, early return\n if (targetKeys.indexOf(key) !== -1)\n return;\n const child = allChildren.get(key);\n if (!child)\n return;\n const insertionIndex = presentKeys.indexOf(key);\n let exitingComponent = component;\n if (!exitingComponent) {\n const onExit = () => {\n // clean up the exiting children map\n exitingChildren.delete(key);\n // compute the keys of children that were rendered once but are no longer present\n // this could happen in case of too many fast consequent renderings\n // @link https://github.com/framer/motion/issues/2023\n const leftOverKeys = Array.from(allChildren.keys()).filter((childKey) => !targetKeys.includes(childKey));\n // clean up the all children map\n leftOverKeys.forEach((leftOverKey) => allChildren.delete(leftOverKey));\n // make sure to render only the children that are actually visible\n presentChildren.current = filteredChildren.filter((presentChild) => {\n const presentChildKey = getChildKey(presentChild);\n return (\n // filter out the node exiting\n presentChildKey === key ||\n // filter out the leftover children\n leftOverKeys.includes(presentChildKey));\n });\n // Defer re-rendering until all exiting children have indeed left\n if (!exitingChildren.size) {\n if (isMounted.current === false)\n return;\n forceRender();\n onExitComplete && onExitComplete();\n }\n };\n exitingComponent = (React.createElement(PresenceChild, { key: getChildKey(child), isPresent: false, onExitComplete: onExit, custom: custom, presenceAffectsLayout: presenceAffectsLayout, mode: mode }, child));\n exitingChildren.set(key, exitingComponent);\n }\n childrenToRender.splice(insertionIndex, 0, exitingComponent);\n });\n // Add `MotionContext` even to children that don't need it to ensure we're rendering\n // the same tree between renders\n childrenToRender = childrenToRender.map((child) => {\n const key = child.key;\n return exitingChildren.has(key) ? (child) : (React.createElement(PresenceChild, { key: getChildKey(child), isPresent: true, presenceAffectsLayout: presenceAffectsLayout, mode: mode }, child));\n });\n if (process.env.NODE_ENV !== \"production\" &&\n mode === \"wait\" &&\n childrenToRender.length > 1) {\n console.warn(`You're attempting to animate multiple children within AnimatePresence, but its mode is set to \"wait\". This will lead to odd visual behaviour.`);\n }\n return (React.createElement(React.Fragment, null, exitingChildren.size\n ? childrenToRender\n : childrenToRender.map((child) => cloneElement(child))));\n};\n\nexport { AnimatePresence };\n","import { useState, useCallback } from 'react';\nimport { useIsMounted } from './use-is-mounted.mjs';\nimport { frame } from '../frameloop/frame.mjs';\n\nfunction useForceUpdate() {\n const isMounted = useIsMounted();\n const [forcedRenderCount, setForcedRenderCount] = useState(0);\n const forceRender = useCallback(() => {\n isMounted.current && setForcedRenderCount(forcedRenderCount + 1);\n }, [forcedRenderCount]);\n /**\n * Defer this to the end of the next animation frame in case there are multiple\n * synchronous calls.\n */\n const deferredForceRender = useCallback(() => frame.postRender(forceRender), [forceRender]);\n return [deferredForceRender, forcedRenderCount];\n}\n\nexport { useForceUpdate };\n","import { useEffect } from 'react';\n\nfunction useUnmountEffect(callback) {\n return useEffect(() => () => callback(), []);\n}\n\nexport { useUnmountEffect };\n"],"names":["_ref","children","classes","dataTestId","epiEdit","image","imageClasses","imageRef","lazyLoad","progressiveLoad","sizes","mobileSource","mobile","tabletSource","tablet","desktopSource","desktop","largeDesktopSource","largeDesktop","breakpoint","useBreakpoint","isLoaded","setIsLoaded","useState","url","currentSrc","BreakpointEnum","Small","Medium","Large","XLarge","React","createElement","className","classNames","type","srcSet","_extends","ref","alt","altText","length","draggable","loading","onLoad","src","height","width","originalUrl","open","loadMoreLabel","loadLessLabel","_type","isLightMode","props","motion","span","animate","rotate","Icon","name","size","colorClassName","title","text","Fragment","AnimatePresence","div","style","overflow","initial","opacity","exit","anchorId","bioLogo","subText","isOpen","setIsOpen","id","Image","CollapsibleTextSection","LoadMoreButton","onClick","getCurrentBreakpoint","breakpoints","window","innerWidth","screen","setScreen","resizeHandler","useCallback","useEffect","addEventListener","removeEventListener","__assign","this","Object","assign","t","s","i","n","arguments","p","prototype","hasOwnProperty","call","apply","__rest","e","indexOf","getOwnPropertySymbols","propertyIsEnumerable","defineProperty","exports","value","iconList","react_1","iconSet","Array","isArray","icons","map","icon","properties","_a","disableFill","removeInlineStyle","native","SvgComponent","PathComponent","currentIcon","find","item","initialStyle","display","stroke","fill","flexDirection","flexWrap","comptuedStyle","_b","viewBox","concat","paths","path","index","attrs","pathProps","d","key","push","useIsMounted","isMounted","useRef","current","PopChildMeasure","getSnapshotBeforeUpdate","prevProps","element","childRef","isPresent","sizeRef","offsetHeight","offsetWidth","top","offsetTop","left","offsetLeft","componentDidUpdate","render","PopChild","useId","useInsertionEffect","dataset","motionPopId","document","head","appendChild","sheet","insertRule","removeChild","PresenceChild","onExitComplete","custom","presenceAffectsLayout","mode","presenceChildren","newChildrenMap","context","useMemo","childId","set","isComplete","values","register","delete","undefined","forEach","_","PresenceContext","Provider","Map","getChildKey","child","exitBeforeEnter","forceRender","useContext","LayoutGroupContext","L","forcedRenderCount","setForcedRenderCount","postRender","useForceUpdate","filteredChildren","filtered","Children","isValidElement","onlyElements","childrenToRender","exitingChildren","presentChildren","allChildren","isInitialRender","callback","updateChildLookup","clear","presentKeys","targetKeys","numPresent","has","component","get","insertionIndex","exitingComponent","onExit","leftOverKeys","from","keys","filter","childKey","includes","leftOverKey","presentChild","presentChildKey","splice","cloneElement"],"sourceRoot":""}