{"version":3,"file":"dist--OhUIyHO.cjs","names":["React","React"],"sources":["../node_modules/@radix-ui/react-compose-refs/dist/index.mjs","../node_modules/@radix-ui/react-slot/dist/index.mjs"],"sourcesContent":["// src/compose-refs.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","// src/slot.tsx\nimport * as React from \"react\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n  const Slot2 = React.forwardRef((props, forwardedRef) => {\n    let { children, ...slotProps } = props;\n    let slottableElement = null;\n    let hasSlottable = false;\n    const newChildren = [];\n    if (isLazyComponent(children) && typeof use === \"function\") {\n      children = use(children._payload);\n    }\n    React.Children.forEach(children, (maybeSlottable) => {\n      if (isSlottable(maybeSlottable)) {\n        hasSlottable = true;\n        const slottable = maybeSlottable;\n        let child = \"child\" in slottable.props ? slottable.props.child : slottable.props.children;\n        if (isLazyComponent(child) && typeof use === \"function\") {\n          child = use(child._payload);\n        }\n        slottableElement = getSlottableElementFromSlottable(slottable, child);\n        newChildren.push(slottableElement?.props?.children);\n      } else {\n        newChildren.push(maybeSlottable);\n      }\n    });\n    if (slottableElement) {\n      slottableElement = React.cloneElement(slottableElement, void 0, newChildren);\n    } else if (\n      // A `Slottable` was found but it didn't resolve to a single element (e.g.\n      // it wrapped multiple elements, text, or a render-prop `child` that\n      // wasn't an element). Don't fall back to treating the `Slottable` wrapper\n      // itself as the slot target — throw a descriptive error below instead.\n      !hasSlottable && React.Children.count(children) === 1 && React.isValidElement(children)\n    ) {\n      slottableElement = children;\n    }\n    const slottableElementRef = slottableElement ? getElementRef(slottableElement) : void 0;\n    const composedRef = useComposedRefs(forwardedRef, slottableElementRef);\n    if (!slottableElement) {\n      if (children || children === 0) {\n        throw new Error(\n          hasSlottable ? createSlottableError(ownerName) : createSlotError(ownerName)\n        );\n      }\n      return children;\n    }\n    const mergedProps = mergeProps(slotProps, slottableElement.props ?? {});\n    if (slottableElement.type !== React.Fragment) {\n      mergedProps.ref = forwardedRef ? composedRef : slottableElementRef;\n    }\n    return React.cloneElement(slottableElement, mergedProps);\n  });\n  Slot2.displayName = `${ownerName}.Slot`;\n  return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\nvar SLOTTABLE_IDENTIFIER = Symbol.for(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n  const Slottable2 = (props) => \"child\" in props ? props.children(props.child) : props.children;\n  Slottable2.displayName = `${ownerName}.Slottable`;\n  Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n  return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nvar getSlottableElementFromSlottable = (slottable, child) => {\n  if (\"child\" in slottable.props) {\n    const child2 = slottable.props.child;\n    if (!React.isValidElement(child2)) return null;\n    return React.cloneElement(child2, void 0, slottable.props.children(child2.props.children));\n  }\n  return React.isValidElement(child) ? child : null;\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          const result = childPropValue(...args);\n          slotPropValue(...args);\n          return result;\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}\nfunction isSlottable(child) {\n  return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nvar REACT_LAZY_TYPE = Symbol.for(\"react.lazy\");\nfunction isLazyComponent(element) {\n  return element != null && typeof element === \"object\" && \"$$typeof\" in element && element.$$typeof === REACT_LAZY_TYPE && \"_payload\" in element && isPromiseLike(element._payload);\n}\nfunction isPromiseLike(value) {\n  return typeof value === \"object\" && value !== null && \"then\" in value;\n}\nvar createSlotError = (ownerName) => {\n  return `${ownerName} failed to slot onto its children. Expected a single React element child or \\`Slottable\\`.`;\n};\nvar createSlottableError = (ownerName) => {\n  return `${ownerName} failed to slot onto its \\`Slottable\\`. Expected \\`Slottable\\` to receive a single React element child.`;\n};\nvar use = React[\" use \".trim().toString()];\nexport {\n  Slot as Root,\n  Slot,\n  Slottable,\n  createSlot,\n  createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n"],"x_google_ignoreList":[0,1],"mappings":"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"}