@guodun/antdv 1.4.1 → 1.4.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (135) hide show
  1. package/dist/es/components/contract-signing-location/src/ContractSigningLocationCanvas.vue.mjs +304 -293
  2. package/dist/es/components/contract-signing-location/src/coordinates.mjs +23 -23
  3. package/dist/es/components/contract-signing-location/src/location-rules.mjs +20 -10
  4. package/dist/es/components/contract-signing-location/src/page-layout.mjs +12 -9
  5. package/dist/es/components/contract-signing-location/src/template-source.mjs +2 -0
  6. package/dist/es/components/pro-contract-template-designer/src/ContractTemplateDesignerInspector.vue.mjs +208 -180
  7. package/dist/es/components/pro-contract-template-designer/src/ContractTemplateDesignerSidebar.vue.mjs +2 -1
  8. package/dist/es/components/pro-contract-template-designer/src/ContractTemplateDesignerToolbar.mjs +5 -0
  9. package/dist/es/components/pro-contract-template-designer/src/ContractTemplateDesignerToolbar.vue.mjs +690 -0
  10. package/dist/es/components/pro-contract-template-designer/src/ContractTemplateDesignerWorkspaceHeader.mjs +5 -0
  11. package/dist/es/components/pro-contract-template-designer/src/ContractTemplateDesignerWorkspaceHeader.vue.mjs +253 -0
  12. package/dist/es/components/pro-contract-template-designer/src/ContractTemplateImageContextMenu.mjs +5 -0
  13. package/dist/es/components/pro-contract-template-designer/src/ContractTemplateImageContextMenu.vue.mjs +87 -0
  14. package/dist/es/components/pro-contract-template-designer/src/ContractTemplatePageDecorations.mjs +5 -0
  15. package/dist/es/components/pro-contract-template-designer/src/ContractTemplatePageDecorations.vue.mjs +98 -0
  16. package/dist/es/components/pro-contract-template-designer/src/ContractTemplatePageDecorationsInspector.mjs +5 -0
  17. package/dist/es/components/pro-contract-template-designer/src/ContractTemplatePageDecorationsInspector.vue.mjs +550 -0
  18. package/dist/es/components/pro-contract-template-designer/src/ContractTemplatePageDecorationsStudio.mjs +5 -0
  19. package/dist/es/components/pro-contract-template-designer/src/ContractTemplatePageDecorationsStudio.vue.mjs +117 -0
  20. package/dist/es/components/pro-contract-template-designer/src/ContractTemplatePreviewModal.mjs +5 -0
  21. package/dist/es/components/pro-contract-template-designer/src/ContractTemplatePreviewModal.vue.mjs +96 -0
  22. package/dist/es/components/pro-contract-template-designer/src/ContractTemplatePreviewPage.vue.mjs +51 -26
  23. package/dist/es/components/pro-contract-template-designer/src/ContractTemplateRendererPage.vue.mjs +56 -33
  24. package/dist/es/components/pro-contract-template-designer/src/ContractTemplateSubmitDataModal.mjs +5 -0
  25. package/dist/es/components/pro-contract-template-designer/src/ContractTemplateSubmitDataModal.vue.mjs +29 -0
  26. package/dist/es/components/pro-contract-template-designer/src/ContractTemplateTextBubbleMenu.mjs +5 -0
  27. package/dist/es/components/pro-contract-template-designer/src/ContractTemplateTextBubbleMenu.vue.mjs +179 -0
  28. package/dist/es/components/pro-contract-template-designer/src/ContractTemplateTextContextMenu.mjs +5 -0
  29. package/dist/es/components/pro-contract-template-designer/src/ContractTemplateTextContextMenu.vue.mjs +390 -0
  30. package/dist/es/components/pro-contract-template-designer/src/DesignerPage.vue.mjs +332 -263
  31. package/dist/es/components/pro-contract-template-designer/src/ProContractTemplateDesigner.vue.mjs +1442 -2287
  32. package/dist/es/components/pro-contract-template-designer/src/composables/use-auto-pagination.mjs +71 -0
  33. package/dist/es/components/pro-contract-template-designer/src/composables/use-designer-files.mjs +11 -0
  34. package/dist/es/components/pro-contract-template-designer/src/composables/use-draft-cache-session.mjs +111 -0
  35. package/dist/es/components/pro-contract-template-designer/src/composables/use-signing-placement-editor.mjs +79 -0
  36. package/dist/es/components/pro-contract-template-designer/src/composables/use-template-designer.mjs +189 -160
  37. package/dist/es/components/pro-contract-template-designer/src/composables/use-template-files.mjs +35 -22
  38. package/dist/es/components/pro-contract-template-designer/src/composables/use-toolbar-overflow.mjs +71 -0
  39. package/dist/es/components/pro-contract-template-designer/src/constants.mjs +71 -10
  40. package/dist/es/components/pro-contract-template-designer/src/extensions/editor-extensions.mjs +1 -0
  41. package/dist/es/components/pro-contract-template-designer/src/utils/block-style.mjs +43 -0
  42. package/dist/es/components/pro-contract-template-designer/src/utils/context-menu-viewport.mjs +13 -0
  43. package/dist/es/components/pro-contract-template-designer/src/utils/editor-state.mjs +7 -0
  44. package/dist/es/components/pro-contract-template-designer/src/utils/page-decorations.mjs +398 -0
  45. package/dist/es/components/pro-contract-template-designer/src/utils/serialize-fingerprint.mjs +6 -0
  46. package/dist/es/components/pro-contract-template-designer/src/utils/template-renderer.mjs +88 -72
  47. package/dist/es/components/pro-contract-template-designer/style/index.css +1 -1
  48. package/dist/es/index.mjs +20 -20
  49. package/dist/lib/components/contract-signing-location/src/ContractSigningLocationCanvas.vue.cjs +1 -1
  50. package/dist/lib/components/contract-signing-location/src/coordinates.cjs +1 -1
  51. package/dist/lib/components/contract-signing-location/src/location-rules.cjs +1 -1
  52. package/dist/lib/components/contract-signing-location/src/page-layout.cjs +1 -1
  53. package/dist/lib/components/contract-signing-location/src/template-source.cjs +1 -1
  54. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateDesignerInspector.vue.cjs +1 -1
  55. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateDesignerSidebar.vue.cjs +1 -1
  56. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateDesignerToolbar.cjs +1 -0
  57. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateDesignerToolbar.vue.cjs +1 -0
  58. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateDesignerWorkspaceHeader.cjs +1 -0
  59. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateDesignerWorkspaceHeader.vue.cjs +1 -0
  60. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateImageContextMenu.cjs +1 -0
  61. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateImageContextMenu.vue.cjs +1 -0
  62. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplatePageDecorations.cjs +1 -0
  63. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplatePageDecorations.vue.cjs +1 -0
  64. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplatePageDecorationsInspector.cjs +1 -0
  65. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplatePageDecorationsInspector.vue.cjs +1 -0
  66. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplatePageDecorationsStudio.cjs +1 -0
  67. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplatePageDecorationsStudio.vue.cjs +1 -0
  68. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplatePreviewModal.cjs +1 -0
  69. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplatePreviewModal.vue.cjs +1 -0
  70. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplatePreviewPage.vue.cjs +1 -1
  71. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateRendererPage.vue.cjs +1 -1
  72. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateSubmitDataModal.cjs +1 -0
  73. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateSubmitDataModal.vue.cjs +1 -0
  74. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateTextBubbleMenu.cjs +1 -0
  75. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateTextBubbleMenu.vue.cjs +1 -0
  76. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateTextContextMenu.cjs +1 -0
  77. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateTextContextMenu.vue.cjs +1 -0
  78. package/dist/lib/components/pro-contract-template-designer/src/DesignerPage.vue.cjs +2 -2
  79. package/dist/lib/components/pro-contract-template-designer/src/ProContractTemplateDesigner.vue.cjs +1 -1
  80. package/dist/lib/components/pro-contract-template-designer/src/composables/use-auto-pagination.cjs +1 -0
  81. package/dist/lib/components/pro-contract-template-designer/src/composables/use-designer-files.cjs +1 -0
  82. package/dist/lib/components/pro-contract-template-designer/src/composables/use-draft-cache-session.cjs +1 -0
  83. package/dist/lib/components/pro-contract-template-designer/src/composables/use-signing-placement-editor.cjs +1 -0
  84. package/dist/lib/components/pro-contract-template-designer/src/composables/use-template-designer.cjs +4 -4
  85. package/dist/lib/components/pro-contract-template-designer/src/composables/use-template-files.cjs +2 -2
  86. package/dist/lib/components/pro-contract-template-designer/src/composables/use-toolbar-overflow.cjs +1 -0
  87. package/dist/lib/components/pro-contract-template-designer/src/constants.cjs +1 -1
  88. package/dist/lib/components/pro-contract-template-designer/src/extensions/editor-extensions.cjs +1 -1
  89. package/dist/lib/components/pro-contract-template-designer/src/utils/block-style.cjs +1 -0
  90. package/dist/lib/components/pro-contract-template-designer/src/utils/context-menu-viewport.cjs +1 -0
  91. package/dist/lib/components/pro-contract-template-designer/src/utils/editor-state.cjs +1 -0
  92. package/dist/lib/components/pro-contract-template-designer/src/utils/page-decorations.cjs +1 -0
  93. package/dist/lib/components/pro-contract-template-designer/src/utils/serialize-fingerprint.cjs +1 -0
  94. package/dist/lib/components/pro-contract-template-designer/src/utils/template-renderer.cjs +3 -3
  95. package/dist/lib/components/pro-contract-template-designer/style/index.css +1 -1
  96. package/dist/lib/index.cjs +1 -1
  97. package/dist/theme/icon.css +1 -1
  98. package/dist/theme/index.css +1 -1
  99. package/dist/types/components/contract-signing-location/src/coordinates.d.ts +2 -2
  100. package/dist/types/components/contract-signing-location/src/page-layout.d.ts +2 -2
  101. package/dist/types/components/contract-signing-location/src/template-source.d.ts +2 -0
  102. package/dist/types/components/contract-signing-location/src/types.d.ts +3 -0
  103. package/dist/types/components/pro-contract-template-designer/src/ContractTemplateDesignerInspector.vue.d.ts +3 -0
  104. package/dist/types/components/pro-contract-template-designer/src/ContractTemplateDesignerSidebar.vue.d.ts +1 -0
  105. package/dist/types/components/pro-contract-template-designer/src/ContractTemplateDesignerToolbar.vue.d.ts +104 -0
  106. package/dist/types/components/pro-contract-template-designer/src/ContractTemplateDesignerWorkspaceHeader.vue.d.ts +60 -0
  107. package/dist/types/components/pro-contract-template-designer/src/ContractTemplateImageContextMenu.vue.d.ts +27 -0
  108. package/dist/types/components/pro-contract-template-designer/src/ContractTemplatePageDecorations.vue.d.ts +13 -0
  109. package/dist/types/components/pro-contract-template-designer/src/ContractTemplatePageDecorationsInspector.vue.d.ts +28 -0
  110. package/dist/types/components/pro-contract-template-designer/src/ContractTemplatePageDecorationsStudio.vue.d.ts +77 -0
  111. package/dist/types/components/pro-contract-template-designer/src/ContractTemplatePreviewModal.vue.d.ts +36 -0
  112. package/dist/types/components/pro-contract-template-designer/src/ContractTemplatePreviewPage.vue.d.ts +5 -1
  113. package/dist/types/components/pro-contract-template-designer/src/ContractTemplateRendererHeader.vue.d.ts +4 -4
  114. package/dist/types/components/pro-contract-template-designer/src/ContractTemplateRendererToolbar.vue.d.ts +4 -4
  115. package/dist/types/components/pro-contract-template-designer/src/ContractTemplateSubmitDataModal.vue.d.ts +12 -0
  116. package/dist/types/components/pro-contract-template-designer/src/ContractTemplateTextBubbleMenu.vue.d.ts +43 -0
  117. package/dist/types/components/pro-contract-template-designer/src/ContractTemplateTextContextMenu.vue.d.ts +77 -0
  118. package/dist/types/components/pro-contract-template-designer/src/DesignerPage.vue.d.ts +30 -32
  119. package/dist/types/components/pro-contract-template-designer/src/ProContractTemplateDesigner.vue.d.ts +456 -12
  120. package/dist/types/components/pro-contract-template-designer/src/composables/use-auto-pagination.d.ts +43 -0
  121. package/dist/types/components/pro-contract-template-designer/src/composables/use-designer-files.d.ts +22 -0
  122. package/dist/types/components/pro-contract-template-designer/src/composables/use-draft-cache-session.d.ts +41 -0
  123. package/dist/types/components/pro-contract-template-designer/src/composables/use-signing-placement-editor.d.ts +49 -0
  124. package/dist/types/components/pro-contract-template-designer/src/composables/use-template-designer.d.ts +15 -1
  125. package/dist/types/components/pro-contract-template-designer/src/composables/use-template-files.d.ts +13 -0
  126. package/dist/types/components/pro-contract-template-designer/src/composables/use-toolbar-overflow.d.ts +19 -0
  127. package/dist/types/components/pro-contract-template-designer/src/constants.d.ts +7 -1
  128. package/dist/types/components/pro-contract-template-designer/src/types.d.ts +89 -0
  129. package/dist/types/components/pro-contract-template-designer/src/utils/block-style.d.ts +4 -0
  130. package/dist/types/components/pro-contract-template-designer/src/utils/context-menu-viewport.d.ts +25 -0
  131. package/dist/types/components/pro-contract-template-designer/src/utils/editor-state.d.ts +8 -0
  132. package/dist/types/components/pro-contract-template-designer/src/utils/page-decorations.d.ts +90 -0
  133. package/dist/types/components/pro-contract-template-designer/src/utils/serialize-fingerprint.d.ts +8 -0
  134. package/dist/types/components/pro-contract-template-designer/src/utils/template-renderer.d.ts +4 -1
  135. package/package.json +3 -3
