{"version":3,"file":"DashedBox.jsx","sourceRoot":"lib/","sources":["widgets/AuxToolWidget/DashedBox.tsx"],"names":[],"mappings":";;;AAAA,qCAKoB;AACpB,sDAAgD;AAChD,0EAA0E;AAC1E,qCAAoD;AACpD,6CAA0C;AAG1C,IAAM,OAAO,GAAG,IAAA,uBAAQ,EACtB,IAAA,0BAAe,EAAC;IACd,IAAI,EAAE,SAAS;IACf,KAAK,EAAL;QACE,IAAM,QAAQ,GAAG,IAAA,gBAAQ,GAAE,CAAA;QAC3B,IAAM,SAAS,GAAG,IAAA,iBAAS,EAAC,gBAAgB,CAAC,CAAA;QAC7C,IAAM,YAAY,GAAG,IAAA,oBAAY,GAAE,CAAA;QAEnC,IAAI,OAAO,GAAG,IAAA,8BAAsB,EAAC,IAAA,mBAAQ,EAAC,sBAAM,OAAA,MAAA,QAAQ,CAAC,KAAK,0CAAE,IAAI,CAAA,EAAA,CAAC,CAAC,CAAA;QAE1E,OAAO;;YACL,IAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAA;YAC1B,IAAM,eAAe,GAAG;gBACtB,IAAM,SAAS,GAAQ;oBACrB,GAAG,EAAE,CAAC;oBACN,IAAI,EAAE,CAAC;oBACP,aAAa,EAAE,MAAM;oBACrB,SAAS,EAAE,YAAY;oBACvB,UAAU,EAAE,QAAQ;oBACpB,MAAM,EAAE,CAAC;iBACV,CAAA;gBACD,IAAI,IAAI,EAAE;oBACR,SAAS,CAAC,SAAS,GAAG,uCAAgC,IAAI,CAAC,CAAC,gBAAM,IAAI,CAAC,CAAC,UAAO,CAAA;oBAC/E,SAAS,CAAC,MAAM,GAAG,IAAA,cAAK,EAAC,IAAI,CAAC,MAAM,CAAC;wBACnC,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI;wBACpB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAA;oBACf,SAAS,CAAC,KAAK,GAAG,IAAA,cAAK,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAA;oBACpE,SAAS,CAAC,UAAU,GAAG,SAAS,CAAA;iBACjC;gBACD,OAAO,SAAS,CAAA;YAClB,CAAC,CAAA;YACD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI;gBAAE,OAAO,IAAI,CAAA;YACrC,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM;gBAAE,OAAO,IAAI,CAAA;YAC3C,IAAI,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC9D,OAAO,IAAI,CAAA;YACb,OAAO,CACL,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,eAAe,EAAE,CAAC,CACpD;YAAA,CAAC,IAAI,CACH,KAAK,CAAC,CAAC,SAAS,CAAC,KAAK,GAAG,QAAQ,CAAC,CAClC,KAAK,CAAC,CAAC;oBACL,QAAQ,EAAE,UAAU;oBACpB,MAAM,EAAE,MAAM;oBACd,IAAI,EAAE,CAAC;oBACP,QAAQ,EAAE,EAAE;oBACZ,UAAU,EAAE,MAAM;oBAClB,UAAU,EAAE,SAAS;oBACrB,UAAU,EAAE,QAAQ;iBACrB,CAAC,CAEF;cAAA,CAAC,MAAA,QAAQ,CAAC,KAAK,0CAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAC3C;YAAA,EAAE,IAAI,CACR;UAAA,EAAE,GAAG,CAAC,CACP,CAAA;QACH,CAAC,CAAA;IACH,CAAC;CACF,CAAC,CACH,CAAA;AAEY,QAAA,SAAS,GAAG,IAAA,2BAAa,EACpC,IAAA,uBAAQ,EACN,IAAA,0BAAe,EAAC;IACd,IAAI,EAAE,WAAW;IACjB,KAAK;QACH,IAAM,QAAQ,GAAG,IAAA,gBAAQ,GAAE,CAAA;QAC3B,OAAO;;YACL,OAAO,CACL,EACE;cAAA,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAA,MAAA,QAAQ,CAAC,KAAK,0CAAE,IAAI,0CAAE,EAAE,CAAC,CAAC,EAAE,OAAO,CACnD;YAAA,GAAG,CACJ,CAAA;QACH,CAAC,CAAA;IACH,CAAC;CACF,CAAC,CACH,EACD,EAAE,WAAW,EAAE,WAAW,EAAE,CAC7B,CAAA","sourcesContent":["import {\n  useHover,\n  usePrefix,\n  useValidNodeOffsetRect,\n  useSelection,\n} from '../../hooks'\nimport { observer } from '@formily/reactive-vue'\nimport { composeExport } from '@jeamn/formily-components/src/__builtins__'\nimport { computed, defineComponent } from 'vue-demi'\nimport { isNum } from '@designable/shared'\nimport { FragmentComponent as Fragment } from '@formily/vue'\n\nconst DashBox = observer(\n  defineComponent({\n    name: 'DashBox',\n    setup() {\n      const hoverRef = useHover()\n      const prefixRef = usePrefix('aux-dashed-box')\n      const selectionRef = useSelection()\n\n      let rectRef = useValidNodeOffsetRect(computed(() => hoverRef.value?.node))\n\n      return () => {\n        const rect = rectRef.value\n        const createTipsStyle = () => {\n          const baseStyle: any = {\n            top: 0,\n            left: 0,\n            pointerEvents: 'none',\n            boxSizing: 'border-box',\n            visibility: 'hidden',\n            zIndex: 2,\n          }\n          if (rect) {\n            baseStyle.transform = `perspective(1px) translate3d(${rect.x}px,${rect.y}px,0)`\n            baseStyle.height = isNum(rect.height)\n              ? rect.height + 'px'\n              : rect.height\n            baseStyle.width = isNum(rect.width) ? rect.width + 'px' : rect.width\n            baseStyle.visibility = 'visible'\n          }\n          return baseStyle\n        }\n        if (!hoverRef.value.node) return null\n        if (hoverRef.value.node.hidden) return null\n        if (selectionRef.value.selected.includes(hoverRef.value.node.id))\n          return null\n        return (\n          <div class={prefixRef.value} style={createTipsStyle()}>\n            <span\n              class={prefixRef.value + '-title'}\n              style={{\n                position: 'absolute',\n                bottom: '100%',\n                left: 0,\n                fontSize: 12,\n                userSelect: 'none',\n                fontWeight: 'lighter',\n                whiteSpace: 'nowrap',\n              }}\n            >\n              {hoverRef.value?.node.getMessage('title')}\n            </span>\n          </div>\n        )\n      }\n    },\n  })\n)\n\nexport const DashedBox = composeExport(\n  observer(\n    defineComponent({\n      name: 'DashedBox',\n      setup() {\n        const hoverRef = useHover()\n        return () => {\n          return (\n            <>\n              <DashBox key={hoverRef.value?.node?.id}></DashBox>\n            </>\n          )\n        }\n      },\n    })\n  ),\n  { displayName: 'DashedBox' }\n)\n"]}