{"version":3,"file":"StudioPanel.jsx","sourceRoot":"lib/","sources":["panels/StudioPanel.tsx"],"names":[],"mappings":";;;;;;AAAA,kCAAiD;AACjD,4CAAsC;AACtC,0DAA4B;AAE5B,qCAAiD;AAcjD,IAAM,mBAAmB,GAAG,IAAA,0BAAe,EAAC;IAC1C,IAAI,EAAE,qBAAqB;IAC3B,KAAK,YAAC,KAAK,EAAE,EAAgB;YAAd,KAAK,WAAA,EAAE,KAAK,WAAA;QACzB,IAAM,SAAS,GAAG,IAAA,iBAAS,EAAC,YAAY,CAAC,CAAA;QACzC,IAAM,WAAW,GAAG,IAAA,mBAAW,GAAE,CAAA;QAEjC,OAAO;;YACL,IAAM,QAAQ,GAAG,IAAA,gBAAK,EAAC,WAAW,CAAC,CAAA;YACnC,IAAM,MAAM,GAAG,IAAA,gBAAK,EAAC,SAAS,CAAC,CAAA;YAC/B,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,EAAE;gBAC/B,OAAO,CACL,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,IAAA,oBAAG,EAAC,MAAM,GAAG,YAAY,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAClE;YAAA,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,SAAS,CAAC,CAC7B;cAAA,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,cAAc,CAAC,CAClC;gBAAA,CAAC,MAAA,KAAK,CAAC,IAAI,qDAAI,CACjB;cAAA,EAAE,GAAG,CACL;cAAA,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,iBAAiB,CAAC,CACrC;gBAAA,CAAC,MAAA,KAAK,CAAC,OAAO,qDAAI,CACpB;cAAA,EAAE,GAAG,CACP;YAAA,EAAE,GAAG,CACL;YAAA,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAA,KAAK,CAAC,OAAO,qDAAI,CAAC,EAAE,GAAG,CAC9C;UAAA,EAAE,GAAG,CAAC,CACP,CAAA;aACF;YACD,OAAO,CACL,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,IAAA,oBAAG,EAAC,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAC5D;UAAA,CAAC,MAAA,KAAK,CAAC,OAAO,qDAAI,CACpB;QAAA,EAAE,GAAG,CAAC,CACP,CAAA;QACH,CAAC,CAAA;IACH,CAAC;CACF,CAAC,CAAA;AAEW,QAAA,WAAW,GAAG,IAAA,0BAAe,EAAC;IACzC,IAAI,EAAE,aAAa;IACnB,KAAK,EAAE;QACL,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE;QACzC,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE;QAC3C,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE;KAC7C;IACD,KAAK,YAAC,KAAK,EAAE,EAAS;YAAP,KAAK,WAAA;QAClB,wBAAwB;QACxB,sBAAsB;QACtB,4BAA4B;QAC5B,IAAI;QACJ,OAAO,cAAM,OAAA,CACX,CAAC,mBAAM,CACL,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAEjF;QAAA,CAAC,mBAAmB,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,EACjD;MAAA,EAAE,mBAAM,CAAC,CACV,EANY,CAMZ,CAAA;IACH,CAAC;CACF,CAAC,CAAA","sourcesContent":["import { usePosition, usePrefix } from '../hooks'\nimport { Layout } from '../containers'\nimport cls from 'classnames'\nimport { StyleValue } from '@vue/runtime-dom'\nimport { defineComponent, unref } from 'vue-demi'\nimport { VNode } from 'vue'\nimport { IDesignerLayoutProps } from '../types'\n\nexport interface IStudioPanelProps {\n  style?: StyleValue\n  className?: string\n  logo?: VNode | Vue.FunctionalComponentOptions\n  actions?: VNode | Vue.FunctionalComponentOptions\n  prefixCls?: string\n  theme?: string\n  position?: IDesignerLayoutProps['position']\n}\n\nconst StudioPanelInternal = defineComponent({\n  name: 'StudioPanelInternal',\n  setup(props, { attrs, slots }) {\n    const prefixRef = usePrefix('main-panel')\n    const positionRef = usePosition()\n\n    return () => {\n      const position = unref(positionRef)\n      const prefix = unref(prefixRef)\n      if (slots.logo || slots.actions) {\n        return (\n          <div {...attrs} class={cls(prefix + '-container', 'root', position)}>\n            <div class={prefix + '-header'}>\n              <div class={prefix + '-header-logo'}>\n                {slots.logo?.()}\n              </div>\n              <div class={prefix + '-header-actions'}>\n                {slots.actions?.()}\n              </div>\n            </div>\n            <div class={prefix}>{slots.default?.()}</div>\n          </div>\n        )\n      }\n      return (\n        <div {...attrs} class={cls(prefixRef.value, 'root', position)}>\n          {slots.default?.()}\n        </div>\n      )\n    }\n  },\n})\n\nexport const StudioPanel = defineComponent({\n  name: 'StudioPanel',\n  props: {\n    theme: { type: String, default: 'light' },\n    prefixCls: { type: String, default: 'dn-' },\n    position: { type: String, default: 'fixed' }\n  },\n  setup(props, { slots }) {\n    // const scopedSlots = {\n    //   logo: slots.logo,\n    //   actions: slots.actions,\n    // }\n    return () => (\n      <Layout\n        {...{ theme: props.theme, prefixCls: props.prefixCls, position: props.position }}\n      >\n        <StudioPanelInternal {...props} v-slots={slots} />\n      </Layout>\n    )\n  },\n})\n"]}