@@ -1 +1 @@
1
- require(`../../../_virtual/_rolldown/runtime.cjs`);const e=require(`./ContractSigningTemplatePage.cjs`);require(`./constants.cjs`);const t=require(`./coordinates.cjs`),n=require(`./template-source.cjs`),r=require(`./location-rules.cjs`),i=require(`./page-layout.cjs`),a=require(`../../pro-contract-template-designer/src/composables/use-fit-width-zoom.cjs`),o=require(`./signing-visuals.cjs`);let s=require(`vue`),c=require(`ant-design-vue`),l=require(`@vueuse/core`),u=require(`@ant-design/icons-vue`);var d={class:`gd-ant-contract-signing-location__workspace`},f={class:`gd-ant-contract-signing-location__workspace-head`},p={key:0},m={class:`gd-ant-contract-signing-location__workspace-tools`},h={class:`gd-ant-contract-signing-location__page-jumper`,"aria-label":`页码跳转`},g=[`value`,`max`],ee={class:`gd-ant-contract-signing-location__zoom-tools`,"aria-label":`页面缩放`},te=[`aria-label`],ne={key:1,class:`gd-ant-contract-signing-location__page-placeholder is-error`,role:`alert`},re=[`src`],ie={key:3,class:`gd-ant-contract-signing-location__page-placeholder`},ae=[`onClick`],oe=[`onClick`],se={class:`gd-ant-contract-signing-location__render-region`},ce={class:`gd-ant-contract-signing-location__render-region-content`},le={class:`is-horizontal is-top`},ue={class:`is-horizontal is-bottom`},de={class:`is-vertical is-left`},fe={class:`is-vertical is-right`},pe={key:1,class:`gd-ant-contract-signing-location__snap-guides`,"aria-hidden":`true`},me=[`title`,`aria-label`,`aria-pressed`,`onClick`,`onPointerdown`,`onKeydown`],he={class:`gd-ant-contract-signing-location__placement-body`},ge=[`src`,`alt`],_e={key:0,class:`gd-ant-contract-signing-location__placement-badge`},ve=[`onPointerdown`],_=(0,s.defineComponent)({name:`ContractSigningLocationCanvas`,__name:`ContractSigningLocationCanvas`,props:{file:{},pages:{},placements:{},selectedPlacementId:{},readonly:{type:Boolean},resizable:{type:Boolean},zoom:{},previewLoadingKeys:{},previewErrorMap:{},activePageIndex:{},minZoom:{},maxZoom:{},sealSizeLimit:{},sealTypeOptions:{}},emits:[`select`,`add`,`update`,`remove`,`retry`,`visible-pages`,`view-page`,`page-change`,`zoom-change`,`scroll-to-ready`],setup(_,{expose:ye,emit:be}){let xe=[`nw`,`n`,`ne`,`e`,`se`,`s`,`sw`,`w`],v=_,y=be,b=(0,s.ref)(null),x=(0,s.ref)(null),S=(0,s.shallowRef)(1),C=(0,s.shallowRef)(v.activePageIndex),w=(0,s.shallowRef)({start:0,end:-1}),{width:Se}=(0,l.useElementSize)(b),Ce=(0,s.computed)(()=>Math.max(...v.pages.map(e=>e.width||i.CONTRACT_SIGNING_FALLBACK_PAGE_SIZE.width),i.CONTRACT_SIGNING_FALLBACK_PAGE_SIZE.width)),{fitWidth:we,markUserAdjusted:Te}=a.useFitWidthZoom({viewportWidth:Se,widestPageWidth:Ce,padding:48,minZoom:()=>v.minZoom,maxZoom:()=>v.maxZoom,getZoom:()=>v.zoom,applyZoom:e=>(y(`zoom-change`,e),e)}),T=(0,s.shallowRef)([]),E=(0,s.shallowRef)(),D=(0,s.shallowRef)(),O,k=0,A,j,M,N,P=(0,s.computed)(()=>i.buildPageLayouts(v.pages,v.zoom,16)),Ee=(0,s.computed)(()=>i.getPageLayoutsContentSize(P.value)),F=(0,s.computed)(()=>n.isContractSigningTemplateFile(v.file)),De=(0,s.computed)(()=>n.buildContractSigningTemplateRenderPages(v.file?.source)),Oe=(0,s.computed)(()=>new Map(De.value.map(e=>[e.pageIndex,e]))),I=(0,s.computed)(()=>n.getContractSigningTemplateDisplayError(v.file)),ke=(0,s.computed)(()=>{let e=w.value;return P.value.length?e.end<e.start?P.value.slice(0,2):P.value.slice(e.start,e.end+1):[]}),Ae=(0,s.computed)(()=>ke.value.flatMap(e=>{let t=B(e.pageIndex);return t?[{layout:e,page:t,logical:Le(t),templatePage:Oe.value.get(e.pageIndex)}]:[]})),L=(0,s.computed)(()=>v.pages.find(e=>e.pageIndex===C.value)??v.pages[0]),je=(0,s.computed)(()=>Math.min(v.minZoom,v.maxZoom)),Me=(0,s.computed)(()=>Math.max(v.minZoom,v.maxZoom)),R=(0,s.computed)(()=>v.placements.find(e=>e.id===v.selectedPlacementId)),Ne=new Date,z=new Map;function Pe(e){return JSON.stringify([e.signType,e.sealType??[],v.sealTypeOptions??[]])}function Fe(e){let t=Pe(e),n=z.get(t);if(n)return n;let r=o.getContractSigningPlacementVisual(e,{sealTypeOptions:v.sealTypeOptions,date:Ne});if(z.size>=128){let e=z.keys().next().value;e!==void 0&&z.delete(e)}return z.set(t,r),r}let Ie=(0,s.computed)(()=>{let e=new WeakMap;return v.placements.forEach(t=>{e.set(t,Fe(t))}),e});(0,s.watch)(()=>v.activePageIndex,e=>{C.value=e,Ke()||Y(e)}),(0,s.watch)(()=>v.pages.map(e=>e.pageIndex).join(`,`),()=>{(0,s.nextTick)(()=>{K(),q(),y(`scroll-to-ready`)})}),(0,s.watch)(()=>v.zoom,(e,t)=>{if(!b.value||t==null||e===t)return;let n=W(),r=i.buildPageLayouts(v.pages,t,16),a=i.findPageAtOffset(r,n.layoutScrollTop+1)??r[0];if(!a)return;M={pageIndex:a.pageIndex,offsetInPage:n.layoutScrollTop-a.top};let o=e/Math.max(.01,t);(0,s.nextTick)(()=>Je(o))}),(0,s.onMounted)(()=>{K(),q(),y(`scroll-to-ready`),!(typeof ResizeObserver>`u`||!b.value)&&(N=new ResizeObserver(()=>{K(),q()}),N.observe(b.value))}),(0,s.onBeforeUnmount)(()=>{$(),Z(),A&&clearTimeout(A),N?.disconnect(),N=void 0});function B(e){return v.pages.find(t=>t.pageIndex===e)}function Le(e){return r.isContractSigningPageUsable(e)?{width:e.width,height:e.height}:{...i.CONTRACT_SIGNING_FALLBACK_PAGE_SIZE}}function Re(e){return`${v.file?.fileId??``}:${e}`}function ze(e){return v.previewLoadingKeys.includes(Re(e))}function Be(e){return v.previewErrorMap[Re(e)]||``}function Ve(e){return v.placements.filter(t=>t.pageIndex===e)}function V(e){let n=R.value;return n&&n.pageIndex===e.pageIndex?t.getContractSigningPlacementDistances(n,e):void 0}function He(e){let n=t.getContractSigningRuleGeometry(e);return{left:`${n.signLeft}px`,top:`${n.signTop}px`,width:`${n.signWidth}px`,height:`${n.signHeight}px`}}function Ue(e){let n=t.getContractSigningRuleGeometry(e);return{"--gd-contract-sign-left":`${n.signLeft}px`,"--gd-contract-sign-top":`${n.signTop}px`,"--gd-contract-sign-right":`${n.signLeft+n.signWidth}px`,"--gd-contract-sign-bottom":`${n.signTop+n.signHeight}px`}}function H(e,n){return t.clampContractSigningPlacement(e,n,{sealSizeLimit:v.sealSizeLimit,sealTypes:e.sealType,sealTypeOptions:v.sealTypeOptions})}function U(e){return Ie.value.get(e)??Fe(e)}function We(e){return t.canResizeContractSigningPlacement(e,v.resizable,v.readonly)&&e.id===v.selectedPlacementId}function Ge(e){return{...e,sealType:e.sealType?[...e.sealType]:void 0}}function W(){let e=b.value,t=x.value;if(!e)return{layoutScrollTop:0,viewportHeight:0};let n=t?.offsetTop??0;return{layoutScrollTop:e.scrollTop-n,viewportHeight:e.clientHeight}}function G(e,t){let n=x.value;if(n){let r=n.getBoundingClientRect();return{x:e-r.left,y:t-r.top}}let r=b.value;if(!r)return{x:e,y:t};let i=r.getBoundingClientRect(),a=Number.parseFloat(getComputedStyle(r).paddingLeft)||0,o=Number.parseFloat(getComputedStyle(r).paddingTop)||0;return{x:e-i.left+r.scrollLeft-a,y:t-i.top+r.scrollTop-o}}function Ke(){return!!(document.activeElement&&document.activeElement.tagName===`INPUT`)}function K(){let e=W();w.value=i.getVisibleRange(P.value,e.layoutScrollTop,e.viewportHeight,1);let t=i.findPageAtOffset(P.value,e.layoutScrollTop+1);if(t){let e=C.value!==t.pageIndex;C.value=t.pageIndex,Ke()||Y(t.pageIndex),e&&y(`view-page`,t.pageIndex)}}function q(){let e=w.value;y(`visible-pages`,P.value.slice(Math.max(0,e.start),e.end+1).map(e=>e.pageIndex))}function qe(){K(),A&&clearTimeout(A),A=setTimeout(()=>{q(),C.value!==j&&(j=C.value,y(`page-change`,C.value))},80)}function Je(e){let t=b.value,n=x.value,r=M;if(M=void 0,!t||!n||!r)return;let i=P.value.find(e=>e.pageIndex===r.pageIndex);i&&(t.scrollTop=n.offsetTop+i.top+r.offsetInPage*e,K())}function J(e){let t=b.value,n=x.value;t&&(C.value=e,Y(e),y(`page-change`,e),j=e,(0,s.nextTick)(()=>{let r=i.getPageLayoutScrollTop(P.value,e);t.scrollTop=(n?.offsetTop??0)+r,K(),q()}))}function Ye(e){let n=v.placements.find(t=>t.id===e),r=b.value,i=x.value;if(!n||!r)return;let a=P.value.find(e=>e.pageIndex===n.pageIndex);a&&(C.value=n.pageIndex,Y(n.pageIndex),(0,s.nextTick)(()=>{let e=W(),o=a.top+t.getContractSigningRuleGeometry(n).signTop*v.zoom,s=o+t.getContractSigningRuleGeometry(n).signHeight*v.zoom,c=e.layoutScrollTop,l=c+e.viewportHeight;(o<c||s>l)&&(r.scrollTop=(i?.offsetTop??0)+Math.max(0,o-24)),K(),q(),y(`page-change`,n.pageIndex)}))}function Y(e){let t=v.pages.findIndex(t=>t.pageIndex===e);S.value=t>=0?t+1:1}function Xe(e){let t=v.pages.findIndex(e=>e.pageIndex===C.value),n=Math.min(v.pages.length-1,Math.max(0,(t<0?0:t)+e)),r=v.pages[n];r&&J(r.pageIndex)}function Ze(e){let t=Number(e.target.value);if(!Number.isFinite(t)){Y(C.value);return}let n=Math.min(v.pages.length,Math.max(1,Math.round(t)))-1,r=v.pages[n];r?J(r.pageIndex):Y(C.value)}function X(e,t=`user`){t===`user`&&Te(),y(`zoom-change`,e)}function Qe(e){e.target.closest(`.gd-ant-contract-signing-location__placement`)||y(`select`,``)}function $e(){window.addEventListener(`pointermove`,nt,{passive:!1}),window.addEventListener(`pointerup`,Q),window.addEventListener(`pointercancel`,Q)}function Z(){window.removeEventListener(`pointermove`,nt),window.removeEventListener(`pointerup`,Q),window.removeEventListener(`pointercancel`,Q)}function et(e,t,n){e.stopPropagation(),y(`select`,t.id);let a=B(t.pageIndex);if(v.readonly||!a||!r.isContractSigningPageUsable(a)||e.button!==0)return;let o=G(e.clientX,e.clientY),s=i.contentPointToPagePoint(P.value,v.pages,o.x,o.y),c=e.currentTarget;c.focus({preventScroll:!0}),D.value={pointerId:e.pointerId,mode:n?`resize`:`move`,handle:n,placementId:t.id,startX:e.clientX,startY:e.clientY,origin:Ge(t),grabOffsetX:(s?.x??t.signLeft)-t.signLeft,grabOffsetY:(s?.y??t.signTop)-t.signTop},O={clientX:e.clientX,clientY:e.clientY,pointerId:e.pointerId},$e(),st();try{c.setPointerCapture(e.pointerId)}catch{}}function tt(e,t,n){et(e,t,n)}function nt(e){let t=D.value;!t||t.pointerId!==e.pointerId||(e.preventDefault(),O={clientX:e.clientX,clientY:e.clientY,pointerId:e.pointerId},rt(O))}function Q(e){D.value?.pointerId===e.pointerId&&(D.value=void 0,O=void 0,T.value=[],E.value=void 0,$(),Z())}function rt(e){let n=D.value;if(!n)return;if(n.mode===`resize`){it(n,e);return}let a=G(e.clientX,e.clientY),o=i.contentPointToPagePoint(P.value,v.pages,a.x,a.y);if(!o)return;let s=ot(o.pageIndex,n.origin.pageIndex);if(!s||!r.isContractSigningPageUsable(s))return;let c=H({...n.origin,pageIndex:s.pageIndex,signLeft:o.x-n.grabOffsetX,signTop:o.y-n.grabOffsetY},s),l=t.snapContractSigningPlacement(c,Ve(s.pageIndex),v.zoom),u=H(l.placement,s);T.value=l.guides,E.value=s.pageIndex,y(`update`,u)}function it(e,n){let i=B(e.origin.pageIndex),a=e.handle;if(!i||!a||!r.isContractSigningPageUsable(i))return;let o=P.value.find(e=>e.pageIndex===i.pageIndex);if(!o)return;let s=G(n.clientX,n.clientY),c=i.width/Math.max(1,o.width),l=i.height/Math.max(1,o.height),u=(s.x-o.left)*c,d=(s.y-o.top)*l;if(e.origin.signType===`seal`){at(e,i,a,u,d);return}let f=t.getContractSigningRuleGeometry(e.origin),p=f.signLeft,m=f.signTop,h=f.signLeft+f.signWidth,g=f.signTop+f.signHeight;a.includes(`w`)&&(p=u),a.includes(`e`)&&(h=u),a.includes(`n`)&&(m=d),a.includes(`s`)&&(g=d),h-p<8&&(a.includes(`w`)?p=h-8:h=p+8),g-m<8&&(a.includes(`n`)?m=g-8:g=m+8),y(`update`,H({...e.origin,signLeft:p,signTop:m,signWidth:h-p,signHeight:g-m},i))}function at(e,n,r,i,a){let o=t.resizeContractSigningSealGeometry(e.origin,r,i,a,n,v.sealSizeLimit);y(`update`,H({...e.origin,...o},n))}function ot(e,t){let n=B(e);return n&&r.isContractSigningPageUsable(n)?n:B(t)}function st(){$();let e=()=>{let t=D.value,n=b.value;if(!t||!n||!O){k=0;return}let r=n.getBoundingClientRect(),a=i.getContractSigningAutoScrollDelta(O.clientY,r);a!==0&&(n.scrollTop+=a,K(),rt(O)),k=requestAnimationFrame(e)};k=requestAnimationFrame(e)}function $(){k&&=(cancelAnimationFrame(k),0)}function ct(e,n){let i=B(n.pageIndex);if(v.readonly||!i||!r.isContractSigningPageUsable(i))return;if(e.key===`Delete`||e.key===`Backspace`){e.preventDefault(),y(`remove`,n.id);return}let a=e.shiftKey?10:1,o=0,s=0;if(e.key===`ArrowLeft`)o=-a;else if(e.key===`ArrowRight`)o=a;else if(e.key===`ArrowUp`)s=-a;else if(e.key===`ArrowDown`)s=a;else return;e.preventDefault(),y(`update`,t.moveContractSigningPlacementByDisplayDelta(n,o,s,i,{width:i.width,height:i.height},{sealSizeLimit:v.sealSizeLimit}))}function lt(e){let t=e.dataTransfer?.getData(`application/x-gd-contract-signing-location`)||e.dataTransfer?.getData(`text/plain`);if(t)try{let e=JSON.parse(t);return dt(e.type)?e.type:void 0}catch{return dt(t)?t:void 0}}function ut(e){if(v.readonly)return;let t=lt(e);if(!t)return;e.preventDefault();let n=G(e.clientX,e.clientY),r=i.contentPointToPagePoint(P.value,v.pages,n.x,n.y,1);r&&y(`add`,t,r.x,r.y,r.pageIndex)}function dt(e){return e===`seal`||e===`signature`||e===`date`}return ye({scrollToPage:J,scrollToPlacement:Ye,fitWidth:we}),(t,n)=>((0,s.openBlock)(),(0,s.createElementBlock)(`main`,d,[(0,s.createElementVNode)(`header`,f,[(0,s.createElementVNode)(`div`,null,[(0,s.createElementVNode)(`strong`,null,(0,s.toDisplayString)(_.file?.fileName||`合同页面`),1),L.value?((0,s.openBlock)(),(0,s.createElementBlock)(`span`,p,`第 `+(0,s.toDisplayString)(L.value.displayPageNumber)+` 页 · `+(0,s.toDisplayString)(F.value?`HTML`:`PDF`)+` `+(0,s.toDisplayString)(L.value.width)+` × `+(0,s.toDisplayString)(L.value.height),1)):(0,s.createCommentVNode)(``,!0)]),(0,s.createElementVNode)(`div`,m,[(0,s.createElementVNode)(`div`,h,[(0,s.createVNode)((0,s.unref)(c.Button),{size:`small`,disabled:S.value<=1,"aria-label":`上一页`,onClick:n[0]||=e=>Xe(-1)},{default:(0,s.withCtx)(()=>[(0,s.createVNode)((0,s.unref)(u.LeftOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`]),(0,s.createElementVNode)(`label`,null,[n[6]||=(0,s.createTextVNode)(` 第 `,-1),(0,s.createElementVNode)(`input`,{value:S.value,type:`number`,min:`1`,max:Math.max(1,_.pages.length),onChange:Ze,onKeydown:(0,s.withKeys)(Ze,[`enter`])},null,40,g),(0,s.createTextVNode)(` / `+(0,s.toDisplayString)(_.pages.length)+` 页 `,1)]),(0,s.createVNode)((0,s.unref)(c.Button),{size:`small`,disabled:S.value>=_.pages.length,"aria-label":`下一页`,onClick:n[1]||=e=>Xe(1)},{default:(0,s.withCtx)(()=>[(0,s.createVNode)((0,s.unref)(u.RightOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`])]),(0,s.createElementVNode)(`div`,ee,[(0,s.createVNode)((0,s.unref)(c.Button),{size:`small`,disabled:_.zoom<=je.value,"aria-label":`缩小页面`,onClick:n[2]||=e=>X(_.zoom-.1)},{default:(0,s.withCtx)(()=>[(0,s.createVNode)((0,s.unref)(u.ZoomOutOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`]),(0,s.createElementVNode)(`button`,{type:`button`,onClick:n[3]||=e=>X(1)},(0,s.toDisplayString)(Math.round(_.zoom*100))+`%`,1),(0,s.createVNode)((0,s.unref)(c.Button),{size:`small`,disabled:_.zoom>=Me.value,"aria-label":`放大页面`,onClick:n[4]||=e=>X(_.zoom+.1)},{default:(0,s.withCtx)(()=>[(0,s.createVNode)((0,s.unref)(u.ZoomInOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`]),(0,s.createVNode)((0,s.unref)(c.Button),{size:`small`,"aria-label":`适应宽度`,title:`适应宽度`,onClick:(0,s.unref)(we)},{default:(0,s.withCtx)(()=>[(0,s.createVNode)((0,s.unref)(u.ColumnWidthOutlined),{"aria-hidden":`true`})]),_:1},8,[`onClick`])])])]),(0,s.createElementVNode)(`div`,{ref_key:`scrollRef`,ref:b,class:`gd-ant-contract-signing-location__canvas-scroll`,onScrollPassive:qe,onClick:Qe,onDragover:n[5]||=(0,s.withModifiers)(()=>{},[`prevent`]),onDrop:ut},[_.pages.length?((0,s.openBlock)(),(0,s.createElementBlock)(`div`,{key:1,ref_key:`stackRef`,ref:x,class:`gd-ant-contract-signing-location__page-stack`,style:(0,s.normalizeStyle)({width:`${Ee.value.width}px`,height:`${Ee.value.height}px`})},[((0,s.openBlock)(!0),(0,s.createElementBlock)(s.Fragment,null,(0,s.renderList)(Ae.value,t=>((0,s.openBlock)(),(0,s.createElementBlock)(`div`,{key:t.layout.pageIndex,class:`gd-ant-contract-signing-location__page-shell`,style:(0,s.normalizeStyle)({top:`${t.layout.top}px`,left:`${t.layout.left}px`,width:`${t.layout.width}px`,height:`${t.layout.height}px`})},[(0,s.createElementVNode)(`div`,{class:`gd-ant-contract-signing-location__page`,style:(0,s.normalizeStyle)({width:`${t.logical.width}px`,height:`${t.logical.height}px`,transform:`scale(${_.zoom})`}),"aria-label":`${_.file?.fileName||`合同`}第 ${t.page.displayPageNumber} 页`},[F.value&&t.templatePage?((0,s.openBlock)(),(0,s.createBlock)(e.default,{key:0,page:t.templatePage},null,8,[`page`])):F.value?((0,s.openBlock)(),(0,s.createElementBlock)(`div`,ne,[n[8]||=(0,s.createElementVNode)(`strong`,null,`模板页面无法渲染`,-1),(0,s.createElementVNode)(`span`,null,(0,s.toDisplayString)(I.value||`页面结构无效,请回到模板设计器修复后重试。`),1)])):t.page.previewUrl?((0,s.openBlock)(),(0,s.createElementBlock)(`img`,{key:2,class:`gd-ant-contract-signing-location__page-image`,src:t.page.previewUrl,alt:`合同页面预览`},null,8,re)):((0,s.openBlock)(),(0,s.createElementBlock)(`div`,ie,[ze(t.layout.pageIndex)?((0,s.openBlock)(),(0,s.createElementBlock)(s.Fragment,{key:0},[(0,s.createElementVNode)(`strong`,null,`第 `+(0,s.toDisplayString)(t.page.displayPageNumber)+` 页加载中…`,1),(0,s.createElementVNode)(`span`,null,(0,s.toDisplayString)(t.page.width)+` × `+(0,s.toDisplayString)(t.page.height),1)],64)):Be(t.layout.pageIndex)?((0,s.openBlock)(),(0,s.createElementBlock)(s.Fragment,{key:1},[n[9]||=(0,s.createElementVNode)(`strong`,null,`合同页面预览加载失败`,-1),(0,s.createElementVNode)(`span`,null,(0,s.toDisplayString)(Be(t.layout.pageIndex)),1),(0,s.createElementVNode)(`button`,{type:`button`,onClick:(0,s.withModifiers)(e=>y(`retry`,t.layout.pageIndex),[`stop`])},`重试当前页`,8,ae)],64)):(0,s.unref)(r.isContractSigningPageUsable)(t.page)?((0,s.openBlock)(),(0,s.createElementBlock)(s.Fragment,{key:3},[(0,s.createElementVNode)(`strong`,null,`第 `+(0,s.toDisplayString)(t.page.displayPageNumber)+` 页`,1),(0,s.createElementVNode)(`span`,null,(0,s.toDisplayString)(t.page.width)+` × `+(0,s.toDisplayString)(t.page.height),1),n[12]||=(0,s.createElementVNode)(`small`,null,`等待 dataProvider 返回页面预览图`,-1)],64)):((0,s.openBlock)(),(0,s.createElementBlock)(s.Fragment,{key:2},[n[10]||=(0,s.createElementVNode)(`strong`,null,`页面元数据不完整`,-1),n[11]||=(0,s.createElementVNode)(`span`,null,`缺少有效的原始宽高,无法安全计算签署坐标。`,-1),(0,s.createElementVNode)(`button`,{type:`button`,onClick:(0,s.withModifiers)(e=>y(`retry`,t.layout.pageIndex),[`stop`])},`重新加载页面`,8,oe)],64))])),(0,s.createElementVNode)(`div`,se,[(0,s.createElementVNode)(`div`,ce,[R.value&&R.value.pageIndex===t.layout.pageIndex?((0,s.openBlock)(),(0,s.createElementBlock)(`div`,{key:0,class:`gd-ant-contract-signing-location__coordinate-guides`,style:(0,s.normalizeStyle)(Ue(R.value)),"aria-hidden":`true`},[(0,s.createElementVNode)(`span`,le,[(0,s.createElementVNode)(`small`,null,`上 `+(0,s.toDisplayString)(V(t.page)?.top),1)]),(0,s.createElementVNode)(`span`,ue,[(0,s.createElementVNode)(`small`,null,`下 `+(0,s.toDisplayString)(V(t.page)?.bottom),1)]),(0,s.createElementVNode)(`span`,de,[(0,s.createElementVNode)(`small`,null,`左 `+(0,s.toDisplayString)(V(t.page)?.left),1)]),(0,s.createElementVNode)(`span`,fe,[(0,s.createElementVNode)(`small`,null,`右 `+(0,s.toDisplayString)(V(t.page)?.right),1)])],4)):(0,s.createCommentVNode)(``,!0),T.value.length&&E.value===t.layout.pageIndex?((0,s.openBlock)(),(0,s.createElementBlock)(`div`,pe,[((0,s.openBlock)(!0),(0,s.createElementBlock)(s.Fragment,null,(0,s.renderList)(T.value,(e,t)=>((0,s.openBlock)(),(0,s.createElementBlock)(`span`,{key:`${e.axis}-${t}`,class:(0,s.normalizeClass)(e.axis===`x`?`is-vertical`:`is-horizontal`),style:(0,s.normalizeStyle)(e.axis===`x`?{left:`${e.position}px`}:{top:`${e.position}px`})},null,6))),128))])):(0,s.createCommentVNode)(``,!0),((0,s.openBlock)(!0),(0,s.createElementBlock)(s.Fragment,null,(0,s.renderList)(Ve(t.layout.pageIndex),e=>((0,s.openBlock)(),(0,s.createElementBlock)(`button`,{key:e.id,type:`button`,class:(0,s.normalizeClass)([`gd-ant-contract-signing-location__placement`,[`is-${e.signType}`,{"is-selected":e.id===_.selectedPlacementId}]]),style:(0,s.normalizeStyle)(He(e)),title:U(e).alt,"aria-label":U(e).alt,"aria-pressed":e.id===_.selectedPlacementId,onClick:(0,s.withModifiers)(t=>y(`select`,e.id),[`stop`]),onPointerdown:t=>et(t,e),onLostpointercapture:Q,onKeydown:t=>ct(t,e)},[(0,s.createElementVNode)(`span`,he,[(0,s.createElementVNode)(`img`,{class:`gd-ant-contract-signing-location__placement-visual`,src:U(e).dataUrl,alt:U(e).alt,draggable:`false`},null,8,ge)]),e.mustSign?((0,s.openBlock)(),(0,s.createElementBlock)(`span`,_e,`必签`)):(0,s.createCommentVNode)(``,!0),((0,s.openBlock)(!0),(0,s.createElementBlock)(s.Fragment,null,(0,s.renderList)(We(e)?xe:[],t=>((0,s.openBlock)(),(0,s.createElementBlock)(`i`,{key:t,class:(0,s.normalizeClass)([`gd-ant-contract-signing-location__resize-handle`,`is-${t}`]),onPointerdown:(0,s.withModifiers)(n=>tt(n,e,t),[`stop`])},null,42,ve))),128))],46,me))),128))])])],12,te)],4))),128))],4)):((0,s.openBlock)(),(0,s.createElementBlock)(`div`,{key:0,class:(0,s.normalizeClass)([`gd-ant-contract-signing-location__canvas-state`,{"is-error":F.value&&I.value}]),role:`status`},[F.value&&I.value?((0,s.openBlock)(),(0,s.createElementBlock)(s.Fragment,{key:0},[n[7]||=(0,s.createElementVNode)(`strong`,null,`合同模板无法渲染`,-1),(0,s.createElementVNode)(`span`,null,(0,s.toDisplayString)(I.value),1)],64)):((0,s.openBlock)(),(0,s.createElementBlock)(s.Fragment,{key:1},[(0,s.createTextVNode)(`请选择可用的合同页面`)],64))],2))],544)]))}});exports.default=_;
1
+ require(`../../../_virtual/_rolldown/runtime.cjs`);const e=require(`./ContractSigningTemplatePage.cjs`);require(`./constants.cjs`);const t=require(`./coordinates.cjs`),n=require(`./template-source.cjs`),r=require(`./location-rules.cjs`),i=require(`./page-layout.cjs`),a=require(`../../pro-contract-template-designer/src/composables/use-fit-width-zoom.cjs`),o=require(`./signing-visuals.cjs`);let s=require(`vue`),c=require(`ant-design-vue`),l=require(`@vueuse/core`),u=require(`@ant-design/icons-vue`);var d={class:`gd-ant-contract-signing-location__workspace`},f={class:`gd-ant-contract-signing-location__workspace-head`},p={key:0},m={class:`gd-ant-contract-signing-location__workspace-tools`},h={class:`gd-ant-contract-signing-location__page-jumper`,"aria-label":`页码跳转`},g=[`value`,`max`],_={class:`gd-ant-contract-signing-location__zoom-tools`,"aria-label":`页面缩放`},ee=[`aria-label`],te={key:1,class:`gd-ant-contract-signing-location__page-placeholder is-error`,role:`alert`},ne=[`src`],re={key:3,class:`gd-ant-contract-signing-location__page-placeholder`},ie=[`onClick`],ae=[`onClick`],oe={class:`gd-ant-contract-signing-location__render-region`},se={class:`gd-ant-contract-signing-location__render-region-content`},ce={class:`is-horizontal is-top`},le={class:`is-horizontal is-bottom`},ue={class:`is-vertical is-left`},de={class:`is-vertical is-right`},fe={key:1,class:`gd-ant-contract-signing-location__snap-guides`,"aria-hidden":`true`},pe=[`title`,`aria-label`,`aria-pressed`,`onClick`,`onPointerdown`,`onKeydown`],me={class:`gd-ant-contract-signing-location__placement-body`},he=[`src`,`alt`],ge={key:0,class:`gd-ant-contract-signing-location__placement-badge`},_e=[`onPointerdown`],v=(0,s.defineComponent)({name:`ContractSigningLocationCanvas`,__name:`ContractSigningLocationCanvas`,props:{file:{},pages:{},placements:{},selectedPlacementId:{},readonly:{type:Boolean},resizable:{type:Boolean},zoom:{},previewLoadingKeys:{},previewErrorMap:{},activePageIndex:{},minZoom:{},maxZoom:{},sealSizeLimit:{},sealTypeOptions:{}},emits:[`select`,`add`,`update`,`remove`,`retry`,`visible-pages`,`view-page`,`page-change`,`zoom-change`,`scroll-to-ready`],setup(v,{expose:ve,emit:ye}){let be=[`nw`,`n`,`ne`,`e`,`se`,`s`,`sw`,`w`],y=v,b=ye,x=(0,s.ref)(null),S=(0,s.ref)(null),C=(0,s.shallowRef)(1),w=(0,s.shallowRef)(y.activePageIndex),T=(0,s.shallowRef)({start:0,end:-1}),{width:xe}=(0,l.useElementSize)(x),Se=(0,s.computed)(()=>Math.max(...y.pages.map(e=>e.displayWidth||e.width||i.CONTRACT_SIGNING_FALLBACK_PAGE_SIZE.width),i.CONTRACT_SIGNING_FALLBACK_PAGE_SIZE.width)),{fitWidth:Ce,markUserAdjusted:we}=a.useFitWidthZoom({viewportWidth:xe,widestPageWidth:Se,padding:48,minZoom:()=>y.minZoom,maxZoom:()=>y.maxZoom,getZoom:()=>y.zoom,applyZoom:e=>(b(`zoom-change`,e),e)}),E=(0,s.shallowRef)([]),D=(0,s.shallowRef)(),O=(0,s.shallowRef)(),k,A=0,j,M,N,P,F=(0,s.computed)(()=>i.buildPageLayouts(y.pages,y.zoom,16)),Te=(0,s.computed)(()=>i.getPageLayoutsContentSize(F.value)),I=(0,s.computed)(()=>n.isContractSigningTemplateFile(y.file)),Ee=(0,s.computed)(()=>n.buildContractSigningTemplateRenderPages(y.file?.source)),De=(0,s.computed)(()=>new Map(Ee.value.map(e=>[e.pageIndex,e]))),L=(0,s.computed)(()=>n.getContractSigningTemplateDisplayError(y.file)),Oe=(0,s.computed)(()=>{let e=T.value;return F.value.length?e.end<e.start?F.value.slice(0,2):F.value.slice(e.start,e.end+1):[]}),ke=(0,s.computed)(()=>Oe.value.flatMap(e=>{let t=V(e.pageIndex);return t?[{layout:e,page:t,logical:H(t),templatePage:De.value.get(e.pageIndex)}]:[]})),R=(0,s.computed)(()=>y.pages.find(e=>e.pageIndex===w.value)??y.pages[0]),Ae=(0,s.computed)(()=>Math.min(y.minZoom,y.maxZoom)),je=(0,s.computed)(()=>Math.max(y.minZoom,y.maxZoom)),z=(0,s.computed)(()=>y.placements.find(e=>e.id===y.selectedPlacementId)),Me=new Date,B=new Map;function Ne(e){return JSON.stringify([e.signType,e.sealType??[],y.sealTypeOptions??[]])}function Pe(e){let t=Ne(e),n=B.get(t);if(n)return n;let r=o.getContractSigningPlacementVisual(e,{sealTypeOptions:y.sealTypeOptions,date:Me});if(B.size>=128){let e=B.keys().next().value;e!==void 0&&B.delete(e)}return B.set(t,r),r}let Fe=(0,s.computed)(()=>{let e=new WeakMap;return y.placements.forEach(t=>{e.set(t,Pe(t))}),e});(0,s.watch)(()=>y.activePageIndex,e=>{w.value=e,Ge()||Q(e)}),(0,s.watch)(()=>y.pages.map(e=>e.pageIndex).join(`,`),()=>{(0,s.nextTick)(()=>{Y(),X(),b(`scroll-to-ready`)})}),(0,s.watch)(()=>y.zoom,(e,t)=>{if(!x.value||t==null||e===t)return;let n=q(),r=i.buildPageLayouts(y.pages,t,16),a=i.findPageAtOffset(r,n.layoutScrollTop+1)??r[0];if(!a)return;N={pageIndex:a.pageIndex,offsetInPage:n.layoutScrollTop-a.top};let o=e/Math.max(.01,t);(0,s.nextTick)(()=>qe(o))}),(0,s.onMounted)(()=>{Y(),X(),b(`scroll-to-ready`),!(typeof ResizeObserver>`u`||!x.value)&&(P=new ResizeObserver(()=>{Y(),X()}),P.observe(x.value))}),(0,s.onBeforeUnmount)(()=>{lt(),et(),j&&clearTimeout(j),P?.disconnect(),P=void 0});function V(e){return y.pages.find(t=>t.pageIndex===e)}function H(e){return e&&r.isContractSigningPageUsable(e)?{width:e.width,height:e.height}:{...i.CONTRACT_SIGNING_FALLBACK_PAGE_SIZE}}function U(e){if(!e||!r.isContractSigningPageUsable(e))return{...i.CONTRACT_SIGNING_FALLBACK_PAGE_SIZE};let t=Number(e.displayWidth),n=Number(e.displayHeight);return{width:Number.isFinite(t)&&t>0?t:e.width,height:Number.isFinite(n)&&n>0?n:e.height}}function Ie(e){return`${y.file?.fileId??``}:${e}`}function Le(e){return y.previewLoadingKeys.includes(Ie(e))}function Re(e){return y.previewErrorMap[Ie(e)]||``}function ze(e){return y.placements.filter(t=>t.pageIndex===e)}function W(e){let n=z.value;return n&&n.pageIndex===e.pageIndex?t.getContractSigningPlacementDistances(n,e):void 0}function Be(e){let n=t.getContractSigningRuleGeometry(e),r=V(e.pageIndex),i=U(r),a=H(r);return{left:`${n.signLeft*i.width/Math.max(1,a.width)}px`,top:`${n.signTop*i.height/Math.max(1,a.height)}px`,width:`${n.signWidth*i.width/Math.max(1,a.width)}px`,height:`${n.signHeight*i.height/Math.max(1,a.height)}px`}}function Ve(e){let n=t.getContractSigningRuleGeometry(e),r=V(e.pageIndex),i=U(r),a=H(r),o=i.width/Math.max(1,a.width),s=i.height/Math.max(1,a.height);return{"--gd-contract-sign-left":`${n.signLeft*o}px`,"--gd-contract-sign-top":`${n.signTop*s}px`,"--gd-contract-sign-right":`${(n.signLeft+n.signWidth)*o}px`,"--gd-contract-sign-bottom":`${(n.signTop+n.signHeight)*s}px`}}function He(e,t){let n=U(t),r=H(t),i=e.axis===`x`?n.width/Math.max(1,r.width):n.height/Math.max(1,r.height);return e.axis===`x`?{left:`${e.position*i}px`}:{top:`${e.position*i}px`}}function G(e,n){return t.clampContractSigningPlacement(e,n,{sealSizeLimit:y.sealSizeLimit,sealTypes:e.sealType,sealTypeOptions:y.sealTypeOptions})}function K(e){return Fe.value.get(e)??Pe(e)}function Ue(e){return t.canResizeContractSigningPlacement(e,y.resizable,y.readonly)&&e.id===y.selectedPlacementId}function We(e){return{...e,sealType:e.sealType?[...e.sealType]:void 0}}function q(){let e=x.value,t=S.value;if(!e)return{layoutScrollTop:0,viewportHeight:0};let n=t?.offsetTop??0;return{layoutScrollTop:e.scrollTop-n,viewportHeight:e.clientHeight}}function J(e,t){let n=S.value;if(n){let r=n.getBoundingClientRect();return{x:e-r.left,y:t-r.top}}let r=x.value;if(!r)return{x:e,y:t};let i=r.getBoundingClientRect(),a=Number.parseFloat(getComputedStyle(r).paddingLeft)||0,o=Number.parseFloat(getComputedStyle(r).paddingTop)||0;return{x:e-i.left+r.scrollLeft-a,y:t-i.top+r.scrollTop-o}}function Ge(){return!!(document.activeElement&&document.activeElement.tagName===`INPUT`)}function Y(){let e=q();T.value=i.getVisibleRange(F.value,e.layoutScrollTop,e.viewportHeight,1);let t=i.findPageAtOffset(F.value,e.layoutScrollTop+1);if(t){let e=w.value!==t.pageIndex;w.value=t.pageIndex,Ge()||Q(t.pageIndex),e&&b(`view-page`,t.pageIndex)}}function X(){let e=T.value;b(`visible-pages`,F.value.slice(Math.max(0,e.start),e.end+1).map(e=>e.pageIndex))}function Ke(){Y(),j&&clearTimeout(j),j=setTimeout(()=>{X(),w.value!==M&&(M=w.value,b(`page-change`,w.value))},80)}function qe(e){let t=x.value,n=S.value,r=N;if(N=void 0,!t||!n||!r)return;let i=F.value.find(e=>e.pageIndex===r.pageIndex);i&&(t.scrollTop=n.offsetTop+i.top+r.offsetInPage*e,Y())}function Z(e){let t=x.value,n=S.value;t&&(w.value=e,Q(e),b(`page-change`,e),M=e,(0,s.nextTick)(()=>{let r=i.getPageLayoutScrollTop(F.value,e);t.scrollTop=(n?.offsetTop??0)+r,Y(),X()}))}function Je(e){let n=y.placements.find(t=>t.id===e),r=x.value,i=S.value;if(!n||!r)return;let a=F.value.find(e=>e.pageIndex===n.pageIndex);a&&(w.value=n.pageIndex,Q(n.pageIndex),(0,s.nextTick)(()=>{let e=q(),o=V(n.pageIndex),s=U(o),c=H(o),l=a.top+t.getContractSigningRuleGeometry(n).signTop*s.height/Math.max(1,c.height)*y.zoom,u=l+t.getContractSigningRuleGeometry(n).signHeight*s.height/Math.max(1,c.height)*y.zoom,d=e.layoutScrollTop,f=d+e.viewportHeight;(l<d||u>f)&&(r.scrollTop=(i?.offsetTop??0)+Math.max(0,l-24)),Y(),X(),b(`page-change`,n.pageIndex)}))}function Q(e){let t=y.pages.findIndex(t=>t.pageIndex===e);C.value=t>=0?t+1:1}function Ye(e){let t=y.pages.findIndex(e=>e.pageIndex===w.value),n=Math.min(y.pages.length-1,Math.max(0,(t<0?0:t)+e)),r=y.pages[n];r&&Z(r.pageIndex)}function Xe(e){let t=Number(e.target.value);if(!Number.isFinite(t)){Q(w.value);return}let n=Math.min(y.pages.length,Math.max(1,Math.round(t)))-1,r=y.pages[n];r?Z(r.pageIndex):Q(w.value)}function Ze(e,t=`user`){t===`user`&&we(),b(`zoom-change`,e)}function Qe(e){e.target.closest(`.gd-ant-contract-signing-location__placement`)||b(`select`,``)}function $e(){window.addEventListener(`pointermove`,rt,{passive:!1}),window.addEventListener(`pointerup`,$),window.addEventListener(`pointercancel`,$)}function et(){window.removeEventListener(`pointermove`,rt),window.removeEventListener(`pointerup`,$),window.removeEventListener(`pointercancel`,$)}function tt(e,t,n){e.stopPropagation(),b(`select`,t.id);let a=V(t.pageIndex);if(y.readonly||!a||!r.isContractSigningPageUsable(a)||e.button!==0)return;let o=J(e.clientX,e.clientY),s=i.contentPointToPagePoint(F.value,y.pages,o.x,o.y),c=e.currentTarget;c.focus({preventScroll:!0}),O.value={pointerId:e.pointerId,mode:n?`resize`:`move`,handle:n,placementId:t.id,startX:e.clientX,startY:e.clientY,origin:We(t),grabOffsetX:(s?.x??t.signLeft)-t.signLeft,grabOffsetY:(s?.y??t.signTop)-t.signTop},k={clientX:e.clientX,clientY:e.clientY,pointerId:e.pointerId},$e(),ct();try{c.setPointerCapture(e.pointerId)}catch{}}function nt(e,t,n){tt(e,t,n)}function rt(e){let t=O.value;!t||t.pointerId!==e.pointerId||(e.preventDefault(),k={clientX:e.clientX,clientY:e.clientY,pointerId:e.pointerId},it(k))}function $(e){O.value?.pointerId===e.pointerId&&(O.value=void 0,k=void 0,E.value=[],D.value=void 0,lt(),et())}function it(e){let n=O.value;if(!n)return;if(n.mode===`resize`){at(n,e);return}let a=J(e.clientX,e.clientY),o=i.contentPointToPagePoint(F.value,y.pages,a.x,a.y);if(!o)return;let s=st(o.pageIndex,n.origin.pageIndex);if(!s||!r.isContractSigningPageUsable(s))return;let c=G({...n.origin,pageIndex:s.pageIndex,signLeft:o.x-n.grabOffsetX,signTop:o.y-n.grabOffsetY},s),l=t.snapContractSigningPlacement(c,ze(s.pageIndex),y.zoom,void 0,s),u=G(l.placement,s);E.value=l.guides,D.value=s.pageIndex,b(`update`,u)}function at(e,n){let i=V(e.origin.pageIndex),a=e.handle;if(!i||!a||!r.isContractSigningPageUsable(i))return;let o=F.value.find(e=>e.pageIndex===i.pageIndex);if(!o)return;let s=J(n.clientX,n.clientY),c=U(i),l=i.width/Math.max(1,c.width*y.zoom),u=i.height/Math.max(1,c.height*y.zoom),d=(s.x-o.left)*l,f=(s.y-o.top)*u;if(e.origin.signType===`seal`){ot(e,i,a,d,f);return}let p=t.getContractSigningRuleGeometry(e.origin),m=p.signLeft,h=p.signTop,g=p.signLeft+p.signWidth,_=p.signTop+p.signHeight;a.includes(`w`)&&(m=d),a.includes(`e`)&&(g=d),a.includes(`n`)&&(h=f),a.includes(`s`)&&(_=f),g-m<8&&(a.includes(`w`)?m=g-8:g=m+8),_-h<8&&(a.includes(`n`)?h=_-8:_=h+8),b(`update`,G({...e.origin,signLeft:m,signTop:h,signWidth:g-m,signHeight:_-h},i))}function ot(e,n,r,i,a){let o=t.resizeContractSigningSealGeometry(e.origin,r,i,a,n,y.sealSizeLimit);b(`update`,G({...e.origin,...o},n))}function st(e,t){let n=V(e);return n&&r.isContractSigningPageUsable(n)?n:V(t)}function ct(){lt();let e=()=>{let t=O.value,n=x.value;if(!t||!n||!k){A=0;return}let r=n.getBoundingClientRect(),a=i.getContractSigningAutoScrollDelta(k.clientY,r);a!==0&&(n.scrollTop+=a,Y(),it(k)),A=requestAnimationFrame(e)};A=requestAnimationFrame(e)}function lt(){A&&=(cancelAnimationFrame(A),0)}function ut(e,n){let i=V(n.pageIndex);if(y.readonly||!i||!r.isContractSigningPageUsable(i))return;if(e.key===`Delete`||e.key===`Backspace`){e.preventDefault(),b(`remove`,n.id);return}let a=e.shiftKey?10:1,o=0,s=0;if(e.key===`ArrowLeft`)o=-a;else if(e.key===`ArrowRight`)o=a;else if(e.key===`ArrowUp`)s=-a;else if(e.key===`ArrowDown`)s=a;else return;e.preventDefault();let c=U(i),l=H(i);b(`update`,t.moveContractSigningPlacementByDisplayDelta(n,o*c.width/Math.max(1,l.width),s*c.height/Math.max(1,l.height),i,U(i),{sealSizeLimit:y.sealSizeLimit}))}function dt(e){let t=e.dataTransfer?.getData(`application/x-gd-contract-signing-location`)||e.dataTransfer?.getData(`text/plain`);if(t)try{let e=JSON.parse(t);return pt(e.type)?e.type:void 0}catch{return pt(t)?t:void 0}}function ft(e){if(y.readonly)return;let t=dt(e);if(!t)return;e.preventDefault();let n=J(e.clientX,e.clientY),r=i.contentPointToPagePoint(F.value,y.pages,n.x,n.y,1);r&&b(`add`,t,r.x,r.y,r.pageIndex)}function pt(e){return e===`seal`||e===`signature`||e===`date`}return ve({scrollToPage:Z,scrollToPlacement:Je,fitWidth:Ce}),(t,n)=>((0,s.openBlock)(),(0,s.createElementBlock)(`main`,d,[(0,s.createElementVNode)(`header`,f,[(0,s.createElementVNode)(`div`,null,[(0,s.createElementVNode)(`strong`,null,(0,s.toDisplayString)(v.file?.fileName||`合同页面`),1),R.value?((0,s.openBlock)(),(0,s.createElementBlock)(`span`,p,`第 `+(0,s.toDisplayString)(R.value.displayPageNumber)+` 页 · `+(0,s.toDisplayString)(I.value?`HTML`:`PDF`)+` `+(0,s.toDisplayString)(R.value.width)+` × `+(0,s.toDisplayString)(R.value.height),1)):(0,s.createCommentVNode)(``,!0)]),(0,s.createElementVNode)(`div`,m,[(0,s.createElementVNode)(`div`,h,[(0,s.createVNode)((0,s.unref)(c.Button),{size:`small`,disabled:C.value<=1,"aria-label":`上一页`,onClick:n[0]||=e=>Ye(-1)},{default:(0,s.withCtx)(()=>[(0,s.createVNode)((0,s.unref)(u.LeftOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`]),(0,s.createElementVNode)(`label`,null,[n[6]||=(0,s.createTextVNode)(` 第 `,-1),(0,s.createElementVNode)(`input`,{value:C.value,type:`number`,min:`1`,max:Math.max(1,v.pages.length),onChange:Xe,onKeydown:(0,s.withKeys)(Xe,[`enter`])},null,40,g),(0,s.createTextVNode)(` / `+(0,s.toDisplayString)(v.pages.length)+` 页 `,1)]),(0,s.createVNode)((0,s.unref)(c.Button),{size:`small`,disabled:C.value>=v.pages.length,"aria-label":`下一页`,onClick:n[1]||=e=>Ye(1)},{default:(0,s.withCtx)(()=>[(0,s.createVNode)((0,s.unref)(u.RightOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`])]),(0,s.createElementVNode)(`div`,_,[(0,s.createVNode)((0,s.unref)(c.Button),{size:`small`,disabled:v.zoom<=Ae.value,"aria-label":`缩小页面`,onClick:n[2]||=e=>Ze(v.zoom-.1)},{default:(0,s.withCtx)(()=>[(0,s.createVNode)((0,s.unref)(u.ZoomOutOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`]),(0,s.createElementVNode)(`button`,{type:`button`,onClick:n[3]||=e=>Ze(1)},(0,s.toDisplayString)(Math.round(v.zoom*100))+`%`,1),(0,s.createVNode)((0,s.unref)(c.Button),{size:`small`,disabled:v.zoom>=je.value,"aria-label":`放大页面`,onClick:n[4]||=e=>Ze(v.zoom+.1)},{default:(0,s.withCtx)(()=>[(0,s.createVNode)((0,s.unref)(u.ZoomInOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`]),(0,s.createVNode)((0,s.unref)(c.Button),{size:`small`,"aria-label":`适应宽度`,title:`适应宽度`,onClick:(0,s.unref)(Ce)},{default:(0,s.withCtx)(()=>[(0,s.createVNode)((0,s.unref)(u.ColumnWidthOutlined),{"aria-hidden":`true`})]),_:1},8,[`onClick`])])])]),(0,s.createElementVNode)(`div`,{ref_key:`scrollRef`,ref:x,class:`gd-ant-contract-signing-location__canvas-scroll`,onScrollPassive:Ke,onClick:Qe,onDragover:n[5]||=(0,s.withModifiers)(()=>{},[`prevent`]),onDrop:ft},[v.pages.length?((0,s.openBlock)(),(0,s.createElementBlock)(`div`,{key:1,ref_key:`stackRef`,ref:S,class:`gd-ant-contract-signing-location__page-stack`,style:(0,s.normalizeStyle)({width:`${Te.value.width}px`,height:`${Te.value.height}px`})},[((0,s.openBlock)(!0),(0,s.createElementBlock)(s.Fragment,null,(0,s.renderList)(ke.value,t=>((0,s.openBlock)(),(0,s.createElementBlock)(`div`,{key:t.layout.pageIndex,class:`gd-ant-contract-signing-location__page-shell`,style:(0,s.normalizeStyle)({top:`${t.layout.top}px`,left:`${t.layout.left}px`,width:`${t.layout.width}px`,height:`${t.layout.height}px`})},[(0,s.createElementVNode)(`div`,{class:`gd-ant-contract-signing-location__page`,style:(0,s.normalizeStyle)({width:`${U(t.page).width}px`,height:`${U(t.page).height}px`,transform:`scale(${v.zoom})`}),"aria-label":`${v.file?.fileName||`合同`}第 ${t.page.displayPageNumber} 页`},[I.value&&t.templatePage?((0,s.openBlock)(),(0,s.createBlock)(e.default,{key:0,page:t.templatePage},null,8,[`page`])):I.value?((0,s.openBlock)(),(0,s.createElementBlock)(`div`,te,[n[8]||=(0,s.createElementVNode)(`strong`,null,`模板页面无法渲染`,-1),(0,s.createElementVNode)(`span`,null,(0,s.toDisplayString)(L.value||`页面结构无效,请回到模板设计器修复后重试。`),1)])):t.page.previewUrl?((0,s.openBlock)(),(0,s.createElementBlock)(`img`,{key:2,class:`gd-ant-contract-signing-location__page-image`,src:t.page.previewUrl,alt:`合同页面预览`},null,8,ne)):((0,s.openBlock)(),(0,s.createElementBlock)(`div`,re,[Le(t.layout.pageIndex)?((0,s.openBlock)(),(0,s.createElementBlock)(s.Fragment,{key:0},[(0,s.createElementVNode)(`strong`,null,`第 `+(0,s.toDisplayString)(t.page.displayPageNumber)+` 页加载中…`,1),(0,s.createElementVNode)(`span`,null,(0,s.toDisplayString)(t.page.width)+` × `+(0,s.toDisplayString)(t.page.height),1)],64)):Re(t.layout.pageIndex)?((0,s.openBlock)(),(0,s.createElementBlock)(s.Fragment,{key:1},[n[9]||=(0,s.createElementVNode)(`strong`,null,`合同页面预览加载失败`,-1),(0,s.createElementVNode)(`span`,null,(0,s.toDisplayString)(Re(t.layout.pageIndex)),1),(0,s.createElementVNode)(`button`,{type:`button`,onClick:(0,s.withModifiers)(e=>b(`retry`,t.layout.pageIndex),[`stop`])},`重试当前页`,8,ie)],64)):(0,s.unref)(r.isContractSigningPageUsable)(t.page)?((0,s.openBlock)(),(0,s.createElementBlock)(s.Fragment,{key:3},[(0,s.createElementVNode)(`strong`,null,`第 `+(0,s.toDisplayString)(t.page.displayPageNumber)+` 页`,1),(0,s.createElementVNode)(`span`,null,(0,s.toDisplayString)(t.page.width)+` × `+(0,s.toDisplayString)(t.page.height),1),n[12]||=(0,s.createElementVNode)(`small`,null,`等待 dataProvider 返回页面预览图`,-1)],64)):((0,s.openBlock)(),(0,s.createElementBlock)(s.Fragment,{key:2},[n[10]||=(0,s.createElementVNode)(`strong`,null,`页面元数据不完整`,-1),n[11]||=(0,s.createElementVNode)(`span`,null,`缺少有效的原始宽高,无法安全计算签署坐标。`,-1),(0,s.createElementVNode)(`button`,{type:`button`,onClick:(0,s.withModifiers)(e=>b(`retry`,t.layout.pageIndex),[`stop`])},`重新加载页面`,8,ae)],64))])),(0,s.createElementVNode)(`div`,oe,[(0,s.createElementVNode)(`div`,se,[z.value&&z.value.pageIndex===t.layout.pageIndex?((0,s.openBlock)(),(0,s.createElementBlock)(`div`,{key:0,class:`gd-ant-contract-signing-location__coordinate-guides`,style:(0,s.normalizeStyle)(Ve(z.value)),"aria-hidden":`true`},[(0,s.createElementVNode)(`span`,ce,[(0,s.createElementVNode)(`small`,null,`上 `+(0,s.toDisplayString)(W(t.page)?.top),1)]),(0,s.createElementVNode)(`span`,le,[(0,s.createElementVNode)(`small`,null,`下 `+(0,s.toDisplayString)(W(t.page)?.bottom),1)]),(0,s.createElementVNode)(`span`,ue,[(0,s.createElementVNode)(`small`,null,`左 `+(0,s.toDisplayString)(W(t.page)?.left),1)]),(0,s.createElementVNode)(`span`,de,[(0,s.createElementVNode)(`small`,null,`右 `+(0,s.toDisplayString)(W(t.page)?.right),1)])],4)):(0,s.createCommentVNode)(``,!0),E.value.length&&D.value===t.layout.pageIndex?((0,s.openBlock)(),(0,s.createElementBlock)(`div`,fe,[((0,s.openBlock)(!0),(0,s.createElementBlock)(s.Fragment,null,(0,s.renderList)(E.value,(e,n)=>((0,s.openBlock)(),(0,s.createElementBlock)(`span`,{key:`${e.axis}-${n}`,class:(0,s.normalizeClass)(e.axis===`x`?`is-vertical`:`is-horizontal`),style:(0,s.normalizeStyle)(He(e,t.page))},null,6))),128))])):(0,s.createCommentVNode)(``,!0),((0,s.openBlock)(!0),(0,s.createElementBlock)(s.Fragment,null,(0,s.renderList)(ze(t.layout.pageIndex),e=>((0,s.openBlock)(),(0,s.createElementBlock)(`button`,{key:e.id,type:`button`,class:(0,s.normalizeClass)([`gd-ant-contract-signing-location__placement`,[`is-${e.signType}`,{"is-selected":e.id===v.selectedPlacementId}]]),style:(0,s.normalizeStyle)(Be(e)),title:K(e).alt,"aria-label":K(e).alt,"aria-pressed":e.id===v.selectedPlacementId,onClick:(0,s.withModifiers)(t=>b(`select`,e.id),[`stop`]),onPointerdown:t=>tt(t,e),onLostpointercapture:$,onKeydown:t=>ut(t,e)},[(0,s.createElementVNode)(`span`,me,[(0,s.createElementVNode)(`img`,{class:`gd-ant-contract-signing-location__placement-visual`,src:K(e).dataUrl,alt:K(e).alt,draggable:`false`},null,8,he)]),e.mustSign?((0,s.openBlock)(),(0,s.createElementBlock)(`span`,ge,`必签`)):(0,s.createCommentVNode)(``,!0),((0,s.openBlock)(!0),(0,s.createElementBlock)(s.Fragment,null,(0,s.renderList)(Ue(e)?be:[],t=>((0,s.openBlock)(),(0,s.createElementBlock)(`i`,{key:t,class:(0,s.normalizeClass)([`gd-ant-contract-signing-location__resize-handle`,`is-${t}`]),onPointerdown:(0,s.withModifiers)(n=>nt(n,e,t),[`stop`])},null,42,_e))),128))],46,pe))),128))])])],12,ee)],4))),128))],4)):((0,s.openBlock)(),(0,s.createElementBlock)(`div`,{key:0,class:(0,s.normalizeClass)([`gd-ant-contract-signing-location__canvas-state`,{"is-error":I.value&&L.value}]),role:`status`},[I.value&&L.value?((0,s.openBlock)(),(0,s.createElementBlock)(s.Fragment,{key:0},[n[7]||=(0,s.createElementVNode)(`strong`,null,`合同模板无法渲染`,-1),(0,s.createElementVNode)(`span`,null,(0,s.toDisplayString)(L.value),1)],64)):((0,s.openBlock)(),(0,s.createElementBlock)(s.Fragment,{key:1},[(0,s.createTextVNode)(`请选择可用的合同页面`)],64))],2))],544)]))}});exports.default=v;
@@ -1 +1 @@
1
- const e=require(`./constants.cjs`);var t=1,n=4;function r(e,t,n,r,i,a){let o=x(e.signLeft,0),s=x(e.signTop,0),c=Math.max(1,S(e.signWidth,1)),l=Math.max(1,S(e.signHeight,1)),d=o+c,f=s+l,p=l/c,m=Math.max(.01,p),h;if(t.length===2){let e=t.includes(`e`)?o:d,i=t.includes(`s`)?s:f;h=Math.max(Math.abs(n-e),Math.abs(r-i)/m)}else h=t===`e`?n-o:t===`w`?d-n:t===`s`?(r-s)/m:(f-r)/m;let g=Math.max(1,S(i.width,1)),_=Math.max(1,S(i.height,1)),v=t.includes(`w`)?d:g-o,y=t.includes(`n`)?f:_-s,b=Math.min(v,y/m),C=u(a.min,a.max),w=Math.min(C.max,Math.max(1,b)),T=Math.min(C.min,w);h=Math.min(Math.max(h,T),w);let E=h*p;return{signLeft:t.includes(`w`)?d-h:o,signTop:t.includes(`n`)?f-E:s,signWidth:h,signHeight:E}}function i(e){let t=Number(e);return Number.isFinite(t)&&t>0?t:1}function a(e,t=1){let n=Number(e);if(!Number.isFinite(n)||n<=0)return 0;let r=i(t);return Math.floor(n/r)}function o(e){return{signLeft:Math.round(x(e.signLeft,0)),signTop:Math.round(x(e.signTop,0)),signWidth:Math.round(x(e.signWidth,0)),signHeight:Math.round(x(e.signHeight,0))}}function s(t){let n=typeof t==`string`?e.CONTRACT_SIGNING_SIZE_PROFILES[t]??e.CONTRACT_SIGNING_SIZE_PROFILES.default:t??e.CONTRACT_SIGNING_SIZE_PROFILES.default;return{seal:b(n.seal,e.CONTRACT_SIGNING_SIZE_PROFILES.default.seal),signature:b(n.signature,e.CONTRACT_SIGNING_SIZE_PROFILES.default.signature),date:b(n.date,e.CONTRACT_SIGNING_SIZE_PROFILES.default.date)}}function c(e,t){return{...s(t)[e]}}function l(e){let t=e.page.width/Math.max(1,e.canvasRect.width),n=e.page.height/Math.max(1,e.canvasRect.height),r=x(e.originOffset,0);return{x:w((e.clientX-e.canvasRect.left)*t-r),y:w((e.clientY-e.canvasRect.top)*n-r)}}function u(e,t){let n=Number(e),r=Number(t),i=Number.isFinite(n)&&n>0?n:8,a=Number.isFinite(r)&&r>0?r:640;if(i>a){let e=i;i=a,a=e}return{min:i,max:a}}function d(e,t,n,r,i,a){return f({...e,signLeft:e.signLeft+t*r.width/Math.max(1,i.width),signTop:e.signTop+n*r.height/Math.max(1,i.height)},r,a)}function f(e,t,n){let r=S(t.width,1),i=S(t.height,1),a=n?.minSize??8,{width:o,height:s}=e.signType===`seal`?y(e,r,i,n?.sealSizeLimit,n?.sealTypes??e.sealType,n?.sealTypeOptions):{width:C(S(e.signWidth,a),Math.min(a,r),r),height:C(S(e.signHeight,a),Math.min(a,i),i)},c=C(x(e.signLeft,0),0,Math.max(0,r-o)),l=C(x(e.signTop,0),0,Math.max(0,i-s)),u={...e,signLeft:w(c),signTop:w(l),signWidth:w(o),signHeight:w(s),mustSign:e.mustSign!==!1};return delete u.sealType,e.signType===`seal`&&Array.isArray(e.sealType)&&e.sealType.length&&(u.sealType=Array.from(new Set(e.sealType.map(String).map(e=>e.trim()).filter(Boolean)))),u}function p(e,t){let n=o(e);return{left:n.signLeft,top:n.signTop,right:w(Math.max(0,t.width-n.signLeft-n.signWidth)),bottom:w(Math.max(0,t.height-n.signTop-n.signHeight))}}function m(e,t=.5,n=1.5){return w(C(x(e,1),t,n))}function h(e,t,n=!1){return!e||n?!1:e.signType===`seal`?!0:!!t}function g(e,t,n,r=4){let i=o(e),a=Math.max(0,x(r,4))/Math.max(.01,x(n,1)),s=i.signWidth,c=i.signHeight,l=v([{value:i.signLeft,toOrigin:e=>e},{value:i.signLeft+s,toOrigin:e=>e-s},{value:i.signLeft+s/2,toOrigin:e=>e-s/2}],_(t,e,`x`),a),u=v([{value:i.signTop,toOrigin:e=>e},{value:i.signTop+c,toOrigin:e=>e-c},{value:i.signTop+c/2,toOrigin:e=>e-c/2}],_(t,e,`y`),a),d={...e,signLeft:w(l?.origin??i.signLeft),signTop:w(u?.origin??i.signTop)},f=[];return l&&f.push({axis:`x`,position:w(l.guide)}),u&&f.push({axis:`y`,position:w(u.guide)}),{placement:d,guides:f}}function _(e,t,n){let r=[];return e.forEach(e=>{if(e.id===t.id||e.pageIndex!==t.pageIndex)return;let i=o(e);if(n===`x`){r.push(i.signLeft,i.signLeft+i.signWidth,i.signLeft+i.signWidth/2);return}r.push(i.signTop,i.signTop+i.signHeight,i.signTop+i.signHeight/2)}),r}function v(e,t,n){let r;return e.forEach(e=>{t.forEach(t=>{let i=Math.abs(e.value-t);i>n||(!r||i<r.distance)&&(r={origin:e.toOrigin(t),guide:t,distance:i})})}),r}function y(t,n,r,i,a,o){let s=u(i?.min,i?.max),c=e.resolveContractSigningSealSizeInPixels(a,o),l=Number(t.signWidth),d=Number(t.signHeight),f=Number.isFinite(l)&&l>0,p=Number.isFinite(d)&&d>0,m=C(f?l:p?d:c.width,Math.min(s.min,n),Math.min(s.max,n));return f&&p?{width:m,height:C(d,Math.min(s.min,r),Math.min(s.max,r))}:{width:m,height:C(m*(c.height/Math.max(1,c.width)),Math.min(s.min,r),Math.min(s.max,r))}}function b(e,t){return{width:S(e?.width,t.width),height:S(e?.height,t.height)}}function x(e,t){let n=Number(e);return Number.isFinite(n)?n:t}function S(e,t){return Math.max(1,x(e,t))}function C(e,t,n){return Math.min(Math.max(e,t),Math.max(t,n))}function w(e){return Math.round(e*100)/100}exports.CONTRACT_SIGNING_RENDER_ORIGIN_OFFSET=t,exports.CONTRACT_SIGNING_SNAP_THRESHOLD_PX=n,exports.canResizeContractSigningPlacement=h,exports.clampContractSigningPlacement=f,exports.clampContractSigningZoom=m,exports.displayPointToContractPoint=l,exports.getContractSigningPlacementDistances=p,exports.getContractSigningPlacementSize=c,exports.getContractSigningRuleGeometry=o,exports.moveContractSigningPlacementByDisplayDelta=d,exports.normalizeContractSigningCoordinateDimension=a,exports.normalizeContractSigningCoordinateScale=i,exports.resizeContractSigningSealGeometry=r,exports.resolveContractSigningSealSizeLimit=u,exports.resolveContractSigningSizeProfile=s,exports.snapContractSigningPlacement=g;
1
+ const e=require(`./constants.cjs`);var t=1,n=4;function r(e,t,n,r,i,a){let o=x(e.signLeft,0),s=x(e.signTop,0),c=Math.max(1,S(e.signWidth,1)),l=Math.max(1,S(e.signHeight,1)),d=o+c,f=s+l,p=l/c,m=Math.max(.01,p),h;if(t.length===2){let e=t.includes(`e`)?o:d,i=t.includes(`s`)?s:f;h=Math.max(Math.abs(n-e),Math.abs(r-i)/m)}else h=t===`e`?n-o:t===`w`?d-n:t===`s`?(r-s)/m:(f-r)/m;let g=Math.max(1,S(i.width,1)),_=Math.max(1,S(i.height,1)),v=t.includes(`w`)?d:g-o,y=t.includes(`n`)?f:_-s,b=Math.min(v,y/m),C=u(a.min,a.max),w=Math.min(C.max,Math.max(1,b)),T=Math.min(C.min,w);h=Math.min(Math.max(h,T),w);let E=h*p;return{signLeft:t.includes(`w`)?d-h:o,signTop:t.includes(`n`)?f-E:s,signWidth:h,signHeight:E}}function i(e){let t=Number(e);return Number.isFinite(t)&&t>0?t:1}function a(e,t=1){let n=Number(e);if(!Number.isFinite(n)||n<=0)return 0;let r=i(t);return Math.floor(n/r)}function o(e){return{signLeft:Math.round(x(e.signLeft,0)),signTop:Math.round(x(e.signTop,0)),signWidth:Math.round(x(e.signWidth,0)),signHeight:Math.round(x(e.signHeight,0))}}function s(t){let n=typeof t==`string`?e.CONTRACT_SIGNING_SIZE_PROFILES[t]??e.CONTRACT_SIGNING_SIZE_PROFILES.default:t??e.CONTRACT_SIGNING_SIZE_PROFILES.default;return{seal:b(n.seal,e.CONTRACT_SIGNING_SIZE_PROFILES.default.seal),signature:b(n.signature,e.CONTRACT_SIGNING_SIZE_PROFILES.default.signature),date:b(n.date,e.CONTRACT_SIGNING_SIZE_PROFILES.default.date)}}function c(e,t){return{...s(t)[e]}}function l(e){let t=e.page.width/Math.max(1,e.canvasRect.width),n=e.page.height/Math.max(1,e.canvasRect.height),r=x(e.originOffset,0);return{x:w((e.clientX-e.canvasRect.left)*t-r),y:w((e.clientY-e.canvasRect.top)*n-r)}}function u(e,t){let n=Number(e),r=Number(t),i=Number.isFinite(n)&&n>0?n:8,a=Number.isFinite(r)&&r>0?r:640;if(i>a){let e=i;i=a,a=e}return{min:i,max:a}}function d(e,t,n,r,i,a){return f({...e,signLeft:e.signLeft+t*r.width/Math.max(1,i.width),signTop:e.signTop+n*r.height/Math.max(1,i.height)},r,a)}function f(e,t,n){let r=S(t.width,1),i=S(t.height,1),a=n?.minSize??8,{width:o,height:s}=e.signType===`seal`?y(e,r,i,n?.sealSizeLimit,n?.sealTypes??e.sealType,n?.sealTypeOptions):{width:C(S(e.signWidth,a),Math.min(a,r),r),height:C(S(e.signHeight,a),Math.min(a,i),i)},c=C(x(e.signLeft,0),0,Math.max(0,r-o)),l=C(x(e.signTop,0),0,Math.max(0,i-s)),u={...e,signLeft:w(c),signTop:w(l),signWidth:w(o),signHeight:w(s),mustSign:e.mustSign!==!1};return delete u.sealType,e.signType===`seal`&&Array.isArray(e.sealType)&&e.sealType.length&&(u.sealType=Array.from(new Set(e.sealType.map(String).map(e=>e.trim()).filter(Boolean)))),u}function p(e,t){let n=o(e);return{left:n.signLeft,top:n.signTop,right:w(Math.max(0,t.width-n.signLeft-n.signWidth)),bottom:w(Math.max(0,t.height-n.signTop-n.signHeight))}}function m(e,t=.5,n=1.5){return w(C(x(e,1),t,n))}function h(e,t,n=!1){return!e||n?!1:e.signType===`seal`?!0:!!t}function g(e,t,n,r=4,i){let a=o(e),s=Math.max(0,x(r,4)),c=Math.max(.01,x(n,1)),l=Math.max(1,x(i?.width,1)),u=Math.max(1,x(i?.height,1)),d=Math.max(1,x(i?.displayWidth,l)),f=Math.max(1,x(i?.displayHeight,u)),p=s/c*l/d,m=s/c*u/f,h=a.signWidth,g=a.signHeight,y=v([{value:a.signLeft,toOrigin:e=>e},{value:a.signLeft+h,toOrigin:e=>e-h},{value:a.signLeft+h/2,toOrigin:e=>e-h/2}],_(t,e,`x`),p),b=v([{value:a.signTop,toOrigin:e=>e},{value:a.signTop+g,toOrigin:e=>e-g},{value:a.signTop+g/2,toOrigin:e=>e-g/2}],_(t,e,`y`),m),S={...e,signLeft:w(y?.origin??a.signLeft),signTop:w(b?.origin??a.signTop)},C=[];return y&&C.push({axis:`x`,position:w(y.guide)}),b&&C.push({axis:`y`,position:w(b.guide)}),{placement:S,guides:C}}function _(e,t,n){let r=[];return e.forEach(e=>{if(e.id===t.id||e.pageIndex!==t.pageIndex)return;let i=o(e);if(n===`x`){r.push(i.signLeft,i.signLeft+i.signWidth,i.signLeft+i.signWidth/2);return}r.push(i.signTop,i.signTop+i.signHeight,i.signTop+i.signHeight/2)}),r}function v(e,t,n){let r;return e.forEach(e=>{t.forEach(t=>{let i=Math.abs(e.value-t);i>n||(!r||i<r.distance)&&(r={origin:e.toOrigin(t),guide:t,distance:i})})}),r}function y(t,n,r,i,a,o){let s=u(i?.min,i?.max),c=e.resolveContractSigningSealSizeInPixels(a,o),l=Number(t.signWidth),d=Number(t.signHeight),f=Number.isFinite(l)&&l>0,p=Number.isFinite(d)&&d>0,m=C(f?l:p?d:c.width,Math.min(s.min,n),Math.min(s.max,n));return f&&p?{width:m,height:C(d,Math.min(s.min,r),Math.min(s.max,r))}:{width:m,height:C(m*(c.height/Math.max(1,c.width)),Math.min(s.min,r),Math.min(s.max,r))}}function b(e,t){return{width:S(e?.width,t.width),height:S(e?.height,t.height)}}function x(e,t){let n=Number(e);return Number.isFinite(n)?n:t}function S(e,t){return Math.max(1,x(e,t))}function C(e,t,n){return Math.min(Math.max(e,t),Math.max(t,n))}function w(e){return Math.round(e*100)/100}exports.CONTRACT_SIGNING_RENDER_ORIGIN_OFFSET=t,exports.CONTRACT_SIGNING_SNAP_THRESHOLD_PX=n,exports.canResizeContractSigningPlacement=h,exports.clampContractSigningPlacement=f,exports.clampContractSigningZoom=m,exports.displayPointToContractPoint=l,exports.getContractSigningPlacementDistances=p,exports.getContractSigningPlacementSize=c,exports.getContractSigningRuleGeometry=o,exports.moveContractSigningPlacementByDisplayDelta=d,exports.normalizeContractSigningCoordinateDimension=a,exports.normalizeContractSigningCoordinateScale=i,exports.resizeContractSigningSealGeometry=r,exports.resolveContractSigningSealSizeLimit=u,exports.resolveContractSigningSizeProfile=s,exports.snapContractSigningPlacement=g;
@@ -1 +1 @@
1
- const e=require(`./constants.cjs`),t=require(`./coordinates.cjs`),n=require(`./template-source.cjs`);var r=0;function i(e=``){return{contractId:e,files:[],placements:[]}}function a(e,n){let r=v(e?.files),i=T(r);return{contractId:String(e?.contractId??``).trim(),files:r,placements:Array.isArray(e?.placements)?e.placements.map(C).map(e=>{let r=i.get(E(e.fileId,e.pageIndex));return r?t.clampContractSigningPlacement(e,r,{sealSizeLimit:n?.sealSizeLimit,sealTypes:e.sealType,sealTypeOptions:n?.sealTypeOptions}):e}):[]}}function o(e){return{contractId:e.contractId,files:e.files.map(e=>({...e,pages:e.pages.map(e=>({...e})),...e.source?.type===`template`?{source:{type:`template`,template:S(e.source.template),...e.source.values?{values:{...e.source.values}}:{}}}:e.source?{source:{type:`preview`}}:{}})),placements:e.placements.map(e=>({...e,sealType:e.sealType?[...e.sealType]:void 0}))}}function s(e,r=1){let i=a(e),o=t.normalizeContractSigningCoordinateScale(r);if(o===1)return i;let s=e=>t.normalizeContractSigningCoordinateDimension(e,o);return{...i,files:i.files.map(e=>n.isContractSigningTemplateFile(e)?e:{...e,pages:e.pages.map(e=>({...e,width:s(e.width),height:s(e.height)}))}),placements:i.placements.map(e=>{let t=i.files.find(t=>t.fileId===e.fileId);return n.isContractSigningTemplateFile(t)?e:{...e,signLeft:s(e.signLeft),signTop:s(e.signTop),signWidth:s(e.signWidth),signHeight:s(e.signHeight)}})}}function c(e,t,n){return e.files.find(e=>e.fileId===t)?.pages.find(e=>e.pageIndex===n)}function l(e){if(e?.length)return e.reduce((e,t)=>t.pageIndex<e.pageIndex?t:e)}function u(n,r,i,a){let o={...n,...r,id:n.id,fileId:n.fileId,pageIndex:r.pageIndex===void 0?n.pageIndex:r.pageIndex};if(n.signType===`seal`){if(o.signType=`seal`,r.sealType!==void 0&&Array.isArray(r.sealType)){let t=e.resolveContractSigningSealSizeInPixels(r.sealType,a?.sealTypeOptions);o.signWidth=t.width,o.signHeight=t.height}if(r.sealType===void 0){let e=Number(r.signWidth),t=Number(r.signHeight);if(Number.isFinite(e)&&e>0&&Number.isFinite(t)&&t>0)o.signWidth=e,o.signHeight=t;else{let r=Number.isFinite(e)&&e>0?e:Number.isFinite(t)&&t>0?t:n.signWidth;o.signWidth=r,o.signHeight=r}}}return i?t.clampContractSigningPlacement(o,i,{sealSizeLimit:a?.sealSizeLimit,sealTypes:o.sealType,sealTypeOptions:a?.sealTypeOptions}):o}function d(e){return!!(e&&j(e.width)&&j(e.height))}function f(e,n,r=1,i=!1){if(i||d(e)||!n.width||!n.height)return;let a=t.normalizeContractSigningCoordinateDimension(n.width,r),o=t.normalizeContractSigningCoordinateDimension(n.height,r);return a>0&&o>0?{width:a,height:o}:void 0}function p(n,i,a,o={}){let s=n===`seal`?e.resolveContractSigningSealSizeInPixels(o.sealType??[`04`],o.sealTypeOptions):t.getContractSigningPlacementSize(n,o.sizeProfile);return r+=1,t.clampContractSigningPlacement({id:`contract-signing-placement-${Date.now().toString(36)}-${r.toString(36)}`,fileId:i,pageIndex:a.pageIndex,signType:n,signLeft:o.signLeft??(a.width-s.width)/2,signTop:o.signTop??(a.height-s.height)/2,signWidth:s.width,signHeight:s.height,mustSign:!0,...n===`seal`?{sealType:o.sealType===void 0?[`04`]:w(o.sealType)}:{}},a,{sealSizeLimit:o.sealSizeLimit,sealTypes:o.sealType,sealTypeOptions:o.sealTypeOptions})}function m(t,r={}){let i=[],a=r.allowedSealTypes?new Set(Array.from(r.allowedSealTypes,e=>String(e).trim()).filter(Boolean)):void 0;t.files.length||i.push({code:`CONTRACT_FILES_MISSING`,message:`合同没有可用文件`}),t.placements.length||i.push({code:`SIGNING_PLACEMENTS_MISSING`,message:`请至少添加一个签署位置`});let o=new Set,s=new Set;return t.files.forEach(e=>{e.fileId?o.has(e.fileId)&&i.push({code:`CONTRACT_FILE_ID_DUPLICATE`,message:`合同文件 ID ${e.fileId} 重复`,fileId:e.fileId}):i.push({code:`CONTRACT_FILE_ID_MISSING`,message:`合同文件缺少真实 fileId`}),o.add(e.fileId),e.pages.length||i.push({code:`CONTRACT_PAGES_MISSING`,message:`文件 ${e.fileName||e.fileId} 没有页面元数据`,fileId:e.fileId}),i.push(...n.validateContractSigningTemplateFile(e));let t=new Set;e.pages.forEach(n=>{!Number.isInteger(n.pageIndex)||n.pageIndex<0?i.push({code:`CONTRACT_PAGE_INDEX_INVALID`,message:`页面索引必须是非负整数`,fileId:e.fileId,pageIndex:n.pageIndex}):t.has(n.pageIndex)&&i.push({code:`CONTRACT_PAGE_INDEX_DUPLICATE`,message:`文件 ${e.fileName||e.fileId} 的页面索引 ${n.pageIndex} 重复`,fileId:e.fileId,pageIndex:n.pageIndex}),t.add(n.pageIndex),d(n)||i.push({code:`CONTRACT_PAGE_SIZE_INVALID`,message:`页面缺少有效的原始宽高`,fileId:e.fileId,pageIndex:n.pageIndex})})}),t.placements.forEach(n=>{let r=e.CONTRACT_SIGNING_PLACEMENT_LABELS[n.signType]??`签署位置`;n.id?s.has(n.id)&&i.push({code:`SIGNING_PLACEMENT_ID_DUPLICATE`,message:`签署位置 ID ${n.id} 重复`,placementId:n.id}):i.push({code:`SIGNING_PLACEMENT_ID_MISSING`,message:`${r}缺少唯一 ID`}),s.add(n.id);let o=c(t,n.fileId,n.pageIndex);if(!o){i.push({code:`SIGNING_PLACEMENT_PAGE_MISSING`,message:`${r}引用了不存在的文件或页面`,placementId:n.id,fileId:n.fileId,pageIndex:n.pageIndex});return}[n.signLeft,n.signTop,n.signWidth,n.signHeight].some(e=>!Number.isFinite(e))?i.push({code:`SIGNING_PLACEMENT_GEOMETRY_INVALID`,message:`${r}坐标和尺寸必须是有限数字`,placementId:n.id}):n.signWidth<=0||n.signHeight<=0?i.push({code:`SIGNING_PLACEMENT_SIZE_INVALID`,message:`${r}宽高必须大于 0`,placementId:n.id}):(n.signLeft<0||n.signTop<0||n.signLeft+n.signWidth>o.width||n.signTop+n.signHeight>o.height)&&i.push({code:`SIGNING_PLACEMENT_OUT_OF_BOUNDS`,message:`${r}不能超出所属页面`,placementId:n.id,fileId:n.fileId,pageIndex:n.pageIndex}),n.signType!==`seal`&&n.sealType!==void 0&&i.push({code:`SIGNING_PLACEMENT_SEAL_TYPE_INVALID`,message:`只有印章位置可以配置印章类型`,placementId:n.id}),n.signType===`seal`&&(!Array.isArray(n.sealType)||!n.sealType.length||n.sealType.some(e=>!String(e).trim()))?i.push({code:`SIGNING_PLACEMENT_SEAL_TYPE_INVALID`,message:`印章位置必须至少选择一种有效印章类型`,placementId:n.id}):n.signType===`seal`&&a&&n.sealType?.some(e=>!a.has(String(e).trim()))&&i.push({code:`SIGNING_PLACEMENT_SEAL_TYPE_UNSUPPORTED`,message:`印章位置包含未配置的印章类型`,placementId:n.id})}),i}function h(e,n={}){let r=m(e,n);if(r.length)throw new _(r);return e.placements.map(e=>{let n=t.getContractSigningRuleGeometry(e);return{mustSign:e.mustSign,location:{signType:e.signType,signTop:n.signTop,signLeft:n.signLeft,signWidth:n.signWidth,signHeight:n.signHeight,pageList:{[e.fileId]:[e.pageIndex]},...e.signType===`seal`&&e.sealType?.length?{sealType:[...e.sealType]}:{}}}})}function g(e,t={}){let n=o(e);return{...n,locationRules:h(n,t)}}var _=class extends Error{constructor(e){super(e[0]?.message||`指定签署位置数据不完整`),this.code=`CONTRACT_SIGNING_LOCATION_INVALID`,this.name=`ContractSigningLocationBuildError`,this.errors=e}};function v(e){return Array.isArray(e)?e.map((e,t)=>{let n=e&&typeof e==`object`?e:{},r=String(n.fileId??``).trim(),i=y(n.source),a=i?.type===`template`?b(i.template,i.values):Array.isArray(n.pages)?n.pages.map((e,t)=>x(e,t)):[];return{fileId:r,fileName:String(n.fileName??`合同文件 ${t+1}`),pages:a,...i?{source:i}:{}}}):[]}function y(e){if(!e||typeof e!=`object`)return;let t=e;return t.type===`template`?{type:`template`,template:S(t.template),...t.values&&typeof t.values==`object`&&!Array.isArray(t.values)?{values:{...t.values}}:{}}:t.type===`preview`?{type:`preview`}:void 0}function b(e,t){return n.buildContractSigningTemplateRenderPages({type:`template`,template:e,...t?{values:t}:{}}).map(e=>({pageIndex:e.pageIndex,displayPageNumber:e.pageIndex+1,pageId:e.pageId,width:O(e.width,0),height:O(e.height,0)}))}function x(e,t){let n=e&&typeof e==`object`?e:{},r=k(n.pageIndex,t);return{pageIndex:r,displayPageNumber:A(n.displayPageNumber,r+1),width:O(n.width,0),height:O(n.height,0),...n.pageId?{pageId:String(n.pageId)}:{},...n.previewUrl?{previewUrl:String(n.previewUrl)}:{},...n.thumbnailUrl?{thumbnailUrl:String(n.thumbnailUrl)}:{}}}function S(e){if(e==null)return e;try{return JSON.parse(JSON.stringify(e))}catch{return e}}function C(e){let t=e?.signType===`seal`||e?.signType===`signature`||e?.signType===`date`?e.signType:`signature`;return{id:String(e?.id??``),fileId:String(e?.fileId??``).trim(),pageIndex:k(e?.pageIndex,0),signType:t,signLeft:D(e?.signLeft,0),signTop:D(e?.signTop,0),signWidth:D(e?.signWidth,0),signHeight:D(e?.signHeight,0),mustSign:e?.mustSign!==!1,...t===`seal`&&Array.isArray(e?.sealType)?{sealType:e.sealType.map(String)}:{}}}function w(e){return Array.isArray(e)?Array.from(new Set(e.map(String).map(e=>e.trim()).filter(Boolean))):[]}function T(e){return new Map(e.flatMap(e=>e.pages.map(t=>[E(e.fileId,t.pageIndex),t])))}function E(e,t){return`${e}\u0000${t}`}function D(e,t){let n=Number(e);return Number.isFinite(n)?n:t}function O(e,t){return Math.max(0,D(e,t))}function k(e,t){return Math.max(0,Math.round(D(e,t)))}function A(e,t){return Math.max(1,Math.round(D(e,t)))}function j(e){return typeof e==`number`&&Number.isFinite(e)&&e>0}exports.ContractSigningLocationBuildError=_,exports.buildContractSigningLocationOutput=g,exports.buildContractSigningLocationRules=h,exports.cloneContractSigningLocationValue=o,exports.createContractSigningLocationValue=i,exports.createContractSigningPlacement=p,exports.findContractSigningPage=c,exports.getContractSigningHomePage=l,exports.isContractSigningPageUsable=d,exports.normalizeContractSigningLocationValue=a,exports.normalizeContractSigningProviderValue=s,exports.patchContractSigningPlacement=u,exports.resolveContractSigningPreviewPageSize=f,exports.validateContractSigningLocationValue=m;
1
+ const e=require(`./constants.cjs`),t=require(`./coordinates.cjs`),n=require(`./template-source.cjs`);var r=0;function i(e=``){return{contractId:e,files:[],placements:[]}}function a(e,n){let r=v(e?.files),i=T(r);return{contractId:String(e?.contractId??``).trim(),files:r,placements:Array.isArray(e?.placements)?e.placements.map(C).map(e=>{let r=i.get(E(e.fileId,e.pageIndex));return r?t.clampContractSigningPlacement(e,r,{sealSizeLimit:n?.sealSizeLimit,sealTypes:e.sealType,sealTypeOptions:n?.sealTypeOptions}):e}):[]}}function o(e){return{contractId:e.contractId,files:e.files.map(e=>({...e,pages:e.pages.map(e=>({...e})),...e.source?.type===`template`?{source:{type:`template`,template:S(e.source.template),...e.source.values?{values:{...e.source.values}}:{}}}:e.source?{source:{type:`preview`}}:{}})),placements:e.placements.map(e=>({...e,sealType:e.sealType?[...e.sealType]:void 0}))}}function s(e,r=1){let i=a(e),o=t.normalizeContractSigningCoordinateScale(r);if(o===1)return i;let s=e=>t.normalizeContractSigningCoordinateDimension(e,o);return{...i,files:i.files.map(e=>n.isContractSigningTemplateFile(e)?e:{...e,pages:e.pages.map(e=>({...e,width:s(e.width),height:s(e.height)}))}),placements:i.placements.map(e=>{let t=i.files.find(t=>t.fileId===e.fileId);return n.isContractSigningTemplateFile(t)?e:{...e,signLeft:s(e.signLeft),signTop:s(e.signTop),signWidth:s(e.signWidth),signHeight:s(e.signHeight)}})}}function c(e,t,n){return e.files.find(e=>e.fileId===t)?.pages.find(e=>e.pageIndex===n)}function l(e){if(e?.length)return e.reduce((e,t)=>t.pageIndex<e.pageIndex?t:e)}function u(n,r,i,a){let o={...n,...r,id:n.id,fileId:n.fileId,pageIndex:r.pageIndex===void 0?n.pageIndex:r.pageIndex};if(n.signType===`seal`){if(o.signType=`seal`,r.sealType!==void 0&&Array.isArray(r.sealType)){let t=e.resolveContractSigningSealSizeInPixels(r.sealType,a?.sealTypeOptions);o.signWidth=t.width,o.signHeight=t.height}if(r.sealType===void 0){let e=Number(r.signWidth),t=Number(r.signHeight);if(Number.isFinite(e)&&e>0&&Number.isFinite(t)&&t>0)o.signWidth=e,o.signHeight=t;else{let r=Number.isFinite(e)&&e>0?e:Number.isFinite(t)&&t>0?t:n.signWidth;o.signWidth=r,o.signHeight=r}}}return i?t.clampContractSigningPlacement(o,i,{sealSizeLimit:a?.sealSizeLimit,sealTypes:o.sealType,sealTypeOptions:a?.sealTypeOptions}):o}function d(e){return!!(e&&j(e.width)&&j(e.height))}function f(e,n,r=1,i=!1){if(i||d(e)||!n.width||!n.height)return;let a=t.normalizeContractSigningCoordinateDimension(n.width,r),o=t.normalizeContractSigningCoordinateDimension(n.height,r);return a>0&&o>0?{width:a,height:o}:void 0}function p(n,i,a,o={}){let s=n===`seal`?e.resolveContractSigningSealSizeInPixels(o.sealType??[`04`],o.sealTypeOptions):t.getContractSigningPlacementSize(n,o.sizeProfile);return r+=1,t.clampContractSigningPlacement({id:`contract-signing-placement-${Date.now().toString(36)}-${r.toString(36)}`,fileId:i,pageIndex:a.pageIndex,signType:n,signLeft:o.signLeft??(a.width-s.width)/2,signTop:o.signTop??(a.height-s.height)/2,signWidth:s.width,signHeight:s.height,mustSign:!0,...n===`seal`?{sealType:o.sealType===void 0?[`04`]:w(o.sealType)}:{}},a,{sealSizeLimit:o.sealSizeLimit,sealTypes:o.sealType,sealTypeOptions:o.sealTypeOptions})}function m(t,r={}){let i=[],a=r.allowedSealTypes?new Set(Array.from(r.allowedSealTypes,e=>String(e).trim()).filter(Boolean)):void 0;t.files.length||i.push({code:`CONTRACT_FILES_MISSING`,message:`合同没有可用文件`}),t.placements.length||i.push({code:`SIGNING_PLACEMENTS_MISSING`,message:`请至少添加一个签署位置`});let o=new Set,s=new Set;return t.files.forEach(e=>{e.fileId?o.has(e.fileId)&&i.push({code:`CONTRACT_FILE_ID_DUPLICATE`,message:`合同文件 ID ${e.fileId} 重复`,fileId:e.fileId}):i.push({code:`CONTRACT_FILE_ID_MISSING`,message:`合同文件缺少真实 fileId`}),o.add(e.fileId),e.pages.length||i.push({code:`CONTRACT_PAGES_MISSING`,message:`文件 ${e.fileName||e.fileId} 没有页面元数据`,fileId:e.fileId}),i.push(...n.validateContractSigningTemplateFile(e));let t=new Set;e.pages.forEach(n=>{!Number.isInteger(n.pageIndex)||n.pageIndex<0?i.push({code:`CONTRACT_PAGE_INDEX_INVALID`,message:`页面索引必须是非负整数`,fileId:e.fileId,pageIndex:n.pageIndex}):t.has(n.pageIndex)&&i.push({code:`CONTRACT_PAGE_INDEX_DUPLICATE`,message:`文件 ${e.fileName||e.fileId} 的页面索引 ${n.pageIndex} 重复`,fileId:e.fileId,pageIndex:n.pageIndex}),t.add(n.pageIndex),d(n)||i.push({code:`CONTRACT_PAGE_SIZE_INVALID`,message:`页面缺少有效的原始宽高`,fileId:e.fileId,pageIndex:n.pageIndex})})}),t.placements.forEach(n=>{let r=e.CONTRACT_SIGNING_PLACEMENT_LABELS[n.signType]??`签署位置`;n.id?s.has(n.id)&&i.push({code:`SIGNING_PLACEMENT_ID_DUPLICATE`,message:`签署位置 ID ${n.id} 重复`,placementId:n.id}):i.push({code:`SIGNING_PLACEMENT_ID_MISSING`,message:`${r}缺少唯一 ID`}),s.add(n.id);let o=c(t,n.fileId,n.pageIndex);if(!o){i.push({code:`SIGNING_PLACEMENT_PAGE_MISSING`,message:`${r}引用了不存在的文件或页面`,placementId:n.id,fileId:n.fileId,pageIndex:n.pageIndex});return}[n.signLeft,n.signTop,n.signWidth,n.signHeight].some(e=>!Number.isFinite(e))?i.push({code:`SIGNING_PLACEMENT_GEOMETRY_INVALID`,message:`${r}坐标和尺寸必须是有限数字`,placementId:n.id}):n.signWidth<=0||n.signHeight<=0?i.push({code:`SIGNING_PLACEMENT_SIZE_INVALID`,message:`${r}宽高必须大于 0`,placementId:n.id}):(n.signLeft<0||n.signTop<0||n.signLeft+n.signWidth>o.width||n.signTop+n.signHeight>o.height)&&i.push({code:`SIGNING_PLACEMENT_OUT_OF_BOUNDS`,message:`${r}不能超出所属页面`,placementId:n.id,fileId:n.fileId,pageIndex:n.pageIndex}),n.signType!==`seal`&&n.sealType!==void 0&&i.push({code:`SIGNING_PLACEMENT_SEAL_TYPE_INVALID`,message:`只有印章位置可以配置印章类型`,placementId:n.id}),n.signType===`seal`&&(!Array.isArray(n.sealType)||!n.sealType.length||n.sealType.some(e=>!String(e).trim()))?i.push({code:`SIGNING_PLACEMENT_SEAL_TYPE_INVALID`,message:`印章位置必须至少选择一种有效印章类型`,placementId:n.id}):n.signType===`seal`&&a&&n.sealType?.some(e=>!a.has(String(e).trim()))&&i.push({code:`SIGNING_PLACEMENT_SEAL_TYPE_UNSUPPORTED`,message:`印章位置包含未配置的印章类型`,placementId:n.id})}),i}function h(e,n={}){let r=m(e,n);if(r.length)throw new _(r);return e.placements.map(e=>{let n=t.getContractSigningRuleGeometry(e);return{mustSign:e.mustSign,location:{signType:e.signType,signTop:n.signTop,signLeft:n.signLeft,signWidth:n.signWidth,signHeight:n.signHeight,pageList:{[e.fileId]:[e.pageIndex]},...e.signType===`seal`&&e.sealType?.length?{sealType:[...e.sealType]}:{}}}})}function g(e,t={}){let n=o(e);return{...n,locationRules:h(n,t)}}var _=class extends Error{constructor(e){super(e[0]?.message||`指定签署位置数据不完整`),this.code=`CONTRACT_SIGNING_LOCATION_INVALID`,this.name=`ContractSigningLocationBuildError`,this.errors=e}};function v(e){return Array.isArray(e)?e.map((e,t)=>{let n=e&&typeof e==`object`?e:{},r=String(n.fileId??``).trim(),i=y(n.source),a=i?.type===`template`?b(i.template,i.values,n.pages):Array.isArray(n.pages)?n.pages.map((e,t)=>x(e,t)):[];return{fileId:r,fileName:String(n.fileName??`合同文件 ${t+1}`),pages:a,...i?{source:i}:{}}}):[]}function y(e){if(!e||typeof e!=`object`)return;let t=e;return t.type===`template`?{type:`template`,template:S(t.template),...t.values&&typeof t.values==`object`&&!Array.isArray(t.values)?{values:{...t.values}}:{}}:t.type===`preview`?{type:`preview`}:void 0}function b(e,t,r){let i=n.buildContractSigningTemplateRenderPages({type:`template`,template:e,...t?{values:t}:{}}),a=Array.isArray(r)?r:[];return i.map(e=>{let t=a.find(t=>k((t&&typeof t==`object`?t:{}).pageIndex,-1)===e.pageIndex),n=t&&typeof t==`object`?t:{},r=O(e.displayWidth||e.width,0),i=O(e.displayHeight||e.height,0);return{pageIndex:e.pageIndex,displayPageNumber:e.pageIndex+1,pageId:e.pageId,width:O(n.width,r),height:O(n.height,i),displayWidth:r,displayHeight:i,...n.previewUrl?{previewUrl:String(n.previewUrl)}:{},...n.thumbnailUrl?{thumbnailUrl:String(n.thumbnailUrl)}:{}}})}function x(e,t){let n=e&&typeof e==`object`?e:{},r=k(n.pageIndex,t);return{pageIndex:r,displayPageNumber:A(n.displayPageNumber,r+1),width:O(n.width,0),height:O(n.height,0),...O(n.displayWidth,0)>0?{displayWidth:O(n.displayWidth,0)}:{},...O(n.displayHeight,0)>0?{displayHeight:O(n.displayHeight,0)}:{},...n.pageId?{pageId:String(n.pageId)}:{},...n.previewUrl?{previewUrl:String(n.previewUrl)}:{},...n.thumbnailUrl?{thumbnailUrl:String(n.thumbnailUrl)}:{}}}function S(e){if(e==null)return e;try{return JSON.parse(JSON.stringify(e))}catch{return e}}function C(e){let t=e?.signType===`seal`||e?.signType===`signature`||e?.signType===`date`?e.signType:`signature`;return{id:String(e?.id??``),fileId:String(e?.fileId??``).trim(),pageIndex:k(e?.pageIndex,0),signType:t,signLeft:D(e?.signLeft,0),signTop:D(e?.signTop,0),signWidth:D(e?.signWidth,0),signHeight:D(e?.signHeight,0),mustSign:e?.mustSign!==!1,...t===`seal`&&Array.isArray(e?.sealType)?{sealType:e.sealType.map(String)}:{}}}function w(e){return Array.isArray(e)?Array.from(new Set(e.map(String).map(e=>e.trim()).filter(Boolean))):[]}function T(e){return new Map(e.flatMap(e=>e.pages.map(t=>[E(e.fileId,t.pageIndex),t])))}function E(e,t){return`${e}\u0000${t}`}function D(e,t){let n=Number(e);return Number.isFinite(n)?n:t}function O(e,t){return Math.max(0,D(e,t))}function k(e,t){return Math.max(0,Math.round(D(e,t)))}function A(e,t){return Math.max(1,Math.round(D(e,t)))}function j(e){return typeof e==`number`&&Number.isFinite(e)&&e>0}exports.ContractSigningLocationBuildError=_,exports.buildContractSigningLocationOutput=g,exports.buildContractSigningLocationRules=h,exports.cloneContractSigningLocationValue=o,exports.createContractSigningLocationValue=i,exports.createContractSigningPlacement=p,exports.findContractSigningPage=c,exports.getContractSigningHomePage=l,exports.isContractSigningPageUsable=d,exports.normalizeContractSigningLocationValue=a,exports.normalizeContractSigningProviderValue=s,exports.patchContractSigningPlacement=u,exports.resolveContractSigningPreviewPageSize=f,exports.validateContractSigningLocationValue=m;
@@ -1 +1 @@
1
- require(`./constants.cjs`);const e=require(`./location-rules.cjs`);var t=16,n={width:595,height:842},r=1;function i(e,t,n=16){let r=p(t,1),i=e.map(e=>{let t=d(e);return{pageIndex:e.pageIndex,width:t.width*r,height:t.height*r}}),a=i.reduce((e,t)=>Math.max(e,t.width),0),o=0;return i.map(e=>{let t={pageIndex:e.pageIndex,top:o,height:e.height,width:e.width,left:(a-e.width)/2};return o+=e.height+Math.max(0,n),t})}function a(e){if(!e.length)return{width:0,height:0};let t=e[e.length-1];return{width:e.reduce((e,t)=>Math.max(e,t.left+t.width),0),height:t.top+t.height}}function o(e,t,n=48){let r=Math.max(1,p(n,48)),i=e-t.top,a=t.bottom-e;return i<r?-(2+(1-Math.max(0,i)/r)*22):a<r?2+(1-Math.max(0,a)/r)*22:0}function s(e,t){if(!e.length)return;let n=0,r=e.length-1;for(;n<=r;){let i=n+r>>1,a=e[i];if(t<a.top)r=i-1;else if(t>=a.top+a.height)n=i+1;else return a}if(r<0)return e[0];if(n>=e.length)return e[e.length-1];let i=e[r],a=e[n],o=t-(i.top+i.height);return a.top-t<o?a:i}function c(e,t,n,r=1){if(!e.length)return{start:0,end:-1};let i=t,a=t+Math.max(0,n),o=0,s=e.length-1;for(let t=0;t<e.length;t+=1){if(e[t].top+e[t].height>i){o=t;break}o=e.length-1}for(let t=e.length-1;t>=0;--t){if(e[t].top<a){s=t;break}s=0}s<o&&([o,s]=[s,o]);let c=Math.max(0,Math.round(r));return{start:Math.max(0,o-c),end:Math.min(e.length-1,s+c)}}function l(e,t,n,r,i=0){let a=s(e,r);if(!a)return;let o=d(t.find(e=>e.pageIndex===a.pageIndex)),c=f(i,0);return{pageIndex:a.pageIndex,x:m((n-a.left)*o.width/Math.max(1,a.width)-c),y:m((r-a.top)*o.height/Math.max(1,a.height)-c)}}function u(e,t){return e.find(e=>e.pageIndex===t)?.top??0}function d(t){return e.isContractSigningPageUsable(t)&&t?{width:t.width,height:t.height}:{...n}}function f(e,t){let n=Number(e);return Number.isFinite(n)?n:t}function p(e,t){let n=f(e,t);return n>0?n:t}function m(e){return Math.round(e*100)/100}exports.CONTRACT_SIGNING_FALLBACK_PAGE_SIZE=n,exports.CONTRACT_SIGNING_PAGE_GAP=t,exports.CONTRACT_SIGNING_VIRTUAL_BUFFER_PAGES=r,exports.buildPageLayouts=i,exports.contentPointToPagePoint=l,exports.findPageAtOffset=s,exports.getContractSigningAutoScrollDelta=o,exports.getPageLayoutScrollTop=u,exports.getPageLayoutsContentSize=a,exports.getVisibleRange=c;
1
+ require(`./constants.cjs`);const e=require(`./location-rules.cjs`);var t=16,n={width:595,height:842},r=1;function i(e,t,n=16){let r=p(t,1),i=e.map(e=>{let t=d(e);return{pageIndex:e.pageIndex,width:t.width*r,height:t.height*r}}),a=i.reduce((e,t)=>Math.max(e,t.width),0),o=0;return i.map(e=>{let t={pageIndex:e.pageIndex,top:o,height:e.height,width:e.width,left:(a-e.width)/2};return o+=e.height+Math.max(0,n),t})}function a(e){if(!e.length)return{width:0,height:0};let t=e[e.length-1];return{width:e.reduce((e,t)=>Math.max(e,t.left+t.width),0),height:t.top+t.height}}function o(e,t,n=48){let r=Math.max(1,p(n,48)),i=e-t.top,a=t.bottom-e;return i<r?-(2+(1-Math.max(0,i)/r)*22):a<r?2+(1-Math.max(0,a)/r)*22:0}function s(e,t){if(!e.length)return;let n=0,r=e.length-1;for(;n<=r;){let i=n+r>>1,a=e[i];if(t<a.top)r=i-1;else if(t>=a.top+a.height)n=i+1;else return a}if(r<0)return e[0];if(n>=e.length)return e[e.length-1];let i=e[r],a=e[n],o=t-(i.top+i.height);return a.top-t<o?a:i}function c(e,t,n,r=1){if(!e.length)return{start:0,end:-1};let i=t,a=t+Math.max(0,n),o=0,s=e.length-1;for(let t=0;t<e.length;t+=1){if(e[t].top+e[t].height>i){o=t;break}o=e.length-1}for(let t=e.length-1;t>=0;--t){if(e[t].top<a){s=t;break}s=0}s<o&&([o,s]=[s,o]);let c=Math.max(0,Math.round(r));return{start:Math.max(0,o-c),end:Math.min(e.length-1,s+c)}}function l(t,r,i,a,o=0){let c=s(t,a);if(!c)return;let l=r.find(e=>e.pageIndex===c.pageIndex),u=e.isContractSigningPageUsable(l)&&l?{width:l.width,height:l.height}:{...n},d=f(o,0);return{pageIndex:c.pageIndex,x:m((i-c.left)*u.width/Math.max(1,c.width)-d),y:m((a-c.top)*u.height/Math.max(1,c.height)-d)}}function u(e,t){return e.find(e=>e.pageIndex===t)?.top??0}function d(t){return e.isContractSigningPageUsable(t)&&t?{width:p(t.displayWidth,t.width),height:p(t.displayHeight,t.height)}:{...n}}function f(e,t){let n=Number(e);return Number.isFinite(n)?n:t}function p(e,t){let n=f(e,t);return n>0?n:t}function m(e){return Math.round(e*100)/100}exports.CONTRACT_SIGNING_FALLBACK_PAGE_SIZE=n,exports.CONTRACT_SIGNING_PAGE_GAP=t,exports.CONTRACT_SIGNING_VIRTUAL_BUFFER_PAGES=r,exports.buildPageLayouts=i,exports.contentPointToPagePoint=l,exports.findPageAtOffset=s,exports.getContractSigningAutoScrollDelta=o,exports.getPageLayoutScrollTop=u,exports.getPageLayoutsContentSize=a,exports.getVisibleRange=c;
@@ -1 +1 @@
1
- const e=require(`../../pro-contract-template-designer/src/utils/template-renderer.cjs`);function t(e){return!!(e&&typeof e==`object`&&e.type===`template`)}function n(e){return t(e?.source)}function r(n){if(!t(n)||!s(n.template))return[];try{let t=n.template,r=Array.isArray(t.pages)?t.pages:[],i=e.normalizeRenderValues(t,n.values),a=o(t);return r.flatMap((n,r)=>{let o=e.buildTemplateRenderPages({...t,pages:[n]},i,{readonly:!0,disabled:!0,mode:`display`})[0];if(!o)return[];let s=c(n?.pageSize,t.pageSize,o);return[{pageIndex:r,pageId:o.id,title:o.title,width:s.width,height:s.height,contentHtml:o.contentHtml,errors:a.filter(e=>!e.pageId||e.pageId===o.id).map(e=>e.message)}]})}catch{return[]}}function i(e){if(!t(e.source))return[];if(!s(e.source.template))return[{code:`CONTRACT_TEMPLATE_MISSING`,message:`文件 ${e.fileName||e.fileId} 缺少可渲染的合同模板`,fileId:e.fileId}];try{let t=Array.isArray(e.source.template.pages)?e.source.template.pages:[];return o(e.source.template).map(n=>{let r=n.pageId?t.findIndex(e=>e?.id===n.pageId):-1;return{code:`CONTRACT_${n.code||`TEMPLATE_INVALID`}`,message:`${e.fileName||e.fileId}:${n.message}`,fileId:e.fileId,...r>=0?{pageIndex:r}:{}}})}catch(t){return[{code:`CONTRACT_TEMPLATE_RENDER_FAILED`,message:`文件 ${e.fileName||e.fileId} 的模板数据无法安全渲染`,fileId:e.fileId,cause:t}]}}function a(e){return!e||!t(e.source)?``:i(e)[0]?.message??``}function o(t){return e.validateTemplateRenderStructure(t)}function s(e){return!!(e&&typeof e==`object`)}function c(e,t,n){return{width:l(e?.width,l(t?.width,n.width)),height:l(e?.height,l(t?.height,n.height))}}function l(e,t){let n=Number(e);return Number.isFinite(n)&&n>0?n:t}exports.buildContractSigningTemplateRenderPages=r,exports.getContractSigningTemplateDisplayError=a,exports.isContractSigningTemplateFile=n,exports.isContractSigningTemplateSource=t,exports.validateContractSigningTemplateFile=i;
1
+ const e=require(`../../pro-contract-template-designer/src/utils/template-renderer.cjs`);function t(e){return!!(e&&typeof e==`object`&&e.type===`template`)}function n(e){return t(e?.source)}function r(n){if(!t(n)||!s(n.template))return[];try{let t=n.template,r=Array.isArray(t.pages)?t.pages:[],i=e.normalizeRenderValues(t,n.values),a=o(t);return r.flatMap((n,r)=>{let o=e.buildTemplateRenderPages({...t,pages:[n]},i,{readonly:!0,disabled:!0,mode:`display`})[0];if(!o)return[];let s=c(n?.pageSize,t.pageSize,o);return[{pageIndex:r,pageId:o.id,title:o.title,width:s.width,height:s.height,displayWidth:s.width,displayHeight:s.height,contentHtml:o.contentHtml,errors:a.filter(e=>!e.pageId||e.pageId===o.id).map(e=>e.message)}]})}catch{return[]}}function i(e){if(!t(e.source))return[];if(!s(e.source.template))return[{code:`CONTRACT_TEMPLATE_MISSING`,message:`文件 ${e.fileName||e.fileId} 缺少可渲染的合同模板`,fileId:e.fileId}];try{let t=Array.isArray(e.source.template.pages)?e.source.template.pages:[];return o(e.source.template).map(n=>{let r=n.pageId?t.findIndex(e=>e?.id===n.pageId):-1;return{code:`CONTRACT_${n.code||`TEMPLATE_INVALID`}`,message:`${e.fileName||e.fileId}:${n.message}`,fileId:e.fileId,...r>=0?{pageIndex:r}:{}}})}catch(t){return[{code:`CONTRACT_TEMPLATE_RENDER_FAILED`,message:`文件 ${e.fileName||e.fileId} 的模板数据无法安全渲染`,fileId:e.fileId,cause:t}]}}function a(e){return!e||!t(e.source)?``:i(e)[0]?.message??``}function o(t){return e.validateTemplateRenderStructure(t)}function s(e){return!!(e&&typeof e==`object`)}function c(e,t,n){return{width:l(e?.width,l(t?.width,n.width)),height:l(e?.height,l(t?.height,n.height))}}function l(e,t){let n=Number(e);return Number.isFinite(n)&&n>0?n:t}exports.buildContractSigningTemplateRenderPages=r,exports.getContractSigningTemplateDisplayError=a,exports.isContractSigningTemplateFile=n,exports.isContractSigningTemplateSource=t,exports.validateContractSigningTemplateFile=i;
@@ -1 +1 @@
1
- require(`../../../_virtual/_rolldown/runtime.cjs`);const e=require(`./SigningPlacementInspector.cjs`);let t=require(`vue`),n=require(`ant-design-vue`),r=require(`@ant-design/icons-vue`);var i=[`aria-label`,`aria-expanded`],a={class:`gd-contract-template-designer__panel-stack`},o={class:`gd-contract-template-designer__panel gd-contract-template-designer__panel--tools`},s=[`disabled`,`onDragstart`,`onClick`],c={class:`gd-contract-template-designer__tool-item-icon`,"aria-hidden":`true`},l={class:`gd-contract-template-designer__tool-item-copy`},u={key:0,class:`gd-contract-template-designer__panel gd-contract-template-designer__panel--tools`},d={class:`gd-contract-template-designer__panel-head`},f={class:`gd-contract-template-designer__panel-actions`},p=[`disabled`,`onDragstart`,`onClick`],m={class:`gd-contract-template-designer__tool-item-icon`,"aria-hidden":`true`},h={class:`gd-contract-template-designer__signing-tool-copy`},g={class:`gd-contract-template-designer__signing-tool-label`},_={key:2,class:`gd-contract-template-designer__panel gd-contract-template-designer__panel--properties`},v={class:`gd-contract-template-designer__panel-head`},y={key:0,class:`gd-contract-template-designer__panel-actions`},b={class:`gd-contract-template-designer__form-row`},x={class:`gd-contract-template-designer__form-row`},S={class:`gd-contract-template-designer__form-row`},C={class:`gd-contract-template-designer__form-row`},w={class:`gd-contract-template-designer__form-row`},T={class:`gd-contract-template-designer__form-row`},E={key:0,class:`gd-contract-template-designer__switch-grid`},D={class:`gd-contract-template-designer__switch-row`},O={key:0,class:`gd-contract-template-designer__form-row is-compact`},k={key:1,class:`gd-contract-template-designer__form-row`},ee={class:`gd-contract-template-designer__form-row`},A={class:`gd-contract-template-designer__form-row`},j={class:`gd-contract-template-designer__form-row`},M={class:`gd-contract-template-designer__form-row`},N={class:`gd-contract-template-designer__switch-grid`},P={class:`gd-contract-template-designer__switch-row`},F={class:`gd-contract-template-designer__switch-row`},I={class:`gd-contract-template-designer__switch-row`},L={key:0,class:`gd-contract-template-designer__switch-row`},R={class:`gd-contract-template-designer__form-row`},z={class:`gd-contract-template-designer__form-row`},B={class:`gd-contract-template-designer__form-row`},V=[`value`,`disabled`],H={class:`gd-contract-template-designer__form-row`},U=[`value`,`disabled`],W={class:`gd-contract-template-designer__form-row`},G=[`value`,`disabled`],K={class:`gd-contract-template-designer__form-row`},q={class:`gd-contract-template-designer__form-row`},J={class:`gd-contract-template-designer__form-row`},Y=(0,t.defineComponent)({name:`ContractTemplateDesignerInspector`,__name:`ContractTemplateDesignerInspector`,props:{collapsed:{type:Boolean},readonly:{type:Boolean},disabled:{type:Boolean},showSigningPlacementTools:{type:Boolean},bodyControlToolItems:{},signingPlacementTools:{},signingPlacements:{},selectedSigningPlacement:{},selectedSigningPlacementPageSize:{},selectedVariable:{},currentVariableFontFamily:{},fontFamilySelectOptions:{},textAlignOptions:{},borderStyleOptions:{},objectFitOptions:{},selectedVariableWidthMax:{},selectedVariableHeightMax:{},minFontSize:{},maxFontSize:{},defaultMultilineRows:{},resolveSigningPlacementTypeIcon:{type:Function},signingPlacementTypeLabels:{}},emits:[`toggle`,`variableDragStart`,`insertVariable`,`signingPlacementDragStart`,`insertSigningPlacement`,`patchSigningPlacement`,`duplicateSigningPlacement`,`removeSigningPlacement`,`duplicateVariable`,`removeVariable`,`patchVariable`,`patchStyle`,`patchMultiline`,`patchRows`,`patchFontFamily`,`patchFontSize`,`patchTextAlign`,`patchBorderStyle`,`patchObjectFit`],setup(Y,{emit:X}){let Z=Y,Q=X,$=()=>Z.readonly||Z.disabled;return(Y,X)=>((0,t.openBlock)(),(0,t.createElementBlock)(`aside`,{class:(0,t.normalizeClass)([`gd-contract-template-designer__inspector`,{"is-collapsed":Z.collapsed}])},[(0,t.createVNode)((0,t.unref)(n.Tooltip),{title:Z.collapsed?`展开属性栏`:`收起属性栏`},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`button`,{type:`button`,class:`gd-contract-template-designer__panel-handle`,"aria-label":Z.collapsed?`展开属性栏`:`收起属性栏`,"aria-expanded":!Z.collapsed,onClick:X[0]||=e=>Q(`toggle`)},[Z.collapsed?((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(r.LeftOutlined),{key:0,"aria-hidden":`true`})):((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(r.RightOutlined),{key:1,"aria-hidden":`true`}))],8,i)]),_:1},8,[`title`]),(0,t.createElementVNode)(`div`,a,[(0,t.createElementVNode)(`section`,o,[X[31]||=(0,t.createElementVNode)(`div`,{class:`gd-contract-template-designer__panel-head`},[(0,t.createElementVNode)(`strong`,null,`正文控件`),(0,t.createElementVNode)(`span`,null,`拖到正文`)],-1),((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(Z.bodyControlToolItems,e=>((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:e.type,type:`button`,draggable:`true`,class:`gd-contract-template-designer__tool-item`,disabled:$(),onDragstart:t=>Q(`variableDragStart`,t,e.type),onClick:t=>Q(`insertVariable`,e.type)},[(0,t.createElementVNode)(`span`,c,[((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(e.icon)))]),(0,t.createElementVNode)(`span`,l,[(0,t.createElementVNode)(`span`,null,(0,t.toDisplayString)(e.label),1),X[30]||=(0,t.createElementVNode)(`small`,null,`模板变量`,-1)])],40,s))),128))]),Z.showSigningPlacementTools?((0,t.openBlock)(),(0,t.createElementBlock)(`section`,u,[(0,t.createElementVNode)(`div`,d,[X[32]||=(0,t.createElementVNode)(`strong`,null,`签署位置`,-1),(0,t.createElementVNode)(`div`,f,[(0,t.createVNode)((0,t.unref)(n.Tag),null,{default:(0,t.withCtx)(()=>[(0,t.createTextVNode)((0,t.toDisplayString)(Z.signingPlacements.length),1)]),_:1})])]),((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(Z.signingPlacementTools,e=>((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:e.key,type:`button`,draggable:`true`,class:`gd-contract-template-designer__tool-item gd-contract-template-designer__signing-tool`,disabled:$(),onDragstart:t=>Q(`signingPlacementDragStart`,t,e),onClick:t=>Q(`insertSigningPlacement`,e)},[(0,t.createElementVNode)(`span`,m,[((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(Z.resolveSigningPlacementTypeIcon(e.type))))]),(0,t.createElementVNode)(`span`,h,[(0,t.createElementVNode)(`span`,g,(0,t.toDisplayString)(e.label),1),(0,t.createElementVNode)(`small`,null,(0,t.toDisplayString)(Z.signingPlacementTypeLabels[e.type])+` · 页面坐标`,1)])],40,p))),128))])):(0,t.createCommentVNode)(``,!0),Z.showSigningPlacementTools&&Z.selectedSigningPlacement?((0,t.openBlock)(),(0,t.createBlock)(e.default,{key:1,placement:Z.selectedSigningPlacement,"page-size":Z.selectedSigningPlacementPageSize,readonly:Z.readonly,disabled:Z.disabled,onUpdate:X[1]||=e=>Q(`patchSigningPlacement`,e),onDuplicate:X[2]||=e=>Q(`duplicateSigningPlacement`),onRemove:X[3]||=e=>Q(`removeSigningPlacement`)},null,8,[`placement`,`page-size`,`readonly`,`disabled`])):((0,t.openBlock)(),(0,t.createElementBlock)(`section`,_,[(0,t.createElementVNode)(`div`,v,[X[33]||=(0,t.createElementVNode)(`strong`,null,`属性`,-1),Z.selectedVariable?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,y,[(0,t.createVNode)((0,t.unref)(n.Tooltip),{title:`复制变量`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(n.Button),{size:`small`,type:`primary`,class:`gd-contract-template-designer__icon-button`,disabled:$(),"aria-label":`复制变量`,onClick:X[4]||=e=>Q(`duplicateVariable`,Z.selectedVariable)},{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(r.CopyOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`])]),_:1}),(0,t.createVNode)((0,t.unref)(n.Tooltip),{title:`删除变量`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(n.Button),{danger:``,type:`primary`,size:`small`,class:`gd-contract-template-designer__icon-button`,disabled:$(),"aria-label":`删除变量`,onClick:X[5]||=e=>Q(`removeVariable`,Z.selectedVariable)},{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(r.DeleteOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`])]),_:1})])):(0,t.createCommentVNode)(``,!0)]),Z.selectedVariable?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:1},[(0,t.createElementVNode)(`label`,b,[X[34]||=(0,t.createElementVNode)(`span`,null,`名称`,-1),(0,t.createVNode)((0,t.unref)(n.Input),{value:Z.selectedVariable.label,disabled:$(),onChange:X[6]||=e=>Q(`patchVariable`,{label:e.target.value})},null,8,[`value`,`disabled`])]),(0,t.createElementVNode)(`label`,x,[X[35]||=(0,t.createElementVNode)(`span`,null,`变量标识`,-1),(0,t.createVNode)((0,t.unref)(n.Input),{value:Z.selectedVariable.key,disabled:``},null,8,[`value`])]),(0,t.createElementVNode)(`label`,S,[X[36]||=(0,t.createElementVNode)(`span`,null,`占位文案`,-1),(0,t.createVNode)((0,t.unref)(n.Input),{value:Z.selectedVariable.placeholder,disabled:$(),onChange:X[7]||=e=>Q(`patchVariable`,{placeholder:e.target.value})},null,8,[`value`,`disabled`])]),(0,t.createElementVNode)(`label`,C,[X[37]||=(0,t.createElementVNode)(`span`,null,`默认值`,-1),(0,t.createVNode)((0,t.unref)(n.Input),{value:Z.selectedVariable.defaultValue,disabled:$(),onChange:X[8]||=e=>Q(`patchVariable`,{defaultValue:e.target.value})},null,8,[`value`,`disabled`])]),(0,t.createElementVNode)(`label`,w,[X[38]||=(0,t.createElementVNode)(`span`,null,`宽度`,-1),(0,t.createVNode)((0,t.unref)(n.InputNumber),{value:Z.selectedVariable.width,min:48,max:Z.selectedVariableWidthMax,disabled:$(),onChange:X[9]||=e=>Q(`patchVariable`,{width:Number(e||48)})},null,8,[`value`,`max`,`disabled`])]),(0,t.createElementVNode)(`label`,T,[X[39]||=(0,t.createElementVNode)(`span`,null,`高度`,-1),(0,t.createVNode)((0,t.unref)(n.InputNumber),{value:Z.selectedVariable.height,min:24,max:Z.selectedVariableHeightMax,disabled:$(),onChange:X[10]||=e=>Q(`patchVariable`,{height:Number(e||24)})},null,8,[`value`,`max`,`disabled`])]),Z.selectedVariable.type===`text`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,E,[(0,t.createElementVNode)(`label`,D,[X[40]||=(0,t.createElementVNode)(`span`,null,`多行`,-1),(0,t.createVNode)((0,t.unref)(n.Switch),{checked:!!Z.selectedVariable.multiline,disabled:$(),onChange:X[11]||=e=>Q(`patchMultiline`,!!e)},null,8,[`checked`,`disabled`])]),Z.selectedVariable.multiline?((0,t.openBlock)(),(0,t.createElementBlock)(`label`,O,[X[41]||=(0,t.createElementVNode)(`span`,null,`行数`,-1),(0,t.createVNode)((0,t.unref)(n.InputNumber),{value:Z.selectedVariable.rows||Z.defaultMultilineRows,min:2,max:12,disabled:$(),onChange:X[12]||=e=>Q(`patchRows`,e)},null,8,[`value`,`disabled`])])):(0,t.createCommentVNode)(``,!0)])):(0,t.createCommentVNode)(``,!0),Z.selectedVariable.type===`date`?((0,t.openBlock)(),(0,t.createElementBlock)(`label`,k,[X[42]||=(0,t.createElementVNode)(`span`,null,`日期格式`,-1),(0,t.createVNode)((0,t.unref)(n.Input),{value:Z.selectedVariable.format,disabled:$(),onChange:X[13]||=e=>Q(`patchVariable`,{format:e.target.value})},null,8,[`value`,`disabled`])])):(0,t.createCommentVNode)(``,!0),Z.selectedVariable.type===`number`?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:2},[(0,t.createElementVNode)(`label`,ee,[X[43]||=(0,t.createElementVNode)(`span`,null,`数字格式`,-1),(0,t.createVNode)((0,t.unref)(n.Input),{value:Z.selectedVariable.format,disabled:$(),onChange:X[14]||=e=>Q(`patchVariable`,{format:e.target.value})},null,8,[`value`,`disabled`])]),(0,t.createElementVNode)(`label`,A,[X[44]||=(0,t.createElementVNode)(`span`,null,`小数位`,-1),(0,t.createVNode)((0,t.unref)(n.InputNumber),{value:Z.selectedVariable.precision,min:0,max:6,disabled:$(),onChange:X[15]||=e=>Q(`patchVariable`,{precision:typeof e==`number`?e:void 0})},null,8,[`value`,`disabled`])])],64)):(0,t.createCommentVNode)(``,!0),Z.selectedVariable.type===`checkbox`?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:3},[(0,t.createElementVNode)(`label`,j,[X[45]||=(0,t.createElementVNode)(`span`,null,`勾选文本`,-1),(0,t.createVNode)((0,t.unref)(n.Input),{value:Z.selectedVariable.checkedText,disabled:$(),onChange:X[16]||=e=>Q(`patchVariable`,{checkedText:e.target.value})},null,8,[`value`,`disabled`])]),(0,t.createElementVNode)(`label`,M,[X[46]||=(0,t.createElementVNode)(`span`,null,`未选文本`,-1),(0,t.createVNode)((0,t.unref)(n.Input),{value:Z.selectedVariable.uncheckedText,disabled:$(),onChange:X[17]||=e=>Q(`patchVariable`,{uncheckedText:e.target.value})},null,8,[`value`,`disabled`])])],64)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,N,[(0,t.createElementVNode)(`label`,P,[X[47]||=(0,t.createElementVNode)(`span`,null,`必填`,-1),(0,t.createVNode)((0,t.unref)(n.Switch),{checked:Z.selectedVariable.required,disabled:$(),onChange:X[18]||=e=>Q(`patchVariable`,{required:!!e})},null,8,[`checked`,`disabled`])]),(0,t.createElementVNode)(`label`,F,[X[48]||=(0,t.createElementVNode)(`span`,null,`边框`,-1),(0,t.createVNode)((0,t.unref)(n.Switch),{checked:!!Z.selectedVariable.style?.border,disabled:$(),onChange:X[19]||=e=>Q(`patchStyle`,{border:!!e})},null,8,[`checked`,`disabled`])]),(0,t.createElementVNode)(`label`,I,[X[49]||=(0,t.createElementVNode)(`span`,null,`下划线`,-1),(0,t.createVNode)((0,t.unref)(n.Switch),{checked:!!Z.selectedVariable.style?.underline,disabled:$(),onChange:X[20]||=e=>Q(`patchStyle`,{underline:!!e})},null,8,[`checked`,`disabled`])]),Z.selectedVariable.type===`number`?((0,t.openBlock)(),(0,t.createElementBlock)(`label`,L,[X[50]||=(0,t.createElementVNode)(`span`,null,`千分位`,-1),(0,t.createVNode)((0,t.unref)(n.Switch),{checked:Z.selectedVariable.useGrouping!==!1,disabled:$(),onChange:X[21]||=e=>Q(`patchVariable`,{useGrouping:!!e})},null,8,[`checked`,`disabled`])])):(0,t.createCommentVNode)(``,!0)]),(0,t.createElementVNode)(`label`,R,[X[51]||=(0,t.createElementVNode)(`span`,null,`字体`,-1),(0,t.createVNode)((0,t.unref)(n.Select),{value:Z.currentVariableFontFamily,options:Z.fontFamilySelectOptions,disabled:$(),onChange:X[22]||=e=>Q(`patchFontFamily`,e)},null,8,[`value`,`options`,`disabled`])]),(0,t.createElementVNode)(`label`,z,[X[52]||=(0,t.createElementVNode)(`span`,null,`字号`,-1),(0,t.createVNode)((0,t.unref)(n.InputNumber),{value:Z.selectedVariable.style?.fontSize,min:Z.minFontSize,max:Z.maxFontSize,disabled:$(),onChange:X[23]||=e=>Q(`patchFontSize`,e)},null,8,[`value`,`min`,`max`,`disabled`])]),(0,t.createElementVNode)(`label`,B,[X[53]||=(0,t.createElementVNode)(`span`,null,`颜色`,-1),(0,t.createElementVNode)(`input`,{type:`color`,value:Z.selectedVariable.style?.color||`#1f2937`,disabled:$(),onInput:X[24]||=e=>Q(`patchStyle`,{color:e.target.value})},null,40,V)]),(0,t.createElementVNode)(`label`,H,[X[54]||=(0,t.createElementVNode)(`span`,null,`占位颜色`,-1),(0,t.createElementVNode)(`input`,{type:`color`,value:Z.selectedVariable.style?.placeholderColor||`#7a818b`,disabled:$(),onInput:X[25]||=e=>Q(`patchStyle`,{placeholderColor:e.target.value})},null,40,U)]),(0,t.createElementVNode)(`label`,W,[X[55]||=(0,t.createElementVNode)(`span`,null,`线条颜色`,-1),(0,t.createElementVNode)(`input`,{type:`color`,value:Z.selectedVariable.style?.lineColor||`#565b66`,disabled:$(),onInput:X[26]||=e=>Q(`patchStyle`,{lineColor:e.target.value})},null,40,G)]),(0,t.createElementVNode)(`label`,K,[X[56]||=(0,t.createElementVNode)(`span`,null,`文字对齐`,-1),(0,t.createVNode)((0,t.unref)(n.Select),{value:Z.selectedVariable.style?.textAlign||`left`,options:Z.textAlignOptions,disabled:$(),onChange:X[27]||=e=>Q(`patchTextAlign`,e)},null,8,[`value`,`options`,`disabled`])]),Z.selectedVariable.type===`image`?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:4},[(0,t.createElementVNode)(`label`,q,[X[57]||=(0,t.createElementVNode)(`span`,null,`边框样式`,-1),(0,t.createVNode)((0,t.unref)(n.Select),{value:Z.selectedVariable.style?.borderStyle||`dashed`,options:Z.borderStyleOptions,disabled:$(),onChange:X[28]||=e=>Q(`patchBorderStyle`,e)},null,8,[`value`,`options`,`disabled`])]),(0,t.createElementVNode)(`label`,J,[X[58]||=(0,t.createElementVNode)(`span`,null,`图片适配`,-1),(0,t.createVNode)((0,t.unref)(n.Select),{value:Z.selectedVariable.style?.objectFit||`contain`,options:Z.objectFitOptions,disabled:$(),onChange:X[29]||=e=>Q(`patchObjectFit`,e)},null,8,[`value`,`options`,`disabled`])])],64)):(0,t.createCommentVNode)(``,!0)],64)):((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(n.Empty),{key:0,description:`请选择模板变量`,image:(0,t.unref)(n.Empty).PRESENTED_IMAGE_SIMPLE},null,8,[`image`]))]))])],2))}});exports.default=Y;
1
+ require(`../../../_virtual/_rolldown/runtime.cjs`);const e=require(`./composables/use-template-designer.cjs`),t=require(`./SigningPlacementInspector.cjs`);let n=require(`vue`),r=require(`ant-design-vue`),i=require(`@ant-design/icons-vue`);var a=[`aria-label`,`aria-expanded`],o={class:`gd-contract-template-designer__panel-stack`},s={class:`gd-contract-template-designer__panel gd-contract-template-designer__panel--tools`},ee=[`disabled`,`onDragstart`,`onClick`],te={class:`gd-contract-template-designer__tool-item-icon`,"aria-hidden":`true`},ne={class:`gd-contract-template-designer__tool-item-copy`},re={key:0,class:`gd-contract-template-designer__panel gd-contract-template-designer__panel--tools`},ie={class:`gd-contract-template-designer__panel-head`},ae={class:`gd-contract-template-designer__panel-actions`},c=[`disabled`,`onDragstart`,`onClick`],l={class:`gd-contract-template-designer__tool-item-icon`,"aria-hidden":`true`},u={class:`gd-contract-template-designer__signing-tool-copy`},d={class:`gd-contract-template-designer__signing-tool-label`},f={key:2,class:`gd-contract-template-designer__panel gd-contract-template-designer__panel--properties`},p={class:`gd-contract-template-designer__panel-head`},m={key:0,class:`gd-contract-template-designer__panel-actions`},h={class:`gd-contract-template-designer__form-row`},g={class:`gd-contract-template-designer__form-row`},_={key:0,class:`gd-contract-template-designer__form-error`,role:`alert`},v={class:`gd-contract-template-designer__form-row`},y={class:`gd-contract-template-designer__form-row`},b={class:`gd-contract-template-designer__form-row`},x={class:`gd-contract-template-designer__form-row`},S={key:1,class:`gd-contract-template-designer__switch-grid`},C={class:`gd-contract-template-designer__switch-row`},w={key:0,class:`gd-contract-template-designer__form-row is-compact`},T={key:2,class:`gd-contract-template-designer__form-row`},E={class:`gd-contract-template-designer__form-row`},D={class:`gd-contract-template-designer__form-row`},O={class:`gd-contract-template-designer__form-row`},k={class:`gd-contract-template-designer__form-row`},A={class:`gd-contract-template-designer__switch-grid`},j={class:`gd-contract-template-designer__switch-row`},oe={class:`gd-contract-template-designer__switch-row`},M={class:`gd-contract-template-designer__switch-row`},N={key:0,class:`gd-contract-template-designer__switch-row`},P={class:`gd-contract-template-designer__form-row`},F={class:`gd-contract-template-designer__form-row`},I={class:`gd-contract-template-designer__form-row`},L=[`value`,`disabled`],R={class:`gd-contract-template-designer__form-row`},z=[`value`,`disabled`],B={class:`gd-contract-template-designer__form-row`},V=[`value`,`disabled`],H={class:`gd-contract-template-designer__form-row`},U={class:`gd-contract-template-designer__form-row`},W={class:`gd-contract-template-designer__form-row`},G=(0,n.defineComponent)({name:`ContractTemplateDesignerInspector`,__name:`ContractTemplateDesignerInspector`,props:{collapsed:{type:Boolean},readonly:{type:Boolean},disabled:{type:Boolean},showSigningPlacementTools:{type:Boolean},bodyControlToolItems:{},signingPlacementTools:{},signingPlacements:{},selectedSigningPlacement:{},selectedSigningPlacementPageSize:{},selectedVariable:{},variables:{},currentVariableFontFamily:{},fontFamilySelectOptions:{},textAlignOptions:{},borderStyleOptions:{},objectFitOptions:{},selectedVariableWidthMax:{},selectedVariableHeightMax:{},minFontSize:{},maxFontSize:{},defaultMultilineRows:{},resolveSigningPlacementTypeIcon:{type:Function},signingPlacementTypeLabels:{}},emits:[`toggle`,`variableDragStart`,`insertVariable`,`signingPlacementDragStart`,`insertSigningPlacement`,`patchSigningPlacement`,`duplicateSigningPlacement`,`removeSigningPlacement`,`duplicateVariable`,`removeVariable`,`patchVariable`,`renameVariable`,`patchStyle`,`patchMultiline`,`patchRows`,`patchFontFamily`,`patchFontSize`,`patchTextAlign`,`patchBorderStyle`,`patchObjectFit`],setup(G,{emit:K}){let q=G,J=K,Y=()=>q.readonly||q.disabled,X=(0,n.ref)(``),Z=(0,n.ref)(!1),Q=(0,n.computed)(()=>Z.value&&q.selectedVariable?e.validateContractTemplateVariableKey(X.value,q.variables,q.selectedVariable.id):``);(0,n.watch)(()=>[q.selectedVariable?.id,q.selectedVariable?.key],([,e])=>{X.value=e??``,Z.value=!1},{immediate:!0});function se(e){X.value=e.target.value,Z.value=!0}function $(){if(!q.selectedVariable||Y()||(Z.value=!0,Q.value))return;let e=X.value.trim();e!==q.selectedVariable.key&&J(`renameVariable`,e),Z.value=!1}return(e,G)=>((0,n.openBlock)(),(0,n.createElementBlock)(`aside`,{class:(0,n.normalizeClass)([`gd-contract-template-designer__inspector`,{"is-collapsed":q.collapsed}])},[(0,n.createVNode)((0,n.unref)(r.Tooltip),{title:q.collapsed?`展开属性栏`:`收起属性栏`},{default:(0,n.withCtx)(()=>[(0,n.createElementVNode)(`button`,{type:`button`,class:`gd-contract-template-designer__panel-handle`,"aria-label":q.collapsed?`展开属性栏`:`收起属性栏`,"aria-expanded":!q.collapsed,onClick:G[0]||=e=>J(`toggle`)},[q.collapsed?((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(i.LeftOutlined),{key:0,"aria-hidden":`true`})):((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(i.RightOutlined),{key:1,"aria-hidden":`true`}))],8,a)]),_:1},8,[`title`]),(0,n.createElementVNode)(`div`,o,[(0,n.createElementVNode)(`section`,s,[G[31]||=(0,n.createElementVNode)(`div`,{class:`gd-contract-template-designer__panel-head`},[(0,n.createElementVNode)(`strong`,null,`正文控件`),(0,n.createElementVNode)(`span`,null,`拖到正文`)],-1),((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(q.bodyControlToolItems,e=>((0,n.openBlock)(),(0,n.createElementBlock)(`button`,{key:e.type,type:`button`,draggable:`true`,class:`gd-contract-template-designer__tool-item`,disabled:Y(),onDragstart:t=>J(`variableDragStart`,t,e.type),onClick:t=>J(`insertVariable`,e.type)},[(0,n.createElementVNode)(`span`,te,[((0,n.openBlock)(),(0,n.createBlock)((0,n.resolveDynamicComponent)(e.icon)))]),(0,n.createElementVNode)(`span`,ne,[(0,n.createElementVNode)(`span`,null,(0,n.toDisplayString)(e.label),1),G[30]||=(0,n.createElementVNode)(`small`,null,`模板变量`,-1)])],40,ee))),128))]),q.showSigningPlacementTools?((0,n.openBlock)(),(0,n.createElementBlock)(`section`,re,[(0,n.createElementVNode)(`div`,ie,[G[32]||=(0,n.createElementVNode)(`strong`,null,`签署位置`,-1),(0,n.createElementVNode)(`div`,ae,[(0,n.createVNode)((0,n.unref)(r.Tag),null,{default:(0,n.withCtx)(()=>[(0,n.createTextVNode)((0,n.toDisplayString)(q.signingPlacements.length),1)]),_:1})])]),((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(q.signingPlacementTools,e=>((0,n.openBlock)(),(0,n.createElementBlock)(`button`,{key:e.key,type:`button`,draggable:`true`,class:`gd-contract-template-designer__tool-item gd-contract-template-designer__signing-tool`,disabled:Y(),onDragstart:t=>J(`signingPlacementDragStart`,t,e),onClick:t=>J(`insertSigningPlacement`,e)},[(0,n.createElementVNode)(`span`,l,[((0,n.openBlock)(),(0,n.createBlock)((0,n.resolveDynamicComponent)(q.resolveSigningPlacementTypeIcon(e.type))))]),(0,n.createElementVNode)(`span`,u,[(0,n.createElementVNode)(`span`,d,(0,n.toDisplayString)(e.label),1),(0,n.createElementVNode)(`small`,null,(0,n.toDisplayString)(q.signingPlacementTypeLabels[e.type])+` · 页面坐标`,1)])],40,c))),128))])):(0,n.createCommentVNode)(``,!0),q.showSigningPlacementTools&&q.selectedSigningPlacement?((0,n.openBlock)(),(0,n.createBlock)(t.default,{key:1,placement:q.selectedSigningPlacement,"page-size":q.selectedSigningPlacementPageSize,readonly:q.readonly,disabled:q.disabled,onUpdate:G[1]||=e=>J(`patchSigningPlacement`,e),onDuplicate:G[2]||=e=>J(`duplicateSigningPlacement`),onRemove:G[3]||=e=>J(`removeSigningPlacement`)},null,8,[`placement`,`page-size`,`readonly`,`disabled`])):((0,n.openBlock)(),(0,n.createElementBlock)(`section`,f,[(0,n.createElementVNode)(`div`,p,[G[33]||=(0,n.createElementVNode)(`strong`,null,`属性`,-1),q.selectedVariable?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,m,[(0,n.createVNode)((0,n.unref)(r.Tooltip),{title:`复制变量`},{default:(0,n.withCtx)(()=>[(0,n.createVNode)((0,n.unref)(r.Button),{size:`small`,type:`primary`,class:`gd-contract-template-designer__icon-button`,disabled:Y(),"aria-label":`复制变量`,onClick:G[4]||=e=>J(`duplicateVariable`,q.selectedVariable)},{default:(0,n.withCtx)(()=>[(0,n.createVNode)((0,n.unref)(i.CopyOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`])]),_:1}),(0,n.createVNode)((0,n.unref)(r.Tooltip),{title:`删除变量`},{default:(0,n.withCtx)(()=>[(0,n.createVNode)((0,n.unref)(r.Button),{danger:``,type:`primary`,size:`small`,class:`gd-contract-template-designer__icon-button`,disabled:Y(),"aria-label":`删除变量`,onClick:G[5]||=e=>J(`removeVariable`,q.selectedVariable)},{default:(0,n.withCtx)(()=>[(0,n.createVNode)((0,n.unref)(i.DeleteOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`])]),_:1})])):(0,n.createCommentVNode)(``,!0)]),q.selectedVariable?((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:1},[(0,n.createElementVNode)(`label`,h,[G[34]||=(0,n.createElementVNode)(`span`,null,`名称`,-1),(0,n.createVNode)((0,n.unref)(r.Input),{value:q.selectedVariable.label,disabled:Y(),onChange:G[6]||=e=>J(`patchVariable`,{label:e.target.value})},null,8,[`value`,`disabled`])]),(0,n.createElementVNode)(`label`,g,[G[35]||=(0,n.createElementVNode)(`span`,null,`变量标识`,-1),(0,n.createVNode)((0,n.unref)(r.Input),{value:X.value,status:Q.value?`error`:void 0,disabled:Y(),onInput:se,onBlur:$,onKeydown:(0,n.withKeys)((0,n.withModifiers)($,[`prevent`]),[`enter`])},null,8,[`value`,`status`,`disabled`,`onKeydown`])]),Q.value?((0,n.openBlock)(),(0,n.createElementBlock)(`small`,_,(0,n.toDisplayString)(Q.value),1)):(0,n.createCommentVNode)(``,!0),(0,n.createElementVNode)(`label`,v,[G[36]||=(0,n.createElementVNode)(`span`,null,`占位文案`,-1),(0,n.createVNode)((0,n.unref)(r.Input),{value:q.selectedVariable.placeholder,disabled:Y(),onChange:G[7]||=e=>J(`patchVariable`,{placeholder:e.target.value})},null,8,[`value`,`disabled`])]),(0,n.createElementVNode)(`label`,y,[G[37]||=(0,n.createElementVNode)(`span`,null,`默认值`,-1),(0,n.createVNode)((0,n.unref)(r.Input),{value:q.selectedVariable.defaultValue,disabled:Y(),onChange:G[8]||=e=>J(`patchVariable`,{defaultValue:e.target.value})},null,8,[`value`,`disabled`])]),(0,n.createElementVNode)(`label`,b,[G[38]||=(0,n.createElementVNode)(`span`,null,`宽度`,-1),(0,n.createVNode)((0,n.unref)(r.InputNumber),{value:q.selectedVariable.width,min:48,max:q.selectedVariableWidthMax,disabled:Y(),onChange:G[9]||=e=>J(`patchVariable`,{width:Number(e||48)})},null,8,[`value`,`max`,`disabled`])]),(0,n.createElementVNode)(`label`,x,[G[39]||=(0,n.createElementVNode)(`span`,null,`高度`,-1),(0,n.createVNode)((0,n.unref)(r.InputNumber),{value:q.selectedVariable.height,min:24,max:q.selectedVariableHeightMax,disabled:Y(),onChange:G[10]||=e=>J(`patchVariable`,{height:Number(e||24)})},null,8,[`value`,`max`,`disabled`])]),q.selectedVariable.type===`text`?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,S,[(0,n.createElementVNode)(`label`,C,[G[40]||=(0,n.createElementVNode)(`span`,null,`多行`,-1),(0,n.createVNode)((0,n.unref)(r.Switch),{checked:!!q.selectedVariable.multiline,disabled:Y(),onChange:G[11]||=e=>J(`patchMultiline`,!!e)},null,8,[`checked`,`disabled`])]),q.selectedVariable.multiline?((0,n.openBlock)(),(0,n.createElementBlock)(`label`,w,[G[41]||=(0,n.createElementVNode)(`span`,null,`行数`,-1),(0,n.createVNode)((0,n.unref)(r.InputNumber),{value:q.selectedVariable.rows||q.defaultMultilineRows,min:2,max:12,disabled:Y(),onChange:G[12]||=e=>J(`patchRows`,e)},null,8,[`value`,`disabled`])])):(0,n.createCommentVNode)(``,!0)])):(0,n.createCommentVNode)(``,!0),q.selectedVariable.type===`date`?((0,n.openBlock)(),(0,n.createElementBlock)(`label`,T,[G[42]||=(0,n.createElementVNode)(`span`,null,`日期格式`,-1),(0,n.createVNode)((0,n.unref)(r.Input),{value:q.selectedVariable.format,disabled:Y(),onChange:G[13]||=e=>J(`patchVariable`,{format:e.target.value})},null,8,[`value`,`disabled`])])):(0,n.createCommentVNode)(``,!0),q.selectedVariable.type===`number`?((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:3},[(0,n.createElementVNode)(`label`,E,[G[43]||=(0,n.createElementVNode)(`span`,null,`数字格式`,-1),(0,n.createVNode)((0,n.unref)(r.Input),{value:q.selectedVariable.format,disabled:Y(),onChange:G[14]||=e=>J(`patchVariable`,{format:e.target.value})},null,8,[`value`,`disabled`])]),(0,n.createElementVNode)(`label`,D,[G[44]||=(0,n.createElementVNode)(`span`,null,`小数位`,-1),(0,n.createVNode)((0,n.unref)(r.InputNumber),{value:q.selectedVariable.precision,min:0,max:6,disabled:Y(),onChange:G[15]||=e=>J(`patchVariable`,{precision:typeof e==`number`?e:void 0})},null,8,[`value`,`disabled`])])],64)):(0,n.createCommentVNode)(``,!0),q.selectedVariable.type===`checkbox`?((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:4},[(0,n.createElementVNode)(`label`,O,[G[45]||=(0,n.createElementVNode)(`span`,null,`勾选文本`,-1),(0,n.createVNode)((0,n.unref)(r.Input),{value:q.selectedVariable.checkedText,disabled:Y(),onChange:G[16]||=e=>J(`patchVariable`,{checkedText:e.target.value})},null,8,[`value`,`disabled`])]),(0,n.createElementVNode)(`label`,k,[G[46]||=(0,n.createElementVNode)(`span`,null,`未选文本`,-1),(0,n.createVNode)((0,n.unref)(r.Input),{value:q.selectedVariable.uncheckedText,disabled:Y(),onChange:G[17]||=e=>J(`patchVariable`,{uncheckedText:e.target.value})},null,8,[`value`,`disabled`])])],64)):(0,n.createCommentVNode)(``,!0),(0,n.createElementVNode)(`div`,A,[(0,n.createElementVNode)(`label`,j,[G[47]||=(0,n.createElementVNode)(`span`,null,`必填`,-1),(0,n.createVNode)((0,n.unref)(r.Switch),{checked:q.selectedVariable.required,disabled:Y(),onChange:G[18]||=e=>J(`patchVariable`,{required:!!e})},null,8,[`checked`,`disabled`])]),(0,n.createElementVNode)(`label`,oe,[G[48]||=(0,n.createElementVNode)(`span`,null,`边框`,-1),(0,n.createVNode)((0,n.unref)(r.Switch),{checked:!!q.selectedVariable.style?.border,disabled:Y(),onChange:G[19]||=e=>J(`patchStyle`,{border:!!e})},null,8,[`checked`,`disabled`])]),(0,n.createElementVNode)(`label`,M,[G[49]||=(0,n.createElementVNode)(`span`,null,`下划线`,-1),(0,n.createVNode)((0,n.unref)(r.Switch),{checked:!!q.selectedVariable.style?.underline,disabled:Y(),onChange:G[20]||=e=>J(`patchStyle`,{underline:!!e})},null,8,[`checked`,`disabled`])]),q.selectedVariable.type===`number`?((0,n.openBlock)(),(0,n.createElementBlock)(`label`,N,[G[50]||=(0,n.createElementVNode)(`span`,null,`千分位`,-1),(0,n.createVNode)((0,n.unref)(r.Switch),{checked:q.selectedVariable.useGrouping!==!1,disabled:Y(),onChange:G[21]||=e=>J(`patchVariable`,{useGrouping:!!e})},null,8,[`checked`,`disabled`])])):(0,n.createCommentVNode)(``,!0)]),(0,n.createElementVNode)(`label`,P,[G[51]||=(0,n.createElementVNode)(`span`,null,`字体`,-1),(0,n.createVNode)((0,n.unref)(r.Select),{value:q.currentVariableFontFamily,options:q.fontFamilySelectOptions,disabled:Y(),onChange:G[22]||=e=>J(`patchFontFamily`,e)},null,8,[`value`,`options`,`disabled`])]),(0,n.createElementVNode)(`label`,F,[G[52]||=(0,n.createElementVNode)(`span`,null,`字号`,-1),(0,n.createVNode)((0,n.unref)(r.InputNumber),{value:q.selectedVariable.style?.fontSize,min:q.minFontSize,max:q.maxFontSize,disabled:Y(),onChange:G[23]||=e=>J(`patchFontSize`,e)},null,8,[`value`,`min`,`max`,`disabled`])]),(0,n.createElementVNode)(`label`,I,[G[53]||=(0,n.createElementVNode)(`span`,null,`颜色`,-1),(0,n.createElementVNode)(`input`,{type:`color`,value:q.selectedVariable.style?.color||`#1f2937`,disabled:Y(),onInput:G[24]||=e=>J(`patchStyle`,{color:e.target.value})},null,40,L)]),(0,n.createElementVNode)(`label`,R,[G[54]||=(0,n.createElementVNode)(`span`,null,`占位颜色`,-1),(0,n.createElementVNode)(`input`,{type:`color`,value:q.selectedVariable.style?.placeholderColor||`#7a818b`,disabled:Y(),onInput:G[25]||=e=>J(`patchStyle`,{placeholderColor:e.target.value})},null,40,z)]),(0,n.createElementVNode)(`label`,B,[G[55]||=(0,n.createElementVNode)(`span`,null,`线条颜色`,-1),(0,n.createElementVNode)(`input`,{type:`color`,value:q.selectedVariable.style?.lineColor||`#565b66`,disabled:Y(),onInput:G[26]||=e=>J(`patchStyle`,{lineColor:e.target.value})},null,40,V)]),(0,n.createElementVNode)(`label`,H,[G[56]||=(0,n.createElementVNode)(`span`,null,`文字对齐`,-1),(0,n.createVNode)((0,n.unref)(r.Select),{value:q.selectedVariable.style?.textAlign||`left`,options:q.textAlignOptions,disabled:Y(),onChange:G[27]||=e=>J(`patchTextAlign`,e)},null,8,[`value`,`options`,`disabled`])]),q.selectedVariable.type===`image`?((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:5},[(0,n.createElementVNode)(`label`,U,[G[57]||=(0,n.createElementVNode)(`span`,null,`边框样式`,-1),(0,n.createVNode)((0,n.unref)(r.Select),{value:q.selectedVariable.style?.borderStyle||`dashed`,options:q.borderStyleOptions,disabled:Y(),onChange:G[28]||=e=>J(`patchBorderStyle`,e)},null,8,[`value`,`options`,`disabled`])]),(0,n.createElementVNode)(`label`,W,[G[58]||=(0,n.createElementVNode)(`span`,null,`图片适配`,-1),(0,n.createVNode)((0,n.unref)(r.Select),{value:q.selectedVariable.style?.objectFit||`contain`,options:q.objectFitOptions,disabled:Y(),onChange:G[29]||=e=>J(`patchObjectFit`,e)},null,8,[`value`,`options`,`disabled`])])],64)):(0,n.createCommentVNode)(``,!0)],64)):((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(r.Empty),{key:0,description:`请选择模板变量`,image:(0,n.unref)(r.Empty).PRESENTED_IMAGE_SIMPLE},null,8,[`image`]))]))])],2))}});exports.default=G;
@@ -1 +1 @@
1
- require(`../../../_virtual/_rolldown/runtime.cjs`);let e=require(`vue`),t=require(`ant-design-vue`),n=require(`@ant-design/icons-vue`);var r=[`aria-label`,`aria-expanded`],i={class:`gd-contract-template-designer__panel-stack`},a={class:`gd-contract-template-designer__panel gd-contract-template-designer__panel--navigation`},o={class:`gd-contract-template-designer__panel-head`},s={class:`gd-contract-template-designer__panel-actions`},c=[`onClick`],l={class:`gd-contract-template-designer__page-nav-actions`},u={key:0,class:`gd-contract-template-designer__page-config`},d={key:0,class:`gd-contract-template-designer__form-row`},f={class:`gd-contract-template-designer__page-size-note`},p={class:`gd-contract-template-designer__panel gd-contract-template-designer__panel--navigation`},m={class:`gd-contract-template-designer__panel-head`},h=[`onClick`],g={key:0,class:`gd-contract-template-designer__panel gd-contract-template-designer__panel--navigation`},_={class:`gd-contract-template-designer__panel-head`},v=[`onClick`],y=(0,e.defineComponent)({name:`ContractTemplateDesignerSidebar`,__name:`ContractTemplateDesignerSidebar`,props:{collapsed:{type:Boolean},pages:{},variables:{},signingPlacementNavigationItems:{},activePageId:{},selectedVariableKey:{},selectedSigningPlacementId:{},normalizedMaxPages:{},pageLimitReached:{type:Boolean},selectedPage:{},selectedPageSize:{},normalizedPageSizeOptions:{},pageSizeOptions:{},selectedPageSizeOptionValue:{},showSigningPlacementTools:{type:Boolean},readonly:{type:Boolean},getPageSize:{type:Function},getPageSigningPlacements:{type:Function}},emits:[`toggle`,`addPage`,`activatePage`,`duplicatePage`,`removePage`,`patchPageFormat`,`scrollToVariable`,`scrollToSigningPlacement`],setup(y,{emit:b}){let x=y,S=b;return(y,b)=>((0,e.openBlock)(),(0,e.createElementBlock)(`aside`,{class:(0,e.normalizeClass)([`gd-contract-template-designer__sidebar`,{"is-collapsed":x.collapsed}])},[(0,e.createVNode)((0,e.unref)(t.Tooltip),{title:x.collapsed?`展开页面栏`:`收起页面栏`},{default:(0,e.withCtx)(()=>[(0,e.createElementVNode)(`button`,{type:`button`,class:`gd-contract-template-designer__panel-handle`,"aria-label":x.collapsed?`展开页面栏`:`收起页面栏`,"aria-expanded":!x.collapsed,onClick:b[0]||=e=>S(`toggle`)},[x.collapsed?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(n.RightOutlined),{key:0,"aria-hidden":`true`})):((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(n.LeftOutlined),{key:1,"aria-hidden":`true`}))],8,r)]),_:1},8,[`title`]),(0,e.createElementVNode)(`div`,i,[(0,e.createElementVNode)(`section`,a,[(0,e.createElementVNode)(`div`,o,[b[3]||=(0,e.createElementVNode)(`strong`,null,`页面`,-1),(0,e.createVNode)((0,e.unref)(t.Tag),null,{default:(0,e.withCtx)(()=>[(0,e.createTextVNode)((0,e.toDisplayString)(x.pages.length)+` / `+(0,e.toDisplayString)(x.normalizedMaxPages),1)]),_:1}),(0,e.createElementVNode)(`div`,s,[(0,e.createVNode)((0,e.unref)(t.Tooltip),{title:x.pageLimitReached?`已达 ${x.normalizedMaxPages} 页上限`:`新增页面`},{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(t.Button),{size:`small`,class:`gd-contract-template-designer__icon-button`,disabled:x.readonly||x.pageLimitReached,"aria-label":`新增页面`,onClick:b[1]||=e=>S(`addPage`)},{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(n.PlusOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`])]),_:1},8,[`title`])])]),((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)(x.pages,(r,i)=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{key:r.id,class:`gd-contract-template-designer__page-nav-row`},[(0,e.createElementVNode)(`button`,{type:`button`,class:(0,e.normalizeClass)([`gd-contract-template-designer__nav-item`,{"is-active":x.activePageId===r.id}]),onClick:e=>S(`activatePage`,r.id)},[(0,e.createElementVNode)(`span`,null,[(0,e.createTextVNode)((0,e.toDisplayString)(r.title||`第 ${i+1} 页`),1),(0,e.createElementVNode)(`small`,null,(0,e.toDisplayString)(x.getPageSize(r).label)+` · `+(0,e.toDisplayString)(x.getPageSigningPlacements(r.id).length)+` 个签署位置`,1)]),(0,e.createVNode)((0,e.unref)(t.Tag),null,{default:(0,e.withCtx)(()=>[(0,e.createTextVNode)((0,e.toDisplayString)(i+1),1)]),_:2},1024)],10,c),(0,e.createElementVNode)(`div`,l,[(0,e.createVNode)((0,e.unref)(t.Tooltip),{title:`复制页面`},{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(t.Button),{size:`small`,class:`gd-contract-template-designer__icon-button`,disabled:x.readonly||x.pageLimitReached,"aria-label":`复制页面`,onClick:e=>S(`duplicatePage`,r)},{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(n.CopyOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`,`onClick`])]),_:2},1024),(0,e.createVNode)((0,e.unref)(t.Tooltip),{title:`删除页面`},{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(t.Button),{size:`small`,danger:``,class:`gd-contract-template-designer__icon-button`,disabled:x.readonly||x.pages.length<=1,"aria-label":`删除页面`,onClick:e=>S(`removePage`,r)},{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(n.DeleteOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`,`onClick`])]),_:2},1024)])]))),128)),x.selectedPage?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,u,[x.normalizedPageSizeOptions.length>1?((0,e.openBlock)(),(0,e.createElementBlock)(`label`,d,[b[4]||=(0,e.createElementVNode)(`span`,null,`页面格式`,-1),(0,e.createVNode)((0,e.unref)(t.Select),{value:x.selectedPageSizeOptionValue,options:x.pageSizeOptions,disabled:x.readonly,onChange:b[2]||=e=>S(`patchPageFormat`,e)},null,8,[`value`,`options`,`disabled`])])):(0,e.createCommentVNode)(``,!0),(0,e.createElementVNode)(`div`,f,(0,e.toDisplayString)(x.selectedPageSize.width)+` × `+(0,e.toDisplayString)(x.selectedPageSize.height),1)])):(0,e.createCommentVNode)(``,!0)]),(0,e.createElementVNode)(`section`,p,[(0,e.createElementVNode)(`div`,m,[b[5]||=(0,e.createElementVNode)(`strong`,null,`控件参数`,-1),(0,e.createVNode)((0,e.unref)(t.Tag),null,{default:(0,e.withCtx)(()=>[(0,e.createTextVNode)((0,e.toDisplayString)(x.variables.length),1)]),_:1})]),x.variables.length?(0,e.createCommentVNode)(``,!0):((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(t.Empty),{key:0,description:`暂无正文控件`,image:(0,e.unref)(t.Empty).PRESENTED_IMAGE_SIMPLE},null,8,[`image`])),((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)(x.variables,t=>((0,e.openBlock)(),(0,e.createElementBlock)(`button`,{key:t.id,type:`button`,class:(0,e.normalizeClass)([`gd-contract-template-designer__nav-item`,{"is-active":x.selectedVariableKey===t.key}]),onClick:e=>S(`scrollToVariable`,t)},[(0,e.createElementVNode)(`span`,null,(0,e.toDisplayString)(t.label),1),(0,e.createElementVNode)(`small`,null,(0,e.toDisplayString)(t.type||`text`)+` · `+(0,e.toDisplayString)(t.key),1)],10,h))),128))]),x.showSigningPlacementTools?((0,e.openBlock)(),(0,e.createElementBlock)(`section`,g,[(0,e.createElementVNode)(`div`,_,[b[6]||=(0,e.createElementVNode)(`strong`,null,`签署位置`,-1),(0,e.createVNode)((0,e.unref)(t.Tag),null,{default:(0,e.withCtx)(()=>[(0,e.createTextVNode)((0,e.toDisplayString)(x.signingPlacementNavigationItems.length),1)]),_:1})]),x.signingPlacementNavigationItems.length?(0,e.createCommentVNode)(``,!0):((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(t.Empty),{key:0,description:`暂无签署位置`,image:(0,e.unref)(t.Empty).PRESENTED_IMAGE_SIMPLE},null,8,[`image`])),((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)(x.signingPlacementNavigationItems,t=>((0,e.openBlock)(),(0,e.createElementBlock)(`button`,{key:t.placement.id,type:`button`,class:(0,e.normalizeClass)([`gd-contract-template-designer__nav-item`,{"is-active":x.selectedSigningPlacementId===t.placement.id}]),onClick:e=>S(`scrollToSigningPlacement`,t.placement.id)},[(0,e.createElementVNode)(`span`,null,(0,e.toDisplayString)(t.label),1),(0,e.createElementVNode)(`small`,null,(0,e.toDisplayString)(t.detail)+` · x`+(0,e.toDisplayString)(t.placement.x)+` y`+(0,e.toDisplayString)(t.placement.y),1)],10,v))),128))])):(0,e.createCommentVNode)(``,!0)])],2))}});exports.default=y;
1
+ require(`../../../_virtual/_rolldown/runtime.cjs`);let e=require(`vue`),t=require(`ant-design-vue`),n=require(`@ant-design/icons-vue`);var r=[`aria-label`,`aria-expanded`],i={class:`gd-contract-template-designer__panel-stack`},a={class:`gd-contract-template-designer__panel gd-contract-template-designer__panel--navigation`},o={class:`gd-contract-template-designer__panel-head`},s={class:`gd-contract-template-designer__panel-actions`},c=[`onClick`],l={class:`gd-contract-template-designer__page-nav-actions`},u={key:0,class:`gd-contract-template-designer__page-config`},d={key:0,class:`gd-contract-template-designer__form-row`},f={class:`gd-contract-template-designer__page-size-note`},p={class:`gd-contract-template-designer__panel gd-contract-template-designer__panel--navigation`},m={class:`gd-contract-template-designer__panel-head`},h=[`onClick`],g={key:0,class:`gd-contract-template-designer__panel gd-contract-template-designer__panel--navigation`},_={class:`gd-contract-template-designer__panel-head`},v=[`onClick`],y=(0,e.defineComponent)({name:`ContractTemplateDesignerSidebar`,__name:`ContractTemplateDesignerSidebar`,props:{collapsed:{type:Boolean},pages:{},variables:{},decorationVariableKeys:{},signingPlacementNavigationItems:{},activePageId:{},selectedVariableKey:{},selectedSigningPlacementId:{},normalizedMaxPages:{},pageLimitReached:{type:Boolean},selectedPage:{},selectedPageSize:{},normalizedPageSizeOptions:{},pageSizeOptions:{},selectedPageSizeOptionValue:{},showSigningPlacementTools:{type:Boolean},readonly:{type:Boolean},getPageSize:{type:Function},getPageSigningPlacements:{type:Function}},emits:[`toggle`,`addPage`,`activatePage`,`duplicatePage`,`removePage`,`patchPageFormat`,`scrollToVariable`,`scrollToSigningPlacement`],setup(y,{emit:b}){let x=y,S=b;return(y,b)=>((0,e.openBlock)(),(0,e.createElementBlock)(`aside`,{class:(0,e.normalizeClass)([`gd-contract-template-designer__sidebar`,{"is-collapsed":x.collapsed}])},[(0,e.createVNode)((0,e.unref)(t.Tooltip),{title:x.collapsed?`展开页面栏`:`收起页面栏`},{default:(0,e.withCtx)(()=>[(0,e.createElementVNode)(`button`,{type:`button`,class:`gd-contract-template-designer__panel-handle`,"aria-label":x.collapsed?`展开页面栏`:`收起页面栏`,"aria-expanded":!x.collapsed,onClick:b[0]||=e=>S(`toggle`)},[x.collapsed?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(n.RightOutlined),{key:0,"aria-hidden":`true`})):((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(n.LeftOutlined),{key:1,"aria-hidden":`true`}))],8,r)]),_:1},8,[`title`]),(0,e.createElementVNode)(`div`,i,[(0,e.createElementVNode)(`section`,a,[(0,e.createElementVNode)(`div`,o,[b[3]||=(0,e.createElementVNode)(`strong`,null,`页面`,-1),(0,e.createVNode)((0,e.unref)(t.Tag),null,{default:(0,e.withCtx)(()=>[(0,e.createTextVNode)((0,e.toDisplayString)(x.pages.length)+` / `+(0,e.toDisplayString)(x.normalizedMaxPages),1)]),_:1}),(0,e.createElementVNode)(`div`,s,[(0,e.createVNode)((0,e.unref)(t.Tooltip),{title:x.pageLimitReached?`已达 ${x.normalizedMaxPages} 页上限`:`新增页面`},{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(t.Button),{size:`small`,class:`gd-contract-template-designer__icon-button`,disabled:x.readonly||x.pageLimitReached,"aria-label":`新增页面`,onClick:b[1]||=e=>S(`addPage`)},{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(n.PlusOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`])]),_:1},8,[`title`])])]),((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)(x.pages,(r,i)=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{key:r.id,class:`gd-contract-template-designer__page-nav-row`},[(0,e.createElementVNode)(`button`,{type:`button`,class:(0,e.normalizeClass)([`gd-contract-template-designer__nav-item`,{"is-active":x.activePageId===r.id}]),onClick:e=>S(`activatePage`,r.id)},[(0,e.createElementVNode)(`span`,null,[(0,e.createTextVNode)((0,e.toDisplayString)(r.title||`第 ${i+1} 页`),1),(0,e.createElementVNode)(`small`,null,(0,e.toDisplayString)(x.getPageSize(r).label)+` · `+(0,e.toDisplayString)(x.getPageSigningPlacements(r.id).length)+` 个签署位置`,1)]),(0,e.createVNode)((0,e.unref)(t.Tag),null,{default:(0,e.withCtx)(()=>[(0,e.createTextVNode)((0,e.toDisplayString)(i+1),1)]),_:2},1024)],10,c),(0,e.createElementVNode)(`div`,l,[(0,e.createVNode)((0,e.unref)(t.Tooltip),{title:`复制页面`},{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(t.Button),{size:`small`,class:`gd-contract-template-designer__icon-button`,disabled:x.readonly||x.pageLimitReached,"aria-label":`复制页面`,onClick:e=>S(`duplicatePage`,r)},{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(n.CopyOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`,`onClick`])]),_:2},1024),(0,e.createVNode)((0,e.unref)(t.Tooltip),{title:`删除页面`},{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(t.Button),{size:`small`,danger:``,class:`gd-contract-template-designer__icon-button`,disabled:x.readonly||x.pages.length<=1,"aria-label":`删除页面`,onClick:e=>S(`removePage`,r)},{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(n.DeleteOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`,`onClick`])]),_:2},1024)])]))),128)),x.selectedPage?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,u,[x.normalizedPageSizeOptions.length>1?((0,e.openBlock)(),(0,e.createElementBlock)(`label`,d,[b[4]||=(0,e.createElementVNode)(`span`,null,`页面格式`,-1),(0,e.createVNode)((0,e.unref)(t.Select),{value:x.selectedPageSizeOptionValue,options:x.pageSizeOptions,disabled:x.readonly,onChange:b[2]||=e=>S(`patchPageFormat`,e)},null,8,[`value`,`options`,`disabled`])])):(0,e.createCommentVNode)(``,!0),(0,e.createElementVNode)(`div`,f,(0,e.toDisplayString)(x.selectedPageSize.width)+` × `+(0,e.toDisplayString)(x.selectedPageSize.height),1)])):(0,e.createCommentVNode)(``,!0)]),(0,e.createElementVNode)(`section`,p,[(0,e.createElementVNode)(`div`,m,[b[5]||=(0,e.createElementVNode)(`strong`,null,`控件参数`,-1),(0,e.createVNode)((0,e.unref)(t.Tag),null,{default:(0,e.withCtx)(()=>[(0,e.createTextVNode)((0,e.toDisplayString)(x.variables.length),1)]),_:1})]),x.variables.length?(0,e.createCommentVNode)(``,!0):((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(t.Empty),{key:0,description:`暂无正文控件`,image:(0,e.unref)(t.Empty).PRESENTED_IMAGE_SIMPLE},null,8,[`image`])),((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)(x.variables,t=>((0,e.openBlock)(),(0,e.createElementBlock)(`button`,{key:t.id,type:`button`,class:(0,e.normalizeClass)([`gd-contract-template-designer__nav-item`,{"is-active":x.selectedVariableKey===t.key}]),onClick:e=>S(`scrollToVariable`,t)},[(0,e.createElementVNode)(`span`,null,(0,e.toDisplayString)(t.label),1),(0,e.createElementVNode)(`small`,null,(0,e.toDisplayString)(x.decorationVariableKeys.includes(t.key)?`页面装饰`:t.type||`text`)+` · `+(0,e.toDisplayString)(t.key),1)],10,h))),128))]),x.showSigningPlacementTools?((0,e.openBlock)(),(0,e.createElementBlock)(`section`,g,[(0,e.createElementVNode)(`div`,_,[b[6]||=(0,e.createElementVNode)(`strong`,null,`签署位置`,-1),(0,e.createVNode)((0,e.unref)(t.Tag),null,{default:(0,e.withCtx)(()=>[(0,e.createTextVNode)((0,e.toDisplayString)(x.signingPlacementNavigationItems.length),1)]),_:1})]),x.signingPlacementNavigationItems.length?(0,e.createCommentVNode)(``,!0):((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(t.Empty),{key:0,description:`暂无签署位置`,image:(0,e.unref)(t.Empty).PRESENTED_IMAGE_SIMPLE},null,8,[`image`])),((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)(x.signingPlacementNavigationItems,t=>((0,e.openBlock)(),(0,e.createElementBlock)(`button`,{key:t.placement.id,type:`button`,class:(0,e.normalizeClass)([`gd-contract-template-designer__nav-item`,{"is-active":x.selectedSigningPlacementId===t.placement.id}]),onClick:e=>S(`scrollToSigningPlacement`,t.placement.id)},[(0,e.createElementVNode)(`span`,null,(0,e.toDisplayString)(t.label),1),(0,e.createElementVNode)(`small`,null,(0,e.toDisplayString)(t.detail)+` · x`+(0,e.toDisplayString)(t.placement.x)+` y`+(0,e.toDisplayString)(t.placement.y),1)],10,v))),128))])):(0,e.createCommentVNode)(``,!0)])],2))}});exports.default=y;
@@ -0,0 +1 @@
1
+ var e=require(`./ContractTemplateDesignerToolbar.vue.cjs`).default;exports.default=e;
@@ -0,0 +1 @@
1
+ require(`../../../_virtual/_rolldown/runtime.cjs`);const e=require(`./utils/content-image.cjs`),t=require(`./TableSizePicker.cjs`),n=require(`./composables/use-toolbar-overflow.cjs`);let r=require(`vue`),i=require(`ant-design-vue`),a=require(`@vueuse/core`),o=require(`@ant-design/icons-vue`);var s={class:`gd-contract-template-designer__toolbar`},c={class:`gd-contract-template-designer__toolbar-group`},l={class:`gd-contract-template-designer__toolbar-group gd-contract-template-designer__toolbar-group--style`},u={class:`gd-contract-template-designer__toolbar-group gd-contract-template-designer__toolbar-group--format`},d={class:`gd-contract-template-designer__toolbar-group gd-contract-template-designer__toolbar-group--insert`,"data-toolbar-overflow-key":`insert`},f={class:`gd-contract-template-designer__popover gd-contract-template-designer__control-insert-popover`},p={class:`gd-contract-template-designer__text-menu-control-options`},m=[`aria-label`,`onClick`],h={class:`gd-contract-template-designer__popover gd-contract-template-designer__image-insert-popover`},g={class:`gd-contract-template-designer__image-size-fields`,role:`group`,"aria-label":`图片尺寸`},_={class:`gd-contract-template-designer__toolbar-group gd-contract-template-designer__toolbar-group--typography`,"data-toolbar-overflow-key":`typography`},v=[`value`,`disabled`],y={class:`gd-contract-template-designer__toolbar-group gd-contract-template-designer__toolbar-group--cleanup`,"data-toolbar-overflow-key":`cleanup`},b={class:`gd-contract-template-designer__toolbar-group gd-contract-template-designer__toolbar-group--table`,"data-toolbar-overflow-key":`table`},x={class:`gd-contract-template-designer__popover`},S={class:`gd-contract-template-designer__switch-row`},C={class:`gd-contract-template-designer__popover`},w={class:`gd-contract-template-designer__table-actions`},T={class:`gd-contract-template-designer__toolbar-more-panel`,role:`menu`,"aria-label":`更多编辑工具`},E={class:`gd-contract-template-designer__toolbar-more-section`},D={class:`gd-contract-template-designer__toolbar-more-section`},O={class:`gd-contract-template-designer__toolbar-more-section`},k={class:`gd-contract-template-designer__toolbar-more-section`},A=(0,r.defineComponent)({name:`ContractTemplateDesignerToolbar`,__name:`ContractTemplateDesignerToolbar`,props:(0,r.mergeModels)({readonly:{type:Boolean},editorState:{},currentBlockFormat:{},blockFormatOptions:{},fontFamilySelectOptions:{},currentEditorFontFamily:{},fontSizePresetOptions:{},currentEditorFontSize:{},editorFontSizeSearchValue:{},currentEditorTextColor:{},bodyControlToolItems:{},pageLimitReached:{type:Boolean},normalizedMaxPages:{},imageProcessing:{type:Boolean},imageInsertError:{}},{variableInsertPopoverOpen:{type:Boolean,default:!1},variableInsertPopoverOpenModifiers:{},imageInsertPopoverOpen:{type:Boolean,default:!1},imageInsertPopoverOpenModifiers:{},imageInsertUrl:{default:``},imageInsertUrlModifiers:{},imageInsertWidth:{},imageInsertWidthModifiers:{},imageInsertHeight:{},imageInsertHeightModifiers:{},tableInsertPopoverOpen:{type:Boolean,default:!1},tableInsertPopoverOpenModifiers:{},tableActionsPopoverOpen:{type:Boolean,default:!1},tableActionsPopoverOpenModifiers:{},tableInsertDraft:{required:!0},tableInsertDraftModifiers:{},toolbarMoreOpen:{type:Boolean,default:!1},toolbarMoreOpenModifiers:{}}),emits:(0,r.mergeModels)([`command`,`patch-block-format`,`patch-font-family`,`patch-font-size`,`patch-color`,`patch-text-align`,`insert-variable`,`open-image-file`,`insert-image-url`,`add-page`,`insert-table`,`table-action`,`font-size-search`,`font-size-commit`,`font-size-dropdown-change`,`font-size-keydown`],[`update:variableInsertPopoverOpen`,`update:imageInsertPopoverOpen`,`update:imageInsertUrl`,`update:imageInsertWidth`,`update:imageInsertHeight`,`update:tableInsertPopoverOpen`,`update:tableActionsPopoverOpen`,`update:tableInsertDraft`,`update:toolbarMoreOpen`]),setup(A,{emit:j}){let M=A,N=(0,r.useModel)(A,`variableInsertPopoverOpen`),P=(0,r.useModel)(A,`imageInsertPopoverOpen`),F=(0,r.useModel)(A,`imageInsertUrl`),I=(0,r.useModel)(A,`imageInsertWidth`),L=(0,r.useModel)(A,`imageInsertHeight`),R=(0,r.useModel)(A,`tableInsertPopoverOpen`),z=(0,r.useModel)(A,`tableActionsPopoverOpen`),B=(0,r.useModel)(A,`tableInsertDraft`),V=(0,r.useModel)(A,`toolbarMoreOpen`),H=j,U=(0,r.ref)(),W=(0,r.ref)(),G=(0,r.ref)(),K=(0,r.ref)(),q=(0,r.ref)(),J=(0,r.ref)(),Y=!1;(0,r.onBeforeUnmount)(()=>{Y=!0});let{width:X}=(0,a.useElementSize)(U),{isToolbarGroupOverflowed:Z,toolbarHasOverflow:Q}=n.useToolbarOverflow({toolbarMainElement:U,toolbarMoreElement:W,toolbarMoreOpen:V,measureDependencies:()=>[X.value,M.currentBlockFormat,M.currentEditorFontFamily,M.currentEditorFontSize,M.readonly],isDisposed:()=>Y});return(n,a)=>((0,r.openBlock)(),(0,r.createElementBlock)(`header`,s,[(0,r.createElementVNode)(`div`,{ref_key:`toolbarMainElement`,ref:U,class:`gd-contract-template-designer__toolbar-section gd-contract-template-designer__toolbar-section--main`},[(0,r.createElementVNode)(`div`,c,[(0,r.createVNode)((0,r.unref)(i.Tooltip),{title:`撤销`},{default:(0,r.withCtx)(()=>[(0,r.createVNode)((0,r.unref)(i.Button),{size:`small`,class:`gd-contract-template-designer__icon-button`,disabled:A.readonly||!A.editorState.canUndo,"aria-label":`撤销`,onClick:a[0]||=e=>H(`command`,{type:`undo`})},{default:(0,r.withCtx)(()=>[(0,r.createVNode)((0,r.unref)(o.UndoOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`])]),_:1}),(0,r.createVNode)((0,r.unref)(i.Tooltip),{title:`重做`},{default:(0,r.withCtx)(()=>[(0,r.createVNode)((0,r.unref)(i.Button),{size:`small`,class:`gd-contract-template-designer__icon-button`,disabled:A.readonly||!A.editorState.canRedo,"aria-label":`重做`,onClick:a[1]||=e=>H(`command`,{type:`redo`})},{default:(0,r.withCtx)(()=>[(0,r.createVNode)((0,r.unref)(o.RedoOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`])]),_:1})]),(0,r.createElementVNode)(`div`,l,[(0,r.createVNode)((0,r.unref)(i.Select),{class:`gd-contract-template-designer__toolbar-select`,value:A.currentBlockFormat,options:A.blockFormatOptions,disabled:A.readonly,placeholder:`多种样式`,"aria-label":`段落样式`,onChange:a[2]||=e=>H(`patch-block-format`,e)},{option:(0,r.withCtx)(({label:e,value:t})=>[(0,r.createElementVNode)(`span`,{class:(0,r.normalizeClass)([`gd-contract-template-designer__block-format-option`,`is-level-${String(t)}`])},(0,r.toDisplayString)(e),3)]),_:1},8,[`value`,`options`,`disabled`])]),(0,r.createElementVNode)(`div`,u,[(0,r.createVNode)((0,r.unref)(i.Tooltip),{title:`加粗`},{default:(0,r.withCtx)(()=>[(0,r.createVNode)((0,r.unref)(i.Button),{size:`small`,class:`gd-contract-template-designer__icon-button`,type:A.editorState.isBold?`primary`:`default`,disabled:A.readonly,"aria-label":`加粗`,onClick:a[3]||=e=>H(`command`,{type:`toggle-bold`})},{default:(0,r.withCtx)(()=>[(0,r.createVNode)((0,r.unref)(o.BoldOutlined),{"aria-hidden":`true`})]),_:1},8,[`type`,`disabled`])]),_:1}),(0,r.createVNode)((0,r.unref)(i.Tooltip),{title:`斜体`},{default:(0,r.withCtx)(()=>[(0,r.createVNode)((0,r.unref)(i.Button),{size:`small`,class:`gd-contract-template-designer__icon-button`,type:A.editorState.isItalic?`primary`:`default`,disabled:A.readonly,"aria-label":`斜体`,onClick:a[4]||=e=>H(`command`,{type:`toggle-italic`})},{default:(0,r.withCtx)(()=>[(0,r.createVNode)((0,r.unref)(o.ItalicOutlined),{"aria-hidden":`true`})]),_:1},8,[`type`,`disabled`])]),_:1}),(0,r.createVNode)((0,r.unref)(i.Tooltip),{title:`下划线`},{default:(0,r.withCtx)(()=>[(0,r.createVNode)((0,r.unref)(i.Button),{size:`small`,class:`gd-contract-template-designer__icon-button`,type:A.editorState.isUnderline?`primary`:`default`,disabled:A.readonly,"aria-label":`下划线`,onClick:a[5]||=e=>H(`command`,{type:`toggle-underline`})},{default:(0,r.withCtx)(()=>[(0,r.createVNode)((0,r.unref)(o.UnderlineOutlined),{"aria-hidden":`true`})]),_:1},8,[`type`,`disabled`])]),_:1}),(0,r.createVNode)((0,r.unref)(i.Tooltip),{title:`编号列表`},{default:(0,r.withCtx)(()=>[(0,r.createVNode)((0,r.unref)(i.Button),{size:`small`,class:`gd-contract-template-designer__icon-button`,type:A.editorState.isOrderedList?`primary`:`default`,disabled:A.readonly,"aria-label":`编号列表`,onClick:a[6]||=e=>H(`command`,{type:`toggle-ordered-list`})},{default:(0,r.withCtx)(()=>[(0,r.createVNode)((0,r.unref)(o.OrderedListOutlined),{"aria-hidden":`true`})]),_:1},8,[`type`,`disabled`])]),_:1}),(0,r.createVNode)((0,r.unref)(i.Tooltip),{title:`项目列表`},{default:(0,r.withCtx)(()=>[(0,r.createVNode)((0,r.unref)(i.Button),{size:`small`,class:`gd-contract-template-designer__icon-button`,type:A.editorState.isBulletList?`primary`:`default`,disabled:A.readonly,"aria-label":`项目列表`,onClick:a[7]||=e=>H(`command`,{type:`toggle-bullet-list`})},{default:(0,r.withCtx)(()=>[(0,r.createVNode)((0,r.unref)(o.UnorderedListOutlined),{"aria-hidden":`true`})]),_:1},8,[`type`,`disabled`])]),_:1})]),((0,r.openBlock)(),(0,r.createBlock)(r.Teleport,{disabled:!(0,r.unref)(Z)(`insert`)||!G.value,to:G.value||`body`},[(0,r.createElementVNode)(`div`,d,[(0,r.createVNode)((0,r.unref)(i.Popover),{open:N.value,"onUpdate:open":a[8]||=e=>N.value=e,trigger:`click`,placement:`bottom`},{content:(0,r.withCtx)(()=>[(0,r.createElementVNode)(`div`,f,[a[45]||=(0,r.createElementVNode)(`strong`,null,`插入正文控件`,-1),(0,r.createElementVNode)(`div`,p,[((0,r.openBlock)(!0),(0,r.createElementBlock)(r.Fragment,null,(0,r.renderList)(A.bodyControlToolItems,e=>((0,r.openBlock)(),(0,r.createBlock)((0,r.unref)(i.Tooltip),{key:e.type,title:`插入${e.label}控件`},{default:(0,r.withCtx)(()=>[(0,r.createElementVNode)(`button`,{type:`button`,class:`gd-contract-template-designer__text-menu-control-option`,"aria-label":`插入${e.label}控件`,onClick:t=>H(`insert-variable`,e.type)},[((0,r.openBlock)(),(0,r.createBlock)((0,r.resolveDynamicComponent)(e.icon),{"aria-hidden":`true`})),(0,r.createElementVNode)(`span`,null,(0,r.toDisplayString)(e.label),1)],8,m)]),_:2},1032,[`title`]))),128))])])]),default:(0,r.withCtx)(()=>[(0,r.createVNode)((0,r.unref)(i.Tooltip),{title:`插入正文控件`},{default:(0,r.withCtx)(()=>[(0,r.createVNode)((0,r.unref)(i.Button),{size:`small`,class:`gd-contract-template-designer__icon-button`,disabled:A.readonly,"aria-label":`插入正文控件`},{default:(0,r.withCtx)(()=>[(0,r.createVNode)((0,r.unref)(o.PlusOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`])]),_:1})]),_:1},8,[`open`]),(0,r.createVNode)((0,r.unref)(i.Popover),{open:P.value,"onUpdate:open":a[15]||=e=>P.value=e,trigger:`click`,placement:`bottom`},{content:(0,r.withCtx)(()=>[(0,r.createElementVNode)(`div`,h,[a[50]||=(0,r.createElementVNode)(`strong`,null,`插入正文图片`,-1),(0,r.createVNode)((0,r.unref)(i.Button),{block:``,loading:A.imageProcessing,disabled:A.readonly,onClick:a[9]||=e=>H(`open-image-file`)},{default:(0,r.withCtx)(()=>[(0,r.createVNode)((0,r.unref)(o.PictureOutlined),{"aria-hidden":`true`}),a[46]||=(0,r.createTextVNode)(` 本地图片 `,-1)]),_:1},8,[`loading`,`disabled`]),(0,r.createVNode)((0,r.unref)(i.Input),{value:F.value,"onUpdate:value":a[10]||=e=>F.value=e,"allow-clear":``,disabled:A.readonly||A.imageProcessing,placeholder:`https:// 或 data:image/...`,"aria-label":`图片 URL`,onPressEnter:a[11]||=e=>H(`insert-image-url`)},null,8,[`value`,`disabled`]),(0,r.createElementVNode)(`div`,g,[(0,r.createElementVNode)(`label`,null,[a[47]||=(0,r.createElementVNode)(`span`,null,`宽度`,-1),(0,r.createVNode)((0,r.unref)(i.InputNumber),{value:I.value,"onUpdate:value":a[12]||=e=>I.value=e,min:(0,r.unref)(16),max:(0,r.unref)(e.MAX_CONTRACT_IMAGE_DIMENSION),disabled:A.readonly||A.imageProcessing,placeholder:`自然`,"aria-label":`图片宽度`},null,8,[`value`,`min`,`max`,`disabled`])]),(0,r.createElementVNode)(`label`,null,[a[48]||=(0,r.createElementVNode)(`span`,null,`高度`,-1),(0,r.createVNode)((0,r.unref)(i.InputNumber),{value:L.value,"onUpdate:value":a[13]||=e=>L.value=e,min:(0,r.unref)(16),max:(0,r.unref)(e.MAX_CONTRACT_IMAGE_DIMENSION),disabled:A.readonly||A.imageProcessing,placeholder:`自然`,"aria-label":`图片高度`},null,8,[`value`,`min`,`max`,`disabled`])])]),(0,r.createVNode)((0,r.unref)(i.Button),{type:`primary`,block:``,disabled:A.readonly||A.imageProcessing||!F.value.trim(),onClick:a[14]||=e=>H(`insert-image-url`)},{default:(0,r.withCtx)(()=>[...a[49]||=[(0,r.createTextVNode)(` 插入 URL `,-1)]]),_:1},8,[`disabled`]),A.imageInsertError?((0,r.openBlock)(),(0,r.createBlock)((0,r.unref)(i.Alert),{key:0,type:`error`,"show-icon":``,message:A.imageInsertError},null,8,[`message`])):(0,r.createCommentVNode)(``,!0)])]),default:(0,r.withCtx)(()=>[(0,r.createVNode)((0,r.unref)(i.Tooltip),{title:`插入图片`},{default:(0,r.withCtx)(()=>[(0,r.createVNode)((0,r.unref)(i.Button),{size:`small`,class:`gd-contract-template-designer__icon-button`,disabled:A.readonly,"aria-label":`插入图片`},{default:(0,r.withCtx)(()=>[(0,r.createVNode)((0,r.unref)(o.PictureOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`])]),_:1})]),_:1},8,[`open`]),(0,r.createVNode)((0,r.unref)(i.Tooltip),{title:`插入分隔线`},{default:(0,r.withCtx)(()=>[(0,r.createVNode)((0,r.unref)(i.Button),{size:`small`,class:`gd-contract-template-designer__icon-button`,disabled:A.readonly,"aria-label":`插入分隔线`,onClick:a[16]||=e=>H(`command`,{type:`insert-horizontal-rule`})},{default:(0,r.withCtx)(()=>[(0,r.createVNode)((0,r.unref)(o.MinusOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`])]),_:1}),(0,r.createVNode)((0,r.unref)(i.Tooltip),{title:A.pageLimitReached?`已达 ${A.normalizedMaxPages} 页上限`:`新增页面`},{default:(0,r.withCtx)(()=>[(0,r.createVNode)((0,r.unref)(i.Button),{size:`small`,class:`gd-contract-template-designer__icon-button`,disabled:A.readonly||A.pageLimitReached,"aria-label":`新增页面`,onClick:a[17]||=e=>H(`add-page`)},{default:(0,r.withCtx)(()=>[(0,r.createVNode)((0,r.unref)(o.FileAddOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`])]),_:1},8,[`title`])])],8,[`disabled`,`to`])),((0,r.openBlock)(),(0,r.createBlock)(r.Teleport,{disabled:!(0,r.unref)(Z)(`typography`)||!K.value,to:K.value||`body`},[(0,r.createElementVNode)(`div`,_,[(0,r.createVNode)((0,r.unref)(i.Select),{class:`gd-contract-template-designer__toolbar-select is-wide`,value:A.currentEditorFontFamily,options:A.fontFamilySelectOptions,disabled:A.readonly,onChange:a[18]||=e=>H(`patch-font-family`,e)},null,8,[`value`,`options`,`disabled`]),(0,r.createVNode)((0,r.unref)(i.Select),{class:`gd-contract-template-designer__toolbar-select`,value:A.currentEditorFontSize,options:A.fontSizePresetOptions,"show-search":``,"filter-option":!1,"search-value":A.editorFontSizeSearchValue,disabled:A.readonly,onBlur:a[19]||=e=>H(`font-size-commit`),onChange:a[20]||=e=>H(`patch-font-size`,e),onDropdownVisibleChange:a[21]||=e=>H(`font-size-dropdown-change`,e),onInputKeyDown:a[22]||=e=>H(`font-size-keydown`,e),onSearch:a[23]||=e=>H(`font-size-search`,e)},null,8,[`value`,`options`,`search-value`,`disabled`]),(0,r.createElementVNode)(`input`,{class:`gd-contract-template-designer__color`,type:`color`,value:A.currentEditorTextColor,disabled:A.readonly,onInput:a[24]||=e=>H(`patch-color`,e)},null,40,v),(0,r.createVNode)((0,r.unref)(i.Tooltip),{title:`左对齐`},{default:(0,r.withCtx)(()=>[(0,r.createVNode)((0,r.unref)(i.Button),{size:`small`,class:(0,r.normalizeClass)([`gd-contract-template-designer__icon-button`,{"is-selected":A.editorState.textAlign===`left`}]),type:A.editorState.textAlign===`left`?`primary`:`default`,disabled:A.readonly,"aria-label":`左对齐`,onClick:a[25]||=e=>H(`patch-text-align`,`left`)},{default:(0,r.withCtx)(()=>[(0,r.createVNode)((0,r.unref)(o.AlignLeftOutlined),{"aria-hidden":`true`})]),_:1},8,[`class`,`type`,`disabled`])]),_:1}),(0,r.createVNode)((0,r.unref)(i.Tooltip),{title:`居中对齐`},{default:(0,r.withCtx)(()=>[(0,r.createVNode)((0,r.unref)(i.Button),{size:`small`,class:(0,r.normalizeClass)([`gd-contract-template-designer__icon-button`,{"is-selected":A.editorState.textAlign===`center`}]),type:A.editorState.textAlign===`center`?`primary`:`default`,disabled:A.readonly,"aria-label":`居中对齐`,onClick:a[26]||=e=>H(`patch-text-align`,`center`)},{default:(0,r.withCtx)(()=>[(0,r.createVNode)((0,r.unref)(o.AlignCenterOutlined),{"aria-hidden":`true`})]),_:1},8,[`class`,`type`,`disabled`])]),_:1}),(0,r.createVNode)((0,r.unref)(i.Tooltip),{title:`右对齐`},{default:(0,r.withCtx)(()=>[(0,r.createVNode)((0,r.unref)(i.Button),{size:`small`,class:(0,r.normalizeClass)([`gd-contract-template-designer__icon-button`,{"is-selected":A.editorState.textAlign===`right`}]),type:A.editorState.textAlign===`right`?`primary`:`default`,disabled:A.readonly,"aria-label":`右对齐`,onClick:a[27]||=e=>H(`patch-text-align`,`right`)},{default:(0,r.withCtx)(()=>[(0,r.createVNode)((0,r.unref)(o.AlignRightOutlined),{"aria-hidden":`true`})]),_:1},8,[`class`,`type`,`disabled`])]),_:1})])],8,[`disabled`,`to`])),((0,r.openBlock)(),(0,r.createBlock)(r.Teleport,{disabled:!(0,r.unref)(Z)(`cleanup`)||!q.value,to:q.value||`body`},[(0,r.createElementVNode)(`div`,y,[(0,r.createVNode)((0,r.unref)(i.Tooltip),{title:`清文字`},{default:(0,r.withCtx)(()=>[(0,r.createVNode)((0,r.unref)(i.Button),{size:`small`,class:`gd-contract-template-designer__icon-button`,disabled:A.readonly,"aria-label":`清文字`,onClick:a[28]||=e=>H(`command`,{type:`clear-text-format`})},{default:(0,r.withCtx)(()=>[(0,r.createVNode)((0,r.unref)(o.ClearOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`])]),_:1}),(0,r.createVNode)((0,r.unref)(i.Tooltip),{title:`清段落`},{default:(0,r.withCtx)(()=>[(0,r.createVNode)((0,r.unref)(i.Button),{size:`small`,class:`gd-contract-template-designer__icon-button`,disabled:A.readonly,"aria-label":`清段落`,onClick:a[29]||=e=>H(`command`,{type:`clear-block-format`})},{default:(0,r.withCtx)(()=>[(0,r.createVNode)((0,r.unref)(o.FormatPainterOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`])]),_:1})])],8,[`disabled`,`to`])),((0,r.openBlock)(),(0,r.createBlock)(r.Teleport,{disabled:!(0,r.unref)(Z)(`table`)||!J.value,to:J.value||`body`},[(0,r.createElementVNode)(`div`,b,[(0,r.createVNode)((0,r.unref)(i.Popover),{open:R.value,"onUpdate:open":a[33]||=e=>R.value=e,trigger:`click`,placement:`bottom`},{content:(0,r.withCtx)(()=>[(0,r.createElementVNode)(`div`,x,[a[52]||=(0,r.createElementVNode)(`strong`,null,`插入表格`,-1),(0,r.createVNode)(t.default,{disabled:A.readonly,onSelect:a[30]||=e=>H(`insert-table`,e.rows,e.cols),onClose:a[31]||=e=>R.value=!1},null,8,[`disabled`]),(0,r.createElementVNode)(`label`,S,[a[51]||=(0,r.createElementVNode)(`span`,null,`表头行`,-1),(0,r.createVNode)((0,r.unref)(i.Switch),{checked:B.value.withHeaderRow,"onUpdate:checked":a[32]||=e=>B.value.withHeaderRow=e,disabled:A.readonly},null,8,[`checked`,`disabled`])])])]),default:(0,r.withCtx)(()=>[(0,r.createVNode)((0,r.unref)(i.Tooltip),{title:`插入表格`},{default:(0,r.withCtx)(()=>[(0,r.createVNode)((0,r.unref)(i.Button),{size:`small`,class:`gd-contract-template-designer__icon-button`,disabled:A.readonly,"aria-label":`插入表格`},{default:(0,r.withCtx)(()=>[(0,r.createVNode)((0,r.unref)(o.TableOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`])]),_:1})]),_:1},8,[`open`]),(0,r.createVNode)((0,r.unref)(i.Popover),{open:z.value,"onUpdate:open":a[43]||=e=>z.value=e,trigger:`click`,placement:`bottom`},{content:(0,r.withCtx)(()=>[(0,r.createElementVNode)(`div`,C,[a[62]||=(0,r.createElementVNode)(`strong`,null,`表格操作`,-1),(0,r.createElementVNode)(`div`,w,[(0,r.createVNode)((0,r.unref)(i.Button),{size:`small`,disabled:A.readonly,onClick:a[34]||=e=>H(`table-action`,`add-table-row-before`)},{default:(0,r.withCtx)(()=>[...a[53]||=[(0,r.createTextVNode)(` 上方插行 `,-1)]]),_:1},8,[`disabled`]),(0,r.createVNode)((0,r.unref)(i.Button),{size:`small`,disabled:A.readonly,onClick:a[35]||=e=>H(`table-action`,`add-table-row-after`)},{default:(0,r.withCtx)(()=>[...a[54]||=[(0,r.createTextVNode)(` 下方插行 `,-1)]]),_:1},8,[`disabled`]),(0,r.createVNode)((0,r.unref)(i.Button),{size:`small`,disabled:A.readonly,onClick:a[36]||=e=>H(`table-action`,`add-table-column-before`)},{default:(0,r.withCtx)(()=>[...a[55]||=[(0,r.createTextVNode)(` 左侧插列 `,-1)]]),_:1},8,[`disabled`]),(0,r.createVNode)((0,r.unref)(i.Button),{size:`small`,disabled:A.readonly,onClick:a[37]||=e=>H(`table-action`,`add-table-column-after`)},{default:(0,r.withCtx)(()=>[...a[56]||=[(0,r.createTextVNode)(` 右侧插列 `,-1)]]),_:1},8,[`disabled`]),(0,r.createVNode)((0,r.unref)(i.Button),{size:`small`,disabled:A.readonly,onClick:a[38]||=e=>H(`table-action`,`delete-table-row`)},{default:(0,r.withCtx)(()=>[...a[57]||=[(0,r.createTextVNode)(` 删除当前行 `,-1)]]),_:1},8,[`disabled`]),(0,r.createVNode)((0,r.unref)(i.Button),{size:`small`,disabled:A.readonly,onClick:a[39]||=e=>H(`table-action`,`delete-table-column`)},{default:(0,r.withCtx)(()=>[...a[58]||=[(0,r.createTextVNode)(` 删除当前列 `,-1)]]),_:1},8,[`disabled`]),(0,r.createVNode)((0,r.unref)(i.Button),{size:`small`,disabled:A.readonly,onClick:a[40]||=e=>H(`table-action`,`toggle-table-header-row`)},{default:(0,r.withCtx)(()=>[...a[59]||=[(0,r.createTextVNode)(` 切换表头行 `,-1)]]),_:1},8,[`disabled`]),(0,r.createVNode)((0,r.unref)(i.Button),{size:`small`,disabled:A.readonly,onClick:a[41]||=e=>H(`table-action`,`toggle-table-header-column`)},{default:(0,r.withCtx)(()=>[...a[60]||=[(0,r.createTextVNode)(` 切换表头列 `,-1)]]),_:1},8,[`disabled`]),(0,r.createVNode)((0,r.unref)(i.Button),{danger:``,size:`small`,disabled:A.readonly,onClick:a[42]||=e=>H(`table-action`,`delete-table`)},{default:(0,r.withCtx)(()=>[...a[61]||=[(0,r.createTextVNode)(` 删除表格 `,-1)]]),_:1},8,[`disabled`])])])]),default:(0,r.withCtx)(()=>[(0,r.createVNode)((0,r.unref)(i.Tooltip),{title:`表格操作`},{default:(0,r.withCtx)(()=>[(0,r.createVNode)((0,r.unref)(i.Button),{size:`small`,class:`gd-contract-template-designer__icon-button`,disabled:A.readonly||!A.editorState.isTableActive,"aria-label":`表格操作`},{default:(0,r.withCtx)(()=>[(0,r.createVNode)((0,r.unref)(o.TableOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`])]),_:1})]),_:1},8,[`open`])])],8,[`disabled`,`to`])),(0,r.withDirectives)((0,r.createElementVNode)(`div`,{ref_key:`toolbarMoreElement`,ref:W,class:`gd-contract-template-designer__toolbar-more`},[(0,r.createVNode)((0,r.unref)(i.Tooltip),{title:`更多工具`},{default:(0,r.withCtx)(()=>[(0,r.createVNode)((0,r.unref)(i.Button),{size:`small`,class:(0,r.normalizeClass)([`gd-contract-template-designer__icon-button`,{"is-selected":V.value}]),"aria-label":`更多工具`,"aria-haspopup":`true`,"aria-expanded":V.value,onClick:a[44]||=(0,r.withModifiers)(e=>V.value=!V.value,[`stop`])},{default:(0,r.withCtx)(()=>[(0,r.createVNode)((0,r.unref)(o.EllipsisOutlined),{"aria-hidden":`true`})]),_:1},8,[`class`,`aria-expanded`])]),_:1}),(0,r.withDirectives)((0,r.createElementVNode)(`div`,T,[(0,r.withDirectives)((0,r.createElementVNode)(`div`,E,[a[63]||=(0,r.createElementVNode)(`span`,{class:`gd-contract-template-designer__toolbar-more-title`},`插入`,-1),(0,r.createElementVNode)(`div`,{ref_key:`toolbarInsertSlotElement`,ref:G,class:`gd-contract-template-designer__toolbar-more-slot`},null,512)],512),[[r.vShow,(0,r.unref)(Z)(`insert`)]]),(0,r.withDirectives)((0,r.createElementVNode)(`div`,D,[a[64]||=(0,r.createElementVNode)(`span`,{class:`gd-contract-template-designer__toolbar-more-title`},`文字排版`,-1),(0,r.createElementVNode)(`div`,{ref_key:`toolbarTypographySlotElement`,ref:K,class:`gd-contract-template-designer__toolbar-more-slot`},null,512)],512),[[r.vShow,(0,r.unref)(Z)(`typography`)]]),(0,r.withDirectives)((0,r.createElementVNode)(`div`,O,[a[65]||=(0,r.createElementVNode)(`span`,{class:`gd-contract-template-designer__toolbar-more-title`},`清除格式`,-1),(0,r.createElementVNode)(`div`,{ref_key:`toolbarCleanupSlotElement`,ref:q,class:`gd-contract-template-designer__toolbar-more-slot`},null,512)],512),[[r.vShow,(0,r.unref)(Z)(`cleanup`)]]),(0,r.withDirectives)((0,r.createElementVNode)(`div`,k,[a[66]||=(0,r.createElementVNode)(`span`,{class:`gd-contract-template-designer__toolbar-more-title`},`表格`,-1),(0,r.createElementVNode)(`div`,{ref_key:`toolbarTableSlotElement`,ref:J,class:`gd-contract-template-designer__toolbar-more-slot`},null,512)],512),[[r.vShow,(0,r.unref)(Z)(`table`)]])],512),[[r.vShow,V.value]])],512),[[r.vShow,(0,r.unref)(Q)]])],512)]))}});exports.default=A;
@@ -0,0 +1 @@
1
+ var e=require(`./ContractTemplateDesignerWorkspaceHeader.vue.cjs`).default;exports.default=e;
@@ -0,0 +1 @@
1
+ require(`../../../_virtual/_rolldown/runtime.cjs`);let e=require(`vue`),t=require(`ant-design-vue`),n=require(`@ant-design/icons-vue`);var r={class:`gd-contract-template-designer__workspace-meta`},i={class:`gd-contract-template-designer__workspace-actions`},a={class:`gd-contract-template-designer__workspace-controls`},o={class:`gd-contract-template-designer__zoom`},s={class:`gd-contract-template-designer__workspace-buttons`},c={class:`gd-contract-template-designer__page-decorations-trigger-copy`},l=(0,e.defineComponent)({__name:`ContractTemplateDesignerWorkspaceHeader`,props:{summary:{},draftCacheStatusText:{},draftCacheStatusClass:{},showDraftCacheStatus:{type:Boolean},showClearButton:{type:Boolean},showSubmitDataViewer:{type:Boolean},readonly:{type:Boolean},zoomPercent:{},zoomOutDisabled:{type:Boolean},zoomInDisabled:{type:Boolean},isFullscreen:{type:Boolean},immersive:{type:Boolean},pageDecorationsOpen:{type:Boolean},pageDecorationsStudioId:{},pageDecorationsPresetLabel:{},pageDecorationsEnabledCount:{},pageDecorationsEnabledStates:{},chromeControlsId:{}},emits:[`zoomOut`,`zoomIn`,`fitWidth`,`resetZoom`,`toggleFullscreen`,`toggleImmersive`,`clear`,`validate`,`preview`,`submitData`,`togglePageDecorations`,`toggleChrome`],setup(l,{expose:u,emit:d}){let f=l,p=d,m=(0,e.ref)(),h=(0,e.computed)(()=>[{key:`header`,label:`页眉`,enabled:f.pageDecorationsEnabledStates.header},{key:`footer`,label:`页脚`,enabled:f.pageDecorationsEnabledStates.footer},{key:`watermark`,label:`水印`,enabled:f.pageDecorationsEnabledStates.watermark}]),g=(0,e.computed)(()=>`页面装饰 · ${f.pageDecorationsPresetLabel} · 启用 ${f.pageDecorationsEnabledCount}/3`),_=(0,e.computed)(()=>`页面装饰,${f.pageDecorationsPresetLabel},已启用 ${f.pageDecorationsEnabledCount}/3;${h.value.map(e=>`${e.label}${e.enabled?`已启用`:`未启用`}`).join(`,`)}`);return u({focusPageDecorations:()=>m.value?.querySelector(`.gd-contract-template-designer__page-decorations-trigger`)?.focus(),focusImmersive:()=>m.value?.querySelector(`.gd-contract-template-designer__immersive-trigger`)?.focus(),focusChromeToggle:()=>m.value?.querySelector(`.gd-contract-template-designer__workspace-chrome-toggle`)?.focus()}),(u,d)=>((0,e.openBlock)(),(0,e.createElementBlock)(`header`,{ref_key:`workspaceHeader`,ref:m,class:`gd-contract-template-designer__workspace-header`},[(0,e.createElementVNode)(`div`,r,[(0,e.createElementVNode)(`strong`,null,(0,e.toDisplayString)(l.summary),1),l.showDraftCacheStatus&&l.draftCacheStatusText?((0,e.openBlock)(),(0,e.createElementBlock)(`small`,{key:0,class:(0,e.normalizeClass)([`gd-contract-template-designer__draft-cache-status`,l.draftCacheStatusClass])},(0,e.toDisplayString)(l.draftCacheStatusText),3)):(0,e.createCommentVNode)(``,!0)]),(0,e.createElementVNode)(`div`,i,[(0,e.createElementVNode)(`div`,a,[(0,e.createElementVNode)(`div`,o,[(0,e.createVNode)((0,e.unref)(t.Tooltip),{title:`缩小`},{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(t.Button),{size:`small`,class:`gd-contract-template-designer__icon-button`,disabled:l.zoomOutDisabled,"aria-label":`缩小`,onClick:d[0]||=e=>p(`zoomOut`)},{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(n.ZoomOutOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`])]),_:1}),(0,e.createElementVNode)(`span`,null,(0,e.toDisplayString)(l.zoomPercent),1),(0,e.createVNode)((0,e.unref)(t.Tooltip),{title:`放大`},{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(t.Button),{size:`small`,class:`gd-contract-template-designer__icon-button`,disabled:l.zoomInDisabled,"aria-label":`放大`,onClick:d[1]||=e=>p(`zoomIn`)},{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(n.ZoomInOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`])]),_:1}),(0,e.createVNode)((0,e.unref)(t.Tooltip),{title:`适应宽度`},{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(t.Button),{size:`small`,class:`gd-contract-template-designer__icon-button`,"aria-label":`适应宽度`,onClick:d[2]||=e=>p(`fitWidth`)},{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(n.ColumnWidthOutlined),{"aria-hidden":`true`})]),_:1})]),_:1}),(0,e.createVNode)((0,e.unref)(t.Tooltip),{title:`重置缩放`},{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(t.Button),{size:`small`,class:`gd-contract-template-designer__icon-button`,"aria-label":`重置缩放`,onClick:d[3]||=e=>p(`resetZoom`)},{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(n.ReloadOutlined),{"aria-hidden":`true`})]),_:1})]),_:1}),(0,e.createVNode)((0,e.unref)(t.Tooltip),{title:l.isFullscreen?`退出全屏`:`全屏显示`},{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(t.Button),{size:`small`,class:`gd-contract-template-designer__icon-button`,"aria-label":l.isFullscreen?`退出全屏`:`全屏显示`,onClick:d[4]||=e=>p(`toggleFullscreen`)},{default:(0,e.withCtx)(()=>[l.isFullscreen?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(n.FullscreenExitOutlined),{key:0,"aria-hidden":`true`})):((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(n.FullscreenOutlined),{key:1,"aria-hidden":`true`}))]),_:1},8,[`aria-label`])]),_:1},8,[`title`]),(0,e.createVNode)((0,e.unref)(t.Tooltip),{title:`沉浸写作(只保留写作区)`},{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(t.Button),{size:`small`,class:(0,e.normalizeClass)([`gd-contract-template-designer__icon-button gd-contract-template-designer__immersive-trigger`,{"is-selected":l.immersive}]),"aria-pressed":l.immersive,"aria-label":`沉浸写作`,onClick:d[5]||=e=>p(`toggleImmersive`)},{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(n.FormOutlined),{"aria-hidden":`true`})]),_:1},8,[`class`,`aria-pressed`])]),_:1})])]),(0,e.createElementVNode)(`div`,s,[l.showClearButton?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(t.Tooltip),{key:0,title:`清空合同`},{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(t.Button),{size:`small`,danger:``,class:`gd-contract-template-designer__icon-button`,disabled:l.readonly,"aria-label":`清空合同`,onClick:d[6]||=e=>p(`clear`)},{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(n.DeleteOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`])]),_:1})):(0,e.createCommentVNode)(``,!0),(0,e.createVNode)((0,e.unref)(t.Tooltip),{title:g.value},{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(t.Button),{size:`small`,class:(0,e.normalizeClass)([`gd-contract-template-designer__page-decorations-trigger`,{"is-selected":l.pageDecorationsOpen}]),"aria-pressed":l.pageDecorationsOpen,"aria-expanded":l.pageDecorationsOpen,"aria-controls":l.pageDecorationsStudioId,"aria-label":_.value,onClick:d[7]||=e=>p(`togglePageDecorations`)},{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(n.BgColorsOutlined),{"aria-hidden":`true`}),(0,e.createElementVNode)(`span`,c,[d[12]||=(0,e.createElementVNode)(`span`,null,`页面装饰`,-1),(0,e.createElementVNode)(`small`,null,(0,e.toDisplayString)(l.pageDecorationsPresetLabel)+` · 启用 `+(0,e.toDisplayString)(l.pageDecorationsEnabledCount)+`/3`,1)])]),_:1},8,[`class`,`aria-pressed`,`aria-expanded`,`aria-controls`,`aria-label`])]),_:1},8,[`title`]),(0,e.createVNode)((0,e.unref)(t.Tooltip),{title:`校验`},{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(t.Button),{size:`small`,class:`gd-contract-template-designer__icon-button`,"aria-label":`校验`,onClick:d[8]||=e=>p(`validate`)},{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(n.AuditOutlined),{"aria-hidden":`true`})]),_:1})]),_:1}),(0,e.createVNode)((0,e.unref)(t.Tooltip),{title:`预览`},{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(t.Button),{size:`small`,type:`primary`,class:`gd-contract-template-designer__icon-button`,"aria-label":`预览`,onClick:d[9]||=e=>p(`preview`)},{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(n.EyeOutlined),{"aria-hidden":`true`})]),_:1})]),_:1}),l.showSubmitDataViewer?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(t.Tooltip),{key:1,title:`数据查看`},{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(t.Button),{size:`small`,class:`gd-contract-template-designer__icon-button`,"aria-label":`数据查看`,onClick:d[10]||=e=>p(`submitData`)},{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(n.DatabaseOutlined),{"aria-hidden":`true`})]),_:1})]),_:1})):(0,e.createCommentVNode)(``,!0)]),(0,e.createVNode)((0,e.unref)(t.Tooltip),{title:`收起工具区`},{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(t.Button),{size:`small`,class:`gd-contract-template-designer__icon-button gd-contract-template-designer__workspace-chrome-toggle`,"aria-label":`收起工具区`,"aria-expanded":!0,"aria-controls":l.chromeControlsId,onClick:d[11]||=e=>p(`toggleChrome`)},{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(n.UpOutlined),{"aria-hidden":`true`})]),_:1},8,[`aria-controls`])]),_:1})])],512))}});exports.default=l;
@@ -0,0 +1 @@
1
+ var e=require(`./ContractTemplateImageContextMenu.vue.cjs`).default;exports.default=e;
@@ -0,0 +1 @@
1
+ require(`../../../_virtual/_rolldown/runtime.cjs`);const e=require(`./utils/content-image.cjs`);let t=require(`vue`),n=require(`ant-design-vue`);var r={class:`gd-contract-template-designer__image-size-fields`,role:`group`,"aria-label":`图片尺寸`},i={class:`gd-contract-template-designer__popover-actions`},a=(0,t.defineComponent)({name:`ContractTemplateImageContextMenu`,__name:`ContractTemplateImageContextMenu`,props:(0,t.mergeModels)({x:{},y:{},readonly:{type:Boolean}},{width:{},widthModifiers:{},height:{},heightModifiers:{}}),emits:(0,t.mergeModels)([`restore`,`apply`,`keydown`],[`update:width`,`update:height`]),setup(a,{expose:o,emit:s}){let c=(0,t.useModel)(a,`width`),l=(0,t.useModel)(a,`height`),u=s,d=(0,t.ref)();return o({getMenuElement:()=>d.value}),(o,s)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{ref_key:`menuElement`,ref:d,class:`gd-contract-template-designer__context-menu gd-contract-template-designer__image-context-menu`,style:(0,t.normalizeStyle)({left:`${a.x}px`,top:`${a.y}px`}),role:`dialog`,"aria-label":`图片尺寸`,onKeydown:s[4]||=e=>u(`keydown`,e)},[s[9]||=(0,t.createElementVNode)(`div`,{class:`gd-contract-template-designer__image-context-title`},[(0,t.createElementVNode)(`strong`,null,`图片尺寸`),(0,t.createElementVNode)(`span`,null,`单位:px;留空可恢复自然尺寸`)],-1),(0,t.createElementVNode)(`div`,r,[(0,t.createElementVNode)(`label`,null,[s[5]||=(0,t.createElementVNode)(`span`,null,`宽度`,-1),(0,t.createVNode)((0,t.unref)(n.InputNumber),{value:c.value,"onUpdate:value":s[0]||=e=>c.value=e,min:(0,t.unref)(16),max:(0,t.unref)(e.MAX_CONTRACT_IMAGE_DIMENSION),disabled:a.readonly,placeholder:`自然`,"aria-label":`图片宽度`},null,8,[`value`,`min`,`max`,`disabled`])]),(0,t.createElementVNode)(`label`,null,[s[6]||=(0,t.createElementVNode)(`span`,null,`高度`,-1),(0,t.createVNode)((0,t.unref)(n.InputNumber),{value:l.value,"onUpdate:value":s[1]||=e=>l.value=e,min:(0,t.unref)(16),max:(0,t.unref)(e.MAX_CONTRACT_IMAGE_DIMENSION),disabled:a.readonly,placeholder:`自然`,"aria-label":`图片高度`},null,8,[`value`,`min`,`max`,`disabled`])])]),(0,t.createElementVNode)(`div`,i,[(0,t.createVNode)((0,t.unref)(n.Button),{size:`small`,onClick:s[2]||=e=>u(`restore`)},{default:(0,t.withCtx)(()=>[...s[7]||=[(0,t.createTextVNode)(`恢复自然尺寸`,-1)]]),_:1}),(0,t.createVNode)((0,t.unref)(n.Button),{size:`small`,type:`primary`,onClick:s[3]||=e=>u(`apply`)},{default:(0,t.withCtx)(()=>[...s[8]||=[(0,t.createTextVNode)(`应用`,-1)]]),_:1})])],36))}});exports.default=a;
@@ -0,0 +1 @@
1
+ var e=require(`./ContractTemplatePageDecorations.vue.cjs`).default;exports.default=e;
@@ -0,0 +1 @@
1
+ require(`../../../_virtual/_rolldown/runtime.cjs`);const e=require(`./utils/page-decorations.cjs`);let t=require(`vue`);var n=[`data-watermark-layout`,`data-watermark-density`],r=[`data-decoration-offset`,`data-decoration-font-size`],i=[`data-decoration-offset`,`data-decoration-font-size`],a=(0,t.defineComponent)({name:`ContractTemplatePageDecorations`,__name:`ContractTemplatePageDecorations`,props:{decorations:{},pageNumber:{},totalPages:{},variables:{default:()=>[]},values:{default:()=>({})}},setup(a){let o=a,s=(0,t.computed)(()=>e.normalizePageDecorations(o.decorations)),c=(0,t.computed)(()=>e.hasEnabledPageHeader(s.value,o.pageNumber)),l=(0,t.computed)(()=>e.hasEnabledPageFooter(s.value,o.pageNumber)),u=(0,t.computed)(()=>e.hasEnabledPageWatermark(s.value,o.pageNumber)),d=(0,t.computed)(()=>e.getWatermarkDensityGrid(s.value.watermark.density)),f=(0,t.computed)(()=>s.value.watermark.layout===`tiled`?d.value.columns*d.value.rows:1),p=(0,t.computed)(()=>({color:s.value.header.color,fontFamily:s.value.header.fontFamily,fontSize:`${s.value.header.fontSize}px`,fontWeight:s.value.header.fontWeight,top:`${s.value.header.offset}px`,borderBottom:s.value.header.divider.enabled?`1px solid ${s.value.header.divider.color}`:void 0})),m=(0,t.computed)(()=>({color:s.value.footer.color,fontFamily:s.value.footer.fontFamily,fontSize:`${s.value.footer.fontSize}px`,fontWeight:s.value.footer.fontWeight,bottom:`${s.value.footer.offset}px`,borderTop:s.value.footer.divider.enabled?`1px solid ${s.value.footer.divider.color}`:void 0})),h=(0,t.computed)(()=>({"--gd-watermark-columns":d.value.columns,"--gd-watermark-rows":d.value.rows})),g=(0,t.computed)(()=>({color:s.value.watermark.color,fontSize:`${s.value.watermark.fontSize}px`,opacity:s.value.watermark.opacity,transform:`rotate(${s.value.watermark.rotation}deg)`}));function _(t){return e.parsePageDecorationText(t).tokens}function v(t){return e.resolvePageDecorationTokenText(t,o.variables,o.values,o.pageNumber,o.totalPages,s.value.pageNumbering.countFirstPage)}return(e,a)=>((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,null,[u.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,class:(0,t.normalizeClass)([`gd-contract-template-page__watermark`,[`is-${s.value.watermark.layout}`,`density-${s.value.watermark.density}`]]),style:(0,t.normalizeStyle)(h.value),"data-watermark-layout":s.value.watermark.layout,"data-watermark-density":s.value.watermark.density,"aria-hidden":`true`},[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(f.value,e=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:e,class:`gd-contract-template-page__watermark-item`,style:(0,t.normalizeStyle)(g.value)},[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(_(s.value.watermark.text),(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{key:`${e}-${r}`,class:(0,t.normalizeClass)({"gd-contract-template-page__variable":n.type===`variable`})},(0,t.toDisplayString)(v(n)),3))),128))],4))),128))],14,n)):(0,t.createCommentVNode)(``,!0),c.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:1,class:`gd-contract-template-page__header`,style:(0,t.normalizeStyle)(p.value),"data-decoration-offset":s.value.header.offset,"data-decoration-font-size":s.value.header.fontSize},[((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)([`left`,`center`,`right`],e=>(0,t.createElementVNode)(`div`,{key:e,class:(0,t.normalizeClass)([`gd-contract-template-page__decoration-slot`,`is-${e}`])},[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(_(s.value.header.slots[e]),(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{key:n,class:(0,t.normalizeClass)({"gd-contract-template-page__variable":e.type===`variable`})},(0,t.toDisplayString)(v(e)),3))),128))],2)),64))],12,r)):(0,t.createCommentVNode)(``,!0),l.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:2,class:`gd-contract-template-page__footer`,style:(0,t.normalizeStyle)(m.value),"data-decoration-offset":s.value.footer.offset,"data-decoration-font-size":s.value.footer.fontSize},[((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)([`left`,`center`,`right`],e=>(0,t.createElementVNode)(`div`,{key:e,class:(0,t.normalizeClass)([`gd-contract-template-page__decoration-slot`,`is-${e}`])},[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(_(s.value.footer.slots[e]),(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{key:n,class:(0,t.normalizeClass)({"gd-contract-template-page__variable":e.type===`variable`})},(0,t.toDisplayString)(v(e)),3))),128))],2)),64))],12,i)):(0,t.createCommentVNode)(``,!0)],64))}});exports.default=a;
@@ -0,0 +1 @@
1
+ var e=require(`./ContractTemplatePageDecorationsInspector.vue.cjs`).default;exports.default=e;
@@ -0,0 +1 @@
1
+ require(`../../../_virtual/_rolldown/runtime.cjs`);const e=require(`./utils/page-decorations.cjs`);let t=require(`vue`),n=require(`ant-design-vue`),r=require(`@ant-design/icons-vue`);var i={key:0,class:`gd-contract-template-designer__panel-head`},a={class:`gd-contract-template-designer__decoration-plan`},o={class:`gd-contract-template-designer__form-row is-compact`},s={class:`gd-contract-template-designer__decoration-tab-label`},c={class:`gd-contract-template-designer__decoration-form`},l={class:`gd-contract-template-designer__switch-row`},u={class:`gd-contract-template-designer__switch-row`},d={key:0,class:`gd-contract-template-designer__switch-row`},ee={class:`gd-contract-template-designer__decoration-slots-grid`},f=[`data-decoration-slot`,`data-page-decoration-path`],p={class:`gd-contract-template-designer__form-row is-compact`},te={class:`gd-contract-template-designer__decoration-advanced`},ne={class:`gd-contract-template-designer__decoration-advanced-content`},re={class:`gd-contract-template-designer__form-row is-compact`},ie={class:`gd-contract-template-designer__decoration-control-grid`},ae={class:`gd-contract-template-designer__unit-control`},oe={class:`gd-contract-template-designer__unit-control`},se={class:`gd-contract-template-designer__color-control`},ce=[`value`,`disabled`,`aria-label`,`onInput`],le={class:`gd-contract-template-designer__switch-row`},m={key:0,class:`gd-contract-template-designer__color-row`},h={class:`gd-contract-template-designer__color-control`},ue=[`value`,`disabled`,`aria-label`,`onInput`],de={class:`gd-contract-template-designer__decoration-tab-label`},g={class:`gd-contract-template-designer__decoration-form`},_={class:`gd-contract-template-designer__switch-row`},v={class:`gd-contract-template-designer__switch-row`},y={class:`gd-contract-template-designer__decoration-slot-editor gd-contract-template-designer__decoration-watermark-editor`,"data-page-decoration-path":`watermark.text`},b={class:`gd-contract-template-designer__form-row is-compact`},x={class:`gd-contract-template-designer__form-row is-compact`},S={key:0,class:`gd-contract-template-designer__form-row is-compact`},C={class:`gd-contract-template-designer__decoration-advanced`},w={class:`gd-contract-template-designer__decoration-advanced-content`},T={class:`gd-contract-template-designer__decoration-control-grid`},E={class:`gd-contract-template-designer__unit-control`},D={class:`gd-contract-template-designer__unit-control`},O={class:`gd-contract-template-designer__unit-control`},k={class:`gd-contract-template-designer__color-control`},A=[`value`,`disabled`],j=(0,t.defineComponent)({name:`ContractTemplatePageDecorationsInspector`,__name:`ContractTemplatePageDecorationsInspector`,props:{decorations:{},variables:{},fontFamilyOptions:{},readonly:{type:Boolean},disabled:{type:Boolean},activeTab:{},embedded:{type:Boolean,default:!1}},emits:[`change`,`update:activeTab`],setup(j,{expose:M,emit:N}){let P=j,F=N,I=(0,t.computed)(()=>e.normalizePageDecorations(P.decorations)),L=(0,t.computed)(()=>P.readonly||P.disabled),R=(0,t.shallowRef)(`header`),z=(0,t.shallowRef)(``),B=(0,t.computed)(()=>e.resolvePageDecorationPreset(I.value)),V=(0,t.computed)(()=>e.validatePageDecorations(I.value,P.variables)),H=(0,t.computed)(()=>{let e=new Map;return V.value.forEach(t=>{let n=t.id.replace(/-\d+-\d+$/,``);e.set(n,[...e.get(n)??[],t.message.replace(/^.*?:/,``)])}),e}),U=(0,t.computed)(()=>P.variables.filter(e=>e.type!==`image`)),fe=[{label:`无装饰`,value:`none`},{label:`标准页码`,value:`page-number`},{label:`内部审阅`,value:`internal-review`},{label:`草稿`,value:`draft`}],pe={none:`无装饰`,"page-number":`标准页码`,"internal-review":`内部审阅`,draft:`草稿`,custom:`自定义`},me=(0,t.computed)(()=>({value:B.value,label:pe[B.value]})),he=[{label:`常规`,value:400},{label:`加粗`,value:600}],ge=[{label:`居中单个`,value:`single`},{label:`全页平铺`,value:`tiled`}],_e=[{label:`稀疏 2×3`,value:`sparse`},{label:`标准 3×4`,value:`normal`},{label:`密集 4×6`,value:`dense`}],ve={left:`左侧`,center:`居中`,right:`右侧`},ye=[`left`,`center`,`right`],be=[{key:`header`,label:`页眉`},{key:`footer`,label:`页脚`}];(0,t.watch)(()=>P.activeTab,e=>{e&&(R.value=e)},{immediate:!0}),(0,t.watch)(R,e=>F(`update:activeTab`,e));function W(t){F(`change`,e.normalizePageDecorations(t))}function G(e,t){W({...I.value,[e]:{...I.value[e],...t}})}function K(e,t,n){G(e,{slots:{...I.value[e].slots,[t]:n}})}function q(e){W({...I.value,watermark:{...I.value.watermark,...e}})}function xe(e){W({...I.value,pageNumbering:{countFirstPage:e}})}function J(e,t,n){K(e,t,`${I.value[e].slots[t]}${n}`.slice(0,240))}function Se(e){q({text:`${I.value.watermark.text}${e}`.slice(0,240)})}function Y(e,t){t?z.value=e:z.value===e&&(z.value=``)}function X(e,t){z.value===t&&(e.preventDefault(),e.stopPropagation(),z.value=``)}function Z(t){F(`change`,e.createPageDecorationPreset(t))}function Q(e){let t=typeof e==`object`&&e&&`value`in e?e.value:e;if(L.value||t===`custom`)return;let r=t;if(r!==B.value){if(B.value!==`custom`){Z(r);return}n.Modal.confirm({title:`应用装饰方案`,content:`将覆盖当前自定义设置,是否继续?`,okText:`应用`,cancelText:`取消`,onOk:()=>{Z(r)}})}}function Ce(){Q(`none`)}function $(e){return H.value.get(e)??[]}return M({resetToDefault:Ce}),(e,M)=>((0,t.openBlock)(),(0,t.createElementBlock)(`section`,{class:(0,t.normalizeClass)([`gd-contract-template-designer__panel gd-contract-template-designer__panel--decorations`,{"is-embedded":P.embedded}])},[P.embedded?(0,t.createCommentVNode)(``,!0):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,i,[M[15]||=(0,t.createElementVNode)(`strong`,null,`页面装饰`,-1),(0,t.createVNode)((0,t.unref)(n.Tooltip),{title:`恢复默认`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(n.Button),{size:`small`,class:`gd-contract-template-designer__icon-button`,disabled:L.value,"aria-label":`恢复页面装饰默认值`,onClick:M[0]||=e=>Q(`none`)},{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(r.ReloadOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`])]),_:1})])),(0,t.createElementVNode)(`div`,a,[(0,t.createElementVNode)(`label`,o,[M[16]||=(0,t.createElementVNode)(`span`,null,`方案`,-1),(0,t.createVNode)((0,t.unref)(n.Select),{value:me.value,options:fe,"label-in-value":``,"popup-class-name":`gd-contract-template-designer__page-decorations-select-popup`,disabled:L.value,"aria-label":`页面装饰方案`,onChange:Q},null,8,[`value`,`disabled`])])]),V.value.length?((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(n.Alert),{key:1,class:`gd-contract-template-designer__decoration-errors`,type:`error`,"show-icon":``,message:`${V.value.length} 个配置错误`},{description:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`ul`,null,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(V.value.slice(0,3),e=>((0,t.openBlock)(),(0,t.createElementBlock)(`li`,{key:e.id},(0,t.toDisplayString)(e.message),1))),128))])]),_:1},8,[`message`])):(0,t.createCommentVNode)(``,!0),(0,t.createVNode)((0,t.unref)(n.Tabs),{"active-key":R.value,"onUpdate:activeKey":M[14]||=e=>R.value=e,size:`small`,class:`gd-contract-template-designer__decoration-tabs`},{default:(0,t.withCtx)(()=>[((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(be,e=>(0,t.createVNode)((0,t.unref)(n.TabPane),{key:e.key},{tab:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`span`,s,[(0,t.createTextVNode)((0,t.toDisplayString)(e.label)+` `,1),(0,t.createElementVNode)(`i`,{class:(0,t.normalizeClass)({"is-enabled":I.value[e.key].enabled}),"aria-hidden":`true`},null,2)])]),default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,c,[(0,t.createElementVNode)(`label`,l,[M[17]||=(0,t.createElementVNode)(`span`,null,`启用`,-1),(0,t.createVNode)((0,t.unref)(n.Switch),{checked:I.value[e.key].enabled,disabled:L.value,onChange:t=>G(e.key,{enabled:!!t})},null,8,[`checked`,`disabled`,`onChange`])]),(0,t.createElementVNode)(`label`,u,[M[18]||=(0,t.createElementVNode)(`span`,null,`第 1 页显示`,-1),(0,t.createVNode)((0,t.unref)(n.Switch),{checked:I.value[e.key].showOnFirstPage,disabled:L.value,onChange:t=>G(e.key,{showOnFirstPage:!!t})},null,8,[`checked`,`disabled`,`onChange`])]),e.key===`footer`?((0,t.openBlock)(),(0,t.createElementBlock)(`label`,d,[M[19]||=(0,t.createElementVNode)(`span`,null,`首页计入页码`,-1),(0,t.createVNode)((0,t.unref)(n.Switch),{checked:I.value.pageNumbering.countFirstPage,disabled:L.value,onChange:M[1]||=e=>xe(!!e)},null,8,[`checked`,`disabled`])])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,ee,[((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(ye,i=>(0,t.createElementVNode)(`div`,{key:i,class:`gd-contract-template-designer__decoration-slot-editor`,"data-decoration-slot":i,"data-page-decoration-path":`${e.key}.slots.${i}`},[(0,t.createElementVNode)(`label`,p,[(0,t.createElementVNode)(`span`,null,(0,t.toDisplayString)(ve[i]),1),(0,t.createVNode)((0,t.unref)(n.Input),{value:I.value[e.key].slots[i],maxlength:(0,t.unref)(240),disabled:L.value,status:$(`${e.key}.slots.${i}`).length?`error`:void 0,"aria-invalid":$(`${e.key}.slots.${i}`).length?`true`:void 0,"onUpdate:value":t=>K(e.key,i,String(t))},null,8,[`value`,`maxlength`,`disabled`,`status`,`aria-invalid`,`onUpdate:value`])]),(0,t.createVNode)((0,t.unref)(n.Dropdown),{trigger:[`click`],open:z.value===`${e.key}.${i}`,disabled:L.value,"overlay-class-name":`gd-contract-template-designer__page-decorations-dropdown-popup`,onOpenChange:t=>Y(`${e.key}.${i}`,t)},{overlay:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(n.Menu),{onKeydown:(0,t.withKeys)(t=>X(t,`${e.key}.${i}`),[`esc`])},{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(n.MenuItem),{onClick:t=>J(e.key,i,`{pageNumber}`)},{default:(0,t.withCtx)(()=>[...M[21]||=[(0,t.createTextVNode)(` 页码 {pageNumber} `,-1)]]),_:1},8,[`onClick`]),(0,t.createVNode)((0,t.unref)(n.MenuItem),{onClick:t=>J(e.key,i,`{totalPages}`)},{default:(0,t.withCtx)(()=>[...M[22]||=[(0,t.createTextVNode)(` 总页数 {totalPages} `,-1)]]),_:1},8,[`onClick`]),((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(U.value,r=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(n.MenuItem),{key:r.id,onClick:t=>J(e.key,i,`\${{${r.key}}}`)},{default:(0,t.withCtx)(()=>[(0,t.createTextVNode)((0,t.toDisplayString)(r.label)+` · `+(0,t.toDisplayString)(r.key),1)]),_:2},1032,[`onClick`]))),128)),U.value.length?(0,t.createCommentVNode)(``,!0):((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(n.MenuItem),{key:0,disabled:``},{default:(0,t.withCtx)(()=>[...M[23]||=[(0,t.createTextVNode)(` 暂无可用模板变量 `,-1)]]),_:1}))]),_:2},1032,[`onKeydown`])]),default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(n.Button),{size:`small`,disabled:L.value,onKeydown:(0,t.withKeys)(t=>X(t,`${e.key}.${i}`),[`esc`])},{default:(0,t.withCtx)(()=>[M[20]||=(0,t.createTextVNode)(` 插入 `,-1),(0,t.createVNode)((0,t.unref)(r.DownOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`,`onKeydown`])]),_:2},1032,[`open`,`disabled`,`onOpenChange`]),((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)($(`${e.key}.slots.${i}`),e=>((0,t.openBlock)(),(0,t.createElementBlock)(`small`,{key:e,class:`gd-contract-template-designer__form-error`},(0,t.toDisplayString)(e),1))),128))],8,f)),64))]),(0,t.createElementVNode)(`details`,te,[M[32]||=(0,t.createElementVNode)(`summary`,null,`高级设置`,-1),(0,t.createElementVNode)(`div`,ne,[(0,t.createElementVNode)(`label`,re,[M[24]||=(0,t.createElementVNode)(`span`,null,`字体`,-1),(0,t.createVNode)((0,t.unref)(n.Select),{value:I.value[e.key].fontFamily,options:j.fontFamilyOptions,"popup-class-name":`gd-contract-template-designer__page-decorations-select-popup`,disabled:L.value,onChange:t=>G(e.key,{fontFamily:String(t)})},null,8,[`value`,`options`,`disabled`,`onChange`])]),(0,t.createElementVNode)(`div`,ie,[(0,t.createElementVNode)(`label`,null,[M[26]||=(0,t.createElementVNode)(`span`,null,`字号`,-1),(0,t.createElementVNode)(`span`,ae,[(0,t.createVNode)((0,t.unref)(n.InputNumber),{value:I.value[e.key].fontSize,min:10,max:24,disabled:L.value,"aria-label":`${e.label}字号`,onChange:t=>G(e.key,{fontSize:Number(t||12)})},null,8,[`value`,`disabled`,`aria-label`,`onChange`]),M[25]||=(0,t.createElementVNode)(`small`,null,`px`,-1)])]),(0,t.createElementVNode)(`label`,null,[M[27]||=(0,t.createElementVNode)(`span`,null,`字重`,-1),(0,t.createVNode)((0,t.unref)(n.Select),{value:I.value[e.key].fontWeight,options:he,"popup-class-name":`gd-contract-template-designer__page-decorations-select-popup`,disabled:L.value,"aria-label":`${e.label}字重`,onChange:t=>G(e.key,{fontWeight:t===600?600:400})},null,8,[`value`,`disabled`,`aria-label`,`onChange`])]),(0,t.createElementVNode)(`label`,null,[M[29]||=(0,t.createElementVNode)(`span`,null,`距边缘`,-1),(0,t.createElementVNode)(`span`,oe,[(0,t.createVNode)((0,t.unref)(n.InputNumber),{value:I.value[e.key].offset,min:12,max:48,disabled:L.value,"aria-label":`${e.label}距页面边缘`,onChange:t=>G(e.key,{offset:Number(t||24)})},null,8,[`value`,`disabled`,`aria-label`,`onChange`]),M[28]||=(0,t.createElementVNode)(`small`,null,`px`,-1)])]),(0,t.createElementVNode)(`label`,null,[M[30]||=(0,t.createElementVNode)(`span`,null,`颜色`,-1),(0,t.createElementVNode)(`span`,se,[(0,t.createElementVNode)(`input`,{type:`color`,value:I.value[e.key].color,disabled:L.value,"aria-label":`${e.label}颜色`,onInput:t=>G(e.key,{color:t.target.value})},null,40,ce),(0,t.createElementVNode)(`code`,null,(0,t.toDisplayString)(I.value[e.key].color.toUpperCase()),1)])])]),(0,t.createElementVNode)(`label`,le,[(0,t.createElementVNode)(`span`,null,(0,t.toDisplayString)(e.key===`header`?`底部`:`顶部`)+`分隔线 · 1px`,1),(0,t.createVNode)((0,t.unref)(n.Switch),{checked:I.value[e.key].divider.enabled,disabled:L.value,onChange:t=>G(e.key,{divider:{...I.value[e.key].divider,enabled:!!t}})},null,8,[`checked`,`disabled`,`onChange`])]),I.value[e.key].divider.enabled?((0,t.openBlock)(),(0,t.createElementBlock)(`label`,m,[M[31]||=(0,t.createElementVNode)(`span`,null,`线条颜色`,-1),(0,t.createElementVNode)(`span`,h,[(0,t.createElementVNode)(`input`,{type:`color`,value:I.value[e.key].divider.color,disabled:L.value,"aria-label":`${e.label}分隔线颜色`,onInput:t=>G(e.key,{divider:{...I.value[e.key].divider,color:t.target.value}})},null,40,ue),(0,t.createElementVNode)(`code`,null,(0,t.toDisplayString)(I.value[e.key].divider.color.toUpperCase()),1)])])):(0,t.createCommentVNode)(``,!0)])])])]),_:2},1024)),64)),(0,t.createVNode)((0,t.unref)(n.TabPane),{key:`watermark`},{tab:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`span`,de,[M[33]||=(0,t.createTextVNode)(` 水印 `,-1),(0,t.createElementVNode)(`i`,{class:(0,t.normalizeClass)({"is-enabled":I.value.watermark.enabled}),"aria-hidden":`true`},null,2)])]),default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,g,[(0,t.createElementVNode)(`label`,_,[M[34]||=(0,t.createElementVNode)(`span`,null,`启用`,-1),(0,t.createVNode)((0,t.unref)(n.Switch),{checked:I.value.watermark.enabled,disabled:L.value,onChange:M[2]||=e=>q({enabled:!!e})},null,8,[`checked`,`disabled`])]),(0,t.createElementVNode)(`label`,v,[M[35]||=(0,t.createElementVNode)(`span`,null,`第 1 页显示`,-1),(0,t.createVNode)((0,t.unref)(n.Switch),{checked:I.value.watermark.showOnFirstPage,disabled:L.value,onChange:M[3]||=e=>q({showOnFirstPage:!!e})},null,8,[`checked`,`disabled`])]),(0,t.createElementVNode)(`div`,y,[(0,t.createElementVNode)(`label`,b,[M[36]||=(0,t.createElementVNode)(`span`,null,`内容`,-1),(0,t.createVNode)((0,t.unref)(n.Input),{value:I.value.watermark.text,maxlength:(0,t.unref)(240),disabled:L.value,status:$(`watermark.text`).length?`error`:void 0,"aria-invalid":$(`watermark.text`).length?`true`:void 0,"onUpdate:value":M[4]||=e=>q({text:String(e)})},null,8,[`value`,`maxlength`,`disabled`,`status`,`aria-invalid`])]),(0,t.createVNode)((0,t.unref)(n.Dropdown),{trigger:[`click`],open:z.value===`watermark`,disabled:L.value,"overlay-class-name":`gd-contract-template-designer__page-decorations-dropdown-popup`,onOpenChange:M[7]||=e=>Y(`watermark`,e)},{overlay:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(n.Menu),{onKeydown:M[6]||=(0,t.withKeys)(e=>X(e,`watermark`),[`esc`])},{default:(0,t.withCtx)(()=>[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(U.value,e=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(n.MenuItem),{key:e.id,onClick:t=>Se(`\${{${e.key}}}`)},{default:(0,t.withCtx)(()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.label)+` · `+(0,t.toDisplayString)(e.key),1)]),_:2},1032,[`onClick`]))),128)),U.value.length?(0,t.createCommentVNode)(``,!0):((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(n.MenuItem),{key:0,disabled:``},{default:(0,t.withCtx)(()=>[...M[38]||=[(0,t.createTextVNode)(` 暂无可用模板变量 `,-1)]]),_:1}))]),_:1})]),default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(n.Button),{size:`small`,disabled:L.value,onKeydown:M[5]||=(0,t.withKeys)(e=>X(e,`watermark`),[`esc`])},{default:(0,t.withCtx)(()=>[M[37]||=(0,t.createTextVNode)(` 插入 `,-1),(0,t.createVNode)((0,t.unref)(r.DownOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`])]),_:1},8,[`open`,`disabled`]),((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)($(`watermark.text`),e=>((0,t.openBlock)(),(0,t.createElementBlock)(`small`,{key:e,class:`gd-contract-template-designer__form-error`},(0,t.toDisplayString)(e),1))),128))]),(0,t.createElementVNode)(`label`,x,[M[39]||=(0,t.createElementVNode)(`span`,null,`布局`,-1),(0,t.createVNode)((0,t.unref)(n.Select),{value:I.value.watermark.layout,options:ge,"popup-class-name":`gd-contract-template-designer__page-decorations-select-popup`,disabled:L.value,onChange:M[8]||=e=>q({layout:e===`tiled`?`tiled`:`single`})},null,8,[`value`,`disabled`])]),I.value.watermark.layout===`tiled`?((0,t.openBlock)(),(0,t.createElementBlock)(`label`,S,[M[40]||=(0,t.createElementVNode)(`span`,null,`密度`,-1),(0,t.createVNode)((0,t.unref)(n.Select),{value:I.value.watermark.density,options:_e,"popup-class-name":`gd-contract-template-designer__page-decorations-select-popup`,disabled:L.value,onChange:M[9]||=e=>q({density:e===`sparse`||e===`dense`?e:`normal`})},null,8,[`value`,`disabled`])])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`details`,C,[M[48]||=(0,t.createElementVNode)(`summary`,null,`高级设置`,-1),(0,t.createElementVNode)(`div`,w,[(0,t.createElementVNode)(`div`,T,[(0,t.createElementVNode)(`label`,null,[M[42]||=(0,t.createElementVNode)(`span`,null,`字号`,-1),(0,t.createElementVNode)(`span`,E,[(0,t.createVNode)((0,t.unref)(n.InputNumber),{value:I.value.watermark.fontSize,min:12,max:72,disabled:L.value,"aria-label":`水印字号`,onChange:M[10]||=e=>q({fontSize:Number(e||36)})},null,8,[`value`,`disabled`]),M[41]||=(0,t.createElementVNode)(`small`,null,`px`,-1)])]),(0,t.createElementVNode)(`label`,null,[M[44]||=(0,t.createElementVNode)(`span`,null,`透明度`,-1),(0,t.createElementVNode)(`span`,D,[(0,t.createVNode)((0,t.unref)(n.InputNumber),{value:Math.round(I.value.watermark.opacity*100),min:4,max:50,disabled:L.value,"aria-label":`水印透明度`,onChange:M[11]||=e=>q({opacity:Number(e||14)/100})},null,8,[`value`,`disabled`]),M[43]||=(0,t.createElementVNode)(`small`,null,`%`,-1)])]),(0,t.createElementVNode)(`label`,null,[M[46]||=(0,t.createElementVNode)(`span`,null,`角度`,-1),(0,t.createElementVNode)(`span`,O,[(0,t.createVNode)((0,t.unref)(n.InputNumber),{value:I.value.watermark.rotation,min:-90,max:90,disabled:L.value,"aria-label":`水印角度`,onChange:M[12]||=e=>q({rotation:Number(e??-30)})},null,8,[`value`,`disabled`]),M[45]||=(0,t.createElementVNode)(`small`,null,`°`,-1)])]),(0,t.createElementVNode)(`label`,null,[M[47]||=(0,t.createElementVNode)(`span`,null,`颜色`,-1),(0,t.createElementVNode)(`span`,k,[(0,t.createElementVNode)(`input`,{type:`color`,value:I.value.watermark.color,disabled:L.value,"aria-label":`水印颜色`,onInput:M[13]||=e=>q({color:e.target.value})},null,40,A),(0,t.createElementVNode)(`code`,null,(0,t.toDisplayString)(I.value.watermark.color.toUpperCase()),1)])])])])])])]),_:1})]),_:1},8,[`active-key`])],2))}});exports.default=j;
@@ -0,0 +1 @@
1
+ var e=require(`./ContractTemplatePageDecorationsStudio.vue.cjs`).default;exports.default=e;
@@ -0,0 +1 @@
1
+ require(`../../../_virtual/_rolldown/runtime.cjs`);const e=require(`./utils/page-decorations.cjs`),t=require(`./ContractTemplatePageDecorationsInspector.cjs`);let n=require(`vue`),r=require(`ant-design-vue`),i=require(`@ant-design/icons-vue`);var a=[`id`,`aria-hidden`],o={class:`gd-contract-template-designer__page-decorations-studio-head`},s={class:`gd-contract-template-designer__page-decorations-studio-title`},c={class:`gd-contract-template-designer__page-decorations-studio-icon`,"aria-hidden":`true`},l={class:`gd-contract-template-designer__page-decorations-studio-actions`},u={class:`gd-contract-template-designer__page-decorations-studio-body`},d={class:`gd-contract-template-designer__page-decorations-studio-form-section`},f={class:`gd-contract-template-designer__page-decorations-studio-footer`},p=(0,n.defineComponent)({name:`ContractTemplatePageDecorationsStudio`,__name:`ContractTemplatePageDecorationsStudio`,props:{id:{},open:{type:Boolean},decorations:{},variables:{},fontFamilyOptions:{},readonly:{type:Boolean},disabled:{type:Boolean},activeTab:{}},emits:[`close`,`change`,`update:activeTab`],setup(p,{expose:m,emit:h}){let g=p,_=h,v=(0,n.ref)(),y=(0,n.ref)(),b=(0,n.ref)(`header`),x=(0,n.computed)(()=>e.normalizePageDecorations(g.decorations)),S=(0,n.computed)(()=>e.resolvePageDecorationPreset(x.value)),C={none:`无装饰`,"page-number":`标准页码`,"internal-review":`内部审阅`,draft:`草稿`,custom:`自定义`},w=(0,n.computed)(()=>C[S.value]),T=(0,n.computed)(()=>[x.value.header.enabled,x.value.footer.enabled,x.value.watermark.enabled].filter(Boolean).length);(0,n.watch)(()=>g.activeTab,e=>{e&&(b.value=e)},{immediate:!0}),(0,n.watch)(b,e=>_(`update:activeTab`,e));function E(){(0,n.nextTick)(()=>v.value?.querySelector(`[data-page-decoration-studio-focus]`)?.focus())}function D(){y.value?.resetToDefault()}async function O(e){b.value=e.startsWith(`header.`)?`header`:e.startsWith(`footer.`)?`footer`:`watermark`,await(0,n.nextTick)(),await(0,n.nextTick)();let t=v.value?.querySelector(`[data-page-decoration-path="${e}"] input`);t?.scrollIntoView({block:`nearest`}),t?.focus()}return(0,n.watch)(()=>g.open,e=>{e&&E()}),m({focusField:O}),(e,p)=>((0,n.openBlock)(),(0,n.createElementBlock)(`aside`,{id:g.id,ref_key:`studioRoot`,ref:v,class:(0,n.normalizeClass)([`gd-contract-template-designer__page-decorations-studio`,{"is-open":g.open}]),"aria-label":`页面装饰配置`,"aria-hidden":g.open?void 0:`true`},[(0,n.createElementVNode)(`header`,o,[(0,n.createElementVNode)(`div`,s,[(0,n.createElementVNode)(`span`,c,[(0,n.createVNode)((0,n.unref)(i.BgColorsOutlined))]),(0,n.createElementVNode)(`div`,null,[p[4]||=(0,n.createElementVNode)(`strong`,null,`页面装饰`,-1),(0,n.createElementVNode)(`small`,null,(0,n.toDisplayString)(w.value)+` · 启用 `+(0,n.toDisplayString)(T.value)+`/3`,1)])]),(0,n.createElementVNode)(`div`,l,[(0,n.createVNode)((0,n.unref)(r.Tooltip),{title:`关闭页面装饰`},{default:(0,n.withCtx)(()=>[(0,n.createVNode)((0,n.unref)(r.Button),{size:`small`,class:`gd-contract-template-designer__icon-button`,"aria-label":`关闭页面装饰`,"data-page-decoration-studio-focus":``,onClick:p[0]||=e=>_(`close`)},{default:(0,n.withCtx)(()=>[(0,n.createVNode)((0,n.unref)(i.CloseOutlined),{"aria-hidden":`true`})]),_:1})]),_:1})])]),(0,n.createElementVNode)(`div`,u,[(0,n.createElementVNode)(`section`,d,[(0,n.createVNode)(t.default,{ref_key:`inspectorRef`,ref:y,decorations:g.decorations,variables:g.variables,"font-family-options":g.fontFamilyOptions,readonly:g.readonly,disabled:g.disabled,embedded:``,"active-tab":b.value,"onUpdate:activeTab":p[1]||=e=>b.value=e,onChange:p[2]||=e=>_(`change`,e)},null,8,[`decorations`,`variables`,`font-family-options`,`readonly`,`disabled`,`active-tab`])])]),(0,n.createElementVNode)(`footer`,f,[p[7]||=(0,n.createElementVNode)(`span`,null,`修改实时生效`,-1),(0,n.createElementVNode)(`div`,null,[(0,n.createVNode)((0,n.unref)(r.Button),{size:`small`,disabled:g.readonly||g.disabled,"data-page-decoration-studio-reset":``,onClick:D},{default:(0,n.withCtx)(()=>[(0,n.createVNode)((0,n.unref)(i.ReloadOutlined),{"aria-hidden":`true`}),p[5]||=(0,n.createTextVNode)(` 恢复默认 `,-1)]),_:1},8,[`disabled`]),(0,n.createVNode)((0,n.unref)(r.Button),{size:`small`,type:`primary`,onClick:p[3]||=e=>_(`close`)},{default:(0,n.withCtx)(()=>[...p[6]||=[(0,n.createTextVNode)(`完成`,-1)]]),_:1})])])],10,a))}});exports.default=p;
@@ -0,0 +1 @@
1
+ var e=require(`./ContractTemplatePreviewModal.vue.cjs`).default;exports.default=e;
@@ -0,0 +1 @@
1
+ require(`../../../_virtual/_rolldown/runtime.cjs`);const e=require(`./composables/use-template-designer.cjs`),t=require(`./ContractTemplatePreviewPage.cjs`);let n=require(`vue`),r=require(`ant-design-vue`),i=require(`@ant-design/icons-vue`);var a={key:0,class:`gd-contract-template-designer__preview-layout`},o={class:`gd-contract-template-designer__preview-file-nav`,"aria-label":`合同文件预览切换`},s=[`aria-current`,`onClick`],c={key:0,class:`gd-contract-template-designer__preview-file`},l={class:`gd-contract-template-designer__preview-file-title`},u=(0,n.defineComponent)({__name:`ContractTemplatePreviewModal`,props:{open:{type:Boolean},previewPages:{},previewFileGroups:{},previewActiveGroup:{},previewSnapshot:{}},emits:[`update:open`,`cancel`,`select-file`],setup(u,{emit:d}){let f=d;return(d,p)=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(r.Modal),{open:u.open,title:`模板预览`,width:`min(1440px, calc(100vw - 32px))`,centered:``,footer:null,"wrap-class-name":`gd-contract-template-designer__preview-modal`,"onUpdate:open":p[0]||=e=>f(`update:open`,e),onCancel:p[1]||=e=>f(`cancel`)},{default:(0,n.withCtx)(()=>[(0,n.createElementVNode)(`div`,{class:(0,n.normalizeClass)([`gd-contract-template-designer__preview`,{"is-multi-file":u.previewFileGroups.length>0}])},[u.previewFileGroups.length?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,a,[(0,n.createElementVNode)(`nav`,o,[p[2]||=(0,n.createElementVNode)(`span`,{class:`gd-contract-template-designer__preview-file-nav-title`},`合同文件`,-1),((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(u.previewFileGroups,e=>((0,n.openBlock)(),(0,n.createElementBlock)(`button`,{key:e.file.id,type:`button`,class:(0,n.normalizeClass)([`gd-contract-template-designer__preview-file-tab`,{"is-active":e.file.id===u.previewActiveGroup?.file.id}]),"aria-current":e.file.id===u.previewActiveGroup?.file.id?`page`:void 0,onClick:t=>f(`select-file`,e.file.id)},[(0,n.createVNode)((0,n.unref)(i.FileAddOutlined),{"aria-hidden":`true`}),(0,n.createElementVNode)(`span`,null,(0,n.toDisplayString)(e.file.name),1),(0,n.createElementVNode)(`small`,null,(0,n.toDisplayString)(e.pages.length)+` 页`,1)],10,s))),128))]),u.previewActiveGroup?((0,n.openBlock)(),(0,n.createElementBlock)(`section`,c,[(0,n.createElementVNode)(`h3`,l,(0,n.toDisplayString)(u.previewActiveGroup.file.name),1),((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(u.previewActiveGroup.pages,e=>((0,n.openBlock)(),(0,n.createBlock)(t.default,{key:`${u.previewActiveGroup.file.id}:${e.page.id}`,page:e.page,"fallback-page-size":u.previewActiveGroup.file.template.pageSize,"content-html":e.contentHtml,"signing-placements":e.signingPlacements,"page-decorations":u.previewActiveGroup.file.template.pageDecorations,"page-number":u.previewActiveGroup.pages.indexOf(e)+1,"total-pages":u.previewActiveGroup.pages.length,variables:u.previewActiveGroup.file.template.variables},null,8,[`page`,`fallback-page-size`,`content-html`,`signing-placements`,`page-decorations`,`page-number`,`total-pages`,`variables`]))),128))])):(0,n.createCommentVNode)(``,!0)])):((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,{key:1},(0,n.renderList)(u.previewPages,(r,i)=>((0,n.openBlock)(),(0,n.createBlock)(t.default,{key:r.page.id,page:r.page,"fallback-page-size":u.previewSnapshot?.pageSize??(0,n.unref)(e.DEFAULT_PAGE_SIZE),"content-html":r.contentHtml,"signing-placements":r.signingPlacements,"page-decorations":u.previewSnapshot?.pageDecorations,"page-number":i+1,"total-pages":u.previewPages.length,variables:u.previewSnapshot?.variables??[]},null,8,[`page`,`fallback-page-size`,`content-html`,`signing-placements`,`page-decorations`,`page-number`,`total-pages`,`variables`]))),128))],2)]),_:1},8,[`open`]))}});exports.default=u;
@@ -1 +1 @@
1
- require(`../../../_virtual/_rolldown/runtime.cjs`);const e=require(`./composables/use-template-designer.cjs`),t=require(`./ContractTemplatePreviewSigningLayer.cjs`);let n=require(`vue`);var r={class:`gd-contract-template-designer__preview-page-shell`},i=[`data-page-id`,`data-page-format`,`data-page-label`,`data-page-width`,`data-page-height`],a=[`innerHTML`],o=(0,n.defineComponent)({name:`ContractTemplatePreviewPage`,__name:`ContractTemplatePreviewPage`,props:{page:{},fallbackPageSize:{},contentHtml:{},signingPlacements:{}},setup(o){let s=o,c=(0,n.computed)(()=>e.resolvePageSize(s.page.pageSize,s.fallbackPageSize)),l=(0,n.computed)(()=>({width:`${c.value.width}px`,height:`${c.value.height}px`}));return(e,s)=>((0,n.openBlock)(),(0,n.createElementBlock)(`article`,r,[(0,n.createElementVNode)(`section`,{class:`gd-contract-template-page gd-contract-template-designer__preview-page`,"data-page-id":o.page.id,"data-page-format":c.value.format??`Custom`,"data-page-label":c.value.label??c.value.format??`自定义`,"data-page-width":c.value.width,"data-page-height":c.value.height,style:(0,n.normalizeStyle)(l.value)},[(0,n.createElementVNode)(`div`,{class:`gd-contract-template-designer__preview-page-content`,innerHTML:o.contentHtml},null,8,a),(0,n.createVNode)(t.default,{"page-size":c.value,placements:o.signingPlacements},null,8,[`page-size`,`placements`])],12,i)]))}});exports.default=o;
1
+ require(`../../../_virtual/_rolldown/runtime.cjs`);const e=require(`./utils/page-decorations.cjs`),t=require(`./composables/use-template-designer.cjs`),n=require(`./ContractTemplatePageDecorations.cjs`),r=require(`./ContractTemplatePreviewSigningLayer.cjs`);let i=require(`vue`);var a={class:`gd-contract-template-designer__preview-page-shell`},o=[`data-page-id`,`data-page-format`,`data-page-label`,`data-page-width`,`data-page-height`],s=[`innerHTML`],c=(0,i.defineComponent)({name:`ContractTemplatePreviewPage`,__name:`ContractTemplatePreviewPage`,props:{page:{},fallbackPageSize:{},contentHtml:{},signingPlacements:{},pageDecorations:{},pageNumber:{},totalPages:{},variables:{}},setup(c){let l=c,u=(0,i.computed)(()=>t.resolvePageSize(l.page.pageSize,l.fallbackPageSize)),d=(0,i.computed)(()=>{let t=e.normalizePageDecorations(l.pageDecorations);return{width:`${u.value.width}px`,height:`${u.value.height}px`,paddingTop:`${e.hasEnabledPageHeader(t,l.pageNumber)?e.getPageDecorationSafePadding(t.header):e.CONTRACT_PAGE_BASE_PADDING.top}px`,paddingBottom:`${e.hasEnabledPageFooter(t,l.pageNumber)?e.getPageDecorationSafePadding(t.footer):e.CONTRACT_PAGE_BASE_PADDING.bottom}px`}});return(e,t)=>((0,i.openBlock)(),(0,i.createElementBlock)(`article`,a,[(0,i.createElementVNode)(`section`,{class:`gd-contract-template-page gd-contract-template-designer__preview-page`,"data-page-id":c.page.id,"data-page-format":u.value.format??`Custom`,"data-page-label":u.value.label??u.value.format??`自定义`,"data-page-width":u.value.width,"data-page-height":u.value.height,style:(0,i.normalizeStyle)(d.value)},[(0,i.createVNode)(n.default,{decorations:c.pageDecorations,"page-number":c.pageNumber,"total-pages":c.totalPages,variables:c.variables},null,8,[`decorations`,`page-number`,`total-pages`,`variables`]),(0,i.createElementVNode)(`div`,{class:`gd-contract-template-page__content gd-contract-template-designer__preview-page-content`,innerHTML:c.contentHtml},null,8,s),(0,i.createVNode)(r.default,{"page-size":u.value,placements:c.signingPlacements},null,8,[`page-size`,`placements`])],12,o)]))}});exports.default=c;