{"version":3,"file":"static/js/5392.01fdf05e.chunk.js","mappings":"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","sources":["../node_modules/@churchofjesuschrist/eden-drawer/node_modules/@churchofjesuschrist/eden-appearance/lib/es/components/modes.js","../node_modules/@churchofjesuschrist/eden-drawer/node_modules/@churchofjesuschrist/eden-style-constants/lib/es/modes.js","../node_modules/@churchofjesuschrist/eden-drawer/node_modules/@churchofjesuschrist/eden-style-constants/lib/es/index.js","../node_modules/@churchofjesuschrist/eden-drawer/node_modules/@churchofjesuschrist/eden-headings/lib/es/components/H4.js","../node_modules/@churchofjesuschrist/eden-details/node_modules/@churchofjesuschrist/eden-appearance/lib/es/components/modes.js","../node_modules/@churchofjesuschrist/eden-details/node_modules/@churchofjesuschrist/eden-style-constants/lib/es/modes.js","../node_modules/@churchofjesuschrist/eden-details/node_modules/@churchofjesuschrist/eden-style-constants/lib/es/index.js","../node_modules/@churchofjesuschrist/eden-details/node_modules/@churchofjesuschrist/eden-icons/lib/es/generated-from-source/ChevronDown.js","../node_modules/@churchofjesuschrist/eden-details/lib/es/components/Summary.js","../node_modules/@churchofjesuschrist/eden-drawer/lib/es/components/Summary.js","../node_modules/react-animate-height/dist/esm/index.js","../node_modules/@churchofjesuschrist/eden-collapse/lib/es/index.js","../node_modules/@churchofjesuschrist/eden-details/lib/es/components/Details.js","../node_modules/@churchofjesuschrist/eden-drawer/node_modules/@churchofjesuschrist/eden-text/lib/es/components/shared.js","../node_modules/@churchofjesuschrist/eden-drawer/node_modules/@churchofjesuschrist/eden-appearance/lib/es/components/AppearanceContext.js","../node_modules/@churchofjesuschrist/eden-drawer/node_modules/@churchofjesuschrist/eden-appearance/lib/es/components/AppearanceSection.js","../node_modules/@churchofjesuschrist/eden-drawer/node_modules/@churchofjesuschrist/eden-appearance/lib/es/components/AppearanceInvert.js","../node_modules/@churchofjesuschrist/eden-drawer/node_modules/@churchofjesuschrist/eden-text/lib/es/components/Text3.js","../node_modules/@churchofjesuschrist/eden-drawer/lib/es/components/Drawer.js"],"sourcesContent":["// Keep our own copy of the appearanceStyles. Updates sent via sendUpdate from eden-style-constants as the Appearance Constants are set. This keeps us from having to expose a \"getAllAppearanceStyles\" from eden-style-constants which would become a public API to worry about.\nconst appearanceStyles = {};\nappearanceStyles.light = {};\nappearanceStyles.dark = {};\nexport const getAllModeStyles = mode => {\n const curMode = appearanceStyles[mode];\n const appearanceString = Object.keys(curMode).map(key => `${key}: ${curMode[key]};`).join(`\n`);\n return appearanceString;\n};\nexport const sendUpdate = (name, values) => {\n appearanceStyles.light[name] = values.light;\n appearanceStyles.dark[name] = values.dark;\n};","import { sendUpdate } from \"@churchofjesuschrist/eden-appearance\";\n// Define the modes we will use\nconst modeStyles = {};\nmodeStyles.light = {};\nmodeStyles.dark = {};\n\n// For tracking the names used for modeStyles. This is used to ensure that no duplicate names are used. If a duplicate is found, a warning will be logged.\nconst modeCssVariableRef = {};\n\n/**\n * What do we get from this centralized function?\n * 1 - `--` prefix can be added without it needing to be defined in every definition call\n * 2 - We define the variable reference here so can have the fallback included now, and if we make Appearance required in the future it is a single place we can remove the fallback from.\n * 3 - We can check for duplicate variable names and warn if a duplicate is found\n * 4 - Ensure both light and dark modes have a value set and warn if they don't\n * 5 - Puts values into shared modes object which can be used to generate light/dark variable definition blocks (see getMode toward bottom of file)\n * 6 - light/dark values are set one time, in the same place, then can be used in multiple places (returned CSS var reference, in mode object, etc)\n * - :root level\n * - locally scoped Mode level (Mode inside a Mode, like an always dark (inverted) media player)\n * - fallback default for css var reference\n * 7 - Global values and component values are managed the same way. They only difference is the global ones are exported for easier IDE autocomplete usage. If package level values needed to be shared across multiple components within a package, they could be exported too.\n */\n/**\n * name: the name of the variable\n * light: the value for the light mode\n * dark: the value for the dark mode\n * prefix: the prefix to use for the variable name\n * noDuplicateCheck: if true, will not check for duplicate variable names, used when setting a custom theme which will all be duplicates. Unused for now, but could be used in the future if we add a way to set a custom theme.\n */\nconst setStyleConstant = (name, {\n light,\n dark,\n prefix = \"--\",\n noDuplicateCheck\n}) => {\n const combinedName = prefix + name;\n // TODO: if there becomes a way to access the context outside of a component, we could see if they were using a mode and if they are, do not include the fallback since the `:root` definitions would be set\n const cssVarReferenceWithDefault = `var(${combinedName}, ${light})`; // needs a fallback for when a project is not using Appearance\n // name re-use check, see if the name exists already and if the value is different\n if (modeCssVariableRef[combinedName] !== undefined && modeCssVariableRef[combinedName] !== cssVarReferenceWithDefault && !noDuplicateCheck) {\n console.warn(`Duplicate variable name ${combinedName}.\nOld Value: ${modeCssVariableRef[combinedName]}\nNew Value: ${cssVarReferenceWithDefault}`);\n }\n modeCssVariableRef[combinedName] = cssVarReferenceWithDefault;\n light ? modeStyles.light[combinedName] = light : console.warn(`No \\`light\\` value set for ${name}`);\n dark ? modeStyles.dark[combinedName] = dark : console.warn(`No \\`dark\\` value set for ${name}`);\n sendUpdate(combinedName, {\n light,\n dark\n });\n // Return the CSS reference to the variable\n return cssVarReferenceWithDefault;\n};\nexport const setAppearanceConstant = (name, {\n light,\n dark,\n prefix = \"project\"\n}) => {\n if (![\"project\", \"eden\"].includes(prefix)) {\n console.warn(\"setAppearanceConstant only allows a prefix of `project` or `eden`, you provided:\", prefix);\n return;\n } else {\n prefix = \"--\" + prefix + \"-\";\n }\n return setStyleConstant(name, {\n light,\n dark,\n prefix\n });\n};\n\n// Only used within eden-style-constants to set global values\nexport const setAppearanceConstantGlobal = (name, {\n light,\n dark\n}) => setStyleConstant(name, {\n light,\n dark,\n prefix: \"--\"\n});\n\n// Return the raw styles for a given modeStyle\nexport const getAppearanceConstant = modeStyleResult => {\n // this takes a string like `var(--foo, #f00)` and returns `--foo`\n const extractedName = modeStyleResult.match(/--[\\w-]+/)[0];\n if (!modeCssVariableRef[extractedName]) {\n console.warn(`No appearance style found for ${extractedName}`);\n }\n return {\n name: extractedName,\n light: modeStyles.light[extractedName],\n dark: modeStyles.dark[extractedName]\n };\n};\n\n/*\nThis is for CSS to be used locally within a component, not to be used globally. The returned CSS should be inserted into the component's CSS block so that it is scoped to the component.\n\nBecause this is locally scoped, it makes potential future \"themes\" difficult as the values are not at the root level to override, but inside an unknown selector.\n\nPotential solutions:\n- Add theme related instructions to the context which could be checked for and used to override here\n- Add theme related instructions to a new global which could be checked for and used to override here\n*/\nexport const setAppearanceConstantLocal = (name, {\n light,\n dark,\n prefix = \"project\"\n}) => [({\n theme: {\n edenAppearanceMode: mode\n } = {\n edenAppearanceMode: \"light\"\n }\n}) => {\n if (!dark) console.warn(`No \\`dark\\` value set for ${name}`);\n\n // The definition of the CSS variable that will be used in the component for dark mode\n const darkCSS = `--${prefix}-${name} : ${dark};`;\n let css = \"\";\n\n // if mode is `dark` return the darkCSS without condition to set the CSS variable that dark mode will use\n if (mode === \"dark\") css = darkCSS;\n\n // if mode is `os` return the darkCSS with condition to only show when the OS is set to dark. Because of the wrapper it needs the `&` to reflect the current selector back in the component it will be included within\n if (mode === \"os\") {\n css = `@media (prefers-color-scheme: dark) {\n & { ${darkCSS} }\n }`;\n }\n return css;\n}, () => {\n if (!light) console.warn(`No \\`light\\` value set for ${name}`);\n\n // TODO: When theming comes along could do `light = context.theme.local[name] || light` or something\n // Return the CSS reference to the variable\n return `var(--${prefix}-${name}, ${light})`;\n}];","/* Colors */\nexport const grey2 = \"#f7f8f8\";\nexport const grey3 = \"#eff0f0\";\nexport const grey5 = \"#e0e2e2\";\nexport const grey10 = \"#d0d3d3\";\nexport const grey15 = \"#bdc0c0\";\nexport const grey20 = \"#a9adad\";\nexport const grey25 = \"#9da1a1\";\nexport const grey30 = \"#878a8c\";\nexport const grey35 = \"#676b6e\";\nexport const grey40 = \"#53575b\";\nexport const grey60 = \"#3a3d40\";\nexport const grey90 = \"#0D0F10\";\nexport const yellow5 = \"#ffd61a\";\nexport const yellow10 = \"#ffb81c\";\nexport const yellow15 = \"#faa61a\";\nexport const yellow20 = \"#f68d2e\";\nexport const yellow25 = \"#e66a1f\";\nexport const yellow30 = \"#d45311\";\nexport const yellow35 = \"#974a07\";\nexport const yellow40 = \"#674730\";\nexport const red5 = \"#fda1b2\";\n// Exception where we need to have a different color for light vs dark due to accessibility contrast on our normally \"fixed\" color values.\nexport const red10 = setAppearanceConstantGlobal(\"red10\", {\n light: \"#fc4e6d\",\n dark: \"#FF7591\"\n});\nexport const red15 = setAppearanceConstantGlobal(\"red15\", {\n light: \"#e10f5a\",\n dark: \"#ED3A65\"\n});\nexport const red20 = \"#bd0057\";\nexport const red25 = \"#a6004e\";\nexport const red30 = \"#8f124a\";\nexport const red35 = \"#7d003f\";\nexport const red40 = \"#6e0d33\";\nexport const blue5 = \"#b0eefc\";\nexport const blue10 = \"#7de3f4\";\nexport const blue15 = \"#49cce6\";\nexport const blue20 = \"#01b6d1\";\nexport const blue25 = \"#007da5\";\nexport const blue30 = \"#006184\";\nexport const blue35 = \"#005175\";\nexport const blue40 = \"#003057\";\nexport const green5 = \"#d3e952\";\nexport const green10 = \"#bed21e\";\nexport const green15 = \"#93c742\";\nexport const green20 = \"#6db344\";\nexport const green25 = \"#50a83e\";\nexport const green30 = \"#318d43\";\nexport const green35 = \"#206b3f\";\nexport const green40 = \"#235c35\";\nexport const text120 = \"#212225\";\nexport const black = \"#000000\";\nexport const white = \"#ffffff\";\nexport const colorFacebook = \"#3b5998\";\nexport const colorInstagram = \"#3c5a96\";\nexport const colorPinterest = \"#cb2027\";\nexport const colorYoutube = \"#cd201f\";\nexport const colorOdnok = \"#ed812b\";\nexport const colorVk = \"#45668e\";\n\n/* Font families */\n// The Android fonts (Roboto, Noto Serif) need to come before other fallbacks (Arial, Georgia) because Android aliases those names to the Android fonts and the fallback metric adjustments won't correctly apply (See Fonts 2.1.0)\nexport const sans = `\"Ensign:Sans\", Roboto, Arial, sans-serif`;\nexport const serif = `\"Ensign:Serif\", \"Noto Serif\", Georgia, serif`;\nexport const monospace = `Courier, \"Courier New\", monospace`;\n\n/* Font Weights */\nexport const fontWeightLight = 300;\nexport const fontWeightNormal = 400;\nexport const fontWeightSemiBold = 600;\nexport const fontWeightBold = 700;\n\n/* Font sizes */\nexport const fontSizeRoot = `100%`; // effectively 16px (16px * 100% = 16px) but respects users' special needs, then desired px / 16px (root size) = rem\nexport const fontSize11 = \"0.6875rem\";\nexport const fontSize13 = \"0.8125rem\";\nexport const fontSize14 = \"0.875rem\";\nexport const fontSize16 = \"1rem\";\nexport const fontSize18 = \"1.125rem\";\nexport const fontSize20 = \"1.25rem\";\nexport const fontSize28 = \"1.75rem\";\nexport const fontSize32 = \"2rem\";\nexport const fontSize42 = \"2.625rem\";\n\n/* Line heights */\nexport const lineHeightTight = 1.2;\nexport const lineHeight = 1.4;\nexport const lineHeightLoose = 1.6;\n\n/* Spacings */\nexport const spacing4 = \"0.25rem\"; // 4px\nexport const spacing8 = \"0.5rem\"; // 8px\nexport const spacing16 = \"1rem\"; // 16px\nexport const spacing24 = \"1.5rem\"; // 24px\nexport const spacing32 = \"2rem\"; // 32px\nexport const spacing48 = \"3rem\"; // 48px\nexport const spacing64 = \"4rem\"; // 64px\nexport const spacing96 = \"6rem\"; // 96px\nexport const spacing128 = \"8rem\"; // 128px\n\n/* Breakpoints */\nexport const breakWidth480 = \"480px\";\nexport const breakWidth600 = \"600px\";\nexport const breakWidth840 = \"840px\";\nexport const breakWidth960 = \"960px\";\nexport const breakWidth1280 = \"1280px\";\nexport const breakWidth1440 = \"1440px\";\nexport const breakWidth1600 = \"1600px\";\n\n/* Aspect ratios */\nexport const aspectRatio1By1 = {\n width: 1,\n height: 1,\n key: \"1:1\"\n};\nexport const aspectRatio5By6 = {\n width: 5,\n height: 6,\n key: \"5:6\"\n};\nexport const aspectRatio5By8 = {\n width: 5,\n height: 8,\n key: \"5:8\"\n};\nexport const aspectRatio6By5 = {\n width: 6,\n height: 5,\n key: \"6:5\"\n};\nexport const aspectRatio8By3 = {\n width: 8,\n height: 3,\n key: \"8:3\"\n};\nexport const aspectRatio8By5 = {\n width: 8,\n height: 5,\n key: \"8:5\"\n};\nexport const aspectRatio16By9 = {\n width: 16,\n height: 9,\n key: \"16:9\"\n};\nexport const aspectRatios = [aspectRatio1By1, aspectRatio5By6, aspectRatio5By8, aspectRatio6By5, aspectRatio8By3, aspectRatio8By5, aspectRatio16By9];\n\n/* Z indexes */\nexport const zIndexHigherThanPlatform = 200;\n\n/* Border radius */\nexport const borderRadius = \"0.125rem\"; // 2px\n\n/* White transparencies (used for dark mode) - comment of where they came from is current naming in Figma. In time they should update to match ours */\nexport const whiteTransparency10 = \"#FFFFFFDE\"; // Figma: Dark Mode/Transparency/87%\nexport const whiteTransparency20 = \"#FFFFFF99\"; // Figma: Dark Mode/Transparency/60%\nexport const whiteTransparency30 = \"#FFFFFF61\"; // Figma: Dark Mode/Transparency/38%\nexport const whiteTransparency40 = \"#FFFFFF3D\"; // Figma: Dark Mode/Transparency/24%\nexport const whiteTransparency50 = \"#FFFFFF33\"; // Figma: Dark Mode/Transparency/20%\nexport const whiteTransparency60 = \"#FFFFFF29\"; // Figma: Dark Mode/Transparency/16%\nexport const whiteTransparency70 = \"#FFFFFF1F\"; // Figma: Dark Mode/Transparency/12%\nexport const whiteTransparency80 = \"#FFFFFF14\"; // Figma: Dark Mode/Transparency/8%\n\n/**\n *\n * Appearance Constants\n *\n */\n\nimport { setAppearanceConstantGlobal } from \"./modes\";\nexport { setAppearanceConstant, getAppearanceConstant, setAppearanceConstantLocal } from \"./modes\";\n\n// Backgrounds\nexport const backgroundColorAlt = setAppearanceConstantGlobal(\"background-color-alt\", {\n light: grey3,\n dark: whiteTransparency30\n});\nexport const backgroundColorHover = setAppearanceConstantGlobal(\"background-color-hover\", {\n light: grey3,\n dark: whiteTransparency60\n});\nexport const backgroundColorFocused = setAppearanceConstantGlobal(\"background-color-focused\", {\n light: grey5,\n dark: whiteTransparency40\n});\nexport const backgroundColorDisabled = setAppearanceConstantGlobal(\"background-color-disabled\", {\n light: grey2,\n dark: whiteTransparency70\n});\n\n// This is somewhat dynamically updated by code at the bottom of normalize. This tries to match the current level of the background, which changes on dark mode. Some child components will need to reflect the current background level of their parent which this facilitates.\nexport const backgroundColorLevelCurrent = setAppearanceConstantGlobal(\"background-color-level-current\", {\n light: white,\n dark: \"#121212\"\n});\nexport const backgroundColorLevel1 = setAppearanceConstantGlobal(\"background-color-level1\", {\n light: white,\n dark: \"#121212\"\n});\nexport const backgroundColorLevel2 = setAppearanceConstantGlobal(\"background-color-level2\", {\n light: white,\n // 8% white on #121212\n dark: \"#252525\"\n});\nexport const backgroundColorLevel3 = setAppearanceConstantGlobal(\"background-color-level3\", {\n light: white,\n // 11% white on #121212\n dark: \"#2c2c2c\"\n});\nexport const backgroundColorLevel4 = setAppearanceConstantGlobal(\"background-color-level4\", {\n light: white,\n // 14% white on #121212\n dark: \"#333333\"\n});\nexport const backgroundColorLevel5 = setAppearanceConstantGlobal(\"background-color-level5\", {\n light: white,\n // 16% white on #121212\n dark: \"#383838\"\n});\n\n// text/icon\nexport const textColorPrimary = setAppearanceConstantGlobal(\"text-color-primary\", {\n light: text120,\n dark: whiteTransparency10\n});\nexport const textColorSecondary = setAppearanceConstantGlobal(\"text-color-secondary\", {\n light: grey40,\n dark: whiteTransparency20\n});\nexport const textColorTertiary = setAppearanceConstantGlobal(\"text-color-tertiary\", {\n light: grey30,\n dark: whiteTransparency30\n});\nexport const textColorInverted = setAppearanceConstantGlobal(\"text-color-inverted\", {\n light: white,\n dark: black\n});\n\n// accents\nexport const accentColorLink = setAppearanceConstantGlobal(\"accent-color-link\", {\n light: \"#157493\",\n dark: blue15\n});\nexport const accentColorLinkActive = setAppearanceConstantGlobal(\"accent-color-link-active\", {\n light: \"#b00504\",\n dark: \"#FF7770\"\n});\nexport const accentColorLinkVisited = setAppearanceConstantGlobal(\"accent-color-link-visited\", {\n light: \"#9C4F9C\",\n dark: \"#C092FC\"\n});\nexport const accentColorPrimary = setAppearanceConstantGlobal(\"accent-color-primary\", {\n light: blue30,\n dark: blue15\n});\nexport const accentColorInfo = setAppearanceConstantGlobal(\"accent-color-info\", {\n light: \"#1E9FC8\",\n dark: blue10\n});\nexport const accentColorConfirmation = setAppearanceConstantGlobal(\"accent-color-confirmation\", {\n light: \"#64A53D\",\n dark: green15\n});\nexport const accentColorWarning = setAppearanceConstantGlobal(\"accent-color-warning\", {\n light: \"#EC7000\",\n dark: yellow15\n});\nexport const accentColorDanger = setAppearanceConstantGlobal(\"accent-color-danger\", {\n light: \"#b00504\",\n dark: \"#ff7770\"\n});\n\n// Borders\nexport const borderColorPrimary = setAppearanceConstantGlobal(\"border-color-primary\", {\n light: grey30,\n dark: whiteTransparency20\n});\nexport const borderColorSecondary = setAppearanceConstantGlobal(\"border-color-secondary\", {\n light: grey15,\n dark: whiteTransparency30\n});\nexport const borderColorTertiary = setAppearanceConstantGlobal(\"border-color-tertiary\", {\n light: grey5,\n dark: whiteTransparency70\n});\n\n// highlights\n\nexport const highlightRed = setAppearanceConstantGlobal(\"highlight-red\", {\n light: \"#FE4F6633\",\n dark: \"#BA505E61\"\n});\nexport const highlightOrange = setAppearanceConstantGlobal(\"highlight-orange\", {\n light: \"#FE98293D\",\n dark: \"#C68A4E61\"\n});\nexport const highlightYellow = setAppearanceConstantGlobal(\"highlight-yellow\", {\n light: \"#FCDB3B61\",\n dark: \"#D6BF5961\"\n});\nexport const highlightGreen = setAppearanceConstantGlobal(\"highlight-green\", {\n light: \"#A9D5273D\",\n dark: \"#8CA05261\"\n});\nexport const highlightBlue = setAppearanceConstantGlobal(\"highlight-blue\", {\n light: \"#10D9E133\",\n dark: \"#60B5B861\"\n});\nexport const highlightDarkBlue = setAppearanceConstantGlobal(\"highlight-darkblue\", {\n light: \"#2596FF29\",\n dark: \"#5587B561\"\n});\nexport const highlightPurple = setAppearanceConstantGlobal(\"highlight-purple\", {\n light: \"#9D53FE29\",\n dark: \"#7654A561\"\n});\nexport const highlightPink = setAppearanceConstantGlobal(\"highlight-pink\", {\n light: \"#F85BEA33\",\n dark: \"#B56BB04D\"\n});\nexport const highlightBrown = setAppearanceConstantGlobal(\"highlight-brown\", {\n light: \"#CD7D5A33\",\n dark: \"#946D5D61\"\n});\nexport const highlightGrey = setAppearanceConstantGlobal(\"highlight-grey\", {\n light: \"#AEB8C13D\",\n dark: \"#8E969C61\"\n});\n\n// box shadows\nexport const boxShadowRaised = setAppearanceConstantGlobal(\"box-shadow-raised\", {\n light: \"0 2px 4px 0 #00000033\",\n // 20%\n dark: \"0 2px 4px 0 #00000066\" // 40%\n});\nexport const boxShadowDetached = setAppearanceConstantGlobal(\"box-shadow-detached\", {\n light: \"0 4px 8px 0 #00000033\",\n dark: \"0 4px 8px 0 #00000066\"\n});\nexport const boxShadowOverlaid = setAppearanceConstantGlobal(\"box-shadow-overlaid\", {\n light: \"0 8px 16px 0 #00000033\",\n dark: \"0 8px 16px 0 #00000066\"\n});\nexport const boxShadowPoppedOut = setAppearanceConstantGlobal(\"box-shadow-popped\", {\n light: \"0 16px 32px 0 #00000033\",\n dark: \"0 16px 32px 0 #00000066\"\n});\nexport const colorScheme = setAppearanceConstantGlobal(\"color-scheme\", {\n light: \"light\",\n dark: \"dark\"\n});","\"use client\";\n\nimport PropTypes from \"prop-types\";\nimport styled, { css } from \"styled-components\";\nimport { sans as zoram, fontSize18, lineHeightTight, fontWeightSemiBold } from \"@churchofjesuschrist/eden-style-constants\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const internalUseOnlyPriority4 = css([\"margin:0;font-family:\", \";font-weight:\", \";font-size:\", \";line-height:\", \";\"], zoram, fontWeightSemiBold, fontSize18, lineHeightTight);\nconst H4Styled = styled.h4.withConfig({\n componentId: \"sc-12mz36o-0\"\n})([\"\", \";\"], internalUseOnlyPriority4);\n\n/**\n * The fourth level heading style. You can override the semantics by passing a different `renderAs` prop to still look like an `h4` but be an `h3` (or other heading) if needed.\n */\nconst H4 = ({\n children,\n renderAs,\n ...props\n}) => /*#__PURE__*/_jsx(H4Styled, {\n as: renderAs,\n ...props,\n children: children\n});\nexport default H4;\nH4.propTypes = {\n /** Content inside heading */\n children: PropTypes.node.isRequired,\n /** The HTML tag string (e.g., `\"div\"`) or React component to render as. */\n renderAs: PropTypes.elementType\n};","// Keep our own copy of the appearanceStyles. Updates sent via sendUpdate from eden-style-constants as the Appearance Constants are set. This keeps us from having to expose a \"getAllAppearanceStyles\" from eden-style-constants which would become a public API to worry about.\nconst appearanceStyles = {};\nappearanceStyles.light = {};\nappearanceStyles.dark = {};\nexport const getAllModeStyles = mode => {\n const curMode = appearanceStyles[mode];\n const appearanceString = Object.keys(curMode).map(key => `${key}: ${curMode[key]};`).join(`\n`);\n return appearanceString;\n};\nexport const sendUpdate = (name, values) => {\n appearanceStyles.light[name] = values.light;\n appearanceStyles.dark[name] = values.dark;\n};","import { sendUpdate } from \"@churchofjesuschrist/eden-appearance\";\n// Define the modes we will use\nconst modeStyles = {};\nmodeStyles.light = {};\nmodeStyles.dark = {};\n\n// For tracking the names used for modeStyles. This is used to ensure that no duplicate names are used. If a duplicate is found, a warning will be logged.\nconst modeCssVariableRef = {};\n\n/**\n * What do we get from this centralized function?\n * 1 - `--` prefix can be added without it needing to be defined in every definition call\n * 2 - We define the variable reference here so can have the fallback included now, and if we make Appearance required in the future it is a single place we can remove the fallback from.\n * 3 - We can check for duplicate variable names and warn if a duplicate is found\n * 4 - Ensure both light and dark modes have a value set and warn if they don't\n * 5 - Puts values into shared modes object which can be used to generate light/dark variable definition blocks (see getMode toward bottom of file)\n * 6 - light/dark values are set one time, in the same place, then can be used in multiple places (returned CSS var reference, in mode object, etc)\n * - :root level\n * - locally scoped Mode level (Mode inside a Mode, like an always dark (inverted) media player)\n * - fallback default for css var reference\n * 7 - Global values and component values are managed the same way. They only difference is the global ones are exported for easier IDE autocomplete usage. If package level values needed to be shared across multiple components within a package, they could be exported too.\n */\n/**\n * name: the name of the variable\n * light: the value for the light mode\n * dark: the value for the dark mode\n * prefix: the prefix to use for the variable name\n * noDuplicateCheck: if true, will not check for duplicate variable names, used when setting a custom theme which will all be duplicates. Unused for now, but could be used in the future if we add a way to set a custom theme.\n */\nconst setStyleConstant = (name, {\n light,\n dark,\n prefix = \"--\",\n noDuplicateCheck\n}) => {\n const combinedName = prefix + name;\n // TODO: if there becomes a way to access the context outside of a component, we could see if they were using a mode and if they are, do not include the fallback since the `:root` definitions would be set\n const cssVarReferenceWithDefault = `var(${combinedName}, ${light})`; // needs a fallback for when a project is not using Appearance\n // name re-use check, see if the name exists already and if the value is different\n if (modeCssVariableRef[combinedName] !== undefined && modeCssVariableRef[combinedName] !== cssVarReferenceWithDefault && !noDuplicateCheck) {\n console.warn(`Duplicate variable name ${combinedName}.\nOld Value: ${modeCssVariableRef[combinedName]}\nNew Value: ${cssVarReferenceWithDefault}`);\n }\n modeCssVariableRef[combinedName] = cssVarReferenceWithDefault;\n light ? modeStyles.light[combinedName] = light : console.warn(`No \\`light\\` value set for ${name}`);\n dark ? modeStyles.dark[combinedName] = dark : console.warn(`No \\`dark\\` value set for ${name}`);\n sendUpdate(combinedName, {\n light,\n dark\n });\n // Return the CSS reference to the variable\n return cssVarReferenceWithDefault;\n};\nexport const setAppearanceConstant = (name, {\n light,\n dark,\n prefix = \"project\"\n}) => {\n if (![\"project\", \"eden\"].includes(prefix)) {\n console.warn(\"setAppearanceConstant only allows a prefix of `project` or `eden`, you provided:\", prefix);\n return;\n } else {\n prefix = \"--\" + prefix + \"-\";\n }\n return setStyleConstant(name, {\n light,\n dark,\n prefix\n });\n};\n\n// Only used within eden-style-constants to set global values\nexport const setAppearanceConstantGlobal = (name, {\n light,\n dark\n}) => setStyleConstant(name, {\n light,\n dark,\n prefix: \"--\"\n});\n\n// Return the raw styles for a given modeStyle\nexport const getAppearanceConstant = modeStyleResult => {\n // this takes a string like `var(--foo, #f00)` and returns `--foo`\n const extractedName = modeStyleResult.match(/--[\\w-]+/)[0];\n if (!modeCssVariableRef[extractedName]) {\n console.warn(`No appearance style found for ${extractedName}`);\n }\n return {\n name: extractedName,\n light: modeStyles.light[extractedName],\n dark: modeStyles.dark[extractedName]\n };\n};\n\n/*\nThis is for CSS to be used locally within a component, not to be used globally. The returned CSS should be inserted into the component's CSS block so that it is scoped to the component.\n\nBecause this is locally scoped, it makes potential future \"themes\" difficult as the values are not at the root level to override, but inside an unknown selector.\n\nPotential solutions:\n- Add theme related instructions to the context which could be checked for and used to override here\n- Add theme related instructions to a new global which could be checked for and used to override here\n*/\nexport const setAppearanceConstantLocal = (name, {\n light,\n dark,\n prefix = \"project\"\n}) => [({\n theme: {\n edenAppearanceMode: mode\n } = {\n edenAppearanceMode: \"light\"\n }\n}) => {\n if (!dark) console.warn(`No \\`dark\\` value set for ${name}`);\n\n // The definition of the CSS variable that will be used in the component for dark mode\n const darkCSS = `--${prefix}-${name} : ${dark};`;\n let css = \"\";\n\n // if mode is `dark` return the darkCSS without condition to set the CSS variable that dark mode will use\n if (mode === \"dark\") css = darkCSS;\n\n // if mode is `os` return the darkCSS with condition to only show when the OS is set to dark. Because of the wrapper it needs the `&` to reflect the current selector back in the component it will be included within\n if (mode === \"os\") {\n css = `@media (prefers-color-scheme: dark) {\n & { ${darkCSS} }\n }`;\n }\n return css;\n}, () => {\n if (!light) console.warn(`No \\`light\\` value set for ${name}`);\n\n // TODO: When theming comes along could do `light = context.theme.local[name] || light` or something\n // Return the CSS reference to the variable\n return `var(--${prefix}-${name}, ${light})`;\n}];","/* Colors */\nexport const grey2 = \"#f7f8f8\";\nexport const grey3 = \"#eff0f0\";\nexport const grey5 = \"#e0e2e2\";\nexport const grey10 = \"#d0d3d3\";\nexport const grey15 = \"#bdc0c0\";\nexport const grey20 = \"#a9adad\";\nexport const grey25 = \"#9da1a1\";\nexport const grey30 = \"#878a8c\";\nexport const grey35 = \"#676b6e\";\nexport const grey40 = \"#53575b\";\nexport const grey60 = \"#3a3d40\";\nexport const grey90 = \"#0D0F10\";\nexport const yellow5 = \"#ffd61a\";\nexport const yellow10 = \"#ffb81c\";\nexport const yellow15 = \"#faa61a\";\nexport const yellow20 = \"#f68d2e\";\nexport const yellow25 = \"#e66a1f\";\nexport const yellow30 = \"#d45311\";\nexport const yellow35 = \"#974a07\";\nexport const yellow40 = \"#674730\";\nexport const red5 = \"#fda1b2\";\n// Exception where we need to have a different color for light vs dark due to accessibility contrast on our normally \"fixed\" color values.\nexport const red10 = setAppearanceConstantGlobal(\"red10\", {\n light: \"#fc4e6d\",\n dark: \"#FF7591\"\n});\nexport const red15 = setAppearanceConstantGlobal(\"red15\", {\n light: \"#e10f5a\",\n dark: \"#ED3A65\"\n});\nexport const red20 = \"#bd0057\";\nexport const red25 = \"#a6004e\";\nexport const red30 = \"#8f124a\";\nexport const red35 = \"#7d003f\";\nexport const red40 = \"#6e0d33\";\nexport const blue5 = \"#b0eefc\";\nexport const blue10 = \"#7de3f4\";\nexport const blue15 = \"#49cce6\";\nexport const blue20 = \"#01b6d1\";\nexport const blue25 = \"#007da5\";\nexport const blue30 = \"#006184\";\nexport const blue35 = \"#005175\";\nexport const blue40 = \"#003057\";\nexport const green5 = \"#d3e952\";\nexport const green10 = \"#bed21e\";\nexport const green15 = \"#93c742\";\nexport const green20 = \"#6db344\";\nexport const green25 = \"#50a83e\";\nexport const green30 = \"#318d43\";\nexport const green35 = \"#206b3f\";\nexport const green40 = \"#235c35\";\nexport const text120 = \"#212225\";\nexport const black = \"#000000\";\nexport const white = \"#ffffff\";\nexport const colorFacebook = \"#3b5998\";\nexport const colorInstagram = \"#3c5a96\";\nexport const colorPinterest = \"#cb2027\";\nexport const colorYoutube = \"#cd201f\";\nexport const colorOdnok = \"#ed812b\";\nexport const colorVk = \"#45668e\";\n\n/* Font families */\n// The Android fonts (Roboto, Noto Serif) need to come before other fallbacks (Arial, Georgia) because Android aliases those names to the Android fonts and the fallback metric adjustments won't correctly apply (See Fonts 2.1.0)\nexport const sans = `\"Ensign:Sans\", Roboto, Arial, sans-serif`;\nexport const serif = `\"Ensign:Serif\", \"Noto Serif\", Georgia, serif`;\nexport const monospace = `Courier, \"Courier New\", monospace`;\n\n/* Font Weights */\nexport const fontWeightLight = 300;\nexport const fontWeightNormal = 400;\nexport const fontWeightSemiBold = 600;\nexport const fontWeightBold = 700;\n\n/* Font sizes */\nexport const fontSizeRoot = `100%`; // effectively 16px (16px * 100% = 16px) but respects users' special needs, then desired px / 16px (root size) = rem\nexport const fontSize11 = \"0.6875rem\";\nexport const fontSize13 = \"0.8125rem\";\nexport const fontSize14 = \"0.875rem\";\nexport const fontSize16 = \"1rem\";\nexport const fontSize18 = \"1.125rem\";\nexport const fontSize20 = \"1.25rem\";\nexport const fontSize28 = \"1.75rem\";\nexport const fontSize32 = \"2rem\";\nexport const fontSize42 = \"2.625rem\";\n\n/* Line heights */\nexport const lineHeightTight = 1.2;\nexport const lineHeight = 1.4;\nexport const lineHeightLoose = 1.6;\n\n/* Spacings */\nexport const spacing4 = \"0.25rem\"; // 4px\nexport const spacing8 = \"0.5rem\"; // 8px\nexport const spacing16 = \"1rem\"; // 16px\nexport const spacing24 = \"1.5rem\"; // 24px\nexport const spacing32 = \"2rem\"; // 32px\nexport const spacing48 = \"3rem\"; // 48px\nexport const spacing64 = \"4rem\"; // 64px\nexport const spacing96 = \"6rem\"; // 96px\nexport const spacing128 = \"8rem\"; // 128px\n\n/* Breakpoints */\nexport const breakWidth480 = \"480px\";\nexport const breakWidth600 = \"600px\";\nexport const breakWidth840 = \"840px\";\nexport const breakWidth960 = \"960px\";\nexport const breakWidth1280 = \"1280px\";\nexport const breakWidth1440 = \"1440px\";\nexport const breakWidth1600 = \"1600px\";\n\n/* Aspect ratios */\nexport const aspectRatio1By1 = {\n width: 1,\n height: 1,\n key: \"1:1\"\n};\nexport const aspectRatio5By6 = {\n width: 5,\n height: 6,\n key: \"5:6\"\n};\nexport const aspectRatio5By8 = {\n width: 5,\n height: 8,\n key: \"5:8\"\n};\nexport const aspectRatio6By5 = {\n width: 6,\n height: 5,\n key: \"6:5\"\n};\nexport const aspectRatio8By3 = {\n width: 8,\n height: 3,\n key: \"8:3\"\n};\nexport const aspectRatio8By5 = {\n width: 8,\n height: 5,\n key: \"8:5\"\n};\nexport const aspectRatio16By9 = {\n width: 16,\n height: 9,\n key: \"16:9\"\n};\nexport const aspectRatios = [aspectRatio1By1, aspectRatio5By6, aspectRatio5By8, aspectRatio6By5, aspectRatio8By3, aspectRatio8By5, aspectRatio16By9];\n\n/* Z indexes */\nexport const zIndexHigherThanPlatform = 200;\n\n/* Border radius */\nexport const borderRadius = \"0.125rem\"; // 2px\n\n/* White transparencies (used for dark mode) - comment of where they came from is current naming in Figma. In time they should update to match ours */\nexport const whiteTransparency10 = \"#FFFFFFDE\"; // Figma: Dark Mode/Transparency/87%\nexport const whiteTransparency20 = \"#FFFFFF99\"; // Figma: Dark Mode/Transparency/60%\nexport const whiteTransparency30 = \"#FFFFFF61\"; // Figma: Dark Mode/Transparency/38%\nexport const whiteTransparency40 = \"#FFFFFF3D\"; // Figma: Dark Mode/Transparency/24%\nexport const whiteTransparency50 = \"#FFFFFF33\"; // Figma: Dark Mode/Transparency/20%\nexport const whiteTransparency60 = \"#FFFFFF29\"; // Figma: Dark Mode/Transparency/16%\nexport const whiteTransparency70 = \"#FFFFFF1F\"; // Figma: Dark Mode/Transparency/12%\nexport const whiteTransparency80 = \"#FFFFFF14\"; // Figma: Dark Mode/Transparency/8%\n\n/**\n *\n * Appearance Constants\n *\n */\n\nimport { setAppearanceConstantGlobal } from \"./modes\";\nexport { setAppearanceConstant, getAppearanceConstant, setAppearanceConstantLocal } from \"./modes\";\n\n// Backgrounds\nexport const backgroundColorAlt = setAppearanceConstantGlobal(\"background-color-alt\", {\n light: grey3,\n dark: whiteTransparency30\n});\nexport const backgroundColorHover = setAppearanceConstantGlobal(\"background-color-hover\", {\n light: grey3,\n dark: whiteTransparency60\n});\nexport const backgroundColorFocused = setAppearanceConstantGlobal(\"background-color-focused\", {\n light: grey5,\n dark: whiteTransparency40\n});\nexport const backgroundColorDisabled = setAppearanceConstantGlobal(\"background-color-disabled\", {\n light: grey2,\n dark: whiteTransparency70\n});\n\n// This is somewhat dynamically updated by code at the bottom of normalize. This tries to match the current level of the background, which changes on dark mode. Some child components will need to reflect the current background level of their parent which this facilitates.\nexport const backgroundColorLevelCurrent = setAppearanceConstantGlobal(\"background-color-level-current\", {\n light: white,\n dark: \"#121212\"\n});\nexport const backgroundColorLevel1 = setAppearanceConstantGlobal(\"background-color-level1\", {\n light: white,\n dark: \"#121212\"\n});\nexport const backgroundColorLevel2 = setAppearanceConstantGlobal(\"background-color-level2\", {\n light: white,\n // 8% white on #121212\n dark: \"#252525\"\n});\nexport const backgroundColorLevel3 = setAppearanceConstantGlobal(\"background-color-level3\", {\n light: white,\n // 11% white on #121212\n dark: \"#2c2c2c\"\n});\nexport const backgroundColorLevel4 = setAppearanceConstantGlobal(\"background-color-level4\", {\n light: white,\n // 14% white on #121212\n dark: \"#333333\"\n});\nexport const backgroundColorLevel5 = setAppearanceConstantGlobal(\"background-color-level5\", {\n light: white,\n // 16% white on #121212\n dark: \"#383838\"\n});\n\n// text/icon\nexport const textColorPrimary = setAppearanceConstantGlobal(\"text-color-primary\", {\n light: text120,\n dark: whiteTransparency10\n});\nexport const textColorSecondary = setAppearanceConstantGlobal(\"text-color-secondary\", {\n light: grey40,\n dark: whiteTransparency20\n});\nexport const textColorTertiary = setAppearanceConstantGlobal(\"text-color-tertiary\", {\n light: grey30,\n dark: whiteTransparency30\n});\nexport const textColorInverted = setAppearanceConstantGlobal(\"text-color-inverted\", {\n light: white,\n dark: black\n});\n\n// accents\nexport const accentColorLink = setAppearanceConstantGlobal(\"accent-color-link\", {\n light: \"#157493\",\n dark: blue15\n});\nexport const accentColorLinkActive = setAppearanceConstantGlobal(\"accent-color-link-active\", {\n light: \"#b00504\",\n dark: \"#FF7770\"\n});\nexport const accentColorLinkVisited = setAppearanceConstantGlobal(\"accent-color-link-visited\", {\n light: \"#9C4F9C\",\n dark: \"#C092FC\"\n});\nexport const accentColorPrimary = setAppearanceConstantGlobal(\"accent-color-primary\", {\n light: blue30,\n dark: blue15\n});\nexport const accentColorInfo = setAppearanceConstantGlobal(\"accent-color-info\", {\n light: \"#1E9FC8\",\n dark: blue10\n});\nexport const accentColorConfirmation = setAppearanceConstantGlobal(\"accent-color-confirmation\", {\n light: \"#64A53D\",\n dark: green15\n});\nexport const accentColorWarning = setAppearanceConstantGlobal(\"accent-color-warning\", {\n light: \"#EC7000\",\n dark: yellow15\n});\nexport const accentColorDanger = setAppearanceConstantGlobal(\"accent-color-danger\", {\n light: \"#b00504\",\n dark: \"#ff7770\"\n});\n\n// Borders\nexport const borderColorPrimary = setAppearanceConstantGlobal(\"border-color-primary\", {\n light: grey30,\n dark: whiteTransparency20\n});\nexport const borderColorSecondary = setAppearanceConstantGlobal(\"border-color-secondary\", {\n light: grey15,\n dark: whiteTransparency30\n});\nexport const borderColorTertiary = setAppearanceConstantGlobal(\"border-color-tertiary\", {\n light: grey5,\n dark: whiteTransparency70\n});\n\n// highlights\n\nexport const highlightRed = setAppearanceConstantGlobal(\"highlight-red\", {\n light: \"#FE4F6633\",\n dark: \"#BA505E61\"\n});\nexport const highlightOrange = setAppearanceConstantGlobal(\"highlight-orange\", {\n light: \"#FE98293D\",\n dark: \"#C68A4E61\"\n});\nexport const highlightYellow = setAppearanceConstantGlobal(\"highlight-yellow\", {\n light: \"#FCDB3B61\",\n dark: \"#D6BF5961\"\n});\nexport const highlightGreen = setAppearanceConstantGlobal(\"highlight-green\", {\n light: \"#A9D5273D\",\n dark: \"#8CA05261\"\n});\nexport const highlightBlue = setAppearanceConstantGlobal(\"highlight-blue\", {\n light: \"#10D9E133\",\n dark: \"#60B5B861\"\n});\nexport const highlightDarkBlue = setAppearanceConstantGlobal(\"highlight-darkblue\", {\n light: \"#2596FF29\",\n dark: \"#5587B561\"\n});\nexport const highlightPurple = setAppearanceConstantGlobal(\"highlight-purple\", {\n light: \"#9D53FE29\",\n dark: \"#7654A561\"\n});\nexport const highlightPink = setAppearanceConstantGlobal(\"highlight-pink\", {\n light: \"#F85BEA33\",\n dark: \"#B56BB04D\"\n});\nexport const highlightBrown = setAppearanceConstantGlobal(\"highlight-brown\", {\n light: \"#CD7D5A33\",\n dark: \"#946D5D61\"\n});\nexport const highlightGrey = setAppearanceConstantGlobal(\"highlight-grey\", {\n light: \"#AEB8C13D\",\n dark: \"#8E969C61\"\n});\n\n// box shadows\nexport const boxShadowRaised = setAppearanceConstantGlobal(\"box-shadow-raised\", {\n light: \"0 2px 4px 0 #00000033\",\n // 20%\n dark: \"0 2px 4px 0 #00000066\" // 40%\n});\nexport const boxShadowDetached = setAppearanceConstantGlobal(\"box-shadow-detached\", {\n light: \"0 4px 8px 0 #00000033\",\n dark: \"0 4px 8px 0 #00000066\"\n});\nexport const boxShadowOverlaid = setAppearanceConstantGlobal(\"box-shadow-overlaid\", {\n light: \"0 8px 16px 0 #00000033\",\n dark: \"0 8px 16px 0 #00000066\"\n});\nexport const boxShadowPoppedOut = setAppearanceConstantGlobal(\"box-shadow-popped\", {\n light: \"0 16px 32px 0 #00000033\",\n dark: \"0 16px 32px 0 #00000066\"\n});\nexport const colorScheme = setAppearanceConstantGlobal(\"color-scheme\", {\n light: \"light\",\n dark: \"dark\"\n});","// DO NOT EDIT THIS FILE BECAUSE IT IS GENERATED AUTOMATICALLY\n\"use client\";\n\nimport PropTypes from \"prop-types\";\nimport styled from \"styled-components\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst SVG = styled.svg.withConfig({\n componentId: \"sc-fep5pz-0\"\n})([\"min-width:\", \";max-width:\", \";height:\", \";\"], ({\n $size\n}) => $size, ({\n $size\n}) => $size, ({\n $size\n}) => $size);\nconst ChevronDown = ({\n size = \"1em\",\n color = \"currentColor\",\n title,\n ...props\n}) => /*#__PURE__*/_jsxs(SVG, {\n ...props,\n $size: size,\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n role: title ? 'img' : 'presentation',\n children: [title ? /*#__PURE__*/_jsx(\"title\", {\n children: title\n }) : null, \" \", /*#__PURE__*/_jsx(\"path\", {\n fill: color,\n d: \"M11.462 16.223a.75.75 0 0 0 1.076 0l5.25-5.4a.75.75 0 0 0-1.076-1.046l-4.71 4.85-4.714-4.85a.75.75 0 1 0-1.076 1.046l5.25 5.4z\",\n children: \" \"\n })]\n});\nChevronDown.propTypes = {\n /** The width/height of the icon as any CSS size unit */\n size: PropTypes.string,\n /** The fill color of the icon as any CSS color value */\n color: PropTypes.string,\n /** The title to add as a child of the root svg element */\n title: PropTypes.string\n};\nexport default ChevronDown;","\"use client\";\n\nimport React from \"react\";\nimport PropTypes from \"prop-types\";\nimport styled, { css } from \"styled-components\";\nimport { lineHeightTight } from \"@churchofjesuschrist/eden-style-constants\";\nimport { ChevronDown as ChevDown } from \"@churchofjesuschrist/eden-icons\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst base = css([\"line-height:\", \";\"], lineHeightTight);\nconst Chevron = styled(ChevDown).withConfig({\n componentId: \"sc-cvfmde-0\"\n})([\"\", \";details[open] > summary &&{transform:rotate(180deg);}\"], base);\nconst HandleOuter = styled.summary.withConfig({\n componentId: \"sc-cvfmde-1\"\n})([\"display:block;cursor:pointer;width:100%;list-style:none;&::-webkit-details-marker{display:none;}\"]);\nconst FlexWrapper = styled.div.withConfig({\n componentId: \"sc-cvfmde-2\"\n})([\"display:flex;justify-content:space-between;align-items:center;\"]);\n\n/**\n * A limitedly styled implementation of the native [``](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/summary) element for use in hiding/showing content within the [Details](/components/eden-details) component.\n */\nconst Summary = ({\n children,\n ...props\n}) => /*#__PURE__*/_jsx(HandleOuter, {\n ...props,\n children: /*#__PURE__*/_jsxs(FlexWrapper, {\n children: [children, /*#__PURE__*/_jsx(Chevron, {\n size: \"1.5rem\"\n })]\n })\n});\nSummary.propTypes = {\n /** Contents rendered inside the Summary */\n children: PropTypes.node.isRequired\n};\nexport default Summary;","\"use client\";\n\nimport React from \"react\";\nimport PropTypes from \"prop-types\";\nimport styled from \"styled-components\";\nimport { spacing16, spacing24, backgroundColorHover, accentColorLink, textColorPrimary } from \"@churchofjesuschrist/eden-style-constants\";\nimport { H4 } from \"@churchofjesuschrist/eden-headings\";\nimport { Summary as EdenSummary } from \"@churchofjesuschrist/eden-details\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst HandleOuter = styled(EdenSummary).withConfig({\n componentId: \"sc-1rgj0tw-0\"\n})([\"padding-inline-start:\", \";padding-inline-end:\", \";color:\", \";&:hover{text-decoration:underline 1px solid \", \";background:\", \";}details[open] > &&{text-decoration:none;color:\", \";background:none;}\"], spacing24, spacing16, accentColorLink, accentColorLink, backgroundColorHover, textColorPrimary);\nconst Title = styled(H4).withConfig({\n componentId: \"sc-1rgj0tw-1\"\n})([\"display:inline-block;margin:0;padding:\", \" 0;text-align:start;width:100%;padding-inline-end:\", \";\"], spacing24, spacing16);\n\n/**\n * The element that summarizes what is within the [`Drawer`](/components/eden-drawer) component.\n */\nconst Summary = ({\n children,\n ...props\n}) => /*#__PURE__*/_jsx(HandleOuter, {\n ...props,\n children: /*#__PURE__*/_jsx(Title, {\n renderAs: \"div\",\n children: children\n })\n});\nSummary.displayName = \"Summary\";\nSummary.propTypes = {\n /** Contents rendered inside the Summary */\n children: PropTypes.node.isRequired\n};\nexport default Summary;","import React, { useEffect, useRef, useState } from 'react';\n// ------------------ Helpers\nfunction isNumber(n) {\n const number = parseFloat(n);\n return !isNaN(number) && isFinite(number);\n}\nfunction isPercentage(height) {\n // Percentage height\n return (typeof height === 'string' &&\n height[height.length - 1] === '%' &&\n isNumber(height.substring(0, height.length - 1)));\n}\nfunction hideContent(element, height, disableDisplayNone) {\n // Check for element?.style is added cause this would fail in tests (react-test-renderer)\n // Read more here: https://github.com/Stanko/react-animate-height/issues/17\n if (height === 0 &&\n !disableDisplayNone &&\n (element === null || element === void 0 ? void 0 : element.style) &&\n (element === null || element === void 0 ? void 0 : element.children.length) > 0) {\n element.style.display = 'none';\n }\n}\nfunction showContent(element, height) {\n // Check for element?.style is added cause this would fail in tests (react-test-renderer)\n // Read more here: https://github.com/Stanko/react-animate-height/issues/17\n if (height === 0 && (element === null || element === void 0 ? void 0 : element.style)) {\n element.style.display = '';\n }\n}\nconst ANIMATION_STATE_CLASSES = {\n animating: 'rah-animating',\n animatingUp: 'rah-animating--up',\n animatingDown: 'rah-animating--down',\n animatingToHeightZero: 'rah-animating--to-height-zero',\n animatingToHeightAuto: 'rah-animating--to-height-auto',\n animatingToHeightSpecific: 'rah-animating--to-height-specific',\n static: 'rah-static',\n staticHeightZero: 'rah-static--height-zero',\n staticHeightAuto: 'rah-static--height-auto',\n staticHeightSpecific: 'rah-static--height-specific',\n};\nfunction getStaticStateClasses(animationStateClasses, height) {\n return [\n animationStateClasses.static,\n height === 0 && animationStateClasses.staticHeightZero,\n typeof height === 'number' && height > 0\n ? animationStateClasses.staticHeightSpecific\n : null,\n height === 'auto' && animationStateClasses.staticHeightAuto,\n ]\n .filter((v) => v)\n .join(' ');\n}\n// ------------------ Component\nconst propsToOmitFromDiv = [\n 'animateOpacity',\n 'animationStateClasses',\n 'applyInlineTransitions',\n 'children',\n 'className',\n 'contentClassName',\n 'contentRef',\n 'delay',\n 'duration',\n 'easing',\n 'height',\n 'onHeightAnimationEnd',\n 'onHeightAnimationStart',\n 'style',\n 'disableDisplayNone',\n];\nconst AnimateHeight = React.forwardRef((componentProps, ref) => {\n // const AnimateHeight = forwardRef((componentProps: AnimateHeightProps, ref) => {\n // const AnimateHeight: React.FC = (componentProps) => {\n const { animateOpacity = false, animationStateClasses = {}, applyInlineTransitions = true, children, className = '', contentClassName, delay: userDelay = 0, disableDisplayNone = false, duration: userDuration = 500, easing = 'ease', height, onHeightAnimationEnd, onHeightAnimationStart, style, contentRef, } = componentProps;\n const divProps = Object.assign({}, componentProps);\n propsToOmitFromDiv.forEach((propKey) => {\n delete divProps[propKey];\n });\n // ------------------ Initialization\n const prevHeight = useRef(height);\n const contentElement = useRef(null);\n const animationClassesTimeoutID = useRef();\n const timeoutID = useRef();\n const stateClasses = useRef(Object.assign(Object.assign({}, ANIMATION_STATE_CLASSES), animationStateClasses));\n const isBrowser = typeof window !== 'undefined';\n const prefersReducedMotion = useRef(isBrowser && window.matchMedia\n ? window.matchMedia('(prefers-reduced-motion)').matches\n : false);\n const delay = prefersReducedMotion.current ? 0 : userDelay;\n const duration = prefersReducedMotion.current ? 0 : userDuration;\n let initHeight = height;\n let initOverflow = 'visible';\n if (typeof height === 'number') {\n // Reset negative height to 0\n initHeight = height < 0 ? 0 : height;\n initOverflow = 'hidden';\n }\n else if (isPercentage(initHeight)) {\n // If value is string \"0%\" make sure we convert it to number 0\n initHeight = height === '0%' ? 0 : height;\n initOverflow = 'hidden';\n }\n const [currentHeight, setCurrentHeight] = useState(initHeight);\n const [overflow, setOverflow] = useState(initOverflow);\n const [useTransitions, setUseTransitions] = useState(false);\n const [animationStateClassNames, setAnimationStateClassNames] = useState(getStaticStateClasses(stateClasses.current, height));\n // ------------------ Did mount\n useEffect(() => {\n // Hide content if height is 0 (to prevent tabbing into it)\n hideContent(contentElement.current, currentHeight, disableDisplayNone);\n // This should be explicitly run only on mount\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n // ------------------ Height update\n useEffect(() => {\n if (height !== prevHeight.current && contentElement.current) {\n showContent(contentElement.current, prevHeight.current);\n // Cache content height\n contentElement.current.style.overflow = 'hidden';\n const contentHeight = contentElement.current.offsetHeight;\n contentElement.current.style.overflow = '';\n // set total animation time\n const totalDuration = duration + delay;\n let newHeight;\n let timeoutHeight;\n let timeoutOverflow = 'hidden';\n let timeoutUseTransitions;\n const isCurrentHeightAuto = prevHeight.current === 'auto';\n if (typeof height === 'number') {\n // Reset negative height to 0\n newHeight = height < 0 ? 0 : height;\n timeoutHeight = newHeight;\n }\n else if (isPercentage(height)) {\n // If value is string \"0%\" make sure we convert it to number 0\n newHeight = height === '0%' ? 0 : height;\n timeoutHeight = newHeight;\n }\n else {\n // If not, animate to content height\n // and then reset to auto\n newHeight = contentHeight; // TODO solve contentHeight = 0\n timeoutHeight = 'auto';\n timeoutOverflow = undefined;\n }\n if (isCurrentHeightAuto) {\n // This is the height to be animated to\n timeoutHeight = newHeight;\n // If previous height was 'auto'\n // set starting height explicitly to be able to use transition\n newHeight = contentHeight;\n }\n // Animation classes\n const newAnimationStateClassNames = [\n stateClasses.current.animating,\n (prevHeight.current === 'auto' || height < prevHeight.current) &&\n stateClasses.current.animatingUp,\n (height === 'auto' || height > prevHeight.current) &&\n stateClasses.current.animatingDown,\n timeoutHeight === 0 && stateClasses.current.animatingToHeightZero,\n timeoutHeight === 'auto' &&\n stateClasses.current.animatingToHeightAuto,\n typeof timeoutHeight === 'number' && timeoutHeight > 0\n ? stateClasses.current.animatingToHeightSpecific\n : null,\n ]\n .filter((v) => v)\n .join(' ');\n // Animation classes to be put after animation is complete\n const timeoutAnimationStateClasses = getStaticStateClasses(stateClasses.current, timeoutHeight);\n // Set starting height and animating classes\n // When animating from 'auto' we first need to set fixed height\n // that change should be animated\n setCurrentHeight(newHeight);\n setOverflow('hidden');\n setUseTransitions(!isCurrentHeightAuto);\n setAnimationStateClassNames(newAnimationStateClassNames);\n // Clear timeouts\n clearTimeout(timeoutID.current);\n clearTimeout(animationClassesTimeoutID.current);\n if (isCurrentHeightAuto) {\n // When animating from 'auto' we use a short timeout to start animation\n // after setting fixed height above\n timeoutUseTransitions = true;\n // Short timeout to allow rendering of the initial animation state first\n timeoutID.current = setTimeout(() => {\n setCurrentHeight(timeoutHeight);\n setOverflow(timeoutOverflow);\n setUseTransitions(timeoutUseTransitions);\n // ANIMATION STARTS, run a callback if it exists\n onHeightAnimationStart === null || onHeightAnimationStart === void 0 ? void 0 : onHeightAnimationStart(timeoutHeight);\n }, 50);\n // Set static classes and remove transitions when animation ends\n animationClassesTimeoutID.current = setTimeout(() => {\n setUseTransitions(false);\n setAnimationStateClassNames(timeoutAnimationStateClasses);\n // ANIMATION ENDS\n // Hide content if height is 0 (to prevent tabbing into it)\n hideContent(contentElement.current, timeoutHeight, disableDisplayNone);\n // Run a callback if it exists\n onHeightAnimationEnd === null || onHeightAnimationEnd === void 0 ? void 0 : onHeightAnimationEnd(timeoutHeight);\n }, totalDuration);\n }\n else {\n // ANIMATION STARTS, run a callback if it exists\n onHeightAnimationStart === null || onHeightAnimationStart === void 0 ? void 0 : onHeightAnimationStart(newHeight);\n // Set end height, classes and remove transitions when animation is complete\n timeoutID.current = setTimeout(() => {\n setCurrentHeight(timeoutHeight);\n setOverflow(timeoutOverflow);\n setUseTransitions(false);\n setAnimationStateClassNames(timeoutAnimationStateClasses);\n // ANIMATION ENDS\n // If height is auto, don't hide the content\n // (case when element is empty, therefore height is 0)\n if (height !== 'auto') {\n // Hide content if height is 0 (to prevent tabbing into it)\n hideContent(contentElement.current, newHeight, disableDisplayNone); // TODO solve newHeight = 0\n }\n // Run a callback if it exists\n onHeightAnimationEnd === null || onHeightAnimationEnd === void 0 ? void 0 : onHeightAnimationEnd(newHeight);\n }, totalDuration);\n }\n }\n prevHeight.current = height;\n return () => {\n clearTimeout(timeoutID.current);\n clearTimeout(animationClassesTimeoutID.current);\n };\n // This should be explicitly run only on height change\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [height]);\n // ------------------ Render\n const componentStyle = Object.assign(Object.assign({}, style), { height: currentHeight, overflow: overflow || (style === null || style === void 0 ? void 0 : style.overflow) });\n if (useTransitions && applyInlineTransitions) {\n componentStyle.transition = `height ${duration}ms ${easing} ${delay}ms`;\n // Include transition passed through styles\n if (style === null || style === void 0 ? void 0 : style.transition) {\n componentStyle.transition = `${style.transition}, ${componentStyle.transition}`;\n }\n // Add webkit vendor prefix still used by opera, blackberry...\n componentStyle.WebkitTransition = componentStyle.transition;\n }\n const contentStyle = {};\n if (animateOpacity) {\n contentStyle.transition = `opacity ${duration}ms ${easing} ${delay}ms`;\n // Add webkit vendor prefix still used by opera, blackberry...\n contentStyle.WebkitTransition = contentStyle.transition;\n if (currentHeight === 0) {\n contentStyle.opacity = 0;\n }\n }\n // Check if user passed aria-hidden prop\n const hasAriaHiddenProp = typeof divProps['aria-hidden'] !== 'undefined';\n const ariaHidden = hasAriaHiddenProp\n ? divProps['aria-hidden']\n : height === 0;\n return (React.createElement(\"div\", Object.assign({}, divProps, { \"aria-hidden\": ariaHidden, className: `${animationStateClassNames} ${className}`, style: componentStyle, ref: ref }),\n React.createElement(\"div\", { className: contentClassName, style: contentStyle, ref: (el) => {\n contentElement.current = el;\n if (contentRef) {\n contentRef.current = el;\n }\n } }, children)));\n});\nexport default AnimateHeight;\n","\"use client\";\n\nimport React from \"react\";\nimport PropTypes from \"prop-types\";\nimport AnimateHeight from \"react-animate-height\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst noop = x => x;\nconst Collapse = ({\n expand = false,\n minHeight = \"0px\",\n children,\n onAnimationStart = noop,\n onAnimationEnd = noop,\n ...props\n}) => {\n const height = expand ? \"auto\" : parseInt(minHeight);\n return /*#__PURE__*/_jsx(\"div\", {\n ...props,\n children: /*#__PURE__*/_jsx(AnimateHeight, {\n onHeightAnimationStart: onAnimationStart,\n onHeightAnimationEnd: onAnimationEnd,\n duration: 80,\n easing: expand ? \"ease-in\" : \"ease-out\",\n height: height,\n children: children\n })\n });\n};\nCollapse.propTypes = {\n /** Content that can be collapsed */\n children: PropTypes.node.isRequired,\n /** Whether the content is collapsed */\n expand: PropTypes.bool,\n /** The minimum height (in pixels) of the content when collapsed */\n minHeight: PropTypes.string,\n /** Callback after animation starts */\n onAnimationStart: PropTypes.func,\n /** Callback after animation finishes */\n onAnimationEnd: PropTypes.func\n};\nexport default Collapse;","\"use client\";\n\nimport React, { useState, useEffect, useRef } from \"react\";\nimport PropTypes from \"prop-types\";\nimport Collapse from \"@churchofjesuschrist/eden-collapse\";\n\n/**\n * A limitedly styled implementation of the native [`
`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/details) element for use in hiding/showing content.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst Details = ({\n open,\n children,\n onToggle,\n ...props\n}) => {\n const detailsRef = useRef(null);\n const [expand, setExpand] = useState(open);\n const [internalOpen, setInternalOpen] = useState(open);\n const childrenArray = React.Children.toArray(children);\n const summary = childrenArray.shift();\n useEffect(() => {\n const cleanUp = internalOnToggle({}, open);\n return () => {\n cleanUp();\n };\n }, [open]); // eslint-disable-line react-hooks/exhaustive-deps\n\n useEffect(() => {\n setExpand(internalOpen);\n }, [internalOpen]);\n const internalOnToggle = (event, nextOpen) => {\n let timeout;\n if (nextOpen) {\n timeout = setTimeout(() => {\n setInternalOpen(true);\n });\n } else {\n if (expand) {\n event.preventDefault?.();\n setExpand(false);\n } else {\n timeout = setTimeout(() => {\n setInternalOpen(false);\n });\n }\n }\n // Return a clean up function\n return () => clearTimeout(timeout);\n };\n return /*#__PURE__*/_jsxs(\"details\", {\n ref: detailsRef,\n open: internalOpen,\n onToggle: event => {\n event.stopPropagation();\n onToggle?.(event);\n },\n ...props,\n children: [summary.props.onClick ? summary : /*#__PURE__*/React.cloneElement(summary, {\n onClick: event => {\n internalOnToggle(event, !internalOpen);\n }\n }), /*#__PURE__*/_jsx(Collapse, {\n expand: expand,\n minHeight: \"0px\",\n onAnimationEnd: () => {\n if (!expand) {\n detailsRef.current.querySelector(\"summary\").click();\n }\n },\n children: childrenArray\n })]\n });\n};\nDetails.propTypes = {\n /** Contents rendered inside the details. First child must be a `` element. */\n children: PropTypes.node.isRequired,\n /** Whether details is open */\n open: PropTypes.bool,\n /** Handler called after a toggle occurs. Use `event.target.open` to get the current `open` state of the `Details`.*/\n onToggle: PropTypes.func\n};\nexport default Details;","import { css } from \"styled-components\";\nimport { spacing8 } from \"@churchofjesuschrist/eden-style-constants\";\nconst shared = css([\"margin:0;& > :first-child{margin-block-start:0;}& > :last-child{margin-block-end:0;}& > :first-child > :first-child{margin-block-start:0;}& > :last-child > :last-child{margin-block-end:0;}& ol,& ul{& li:not(:last-child){margin-block-end:\", \";}}& ol{list-style-type:decimal;& ol{list-style-type:upper-latin;& ol{list-style-type:upper-roman;& ol{list-style-type:lower-latin;}}}}& ul{list-style-type:disc;& ul{list-style-type:circle;& ul{list-style-type:square;}}}\"], spacing8);\nexport default shared;","\"use client\";\n\nimport { createContext } from \"react\";\nexport const AppearanceContext = /*#__PURE__*/createContext();","\"use client\";\n\nimport React, { useState, useEffect, useRef, useContext } from \"react\";\nimport PropTypes from \"prop-types\";\nimport styled, { ThemeProvider } from \"styled-components\";\nimport { AppearanceContext } from \"./AppearanceContext.js\";\nimport { getAllModeStyles } from \"./modes\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst AppearanceRoot = styled.div.withConfig({\n componentId: \"sc-1gjs9k6-0\"\n})([\"\", \" background:var(--background-color-level-current,#ffffff);color:var(--text-color-primary,#212225);\"], ({\n $mode,\n $parentMode,\n $forceOutput\n}) => {\n /* If the parent is the same as the current mode, don't output any styles */\n if ($mode === $parentMode && !$forceOutput) return;\n const lightStyles = getAllModeStyles(\"light\");\n const darkStyles = getAllModeStyles(\"dark\");\n /* Contrary to Appearance we need to output the light styles to override anything set by a parent */\n if ($mode === \"light\") {\n return lightStyles;\n } else if ($mode === \"dark\") {\n return darkStyles;\n } else {\n return `\n ${lightStyles}\n @media(prefers-color-scheme: dark) { ${darkStyles} }\n `;\n }\n});\n\n/** Provides \"Appearance\" support to a section of a page. Usually to provide a dark/inverted section within a normally \"light\" page. This can be used with or without using around the full application. */\nconst AppearanceSection = /*#__PURE__*/React.forwardRef(({\n children,\n mode = \"os\",\n renderAs,\n ...props\n}, ref) => {\n const appearanceContext = useContext(AppearanceContext);\n /**\n * Store the context object in state (see https://reactjs.org/docs/context.html#caveats)\n * Using an object now lets us add additional properties in the future.\n */\n const [contextValue, setContextValue] = useState({\n mode\n });\n const firstRender = useRef(true);\n // Update the contextValue state everytime the `mode` prop changes\n useEffect(() => {\n /**\n * Don't need the effect to set the state on the first render since it\n * already has a default value.\n */\n if (firstRender.current === true) {\n firstRender.current = false;\n } else {\n setContextValue({\n mode\n });\n }\n }, [mode]);\n return /*#__PURE__*/_jsx(AppearanceContext.Provider, {\n value: contextValue,\n children: /*#__PURE__*/_jsx(ThemeProvider, {\n theme: {\n edenAppearanceMode: contextValue.mode\n },\n children: /*#__PURE__*/_jsx(AppearanceRoot, {\n $mode: mode,\n $parentMode: appearanceContext?.mode,\n $forceOutput: props.forceOutput,\n as: renderAs,\n ...props,\n ref: ref,\n children: children\n })\n })\n });\n});\nAppearanceSection.displayName = \"AppearanceSection\";\nAppearanceSection.propTypes = {\n /** What mode should be used */\n mode: PropTypes.oneOf([\"light\", \"dark\", \"os\"]),\n /** Content */\n children: PropTypes.node,\n /** Normally this won't output CSS if the current section is inside a parent section of the same `mode`. In specific circumstances, you may need to force it to. */\n forceOutput: PropTypes.bool,\n /** The HTML tag string (e.g., `\"div\"`) or React component to render as. */\n renderAs: PropTypes.elementType\n};\nexport default AppearanceSection;","import React, { useContext } from \"react\";\nimport { AppearanceContext } from \"./AppearanceContext\";\nimport { AppearanceSection } from \"..\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const AppearanceInvert = ({\n inverted,\n children,\n style\n}) => {\n // This allows previous `inverted` use to still work. If `inverted` is true, wrap the children in an Appearance with mode=\"dark\", but only if Appearance isn't set in the context already. Otherwise return the children as is.\n // check the context and if we are already inside of an Appearance, do not wrap again\n const localAppearanceContext = useContext(AppearanceContext);\n return inverted && localAppearanceContext?.mode !== \"dark\" ?\n /*#__PURE__*/\n // Remove the background that is normally set since this is used in some places for just text that could be over other background colors\n _jsx(AppearanceSection, {\n mode: \"dark\",\n style: {\n background: \"initial\",\n ...style\n },\n children: children\n }) : children;\n};","\"use client\";\n\nimport React from \"react\";\nimport PropTypes from \"prop-types\";\nimport styled from \"styled-components\";\nimport { sans as zoram, lineHeightLoose, fontSize16, fontWeightNormal, fontWeightBold } from \"@churchofjesuschrist/eden-style-constants\";\nimport shared from \"./shared\";\nimport { AppearanceInvert } from \"@churchofjesuschrist/eden-appearance\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Container3 = styled.div.withConfig({\n componentId: \"sc-1szn76m-0\"\n})([\"font-family:\", \";font-weight:\", \";line-height:\", \";font-size:\", \";\", \";& b,& strong{font-weight:\", \";}\"], zoram, fontWeightNormal, lineHeightLoose, fontSize16, shared, fontWeightBold);\n\n/** `Text3` (Body Condensed) is used for long-form reading when using Condensed spacing. */\nconst Text3 = ({\n children,\n renderAs = \"div\",\n inverted,\n ...props\n}) => /*#__PURE__*/_jsx(AppearanceInvert, {\n inverted: inverted,\n children: /*#__PURE__*/_jsx(Container3, {\n as: renderAs,\n ...props,\n children: children\n })\n});\nText3.displayName = \"Text3\";\nText3.propTypes = {\n /** Content */\n children: PropTypes.node.isRequired,\n /** What html tag or custom react element to render the text as */\n renderAs: PropTypes.elementType,\n /** Whether to apply styles that help the text stand out on a dark background. (deprecated) */\n inverted: PropTypes.bool\n};\nexport default Text3;","\"use client\";\n\nimport React from \"react\";\nimport PropTypes from \"prop-types\";\nimport styled from \"styled-components\";\nimport { spacing24, spacing48, borderColorTertiary } from \"@churchofjesuschrist/eden-style-constants\";\nimport { Details } from \"@churchofjesuschrist/eden-details\";\nimport { Text3 } from \"@churchofjesuschrist/eden-text\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst Wrapper = styled(Details).withConfig({\n componentId: \"sc-58af31-0\"\n})([\"border-block-end:1px solid \", \";\"], borderColorTertiary);\nconst Content = styled(Text3).withConfig({\n componentId: \"sc-58af31-1\"\n})([\"padding-inline-start:\", \";padding-inline-end:\", \";padding-block-end:\", \";\"], spacing24, spacing48, spacing48);\n\n/**\n * A `Drawer` enables users to expand and collapse sections of content, emphasizing important details of a section and revealing more information upon a tap or a click. Because of this, significant information is displayed first (`Summary`), while the additional details remain easily accessible and readily available for comparison.\n */\nconst Drawer = ({\n open,\n onToggle,\n children,\n ...props\n}) => {\n const childrenArray = React.Children.toArray(children);\n const summary = childrenArray.shift();\n return /*#__PURE__*/_jsxs(Wrapper, {\n as: Details,\n onToggle: onToggle,\n open: open,\n ...props,\n children: [summary, /*#__PURE__*/_jsx(Content, {\n children: childrenArray\n })]\n });\n};\nDrawer.displayName = \"Drawer\";\nDrawer.propTypes = {\n /** Contents rendered inside the details. First child needs to be an `eden-drawer` `` element. */\n children: PropTypes.node.isRequired,\n /** Whether details is open */\n open: PropTypes.bool,\n /** Handler called after a toggle occurs. Use `event.target.open` to get the current `open` state of the `Drawer`. */\n onToggle: PropTypes.func\n};\nexport default Drawer;"],"names":["appearanceStyles","getAllModeStyles","mode","curMode","Object","keys","map","key","join","sendUpdate","name","values","light","dark","modeStyles","modeCssVariableRef","setStyleConstant","_ref","prefix","noDuplicateCheck","combinedName","cssVarReferenceWithDefault","undefined","console","warn","setAppearanceConstantGlobal","_ref3","grey3","grey5","grey30","blue15","white","sans","fontWeightNormal","fontWeightSemiBold","fontWeightBold","fontSize16","fontSize18","lineHeightTight","lineHeightLoose","spacing8","spacing16","spacing24","spacing48","whiteTransparency20","whiteTransparency30","whiteTransparency70","backgroundColorHover","textColorPrimary","accentColorLink","borderColorTertiary","internalUseOnlyPriority4","css","zoram","H4Styled","styled","h4","withConfig","componentId","H4","children","renderAs","props","_jsx","as","propTypes","PropTypes","isRequired","SVG","svg","$size","_ref2","ChevronDown","_ref4","size","color","title","_jsxs","viewBox","xmlns","role","fill","d","base","Chevron","ChevDown","HandleOuter","summary","FlexWrapper","div","Summary","EdenSummary","Title","displayName","isPercentage","height","length","n","number","parseFloat","isNaN","isFinite","isNumber","substring","hideContent","element","disableDisplayNone","style","display","ANIMATION_STATE_CLASSES","animating","animatingUp","animatingDown","animatingToHeightZero","animatingToHeightAuto","animatingToHeightSpecific","static","staticHeightZero","staticHeightAuto","staticHeightSpecific","getStaticStateClasses","animationStateClasses","filter","v","propsToOmitFromDiv","React","componentProps","ref","animateOpacity","applyInlineTransitions","className","contentClassName","delay","userDelay","duration","userDuration","easing","onHeightAnimationEnd","onHeightAnimationStart","contentRef","divProps","assign","forEach","propKey","prevHeight","useRef","contentElement","animationClassesTimeoutID","timeoutID","stateClasses","isBrowser","window","prefersReducedMotion","matchMedia","matches","current","initHeight","initOverflow","currentHeight","setCurrentHeight","useState","overflow","setOverflow","useTransitions","setUseTransitions","animationStateClassNames","setAnimationStateClassNames","useEffect","showContent","contentHeight","offsetHeight","totalDuration","newHeight","timeoutHeight","timeoutUseTransitions","timeoutOverflow","isCurrentHeightAuto","newAnimationStateClassNames","timeoutAnimationStateClasses","clearTimeout","setTimeout","componentStyle","transition","WebkitTransition","contentStyle","opacity","ariaHidden","el","noop","x","Collapse","expand","minHeight","onAnimationStart","onAnimationEnd","parseInt","AnimateHeight","Details","open","onToggle","detailsRef","setExpand","internalOpen","setInternalOpen","childrenArray","toArray","shift","cleanUp","internalOnToggle","event","nextOpen","timeout","preventDefault","stopPropagation","onClick","querySelector","click","AppearanceContext","createContext","AppearanceRoot","$mode","$parentMode","$forceOutput","lightStyles","darkStyles","AppearanceSection","appearanceContext","useContext","contextValue","setContextValue","firstRender","Provider","value","ThemeProvider","theme","edenAppearanceMode","forceOutput","AppearanceInvert","inverted","localAppearanceContext","background","Container3","shared","Text3","Wrapper","Content","Drawer"],"sourceRoot":""}