{"version":3,"file":"Workspace.jsx","sourceRoot":"lib/","sources":["containers/Workspace.tsx"],"names":[],"mappings":";;;AAAA,kCAAsC;AACtC,sCAA4C;AAC5C,qCAAyE;AAY5D,QAAA,SAAS,GAAG,IAAA,0BAAe,EAAC;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,IAAA,cAAG,GAAU,CAAA;QAC3B,IAAM,WAAW,GAAG,IAAA,mBAAW,GAAE,CAAA;QACjC,sBAAsB;QACtB,IAAM,SAAS,GAAG,IAAA,mBAAQ,EAAC;YACzB,IAAM,QAAQ,GAAG,IAAA,gBAAK,EAAC,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,IAAA,kBAAO,EAAC,yBAAe,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"]}