{"version":3,"file":"Workspace.jsx","sourceRoot":"lib/","sources":["containers/Workspace.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAC5C,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AAYzE,MAAM,CAAC,IAAM,SAAS,GAAG,eAAe,CAAC;IACvC,IAAI,EAAE,WAAW;IACjB,KAAK,EAAE;QACL,EAAE,EAAE,MAAM;QACV,KAAK,EAAE,MAAM;QACb,WAAW,EAAE,MAAM;KACpB;IACD,KAAK,EAAL,UAAM,KAAK,EAAE,EAAS;YAAP,KAAK,WAAA;QAClB,IAAM,KAAK,GAAG,GAAG,EAAU,CAAA;QAC3B,IAAM,WAAW,GAAG,WAAW,EAAE,CAAA;QACjC,sBAAsB;QACtB,IAAM,SAAS,GAAG,QAAQ,CAAC;YACzB,IAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAC,CAAA;YACnC,IAAI,CAAC,QAAQ;gBAAE,OAAM;YACrB,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,EAAE,EAAE;gBAC3C,IAAM,GAAG,GAAG,QAAQ,CAAC,SAAS,CAAC,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;gBAC7D,IAAI,GAAG;oBAAE,GAAG,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAA;aACrC;YACD,IAAM,SAAS,GAAG;gBAChB,EAAE,EAAE,KAAK,CAAC,EAAE,IAAI,OAAO;gBACvB,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,WAAW,EAAE,KAAK,CAAC,WAAW;aAC/B,CAAA;YACD,QAAQ,CAAC,SAAS,CAAC,eAAe,CAAC,SAAS,CAAC,CAAA;YAC7C,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC,EAAE,CAAA;YAC1B,OAAO,SAAS,CAAA;QAClB,CAAC,CAAC,CAAA;QAEF,OAAO,CAAC,eAAe,EAAE,SAAS,CAAC,CAAA;QAEnC,OAAO;;YACL,OAAO,MAAA,KAAK,CAAC,OAAO,qDAAI,CAAA;QAC1B,CAAC,CAAA;IACH,CAAC;CACF,CAAC,CAAA","sourcesContent":["import { useDesigner } from '../hooks'\nimport { WorkspaceSymbol } from '../context'\nimport { defineComponent, provide, ref, unref, computed } from 'vue-demi'\nimport {\n  FragmentComponent,\n  h as CreateElment,\n  VueComponent,\n} from '@formily/vue'\nexport interface IWorkspaceProps {\n  id?: string\n  title?: string\n  description?: string\n}\n\nexport const Workspace = defineComponent({\n  name: 'Workspace',\n  props: {\n    id: String,\n    title: String,\n    description: String,\n  },\n  setup(props, { slots }) {\n    const oldId = ref<string>()\n    const designerRef = useDesigner()\n    // memo [id, designer]\n    const workspace = computed(() => {\n      const designer = unref(designerRef)\n      if (!designer) return\n      if (oldId.value && oldId.value !== props.id) {\n        const old = designer.workbench.findWorkspaceById(oldId.value)\n        if (old) old.viewport.detachEvents()\n      }\n      const workspace = {\n        id: props.id || 'index',\n        title: props.title,\n        description: props.description,\n      }\n      designer.workbench.ensureWorkspace(workspace)\n      oldId.value = workspace.id\n      return workspace\n    })\n\n    provide(WorkspaceSymbol, workspace)\n\n    return () => {\n      return slots.default?.()\n    }\n  },\n})\n"]}