{"version":3,"file":"87f665efe1dd0ab479a20cc6a6664ea05d878406-2280a2af6f85a731b013.js","mappings":"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","sources":["webpack://myfuture/./node_modules/@radix-ui/react-progress/node_modules/@radix-ui/react-context/dist/index.mjs","webpack://myfuture/./node_modules/@radix-ui/react-progress/dist/index.mjs","webpack://myfuture/./src/components/demo/data-driven/bar.module.scss","webpack://myfuture/./src/components/demo/data-driven/Bar.js","webpack://myfuture/./src/components/demo/data-driven/bargraph.module.scss","webpack://myfuture/./src/components/demo/data-driven/BarGraph.js","webpack://myfuture/./src/components/demo/data-driven/compensation.module.scss","webpack://myfuture/./src/hooks/useResponsive.js","webpack://myfuture/./node_modules/@radix-ui/react-tabs/node_modules/@radix-ui/primitive/dist/index.mjs","webpack://myfuture/./node_modules/@radix-ui/react-tabs/node_modules/@radix-ui/react-compose-refs/dist/index.mjs","webpack://myfuture/./node_modules/@radix-ui/react-tabs/node_modules/@radix-ui/react-slot/dist/index.mjs","webpack://myfuture/./node_modules/@radix-ui/react-tabs/node_modules/@radix-ui/react-primitive/dist/index.mjs","webpack://myfuture/./node_modules/@radix-ui/react-tabs/node_modules/@radix-ui/react-roving-focus/dist/index.mjs","webpack://myfuture/./node_modules/@radix-ui/react-tabs/node_modules/@radix-ui/react-collection/dist/index.mjs","webpack://myfuture/./node_modules/@radix-ui/react-tabs/node_modules/@radix-ui/react-presence/dist/index.mjs","webpack://myfuture/./node_modules/@radix-ui/react-tabs/dist/index.mjs","webpack://myfuture/./node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/primitive/dist/index.mjs","webpack://myfuture/./node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-compose-refs/dist/index.mjs","webpack://myfuture/./node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-slot/dist/index.mjs","webpack://myfuture/./node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-primitive/dist/index.mjs","webpack://myfuture/./node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-dismissable-layer/dist/index.mjs","webpack://myfuture/./node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-arrow/dist/index.mjs","webpack://myfuture/./node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-popper/dist/index.mjs","webpack://myfuture/./node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-portal/dist/index.mjs","webpack://myfuture/./node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-presence/dist/index.mjs","webpack://myfuture/./node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-visually-hidden/dist/index.mjs","webpack://myfuture/./node_modules/@radix-ui/react-tooltip/dist/index.mjs","webpack://myfuture/./src/components/demo/data-driven/Compensation.js","webpack://myfuture/./src/components/demo/data-driven/Education.js","webpack://myfuture/./src/components/demo/data-driven/education.module.scss","webpack://myfuture/./src/components/demo/data-driven/overview.module.scss","webpack://myfuture/./src/components/demo/data-driven/Overview.js","webpack://myfuture/./src/components/demo/data-driven/skills.module.scss","webpack://myfuture/./src/components/demo/data-driven/Skills.js"],"sourcesContent":["// packages/react/context/src/createContext.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createContext2(rootComponentName, defaultContext) {\n const Context = React.createContext(defaultContext);\n function Provider(props) {\n const { children, ...context } = props;\n const value = React.useMemo(() => context, Object.values(context));\n return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n }\n function useContext2(consumerName) {\n const context = React.useContext(Context);\n if (context) return context;\n if (defaultContext !== void 0) return defaultContext;\n throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n }\n Provider.displayName = rootComponentName + \"Provider\";\n return [Provider, useContext2];\n}\nfunction createContextScope(scopeName, createContextScopeDeps = []) {\n let defaultContexts = [];\n function createContext3(rootComponentName, defaultContext) {\n const BaseContext = React.createContext(defaultContext);\n const index = defaultContexts.length;\n defaultContexts = [...defaultContexts, defaultContext];\n function Provider(props) {\n const { scope, children, ...context } = props;\n const Context = scope?.[scopeName][index] || BaseContext;\n const value = React.useMemo(() => context, Object.values(context));\n return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n }\n function useContext2(consumerName, scope) {\n const Context = scope?.[scopeName][index] || BaseContext;\n const context = React.useContext(Context);\n if (context) return context;\n if (defaultContext !== void 0) return defaultContext;\n throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n }\n Provider.displayName = rootComponentName + \"Provider\";\n return [Provider, useContext2];\n }\n const createScope = () => {\n const scopeContexts = defaultContexts.map((defaultContext) => {\n return React.createContext(defaultContext);\n });\n return function useScope(scope) {\n const contexts = scope?.[scopeName] || scopeContexts;\n return React.useMemo(\n () => ({ [`__scope${scopeName}`]: { ...scope, [scopeName]: contexts } }),\n [scope, contexts]\n );\n };\n };\n createScope.scopeName = scopeName;\n return [createContext3, composeContextScopes(createScope, ...createContextScopeDeps)];\n}\nfunction composeContextScopes(...scopes) {\n const baseScope = scopes[0];\n if (scopes.length === 1) return baseScope;\n const createScope = () => {\n const scopeHooks = scopes.map((createScope2) => ({\n useScope: createScope2(),\n scopeName: createScope2.scopeName\n }));\n return function useComposedScopes(overrideScopes) {\n const nextScopes = scopeHooks.reduce((nextScopes2, { useScope, scopeName }) => {\n const scopeProps = useScope(overrideScopes);\n const currentScope = scopeProps[`__scope${scopeName}`];\n return { ...nextScopes2, ...currentScope };\n }, {});\n return React.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);\n };\n };\n createScope.scopeName = baseScope.scopeName;\n return createScope;\n}\nexport {\n createContext2 as createContext,\n createContextScope\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// packages/react/progress/src/Progress.tsx\nimport * as React from \"react\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { jsx } from \"react/jsx-runtime\";\nvar PROGRESS_NAME = \"Progress\";\nvar DEFAULT_MAX = 100;\nvar [createProgressContext, createProgressScope] = createContextScope(PROGRESS_NAME);\nvar [ProgressProvider, useProgressContext] = createProgressContext(PROGRESS_NAME);\nvar Progress = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeProgress,\n value: valueProp = null,\n max: maxProp,\n getValueLabel = defaultGetValueLabel,\n ...progressProps\n } = props;\n if ((maxProp || maxProp === 0) && !isValidMaxNumber(maxProp)) {\n console.error(getInvalidMaxError(`${maxProp}`, \"Progress\"));\n }\n const max = isValidMaxNumber(maxProp) ? maxProp : DEFAULT_MAX;\n if (valueProp !== null && !isValidValueNumber(valueProp, max)) {\n console.error(getInvalidValueError(`${valueProp}`, \"Progress\"));\n }\n const value = isValidValueNumber(valueProp, max) ? valueProp : null;\n const valueLabel = isNumber(value) ? getValueLabel(value, max) : void 0;\n return /* @__PURE__ */ jsx(ProgressProvider, { scope: __scopeProgress, value, max, children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"aria-valuemax\": max,\n \"aria-valuemin\": 0,\n \"aria-valuenow\": isNumber(value) ? value : void 0,\n \"aria-valuetext\": valueLabel,\n role: \"progressbar\",\n \"data-state\": getProgressState(value, max),\n \"data-value\": value ?? void 0,\n \"data-max\": max,\n ...progressProps,\n ref: forwardedRef\n }\n ) });\n }\n);\nProgress.displayName = PROGRESS_NAME;\nvar INDICATOR_NAME = \"ProgressIndicator\";\nvar ProgressIndicator = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeProgress, ...indicatorProps } = props;\n const context = useProgressContext(INDICATOR_NAME, __scopeProgress);\n return /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-state\": getProgressState(context.value, context.max),\n \"data-value\": context.value ?? void 0,\n \"data-max\": context.max,\n ...indicatorProps,\n ref: forwardedRef\n }\n );\n }\n);\nProgressIndicator.displayName = INDICATOR_NAME;\nfunction defaultGetValueLabel(value, max) {\n return `${Math.round(value / max * 100)}%`;\n}\nfunction getProgressState(value, maxValue) {\n return value == null ? \"indeterminate\" : value === maxValue ? \"complete\" : \"loading\";\n}\nfunction isNumber(value) {\n return typeof value === \"number\";\n}\nfunction isValidMaxNumber(max) {\n return isNumber(max) && !isNaN(max) && max > 0;\n}\nfunction isValidValueNumber(value, max) {\n return isNumber(value) && !isNaN(value) && value <= max && value >= 0;\n}\nfunction getInvalidMaxError(propValue, componentName) {\n return `Invalid prop \\`max\\` of value \\`${propValue}\\` supplied to \\`${componentName}\\`. Only numbers greater than 0 are valid max values. Defaulting to \\`${DEFAULT_MAX}\\`.`;\n}\nfunction getInvalidValueError(propValue, componentName) {\n return `Invalid prop \\`value\\` of value \\`${propValue}\\` supplied to \\`${componentName}\\`. The \\`value\\` prop must be:\n - a positive number\n - less than the value passed to \\`max\\` (or ${DEFAULT_MAX} if no \\`max\\` prop is set)\n - \\`null\\` or \\`undefined\\` if the progress is indeterminate.\n\nDefaulting to \\`null\\`.`;\n}\nvar Root = Progress;\nvar Indicator = ProgressIndicator;\nexport {\n Indicator,\n Progress,\n ProgressIndicator,\n Root,\n createProgressScope\n};\n//# sourceMappingURL=index.mjs.map\n","// extracted by mini-css-extract-plugin\nexport var bar = \"bar-module--bar--59de9\";\nexport var blue = \"bar-module--blue--a22de\";\nexport var blue100 = \"bar-module--blue100--7e4b6\";\nexport var blue200 = \"bar-module--blue200--9e547\";\nexport var blue75 = \"bar-module--blue75--7a8a6\";\nexport var citrus = \"bar-module--citrus--f93bf\";\nexport var citrus100 = \"bar-module--citrus100--ea707\";\nexport var citrus200 = \"bar-module--citrus200--d6254\";\nexport var citrus75 = \"bar-module--citrus75--958bf\";\nexport var grey = \"bar-module--grey--a7b76\";\nexport var horizontal = \"bar-module--horizontal--f28df\";\nexport var progress = \"bar-module--progress--ec682\";\nexport var small = \"bar-module--small--557d5\";\nexport var vertical = \"bar-module--vertical--8c9fc\";","import React from \"react\";\nimport * as Progress from \"@radix-ui/react-progress\";\nimport * as styles from \"./bar.module.scss\";\n\nconst Bar = ({ orientation, color, percentage, variant }) => {\n const barRef = React.useRef(null);\n if (\n orientation !== \"horizontal\" &&\n color === \"citrus\" &&\n variant !== \"small\"\n ) {\n percentage <= 75 && percentage > 50 && (color = \"citrus100\");\n percentage <= 50 && (color = \"citrus75\");\n }\n if (orientation !== \"horizontal\" && color === \"blue\" && variant !== \"small\") {\n percentage <= 75 && percentage > 50 && (color = \"blue100\");\n percentage <= 50 && (color = \"blue75\");\n }\n\n React.useEffect(() => {\n if (variant !== \"small\") {\n barRef.current.style.setProperty(\"--percentage\", percentage);\n }\n }, [percentage, variant]);\n\n if (variant === \"small\") {\n return (\n <Progress.Root\n className={`${styles[\"bar\"]} ${styles[orientation]} ${styles[\"small\"]}`}\n value={percentage}\n ref={barRef}\n >\n <Progress.Indicator\n className={`${styles[\"progress\"]} ${styles[color]}`}\n />\n </Progress.Root>\n );\n }\n\n return (\n <Progress.Root\n className={`${styles[\"bar\"]} ${styles[orientation]}`}\n value={percentage}\n ref={barRef}\n >\n <Progress.Indicator\n className={`${styles[\"progress\"]} ${styles[color]}`}\n style={{ transform: `translateX(-${100 - percentage}%)` }}\n />\n </Progress.Root>\n );\n};\n\nexport default Bar;\n","// extracted by mini-css-extract-plugin\nexport var barChart = \"bargraph-module--bar-chart--0bc17\";\nexport var barContainer = \"bargraph-module--bar-container--082c3\";\nexport var barGraph = \"bargraph-module--bar-graph--26a42\";\nexport var barItem = \"bargraph-module--bar-item--01b7d\";\nexport var label = \"bargraph-module--label--7296b\";\nexport var value = \"bargraph-module--value--981f5\";","import React from \"react\";\nimport Bar from \"./Bar\";\nimport * as styles from \"./bargraph.module.scss\";\nimport MissingData from \"./MissingData\";\n\nconst BarGraph = ({ title, category, dataArr, variant }) => {\n if (dataArr && dataArr.length === 0)\n return (\n <div className={styles[\"barGraph\"]}>\n <h3>{title}</h3>\n <div className={styles[\"barContainer\"]}>\n <MissingData />\n </div>\n </div>\n );\n const listItems = dataArr.map(([label, value], idx) => (\n <BarGraphItem\n key={`${label}-${idx}`}\n label={label}\n value={value}\n variant={variant}\n idx={idx}\n />\n ));\n\n return (\n <div className={styles[\"barGraph\"]}>\n <h3>{title}</h3>\n <div className={styles[\"barContainer\"]}>\n {category && <h4>{category}</h4>}\n <ul>{listItems}</ul>\n </div>\n </div>\n );\n};\n\nconst BarGraphItem = ({ value, variant, label }) => {\n let activeLength = 0;\n const isNumber = !isNaN(Number(value));\n\n const activeLengthConverter = {\n High: 10,\n Mid: 6,\n Low: 3,\n };\n\n if (!isNumber) activeLength = activeLengthConverter[value];\n\n if (isNumber) {\n let calcLength = Math.ceil(value / 5);\n if (calcLength >= 10) calcLength = 10;\n activeLength = calcLength;\n }\n\n const getColor = (value, isActive, isNumber) => {\n let color = \"grey\";\n\n if (isActive && !isNumber) {\n variant === \"military\" ? (color = \"blue\") : (color = \"citrus\");\n const memo = {\n 10: `${color}200`,\n 6: `${color}100`,\n 3: `${color}75`,\n };\n color = memo[activeLength] || \"grey\";\n }\n\n if (isNumber && isActive) {\n variant === \"military\" ? (color = \"blue\") : (color = \"citrus\");\n activeLength < 3\n ? (color = `${color}75`)\n : activeLength >= 3 && activeLength <= 6\n ? (color = `${color}100`)\n : (color = `${color}200`);\n }\n\n return color;\n };\n\n const Bars = [];\n for (let i = 1; i <= 10; i++) {\n Bars.push(\n <Bar\n key={`bar-${i}`}\n color={getColor(value, i <= activeLength, isNumber)}\n variant={\"small\"}\n percentage={i <= activeLength ? 100 : 0}\n />,\n );\n }\n\n return (\n <>\n <li>\n <div className={styles[\"barItem\"]}>\n <p className={styles[\"label\"]}>{label}</p>\n <div className={styles[\"barChart\"]}>{Bars}</div>\n <p className={styles[\"value\"]}>{isNumber ? `${value}%` : value}</p>\n </div>\n </li>\n </>\n );\n};\n\nexport default BarGraph;\n","// extracted by mini-css-extract-plugin\nexport var IconButton = \"compensation-module--IconButton--a3ea1\";\nexport var TooltipArrow = \"compensation-module--TooltipArrow--14516\";\nexport var TooltipContent = \"compensation-module--TooltipContent--5352f\";\nexport var blue = \"compensation-module--blue--5fce0\";\nexport var circle = \"compensation-module--circle--c6ed5\";\nexport var citrus = \"compensation-module--citrus--217ea\";\nexport var ctaGroup = \"compensation-module--cta-group--89897\";\nexport var description = \"compensation-module--description--3e963\";\nexport var grey = \"compensation-module--grey--bddcd\";\nexport var infoSection = \"compensation-module--info-section--66fc5\";\nexport var inner = \"compensation-module--inner--398fa\";\nexport var label = \"compensation-module--label--bd9be\";\nexport var militaryCta = \"compensation-module--militaryCta--23aa9\";\nexport var missingData = \"compensation-module--missing-data--411ef\";\nexport var missingDataWrapper = \"compensation-module--missing-data-wrapper--bffac\";\nexport var salary = \"compensation-module--salary--a555a\";\nexport var salaryAverage = \"compensation-module--salary-average--d9136\";\nexport var salaryGrid = \"compensation-module--salary-grid--b93d3\";\nexport var salaryIcon = \"compensation-module--salary-icon--c5287\";\nexport var salaryItem = \"compensation-module--salary-item--47100\";\nexport var salaryWithIcon = \"compensation-module--salary-with-icon--cc291\";\nexport var slideDownAndFade = \"compensation-module--slideDownAndFade--b5dbd\";\nexport var slideLeftAndFade = \"compensation-module--slideLeftAndFade--b33ad\";\nexport var slideRightAndFade = \"compensation-module--slideRightAndFade--6ce81\";\nexport var slideUpAndFade = \"compensation-module--slideUpAndFade--f4d00\";\nexport var state = \"compensation-module--state--a9b1c\";\nexport var statePicker = \"compensation-module--statePicker--05e3f\";\nexport var stateSalaryContainer = \"compensation-module--state-salary-container--11c05\";\nexport var subTitle = \"compensation-module--sub-title--9b3d2\";\nexport var tabsContent = \"compensation-module--tabs-content--7a146\";\nexport var tabsList = \"compensation-module--tabs-list--4f52b\";","import { useEffect, useState } from \"react\";\n\nexport const useResponsive = () => {\n const [isDesktop, setDesktop] = useState(false);\n\n useEffect(() => {\n if (typeof window !== \"undefined\") {\n setDesktop(window.innerWidth >= 768);\n }\n }, []);\n\n const updateMedia = () => {\n setDesktop(window.innerWidth >= 768);\n };\n\n useEffect(() => {\n if (typeof window !== \"undefined\") {\n window.addEventListener(\"resize\", updateMedia);\n }\n return () => window.removeEventListener(\"resize\", updateMedia);\n });\n\n return isDesktop;\n};\n","// packages/core/primitive/src/primitive.tsx\nfunction composeEventHandlers(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {\n return function handleEvent(event) {\n originalEventHandler?.(event);\n if (checkForDefaultPrevented === false || !event.defaultPrevented) {\n return ourEventHandler?.(event);\n }\n };\n}\nexport {\n composeEventHandlers\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/compose-refs/src/composeRefs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n if (typeof ref === \"function\") {\n return ref(value);\n } else if (ref !== null && ref !== void 0) {\n ref.current = value;\n }\n}\nfunction composeRefs(...refs) {\n return (node) => {\n let hasCleanup = false;\n const cleanups = refs.map((ref) => {\n const cleanup = setRef(ref, node);\n if (!hasCleanup && typeof cleanup == \"function\") {\n hasCleanup = true;\n }\n return cleanup;\n });\n if (hasCleanup) {\n return () => {\n for (let i = 0; i < cleanups.length; i++) {\n const cleanup = cleanups[i];\n if (typeof cleanup == \"function\") {\n cleanup();\n } else {\n setRef(refs[i], null);\n }\n }\n };\n }\n };\n}\nfunction useComposedRefs(...refs) {\n return React.useCallback(composeRefs(...refs), refs);\n}\nexport {\n composeRefs,\n useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/slot/src/Slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment, jsx } from \"react/jsx-runtime\";\nvar Slot = React.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n const childrenArray = React.Children.toArray(children);\n const slottable = childrenArray.find(isSlottable);\n if (slottable) {\n const newElement = slottable.props.children;\n const newChildren = childrenArray.map((child) => {\n if (child === slottable) {\n if (React.Children.count(newElement) > 1) return React.Children.only(null);\n return React.isValidElement(newElement) ? newElement.props.children : null;\n } else {\n return child;\n }\n });\n return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n }\n return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n});\nSlot.displayName = \"Slot\";\nvar SlotClone = React.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n if (React.isValidElement(children)) {\n const childrenRef = getElementRef(children);\n return React.cloneElement(children, {\n ...mergeProps(slotProps, children.props),\n // @ts-ignore\n ref: forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef\n });\n }\n return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n});\nSlotClone.displayName = \"SlotClone\";\nvar Slottable = ({ children }) => {\n return /* @__PURE__ */ jsx(Fragment, { children });\n};\nfunction isSlottable(child) {\n return React.isValidElement(child) && child.type === Slottable;\n}\nfunction mergeProps(slotProps, childProps) {\n const overrideProps = { ...childProps };\n for (const propName in childProps) {\n const slotPropValue = slotProps[propName];\n const childPropValue = childProps[propName];\n const isHandler = /^on[A-Z]/.test(propName);\n if (isHandler) {\n if (slotPropValue && childPropValue) {\n overrideProps[propName] = (...args) => {\n childPropValue(...args);\n slotPropValue(...args);\n };\n } else if (slotPropValue) {\n overrideProps[propName] = slotPropValue;\n }\n } else if (propName === \"style\") {\n overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n } else if (propName === \"className\") {\n overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n }\n }\n return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.ref;\n }\n getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.props.ref;\n }\n return element.props.ref || element.ref;\n}\nvar Root = Slot;\nexport {\n Root,\n Slot,\n Slottable\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/primitive/src/Primitive.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NODES = [\n \"a\",\n \"button\",\n \"div\",\n \"form\",\n \"h2\",\n \"h3\",\n \"img\",\n \"input\",\n \"label\",\n \"li\",\n \"nav\",\n \"ol\",\n \"p\",\n \"span\",\n \"svg\",\n \"ul\"\n];\nvar Primitive = NODES.reduce((primitive, node) => {\n const Node = React.forwardRef((props, forwardedRef) => {\n const { asChild, ...primitiveProps } = props;\n const Comp = asChild ? Slot : node;\n if (typeof window !== \"undefined\") {\n window[Symbol.for(\"radix-ui\")] = true;\n }\n return /* @__PURE__ */ jsx(Comp, { ...primitiveProps, ref: forwardedRef });\n });\n Node.displayName = `Primitive.${node}`;\n return { ...primitive, [node]: Node };\n}, {});\nfunction dispatchDiscreteCustomEvent(target, event) {\n if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n}\nvar Root = Primitive;\nexport {\n Primitive,\n Root,\n dispatchDiscreteCustomEvent\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// packages/react/roving-focus/src/RovingFocusGroup.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { createCollection } from \"@radix-ui/react-collection\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useId } from \"@radix-ui/react-id\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { jsx } from \"react/jsx-runtime\";\nvar ENTRY_FOCUS = \"rovingFocusGroup.onEntryFocus\";\nvar EVENT_OPTIONS = { bubbles: false, cancelable: true };\nvar GROUP_NAME = \"RovingFocusGroup\";\nvar [Collection, useCollection, createCollectionScope] = createCollection(GROUP_NAME);\nvar [createRovingFocusGroupContext, createRovingFocusGroupScope] = createContextScope(\n GROUP_NAME,\n [createCollectionScope]\n);\nvar [RovingFocusProvider, useRovingFocusContext] = createRovingFocusGroupContext(GROUP_NAME);\nvar RovingFocusGroup = React.forwardRef(\n (props, forwardedRef) => {\n return /* @__PURE__ */ jsx(Collection.Provider, { scope: props.__scopeRovingFocusGroup, children: /* @__PURE__ */ jsx(Collection.Slot, { scope: props.__scopeRovingFocusGroup, children: /* @__PURE__ */ jsx(RovingFocusGroupImpl, { ...props, ref: forwardedRef }) }) });\n }\n);\nRovingFocusGroup.displayName = GROUP_NAME;\nvar RovingFocusGroupImpl = React.forwardRef((props, forwardedRef) => {\n const {\n __scopeRovingFocusGroup,\n orientation,\n loop = false,\n dir,\n currentTabStopId: currentTabStopIdProp,\n defaultCurrentTabStopId,\n onCurrentTabStopIdChange,\n onEntryFocus,\n preventScrollOnEntryFocus = false,\n ...groupProps\n } = props;\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const direction = useDirection(dir);\n const [currentTabStopId = null, setCurrentTabStopId] = useControllableState({\n prop: currentTabStopIdProp,\n defaultProp: defaultCurrentTabStopId,\n onChange: onCurrentTabStopIdChange\n });\n const [isTabbingBackOut, setIsTabbingBackOut] = React.useState(false);\n const handleEntryFocus = useCallbackRef(onEntryFocus);\n const getItems = useCollection(__scopeRovingFocusGroup);\n const isClickFocusRef = React.useRef(false);\n const [focusableItemsCount, setFocusableItemsCount] = React.useState(0);\n React.useEffect(() => {\n const node = ref.current;\n if (node) {\n node.addEventListener(ENTRY_FOCUS, handleEntryFocus);\n return () => node.removeEventListener(ENTRY_FOCUS, handleEntryFocus);\n }\n }, [handleEntryFocus]);\n return /* @__PURE__ */ jsx(\n RovingFocusProvider,\n {\n scope: __scopeRovingFocusGroup,\n orientation,\n dir: direction,\n loop,\n currentTabStopId,\n onItemFocus: React.useCallback(\n (tabStopId) => setCurrentTabStopId(tabStopId),\n [setCurrentTabStopId]\n ),\n onItemShiftTab: React.useCallback(() => setIsTabbingBackOut(true), []),\n onFocusableItemAdd: React.useCallback(\n () => setFocusableItemsCount((prevCount) => prevCount + 1),\n []\n ),\n onFocusableItemRemove: React.useCallback(\n () => setFocusableItemsCount((prevCount) => prevCount - 1),\n []\n ),\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n tabIndex: isTabbingBackOut || focusableItemsCount === 0 ? -1 : 0,\n \"data-orientation\": orientation,\n ...groupProps,\n ref: composedRefs,\n style: { outline: \"none\", ...props.style },\n onMouseDown: composeEventHandlers(props.onMouseDown, () => {\n isClickFocusRef.current = true;\n }),\n onFocus: composeEventHandlers(props.onFocus, (event) => {\n const isKeyboardFocus = !isClickFocusRef.current;\n if (event.target === event.currentTarget && isKeyboardFocus && !isTabbingBackOut) {\n const entryFocusEvent = new CustomEvent(ENTRY_FOCUS, EVENT_OPTIONS);\n event.currentTarget.dispatchEvent(entryFocusEvent);\n if (!entryFocusEvent.defaultPrevented) {\n const items = getItems().filter((item) => item.focusable);\n const activeItem = items.find((item) => item.active);\n const currentItem = items.find((item) => item.id === currentTabStopId);\n const candidateItems = [activeItem, currentItem, ...items].filter(\n Boolean\n );\n const candidateNodes = candidateItems.map((item) => item.ref.current);\n focusFirst(candidateNodes, preventScrollOnEntryFocus);\n }\n }\n isClickFocusRef.current = false;\n }),\n onBlur: composeEventHandlers(props.onBlur, () => setIsTabbingBackOut(false))\n }\n )\n }\n );\n});\nvar ITEM_NAME = \"RovingFocusGroupItem\";\nvar RovingFocusGroupItem = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeRovingFocusGroup,\n focusable = true,\n active = false,\n tabStopId,\n ...itemProps\n } = props;\n const autoId = useId();\n const id = tabStopId || autoId;\n const context = useRovingFocusContext(ITEM_NAME, __scopeRovingFocusGroup);\n const isCurrentTabStop = context.currentTabStopId === id;\n const getItems = useCollection(__scopeRovingFocusGroup);\n const { onFocusableItemAdd, onFocusableItemRemove } = context;\n React.useEffect(() => {\n if (focusable) {\n onFocusableItemAdd();\n return () => onFocusableItemRemove();\n }\n }, [focusable, onFocusableItemAdd, onFocusableItemRemove]);\n return /* @__PURE__ */ jsx(\n Collection.ItemSlot,\n {\n scope: __scopeRovingFocusGroup,\n id,\n focusable,\n active,\n children: /* @__PURE__ */ jsx(\n Primitive.span,\n {\n tabIndex: isCurrentTabStop ? 0 : -1,\n \"data-orientation\": context.orientation,\n ...itemProps,\n ref: forwardedRef,\n onMouseDown: composeEventHandlers(props.onMouseDown, (event) => {\n if (!focusable) event.preventDefault();\n else context.onItemFocus(id);\n }),\n onFocus: composeEventHandlers(props.onFocus, () => context.onItemFocus(id)),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n if (event.key === \"Tab\" && event.shiftKey) {\n context.onItemShiftTab();\n return;\n }\n if (event.target !== event.currentTarget) return;\n const focusIntent = getFocusIntent(event, context.orientation, context.dir);\n if (focusIntent !== void 0) {\n if (event.metaKey || event.ctrlKey || event.altKey || event.shiftKey) return;\n event.preventDefault();\n const items = getItems().filter((item) => item.focusable);\n let candidateNodes = items.map((item) => item.ref.current);\n if (focusIntent === \"last\") candidateNodes.reverse();\n else if (focusIntent === \"prev\" || focusIntent === \"next\") {\n if (focusIntent === \"prev\") candidateNodes.reverse();\n const currentIndex = candidateNodes.indexOf(event.currentTarget);\n candidateNodes = context.loop ? wrapArray(candidateNodes, currentIndex + 1) : candidateNodes.slice(currentIndex + 1);\n }\n setTimeout(() => focusFirst(candidateNodes));\n }\n })\n }\n )\n }\n );\n }\n);\nRovingFocusGroupItem.displayName = ITEM_NAME;\nvar MAP_KEY_TO_FOCUS_INTENT = {\n ArrowLeft: \"prev\",\n ArrowUp: \"prev\",\n ArrowRight: \"next\",\n ArrowDown: \"next\",\n PageUp: \"first\",\n Home: \"first\",\n PageDown: \"last\",\n End: \"last\"\n};\nfunction getDirectionAwareKey(key, dir) {\n if (dir !== \"rtl\") return key;\n return key === \"ArrowLeft\" ? \"ArrowRight\" : key === \"ArrowRight\" ? \"ArrowLeft\" : key;\n}\nfunction getFocusIntent(event, orientation, dir) {\n const key = getDirectionAwareKey(event.key, dir);\n if (orientation === \"vertical\" && [\"ArrowLeft\", \"ArrowRight\"].includes(key)) return void 0;\n if (orientation === \"horizontal\" && [\"ArrowUp\", \"ArrowDown\"].includes(key)) return void 0;\n return MAP_KEY_TO_FOCUS_INTENT[key];\n}\nfunction focusFirst(candidates, preventScroll = false) {\n const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;\n for (const candidate of candidates) {\n if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;\n candidate.focus({ preventScroll });\n if (document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT) return;\n }\n}\nfunction wrapArray(array, startIndex) {\n return array.map((_, index) => array[(startIndex + index) % array.length]);\n}\nvar Root = RovingFocusGroup;\nvar Item = RovingFocusGroupItem;\nexport {\n Item,\n Root,\n RovingFocusGroup,\n RovingFocusGroupItem,\n createRovingFocusGroupScope\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// packages/react/collection/src/Collection.tsx\nimport React from \"react\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createCollection(name) {\n const PROVIDER_NAME = name + \"CollectionProvider\";\n const [createCollectionContext, createCollectionScope] = createContextScope(PROVIDER_NAME);\n const [CollectionProviderImpl, useCollectionContext] = createCollectionContext(\n PROVIDER_NAME,\n { collectionRef: { current: null }, itemMap: /* @__PURE__ */ new Map() }\n );\n const CollectionProvider = (props) => {\n const { scope, children } = props;\n const ref = React.useRef(null);\n const itemMap = React.useRef(/* @__PURE__ */ new Map()).current;\n return /* @__PURE__ */ jsx(CollectionProviderImpl, { scope, itemMap, collectionRef: ref, children });\n };\n CollectionProvider.displayName = PROVIDER_NAME;\n const COLLECTION_SLOT_NAME = name + \"CollectionSlot\";\n const CollectionSlot = React.forwardRef(\n (props, forwardedRef) => {\n const { scope, children } = props;\n const context = useCollectionContext(COLLECTION_SLOT_NAME, scope);\n const composedRefs = useComposedRefs(forwardedRef, context.collectionRef);\n return /* @__PURE__ */ jsx(Slot, { ref: composedRefs, children });\n }\n );\n CollectionSlot.displayName = COLLECTION_SLOT_NAME;\n const ITEM_SLOT_NAME = name + \"CollectionItemSlot\";\n const ITEM_DATA_ATTR = \"data-radix-collection-item\";\n const CollectionItemSlot = React.forwardRef(\n (props, forwardedRef) => {\n const { scope, children, ...itemData } = props;\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const context = useCollectionContext(ITEM_SLOT_NAME, scope);\n React.useEffect(() => {\n context.itemMap.set(ref, { ref, ...itemData });\n return () => void context.itemMap.delete(ref);\n });\n return /* @__PURE__ */ jsx(Slot, { ...{ [ITEM_DATA_ATTR]: \"\" }, ref: composedRefs, children });\n }\n );\n CollectionItemSlot.displayName = ITEM_SLOT_NAME;\n function useCollection(scope) {\n const context = useCollectionContext(name + \"CollectionConsumer\", scope);\n const getItems = React.useCallback(() => {\n const collectionNode = context.collectionRef.current;\n if (!collectionNode) return [];\n const orderedNodes = Array.from(collectionNode.querySelectorAll(`[${ITEM_DATA_ATTR}]`));\n const items = Array.from(context.itemMap.values());\n const orderedItems = items.sort(\n (a, b) => orderedNodes.indexOf(a.ref.current) - orderedNodes.indexOf(b.ref.current)\n );\n return orderedItems;\n }, [context.collectionRef, context.itemMap]);\n return getItems;\n }\n return [\n { Provider: CollectionProvider, Slot: CollectionSlot, ItemSlot: CollectionItemSlot },\n useCollection,\n createCollectionScope\n ];\n}\nexport {\n createCollection\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// packages/react/presence/src/Presence.tsx\nimport * as React2 from \"react\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\n\n// packages/react/presence/src/useStateMachine.tsx\nimport * as React from \"react\";\nfunction useStateMachine(initialState, machine) {\n return React.useReducer((state, event) => {\n const nextState = machine[state][event];\n return nextState ?? state;\n }, initialState);\n}\n\n// packages/react/presence/src/Presence.tsx\nvar Presence = (props) => {\n const { present, children } = props;\n const presence = usePresence(present);\n const child = typeof children === \"function\" ? children({ present: presence.isPresent }) : React2.Children.only(children);\n const ref = useComposedRefs(presence.ref, getElementRef(child));\n const forceMount = typeof children === \"function\";\n return forceMount || presence.isPresent ? React2.cloneElement(child, { ref }) : null;\n};\nPresence.displayName = \"Presence\";\nfunction usePresence(present) {\n const [node, setNode] = React2.useState();\n const stylesRef = React2.useRef({});\n const prevPresentRef = React2.useRef(present);\n const prevAnimationNameRef = React2.useRef(\"none\");\n const initialState = present ? \"mounted\" : \"unmounted\";\n const [state, send] = useStateMachine(initialState, {\n mounted: {\n UNMOUNT: \"unmounted\",\n ANIMATION_OUT: \"unmountSuspended\"\n },\n unmountSuspended: {\n MOUNT: \"mounted\",\n ANIMATION_END: \"unmounted\"\n },\n unmounted: {\n MOUNT: \"mounted\"\n }\n });\n React2.useEffect(() => {\n const currentAnimationName = getAnimationName(stylesRef.current);\n prevAnimationNameRef.current = state === \"mounted\" ? currentAnimationName : \"none\";\n }, [state]);\n useLayoutEffect(() => {\n const styles = stylesRef.current;\n const wasPresent = prevPresentRef.current;\n const hasPresentChanged = wasPresent !== present;\n if (hasPresentChanged) {\n const prevAnimationName = prevAnimationNameRef.current;\n const currentAnimationName = getAnimationName(styles);\n if (present) {\n send(\"MOUNT\");\n } else if (currentAnimationName === \"none\" || styles?.display === \"none\") {\n send(\"UNMOUNT\");\n } else {\n const isAnimating = prevAnimationName !== currentAnimationName;\n if (wasPresent && isAnimating) {\n send(\"ANIMATION_OUT\");\n } else {\n send(\"UNMOUNT\");\n }\n }\n prevPresentRef.current = present;\n }\n }, [present, send]);\n useLayoutEffect(() => {\n if (node) {\n let timeoutId;\n const ownerWindow = node.ownerDocument.defaultView ?? window;\n const handleAnimationEnd = (event) => {\n const currentAnimationName = getAnimationName(stylesRef.current);\n const isCurrentAnimation = currentAnimationName.includes(event.animationName);\n if (event.target === node && isCurrentAnimation) {\n send(\"ANIMATION_END\");\n if (!prevPresentRef.current) {\n const currentFillMode = node.style.animationFillMode;\n node.style.animationFillMode = \"forwards\";\n timeoutId = ownerWindow.setTimeout(() => {\n if (node.style.animationFillMode === \"forwards\") {\n node.style.animationFillMode = currentFillMode;\n }\n });\n }\n }\n };\n const handleAnimationStart = (event) => {\n if (event.target === node) {\n prevAnimationNameRef.current = getAnimationName(stylesRef.current);\n }\n };\n node.addEventListener(\"animationstart\", handleAnimationStart);\n node.addEventListener(\"animationcancel\", handleAnimationEnd);\n node.addEventListener(\"animationend\", handleAnimationEnd);\n return () => {\n ownerWindow.clearTimeout(timeoutId);\n node.removeEventListener(\"animationstart\", handleAnimationStart);\n node.removeEventListener(\"animationcancel\", handleAnimationEnd);\n node.removeEventListener(\"animationend\", handleAnimationEnd);\n };\n } else {\n send(\"ANIMATION_END\");\n }\n }, [node, send]);\n return {\n isPresent: [\"mounted\", \"unmountSuspended\"].includes(state),\n ref: React2.useCallback((node2) => {\n if (node2) stylesRef.current = getComputedStyle(node2);\n setNode(node2);\n }, [])\n };\n}\nfunction getAnimationName(styles) {\n return styles?.animationName || \"none\";\n}\nfunction getElementRef(element) {\n let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.ref;\n }\n getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.props.ref;\n }\n return element.props.ref || element.ref;\n}\nexport {\n Presence\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// packages/react/tabs/src/Tabs.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { createRovingFocusGroupScope } from \"@radix-ui/react-roving-focus\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport * as RovingFocusGroup from \"@radix-ui/react-roving-focus\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { useId } from \"@radix-ui/react-id\";\nimport { jsx } from \"react/jsx-runtime\";\nvar TABS_NAME = \"Tabs\";\nvar [createTabsContext, createTabsScope] = createContextScope(TABS_NAME, [\n createRovingFocusGroupScope\n]);\nvar useRovingFocusGroupScope = createRovingFocusGroupScope();\nvar [TabsProvider, useTabsContext] = createTabsContext(TABS_NAME);\nvar Tabs = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeTabs,\n value: valueProp,\n onValueChange,\n defaultValue,\n orientation = \"horizontal\",\n dir,\n activationMode = \"automatic\",\n ...tabsProps\n } = props;\n const direction = useDirection(dir);\n const [value, setValue] = useControllableState({\n prop: valueProp,\n onChange: onValueChange,\n defaultProp: defaultValue\n });\n return /* @__PURE__ */ jsx(\n TabsProvider,\n {\n scope: __scopeTabs,\n baseId: useId(),\n value,\n onValueChange: setValue,\n orientation,\n dir: direction,\n activationMode,\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n dir: direction,\n \"data-orientation\": orientation,\n ...tabsProps,\n ref: forwardedRef\n }\n )\n }\n );\n }\n);\nTabs.displayName = TABS_NAME;\nvar TAB_LIST_NAME = \"TabsList\";\nvar TabsList = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeTabs, loop = true, ...listProps } = props;\n const context = useTabsContext(TAB_LIST_NAME, __scopeTabs);\n const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeTabs);\n return /* @__PURE__ */ jsx(\n RovingFocusGroup.Root,\n {\n asChild: true,\n ...rovingFocusGroupScope,\n orientation: context.orientation,\n dir: context.dir,\n loop,\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n role: \"tablist\",\n \"aria-orientation\": context.orientation,\n ...listProps,\n ref: forwardedRef\n }\n )\n }\n );\n }\n);\nTabsList.displayName = TAB_LIST_NAME;\nvar TRIGGER_NAME = \"TabsTrigger\";\nvar TabsTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeTabs, value, disabled = false, ...triggerProps } = props;\n const context = useTabsContext(TRIGGER_NAME, __scopeTabs);\n const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeTabs);\n const triggerId = makeTriggerId(context.baseId, value);\n const contentId = makeContentId(context.baseId, value);\n const isSelected = value === context.value;\n return /* @__PURE__ */ jsx(\n RovingFocusGroup.Item,\n {\n asChild: true,\n ...rovingFocusGroupScope,\n focusable: !disabled,\n active: isSelected,\n children: /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n role: \"tab\",\n \"aria-selected\": isSelected,\n \"aria-controls\": contentId,\n \"data-state\": isSelected ? \"active\" : \"inactive\",\n \"data-disabled\": disabled ? \"\" : void 0,\n disabled,\n id: triggerId,\n ...triggerProps,\n ref: forwardedRef,\n onMouseDown: composeEventHandlers(props.onMouseDown, (event) => {\n if (!disabled && event.button === 0 && event.ctrlKey === false) {\n context.onValueChange(value);\n } else {\n event.preventDefault();\n }\n }),\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n if ([\" \", \"Enter\"].includes(event.key)) context.onValueChange(value);\n }),\n onFocus: composeEventHandlers(props.onFocus, () => {\n const isAutomaticActivation = context.activationMode !== \"manual\";\n if (!isSelected && !disabled && isAutomaticActivation) {\n context.onValueChange(value);\n }\n })\n }\n )\n }\n );\n }\n);\nTabsTrigger.displayName = TRIGGER_NAME;\nvar CONTENT_NAME = \"TabsContent\";\nvar TabsContent = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeTabs, value, forceMount, children, ...contentProps } = props;\n const context = useTabsContext(CONTENT_NAME, __scopeTabs);\n const triggerId = makeTriggerId(context.baseId, value);\n const contentId = makeContentId(context.baseId, value);\n const isSelected = value === context.value;\n const isMountAnimationPreventedRef = React.useRef(isSelected);\n React.useEffect(() => {\n const rAF = requestAnimationFrame(() => isMountAnimationPreventedRef.current = false);\n return () => cancelAnimationFrame(rAF);\n }, []);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || isSelected, children: ({ present }) => /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-state\": isSelected ? \"active\" : \"inactive\",\n \"data-orientation\": context.orientation,\n role: \"tabpanel\",\n \"aria-labelledby\": triggerId,\n hidden: !present,\n id: contentId,\n tabIndex: 0,\n ...contentProps,\n ref: forwardedRef,\n style: {\n ...props.style,\n animationDuration: isMountAnimationPreventedRef.current ? \"0s\" : void 0\n },\n children: present && children\n }\n ) });\n }\n);\nTabsContent.displayName = CONTENT_NAME;\nfunction makeTriggerId(baseId, value) {\n return `${baseId}-trigger-${value}`;\n}\nfunction makeContentId(baseId, value) {\n return `${baseId}-content-${value}`;\n}\nvar Root2 = Tabs;\nvar List = TabsList;\nvar Trigger = TabsTrigger;\nvar Content = TabsContent;\nexport {\n Content,\n List,\n Root2 as Root,\n Tabs,\n TabsContent,\n TabsList,\n TabsTrigger,\n Trigger,\n createTabsScope\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/core/primitive/src/primitive.tsx\nfunction composeEventHandlers(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {\n return function handleEvent(event) {\n originalEventHandler?.(event);\n if (checkForDefaultPrevented === false || !event.defaultPrevented) {\n return ourEventHandler?.(event);\n }\n };\n}\nexport {\n composeEventHandlers\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/compose-refs/src/composeRefs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n if (typeof ref === \"function\") {\n return ref(value);\n } else if (ref !== null && ref !== void 0) {\n ref.current = value;\n }\n}\nfunction composeRefs(...refs) {\n return (node) => {\n let hasCleanup = false;\n const cleanups = refs.map((ref) => {\n const cleanup = setRef(ref, node);\n if (!hasCleanup && typeof cleanup == \"function\") {\n hasCleanup = true;\n }\n return cleanup;\n });\n if (hasCleanup) {\n return () => {\n for (let i = 0; i < cleanups.length; i++) {\n const cleanup = cleanups[i];\n if (typeof cleanup == \"function\") {\n cleanup();\n } else {\n setRef(refs[i], null);\n }\n }\n };\n }\n };\n}\nfunction useComposedRefs(...refs) {\n return React.useCallback(composeRefs(...refs), refs);\n}\nexport {\n composeRefs,\n useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/slot/src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\nvar Slot = React.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n const childrenArray = React.Children.toArray(children);\n const slottable = childrenArray.find(isSlottable);\n if (slottable) {\n const newElement = slottable.props.children;\n const newChildren = childrenArray.map((child) => {\n if (child === slottable) {\n if (React.Children.count(newElement) > 1) return React.Children.only(null);\n return React.isValidElement(newElement) ? newElement.props.children : null;\n } else {\n return child;\n }\n });\n return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n }\n return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n});\nSlot.displayName = \"Slot\";\nvar SlotClone = React.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n if (React.isValidElement(children)) {\n const childrenRef = getElementRef(children);\n const props2 = mergeProps(slotProps, children.props);\n if (children.type !== React.Fragment) {\n props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n }\n return React.cloneElement(children, props2);\n }\n return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n});\nSlotClone.displayName = \"SlotClone\";\nvar Slottable = ({ children }) => {\n return /* @__PURE__ */ jsx(Fragment2, { children });\n};\nfunction isSlottable(child) {\n return React.isValidElement(child) && child.type === Slottable;\n}\nfunction mergeProps(slotProps, childProps) {\n const overrideProps = { ...childProps };\n for (const propName in childProps) {\n const slotPropValue = slotProps[propName];\n const childPropValue = childProps[propName];\n const isHandler = /^on[A-Z]/.test(propName);\n if (isHandler) {\n if (slotPropValue && childPropValue) {\n overrideProps[propName] = (...args) => {\n childPropValue(...args);\n slotPropValue(...args);\n };\n } else if (slotPropValue) {\n overrideProps[propName] = slotPropValue;\n }\n } else if (propName === \"style\") {\n overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n } else if (propName === \"className\") {\n overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n }\n }\n return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.ref;\n }\n getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.props.ref;\n }\n return element.props.ref || element.ref;\n}\nvar Root = Slot;\nexport {\n Root,\n Slot,\n Slottable\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/primitive/src/primitive.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NODES = [\n \"a\",\n \"button\",\n \"div\",\n \"form\",\n \"h2\",\n \"h3\",\n \"img\",\n \"input\",\n \"label\",\n \"li\",\n \"nav\",\n \"ol\",\n \"p\",\n \"span\",\n \"svg\",\n \"ul\"\n];\nvar Primitive = NODES.reduce((primitive, node) => {\n const Node = React.forwardRef((props, forwardedRef) => {\n const { asChild, ...primitiveProps } = props;\n const Comp = asChild ? Slot : node;\n if (typeof window !== \"undefined\") {\n window[Symbol.for(\"radix-ui\")] = true;\n }\n return /* @__PURE__ */ jsx(Comp, { ...primitiveProps, ref: forwardedRef });\n });\n Node.displayName = `Primitive.${node}`;\n return { ...primitive, [node]: Node };\n}, {});\nfunction dispatchDiscreteCustomEvent(target, event) {\n if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n}\nvar Root = Primitive;\nexport {\n Primitive,\n Root,\n dispatchDiscreteCustomEvent\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// packages/react/dismissable-layer/src/dismissable-layer.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { Primitive, dispatchDiscreteCustomEvent } from \"@radix-ui/react-primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useEscapeKeydown } from \"@radix-ui/react-use-escape-keydown\";\nimport { jsx } from \"react/jsx-runtime\";\nvar DISMISSABLE_LAYER_NAME = \"DismissableLayer\";\nvar CONTEXT_UPDATE = \"dismissableLayer.update\";\nvar POINTER_DOWN_OUTSIDE = \"dismissableLayer.pointerDownOutside\";\nvar FOCUS_OUTSIDE = \"dismissableLayer.focusOutside\";\nvar originalBodyPointerEvents;\nvar DismissableLayerContext = React.createContext({\n layers: /* @__PURE__ */ new Set(),\n layersWithOutsidePointerEventsDisabled: /* @__PURE__ */ new Set(),\n branches: /* @__PURE__ */ new Set()\n});\nvar DismissableLayer = React.forwardRef(\n (props, forwardedRef) => {\n const {\n disableOutsidePointerEvents = false,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onInteractOutside,\n onDismiss,\n ...layerProps\n } = props;\n const context = React.useContext(DismissableLayerContext);\n const [node, setNode] = React.useState(null);\n const ownerDocument = node?.ownerDocument ?? globalThis?.document;\n const [, force] = React.useState({});\n const composedRefs = useComposedRefs(forwardedRef, (node2) => setNode(node2));\n const layers = Array.from(context.layers);\n const [highestLayerWithOutsidePointerEventsDisabled] = [...context.layersWithOutsidePointerEventsDisabled].slice(-1);\n const highestLayerWithOutsidePointerEventsDisabledIndex = layers.indexOf(highestLayerWithOutsidePointerEventsDisabled);\n const index = node ? layers.indexOf(node) : -1;\n const isBodyPointerEventsDisabled = context.layersWithOutsidePointerEventsDisabled.size > 0;\n const isPointerEventsEnabled = index >= highestLayerWithOutsidePointerEventsDisabledIndex;\n const pointerDownOutside = usePointerDownOutside((event) => {\n const target = event.target;\n const isPointerDownOnBranch = [...context.branches].some((branch) => branch.contains(target));\n if (!isPointerEventsEnabled || isPointerDownOnBranch) return;\n onPointerDownOutside?.(event);\n onInteractOutside?.(event);\n if (!event.defaultPrevented) onDismiss?.();\n }, ownerDocument);\n const focusOutside = useFocusOutside((event) => {\n const target = event.target;\n const isFocusInBranch = [...context.branches].some((branch) => branch.contains(target));\n if (isFocusInBranch) return;\n onFocusOutside?.(event);\n onInteractOutside?.(event);\n if (!event.defaultPrevented) onDismiss?.();\n }, ownerDocument);\n useEscapeKeydown((event) => {\n const isHighestLayer = index === context.layers.size - 1;\n if (!isHighestLayer) return;\n onEscapeKeyDown?.(event);\n if (!event.defaultPrevented && onDismiss) {\n event.preventDefault();\n onDismiss();\n }\n }, ownerDocument);\n React.useEffect(() => {\n if (!node) return;\n if (disableOutsidePointerEvents) {\n if (context.layersWithOutsidePointerEventsDisabled.size === 0) {\n originalBodyPointerEvents = ownerDocument.body.style.pointerEvents;\n ownerDocument.body.style.pointerEvents = \"none\";\n }\n context.layersWithOutsidePointerEventsDisabled.add(node);\n }\n context.layers.add(node);\n dispatchUpdate();\n return () => {\n if (disableOutsidePointerEvents && context.layersWithOutsidePointerEventsDisabled.size === 1) {\n ownerDocument.body.style.pointerEvents = originalBodyPointerEvents;\n }\n };\n }, [node, ownerDocument, disableOutsidePointerEvents, context]);\n React.useEffect(() => {\n return () => {\n if (!node) return;\n context.layers.delete(node);\n context.layersWithOutsidePointerEventsDisabled.delete(node);\n dispatchUpdate();\n };\n }, [node, context]);\n React.useEffect(() => {\n const handleUpdate = () => force({});\n document.addEventListener(CONTEXT_UPDATE, handleUpdate);\n return () => document.removeEventListener(CONTEXT_UPDATE, handleUpdate);\n }, []);\n return /* @__PURE__ */ jsx(\n Primitive.div,\n {\n ...layerProps,\n ref: composedRefs,\n style: {\n pointerEvents: isBodyPointerEventsDisabled ? isPointerEventsEnabled ? \"auto\" : \"none\" : void 0,\n ...props.style\n },\n onFocusCapture: composeEventHandlers(props.onFocusCapture, focusOutside.onFocusCapture),\n onBlurCapture: composeEventHandlers(props.onBlurCapture, focusOutside.onBlurCapture),\n onPointerDownCapture: composeEventHandlers(\n props.onPointerDownCapture,\n pointerDownOutside.onPointerDownCapture\n )\n }\n );\n }\n);\nDismissableLayer.displayName = DISMISSABLE_LAYER_NAME;\nvar BRANCH_NAME = \"DismissableLayerBranch\";\nvar DismissableLayerBranch = React.forwardRef((props, forwardedRef) => {\n const context = React.useContext(DismissableLayerContext);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n React.useEffect(() => {\n const node = ref.current;\n if (node) {\n context.branches.add(node);\n return () => {\n context.branches.delete(node);\n };\n }\n }, [context.branches]);\n return /* @__PURE__ */ jsx(Primitive.div, { ...props, ref: composedRefs });\n});\nDismissableLayerBranch.displayName = BRANCH_NAME;\nfunction usePointerDownOutside(onPointerDownOutside, ownerDocument = globalThis?.document) {\n const handlePointerDownOutside = useCallbackRef(onPointerDownOutside);\n const isPointerInsideReactTreeRef = React.useRef(false);\n const handleClickRef = React.useRef(() => {\n });\n React.useEffect(() => {\n const handlePointerDown = (event) => {\n if (event.target && !isPointerInsideReactTreeRef.current) {\n let handleAndDispatchPointerDownOutsideEvent2 = function() {\n handleAndDispatchCustomEvent(\n POINTER_DOWN_OUTSIDE,\n handlePointerDownOutside,\n eventDetail,\n { discrete: true }\n );\n };\n var handleAndDispatchPointerDownOutsideEvent = handleAndDispatchPointerDownOutsideEvent2;\n const eventDetail = { originalEvent: event };\n if (event.pointerType === \"touch\") {\n ownerDocument.removeEventListener(\"click\", handleClickRef.current);\n handleClickRef.current = handleAndDispatchPointerDownOutsideEvent2;\n ownerDocument.addEventListener(\"click\", handleClickRef.current, { once: true });\n } else {\n handleAndDispatchPointerDownOutsideEvent2();\n }\n } else {\n ownerDocument.removeEventListener(\"click\", handleClickRef.current);\n }\n isPointerInsideReactTreeRef.current = false;\n };\n const timerId = window.setTimeout(() => {\n ownerDocument.addEventListener(\"pointerdown\", handlePointerDown);\n }, 0);\n return () => {\n window.clearTimeout(timerId);\n ownerDocument.removeEventListener(\"pointerdown\", handlePointerDown);\n ownerDocument.removeEventListener(\"click\", handleClickRef.current);\n };\n }, [ownerDocument, handlePointerDownOutside]);\n return {\n // ensures we check React component tree (not just DOM tree)\n onPointerDownCapture: () => isPointerInsideReactTreeRef.current = true\n };\n}\nfunction useFocusOutside(onFocusOutside, ownerDocument = globalThis?.document) {\n const handleFocusOutside = useCallbackRef(onFocusOutside);\n const isFocusInsideReactTreeRef = React.useRef(false);\n React.useEffect(() => {\n const handleFocus = (event) => {\n if (event.target && !isFocusInsideReactTreeRef.current) {\n const eventDetail = { originalEvent: event };\n handleAndDispatchCustomEvent(FOCUS_OUTSIDE, handleFocusOutside, eventDetail, {\n discrete: false\n });\n }\n };\n ownerDocument.addEventListener(\"focusin\", handleFocus);\n return () => ownerDocument.removeEventListener(\"focusin\", handleFocus);\n }, [ownerDocument, handleFocusOutside]);\n return {\n onFocusCapture: () => isFocusInsideReactTreeRef.current = true,\n onBlurCapture: () => isFocusInsideReactTreeRef.current = false\n };\n}\nfunction dispatchUpdate() {\n const event = new CustomEvent(CONTEXT_UPDATE);\n document.dispatchEvent(event);\n}\nfunction handleAndDispatchCustomEvent(name, handler, detail, { discrete }) {\n const target = detail.originalEvent.target;\n const event = new CustomEvent(name, { bubbles: false, cancelable: true, detail });\n if (handler) target.addEventListener(name, handler, { once: true });\n if (discrete) {\n dispatchDiscreteCustomEvent(target, event);\n } else {\n target.dispatchEvent(event);\n }\n}\nvar Root = DismissableLayer;\nvar Branch = DismissableLayerBranch;\nexport {\n Branch,\n DismissableLayer,\n DismissableLayerBranch,\n Root\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/arrow/src/arrow.tsx\nimport * as React from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NAME = \"Arrow\";\nvar Arrow = React.forwardRef((props, forwardedRef) => {\n const { children, width = 10, height = 5, ...arrowProps } = props;\n return /* @__PURE__ */ jsx(\n Primitive.svg,\n {\n ...arrowProps,\n ref: forwardedRef,\n width,\n height,\n viewBox: \"0 0 30 10\",\n preserveAspectRatio: \"none\",\n children: props.asChild ? children : /* @__PURE__ */ jsx(\"polygon\", { points: \"0,0 30,0 15,10\" })\n }\n );\n});\nArrow.displayName = NAME;\nvar Root = Arrow;\nexport {\n Arrow,\n Root\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// packages/react/popper/src/popper.tsx\nimport * as React from \"react\";\nimport {\n useFloating,\n autoUpdate,\n offset,\n shift,\n limitShift,\n hide,\n arrow as floatingUIarrow,\n flip,\n size\n} from \"@floating-ui/react-dom\";\nimport * as ArrowPrimitive from \"@radix-ui/react-arrow\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nimport { useSize } from \"@radix-ui/react-use-size\";\nimport { jsx } from \"react/jsx-runtime\";\nvar SIDE_OPTIONS = [\"top\", \"right\", \"bottom\", \"left\"];\nvar ALIGN_OPTIONS = [\"start\", \"center\", \"end\"];\nvar POPPER_NAME = \"Popper\";\nvar [createPopperContext, createPopperScope] = createContextScope(POPPER_NAME);\nvar [PopperProvider, usePopperContext] = createPopperContext(POPPER_NAME);\nvar Popper = (props) => {\n const { __scopePopper, children } = props;\n const [anchor, setAnchor] = React.useState(null);\n return /* @__PURE__ */ jsx(PopperProvider, { scope: __scopePopper, anchor, onAnchorChange: setAnchor, children });\n};\nPopper.displayName = POPPER_NAME;\nvar ANCHOR_NAME = \"PopperAnchor\";\nvar PopperAnchor = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopePopper, virtualRef, ...anchorProps } = props;\n const context = usePopperContext(ANCHOR_NAME, __scopePopper);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n React.useEffect(() => {\n context.onAnchorChange(virtualRef?.current || ref.current);\n });\n return virtualRef ? null : /* @__PURE__ */ jsx(Primitive.div, { ...anchorProps, ref: composedRefs });\n }\n);\nPopperAnchor.displayName = ANCHOR_NAME;\nvar CONTENT_NAME = \"PopperContent\";\nvar [PopperContentProvider, useContentContext] = createPopperContext(CONTENT_NAME);\nvar PopperContent = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopePopper,\n side = \"bottom\",\n sideOffset = 0,\n align = \"center\",\n alignOffset = 0,\n arrowPadding = 0,\n avoidCollisions = true,\n collisionBoundary = [],\n collisionPadding: collisionPaddingProp = 0,\n sticky = \"partial\",\n hideWhenDetached = false,\n updatePositionStrategy = \"optimized\",\n onPlaced,\n ...contentProps\n } = props;\n const context = usePopperContext(CONTENT_NAME, __scopePopper);\n const [content, setContent] = React.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setContent(node));\n const [arrow, setArrow] = React.useState(null);\n const arrowSize = useSize(arrow);\n const arrowWidth = arrowSize?.width ?? 0;\n const arrowHeight = arrowSize?.height ?? 0;\n const desiredPlacement = side + (align !== \"center\" ? \"-\" + align : \"\");\n const collisionPadding = typeof collisionPaddingProp === \"number\" ? collisionPaddingProp : { top: 0, right: 0, bottom: 0, left: 0, ...collisionPaddingProp };\n const boundary = Array.isArray(collisionBoundary) ? collisionBoundary : [collisionBoundary];\n const hasExplicitBoundaries = boundary.length > 0;\n const detectOverflowOptions = {\n padding: collisionPadding,\n boundary: boundary.filter(isNotNull),\n // with `strategy: 'fixed'`, this is the only way to get it to respect boundaries\n altBoundary: hasExplicitBoundaries\n };\n const { refs, floatingStyles, placement, isPositioned, middlewareData } = useFloating({\n // default to `fixed` strategy so users don't have to pick and we also avoid focus scroll issues\n strategy: \"fixed\",\n placement: desiredPlacement,\n whileElementsMounted: (...args) => {\n const cleanup = autoUpdate(...args, {\n animationFrame: updatePositionStrategy === \"always\"\n });\n return cleanup;\n },\n elements: {\n reference: context.anchor\n },\n middleware: [\n offset({ mainAxis: sideOffset + arrowHeight, alignmentAxis: alignOffset }),\n avoidCollisions && shift({\n mainAxis: true,\n crossAxis: false,\n limiter: sticky === \"partial\" ? limitShift() : void 0,\n ...detectOverflowOptions\n }),\n avoidCollisions && flip({ ...detectOverflowOptions }),\n size({\n ...detectOverflowOptions,\n apply: ({ elements, rects, availableWidth, availableHeight }) => {\n const { width: anchorWidth, height: anchorHeight } = rects.reference;\n const contentStyle = elements.floating.style;\n contentStyle.setProperty(\"--radix-popper-available-width\", `${availableWidth}px`);\n contentStyle.setProperty(\"--radix-popper-available-height\", `${availableHeight}px`);\n contentStyle.setProperty(\"--radix-popper-anchor-width\", `${anchorWidth}px`);\n contentStyle.setProperty(\"--radix-popper-anchor-height\", `${anchorHeight}px`);\n }\n }),\n arrow && floatingUIarrow({ element: arrow, padding: arrowPadding }),\n transformOrigin({ arrowWidth, arrowHeight }),\n hideWhenDetached && hide({ strategy: \"referenceHidden\", ...detectOverflowOptions })\n ]\n });\n const [placedSide, placedAlign] = getSideAndAlignFromPlacement(placement);\n const handlePlaced = useCallbackRef(onPlaced);\n useLayoutEffect(() => {\n if (isPositioned) {\n handlePlaced?.();\n }\n }, [isPositioned, handlePlaced]);\n const arrowX = middlewareData.arrow?.x;\n const arrowY = middlewareData.arrow?.y;\n const cannotCenterArrow = middlewareData.arrow?.centerOffset !== 0;\n const [contentZIndex, setContentZIndex] = React.useState();\n useLayoutEffect(() => {\n if (content) setContentZIndex(window.getComputedStyle(content).zIndex);\n }, [content]);\n return /* @__PURE__ */ jsx(\n \"div\",\n {\n ref: refs.setFloating,\n \"data-radix-popper-content-wrapper\": \"\",\n style: {\n ...floatingStyles,\n transform: isPositioned ? floatingStyles.transform : \"translate(0, -200%)\",\n // keep off the page when measuring\n minWidth: \"max-content\",\n zIndex: contentZIndex,\n [\"--radix-popper-transform-origin\"]: [\n middlewareData.transformOrigin?.x,\n middlewareData.transformOrigin?.y\n ].join(\" \"),\n // hide the content if using the hide middleware and should be hidden\n // set visibility to hidden and disable pointer events so the UI behaves\n // as if the PopperContent isn't there at all\n ...middlewareData.hide?.referenceHidden && {\n visibility: \"hidden\",\n pointerEvents: \"none\"\n }\n },\n dir: props.dir,\n children: /* @__PURE__ */ jsx(\n PopperContentProvider,\n {\n scope: __scopePopper,\n placedSide,\n onArrowChange: setArrow,\n arrowX,\n arrowY,\n shouldHideArrow: cannotCenterArrow,\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-side\": placedSide,\n \"data-align\": placedAlign,\n ...contentProps,\n ref: composedRefs,\n style: {\n ...contentProps.style,\n // if the PopperContent hasn't been placed yet (not all measurements done)\n // we prevent animations so that users's animation don't kick in too early referring wrong sides\n animation: !isPositioned ? \"none\" : void 0\n }\n }\n )\n }\n )\n }\n );\n }\n);\nPopperContent.displayName = CONTENT_NAME;\nvar ARROW_NAME = \"PopperArrow\";\nvar OPPOSITE_SIDE = {\n top: \"bottom\",\n right: \"left\",\n bottom: \"top\",\n left: \"right\"\n};\nvar PopperArrow = React.forwardRef(function PopperArrow2(props, forwardedRef) {\n const { __scopePopper, ...arrowProps } = props;\n const contentContext = useContentContext(ARROW_NAME, __scopePopper);\n const baseSide = OPPOSITE_SIDE[contentContext.placedSide];\n return (\n // we have to use an extra wrapper because `ResizeObserver` (used by `useSize`)\n // doesn't report size as we'd expect on SVG elements.\n // it reports their bounding box which is effectively the largest path inside the SVG.\n /* @__PURE__ */ jsx(\n \"span\",\n {\n ref: contentContext.onArrowChange,\n style: {\n position: \"absolute\",\n left: contentContext.arrowX,\n top: contentContext.arrowY,\n [baseSide]: 0,\n transformOrigin: {\n top: \"\",\n right: \"0 0\",\n bottom: \"center 0\",\n left: \"100% 0\"\n }[contentContext.placedSide],\n transform: {\n top: \"translateY(100%)\",\n right: \"translateY(50%) rotate(90deg) translateX(-50%)\",\n bottom: `rotate(180deg)`,\n left: \"translateY(50%) rotate(-90deg) translateX(50%)\"\n }[contentContext.placedSide],\n visibility: contentContext.shouldHideArrow ? \"hidden\" : void 0\n },\n children: /* @__PURE__ */ jsx(\n ArrowPrimitive.Root,\n {\n ...arrowProps,\n ref: forwardedRef,\n style: {\n ...arrowProps.style,\n // ensures the element can be measured correctly (mostly for if SVG)\n display: \"block\"\n }\n }\n )\n }\n )\n );\n});\nPopperArrow.displayName = ARROW_NAME;\nfunction isNotNull(value) {\n return value !== null;\n}\nvar transformOrigin = (options) => ({\n name: \"transformOrigin\",\n options,\n fn(data) {\n const { placement, rects, middlewareData } = data;\n const cannotCenterArrow = middlewareData.arrow?.centerOffset !== 0;\n const isArrowHidden = cannotCenterArrow;\n const arrowWidth = isArrowHidden ? 0 : options.arrowWidth;\n const arrowHeight = isArrowHidden ? 0 : options.arrowHeight;\n const [placedSide, placedAlign] = getSideAndAlignFromPlacement(placement);\n const noArrowAlign = { start: \"0%\", center: \"50%\", end: \"100%\" }[placedAlign];\n const arrowXCenter = (middlewareData.arrow?.x ?? 0) + arrowWidth / 2;\n const arrowYCenter = (middlewareData.arrow?.y ?? 0) + arrowHeight / 2;\n let x = \"\";\n let y = \"\";\n if (placedSide === \"bottom\") {\n x = isArrowHidden ? noArrowAlign : `${arrowXCenter}px`;\n y = `${-arrowHeight}px`;\n } else if (placedSide === \"top\") {\n x = isArrowHidden ? noArrowAlign : `${arrowXCenter}px`;\n y = `${rects.floating.height + arrowHeight}px`;\n } else if (placedSide === \"right\") {\n x = `${-arrowHeight}px`;\n y = isArrowHidden ? noArrowAlign : `${arrowYCenter}px`;\n } else if (placedSide === \"left\") {\n x = `${rects.floating.width + arrowHeight}px`;\n y = isArrowHidden ? noArrowAlign : `${arrowYCenter}px`;\n }\n return { data: { x, y } };\n }\n});\nfunction getSideAndAlignFromPlacement(placement) {\n const [side, align = \"center\"] = placement.split(\"-\");\n return [side, align];\n}\nvar Root2 = Popper;\nvar Anchor = PopperAnchor;\nvar Content = PopperContent;\nvar Arrow = PopperArrow;\nexport {\n ALIGN_OPTIONS,\n Anchor,\n Arrow,\n Content,\n Popper,\n PopperAnchor,\n PopperArrow,\n PopperContent,\n Root2 as Root,\n SIDE_OPTIONS,\n createPopperScope\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// packages/react/portal/src/portal.tsx\nimport * as React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nimport { jsx } from \"react/jsx-runtime\";\nvar PORTAL_NAME = \"Portal\";\nvar Portal = React.forwardRef((props, forwardedRef) => {\n const { container: containerProp, ...portalProps } = props;\n const [mounted, setMounted] = React.useState(false);\n useLayoutEffect(() => setMounted(true), []);\n const container = containerProp || mounted && globalThis?.document?.body;\n return container ? ReactDOM.createPortal(/* @__PURE__ */ jsx(Primitive.div, { ...portalProps, ref: forwardedRef }), container) : null;\n});\nPortal.displayName = PORTAL_NAME;\nvar Root = Portal;\nexport {\n Portal,\n Root\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// packages/react/presence/src/Presence.tsx\nimport * as React2 from \"react\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\n\n// packages/react/presence/src/useStateMachine.tsx\nimport * as React from \"react\";\nfunction useStateMachine(initialState, machine) {\n return React.useReducer((state, event) => {\n const nextState = machine[state][event];\n return nextState ?? state;\n }, initialState);\n}\n\n// packages/react/presence/src/Presence.tsx\nvar Presence = (props) => {\n const { present, children } = props;\n const presence = usePresence(present);\n const child = typeof children === \"function\" ? children({ present: presence.isPresent }) : React2.Children.only(children);\n const ref = useComposedRefs(presence.ref, getElementRef(child));\n const forceMount = typeof children === \"function\";\n return forceMount || presence.isPresent ? React2.cloneElement(child, { ref }) : null;\n};\nPresence.displayName = \"Presence\";\nfunction usePresence(present) {\n const [node, setNode] = React2.useState();\n const stylesRef = React2.useRef({});\n const prevPresentRef = React2.useRef(present);\n const prevAnimationNameRef = React2.useRef(\"none\");\n const initialState = present ? \"mounted\" : \"unmounted\";\n const [state, send] = useStateMachine(initialState, {\n mounted: {\n UNMOUNT: \"unmounted\",\n ANIMATION_OUT: \"unmountSuspended\"\n },\n unmountSuspended: {\n MOUNT: \"mounted\",\n ANIMATION_END: \"unmounted\"\n },\n unmounted: {\n MOUNT: \"mounted\"\n }\n });\n React2.useEffect(() => {\n const currentAnimationName = getAnimationName(stylesRef.current);\n prevAnimationNameRef.current = state === \"mounted\" ? currentAnimationName : \"none\";\n }, [state]);\n useLayoutEffect(() => {\n const styles = stylesRef.current;\n const wasPresent = prevPresentRef.current;\n const hasPresentChanged = wasPresent !== present;\n if (hasPresentChanged) {\n const prevAnimationName = prevAnimationNameRef.current;\n const currentAnimationName = getAnimationName(styles);\n if (present) {\n send(\"MOUNT\");\n } else if (currentAnimationName === \"none\" || styles?.display === \"none\") {\n send(\"UNMOUNT\");\n } else {\n const isAnimating = prevAnimationName !== currentAnimationName;\n if (wasPresent && isAnimating) {\n send(\"ANIMATION_OUT\");\n } else {\n send(\"UNMOUNT\");\n }\n }\n prevPresentRef.current = present;\n }\n }, [present, send]);\n useLayoutEffect(() => {\n if (node) {\n let timeoutId;\n const ownerWindow = node.ownerDocument.defaultView ?? window;\n const handleAnimationEnd = (event) => {\n const currentAnimationName = getAnimationName(stylesRef.current);\n const isCurrentAnimation = currentAnimationName.includes(event.animationName);\n if (event.target === node && isCurrentAnimation) {\n send(\"ANIMATION_END\");\n if (!prevPresentRef.current) {\n const currentFillMode = node.style.animationFillMode;\n node.style.animationFillMode = \"forwards\";\n timeoutId = ownerWindow.setTimeout(() => {\n if (node.style.animationFillMode === \"forwards\") {\n node.style.animationFillMode = currentFillMode;\n }\n });\n }\n }\n };\n const handleAnimationStart = (event) => {\n if (event.target === node) {\n prevAnimationNameRef.current = getAnimationName(stylesRef.current);\n }\n };\n node.addEventListener(\"animationstart\", handleAnimationStart);\n node.addEventListener(\"animationcancel\", handleAnimationEnd);\n node.addEventListener(\"animationend\", handleAnimationEnd);\n return () => {\n ownerWindow.clearTimeout(timeoutId);\n node.removeEventListener(\"animationstart\", handleAnimationStart);\n node.removeEventListener(\"animationcancel\", handleAnimationEnd);\n node.removeEventListener(\"animationend\", handleAnimationEnd);\n };\n } else {\n send(\"ANIMATION_END\");\n }\n }, [node, send]);\n return {\n isPresent: [\"mounted\", \"unmountSuspended\"].includes(state),\n ref: React2.useCallback((node2) => {\n if (node2) stylesRef.current = getComputedStyle(node2);\n setNode(node2);\n }, [])\n };\n}\nfunction getAnimationName(styles) {\n return styles?.animationName || \"none\";\n}\nfunction getElementRef(element) {\n let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.ref;\n }\n getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.props.ref;\n }\n return element.props.ref || element.ref;\n}\nexport {\n Presence\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/visually-hidden/src/visually-hidden.tsx\nimport * as React from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NAME = \"VisuallyHidden\";\nvar VisuallyHidden = React.forwardRef(\n (props, forwardedRef) => {\n return /* @__PURE__ */ jsx(\n Primitive.span,\n {\n ...props,\n ref: forwardedRef,\n style: {\n // See: https://github.com/twbs/bootstrap/blob/main/scss/mixins/_visually-hidden.scss\n position: \"absolute\",\n border: 0,\n width: 1,\n height: 1,\n padding: 0,\n margin: -1,\n overflow: \"hidden\",\n clip: \"rect(0, 0, 0, 0)\",\n whiteSpace: \"nowrap\",\n wordWrap: \"normal\",\n ...props.style\n }\n }\n );\n }\n);\nVisuallyHidden.displayName = NAME;\nvar Root = VisuallyHidden;\nexport {\n Root,\n VisuallyHidden\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// packages/react/tooltip/src/tooltip.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { DismissableLayer } from \"@radix-ui/react-dismissable-layer\";\nimport { useId } from \"@radix-ui/react-id\";\nimport * as PopperPrimitive from \"@radix-ui/react-popper\";\nimport { createPopperScope } from \"@radix-ui/react-popper\";\nimport { Portal as PortalPrimitive } from \"@radix-ui/react-portal\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { Slottable } from \"@radix-ui/react-slot\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport * as VisuallyHiddenPrimitive from \"@radix-ui/react-visually-hidden\";\nimport { jsx, jsxs } from \"react/jsx-runtime\";\nvar [createTooltipContext, createTooltipScope] = createContextScope(\"Tooltip\", [\n createPopperScope\n]);\nvar usePopperScope = createPopperScope();\nvar PROVIDER_NAME = \"TooltipProvider\";\nvar DEFAULT_DELAY_DURATION = 700;\nvar TOOLTIP_OPEN = \"tooltip.open\";\nvar [TooltipProviderContextProvider, useTooltipProviderContext] = createTooltipContext(PROVIDER_NAME);\nvar TooltipProvider = (props) => {\n const {\n __scopeTooltip,\n delayDuration = DEFAULT_DELAY_DURATION,\n skipDelayDuration = 300,\n disableHoverableContent = false,\n children\n } = props;\n const [isOpenDelayed, setIsOpenDelayed] = React.useState(true);\n const isPointerInTransitRef = React.useRef(false);\n const skipDelayTimerRef = React.useRef(0);\n React.useEffect(() => {\n const skipDelayTimer = skipDelayTimerRef.current;\n return () => window.clearTimeout(skipDelayTimer);\n }, []);\n return /* @__PURE__ */ jsx(\n TooltipProviderContextProvider,\n {\n scope: __scopeTooltip,\n isOpenDelayed,\n delayDuration,\n onOpen: React.useCallback(() => {\n window.clearTimeout(skipDelayTimerRef.current);\n setIsOpenDelayed(false);\n }, []),\n onClose: React.useCallback(() => {\n window.clearTimeout(skipDelayTimerRef.current);\n skipDelayTimerRef.current = window.setTimeout(\n () => setIsOpenDelayed(true),\n skipDelayDuration\n );\n }, [skipDelayDuration]),\n isPointerInTransitRef,\n onPointerInTransitChange: React.useCallback((inTransit) => {\n isPointerInTransitRef.current = inTransit;\n }, []),\n disableHoverableContent,\n children\n }\n );\n};\nTooltipProvider.displayName = PROVIDER_NAME;\nvar TOOLTIP_NAME = \"Tooltip\";\nvar [TooltipContextProvider, useTooltipContext] = createTooltipContext(TOOLTIP_NAME);\nvar Tooltip = (props) => {\n const {\n __scopeTooltip,\n children,\n open: openProp,\n defaultOpen = false,\n onOpenChange,\n disableHoverableContent: disableHoverableContentProp,\n delayDuration: delayDurationProp\n } = props;\n const providerContext = useTooltipProviderContext(TOOLTIP_NAME, props.__scopeTooltip);\n const popperScope = usePopperScope(__scopeTooltip);\n const [trigger, setTrigger] = React.useState(null);\n const contentId = useId();\n const openTimerRef = React.useRef(0);\n const disableHoverableContent = disableHoverableContentProp ?? providerContext.disableHoverableContent;\n const delayDuration = delayDurationProp ?? providerContext.delayDuration;\n const wasOpenDelayedRef = React.useRef(false);\n const [open = false, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen,\n onChange: (open2) => {\n if (open2) {\n providerContext.onOpen();\n document.dispatchEvent(new CustomEvent(TOOLTIP_OPEN));\n } else {\n providerContext.onClose();\n }\n onOpenChange?.(open2);\n }\n });\n const stateAttribute = React.useMemo(() => {\n return open ? wasOpenDelayedRef.current ? \"delayed-open\" : \"instant-open\" : \"closed\";\n }, [open]);\n const handleOpen = React.useCallback(() => {\n window.clearTimeout(openTimerRef.current);\n openTimerRef.current = 0;\n wasOpenDelayedRef.current = false;\n setOpen(true);\n }, [setOpen]);\n const handleClose = React.useCallback(() => {\n window.clearTimeout(openTimerRef.current);\n openTimerRef.current = 0;\n setOpen(false);\n }, [setOpen]);\n const handleDelayedOpen = React.useCallback(() => {\n window.clearTimeout(openTimerRef.current);\n openTimerRef.current = window.setTimeout(() => {\n wasOpenDelayedRef.current = true;\n setOpen(true);\n openTimerRef.current = 0;\n }, delayDuration);\n }, [delayDuration, setOpen]);\n React.useEffect(() => {\n return () => {\n if (openTimerRef.current) {\n window.clearTimeout(openTimerRef.current);\n openTimerRef.current = 0;\n }\n };\n }, []);\n return /* @__PURE__ */ jsx(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ jsx(\n TooltipContextProvider,\n {\n scope: __scopeTooltip,\n contentId,\n open,\n stateAttribute,\n trigger,\n onTriggerChange: setTrigger,\n onTriggerEnter: React.useCallback(() => {\n if (providerContext.isOpenDelayed) handleDelayedOpen();\n else handleOpen();\n }, [providerContext.isOpenDelayed, handleDelayedOpen, handleOpen]),\n onTriggerLeave: React.useCallback(() => {\n if (disableHoverableContent) {\n handleClose();\n } else {\n window.clearTimeout(openTimerRef.current);\n openTimerRef.current = 0;\n }\n }, [handleClose, disableHoverableContent]),\n onOpen: handleOpen,\n onClose: handleClose,\n disableHoverableContent,\n children\n }\n ) });\n};\nTooltip.displayName = TOOLTIP_NAME;\nvar TRIGGER_NAME = \"TooltipTrigger\";\nvar TooltipTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeTooltip, ...triggerProps } = props;\n const context = useTooltipContext(TRIGGER_NAME, __scopeTooltip);\n const providerContext = useTooltipProviderContext(TRIGGER_NAME, __scopeTooltip);\n const popperScope = usePopperScope(__scopeTooltip);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref, context.onTriggerChange);\n const isPointerDownRef = React.useRef(false);\n const hasPointerMoveOpenedRef = React.useRef(false);\n const handlePointerUp = React.useCallback(() => isPointerDownRef.current = false, []);\n React.useEffect(() => {\n return () => document.removeEventListener(\"pointerup\", handlePointerUp);\n }, [handlePointerUp]);\n return /* @__PURE__ */ jsx(PopperPrimitive.Anchor, { asChild: true, ...popperScope, children: /* @__PURE__ */ jsx(\n Primitive.button,\n {\n \"aria-describedby\": context.open ? context.contentId : void 0,\n \"data-state\": context.stateAttribute,\n ...triggerProps,\n ref: composedRefs,\n onPointerMove: composeEventHandlers(props.onPointerMove, (event) => {\n if (event.pointerType === \"touch\") return;\n if (!hasPointerMoveOpenedRef.current && !providerContext.isPointerInTransitRef.current) {\n context.onTriggerEnter();\n hasPointerMoveOpenedRef.current = true;\n }\n }),\n onPointerLeave: composeEventHandlers(props.onPointerLeave, () => {\n context.onTriggerLeave();\n hasPointerMoveOpenedRef.current = false;\n }),\n onPointerDown: composeEventHandlers(props.onPointerDown, () => {\n isPointerDownRef.current = true;\n document.addEventListener(\"pointerup\", handlePointerUp, { once: true });\n }),\n onFocus: composeEventHandlers(props.onFocus, () => {\n if (!isPointerDownRef.current) context.onOpen();\n }),\n onBlur: composeEventHandlers(props.onBlur, context.onClose),\n onClick: composeEventHandlers(props.onClick, context.onClose)\n }\n ) });\n }\n);\nTooltipTrigger.displayName = TRIGGER_NAME;\nvar PORTAL_NAME = \"TooltipPortal\";\nvar [PortalProvider, usePortalContext] = createTooltipContext(PORTAL_NAME, {\n forceMount: void 0\n});\nvar TooltipPortal = (props) => {\n const { __scopeTooltip, forceMount, children, container } = props;\n const context = useTooltipContext(PORTAL_NAME, __scopeTooltip);\n return /* @__PURE__ */ jsx(PortalProvider, { scope: __scopeTooltip, forceMount, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(PortalPrimitive, { asChild: true, container, children }) }) });\n};\nTooltipPortal.displayName = PORTAL_NAME;\nvar CONTENT_NAME = \"TooltipContent\";\nvar TooltipContent = React.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext(CONTENT_NAME, props.__scopeTooltip);\n const { forceMount = portalContext.forceMount, side = \"top\", ...contentProps } = props;\n const context = useTooltipContext(CONTENT_NAME, props.__scopeTooltip);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: context.disableHoverableContent ? /* @__PURE__ */ jsx(TooltipContentImpl, { side, ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsx(TooltipContentHoverable, { side, ...contentProps, ref: forwardedRef }) });\n }\n);\nvar TooltipContentHoverable = React.forwardRef((props, forwardedRef) => {\n const context = useTooltipContext(CONTENT_NAME, props.__scopeTooltip);\n const providerContext = useTooltipProviderContext(CONTENT_NAME, props.__scopeTooltip);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const [pointerGraceArea, setPointerGraceArea] = React.useState(null);\n const { trigger, onClose } = context;\n const content = ref.current;\n const { onPointerInTransitChange } = providerContext;\n const handleRemoveGraceArea = React.useCallback(() => {\n setPointerGraceArea(null);\n onPointerInTransitChange(false);\n }, [onPointerInTransitChange]);\n const handleCreateGraceArea = React.useCallback(\n (event, hoverTarget) => {\n const currentTarget = event.currentTarget;\n const exitPoint = { x: event.clientX, y: event.clientY };\n const exitSide = getExitSideFromRect(exitPoint, currentTarget.getBoundingClientRect());\n const paddedExitPoints = getPaddedExitPoints(exitPoint, exitSide);\n const hoverTargetPoints = getPointsFromRect(hoverTarget.getBoundingClientRect());\n const graceArea = getHull([...paddedExitPoints, ...hoverTargetPoints]);\n setPointerGraceArea(graceArea);\n onPointerInTransitChange(true);\n },\n [onPointerInTransitChange]\n );\n React.useEffect(() => {\n return () => handleRemoveGraceArea();\n }, [handleRemoveGraceArea]);\n React.useEffect(() => {\n if (trigger && content) {\n const handleTriggerLeave = (event) => handleCreateGraceArea(event, content);\n const handleContentLeave = (event) => handleCreateGraceArea(event, trigger);\n trigger.addEventListener(\"pointerleave\", handleTriggerLeave);\n content.addEventListener(\"pointerleave\", handleContentLeave);\n return () => {\n trigger.removeEventListener(\"pointerleave\", handleTriggerLeave);\n content.removeEventListener(\"pointerleave\", handleContentLeave);\n };\n }\n }, [trigger, content, handleCreateGraceArea, handleRemoveGraceArea]);\n React.useEffect(() => {\n if (pointerGraceArea) {\n const handleTrackPointerGrace = (event) => {\n const target = event.target;\n const pointerPosition = { x: event.clientX, y: event.clientY };\n const hasEnteredTarget = trigger?.contains(target) || content?.contains(target);\n const isPointerOutsideGraceArea = !isPointInPolygon(pointerPosition, pointerGraceArea);\n if (hasEnteredTarget) {\n handleRemoveGraceArea();\n } else if (isPointerOutsideGraceArea) {\n handleRemoveGraceArea();\n onClose();\n }\n };\n document.addEventListener(\"pointermove\", handleTrackPointerGrace);\n return () => document.removeEventListener(\"pointermove\", handleTrackPointerGrace);\n }\n }, [trigger, content, pointerGraceArea, onClose, handleRemoveGraceArea]);\n return /* @__PURE__ */ jsx(TooltipContentImpl, { ...props, ref: composedRefs });\n});\nvar [VisuallyHiddenContentContextProvider, useVisuallyHiddenContentContext] = createTooltipContext(TOOLTIP_NAME, { isInside: false });\nvar TooltipContentImpl = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeTooltip,\n children,\n \"aria-label\": ariaLabel,\n onEscapeKeyDown,\n onPointerDownOutside,\n ...contentProps\n } = props;\n const context = useTooltipContext(CONTENT_NAME, __scopeTooltip);\n const popperScope = usePopperScope(__scopeTooltip);\n const { onClose } = context;\n React.useEffect(() => {\n document.addEventListener(TOOLTIP_OPEN, onClose);\n return () => document.removeEventListener(TOOLTIP_OPEN, onClose);\n }, [onClose]);\n React.useEffect(() => {\n if (context.trigger) {\n const handleScroll = (event) => {\n const target = event.target;\n if (target?.contains(context.trigger)) onClose();\n };\n window.addEventListener(\"scroll\", handleScroll, { capture: true });\n return () => window.removeEventListener(\"scroll\", handleScroll, { capture: true });\n }\n }, [context.trigger, onClose]);\n return /* @__PURE__ */ jsx(\n DismissableLayer,\n {\n asChild: true,\n disableOutsidePointerEvents: false,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside: (event) => event.preventDefault(),\n onDismiss: onClose,\n children: /* @__PURE__ */ jsxs(\n PopperPrimitive.Content,\n {\n \"data-state\": context.stateAttribute,\n ...popperScope,\n ...contentProps,\n ref: forwardedRef,\n style: {\n ...contentProps.style,\n // re-namespace exposed content custom properties\n ...{\n \"--radix-tooltip-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n \"--radix-tooltip-content-available-width\": \"var(--radix-popper-available-width)\",\n \"--radix-tooltip-content-available-height\": \"var(--radix-popper-available-height)\",\n \"--radix-tooltip-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--radix-tooltip-trigger-height\": \"var(--radix-popper-anchor-height)\"\n }\n },\n children: [\n /* @__PURE__ */ jsx(Slottable, { children }),\n /* @__PURE__ */ jsx(VisuallyHiddenContentContextProvider, { scope: __scopeTooltip, isInside: true, children: /* @__PURE__ */ jsx(VisuallyHiddenPrimitive.Root, { id: context.contentId, role: \"tooltip\", children: ariaLabel || children }) })\n ]\n }\n )\n }\n );\n }\n);\nTooltipContent.displayName = CONTENT_NAME;\nvar ARROW_NAME = \"TooltipArrow\";\nvar TooltipArrow = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeTooltip, ...arrowProps } = props;\n const popperScope = usePopperScope(__scopeTooltip);\n const visuallyHiddenContentContext = useVisuallyHiddenContentContext(\n ARROW_NAME,\n __scopeTooltip\n );\n return visuallyHiddenContentContext.isInside ? null : /* @__PURE__ */ jsx(PopperPrimitive.Arrow, { ...popperScope, ...arrowProps, ref: forwardedRef });\n }\n);\nTooltipArrow.displayName = ARROW_NAME;\nfunction getExitSideFromRect(point, rect) {\n const top = Math.abs(rect.top - point.y);\n const bottom = Math.abs(rect.bottom - point.y);\n const right = Math.abs(rect.right - point.x);\n const left = Math.abs(rect.left - point.x);\n switch (Math.min(top, bottom, right, left)) {\n case left:\n return \"left\";\n case right:\n return \"right\";\n case top:\n return \"top\";\n case bottom:\n return \"bottom\";\n default:\n throw new Error(\"unreachable\");\n }\n}\nfunction getPaddedExitPoints(exitPoint, exitSide, padding = 5) {\n const paddedExitPoints = [];\n switch (exitSide) {\n case \"top\":\n paddedExitPoints.push(\n { x: exitPoint.x - padding, y: exitPoint.y + padding },\n { x: exitPoint.x + padding, y: exitPoint.y + padding }\n );\n break;\n case \"bottom\":\n paddedExitPoints.push(\n { x: exitPoint.x - padding, y: exitPoint.y - padding },\n { x: exitPoint.x + padding, y: exitPoint.y - padding }\n );\n break;\n case \"left\":\n paddedExitPoints.push(\n { x: exitPoint.x + padding, y: exitPoint.y - padding },\n { x: exitPoint.x + padding, y: exitPoint.y + padding }\n );\n break;\n case \"right\":\n paddedExitPoints.push(\n { x: exitPoint.x - padding, y: exitPoint.y - padding },\n { x: exitPoint.x - padding, y: exitPoint.y + padding }\n );\n break;\n }\n return paddedExitPoints;\n}\nfunction getPointsFromRect(rect) {\n const { top, right, bottom, left } = rect;\n return [\n { x: left, y: top },\n { x: right, y: top },\n { x: right, y: bottom },\n { x: left, y: bottom }\n ];\n}\nfunction isPointInPolygon(point, polygon) {\n const { x, y } = point;\n let inside = false;\n for (let i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {\n const xi = polygon[i].x;\n const yi = polygon[i].y;\n const xj = polygon[j].x;\n const yj = polygon[j].y;\n const intersect = yi > y !== yj > y && x < (xj - xi) * (y - yi) / (yj - yi) + xi;\n if (intersect) inside = !inside;\n }\n return inside;\n}\nfunction getHull(points) {\n const newPoints = points.slice();\n newPoints.sort((a, b) => {\n if (a.x < b.x) return -1;\n else if (a.x > b.x) return 1;\n else if (a.y < b.y) return -1;\n else if (a.y > b.y) return 1;\n else return 0;\n });\n return getHullPresorted(newPoints);\n}\nfunction getHullPresorted(points) {\n if (points.length <= 1) return points.slice();\n const upperHull = [];\n for (let i = 0; i < points.length; i++) {\n const p = points[i];\n while (upperHull.length >= 2) {\n const q = upperHull[upperHull.length - 1];\n const r = upperHull[upperHull.length - 2];\n if ((q.x - r.x) * (p.y - r.y) >= (q.y - r.y) * (p.x - r.x)) upperHull.pop();\n else break;\n }\n upperHull.push(p);\n }\n upperHull.pop();\n const lowerHull = [];\n for (let i = points.length - 1; i >= 0; i--) {\n const p = points[i];\n while (lowerHull.length >= 2) {\n const q = lowerHull[lowerHull.length - 1];\n const r = lowerHull[lowerHull.length - 2];\n if ((q.x - r.x) * (p.y - r.y) >= (q.y - r.y) * (p.x - r.x)) lowerHull.pop();\n else break;\n }\n lowerHull.push(p);\n }\n lowerHull.pop();\n if (upperHull.length === 1 && lowerHull.length === 1 && upperHull[0].x === lowerHull[0].x && upperHull[0].y === lowerHull[0].y) {\n return upperHull;\n } else {\n return upperHull.concat(lowerHull);\n }\n}\nvar Provider = TooltipProvider;\nvar Root3 = Tooltip;\nvar Trigger = TooltipTrigger;\nvar Portal = TooltipPortal;\nvar Content2 = TooltipContent;\nvar Arrow2 = TooltipArrow;\nexport {\n Arrow2 as Arrow,\n Content2 as Content,\n Portal,\n Provider,\n Root3 as Root,\n Tooltip,\n TooltipArrow,\n TooltipContent,\n TooltipPortal,\n TooltipProvider,\n TooltipTrigger,\n Trigger,\n createTooltipScope\n};\n//# sourceMappingURL=index.mjs.map\n","// TODO: Seperate these into their own components!!\n\nimport React from \"react\";\nimport * as styles from \"./compensation.module.scss\";\nimport Bar from \"./Bar\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport {\n faChevronDown,\n faCircleInfo,\n} from \"@fortawesome/sharp-regular-svg-icons\";\nimport { FilterRadios } from \"../../search/filters\";\nimport statesDbData from \"../../../libs/states.json\";\nimport { faCircleDollar } from \"@fortawesome/sharp-solid-svg-icons\";\nimport { useResponsive } from \"../../../hooks/useResponsive\";\nimport * as Tabs from \"@radix-ui/react-tabs\";\nimport * as Tooltip from \"@radix-ui/react-tooltip\";\nimport { Link } from \"gatsby\";\nimport MissingData from \"./MissingData\";\n\nconst MissingCompensation = ({ pageId, compRef }) => {\n return (\n <section id={pageId} ref={compRef} className={styles[\"missingData\"]}>\n <div className={styles[\"inner\"]}>\n <h2>Compensation</h2>\n <MissingData />\n </div>\n </section>\n );\n};\n\nconst SalaryWithIcon = ({ salary }) => {\n return (\n <div className={styles[\"salaryIcon\"]}>\n <FontAwesomeIcon icon={faCircleDollar} />\n {salary.slice(1)}\n </div>\n );\n};\n\nconst SalaryItem = ({\n color = \"citrus\",\n salary,\n styles,\n percentage,\n label,\n orientation = \"horizontal\",\n}) => {\n const isDesktop = useResponsive();\n\n return (\n <div className={styles[\"salaryItem\"]}>\n {salary && <h3>{salary.toLocaleString(\"en-US\")}</h3>}\n <Bar\n className={styles[\"bar\"]}\n orientation={orientation}\n color={color}\n percentage={percentage}\n />\n {isDesktop ? (\n <div className={styles[\"label\"]}>{label}</div>\n ) : (\n <div className={`${styles[\"circle\"]} ${styles[color]}`}>{label}</div>\n )}\n </div>\n );\n};\n\nconst BarGroup = ({\n color,\n min_salary,\n max_salary,\n isDesktop,\n median_salary,\n median_salary_formatting,\n}) => {\n return (\n <>\n <>\n {isDesktop && (\n <>\n <div className={`${styles[\"salary\"]}`}>\n <div className={styles[\"salaryGrid\"]}>\n <SalaryItem\n color={color}\n salary={min_salary.value}\n styles={styles}\n percentage={50}\n orientation=\"vertical\"\n label={min_salary.label}\n />\n <SalaryItem\n color={color}\n styles={styles}\n percentage={75}\n orientation=\"vertical\"\n />\n <SalaryItem\n color={color}\n salary={median_salary_formatting.value}\n styles={styles}\n percentage={100}\n orientation=\"vertical\"\n label={median_salary_formatting.label}\n />\n <SalaryItem\n color={color}\n styles={styles}\n percentage={75}\n orientation=\"vertical\"\n />\n <SalaryItem\n color={color}\n salary={max_salary.value}\n styles={styles}\n percentage={50}\n orientation=\"vertical\"\n label={max_salary.label}\n />\n </div>\n <div className={styles[\"salaryWithIcon\"]}>\n <div className={styles[\"description\"]}>\n Median Salary\n <Tooltip.Provider delayDuration={200}>\n <Tooltip.Root>\n <Tooltip.Trigger asChild>\n <button className={styles[\"IconButton\"]}>\n <FontAwesomeIcon icon={faCircleInfo} />\n </button>\n </Tooltip.Trigger>\n <Tooltip.Portal>\n <Tooltip.Content\n className={styles[\"TooltipContent\"]}\n sideOffset={5}\n >\n This is the median, or the midpoint, of the salary\n range for this career.\n <Tooltip.Arrow className={styles[\"TooltipArrow\"]} />\n </Tooltip.Content>\n </Tooltip.Portal>\n </Tooltip.Root>\n </Tooltip.Provider>\n </div>\n <SalaryWithIcon salary={median_salary.value} />\n </div>\n </div>\n </>\n )}\n {!isDesktop && (\n <div className={`${styles[\"salary\"]}`}>\n <div className={styles[\"salaryGrid\"]}>\n <SalaryItem\n color={color}\n salary={min_salary.value}\n styles={styles}\n percentage={10}\n label={min_salary.label}\n />\n <SalaryItem\n // turn this salary average into dollar text\n color={color}\n salary={median_salary_formatting.value}\n styles={styles}\n percentage={51}\n label={median_salary_formatting.label}\n />\n <SalaryItem\n color={color}\n salary={max_salary.value}\n styles={styles}\n percentage={90}\n label={max_salary.label}\n />\n </div>\n </div>\n )}\n </>\n </>\n );\n};\n\nconst CareerCompensation = ({\n pageId = \"compensation\",\n title,\n salary_average,\n min_salary,\n max_salary,\n nationwide_salaries = [],\n compRef,\n formattedSalary,\n isDesktop,\n}) => {\n const salaryStates = new Set(nationwide_salaries.map((s) => s.abbreviation));\n\n const median_salary_formatting = formattedSalary(salary_average);\n\n const foundStates = statesDbData\n .map((sJson) => {\n // Label = State Full Name\n // Value = State Abbr\n const { value: sAbbr } = sJson;\n const foundState = nationwide_salaries.find(\n (stateObj) => stateObj.abbreviation === sAbbr,\n );\n if (\n salaryStates.has(sAbbr) &&\n foundState?.salary_average &&\n foundState.salary_average !== \"N/A\"\n ) {\n return sJson;\n } else {\n return { ...sJson, disabled: true };\n }\n })\n .sort((a, b) => {\n return (\n (a.disabled === true) - (b.disabled === true) ||\n a.label.localeCompare(b.label)\n );\n });\n\n const [location, setLocation] = React.useState(null);\n\n const areAllDisabled = foundStates.every((state) => state.disabled);\n const triggerUpdate = (location) => {\n const foundState = abbrToLabel(location.get(\"state\"));\n foundState ? setLocation(foundState) : setLocation(null);\n };\n\n const abbrToLabel = (abbr) => {\n const foundState = nationwide_salaries.find(\n (stateObj) => stateObj.abbreviation === abbr,\n );\n return foundState;\n };\n\n // When page loads make sure to check if there is a parameter state\n // If there is set the location to that state\n React.useEffect(() => {\n if (typeof window === \"undefined\") return;\n const params = new URLSearchParams(window.location.search);\n if (params.get(\"state\")) {\n const foundState = abbrToLabel(params.get(\"state\"));\n foundState && setLocation(foundState);\n }\n }, []);\n // window.addEventListener(\"resize\", () => {\n // if (compRef.current && compRef.current.offsetWidth)\n // setCompWidth(compRef.current.offsetWidth);\n // });\n // React.useEffect(() => {\n // compRef.current.style.setProperty(\"--compWidth\", compWidth);\n // }, [compWidth]);\n //\n if (\n !salary_average &&\n !min_salary &&\n !max_salary &&\n (nationwide_salaries.length < 1 || areAllDisabled)\n )\n return <MissingCompensation pageId={pageId} compRef={compRef} />;\n\n return (\n <section id={pageId} ref={compRef}>\n <div className={styles[\"inner\"]}>\n <h2>Compensation</h2>\n <div className={styles[\"infoSection\"]}>\n {title && <h3>What is the typical salary range?</h3>}\n </div>\n {salary_average ? (\n <BarGroup\n min_salary={{ label: \"10%\", value: min_salary }}\n max_salary={{ label: \"90%\", value: max_salary }}\n isDesktop={isDesktop}\n salary_average={salary_average}\n median_salary={{ label: \"Median\", value: median_salary_formatting }}\n median_salary_formatting={{\n label: \"Median\",\n value: median_salary_formatting,\n }}\n />\n ) : (\n <MissingData />\n )}\n\n <div className={styles[\"stateSalaryContainer\"]}>\n {title && <h3>How does location impact how much salary?</h3>}\n <div className={styles[\"statePicker\"]}>\n {isDesktop && location && location.state && (\n <p className={styles[\"state\"]}>\n Median Salary:\n {isDesktop &&\n (location && median_salary_formatting ? (\n <span>{formattedSalary(location.salary_average)}</span>\n ) : (\n <span>{median_salary_formatting}</span>\n ))}\n </p>\n )}\n {!isDesktop && location && (\n <SalaryWithIcon\n salary={\n !!location\n ? \"$\" +\n parseInt(location.salary_average).toLocaleString(\"en-US\")\n : median_salary_formatting\n }\n />\n )}\n <FilterRadios\n label=\"state\"\n title=\"States\"\n trigger={\n location && location.state ? (\n <p>\n {/* {location.state.slice(0, 20)} */}\n {location.state.length > 20\n ? location.state.slice(0, 21) + \"...\"\n : location.state}\n <FontAwesomeIcon icon={faChevronDown} />\n </p>\n ) : (\n <p>\n Select a state to compare\n <FontAwesomeIcon icon={faChevronDown} />\n </p>\n )\n }\n triggerUpdate={triggerUpdate}\n radios={foundStates}\n />\n </div>\n </div>\n </div>\n </section>\n );\n};\n\nconst MilitaryCompensation = ({\n pageId = \"compensation\",\n salary_average,\n median_salary_per_year,\n compRef,\n formattedSalary,\n isDesktop,\n}) => {\n const color = \"blue\";\n const [isOpen, setIsOpen] = React.useState(false);\n\n return (\n <section id={pageId} ref={compRef}>\n <div className={styles[\"inner\"]}>\n <h2>Compensation</h2>\n <div className={styles[\"subTitle\"]}>\n <h3>Understanding How Military Pay is More Than Just a Salary</h3>\n <Tabs.Root className={styles[\"ctaGroup\"]} defaultValue=\"tab1\">\n <Tabs.List\n className={styles[\"tabsList\"]}\n aria-label=\"Check out the different types of pay in the Military\"\n >\n <Tabs.Trigger\n className={`${styles[color]}`}\n value=\"tab1\"\n data-gtm=\"military-detail-base-pay\"\n >\n Base Pay\n </Tabs.Trigger>\n <Tabs.Trigger\n className={`${styles[color]}`}\n value=\"tab2\"\n data-gtm=\"military-detail-allowances\"\n >\n Allowances\n </Tabs.Trigger>\n <Tabs.Trigger\n className={`${styles[color]}`}\n value=\"tab3\"\n data-gtm=\"military-detail-special-pay\"\n >\n Special Pay\n </Tabs.Trigger>\n </Tabs.List>\n <Tabs.Content className={styles[\"tabsContent\"]} value=\"tab1\">\n <div>\n <p>\n Base pay is the standard income you’ll earn as a service\n member, providing a stable foundation to start achieving your\n financial goals.\n </p>\n <ul>\n <li>Always fixed based on rank and service time.</li>\n <li>Distributed monthly.</li>\n </ul>\n </div>\n </Tabs.Content>\n <Tabs.Content className={styles[\"tabsContent\"]} value=\"tab2\">\n <div>\n <p>\n Allowances are tax-free stipends for essentials like housing\n and food, reducing financial burdens during service and\n increasing your total compensation.\n </p>\n <ul>\n <li>Basic Allowance for Housing (BAH): housing.</li>\n <li>Basic Allowance for Subsistence (BAS): food.</li>\n </ul>\n </div>\n </Tabs.Content>\n <Tabs.Content className={styles[\"tabsContent\"]} value=\"tab3\">\n <div>\n <p>\n Special pay provides bonuses for unique skills, hazardous\n duties or specific assignments, increasing your overall\n compensation.\n </p>\n <ul>\n <li>Includes bonuses for specialized roles.</li>\n <li>Often given for assignments in challenging locations.</li>\n </ul>\n </div>\n </Tabs.Content>\n </Tabs.Root>\n <Link\n className={styles[\"militaryCta\"]}\n to=\"/joining-the-military/military-benefits/\"\n data-gtm=\"cta-military-benefits\"\n >\n Learn More About Military Benefits\n </Link>\n </div>\n <>\n <div className={styles[\"infoSection\"]}>\n <h3>What is the typical salary range?</h3>\n {(median_salary_per_year[0] ||\n median_salary_per_year[1] ||\n median_salary_per_year[2] ||\n salary_average) && (\n <div className={styles[\"salaryAverage\"]}>\n Salary by Years of Service{\" \"}\n </div>\n )}\n </div>\n {median_salary_per_year[0] ||\n median_salary_per_year[1] ||\n median_salary_per_year[2] ||\n salary_average ? (\n <BarGroup\n color={color}\n // salary_average={salary_average}\n min_salary={{\n label: \"2 Years\",\n value: median_salary_per_year[0]\n ? formattedSalary(median_salary_per_year[0])\n : \"N/A\",\n }}\n max_salary={{\n label: \"10+ Years\",\n value: median_salary_per_year[2]\n ? formattedSalary(median_salary_per_year[2])\n : \"N/A\",\n }}\n isDesktop={isDesktop}\n median_salary={{\n label: \"Median\",\n value: formattedSalary(salary_average),\n }}\n median_salary_formatting={{\n label: \"6 Years\",\n value: median_salary_per_year[1]\n ? formattedSalary(median_salary_per_year[1])\n : \"N/A\",\n }}\n />\n ) : (\n <MissingData />\n )}\n {!isDesktop && salary_average && (\n <div className={styles[\"description\"]}>\n Median Salary\n <Tooltip.Provider delayDuration={200}>\n <Tooltip.Root open={isOpen}>\n <Tooltip.Trigger asChild>\n <button\n className={styles[\"IconButton\"]}\n onClick={() => setIsOpen(!isOpen)}\n >\n <FontAwesomeIcon icon={faCircleInfo} />\n </button>\n </Tooltip.Trigger>\n <Tooltip.Portal>\n <Tooltip.Content\n className={styles[\"TooltipContent\"]}\n sideOffset={5}\n style={{ zIndex: 9999 }}\n >\n This is the median, or the midpoint, of the salary range\n for this career.\n <Tooltip.Arrow className={styles[\"TooltipArrow\"]} />\n </Tooltip.Content>\n </Tooltip.Portal>\n </Tooltip.Root>\n </Tooltip.Provider>\n <SalaryWithIcon salary={formattedSalary(salary_average)} />\n </div>\n )}\n </>\n </div>\n </section>\n );\n};\n\nconst Compensation = ({ pageId, military, career }) => {\n const [compWidth, setCompWidth] = React.useState(1013);\n const compRef = React.useRef(null);\n const formattedSalary = (salary) =>\n new Intl.NumberFormat(\"en-US\", {\n style: \"currency\",\n currency: \"USD\",\n minimumFractionDigits: 0,\n maximumFractionDigits: 0,\n }).format(salary);\n const isDesktop = useResponsive();\n\n // use the compRef to save a variable that keeps track of the width of the element\n // as the viewport changes\n React.useEffect(() => {\n const resizeObserver = new ResizeObserver((entries) => {\n for (let entry of entries) {\n setCompWidth(entry.target.offsetWidth);\n }\n });\n\n if (compRef.current) {\n resizeObserver.observe(compRef.current);\n }\n\n return () => {\n resizeObserver.disconnect();\n };\n });\n\n React.useEffect(() => {\n if (compRef.current) {\n compRef.current.style.setProperty(\"--compWidth\", `${compWidth}px`);\n }\n });\n\n const opts = {\n compRef,\n formattedSalary,\n isDesktop,\n };\n\n if (career)\n return <CareerCompensation pageId={pageId} {...career} {...opts} />;\n if (military)\n return <MilitaryCompensation pageId={pageId} {...military} {...opts} />;\n return <></>;\n};\n\nexport default Compensation;\n","import React from \"react\";\nimport * as styles from \"./education.module.scss\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport { faSchool } from \"@fortawesome/sharp-thin-svg-icons\";\nimport { Link } from \"gatsby\";\nimport BarGraph from \"./BarGraph\";\nimport MissingData from \"./MissingData\";\n\nconst Education = ({\n pageId = \"education\",\n title,\n required_level_of_education,\n related_college_majors,\n variant,\n ...props\n}) => {\n const showEducation =\n (related_college_majors && related_college_majors.length > 0) ||\n (required_level_of_education && required_level_of_education.length > 0);\n return (\n <section id={pageId} className={showEducation ? \"\" : styles[\"missingData\"]}>\n <div className={styles[\"inner\"]}>\n <h2>Education</h2>\n {showEducation ? (\n <>\n <>\n <h3>\n {variant === \"military\"\n ? `What level of education do professionals in this role have?`\n : `What level of education do professionals in this role have?`}\n </h3>\n {required_level_of_education &&\n required_level_of_education.length !== 0 ? (\n <BarGraph\n title=\"Education Level\"\n dataArr={required_level_of_education}\n variant={variant}\n />\n ) : (\n <MissingData />\n )}\n <hr />\n </>\n <>\n <div className={styles[\"majors\"]}>\n <h3>Which college majors best prepare you for this role?</h3>\n {related_college_majors && related_college_majors.length > 0 ? (\n <ul>\n {related_college_majors.map((major) => (\n <li key={major}>{major}</li>\n ))}\n </ul>\n ) : (\n <MissingData />\n )}\n </div>\n {variant !== \"military\" && <hr />}\n </>\n\n {variant === \"military\" && (\n <div className={styles[\"militaryCta\"]}>\n <FontAwesomeIcon icon={faSchool} />\n <h3>\n Learn About How Military Can Pay for 100% of your College\n Degree\n </h3>\n <div>\n The Military has several programs that cover college costs —\n so you can pursue your education with little to no debt.\n </div>\n <Link\n className={styles[\"cta\"]}\n to=\"/preparing-for-school/paying-for-college/\"\n data-gtm=\"paying-for-college-cta\"\n >\n Learn More About Paying For College\n </Link>\n </div>\n )}\n </>\n ) : (\n <MissingData />\n )}\n </div>\n </section>\n );\n};\n\nexport default Education;\n","// extracted by mini-css-extract-plugin\nexport var cta = \"education-module--cta--f8216\";\nexport var educationStat = \"education-module--education-stat--ce8e8\";\nexport var inner = \"education-module--inner--29265\";\nexport var majors = \"education-module--majors--2b0f8\";\nexport var militaryCta = \"education-module--militaryCta--93e23\";\nexport var missingData = \"education-module--missing-data--b01d7\";","// extracted by mini-css-extract-plugin\nexport var breakdown = \"overview-module--breakdown--2e858\";\nexport var breakdownItem = \"overview-module--breakdown-item--72027\";\nexport var breakdownList = \"overview-module--breakdown-list--f62d7\";\nexport var citrus = \"overview-module--citrus--e7af8\";\nexport var copy = \"overview-module--copy--633c8\";\nexport var cta = \"overview-module--cta--22401\";\nexport var ctaGroup = \"overview-module--cta-group--d8754\";\nexport var infoSection = \"overview-module--info-section--0aea4\";\nexport var inner = \"overview-module--inner--b0ee7\";\nexport var militaryTeaser = \"overview-module--military-teaser--2bd8d\";\nexport var missingData = \"overview-module--missing-data--e97fa\";\nexport var numberEmployed = \"overview-module--number-employed--57bde\";\nexport var percentage = \"overview-module--percentage--a632d\";\nexport var title = \"overview-module--title--552ca\";","import React from \"react\";\nimport { Link } from \"gatsby\";\nimport Bar from \"./Bar\";\nimport Title from \"../../shared/Title\";\nimport { Scribble } from \"../../shared/Scribbles\";\nimport * as styles from \"./overview.module.scss\";\nimport MissingData from \"./MissingData\";\n\nconst Overview = ({\n title,\n description,\n business_breakdown,\n job_outlook,\n military_cta,\n color,\n work_environment,\n number_employed,\n variant,\n pageId = \"overview\",\n}) => {\n const regex = /(\\d+)\\s*percent/;\n const match = job_outlook && job_outlook.match(regex);\n const beforeMatch = match ? job_outlook.substring(0, match.index) : match;\n const highlightedText = match ? match[0] : null;\n const afterMatch = match\n ? job_outlook.substring(match.index + match[0].length)\n : \"\";\n return (\n <section id={pageId}>\n <div className={styles[\"inner\"]}>\n <h2>Overview</h2>\n <div className={styles[\"infoSection\"]}>\n <h3>What are the responsibilities of this role?</h3>\n <p>{description ? description : <MissingData />}</p>\n </div>\n {variant === \"career\" && (\n <>\n <div className={styles[\"breakdown\"]}>\n <h3>What sectors do they work in?</h3>\n {business_breakdown ? (\n <div className={styles[\"breakdownList\"]}>\n {business_breakdown.map(([key, value]) => (\n <div key={key} className={styles[\"breakdownItem\"]}>\n <p>{key}</p>\n <Bar\n orientation={\"horizontal\"}\n color={color}\n percentage={Math.round(value)}\n />\n <div\n className={`${styles[\"percentage\"]} ${styles[color]}`}\n >\n {Math.round(value)}%\n </div>\n </div>\n ))}\n </div>\n ) : (\n <MissingData />\n )}\n </div>\n {military_cta && (\n <div className={styles[\"militaryTeaser\"]}>\n <div className={styles[\"inner\"]}>\n <Scribble scribble=\"coin\" />\n <div>\n <Title\n copy={`Did you know this role exists in the Military?`}\n className={styles[\"title\"]}\n />\n </div>\n <div className={styles[\"ctaGroup\"]}>\n <Link\n to={`/occupations-industries/occupations/${military_cta}`}\n className={`${styles[\"cta\"]}`}\n data-gtm={\"cta-explore-this-role-in-military\"}\n >\n Explore this Role in the Military\n </Link>\n <Link\n to={\"/mapping-your-future/military-service/\"}\n className={`${styles[\"cta\"]}`}\n >\n Learn More About Military Service\n </Link>\n </div>\n </div>\n </div>\n )}\n <div className={styles[\"infoSection\"]}>\n <h3>What is the job outlook?</h3>\n {job_outlook ? (\n <p>\n {beforeMatch}{\" \"}\n {highlightedText && <strong>{highlightedText}</strong>}{\" \"}\n {afterMatch}\n </p>\n ) : (\n <MissingData />\n )}\n </div>\n </>\n )}\n {variant === \"military\" && (\n <>\n <div className={styles[\"infoSection\"]}>\n <h3>What is the work environment like?</h3>\n <p>{work_environment ? work_environment : <MissingData />}</p>\n </div>\n <div className={styles[\"numberEmployed\"]}>\n <h3>How many people have this role in the Military?</h3>\n {number_employed ? (\n <p>{number_employed.toLocaleString()}</p>\n ) : (\n <p>\n <MissingData />\n </p>\n )}\n </div>\n </>\n )}\n </div>\n </section>\n );\n};\n\nexport default Overview;\n","// extracted by mini-css-extract-plugin\nexport var cta = \"skills-module--cta--36979\";\nexport var inner = \"skills-module--inner--633e5\";\nexport var interest = \"skills-module--interest--64d4e\";\nexport var interestLabel = \"skills-module--interest-label--4f87f\";\nexport var missingData = \"skills-module--missing-data--cd588\";\nexport var skillSection = \"skills-module--skill-section--6c736\";","import React from \"react\";\nimport * as styles from \"./skills.module.scss\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport BarGraph from \"./BarGraph\";\nimport MissingData from \"./MissingData\";\nimport Cta from \"../../../components/shared/Cta\";\nimport { faWrench } from \"@fortawesome/pro-thin-svg-icons\";\nimport {\n faGavel,\n faNfcMagnifyingGlass,\n faPaintbrushFine,\n faUserGroup,\n faFile,\n} from \"@fortawesome/sharp-thin-svg-icons\";\n\nconst Skills = ({\n pageId = \"skills\",\n title,\n skills_at_a_glance,\n workplace_at_a_glance,\n knowledges,\n interests,\n variant,\n ...props\n}) => {\n const formatInterest = (interests) => {\n if (!interests) return [];\n const values = Object.values(interests);\n const iconToInterest = (value) =>\n ({\n Realistic: {\n interest: \"Realistic\",\n icon: faWrench,\n value,\n },\n Investigative: {\n interest: \"Investigative\",\n icon: faNfcMagnifyingGlass,\n value,\n },\n Artistic: {\n interest: \"Artistic\",\n icon: faPaintbrushFine,\n value,\n },\n Enterprising: {\n interest: \"Enterprising\",\n icon: faGavel,\n value,\n },\n Conventional: {\n interest: \"Conventional\",\n icon: faFile,\n value,\n },\n Social: {\n interest: \"Social\",\n icon: faUserGroup,\n value,\n },\n })[value.split(\": \")[0]];\n return values.map((interest) => iconToInterest(interest)).filter((i) => i);\n };\n\n if (\n (!skills_at_a_glance ||\n (skills_at_a_glance && skills_at_a_glance.length === 0)) &&\n (!workplace_at_a_glance ||\n (workplace_at_a_glance && workplace_at_a_glance.length === 0)) &&\n (!knowledges || (knowledges && knowledges.length === 0)) &&\n (!interests || (interests && Object.values(interests).length === 0))\n )\n return (\n <section id={pageId} className={styles[\"missingData\"]}>\n <div className={styles[\"inner\"]}>\n <h2>Skills and Interests</h2>\n <MissingData />\n </div>\n </section>\n );\n\n return (\n <section id={pageId}>\n <div className={styles[\"inner\"]}>\n <h2>Skills and Interests</h2>\n <>\n <BarGraph\n title={\n variant === \"military\"\n ? `What skills will set you up for success?`\n : `Which skill sets are the most valuable to possess?`\n }\n category={\"Skills\"}\n variant={variant}\n dataArr={\n skills_at_a_glance && skills_at_a_glance.length > 0\n ? skills_at_a_glance\n : []\n }\n />\n <hr />\n </>\n\n <>\n <div className={styles[\"skillSection\"]}>\n <h3>\n {variant === \"military\"\n ? `What knowledge is essential to bring to the table?`\n : `What knowledge should you bring to the table?`}\n </h3>\n {knowledges && knowledges.length > 0 ? (\n <ul>\n {knowledges.map((k) => (\n <li key={k}>{k}</li>\n ))}\n </ul>\n ) : (\n <MissingData />\n )}\n </div>\n <hr />\n </>\n\n <>\n <BarGraph\n title={\n variant === \"miliatry\"\n ? `What should you expect in a workplace setting?`\n : `What challenges will you likely face in the workplace?`\n }\n category={\"Workplace\"}\n variant={variant}\n dataArr={\n workplace_at_a_glance && workplace_at_a_glance.length > 0\n ? workplace_at_a_glance\n : []\n }\n />\n <hr />\n </>\n\n {/* {variant === \"career\" && interests && ( */}\n <>\n <div className={styles[\"skillSection\"]}>\n <h3>What personality traits help people thrive in this role?</h3>\n {interests && Object.values(interests).length > 0 ? (\n <>\n <div>\n {formatInterest(interests).map((i) => (\n <div key={i.interest} className={styles[\"interest\"]}>\n <FontAwesomeIcon icon={i.icon} />\n <div className={styles[\"interestLabel\"]}>\n {i.interest}\n </div>\n <p>{i.value.split(\": \")[1]}</p>\n </div>\n ))}\n </div>\n <p>\n RIASEC represents six broad interest areas—Realistic,\n Investigative, Artistic, Social, Enterprising, and\n Conventional—helping individuals identify careers that match\n their skills and preferences.\n </p>\n <Cta\n href=\"https://enrolluhmc.com/riasec/\"\n label=\"Take the RIASEC Test\"\n className={styles[\"cta\"]}\n />\n </>\n ) : (\n <MissingData />\n )}\n </div>\n <hr />\n </>\n </div>\n </section>\n );\n};\n\nexport default Skills;\n"],"names":["composeContextScopes","scopes","baseScope","length","createScope","scopeHooks","map","createScope2","useScope","scopeName","overrideScopes","nextScopes","reduce","nextScopes2","PROGRESS_NAME","DEFAULT_MAX","createProgressContext","createProgressScope","createContextScopeDeps","defaultContexts","scopeContexts","defaultContext","scope","contexts","rootComponentName","BaseContext","index","Provider","props","children","context","Context","value","Object","values","jsx","displayName","consumerName","Error","createContextScope","ProgressProvider","useProgressContext","Progress","forwardedRef","__scopeProgress","valueProp","max","maxProp","getValueLabel","defaultGetValueLabel","progressProps","isValidMaxNumber","console","error","isValidValueNumber","propValue","componentName","getInvalidValueError","valueLabel","isNumber","div","role","getProgressState","ref","INDICATOR_NAME","ProgressIndicator","indicatorProps","Math","round","maxValue","isNaN","Root","Indicator","bar","blue","blue100","blue200","blue75","citrus","citrus100","citrus200","citrus75","grey","horizontal","progress","small","vertical","_ref","orientation","color","percentage","variant","barRef","React","current","style","setProperty","className","styles","transform","barContainer","barGraph","BarGraphItem","_ref3","label","activeLength","Number","High","Mid","Low","calcLength","ceil","getColor","isActive","Bars","i","push","Bar","key","title","category","dataArr","MissingData","listItems","_ref2","idx","IconButton","TooltipArrow","TooltipContent","circle","ctaGroup","description","infoSection","inner","militaryCta","missingData","missingDataWrapper","salary","salaryAverage","salaryGrid","salaryIcon","salaryItem","salaryWithIcon","slideDownAndFade","slideLeftAndFade","slideRightAndFade","slideUpAndFade","state","statePicker","stateSalaryContainer","subTitle","tabsContent","tabsList","useResponsive","isDesktop","setDesktop","useState","useEffect","window","innerWidth","updateMedia","addEventListener","removeEventListener","composeEventHandlers","originalEventHandler","ourEventHandler","checkForDefaultPrevented","event","defaultPrevented","setRef","composeRefs","refs","node","hasCleanup","cleanups","cleanup","useComposedRefs","Slot","slotProps","childrenArray","toArray","slottable","find","isSlottable","newElement","newChildren","child","count","only","SlotClone","childrenRef","element","getter","getOwnPropertyDescriptor","get","mayWarn","isReactWarning","getElementRef","mergeProps","Slottable","Fragment","type","childProps","overrideProps","propName","slotPropValue","childPropValue","test","args","filter","Boolean","join","Primitive","primitive","Node","asChild","primitiveProps","Comp","Symbol","for","ENTRY_FOCUS","EVENT_OPTIONS","bubbles","cancelable","GROUP_NAME","Collection","useCollection","createCollectionScope","name","PROVIDER_NAME","createCollectionContext","CollectionProviderImpl","useCollectionContext","collectionRef","itemMap","Map","CollectionProvider","COLLECTION_SLOT_NAME","CollectionSlot","composedRefs","ITEM_SLOT_NAME","ITEM_DATA_ATTR","CollectionItemSlot","itemData","set","delete","ItemSlot","collectionNode","orderedNodes","Array","from","querySelectorAll","sort","a","b","indexOf","createCollection","createRovingFocusGroupContext","createRovingFocusGroupScope","RovingFocusProvider","useRovingFocusContext","RovingFocusGroup","__scopeRovingFocusGroup","RovingFocusGroupImpl","loop","dir","currentTabStopId","currentTabStopIdProp","defaultCurrentTabStopId","onCurrentTabStopIdChange","onEntryFocus","preventScrollOnEntryFocus","groupProps","direction","setCurrentTabStopId","prop","defaultProp","onChange","isTabbingBackOut","setIsTabbingBackOut","handleEntryFocus","getItems","isClickFocusRef","focusableItemsCount","setFocusableItemsCount","onItemFocus","tabStopId","onItemShiftTab","onFocusableItemAdd","prevCount","onFocusableItemRemove","tabIndex","outline","onMouseDown","onFocus","isKeyboardFocus","target","currentTarget","entryFocusEvent","CustomEvent","dispatchEvent","items","item","focusable","focusFirst","active","id","onBlur","ITEM_NAME","RovingFocusGroupItem","itemProps","autoId","isCurrentTabStop","span","preventDefault","onKeyDown","shiftKey","focusIntent","getDirectionAwareKey","includes","MAP_KEY_TO_FOCUS_INTENT","getFocusIntent","metaKey","ctrlKey","altKey","candidateNodes","reverse","currentIndex","startIndex","array","_","slice","setTimeout","ArrowLeft","ArrowUp","ArrowRight","ArrowDown","PageUp","Home","PageDown","End","candidates","preventScroll","PREVIOUSLY_FOCUSED_ELEMENT","document","activeElement","candidate","focus","Item","Presence","present","presence","setNode","stylesRef","prevPresentRef","prevAnimationNameRef","initialState","send","machine","useStateMachine","mounted","UNMOUNT","ANIMATION_OUT","unmountSuspended","MOUNT","ANIMATION_END","unmounted","currentAnimationName","getAnimationName","wasPresent","prevAnimationName","display","timeoutId","ownerWindow","ownerDocument","defaultView","handleAnimationEnd","isCurrentAnimation","animationName","currentFillMode","animationFillMode","handleAnimationStart","clearTimeout","isPresent","node2","getComputedStyle","usePresence","TABS_NAME","createTabsContext","createTabsScope","useRovingFocusGroupScope","TabsProvider","useTabsContext","Tabs","__scopeTabs","onValueChange","defaultValue","activationMode","tabsProps","setValue","baseId","TAB_LIST_NAME","TabsList","listProps","rovingFocusGroupScope","TRIGGER_NAME","TabsTrigger","disabled","triggerProps","triggerId","makeTriggerId","contentId","makeContentId","isSelected","button","isAutomaticActivation","CONTENT_NAME","TabsContent","forceMount","contentProps","isMountAnimationPreventedRef","rAF","requestAnimationFrame","cancelAnimationFrame","hidden","animationDuration","Root2","List","Trigger","Content","props2","originalBodyPointerEvents","CONTEXT_UPDATE","POINTER_DOWN_OUTSIDE","FOCUS_OUTSIDE","DismissableLayerContext","layers","Set","layersWithOutsidePointerEventsDisabled","branches","DismissableLayer","disableOutsidePointerEvents","onEscapeKeyDown","onPointerDownOutside","onFocusOutside","onInteractOutside","onDismiss","layerProps","globalThis","force","highestLayerWithOutsidePointerEventsDisabled","highestLayerWithOutsidePointerEventsDisabledIndex","isBodyPointerEventsDisabled","size","isPointerEventsEnabled","pointerDownOutside","handlePointerDownOutside","isPointerInsideReactTreeRef","handleClickRef","handlePointerDown","handleAndDispatchPointerDownOutsideEvent2","handleAndDispatchCustomEvent","eventDetail","discrete","originalEvent","pointerType","once","timerId","onPointerDownCapture","usePointerDownOutside","isPointerDownOnBranch","some","branch","contains","focusOutside","handleFocusOutside","isFocusInsideReactTreeRef","handleFocus","onFocusCapture","onBlurCapture","useFocusOutside","body","pointerEvents","add","dispatchUpdate","handleUpdate","DismissableLayerBranch","handler","detail","Arrow","width","height","arrowProps","svg","viewBox","preserveAspectRatio","points","POPPER_NAME","createPopperContext","createPopperScope","PopperProvider","usePopperContext","Popper","__scopePopper","anchor","setAnchor","onAnchorChange","ANCHOR_NAME","PopperAnchor","virtualRef","anchorProps","PopperContentProvider","useContentContext","PopperContent","side","sideOffset","align","alignOffset","arrowPadding","avoidCollisions","collisionBoundary","collisionPadding","collisionPaddingProp","sticky","hideWhenDetached","updatePositionStrategy","onPlaced","content","setContent","arrow","setArrow","arrowSize","arrowWidth","arrowHeight","desiredPlacement","top","right","bottom","left","boundary","isArray","hasExplicitBoundaries","detectOverflowOptions","padding","isNotNull","altBoundary","floatingStyles","placement","isPositioned","middlewareData","strategy","whileElementsMounted","animationFrame","elements","reference","middleware","mainAxis","alignmentAxis","crossAxis","limiter","apply","rects","availableWidth","availableHeight","anchorWidth","anchorHeight","contentStyle","floating","transformOrigin","placedSide","placedAlign","getSideAndAlignFromPlacement","handlePlaced","arrowX","x","arrowY","y","cannotCenterArrow","centerOffset","contentZIndex","setContentZIndex","zIndex","setFloating","minWidth","hide","referenceHidden","visibility","onArrowChange","shouldHideArrow","animation","ARROW_NAME","OPPOSITE_SIDE","PopperArrow","contentContext","baseSide","position","options","fn","data","isArrowHidden","noArrowAlign","start","center","end","arrowXCenter","arrowYCenter","split","Anchor","Portal","container","containerProp","portalProps","setMounted","VisuallyHidden","border","margin","overflow","clip","whiteSpace","wordWrap","createTooltipContext","createTooltipScope","usePopperScope","DEFAULT_DELAY_DURATION","TOOLTIP_OPEN","TooltipProviderContextProvider","useTooltipProviderContext","TooltipProvider","__scopeTooltip","delayDuration","skipDelayDuration","disableHoverableContent","isOpenDelayed","setIsOpenDelayed","isPointerInTransitRef","skipDelayTimerRef","skipDelayTimer","onOpen","onClose","onPointerInTransitChange","inTransit","TOOLTIP_NAME","TooltipContextProvider","useTooltipContext","Tooltip","open","openProp","defaultOpen","onOpenChange","disableHoverableContentProp","delayDurationProp","providerContext","popperScope","trigger","setTrigger","openTimerRef","wasOpenDelayedRef","setOpen","open2","stateAttribute","handleOpen","handleClose","handleDelayedOpen","onTriggerChange","onTriggerEnter","onTriggerLeave","TooltipTrigger","isPointerDownRef","hasPointerMoveOpenedRef","handlePointerUp","onPointerMove","onPointerLeave","onPointerDown","onClick","PortalProvider","usePortalContext","TooltipPortal","portalContext","TooltipContentImpl","TooltipContentHoverable","pointerGraceArea","setPointerGraceArea","handleRemoveGraceArea","handleCreateGraceArea","hoverTarget","exitPoint","clientX","clientY","paddedExitPoints","exitSide","getPaddedExitPoints","point","rect","abs","min","getExitSideFromRect","getBoundingClientRect","graceArea","newPoints","upperHull","p","q","r","pop","lowerHull","concat","getHullPresorted","getHull","getPointsFromRect","handleTriggerLeave","handleContentLeave","handleTrackPointerGrace","pointerPosition","hasEnteredTarget","isPointerOutsideGraceArea","polygon","inside","j","xi","yi","xj","yj","isPointInPolygon","VisuallyHiddenContentContextProvider","useVisuallyHiddenContentContext","isInside","ariaLabel","handleScroll","capture","jsxs","Root3","Content2","Arrow2","MissingCompensation","pageId","compRef","SalaryWithIcon","FontAwesomeIcon","icon","faCircleDollar","SalaryItem","toLocaleString","BarGroup","_ref4","min_salary","max_salary","median_salary","median_salary_formatting","faCircleInfo","CareerCompensation","_ref5","salary_average","nationwide_salaries","formattedSalary","salaryStates","s","abbreviation","foundStates","statesDbData","sJson","sAbbr","foundState","stateObj","has","localeCompare","location","setLocation","areAllDisabled","every","abbrToLabel","abbr","params","URLSearchParams","search","parseInt","FilterRadios","faChevronDown","triggerUpdate","radios","MilitaryCompensation","_ref6","median_salary_per_year","isOpen","setIsOpen","Link","to","_ref7","military","career","compWidth","setCompWidth","resizeObserver","ResizeObserver","entries","entry","offsetWidth","observe","disconnect","opts","Intl","NumberFormat","currency","minimumFractionDigits","maximumFractionDigits","format","assign","required_level_of_education","related_college_majors","showEducation","BarGraph","major","faSchool","breakdown","breakdownItem","breakdownList","copy","cta","militaryTeaser","numberEmployed","business_breakdown","job_outlook","military_cta","work_environment","number_employed","match","beforeMatch","substring","highlightedText","afterMatch","Scribble","scribble","Title","skillSection","skills_at_a_glance","workplace_at_a_glance","knowledges","interests","k","interest","iconToInterest","Realistic","faWrench","Investigative","faNfcMagnifyingGlass","Artistic","faPaintbrushFine","Enterprising","faGavel","Conventional","faFile","Social","faUserGroup","formatInterest","Cta","href"],"sourceRoot":""}