{"version":3,"file":"useOverlayController.mjs","names":[],"sources":["../../../../../../../../src/lib/controller/overlay/useOverlayController.ts"],"sourcesContent":["import { useOverlayContext } from \"@/lib/controller/overlay/context\";\nimport type { OverlayControllerOptions } from \"@/lib/controller/overlay/OverlayController\";\nimport { OverlayController } from \"@/lib/controller/overlay/OverlayController\";\nimport type { FlowComponentName } from \"@/components/propTypes\";\n\nexport interface UseOverlayControllerOptions extends OverlayControllerOptions {\n  reuseControllerFromContext?: boolean;\n}\n\nexport const useOverlayController = (\n  overlayType: FlowComponentName,\n  options: UseOverlayControllerOptions = {},\n): OverlayController => {\n  const { reuseControllerFromContext = true, ...restControllerOptions } =\n    options;\n\n  const newController = OverlayController.useNew(restControllerOptions);\n  const controllerFromContext = useOverlayContext().byType[overlayType];\n\n  const controller =\n    reuseControllerFromContext && controllerFromContext\n      ? controllerFromContext\n      : newController;\n\n  if (controller === controllerFromContext) {\n    controller.useUpdateOptions(restControllerOptions);\n  }\n\n  return controller;\n};\n"],"mappings":";;;;;AASA,IAAa,wBACX,aACA,UAAuC,CAAC,MAClB;CACtB,MAAM,EAAE,6BAA6B,MAAM,GAAG,0BAC5C;CAEF,MAAM,gBAAgB,kBAAkB,OAAO,qBAAqB;CACpE,MAAM,wBAAwB,kBAAkB,CAAC,CAAC,OAAO;CAEzD,MAAM,aACJ,8BAA8B,wBAC1B,wBACA;CAEN,IAAI,eAAe,uBACjB,WAAW,iBAAiB,qBAAqB;CAGnD,OAAO;AACT"}