{"version":3,"file":"SwitchLayoutGroupContext.mjs","sources":["../../../src/context/SwitchLayoutGroupContext.ts"],"sourcesContent":["\"use client\"\n\nimport type { Transition, IProjectionNode } from \"motion-dom\"\nimport { createContext } from \"react\"\n\nexport interface SwitchLayoutGroup {\n    register?: (member: IProjectionNode) => void\n    deregister?: (member: IProjectionNode) => void\n}\n\nexport type SwitchLayoutGroupContext = SwitchLayoutGroup &\n    InitialPromotionConfig\n\nexport type InitialPromotionConfig = {\n    /**\n     * The initial transition to use when the elements in this group mount (and automatically promoted).\n     * Subsequent updates should provide a transition in the promote method.\n     */\n    transition?: Transition\n    /**\n     * If the follow tree should preserve its opacity when the lead is promoted on mount\n     */\n    shouldPreserveFollowOpacity?: (member: IProjectionNode) => boolean\n}\n\n/**\n * Internal, exported only for usage in Framer\n */\nexport const SwitchLayoutGroupContext = createContext<SwitchLayoutGroupContext>(\n    {}\n)\n"],"names":[],"mappings":";;;AAyBA;;AAEG;;;"}