@guodun/antdv 1.3.2 → 1.4.0

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 (109) hide show
  1. package/dist/es/components/contract-signing-location/index.mjs +1 -0
  2. package/dist/es/components/contract-signing-location/src/ContractSigningLocation.vue.mjs +304 -289
  3. package/dist/es/components/contract-signing-location/src/ContractSigningLocationCanvas.vue.mjs +337 -326
  4. package/dist/es/components/contract-signing-location/src/ContractSigningLocationNavigator.vue.mjs +41 -33
  5. package/dist/es/components/contract-signing-location/src/ContractSigningTemplatePage.mjs +5 -0
  6. package/dist/es/components/contract-signing-location/src/ContractSigningTemplatePage.vue.mjs +23 -0
  7. package/dist/es/components/contract-signing-location/src/location-rules.mjs +115 -77
  8. package/dist/es/components/contract-signing-location/src/template-source.mjs +85 -0
  9. package/dist/es/components/contract-signing-location/style/index.css +1 -1
  10. package/dist/es/components/index.mjs +8 -6
  11. package/dist/es/components/pro-contract-signing-flow/src/ContractSigningFlowCanvas.vue.mjs +164 -57
  12. package/dist/es/components/pro-contract-signing-flow/src/ContractSigningFlowInspector.vue.mjs +128 -125
  13. package/dist/es/components/pro-contract-signing-flow/src/ContractSigningFlowNodeCard.vue.mjs +75 -49
  14. package/dist/es/components/pro-contract-signing-flow/src/ProContractSigningFlow.vue.mjs +135 -91
  15. package/dist/es/components/pro-contract-signing-flow/src/constants.mjs +25 -5
  16. package/dist/es/components/pro-contract-signing-flow/style/index.css +1 -1
  17. package/dist/es/components/pro-contract-template-designer/index.mjs +5 -4
  18. package/dist/es/components/pro-contract-template-designer/src/ContractTemplateDesignerInspector.mjs +5 -0
  19. package/dist/es/components/pro-contract-template-designer/src/ContractTemplateDesignerInspector.vue.mjs +347 -0
  20. package/dist/es/components/pro-contract-template-designer/src/ContractTemplateDesignerSidebar.mjs +5 -0
  21. package/dist/es/components/pro-contract-template-designer/src/ContractTemplateDesignerSidebar.vue.mjs +171 -0
  22. package/dist/es/components/pro-contract-template-designer/src/ContractTemplateFileBar.mjs +5 -0
  23. package/dist/es/components/pro-contract-template-designer/src/ContractTemplateFileBar.vue.mjs +166 -0
  24. package/dist/es/components/pro-contract-template-designer/src/ContractTemplateRendererField.vue.mjs +4 -4
  25. package/dist/es/components/pro-contract-template-designer/src/ContractTemplateRendererValidation.mjs +5 -0
  26. package/dist/es/components/pro-contract-template-designer/src/ContractTemplateRendererValidation.vue.mjs +36 -0
  27. package/dist/es/components/pro-contract-template-designer/src/DesignerPage.vue.mjs +202 -202
  28. package/dist/es/components/pro-contract-template-designer/src/ProContractTemplateDesigner.vue.mjs +1591 -1612
  29. package/dist/es/components/pro-contract-template-designer/src/ProContractTemplateRenderer.vue.mjs +235 -239
  30. package/dist/es/components/pro-contract-template-designer/src/SigningPlacementLayer.vue.mjs +16 -16
  31. package/dist/es/components/pro-contract-template-designer/src/composables/use-template-designer.mjs +166 -166
  32. package/dist/es/components/pro-contract-template-designer/src/composables/use-template-draft-cache.mjs +100 -33
  33. package/dist/es/components/pro-contract-template-designer/src/composables/use-template-files.mjs +77 -0
  34. package/dist/es/components/pro-contract-template-designer/src/extensions/word-paste.mjs +23 -23
  35. package/dist/es/components/pro-contract-template-designer/src/utils/file-tabs.mjs +14 -0
  36. package/dist/es/components/pro-contract-template-designer/src/utils/template-renderer.mjs +121 -121
  37. package/dist/es/components/pro-contract-template-designer/src/utils/toolbar-overflow.mjs +19 -0
  38. package/dist/es/components/pro-contract-template-designer/style/index.css +1 -1
  39. package/dist/es/index.mjs +23 -21
  40. package/dist/lib/components/contract-signing-location/index.cjs +1 -1
  41. package/dist/lib/components/contract-signing-location/src/ContractSigningLocation.vue.cjs +1 -1
  42. package/dist/lib/components/contract-signing-location/src/ContractSigningLocationCanvas.vue.cjs +1 -1
  43. package/dist/lib/components/contract-signing-location/src/ContractSigningLocationNavigator.vue.cjs +1 -1
  44. package/dist/lib/components/contract-signing-location/src/ContractSigningTemplatePage.cjs +1 -0
  45. package/dist/lib/components/contract-signing-location/src/ContractSigningTemplatePage.vue.cjs +1 -0
  46. package/dist/lib/components/contract-signing-location/src/location-rules.cjs +1 -1
  47. package/dist/lib/components/contract-signing-location/src/template-source.cjs +1 -0
  48. package/dist/lib/components/contract-signing-location/style/index.css +1 -1
  49. package/dist/lib/components/index.cjs +1 -1
  50. package/dist/lib/components/pro-contract-signing-flow/src/ContractSigningFlowCanvas.vue.cjs +1 -1
  51. package/dist/lib/components/pro-contract-signing-flow/src/ContractSigningFlowInspector.vue.cjs +1 -1
  52. package/dist/lib/components/pro-contract-signing-flow/src/ContractSigningFlowNodeCard.vue.cjs +1 -1
  53. package/dist/lib/components/pro-contract-signing-flow/src/ProContractSigningFlow.vue.cjs +1 -1
  54. package/dist/lib/components/pro-contract-signing-flow/src/constants.cjs +1 -1
  55. package/dist/lib/components/pro-contract-signing-flow/style/index.css +1 -1
  56. package/dist/lib/components/pro-contract-template-designer/index.cjs +1 -1
  57. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateDesignerInspector.cjs +1 -0
  58. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateDesignerInspector.vue.cjs +1 -0
  59. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateDesignerSidebar.cjs +1 -0
  60. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateDesignerSidebar.vue.cjs +1 -0
  61. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateFileBar.cjs +1 -0
  62. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateFileBar.vue.cjs +1 -0
  63. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateRendererField.vue.cjs +1 -1
  64. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateRendererValidation.cjs +1 -0
  65. package/dist/lib/components/pro-contract-template-designer/src/ContractTemplateRendererValidation.vue.cjs +1 -0
  66. package/dist/lib/components/pro-contract-template-designer/src/DesignerPage.vue.cjs +2 -2
  67. package/dist/lib/components/pro-contract-template-designer/src/ProContractTemplateDesigner.vue.cjs +1 -1
  68. package/dist/lib/components/pro-contract-template-designer/src/ProContractTemplateRenderer.vue.cjs +1 -1
  69. package/dist/lib/components/pro-contract-template-designer/src/SigningPlacementLayer.vue.cjs +1 -1
  70. package/dist/lib/components/pro-contract-template-designer/src/composables/use-template-designer.cjs +2 -2
  71. package/dist/lib/components/pro-contract-template-designer/src/composables/use-template-draft-cache.cjs +1 -1
  72. package/dist/lib/components/pro-contract-template-designer/src/composables/use-template-files.cjs +2 -0
  73. package/dist/lib/components/pro-contract-template-designer/src/extensions/word-paste.cjs +1 -1
  74. package/dist/lib/components/pro-contract-template-designer/src/utils/file-tabs.cjs +1 -0
  75. package/dist/lib/components/pro-contract-template-designer/src/utils/template-renderer.cjs +2 -2
  76. package/dist/lib/components/pro-contract-template-designer/src/utils/toolbar-overflow.cjs +1 -0
  77. package/dist/lib/components/pro-contract-template-designer/style/index.css +1 -1
  78. package/dist/lib/index.cjs +1 -1
  79. package/dist/theme/contract-signing-location.css +1 -1
  80. package/dist/theme/icon.css +1 -1
  81. package/dist/theme/index.css +1 -1
  82. package/dist/theme/pro-contract-signing-flow.css +1 -1
  83. package/dist/types/components/contract-signing-location/index.d.ts +1 -0
  84. package/dist/types/components/contract-signing-location/src/ContractSigningLocation.vue.d.ts +3 -1
  85. package/dist/types/components/contract-signing-location/src/ContractSigningLocationInspector.vue.d.ts +2 -2
  86. package/dist/types/components/contract-signing-location/src/ContractSigningTemplatePage.vue.d.ts +6 -0
  87. package/dist/types/components/contract-signing-location/src/location-rules.d.ts +3 -3
  88. package/dist/types/components/contract-signing-location/src/template-source.d.ts +20 -0
  89. package/dist/types/components/contract-signing-location/src/types.d.ts +47 -2
  90. package/dist/types/components/pro-contract-signing-flow/src/ContractSigningFlowCanvas.vue.d.ts +19 -3
  91. package/dist/types/components/pro-contract-signing-flow/src/ProContractSigningFlow.vue.d.ts +223 -2
  92. package/dist/types/components/pro-contract-signing-flow/src/constants.d.ts +15 -0
  93. package/dist/types/components/pro-contract-signing-flow/src/types.d.ts +12 -0
  94. package/dist/types/components/pro-contract-template-designer/index.d.ts +1 -0
  95. package/dist/types/components/pro-contract-template-designer/src/ContractTemplateDesignerInspector.vue.d.ts +103 -0
  96. package/dist/types/components/pro-contract-template-designer/src/ContractTemplateDesignerSidebar.vue.d.ts +48 -0
  97. package/dist/types/components/pro-contract-template-designer/src/ContractTemplateFileBar.vue.d.ts +231 -0
  98. package/dist/types/components/pro-contract-template-designer/src/ContractTemplateRendererValidation.vue.d.ts +15 -0
  99. package/dist/types/components/pro-contract-template-designer/src/DesignerPage.vue.d.ts +1 -1
  100. package/dist/types/components/pro-contract-template-designer/src/ProContractTemplateDesigner.vue.d.ts +25 -2
  101. package/dist/types/components/pro-contract-template-designer/src/SigningPlacementInspector.vue.d.ts +2 -2
  102. package/dist/types/components/pro-contract-template-designer/src/composables/use-template-designer.d.ts +1 -1
  103. package/dist/types/components/pro-contract-template-designer/src/composables/use-template-draft-cache.d.ts +29 -1
  104. package/dist/types/components/pro-contract-template-designer/src/composables/use-template-files.d.ts +24 -0
  105. package/dist/types/components/pro-contract-template-designer/src/constants.d.ts +2 -2
  106. package/dist/types/components/pro-contract-template-designer/src/types.d.ts +59 -1
  107. package/dist/types/components/pro-contract-template-designer/src/utils/file-tabs.d.ts +3 -0
  108. package/dist/types/components/pro-contract-template-designer/src/utils/toolbar-overflow.d.ts +11 -0
  109. package/package.json +2 -1
@@ -1 +1 @@
1
- :root{--gdant-primary-50:var(--primary-50,#f4f9ff);--gdant-primary-100:var(--primary-100,#e9f1f6);--gdant-primary-200:var(--primary-200,#bcd7ff);--gdant-primary-300:var(--primary-300,#7fb0ff);--gdant-primary-400:var(--primary-400,#3b87ff);--gdant-primary-500:var(--primary-500,#1161ff);--gdant-primary-600:var(--primary-600,#0d4ed1);--gdant-primary-700:var(--primary-700,#0a3da5);--gdant-primary-800:var(--primary-800,#082c79);--gdant-primary-900:var(--primary-900,#05204d);--gdant-neutral-0:var(--neutral-0,#fff);--gdant-neutral-50:var(--neutral-50,#fafbfc);--gdant-neutral-100:var(--neutral-100,#f5f6f8);--gdant-neutral-200:var(--neutral-200,#eaecef);--gdant-neutral-300:var(--neutral-300,#d9dce0);--gdant-neutral-400:var(--neutral-400,#aab0b7);--gdant-neutral-500:var(--neutral-500,#7a818b);--gdant-neutral-600:var(--neutral-600,#565b66);--gdant-neutral-700:var(--neutral-700,#383d47);--gdant-neutral-800:var(--neutral-800,#262a33);--gdant-neutral-900:var(--neutral-900,#0f131a);--gdant-success-50:var(--success-50,#e8f9ed);--gdant-success-500:var(--success-500,#00b42a);--gdant-success-600:var(--success-600,#009023);--gdant-warning-50:var(--warning-50,#fff3e8);--gdant-warning-100:var(--warning-100,#ffe4cc);--gdant-warning-500:var(--warning-500,#f58634);--gdant-warning-600:var(--warning-600,#d96c1c);--gdant-warning-700:var(--warning-700,#b35316);--gdant-error-50:var(--error-50,#fde9e9);--gdant-error-100:var(--error-100,#fcd4d4);--gdant-error-300:var(--error-300,#f47070);--gdant-error-500:var(--error-500,#ee3939);--gdant-error-600:var(--error-600,#c92626);--gdant-error-700:var(--error-700,#a31c1c);--gdant-radius-xs:var(--radius-xs,2px);--gdant-radius-sm:var(--radius-sm,4px);--gdant-radius-md:var(--radius-md,6px);--gdant-radius-lg:var(--radius-lg,8px);--gdant-radius-xl:var(--radius-xl,12px);--gdant-radius-pill:var(--radius-pill,9999px);--gdant-shadow-raised:var(--shadow-raised,0 1px 2px #0f172a0a, 0 1px 4px #0f172a0f);--gdant-shadow-overlay:var(--shadow-overlay,0 4px 12px #0f172a14, 0 2px 6px #0f172a0a);--gdant-shadow-modal:var(--shadow-modal,0 16px 48px #0f172a29, 0 4px 12px #0f172a14);--gdant-spacing-xs:var(--spacing-xs,4px);--gdant-spacing-sm:var(--spacing-sm,8px);--gdant-spacing-md:var(--spacing-md,12px);--gdant-spacing-base:var(--spacing-base,16px);--gdant-spacing-lg:var(--spacing-lg,20px);--gdant-spacing-xl:var(--spacing-xl,24px);--gdant-text-body:var(--text-body,14px);--gdant-text-body-sm:var(--text-body-sm,12px);--gdant-text-h3:var(--text-h3,16px);--gdant-font-medium:var(--font-medium,500);--gdant-font-semibold:var(--font-semibold,600);--gdant-duration-normal:var(--duration-normal,.2s);--gdant-duration-slow:var(--duration-slow,.3s);--gdant-easing-default:var(--easing-default,cubic-bezier(.2, 0, 0, 1));--gdant-overlay-bg:#ffffffb8;--gdant-z-overlay:var(--z-overlay,1040);--gdant-z-modal:var(--z-modal,1050)}.gd-contract-signing-flow{box-sizing:border-box;border:1px solid var(--gdant-neutral-300);border-radius:var(--gdant-radius-lg);background:var(--gdant-neutral-100);width:100%;min-width:0;min-height:560px;color:var(--gdant-neutral-800);font-family:var(--gdant-font-family);font-size:14px;overflow:hidden;container-type:inline-size}.gd-contract-signing-flow__layout{grid-template-columns:minmax(0,1fr) 336px;width:100%;height:100%;min-height:0;display:grid}.gd-contract-signing-flow__canvas-panel{flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.gd-contract-signing-flow__canvas-header,.gd-contract-signing-flow__inspector-header{border-bottom:1px solid var(--gdant-neutral-200);background:var(--gdant-neutral-0);justify-content:space-between;align-items:center;gap:12px;min-height:64px;padding:12px 16px;display:flex}.gd-contract-signing-flow__canvas-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.gd-contract-signing-flow__canvas-header h2,.gd-contract-signing-flow__inspector-header h2{color:var(--gdant-neutral-800);margin:0;font-size:16px;line-height:1.4}.gd-contract-signing-flow__canvas-header p,.gd-contract-signing-flow__inspector-header p{color:var(--gdant-neutral-500);margin:3px 0 0;font-size:12px}.gd-contract-signing-flow__canvas-scroll{background-color:var(--gdant-neutral-50);background-image:radial-gradient(var(--gdant-neutral-300) .7px, transparent .7px);background-size:18px 18px;flex:1;min-height:0;overflow:auto}.gd-contract-signing-flow__canvas{flex-direction:column;align-items:center;min-width:300px;min-height:100%;padding:28px 20px 36px;display:flex}.gd-contract-signing-flow__step{flex-direction:column;align-items:center;display:flex}.gd-contract-signing-flow__node{border:1px solid var(--gdant-neutral-200);border-radius:var(--gdant-radius-md);background:var(--gdant-neutral-0);width:min(520px,100cqw - 420px);min-width:280px;min-height:64px;box-shadow:var(--gdant-shadow-raised);cursor:pointer;transition:border-color var(--gdant-duration-fast), box-shadow var(--gdant-duration-fast);grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;display:grid;position:relative}.gd-contract-signing-flow__node:hover{border-color:var(--gdant-primary-300)}.gd-contract-signing-flow__node.is-selected{border-color:var(--gdant-primary-500);box-shadow:0 0 0 2px color-mix(in srgb, var(--gdant-primary-500) 12%, transparent), var(--gdant-shadow-raised)}.gd-contract-signing-flow__node.is-unknown{border-color:var(--gdant-warning-400)}.gd-contract-signing-flow__node-icon{border-radius:var(--gdant-radius-md);background:var(--gdant-primary-50);width:32px;height:32px;color:var(--gdant-primary-600);justify-content:center;align-items:center;font-size:15px;display:flex}.gd-contract-signing-flow__node-icon.is-start{background:var(--gdant-success-50);color:var(--gdant-success-600)}.gd-contract-signing-flow__node-icon.is-end{background:var(--gdant-neutral-100);color:var(--gdant-neutral-600)}.gd-contract-signing-flow__node-body{min-width:0}.gd-contract-signing-flow__node-title-row{align-items:center;gap:7px;min-width:0;display:flex}.gd-contract-signing-flow__node-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;overflow:hidden}.gd-contract-signing-flow__node-title-row .ant-tag{flex:none;margin-inline-end:0;line-height:18px}.gd-contract-signing-flow__node-meta{color:var(--gdant-neutral-500);white-space:nowrap;gap:10px;margin-top:5px;font-size:11px;display:flex;overflow:hidden}.gd-contract-signing-flow__node-meta span{text-overflow:ellipsis;align-items:center;gap:3px;min-width:0;display:inline-flex;overflow:hidden}.gd-contract-signing-flow__node-description{color:var(--gdant-neutral-500);text-overflow:ellipsis;white-space:nowrap;margin:4px 0 0;font-size:11px;overflow:hidden}.gd-contract-signing-flow__node-actions{align-items:center;gap:0;display:flex}.gd-contract-signing-flow__node-actions .ant-btn{width:26px;height:26px;padding:0}.gd-contract-signing-flow__connector{width:24px;height:34px;position:relative}.gd-contract-signing-flow__connector span{background:var(--gdant-neutral-400);width:1px;height:24px;position:absolute;top:0;left:50%}.gd-contract-signing-flow__connector i{border-right:1px solid var(--gdant-neutral-500);border-bottom:1px solid var(--gdant-neutral-500);width:8px;height:8px;position:absolute;bottom:3px;left:calc(50% - 4px);transform:rotate(45deg)}.gd-contract-signing-flow__add-node{margin-top:14px}.gd-contract-signing-flow__inspector{border-left:1px solid var(--gdant-neutral-200);background:var(--gdant-neutral-0);flex-direction:column;min-width:0;min-height:0;display:flex}.gd-contract-signing-flow__inspector-header .ant-tag{margin-inline-end:0}.gd-contract-signing-flow__inspector-scroll{min-height:0;overflow:auto}.gd-contract-signing-flow__form-section{border-bottom:1px solid var(--gdant-neutral-200);padding:14px 16px}.gd-contract-signing-flow__form-section.is-collapsed .gd-contract-signing-flow__section-heading{margin-bottom:0}.gd-contract-signing-flow__form-section.is-placement{background:var(--gdant-neutral-50)}.gd-contract-signing-flow__section-heading{justify-content:space-between;align-items:center;gap:8px;min-height:24px;margin-bottom:11px;display:flex}.gd-contract-signing-flow__section-heading.is-toggle{cursor:pointer;text-align:left;width:100%;font:inherit;color:inherit;background:0 0;border:0;padding:0}.gd-contract-signing-flow__section-heading-meta{color:var(--gdant-neutral-500);align-items:center;gap:6px;font-size:12px;display:inline-flex}.gd-contract-signing-flow__section-heading-meta .anticon{color:var(--gdant-neutral-500);transition:transform var(--gdant-duration-fast);font-size:12px}.gd-contract-signing-flow__section-heading h3{margin:0;font-size:13px}.gd-contract-signing-flow__section-heading p{color:var(--gdant-neutral-500);margin:3px 0 0;font-size:11px}.gd-contract-signing-flow__section-heading .ant-tag{margin-inline-end:0}.gd-contract-signing-flow__form .ant-form-item{margin-bottom:10px}.gd-contract-signing-flow__form .ant-form-item:last-child{margin-bottom:0}.gd-contract-signing-flow__form .ant-form-item-label,.gd-contract-signing-flow__rule-grid .ant-form-item-label,.gd-contract-signing-flow__inline-form-item .ant-form-item-label{padding-bottom:4px}.gd-contract-signing-flow__form .ant-form-item-label>label,.gd-contract-signing-flow__rule-grid .ant-form-item-label>label,.gd-contract-signing-flow__inline-form-item .ant-form-item-label>label{color:var(--gdant-neutral-600);font-size:12px}.gd-contract-signing-flow__form .ant-input,.gd-contract-signing-flow__form .ant-input-affix-wrapper,.gd-contract-signing-flow__form .ant-select-selector,.gd-contract-signing-flow__rule-grid .ant-select-selector,.gd-contract-signing-flow__inline-form-item .ant-select-selector{border-radius:var(--gdant-radius-md)}.gd-contract-signing-flow__setting-list{gap:10px;margin-top:13px;display:grid}.gd-contract-signing-flow__setting-list.is-compact{gap:0;margin-top:0}.gd-contract-signing-flow__setting-row{min-height:30px;color:var(--gdant-neutral-700);justify-content:space-between;align-items:center;gap:10px;font-size:12px;display:flex}.gd-contract-signing-flow__setting-row>div{gap:2px;display:grid}.gd-contract-signing-flow__setting-row strong{font-size:12px;font-weight:600}.gd-contract-signing-flow__setting-row span{color:var(--gdant-neutral-700)}.gd-contract-signing-flow__setting-row div span{color:var(--gdant-neutral-500);font-size:11px}.gd-contract-signing-flow__setting-list.is-compact .gd-contract-signing-flow__setting-row{border-bottom:1px solid var(--gdant-neutral-100);min-height:32px}.gd-contract-signing-flow__setting-list.is-compact .gd-contract-signing-flow__setting-row:last-child{border-bottom:0}.gd-contract-signing-flow__rule-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.gd-contract-signing-flow__rule-grid .ant-form-item{margin-bottom:0}.gd-contract-signing-flow__inline-form-item{margin:0}.gd-contract-signing-flow__inline-form-item .ant-form-item-control-input{min-height:32px}.gd-contract-signing-flow__field-label{color:var(--gdant-neutral-600);margin:13px 0 7px;font-size:12px;display:block}.gd-contract-signing-flow__seal-list{grid-template-columns:1fr 1fr;gap:7px 12px;display:grid}.gd-contract-signing-flow__seal-list .ant-checkbox-wrapper{color:var(--gdant-neutral-600);font-size:11px}.gd-contract-signing-flow__node-overview{text-align:center;place-items:center;gap:8px;min-height:260px;padding:28px;display:grid}.gd-contract-signing-flow__node-overview-icon{background:var(--gdant-primary-50);width:42px;height:42px;color:var(--gdant-primary-600);border-radius:50%;place-items:center;font-weight:700;display:grid}.gd-contract-signing-flow__node-overview h3{margin:0;font-size:15px}.gd-contract-signing-flow__node-overview p{max-width:220px;color:var(--gdant-neutral-500);margin:0;font-size:12px;line-height:1.6}.gd-contract-signing-flow__node-overview .ant-tag{margin:0}.gd-contract-signing-flow__empty-inspector{flex:1;min-height:260px}.gd-contract-signing-flow.is-disabled{filter:saturate(.75)}@container (width<=820px){.gd-contract-signing-flow__layout{grid-template-rows:minmax(420px,1fr) auto;grid-template-columns:1fr;overflow:auto}.gd-contract-signing-flow__inspector{border-top:1px solid var(--gdant-neutral-200);border-left:0;max-height:none}.gd-contract-signing-flow__node{width:min(520px,100cqw - 40px)}}@container (width<=460px){.gd-contract-signing-flow__canvas-header,.gd-contract-signing-flow__inspector-header{padding:10px 12px}.gd-contract-signing-flow__canvas-header .ant-btn{padding-inline:9px}.gd-contract-signing-flow__canvas-actions{flex-wrap:nowrap}.gd-contract-signing-flow__canvas{min-width:0;padding-inline:12px}.gd-contract-signing-flow__node{grid-template-columns:30px minmax(0,1fr) auto;width:calc(100cqw - 24px);min-width:0;padding-inline:9px}.gd-contract-signing-flow__node-icon{width:30px;height:30px}.gd-contract-signing-flow__node-meta{gap:7px}.gd-contract-signing-flow__node-meta span:nth-child(3){display:none}.gd-contract-signing-flow__node-actions .ant-btn{width:23px}.gd-contract-signing-flow__form-section{padding-inline:12px}}@media (prefers-reduced-motion:reduce){.gd-contract-signing-flow *{transition:none!important}}
1
+ :root{--gdant-primary-50:var(--primary-50,#f4f9ff);--gdant-primary-100:var(--primary-100,#e9f1f6);--gdant-primary-200:var(--primary-200,#bcd7ff);--gdant-primary-300:var(--primary-300,#7fb0ff);--gdant-primary-400:var(--primary-400,#3b87ff);--gdant-primary-500:var(--primary-500,#1161ff);--gdant-primary-600:var(--primary-600,#0d4ed1);--gdant-primary-700:var(--primary-700,#0a3da5);--gdant-primary-800:var(--primary-800,#082c79);--gdant-primary-900:var(--primary-900,#05204d);--gdant-neutral-0:var(--neutral-0,#fff);--gdant-neutral-50:var(--neutral-50,#fafbfc);--gdant-neutral-100:var(--neutral-100,#f5f6f8);--gdant-neutral-200:var(--neutral-200,#eaecef);--gdant-neutral-300:var(--neutral-300,#d9dce0);--gdant-neutral-400:var(--neutral-400,#aab0b7);--gdant-neutral-500:var(--neutral-500,#7a818b);--gdant-neutral-600:var(--neutral-600,#565b66);--gdant-neutral-700:var(--neutral-700,#383d47);--gdant-neutral-800:var(--neutral-800,#262a33);--gdant-neutral-900:var(--neutral-900,#0f131a);--gdant-success-50:var(--success-50,#e8f9ed);--gdant-success-500:var(--success-500,#00b42a);--gdant-success-600:var(--success-600,#009023);--gdant-warning-50:var(--warning-50,#fff3e8);--gdant-warning-100:var(--warning-100,#ffe4cc);--gdant-warning-500:var(--warning-500,#f58634);--gdant-warning-600:var(--warning-600,#d96c1c);--gdant-warning-700:var(--warning-700,#b35316);--gdant-error-50:var(--error-50,#fde9e9);--gdant-error-100:var(--error-100,#fcd4d4);--gdant-error-300:var(--error-300,#f47070);--gdant-error-500:var(--error-500,#ee3939);--gdant-error-600:var(--error-600,#c92626);--gdant-error-700:var(--error-700,#a31c1c);--gdant-radius-xs:var(--radius-xs,2px);--gdant-radius-sm:var(--radius-sm,4px);--gdant-radius-md:var(--radius-md,6px);--gdant-radius-lg:var(--radius-lg,8px);--gdant-radius-xl:var(--radius-xl,12px);--gdant-radius-pill:var(--radius-pill,9999px);--gdant-shadow-raised:var(--shadow-raised,0 1px 2px #0f172a0a, 0 1px 4px #0f172a0f);--gdant-shadow-overlay:var(--shadow-overlay,0 4px 12px #0f172a14, 0 2px 6px #0f172a0a);--gdant-shadow-modal:var(--shadow-modal,0 16px 48px #0f172a29, 0 4px 12px #0f172a14);--gdant-spacing-xs:var(--spacing-xs,4px);--gdant-spacing-sm:var(--spacing-sm,8px);--gdant-spacing-md:var(--spacing-md,12px);--gdant-spacing-base:var(--spacing-base,16px);--gdant-spacing-lg:var(--spacing-lg,20px);--gdant-spacing-xl:var(--spacing-xl,24px);--gdant-text-body:var(--text-body,14px);--gdant-text-body-sm:var(--text-body-sm,12px);--gdant-text-h3:var(--text-h3,16px);--gdant-font-medium:var(--font-medium,500);--gdant-font-semibold:var(--font-semibold,600);--gdant-duration-normal:var(--duration-normal,.2s);--gdant-duration-slow:var(--duration-slow,.3s);--gdant-easing-default:var(--easing-default,cubic-bezier(.2, 0, 0, 1));--gdant-overlay-bg:#ffffffb8;--gdant-z-overlay:var(--z-overlay,1040);--gdant-z-modal:var(--z-modal,1050)}.gd-contract-signing-flow{box-sizing:border-box;border:1px solid var(--gdant-neutral-300);border-radius:var(--gdant-radius-lg);background:var(--gdant-neutral-100);width:100%;min-width:0;min-height:560px;color:var(--gdant-neutral-800);font-family:var(--gdant-font-family);outline:none;font-size:14px;overflow:hidden;container-type:inline-size}.gd-contract-signing-flow:focus-visible{box-shadow:0 0 0 2px color-mix(in srgb, var(--gdant-primary-500) 20%, transparent)}.gd-contract-signing-flow__layout{grid-template-columns:minmax(0,1fr) 336px;width:100%;height:100%;min-height:0;display:grid}.gd-contract-signing-flow__canvas-panel{flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.gd-contract-signing-flow__canvas-header,.gd-contract-signing-flow__inspector-header{justify-content:space-between;align-items:center;gap:var(--gdant-spacing-md);min-height:64px;padding:var(--gdant-spacing-md) var(--gdant-spacing-base);border-bottom:1px solid var(--gdant-neutral-200);background:var(--gdant-neutral-0);display:flex}.gd-contract-signing-flow__canvas-actions{align-items:center;gap:var(--gdant-spacing-sm);flex-shrink:0;display:flex}.gd-contract-signing-flow__zoom-tools{align-items:center;gap:var(--gdant-spacing-xs);padding:var(--gdant-spacing-xs);border:1px solid var(--gdant-neutral-200);border-radius:var(--gdant-radius-md);background:var(--gdant-neutral-50);flex:none;display:inline-flex}.gd-contract-signing-flow__zoom-tools .ant-btn{width:calc(var(--gdant-spacing-base) + var(--gdant-spacing-md));height:calc(var(--gdant-spacing-base) + var(--gdant-spacing-md));padding:0}.gd-contract-signing-flow__zoom-value{appearance:none;min-width:calc(var(--gdant-spacing-xl) * 2);height:calc(var(--gdant-spacing-base) + var(--gdant-spacing-md));padding:0 var(--gdant-spacing-xs);border-radius:var(--gdant-radius-sm);color:var(--gdant-neutral-700);font:inherit;font-size:var(--gdant-text-body-sm);font-variant-numeric:tabular-nums;cursor:pointer;background:0 0;border:0}.gd-contract-signing-flow__zoom-value:hover,.gd-contract-signing-flow__zoom-value:focus-visible{background:var(--gdant-primary-50);color:var(--gdant-primary-700);outline:none}.gd-contract-signing-flow__canvas-header p,.gd-contract-signing-flow__inspector-header p{margin:var(--gdant-spacing-xs) 0 0;color:var(--gdant-neutral-500);font-size:var(--gdant-text-body-sm)}.gd-contract-signing-flow__inspector-type{padding:0 var(--gdant-spacing-xs);border:1px solid var(--gdant-neutral-200);border-radius:var(--gdant-radius-sm);background:var(--gdant-neutral-50);color:var(--gdant-neutral-600);font-size:var(--gdant-text-body-sm);flex:none;align-items:center;line-height:1.5;display:inline-flex}.gd-contract-signing-flow__canvas-scroll{background-color:var(--gdant-neutral-50);background-image:radial-gradient(var(--gdant-neutral-300) .7px, transparent .7px);background-size:18px 18px;flex:1;min-height:0;overflow:auto}.gd-contract-signing-flow__canvas-scale{min-width:300px;min-height:100%;position:relative}.gd-contract-signing-flow__canvas{box-sizing:border-box;will-change:transform;min-width:300px;transition:transform var(--gdant-duration-normal);flex-direction:column;align-items:center;padding:28px 20px 36px;display:flex;position:absolute;top:0;left:50%}.gd-contract-signing-flow__step{flex-direction:column;align-items:center;width:100%;display:flex}.gd-contract-signing-flow__node{box-sizing:border-box;cursor:pointer;min-width:0;max-width:100%;transition:border-color var(--gdant-duration-normal), box-shadow var(--gdant-duration-normal);outline:none;flex-direction:column;align-items:center;display:flex;position:relative;overflow:visible}.gd-contract-signing-flow__node.is-disabled{cursor:not-allowed}.gd-contract-signing-flow__node.is-terminal{width:auto;box-shadow:none;gap:var(--gdant-spacing-xs);background:0 0;border:0;padding:0}.gd-contract-signing-flow__node.is-sign,.gd-contract-signing-flow__node.is-unknown{align-items:start;gap:var(--gdant-spacing-sm);width:288px;padding:var(--gdant-spacing-sm) var(--gdant-spacing-md);border:1px solid var(--gdant-neutral-200);border-radius:var(--gdant-radius-md);background:var(--gdant-neutral-0);box-shadow:var(--gdant-shadow-raised);grid-template-rows:auto;grid-template-columns:36px minmax(0,1fr);display:grid}.gd-contract-signing-flow__node.is-sign{padding-left:calc(var(--gdant-spacing-md) + var(--gdant-spacing-xs))}.gd-contract-signing-flow__node.is-sign:before{content:"";width:var(--gdant-spacing-xs);border-radius:var(--gdant-radius-md) 0 0 var(--gdant-radius-md);background:var(--gdant-primary-500);position:absolute;top:0;bottom:0;left:0}.gd-contract-signing-flow__node.is-sign.is-person:before{background:var(--gdant-warning-500)}.gd-contract-signing-flow__node.is-sign.is-company:before{background:var(--gdant-primary-500)}.gd-contract-signing-flow__node.is-sign:hover{border-color:var(--gdant-primary-300)}.gd-contract-signing-flow__node.is-sign.is-selected,.gd-contract-signing-flow__node.is-sign:focus-visible{border-color:var(--gdant-primary-500);box-shadow:0 0 0 2px color-mix(in srgb, var(--gdant-primary-500) 12%, transparent), var(--gdant-shadow-raised)}.gd-contract-signing-flow__node.is-unknown{border-color:var(--gdant-warning-500)}.gd-contract-signing-flow__node.is-unknown:hover,.gd-contract-signing-flow__node.is-unknown.is-selected,.gd-contract-signing-flow__node.is-unknown:focus-visible{border-color:var(--gdant-warning-600);box-shadow:0 0 0 2px color-mix(in srgb, var(--gdant-warning-500) 12%, transparent), var(--gdant-shadow-raised)}.gd-contract-signing-flow__node-icon{border-radius:var(--gdant-radius-pill);background:var(--gdant-primary-50);width:36px;height:36px;color:var(--gdant-primary-600);font-size:var(--gdant-text-body);flex:none;justify-content:center;align-items:center;display:flex}.gd-contract-signing-flow__node.is-terminal .gd-contract-signing-flow__node-icon{width:40px;height:40px}.gd-contract-signing-flow__node-icon.is-start{background:var(--gdant-success-50);color:var(--gdant-success-600)}.gd-contract-signing-flow__node-icon.is-end{background:var(--gdant-neutral-100);color:var(--gdant-neutral-600)}.gd-contract-signing-flow__node.is-unknown .gd-contract-signing-flow__node-icon{background:var(--gdant-warning-50);color:var(--gdant-warning-600)}.gd-contract-signing-flow__node.is-terminal.is-selected .gd-contract-signing-flow__node-icon,.gd-contract-signing-flow__node.is-terminal:focus-visible .gd-contract-signing-flow__node-icon{box-shadow:0 0 0 2px var(--gdant-primary-500), 0 0 0 4px color-mix(in srgb, var(--gdant-primary-500) 12%, transparent)}.gd-contract-signing-flow__node-caption{color:var(--gdant-neutral-600);font-size:var(--gdant-text-body-sm);line-height:1.5}.gd-contract-signing-flow__node.is-sign .gd-contract-signing-flow__node-icon,.gd-contract-signing-flow__node.is-unknown .gd-contract-signing-flow__node-icon{grid-area:1/1}.gd-contract-signing-flow__node-body{grid-area:1/2;min-width:0}.gd-contract-signing-flow__node-title-row{align-items:center;gap:var(--gdant-spacing-xs);min-width:0;display:flex}.gd-contract-signing-flow__node-name{min-width:0;color:var(--gdant-neutral-800);font-size:var(--gdant-text-body);font-weight:var(--gdant-font-semibold);overflow-wrap:anywhere;line-height:1.4}.gd-contract-signing-flow__node-chips{gap:var(--gdant-spacing-xs);margin-top:var(--gdant-spacing-xs);flex-wrap:wrap;display:flex}.gd-contract-signing-flow__node-chip{max-width:100%;padding:0 var(--gdant-spacing-xs);border:1px solid var(--gdant-neutral-200);border-radius:var(--gdant-radius-sm);background:var(--gdant-neutral-50);color:var(--gdant-neutral-600);font-size:var(--gdant-text-body-sm);align-items:center;line-height:1.5;display:inline-flex}.gd-contract-signing-flow__node-description{margin:var(--gdant-spacing-xs) 0 0;color:var(--gdant-neutral-500);font-size:var(--gdant-text-body-sm);overflow-wrap:anywhere;line-height:1.5}.gd-contract-signing-flow__node-actions{top:calc(var(--gdant-spacing-md) * -1);right:var(--gdant-spacing-sm);z-index:1;padding:var(--gdant-spacing-xs);border:1px solid var(--gdant-neutral-200);border-radius:var(--gdant-radius-sm);background:var(--gdant-neutral-0);box-shadow:var(--gdant-shadow-overlay);align-items:center;display:flex;position:absolute}.gd-contract-signing-flow__node-actions .ant-btn{width:26px;height:26px;padding:0}.gd-contract-signing-flow__connector{flex:none;width:24px;height:48px;position:relative}.gd-contract-signing-flow__connector span{background:var(--gdant-neutral-400);width:1px;height:38px;position:absolute;top:0;left:50%}.gd-contract-signing-flow__connector i{left:calc(50% - 4px);bottom:var(--gdant-spacing-xs);border-right:1px solid var(--gdant-neutral-500);border-bottom:1px solid var(--gdant-neutral-500);width:8px;height:8px;position:absolute;transform:rotate(45deg)}.gd-contract-signing-flow__add-on-timeline{appearance:none;align-items:center;gap:var(--gdant-spacing-xs);margin:var(--gdant-spacing-sm) 0 0;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;flex-direction:column;padding:0;display:flex}.gd-contract-signing-flow__add-on-timeline:disabled{cursor:not-allowed;opacity:.45}.gd-contract-signing-flow__add-on-timeline-icon{border:1px dashed var(--gdant-neutral-300);border-radius:var(--gdant-radius-pill);background:var(--gdant-neutral-0);width:40px;height:40px;color:var(--gdant-primary-600);place-items:center;display:grid}.gd-contract-signing-flow__add-on-timeline:hover:not(:disabled) .gd-contract-signing-flow__add-on-timeline-icon{border-color:var(--gdant-primary-300)}.gd-contract-signing-flow__add-on-timeline:focus-visible{outline:none}.gd-contract-signing-flow__add-on-timeline:focus-visible .gd-contract-signing-flow__add-on-timeline-icon{box-shadow:0 0 0 2px var(--gdant-primary-500), 0 0 0 4px color-mix(in srgb, var(--gdant-primary-500) 12%, transparent)}.gd-contract-signing-flow__add-on-timeline-caption{color:var(--gdant-neutral-600);font-size:var(--gdant-text-body-sm);line-height:1.5}.gd-contract-signing-flow__inspector{border-left:1px solid var(--gdant-neutral-200);background:var(--gdant-neutral-0);flex-direction:column;min-width:0;min-height:0;display:flex}.gd-contract-signing-flow__inspector-scroll{min-height:0;overflow:auto}.gd-contract-signing-flow__form-section{padding:14px var(--gdant-spacing-base);border-bottom:1px solid var(--gdant-neutral-200)}.gd-contract-signing-flow__form-section.is-collapsed .gd-contract-signing-flow__section-heading{margin-bottom:0}.gd-contract-signing-flow__form-section.is-placement{background:var(--gdant-neutral-50)}.gd-contract-signing-flow__section-heading{justify-content:space-between;align-items:center;gap:var(--gdant-spacing-sm);min-height:24px;margin-bottom:11px;display:flex}.gd-contract-signing-flow__section-heading.is-toggle{appearance:none;cursor:pointer;text-align:left;width:100%;font:inherit;color:inherit;background:0 0;border:0;padding:0}.gd-contract-signing-flow__section-heading-meta{align-items:center;gap:var(--gdant-spacing-sm);color:var(--gdant-neutral-500);font-size:var(--gdant-text-body-sm);display:inline-flex}.gd-contract-signing-flow__section-heading-meta .anticon{color:var(--gdant-neutral-500);font-size:var(--gdant-text-body-sm);transition:transform var(--gdant-duration-normal)}.gd-contract-signing-flow__section-heading h3{align-items:center;margin:0;font-size:13px;display:flex}.gd-contract-signing-flow__section-heading h3:before{content:"";width:var(--gdant-spacing-xs);height:var(--gdant-spacing-md);border-radius:var(--gdant-radius-xs);background:var(--gdant-primary-500);margin-inline-end:var(--gdant-spacing-sm);display:inline-block}.gd-contract-signing-flow__section-heading p{margin:var(--gdant-spacing-xs) 0 0;color:var(--gdant-neutral-500);font-size:11px}.gd-contract-signing-flow__section-heading .ant-tag{margin-inline-end:0}.gd-contract-signing-flow__rule-summary{padding:0 var(--gdant-spacing-xs);border:1px solid var(--gdant-neutral-200);border-radius:var(--gdant-radius-sm);background:var(--gdant-neutral-50);color:var(--gdant-neutral-600);font-size:var(--gdant-text-body-sm);flex:none;align-items:center;line-height:1.5;display:inline-flex}.gd-contract-signing-flow__form .ant-form-item{margin-bottom:10px}.gd-contract-signing-flow__form .ant-form-item:last-child{margin-bottom:0}.gd-contract-signing-flow__form .ant-form-item-label,.gd-contract-signing-flow__rule-grid .ant-form-item-label,.gd-contract-signing-flow__inline-form-item .ant-form-item-label{padding-bottom:var(--gdant-spacing-xs)}.gd-contract-signing-flow__form .ant-form-item-label>label,.gd-contract-signing-flow__rule-grid .ant-form-item-label>label,.gd-contract-signing-flow__inline-form-item .ant-form-item-label>label{color:var(--gdant-neutral-600);font-size:12px}.gd-contract-signing-flow__form .ant-input,.gd-contract-signing-flow__form .ant-input-affix-wrapper,.gd-contract-signing-flow__form .ant-select-selector,.gd-contract-signing-flow__rule-grid .ant-select-selector,.gd-contract-signing-flow__inline-form-item .ant-select-selector{border-radius:var(--gdant-radius-md)}.gd-contract-signing-flow__setting-list{gap:10px;margin-top:13px;display:grid}.gd-contract-signing-flow__setting-list.is-compact{gap:0;margin-top:0}.gd-contract-signing-flow__setting-row{min-height:30px;color:var(--gdant-neutral-700);justify-content:space-between;align-items:center;gap:10px;font-size:12px;display:flex}.gd-contract-signing-flow__setting-row>div{gap:2px;display:grid}.gd-contract-signing-flow__setting-row strong{font-size:12px;font-weight:var(--gdant-font-semibold)}.gd-contract-signing-flow__setting-row span{color:var(--gdant-neutral-700)}.gd-contract-signing-flow__setting-row div span{color:var(--gdant-neutral-500);font-size:11px}.gd-contract-signing-flow__setting-list.is-compact .gd-contract-signing-flow__setting-row{border-bottom:1px solid var(--gdant-neutral-100);min-height:32px}.gd-contract-signing-flow__setting-list.is-compact .gd-contract-signing-flow__setting-row:last-child{border-bottom:0}.gd-contract-signing-flow__rule-grid{gap:var(--gdant-spacing-sm);grid-template-columns:1fr;display:grid}.gd-contract-signing-flow__rule-grid .ant-form-item{margin-bottom:0}.gd-contract-signing-flow__inline-form-item{margin:0}.gd-contract-signing-flow__inline-form-item .ant-form-item-control-input{min-height:32px}.gd-contract-signing-flow__field-label{color:var(--gdant-neutral-600);font-size:var(--gdant-text-body-sm);margin:13px 0 7px;display:block}.gd-contract-signing-flow__segmented{width:100%;padding:var(--gdant-spacing-xs);border-radius:var(--gdant-radius-md);background:var(--gdant-neutral-100)}.gd-contract-signing-flow__segmented .ant-radio-group{width:100%;display:grid}.gd-contract-signing-flow__segmented.is-two .ant-radio-group{grid-template-columns:repeat(2,minmax(0,1fr))}.gd-contract-signing-flow__segmented.is-three .ant-radio-group{grid-template-columns:repeat(3,minmax(0,1fr))}.gd-contract-signing-flow__segmented .ant-radio-button-wrapper{min-width:0;height:28px;padding:0 var(--gdant-spacing-xs);border-radius:var(--gdant-radius-sm);color:var(--gdant-neutral-700);text-align:center;box-shadow:none;background:0 0;border:0;justify-content:center;align-items:center;display:flex}.gd-contract-signing-flow__segmented .ant-radio-button-wrapper:before{display:none}.gd-contract-signing-flow__segmented .ant-radio-button-wrapper:not(:first-child){margin-inline-start:0}.gd-contract-signing-flow__segmented .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled){background:var(--gdant-primary-500);color:var(--gdant-neutral-0)}.gd-contract-signing-flow__segmented .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):hover,.gd-contract-signing-flow__segmented .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):focus-within{background:var(--gdant-primary-600);color:var(--gdant-neutral-0)}.gd-contract-signing-flow__segmented .ant-radio-button-wrapper-checked>span{color:inherit}.gd-contract-signing-flow__segmented .ant-radio-button-wrapper:not(.ant-radio-button-wrapper-checked):not(.ant-radio-button-wrapper-disabled):hover{color:var(--gdant-primary-600)}.gd-contract-signing-flow__segmented .ant-radio-button-wrapper-disabled{color:var(--gdant-neutral-400)}.gd-contract-signing-flow__segmented .ant-radio-button-wrapper-checked.ant-radio-button-wrapper-disabled{background:var(--gdant-neutral-200);color:var(--gdant-neutral-500)}.gd-contract-signing-flow__identity-note{margin:var(--gdant-spacing-sm) 0 0;padding:var(--gdant-spacing-sm);border-left:var(--gdant-spacing-xs) solid var(--gdant-primary-300);background:var(--gdant-neutral-50);color:var(--gdant-neutral-600);font-size:var(--gdant-text-body-sm);line-height:1.5}.gd-contract-signing-flow__seal-list{gap:var(--gdant-spacing-sm);grid-template-columns:1fr 1fr;display:grid}.gd-contract-signing-flow__seal-tile{min-height:32px;padding:var(--gdant-spacing-xs) var(--gdant-spacing-sm);border:1px solid var(--gdant-neutral-200);border-radius:var(--gdant-radius-sm);background:var(--gdant-neutral-50);color:var(--gdant-neutral-600);align-items:center;font-size:11px;display:flex}.gd-contract-signing-flow__seal-tile.ant-checkbox-wrapper-checked{border-color:var(--gdant-primary-300);background:var(--gdant-primary-50);color:var(--gdant-primary-700)}.gd-contract-signing-flow__placement-summary{align-items:center;gap:var(--gdant-spacing-sm);margin-bottom:var(--gdant-spacing-sm);padding:var(--gdant-spacing-sm) var(--gdant-spacing-md);border:1px solid var(--gdant-neutral-200);border-radius:var(--gdant-radius-md);background:var(--gdant-neutral-0);display:flex}.gd-contract-signing-flow__placement-summary strong{color:var(--gdant-neutral-800);font-size:var(--gdant-text-body-sm);font-weight:var(--gdant-font-semibold);display:block}.gd-contract-signing-flow__placement-summary p{color:var(--gdant-neutral-500);font-size:var(--gdant-text-body-sm);margin:0;line-height:1.5}.gd-contract-signing-flow__placement-count{border-radius:var(--gdant-radius-sm);background:var(--gdant-success-50);width:32px;height:32px;color:var(--gdant-success-600);font-weight:var(--gdant-font-semibold);flex:none;place-items:center;display:grid}.gd-contract-signing-flow__node-overview{place-items:center;gap:var(--gdant-spacing-sm);text-align:center;min-height:260px;padding:28px;display:grid}.gd-contract-signing-flow__node-overview-icon{border-radius:var(--gdant-radius-pill);background:var(--gdant-warning-50);width:40px;height:40px;color:var(--gdant-warning-600);font-size:var(--gdant-text-body);place-items:center;display:grid}.gd-contract-signing-flow__node-overview.is-start .gd-contract-signing-flow__node-overview-icon{background:var(--gdant-success-50);color:var(--gdant-success-600)}.gd-contract-signing-flow__node-overview.is-end .gd-contract-signing-flow__node-overview-icon{background:var(--gdant-neutral-100);color:var(--gdant-neutral-600)}.gd-contract-signing-flow__node-overview h3{margin:0;font-size:15px}.gd-contract-signing-flow__node-overview p{max-width:220px;color:var(--gdant-neutral-500);font-size:var(--gdant-text-body-sm);margin:0;line-height:1.6}.gd-contract-signing-flow__node-overview-hint{padding:0 var(--gdant-spacing-xs);border:1px solid var(--gdant-neutral-200);border-radius:var(--gdant-radius-sm);background:var(--gdant-neutral-50);color:var(--gdant-neutral-600);font-size:var(--gdant-text-body-sm);align-items:center;line-height:1.5;display:inline-flex}.gd-contract-signing-flow__empty-inspector{flex:1;min-height:260px}.gd-contract-signing-flow.is-disabled{filter:saturate(.75)}@container (width<=820px){.gd-contract-signing-flow__layout{grid-template-rows:minmax(420px,1fr) auto;grid-template-columns:1fr;overflow:auto}.gd-contract-signing-flow__inspector{border-top:1px solid var(--gdant-neutral-200);border-left:0;max-height:none}.gd-contract-signing-flow__canvas-header{align-items:flex-start}.gd-contract-signing-flow__canvas-actions{flex-wrap:wrap;justify-content:flex-end}.gd-contract-signing-flow__node.is-sign,.gd-contract-signing-flow__node.is-unknown{width:100%;min-width:0}}@container (width<=460px){.gd-contract-signing-flow__canvas-header,.gd-contract-signing-flow__inspector-header{padding:var(--gdant-spacing-sm) var(--gdant-spacing-md)}.gd-contract-signing-flow__canvas-header{flex-direction:column}.gd-contract-signing-flow__canvas-header .ant-btn{padding-inline:var(--gdant-spacing-sm)}.gd-contract-signing-flow__canvas-actions{justify-content:space-between;width:100%}.gd-contract-signing-flow__zoom-tools{margin-inline-start:auto}.gd-contract-signing-flow__canvas{min-width:0;padding-inline:12px}.gd-contract-signing-flow__canvas-scale{min-width:0}.gd-contract-signing-flow__node-actions .ant-btn{width:23px}.gd-contract-signing-flow__form-section{padding-inline:12px}}@media (prefers-reduced-motion:reduce){.gd-contract-signing-flow *{transition:none!important}}
@@ -1 +1 @@
1
- const e=require(`../utils/install.cjs`);require(`../contract-signing-location/src/constants.cjs`),require(`./src/constants.cjs`),require(`./src/utils/image-url.cjs`),require(`./src/utils/content-image.cjs`),require(`./src/types.cjs`),require(`./src/utils/signing-placement.cjs`),require(`./src/composables/use-template-designer.cjs`),require(`./src/composables/use-template-draft-cache.cjs`);const t=require(`./src/ProContractTemplateDesigner.cjs`);require(`./src/utils/template-renderer.cjs`);const n=require(`./src/ProContractTemplateRenderer.cjs`);require(`./style/index.cjs`);var r=e.withInstall(t.default),i=e.withInstall(n.default);exports.GdAntProContractTemplateRenderer=i,exports.default=r;
1
+ const e=require(`../utils/install.cjs`);require(`../contract-signing-location/src/constants.cjs`),require(`./src/types.cjs`),require(`./src/utils/signing-placement.cjs`),require(`./src/constants.cjs`),require(`./src/composables/use-template-designer.cjs`),require(`./src/utils/image-url.cjs`),require(`./src/utils/template-renderer.cjs`),require(`./src/utils/content-image.cjs`),require(`./src/composables/use-template-draft-cache.cjs`),require(`./src/composables/use-template-files.cjs`);const t=require(`./src/ProContractTemplateDesigner.cjs`),n=require(`./src/ProContractTemplateRenderer.cjs`);require(`./style/index.cjs`);var r=e.withInstall(t.default),i=e.withInstall(n.default);exports.GdAntProContractTemplateRenderer=i,exports.default=r;
@@ -0,0 +1 @@
1
+ var e=require(`./ContractTemplateDesignerInspector.vue.cjs`).default;exports.default=e;
@@ -0,0 +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;
@@ -0,0 +1 @@
1
+ var e=require(`./ContractTemplateDesignerSidebar.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=[`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;
@@ -0,0 +1 @@
1
+ var e=require(`./ContractTemplateFileBar.vue.cjs`).default;exports.default=e;
@@ -0,0 +1 @@
1
+ require(`../../../_virtual/_rolldown/runtime.cjs`);const e=require(`./utils/file-tabs.cjs`);let t=require(`vue`),n=require(`ant-design-vue`),r=require(`@ant-design/icons-vue`);var i={class:`gd-contract-template-designer__file-bar`,"aria-label":`合同文件`},a={class:`gd-contract-template-designer__file-list`,role:`tablist`,"aria-label":`合同文件列表`},o=[`data-file-id`,`aria-selected`,`tabindex`,`title`,`onClick`,`onDblclick`,`onKeydown`],s={class:`gd-contract-template-designer__file-index`},c={class:`gd-contract-template-designer__file-name`},l={key:2,class:`gd-contract-template-designer__file-actions`},u=(0,t.defineComponent)({name:`ContractTemplateFileBar`,__name:`ContractTemplateFileBar`,props:{files:{},activeFileId:{},readonly:{type:Boolean}},emits:[`select`,`add`,`rename`,`remove`,`move`],setup(u,{emit:d}){let f=u,p=d,m=(0,t.shallowRef)(``),h=(0,t.shallowRef)(``),g=(0,t.useTemplateRef)(`renameInput`);function _(e){f.readonly||(m.value=e.id,h.value=e.name,(0,t.nextTick)(()=>g.value?.$el?.querySelector(`input`)?.focus()))}function v(){m.value=``,h.value=``}function y(){let e=m.value;e&&(p(`rename`,e,h.value),v())}function b(e){e.key===`Escape`&&(e.preventDefault(),v())}function x(n,r){let i=e.resolveContractTemplateFileTabTargetIndex(r,n.key,f.files.length);if(i===void 0)return;n.preventDefault();let a=n.currentTarget?.closest(`[role="tablist"]`),o=f.files[i];o&&(p(`select`,o.id),(0,t.nextTick)(()=>{Array.from(a?.querySelectorAll(`[role="tab"]`)??[]).find(e=>e.dataset.fileId===o.id)?.focus()}))}return(e,d)=>((0,t.openBlock)(),(0,t.createElementBlock)(`nav`,i,[(0,t.createElementVNode)(`div`,a,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(u.files,(e,i)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:e.id,class:(0,t.normalizeClass)([`gd-contract-template-designer__file-item`,{"is-active":u.activeFileId===e.id}])},[m.value===e.id?((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(n.Input),{key:0,ref_for:!0,ref_key:`renameInput`,ref:g,value:h.value,"onUpdate:value":d[0]||=e=>h.value=e,class:`gd-contract-template-designer__file-rename`,size:`small`,maxlength:80,"aria-label":`文件名称`,onBlur:y,onPressEnter:y,onKeydown:b},null,8,[`value`])):((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:1,type:`button`,class:`gd-contract-template-designer__file-tab`,role:`tab`,"data-file-id":e.id,"aria-selected":u.activeFileId===e.id,tabindex:u.activeFileId===e.id?0:-1,title:e.name,onClick:t=>p(`select`,e.id),onDblclick:t=>_(e),onKeydown:e=>x(e,i)},[(0,t.createElementVNode)(`span`,s,(0,t.toDisplayString)(i+1),1),(0,t.createElementVNode)(`span`,c,(0,t.toDisplayString)(e.name),1),(0,t.createElementVNode)(`small`,null,(0,t.toDisplayString)(e.template.pages.length)+` 页`,1)],40,o)),u.activeFileId===e.id&&m.value!==e.id?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,l,[(0,t.createVNode)((0,t.unref)(n.Tooltip),{title:`左移文件`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(n.Button),{size:`small`,type:`text`,disabled:u.readonly||i===0,"aria-label":`左移文件`,onClick:t=>p(`move`,e.id,-1)},{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(r.LeftOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`,`onClick`])]),_:2},1024),(0,t.createVNode)((0,t.unref)(n.Tooltip),{title:`右移文件`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(n.Button),{size:`small`,type:`text`,disabled:u.readonly||i===u.files.length-1,"aria-label":`右移文件`,onClick:t=>p(`move`,e.id,1)},{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(r.RightOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`,`onClick`])]),_:2},1024),(0,t.createVNode)((0,t.unref)(n.Tooltip),{title:`重命名文件`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(n.Button),{size:`small`,type:`text`,disabled:u.readonly,"aria-label":`重命名文件`,onClick:t=>_(e)},{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(r.EditOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`,`onClick`])]),_:2},1024),(0,t.createVNode)((0,t.unref)(n.Tooltip),{title:u.files.length<=1?`至少保留一份文件`:`删除文件`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(n.Button),{size:`small`,type:`text`,danger:``,disabled:u.readonly||u.files.length<=1,"aria-label":`删除文件`,onClick:t=>p(`remove`,e.id)},{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(r.DeleteOutlined),{"aria-hidden":`true`})]),_:1},8,[`disabled`,`onClick`])]),_:2},1032,[`title`])])):(0,t.createCommentVNode)(``,!0)],2))),128))]),(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__file-add`,disabled:u.readonly,"aria-label":`新增合同文件`,onClick:d[1]||=e=>p(`add`)},{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(r.PlusOutlined),{"aria-hidden":`true`}),d[2]||=(0,t.createTextVNode)(` 新增文件 `,-1)]),_:1},8,[`disabled`])]),_:1})]))}});exports.default=u;
@@ -1 +1 @@
1
- require(`../../../_virtual/_rolldown/runtime.cjs`);const e=require(`./utils/image-url.cjs`),t=require(`./types.cjs`),n=require(`./composables/use-template-designer.cjs`),r=require(`./utils/template-tool-icons.cjs`);let i=require(`vue`),a=require(`ant-design-vue`),o=require(`@ant-design/icons-vue`);var s={class:`gd-contract-template-renderer__field-head`},c={class:`gd-contract-template-renderer__field-title`},l={class:`gd-contract-template-renderer__field-type-icon`,"aria-hidden":`true`},u={class:`gd-contract-template-renderer__field-title-text`},d={key:0,class:`gd-contract-template-renderer__field-required`,"aria-label":`必填`},f={key:4,class:`gd-contract-template-renderer__field-checkbox`},p={key:5,class:`gd-contract-template-renderer__image-field`},m={key:0,class:`gd-contract-template-renderer__image-preview`},h={key:7,class:`gd-contract-template-renderer__field-errors`},g=(0,i.defineComponent)({name:`ContractTemplateRendererField`,__name:`ContractTemplateRendererField`,props:{variable:{},value:{type:[String,Number,Boolean]},errors:{},active:{type:Boolean},readonly:{type:Boolean},disabled:{type:Boolean}},emits:[`updateValue`,`focusVariable`],setup(g,{emit:_}){let v=g,y=_,b=(0,i.computed)(()=>v.readonly||v.disabled),x=(0,i.computed)(()=>v.value===void 0||v.value===null?``:String(v.value)),S=(0,i.computed)(()=>{if(v.value===void 0||v.value===null||v.value===``)return;let e=Number(v.value);return Number.isFinite(e)?e:void 0}),C=(0,i.computed)(()=>v.value===!0||v.value===`true`||v.value===`1`||v.value===`是`||v.value===`已选`),w=(0,i.computed)(()=>v.errors.length>0),T=(0,i.computed)(()=>x.value&&e.isSafeContractImageUrl(x.value)?x.value:``),E=(0,i.computed)(()=>t.isContractTemplateFieldType(v.variable.type)?v.variable.type:`text`),D=(0,i.computed)(()=>r.resolveFieldTypeIcon(E.value)),O=(0,i.computed)(()=>n.getFieldOption(E.value).label);function k(e){y(`updateValue`,e)}function A(e){if(e===null||e===``){y(`updateValue`,void 0);return}let t=Number(e);y(`updateValue`,Number.isFinite(t)?t:void 0)}function j(e){y(`updateValue`,e)}function M(e){y(`updateValue`,typeof e==`string`?e:``)}return(e,t)=>((0,i.openBlock)(),(0,i.createElementBlock)(`section`,{class:(0,i.normalizeClass)([`gd-contract-template-renderer__field`,{"is-active":g.active,"has-error":w.value}]),onClick:t[1]||=e=>y(`focusVariable`),onFocusin:t[2]||=e=>y(`focusVariable`)},[(0,i.createElementVNode)(`div`,s,[(0,i.createElementVNode)(`strong`,null,[(0,i.createElementVNode)(`span`,c,[(0,i.createVNode)((0,i.unref)(a.Tooltip),{title:O.value},{default:(0,i.withCtx)(()=>[(0,i.createElementVNode)(`span`,l,[((0,i.openBlock)(),(0,i.createBlock)((0,i.resolveDynamicComponent)(D.value)))])]),_:1},8,[`title`]),(0,i.createElementVNode)(`span`,u,[(0,i.createTextVNode)((0,i.toDisplayString)(g.variable.label||g.variable.key)+` `,1),g.variable.required?((0,i.openBlock)(),(0,i.createElementBlock)(`span`,d,`*`)):(0,i.createCommentVNode)(``,!0)])])]),(0,i.createElementVNode)(`small`,null,(0,i.toDisplayString)(g.variable.key),1)]),g.variable.type===`text`&&g.variable.multiline?((0,i.openBlock)(),(0,i.createBlock)((0,i.unref)(a.Input).TextArea,{key:0,value:x.value,rows:g.variable.rows||3,placeholder:g.variable.placeholder||``,disabled:b.value,"onUpdate:value":k},null,8,[`value`,`rows`,`placeholder`,`disabled`])):!g.variable.type||g.variable.type===`text`?((0,i.openBlock)(),(0,i.createBlock)((0,i.unref)(a.Input),{key:1,value:x.value,placeholder:g.variable.placeholder||``,disabled:b.value,"onUpdate:value":k},null,8,[`value`,`placeholder`,`disabled`])):g.variable.type===`date`?((0,i.openBlock)(),(0,i.createBlock)((0,i.unref)(a.DatePicker),{key:2,"value-format":`YYYY-MM-DD`,value:x.value,placeholder:g.variable.placeholder||``,disabled:b.value,"onUpdate:value":M},null,8,[`value`,`placeholder`,`disabled`])):g.variable.type===`number`?((0,i.openBlock)(),(0,i.createBlock)((0,i.unref)(a.InputNumber),{key:3,value:S.value,precision:g.variable.precision,placeholder:g.variable.placeholder||``,disabled:b.value,"onUpdate:value":A},null,8,[`value`,`precision`,`placeholder`,`disabled`])):g.variable.type===`checkbox`?((0,i.openBlock)(),(0,i.createElementBlock)(`label`,f,[(0,i.createVNode)((0,i.unref)(a.Checkbox),{checked:C.value,disabled:b.value,"onUpdate:checked":j},null,8,[`checked`,`disabled`]),(0,i.createElementVNode)(`span`,null,(0,i.toDisplayString)(C.value?g.variable.checkedText||`已选`:g.variable.uncheckedText||`未选`),1)])):g.variable.type===`image`?((0,i.openBlock)(),(0,i.createElementBlock)(`div`,p,[(0,i.createVNode)((0,i.unref)(a.Input),{value:x.value,placeholder:g.variable.placeholder||`请输入图片 URL`,disabled:b.value,"onUpdate:value":k},null,8,[`value`,`placeholder`,`disabled`]),(0,i.createVNode)((0,i.unref)(a.Tooltip),{title:`清除图片地址`},{default:(0,i.withCtx)(()=>[(0,i.createVNode)((0,i.unref)(a.Button),{"aria-label":`清除图片地址`,disabled:b.value||!x.value,onClick:t[0]||=(0,i.withModifiers)(e=>k(``),[`stop`])},{icon:(0,i.withCtx)(()=>[(0,i.createVNode)((0,i.unref)(o.DeleteOutlined))]),_:1},8,[`disabled`])]),_:1}),T.value?((0,i.openBlock)(),(0,i.createElementBlock)(`div`,m,[(0,i.createVNode)((0,i.unref)(a.Image),{src:T.value,alt:g.variable.label||g.variable.key},null,8,[`src`,`alt`]),(0,i.createElementVNode)(`span`,null,[(0,i.createVNode)((0,i.unref)(o.EyeOutlined)),t[3]||=(0,i.createTextVNode)(` 点击图片预览`,-1)])])):(0,i.createCommentVNode)(``,!0)])):((0,i.openBlock)(),(0,i.createBlock)((0,i.unref)(a.Input),{key:6,value:x.value,placeholder:g.variable.placeholder||``,disabled:b.value,"onUpdate:value":k},null,8,[`value`,`placeholder`,`disabled`])),w.value?((0,i.openBlock)(),(0,i.createElementBlock)(`div`,h,[((0,i.openBlock)(!0),(0,i.createElementBlock)(i.Fragment,null,(0,i.renderList)(g.errors,e=>((0,i.openBlock)(),(0,i.createElementBlock)(`span`,{key:`${e.id}-${e.message}`},(0,i.toDisplayString)(e.message),1))),128))])):(0,i.createCommentVNode)(``,!0)],34))}});exports.default=g;
1
+ require(`../../../_virtual/_rolldown/runtime.cjs`);const e=require(`./types.cjs`),t=require(`./composables/use-template-designer.cjs`),n=require(`./utils/image-url.cjs`),r=require(`./utils/template-tool-icons.cjs`);let i=require(`vue`),a=require(`ant-design-vue`),o=require(`@ant-design/icons-vue`);var s={class:`gd-contract-template-renderer__field-head`},c={class:`gd-contract-template-renderer__field-title`},l={class:`gd-contract-template-renderer__field-type-icon`,"aria-hidden":`true`},u={class:`gd-contract-template-renderer__field-title-text`},d={key:0,class:`gd-contract-template-renderer__field-required`,"aria-label":`必填`},f={key:4,class:`gd-contract-template-renderer__field-checkbox`},p={key:5,class:`gd-contract-template-renderer__image-field`},m={key:0,class:`gd-contract-template-renderer__image-preview`},h={key:7,class:`gd-contract-template-renderer__field-errors`},g=(0,i.defineComponent)({name:`ContractTemplateRendererField`,__name:`ContractTemplateRendererField`,props:{variable:{},value:{type:[String,Number,Boolean]},errors:{},active:{type:Boolean},readonly:{type:Boolean},disabled:{type:Boolean}},emits:[`updateValue`,`focusVariable`],setup(g,{emit:_}){let v=g,y=_,b=(0,i.computed)(()=>v.readonly||v.disabled),x=(0,i.computed)(()=>v.value===void 0||v.value===null?``:String(v.value)),S=(0,i.computed)(()=>{if(v.value===void 0||v.value===null||v.value===``)return;let e=Number(v.value);return Number.isFinite(e)?e:void 0}),C=(0,i.computed)(()=>v.value===!0||v.value===`true`||v.value===`1`||v.value===`是`||v.value===`已选`),w=(0,i.computed)(()=>v.errors.length>0),T=(0,i.computed)(()=>x.value&&n.isSafeContractImageUrl(x.value)?x.value:``),E=(0,i.computed)(()=>e.isContractTemplateFieldType(v.variable.type)?v.variable.type:`text`),D=(0,i.computed)(()=>r.resolveFieldTypeIcon(E.value)),O=(0,i.computed)(()=>t.getFieldOption(E.value).label);function k(e){y(`updateValue`,e)}function A(e){if(e===null||e===``){y(`updateValue`,void 0);return}let t=Number(e);y(`updateValue`,Number.isFinite(t)?t:void 0)}function j(e){y(`updateValue`,e)}function M(e){y(`updateValue`,typeof e==`string`?e:``)}return(e,t)=>((0,i.openBlock)(),(0,i.createElementBlock)(`section`,{class:(0,i.normalizeClass)([`gd-contract-template-renderer__field`,{"is-active":g.active,"has-error":w.value}]),onClick:t[1]||=e=>y(`focusVariable`),onFocusin:t[2]||=e=>y(`focusVariable`)},[(0,i.createElementVNode)(`div`,s,[(0,i.createElementVNode)(`strong`,null,[(0,i.createElementVNode)(`span`,c,[(0,i.createVNode)((0,i.unref)(a.Tooltip),{title:O.value},{default:(0,i.withCtx)(()=>[(0,i.createElementVNode)(`span`,l,[((0,i.openBlock)(),(0,i.createBlock)((0,i.resolveDynamicComponent)(D.value)))])]),_:1},8,[`title`]),(0,i.createElementVNode)(`span`,u,[(0,i.createTextVNode)((0,i.toDisplayString)(g.variable.label||g.variable.key)+` `,1),g.variable.required?((0,i.openBlock)(),(0,i.createElementBlock)(`span`,d,`*`)):(0,i.createCommentVNode)(``,!0)])])]),(0,i.createElementVNode)(`small`,null,(0,i.toDisplayString)(g.variable.key),1)]),g.variable.type===`text`&&g.variable.multiline?((0,i.openBlock)(),(0,i.createBlock)((0,i.unref)(a.Input).TextArea,{key:0,value:x.value,rows:g.variable.rows||3,placeholder:g.variable.placeholder||``,disabled:b.value,"onUpdate:value":k},null,8,[`value`,`rows`,`placeholder`,`disabled`])):!g.variable.type||g.variable.type===`text`?((0,i.openBlock)(),(0,i.createBlock)((0,i.unref)(a.Input),{key:1,value:x.value,placeholder:g.variable.placeholder||``,disabled:b.value,"onUpdate:value":k},null,8,[`value`,`placeholder`,`disabled`])):g.variable.type===`date`?((0,i.openBlock)(),(0,i.createBlock)((0,i.unref)(a.DatePicker),{key:2,"value-format":`YYYY-MM-DD`,value:x.value,placeholder:g.variable.placeholder||``,disabled:b.value,"onUpdate:value":M},null,8,[`value`,`placeholder`,`disabled`])):g.variable.type===`number`?((0,i.openBlock)(),(0,i.createBlock)((0,i.unref)(a.InputNumber),{key:3,value:S.value,precision:g.variable.precision,placeholder:g.variable.placeholder||``,disabled:b.value,"onUpdate:value":A},null,8,[`value`,`precision`,`placeholder`,`disabled`])):g.variable.type===`checkbox`?((0,i.openBlock)(),(0,i.createElementBlock)(`label`,f,[(0,i.createVNode)((0,i.unref)(a.Checkbox),{checked:C.value,disabled:b.value,"onUpdate:checked":j},null,8,[`checked`,`disabled`]),(0,i.createElementVNode)(`span`,null,(0,i.toDisplayString)(C.value?g.variable.checkedText||`已选`:g.variable.uncheckedText||`未选`),1)])):g.variable.type===`image`?((0,i.openBlock)(),(0,i.createElementBlock)(`div`,p,[(0,i.createVNode)((0,i.unref)(a.Input),{value:x.value,placeholder:g.variable.placeholder||`请输入图片 URL`,disabled:b.value,"onUpdate:value":k},null,8,[`value`,`placeholder`,`disabled`]),(0,i.createVNode)((0,i.unref)(a.Tooltip),{title:`清除图片地址`},{default:(0,i.withCtx)(()=>[(0,i.createVNode)((0,i.unref)(a.Button),{"aria-label":`清除图片地址`,disabled:b.value||!x.value,onClick:t[0]||=(0,i.withModifiers)(e=>k(``),[`stop`])},{icon:(0,i.withCtx)(()=>[(0,i.createVNode)((0,i.unref)(o.DeleteOutlined))]),_:1},8,[`disabled`])]),_:1}),T.value?((0,i.openBlock)(),(0,i.createElementBlock)(`div`,m,[(0,i.createVNode)((0,i.unref)(a.Image),{src:T.value,alt:g.variable.label||g.variable.key},null,8,[`src`,`alt`]),(0,i.createElementVNode)(`span`,null,[(0,i.createVNode)((0,i.unref)(o.EyeOutlined)),t[3]||=(0,i.createTextVNode)(` 点击图片预览`,-1)])])):(0,i.createCommentVNode)(``,!0)])):((0,i.openBlock)(),(0,i.createBlock)((0,i.unref)(a.Input),{key:6,value:x.value,placeholder:g.variable.placeholder||``,disabled:b.value,"onUpdate:value":k},null,8,[`value`,`placeholder`,`disabled`])),w.value?((0,i.openBlock)(),(0,i.createElementBlock)(`div`,h,[((0,i.openBlock)(!0),(0,i.createElementBlock)(i.Fragment,null,(0,i.renderList)(g.errors,e=>((0,i.openBlock)(),(0,i.createElementBlock)(`span`,{key:`${e.id}-${e.message}`},(0,i.toDisplayString)(e.message),1))),128))])):(0,i.createCommentVNode)(``,!0)],34))}});exports.default=g;
@@ -0,0 +1 @@
1
+ var e=require(`./ContractTemplateRendererValidation.vue.cjs`).default;exports.default=e;
@@ -0,0 +1 @@
1
+ require(`../../../_virtual/_rolldown/runtime.cjs`);let e=require(`vue`);var t={class:`gd-contract-template-renderer__validation-bar`},n=[`aria-expanded`],r={key:0,class:`gd-contract-template-renderer__validation-list`},i=[`onClick`],a=(0,e.defineComponent)({name:`ContractTemplateRendererValidation`,__name:`ContractTemplateRendererValidation`,props:{passed:{type:Boolean},summary:{},errors:{},expanded:{type:Boolean}},emits:[`toggle`,`focusError`],setup(a,{emit:o}){let s=o;return(o,c)=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{class:(0,e.normalizeClass)([`gd-contract-template-renderer__validation`,a.passed?`is-success`:`is-error`]),role:`status`},[(0,e.createElementVNode)(`div`,t,[(0,e.createElementVNode)(`span`,null,(0,e.toDisplayString)(a.summary),1),a.errors.length?((0,e.openBlock)(),(0,e.createElementBlock)(`button`,{key:0,type:`button`,class:`gd-contract-template-renderer__validation-toggle`,"aria-expanded":a.expanded,onClick:c[0]||=e=>s(`toggle`)},(0,e.toDisplayString)(a.expanded?`收起`:`展开 ${a.errors.length} 个问题`),9,n)):(0,e.createCommentVNode)(``,!0)]),a.expanded&&a.errors.length?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,r,[((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)(a.errors,t=>((0,e.openBlock)(),(0,e.createElementBlock)(`button`,{key:`${t.code}-${t.id}-${t.message}`,type:`button`,class:`gd-contract-template-renderer__validation-item`,onClick:e=>s(`focusError`,t)},(0,e.toDisplayString)(t.message),9,i))),128))])):(0,e.createCommentVNode)(``,!0)],2))}});exports.default=a;
@@ -1,2 +1,2 @@
1
- require(`../../../_virtual/_rolldown/runtime.cjs`);const e=require(`./constants.cjs`),t=require(`./extensions/template-variable.cjs`),n=require(`./utils/content-image.cjs`),r=require(`./extensions/editor-extensions.cjs`),i=require(`./utils/context-variable.cjs`),a=require(`./utils/signing-placement.cjs`),o=require(`./composables/use-template-designer.cjs`),s=require(`./SigningPlacementLayer.cjs`);let c=require(`vue`),l=require(`@tiptap/vue-3`),ee=require(`@tiptap/core`),u=require(`@tiptap/pm/tables`),d=require(`@tiptap/pm/state`);var f={class:`gd-contract-template-designer__page-title`},p=`application/x-gd-contract-variable-move`,te=8,m=(0,c.defineComponent)({name:`ProContractTemplateDesignerPage`,__name:`DesignerPage`,props:{page:{},pageIndex:{},pageSize:{},variables:{},selectedVariableKey:{default:``},active:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},zoom:{default:1},signingPlacements:{default:()=>[]},selectedSigningPlacementId:{default:``},processImageFile:{type:Function,default:void 0}},emits:[`page-update`,`variable-drop`,`signing-placement-drop`,`signing-placement-select`,`signing-placement-move`,`signing-placement-remove`,`variable-select`,`variable-move-blocked`,`editor-focus`,`editor-state-change`,`editor-context-menu`],setup(m,{expose:h,emit:ne}){let g=m,_=ne,v=(0,c.computed)(()=>g.readonly||g.disabled),y=(0,c.ref)(),b=r.createEditorExtensions(`请输入合同正文,或从 WPS / Word 粘贴合同内容`,{processImageFile:g.processImageFile,getZoom:()=>Math.max(.1,g.zoom||1)}),x=(0,l.useEditor)({content:g.page.contentHtml,editable:!v.value,extensions:b,editorProps:{attributes:{class:`gd-contract-template-designer__editor-prose`},handleClick:(e,t,n)=>{let r=(n.target instanceof HTMLElement?n.target.closest(`[data-template-variable]`):void 0)?.dataset.key;if(!r)return!1;let i=g.variables.find(e=>e.key===r);return i&&_(`variable-select`,i.key),!1},handleDOMEvents:{contextmenu:(e,t)=>{if(v.value)return!1;let n=ce(e,t.target);if(n)return t.preventDefault(),j({pageId:g.page.id,clientX:t.clientX,clientY:t.clientY},n),!0;let r=x.value?.state.selection,a=r instanceof u.CellSelection,o=t.target instanceof HTMLElement?!!t.target.closest(`td, th`):!1,s=i.resolveEditorContextMenuKind({isCellSelection:a,selectionEmpty:!r||r.empty,inTable:o});return t.preventDefault(),s===`table`&&(a||T(t.clientX,t.clientY,t.target))?(P({pageId:g.page.id,clientX:t.clientX,clientY:t.clientY}),!0):(A({pageId:g.page.id,clientX:t.clientX,clientY:t.clientY}),!0)},dragstart:(e,t)=>v.value?(t.preventDefault(),!0):(t.target instanceof HTMLElement?t.target:null)?.closest(`[data-template-variable]`)?(t.dataTransfer?.setData(p,g.page.id),t.dataTransfer&&(t.dataTransfer.effectAllowed=`move`),y.value?.classList.add(`is-variable-dragging`),!1):!1,dragend:()=>(y.value?.classList.remove(`is-variable-dragging`),!1),drop:(e,t)=>{if(v.value)return t.preventDefault(),t.stopPropagation(),!0;let n=t.dataTransfer?.getData(p);return!n||n===g.page.id?!1:(t.preventDefault(),_(`variable-move-blocked`,g.page.id),!0)}},handleKeyDown:(e,t)=>{if(v.value||!ae(t))return!1;let n=x.value;if(!n)return!1;t.preventDefault();let r=n.state.selection,a=N();if(a){let e=n.view.coordsAtPos(r.from);return j({pageId:g.page.id,clientX:e.left,clientY:e.bottom},a),!0}let o=r instanceof u.CellSelection;if(i.resolveEditorContextMenuKind({isCellSelection:o,selectionEmpty:r.empty,inTable:n.isActive(`table`)})===`table`){if(!o){let e=se();typeof e==`number`&&n.view.dispatch(n.state.tr.setSelection(u.CellSelection.create(n.state.doc,e)))}let e=n.view.coordsAtPos(n.state.selection.from);return P({pageId:g.page.id,clientX:e.left,clientY:e.bottom}),!0}let s=n.view.coordsAtPos(n.state.selection.from);return A({pageId:g.page.id,clientX:s.left,clientY:s.bottom}),!0}},onUpdate:({editor:e})=>{_(`page-update`,{...g.page,contentHtml:e.getHTML(),contentJson:e.getJSON()}),R()},onFocus:()=>{_(`editor-focus`,g.page.id),R()},onBlur:R,onSelectionUpdate:R,onCreate:R});function re(e){if(typeof e==`number`&&Number.isFinite(e))return e;let t=String(e||``).match(/(\d+(\.\d+)?)/);return t?Number(t[1]):void 0}function ie(){if(!x.value)return``;let{from:e,to:t}=x.value.state.selection;return x.value.state.doc.textBetween(e,t,`
2
- `)}function S(){let e=x.value,t=e?.state.selection;if(!(!e||!t||t.empty))try{let n=e.view.coordsAtPos(t.from),r=e.view.coordsAtPos(t.to,-1);if(Math.abs(r.top-n.top)>te)return;let i=Math.abs(r.left-n.left)/B.value;return Number.isFinite(i)&&i>0?i:void 0}catch{return}}function C(){let e=x.value;if(!e)return``;let t=e.state.selection.$from,n=t.pos;for(let e=t.depth;e>0;--e){let r=t.node(e).type.name;if(r===`paragraph`||r===`heading`){n=t.start(e);break}}return e.state.doc.textBetween(n,e.state.selection.from,``)}function ae(e){return e.key===`ContextMenu`||e.shiftKey&&e.key===`F10`}function w(e){for(let t=e.depth;t>0;--t){let n=e.node(t).type.spec.tableRole;if(n===`cell`||n===`header_cell`)return e.before(t)}}function oe(e,t){let n=x.value,r=n?.view.posAtCoords({left:e,top:t})?.pos;if(!(!n||typeof r!=`number`))return w(n.state.doc.resolve(r))}function se(){let e=x.value;if(e)return w(e.state.selection.$from)}function T(e,t,n){let r=x.value,i=n instanceof HTMLElement?n:null;if(!r||!i?.closest(`td,th`))return!1;if(r.state.selection instanceof u.CellSelection&&i.closest(`td.selectedCell,th.selectedCell`))return!0;let a=oe(e,t);return typeof a==`number`?(r.view.dispatch(r.state.tr.setSelection(u.CellSelection.create(r.state.doc,a))),!0):!1}function E(){let e=x.value,t=e?.isActive(`table`)?e.can():void 0,n=e=>!!(t&&e(t));return{addRowBefore:n(e=>e.addRowBefore()),addRowAfter:n(e=>e.addRowAfter()),deleteRow:n(e=>e.deleteRow()),addColumnBefore:n(e=>e.addColumnBefore()),addColumnAfter:n(e=>e.addColumnAfter()),deleteColumn:n(e=>e.deleteColumn()),mergeCells:n(e=>e.mergeCells()),splitCell:n(e=>e.splitCell()),alignLeft:n(e=>e.setCellAttribute(`textAlign`,`left`)),alignCenter:n(e=>e.setCellAttribute(`textAlign`,`center`)),alignRight:n(e=>e.setCellAttribute(`textAlign`,`right`)),toggleHeaderRow:n(e=>e.toggleHeaderRow()),toggleHeaderColumn:n(e=>e.toggleHeaderColumn()),deleteTable:n(e=>e.deleteTable())}}function D(){let e=x.value,t=e?.state.selection;if(!e||!(t instanceof u.CellSelection))return`left`;let n=new Set;return t.forEachCell(e=>{let t=e.attrs.textAlign;n.add(t===`center`||t===`right`?t:`left`)}),n.size===1?n.values().next().value??`left`:`mixed`}function O(e=x.value?.state.doc){let t=0;return e?.descendants(e=>{e.type.name===`templateVariable`&&(t+=1)}),t}function k(e){let t=x.value;if(!t)return 0;let n=O(t.state.doc),r=n,i=e=>{r=O(e.doc)};return e===`delete-table-row`?(0,u.deleteRow)(t.state,i):e===`delete-table-column`?(0,u.deleteColumn)(t.state,i):(0,u.deleteTable)(t.state,i),Math.max(0,n-r)}function A(e){let t=x.value?.state.selection,n=!!(t&&!t.empty);_(`editor-context-menu`,{type:`text`,...e,hasSelection:n,selectionWidth:n?S():void 0,leadingText:C()})}function j(e,t){_(`editor-context-menu`,{type:`image`,...e,image:t})}function M(e,t){if(!(e.type.name!==`image`||typeof e.attrs.src!=`string`||!e.attrs.src))return{position:t,src:e.attrs.src,alt:typeof e.attrs.alt==`string`?e.attrs.alt:void 0,title:typeof e.attrs.title==`string`?e.attrs.title:void 0,width:n.normalizeContractImageDimension(e.attrs.width),height:n.normalizeContractImageDimension(e.attrs.height)}}function N(){let e=x.value?.state.selection;if(e instanceof d.NodeSelection)return M(e.node,e.from)}function ce(e,t){let n=t instanceof HTMLElement?t.closest(`[data-template-variable], img[src]`):null;if(n)try{let t=e.posAtDOM(n,0),r=e.state.doc.nodeAt(t);return!r||r.type.name!==`templateVariable`&&r.type.name!==`image`?void 0:(r.type.name===`templateVariable`&&typeof r.attrs.key==`string`&&_(`variable-select`,r.attrs.key),(!(e.state.selection instanceof d.NodeSelection)||e.state.selection.from!==t)&&e.dispatch(e.state.tr.setSelection(d.NodeSelection.create(e.state.doc,t))),M(r,t))}catch{return}}function P(e){_(`editor-context-menu`,{type:`table`,...e,capabilities:E(),activeAlignment:D(),affectedVariableCounts:{deleteRow:k(`delete-table-row`),deleteColumn:k(`delete-table-column`),deleteTable:k(`delete-table`)}})}function F(){return x.value?[1,2,3,4,5,6].find(e=>x.value?.isActive(`heading`,{level:e})):void 0}function I(){return[`center`,`right`].find(e=>x.value?.isActive(`heading`,{textAlign:e})||x.value?.isActive(`paragraph`,{textAlign:e}))??`left`}function L(){let e=x.value,t=t=>!!e?.isActive(t),n=e?.getAttributes(`textStyle`)??{};return{isFocused:!!e?.isFocused,canUndo:!!e?.can().undo(),canRedo:!!e?.can().redo(),isBold:t(`bold`),isItalic:t(`italic`),isUnderline:t(`underline`),isBulletList:t(`bulletList`),isOrderedList:t(`orderedList`),isTableActive:t(`table`),currentHeadingLevel:F(),textAlign:I(),fontFamily:typeof n.fontFamily==`string`?n.fontFamily:void 0,fontSize:re(n.fontSize),textColor:typeof n.color==`string`?n.color:void 0,selectionText:ie(),selectedContentImage:N()}}function R(){_(`editor-state-change`,g.page.id,L())}(0,c.watch)(v,e=>{x.value?.setEditable(!e),R()}),(0,c.watch)(()=>g.page.contentHtml,e=>{!x.value||e===x.value.getHTML()||(x.value.commands.setContent(e||`<p></p>`,{emitUpdate:!1}),R())});let z=(0,c.computed)(()=>({width:`${g.pageSize.width}px`,height:`${g.pageSize.height}px`,"--gd-contract-page-content-height":`${J()}px`})),B=(0,c.computed)(()=>Math.max(.1,g.zoom||1)),V=(0,c.computed)(()=>({width:`${Math.ceil((g.pageSize.width+10)*B.value)}px`,height:`${Math.ceil((g.pageSize.height+40)*B.value)}px`})),H=(0,c.computed)(()=>({"--gd-contract-page-zoom":String(B.value)})),U=(0,c.computed)(()=>o.resolvePageSize(g.pageSize));function W(e,t){let n=y.value?.getBoundingClientRect();return n?{x:Math.min(g.pageSize.width,Math.max(0,(e-n.left)/B.value)),y:Math.min(g.pageSize.height,Math.max(0,(t-n.top)/B.value))}:{x:g.pageSize.width/2,y:g.pageSize.height/2}}function G(e){let t=y.value?.getBoundingClientRect(),n=y.value?.closest(`.gd-contract-template-designer__canvas`)?.getBoundingClientRect(),r=a.getSigningPlacementDefaultSize(e);if(!t||!n)return{x:Math.max(0,(g.pageSize.width-r.width)/2),y:Math.max(0,(g.pageSize.height-r.height)/2)};let i=Math.max(t.left,n.left),o=Math.max(t.top,n.top),s=Math.min(t.right,n.right),c=Math.min(t.bottom,n.bottom),l=W(s>i?(i+s)/2:(t.left+t.right)/2,c>o?(o+c)/2:(t.top+t.bottom)/2);return{x:l.x-r.width/2,y:l.y-r.height/2}}function le(e){if(!a.canMutateSigningPlacements(g.readonly,g.disabled)){e.preventDefault(),e.stopPropagation();return}let t=a.parseSigningPlacementDragPayload(e.dataTransfer?.getData(a.SIGNING_PLACEMENT_MIME));if(t){e.preventDefault(),e.stopPropagation();let n=W(e.clientX,e.clientY);_(`signing-placement-drop`,g.page.id,t,n.x,n.y);return}let n=e.dataTransfer?.getData(`application/x-gd-contract-variable`);if(n){e.preventDefault(),e.stopPropagation(),_(`variable-drop`,g.page.id,n,e.clientX,e.clientY);return}let r=e.dataTransfer?.getData(p);r&&r!==g.page.id&&(e.preventDefault(),e.stopPropagation(),_(`variable-move-blocked`,g.page.id))}function ue(e,n){let r=x.value;if(!r)return;let i=n?r.view.posAtCoords(n)?.pos:void 0;return t.insertTemplateVariableNode(r,e,i),$(),K()}function de(e,t){let n=x.value;if(n)return r.runContractTemplateEditorCommand(n,{type:`insert-content-image`,image:e,position:t}),K()}function fe(e){let t=x.value,r=t?.state.selection;if(!t||!(r instanceof d.NodeSelection)||r.node.type.name!==`image`)return;let i={...r.node.attrs},a=!1;if([`width`,`height`].forEach(t=>{if(!Object.prototype.hasOwnProperty.call(e,t))return;let r=e[t]===void 0?null:n.normalizeContractImageDimension(e[t])??null;i[t]!==r&&(i[t]=r,a=!0)}),!a)return;let o=t.state.tr.setNodeMarkup(r.from,void 0,i);return o.setSelection(d.NodeSelection.create(o.doc,r.from)),t.view.dispatch(o),K()}function pe(){let e=x.value?.state.selection;return e?{from:e.from,to:e.to}:void 0}function K(){return{...g.page,pageSize:U.value,contentHtml:x.value?.getHTML()??g.page.contentHtml,contentJson:x.value?.getJSON()??g.page.contentJson}}function q(e){return{type:`doc`,content:e.length?e:[{type:`paragraph`}]}}function me(e){return e?.length?e.length===1&&e[0].type===`paragraph`&&!e[0].content?.length:!0}function he(e){return(0,ee.generateHTML)(q(e),b)}function J(){let e=y.value;if(!e)return g.pageSize.height-108;let t=window.getComputedStyle(e),n=Number.parseFloat(t.paddingTop)||0,r=Number.parseFloat(t.paddingBottom)||0;return Math.max(120,g.pageSize.height-n-r)}function ge(){let e=y.value?.querySelector(`.gd-contract-template-designer__editor-prose`);if(!e)return[];let t=e.getBoundingClientRect(),n=B.value;return Array.from(e.children).map(e=>{let r=e.getBoundingClientRect();return{top:(r.top-t.top)/n,height:r.height/n}})}function Y(){if(!x.value)return;let e=x.value.getJSON();return o.splitPageContentByMeasurements(e.content,ge(),J())}function _e(){return!!Y()}function ve(){if(!x.value)return;let e=Y();if(e)return x.value.commands.setContent(q(e.currentContent),{emitUpdate:!1}),{page:K(),overflowContent:e.overflowContent,overflowHtml:he(e.overflowContent)}}function ye(e){if(!x.value||!e.length)return;let t=x.value.getJSON().content,n=[...e,...me(t)?[]:t??[]];return x.value.commands.setContent(q(n),{emitUpdate:!1}),K()}function X(e,t){let n=[];return e.descendants((e,r)=>{e.type.name===`templateVariable`&&e.attrs.key===t&&n.push({node:e,pos:r})}),n}function be(e,n=e.key){if(!x.value)return;let r=t.buildTemplateVariableAttrs(e),i=!1;return x.value.commands.command(({tr:e,state:t,dispatch:a})=>(X(t.doc,n).forEach(({node:t,pos:n})=>{e.setNodeMarkup(n,void 0,{...t.attrs,...r}),i=!0}),i&&a?.(e),i)),$(),i?K():void 0}function xe(e){if(!x.value)return;let t=0;return x.value.commands.command(({tr:n,state:r,dispatch:i})=>{let a=X(r.doc,e).map(({node:e,pos:t})=>({from:t,to:t+e.nodeSize})).sort((e,t)=>t.from-e.from);return a.forEach(e=>n.delete(e.from,e.to)),t=a.length,t&&i?.(n),t>0}),t?K():void 0}function Z(){y.value?.querySelectorAll(`.gd-contract-template-variable.is-active`).forEach(e=>e.classList.remove(`is-active`))}function Q(e){if(e)return Array.from(y.value?.querySelectorAll(`[data-template-variable]`)??[]).find(t=>t.dataset.key===e)}function Se(e){Z();let t=Q(e);return t?(t.classList.add(`is-active`),t.scrollIntoView({behavior:`smooth`,block:`center`,inline:`center`}),x.value?.commands.focus(),!0):!1}function Ce(e){let t=Array.from(y.value?.querySelectorAll(`[data-signing-placement-id]`)??[]).find(t=>t.dataset.signingPlacementId===e);return t?.scrollIntoView({behavior:`smooth`,block:`center`,inline:`center`}),!!t}function $(){Z(),Q(g.selectedVariableKey)?.classList.add(`is-active`)}function we(t){let n=e.CONTRACT_TEXT_STYLE_PRESETS.find(e=>e.key===t),r=x.value;if(!n||!r)return;let i=r.chain().focus().clearNodes();n.headingLevel?i.setHeading({level:n.headingLevel}):i.setParagraph(),i.unsetAllMarks().unsetTextAlign().unsetFontSize().unsetFontFamily().unsetColor().setTextAlign(n.textAlign).setFontSize(`${n.fontSize}px`).setFontFamily(n.fontFamily||`Noto Serif SC, Source Han Serif SC, Songti SC, STSong, SimSun, serif`).setColor(o.DEFAULT_FIELD_STYLE.color||`#1f2937`),n.bold?i.setBold():i.unsetBold(),n.italic?i.setItalic():i.unsetItalic(),n.underline?i.setUnderline():i.unsetUnderline(),i.run()}(0,c.watch)([()=>g.selectedVariableKey,()=>g.variables],()=>{(0,c.nextTick)($)},{deep:!0,flush:`post`});function Te(e){e.type===`apply-text-style-preset`?we(e.preset):r.runContractTemplateEditorCommand(x.value,e),R()}function Ee(){x.value?.commands.focus()}function De(){return x.value?.getJSON()}function Oe(){return x.value?.getHTML()??g.page.contentHtml}function ke(e){let t=g.variables.find(t=>t.id===e||t.key===e),n=t?Q(t.key):void 0;$(),n?.scrollIntoView({behavior:`smooth`,block:`center`})}function Ae(){y.value?.scrollIntoView({behavior:`smooth`,block:`start`,inline:`center`})}return(0,c.onBeforeUnmount)(()=>{x.value?.destroy()}),h({focus:Ee,getHTML:Oe,getJSON:De,getEditorState:L,getTableCommandCapabilities:E,getAffectedVariableCount:k,getVisibleSigningPlacementPosition:G,insertVariable:ue,insertContentImage:de,updateSelectedContentImage:fe,getSelectionRange:pe,hasOverflowContent:_e,updateVariable:be,removeVariable:xe,splitOverflowContent:ve,prependContent:ye,runCommand:Te,scrollIntoField:ke,scrollIntoVariable:Se,scrollIntoSigningPlacement:Ce,scrollIntoPage:Ae}),(e,t)=>((0,c.openBlock)(),(0,c.createElementBlock)(`section`,{class:`gd-contract-template-designer__page-shell`,style:(0,c.normalizeStyle)(V.value)},[(0,c.createElementVNode)(`div`,{class:(0,c.normalizeClass)([`gd-contract-template-designer__page-zoom`,{"is-active":m.active}]),style:(0,c.normalizeStyle)(H.value)},[(0,c.createElementVNode)(`header`,f,[(0,c.createElementVNode)(`span`,null,(0,c.toDisplayString)(m.page.title||`第 ${m.pageIndex+1} 页`),1),(0,c.createElementVNode)(`span`,null,`第 `+(0,c.toDisplayString)(m.pageIndex+1)+` 页 · `+(0,c.toDisplayString)(m.pageSize.label||`A4`)+` · `+(0,c.toDisplayString)(m.pageSize.width)+` × `+(0,c.toDisplayString)(m.pageSize.height),1)]),(0,c.createElementVNode)(`div`,{ref_key:`pageElement`,ref:y,class:`gd-contract-template-designer__page`,style:(0,c.normalizeStyle)(z.value),onDragover:t[3]||=(0,c.withModifiers)(()=>{},[`prevent`]),onDrop:le,onClick:t[4]||=e=>_(`editor-focus`,m.page.id)},[(0,c.unref)(x)?((0,c.openBlock)(),(0,c.createBlock)((0,c.unref)(l.EditorContent),{key:0,editor:(0,c.unref)(x)},null,8,[`editor`])):(0,c.createCommentVNode)(``,!0),(0,c.createVNode)(s.default,{"page-size":m.pageSize,placements:m.signingPlacements,"selected-id":m.selectedSigningPlacementId,zoom:B.value,readonly:m.readonly,disabled:m.disabled,onSelect:t[0]||=e=>_(`signing-placement-select`,e),onMove:t[1]||=e=>_(`signing-placement-move`,e),onRemove:t[2]||=e=>_(`signing-placement-remove`,e)},null,8,[`page-size`,`placements`,`selected-id`,`zoom`,`readonly`,`disabled`])],36)],6)],4))}});exports.default=m;
1
+ require(`../../../_virtual/_rolldown/runtime.cjs`);const e=require(`./utils/signing-placement.cjs`),t=require(`./constants.cjs`),n=require(`./composables/use-template-designer.cjs`),r=require(`./extensions/template-variable.cjs`),i=require(`./utils/content-image.cjs`),a=require(`./extensions/editor-extensions.cjs`),o=require(`./utils/context-variable.cjs`),s=require(`./SigningPlacementLayer.cjs`);let c=require(`vue`),l=require(`@tiptap/vue-3`),ee=require(`@tiptap/core`),u=require(`@tiptap/pm/tables`),d=require(`@tiptap/pm/state`);var f={class:`gd-contract-template-designer__page-title`},p=`application/x-gd-contract-variable-move`,te=8,m=(0,c.defineComponent)({name:`ProContractTemplateDesignerPage`,__name:`DesignerPage`,props:{page:{},pageIndex:{},pageSize:{},variables:{},selectedVariableKey:{default:``},active:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},zoom:{default:1},signingPlacements:{default:()=>[]},selectedSigningPlacementId:{default:``},processImageFile:{type:Function,default:void 0}},emits:[`page-update`,`variable-drop`,`signing-placement-drop`,`signing-placement-select`,`signing-placement-move`,`signing-placement-remove`,`variable-select`,`variable-move-blocked`,`editor-focus`,`editor-state-change`,`editor-context-menu`],setup(m,{expose:h,emit:ne}){let g=m,_=ne,v=(0,c.computed)(()=>g.readonly||g.disabled),y=(0,c.ref)(),b=a.createEditorExtensions(`请输入合同正文,或从 WPS / Word 粘贴合同内容`,{processImageFile:g.processImageFile,getZoom:()=>Math.max(.1,g.zoom||1)}),x=(0,l.useEditor)({content:g.page.contentHtml,editable:!v.value,extensions:b,editorProps:{attributes:{class:`gd-contract-template-designer__editor-prose`},handleClick:(e,t,n)=>{let r=(n.target instanceof HTMLElement?n.target.closest(`[data-template-variable]`):void 0)?.dataset.key;if(!r)return!1;let i=g.variables.find(e=>e.key===r);return i&&_(`variable-select`,i.key),!1},handleDOMEvents:{contextmenu:(e,t)=>{if(v.value)return!1;let n=ce(e,t.target);if(n)return t.preventDefault(),j({pageId:g.page.id,clientX:t.clientX,clientY:t.clientY},n),!0;let r=x.value?.state.selection,i=r instanceof u.CellSelection,a=t.target instanceof HTMLElement?!!t.target.closest(`td, th`):!1,s=o.resolveEditorContextMenuKind({isCellSelection:i,selectionEmpty:!r||r.empty,inTable:a});return t.preventDefault(),s===`table`&&(i||T(t.clientX,t.clientY,t.target))?(P({pageId:g.page.id,clientX:t.clientX,clientY:t.clientY}),!0):(A({pageId:g.page.id,clientX:t.clientX,clientY:t.clientY}),!0)},dragstart:(e,t)=>v.value?(t.preventDefault(),!0):(t.target instanceof HTMLElement?t.target:null)?.closest(`[data-template-variable]`)?(t.dataTransfer?.setData(p,g.page.id),t.dataTransfer&&(t.dataTransfer.effectAllowed=`move`),y.value?.classList.add(`is-variable-dragging`),!1):!1,dragend:()=>(y.value?.classList.remove(`is-variable-dragging`),!1),drop:(e,t)=>{if(v.value)return t.preventDefault(),t.stopPropagation(),!0;let n=t.dataTransfer?.getData(p);return!n||n===g.page.id?!1:(t.preventDefault(),_(`variable-move-blocked`,g.page.id),!0)}},handleKeyDown:(e,t)=>{if(v.value||!ae(t))return!1;let n=x.value;if(!n)return!1;t.preventDefault();let r=n.state.selection,i=N();if(i){let e=n.view.coordsAtPos(r.from);return j({pageId:g.page.id,clientX:e.left,clientY:e.bottom},i),!0}let a=r instanceof u.CellSelection;if(o.resolveEditorContextMenuKind({isCellSelection:a,selectionEmpty:r.empty,inTable:n.isActive(`table`)})===`table`){if(!a){let e=se();typeof e==`number`&&n.view.dispatch(n.state.tr.setSelection(u.CellSelection.create(n.state.doc,e)))}let e=n.view.coordsAtPos(n.state.selection.from);return P({pageId:g.page.id,clientX:e.left,clientY:e.bottom}),!0}let s=n.view.coordsAtPos(n.state.selection.from);return A({pageId:g.page.id,clientX:s.left,clientY:s.bottom}),!0}},onUpdate:({editor:e})=>{_(`page-update`,{...g.page,contentHtml:e.getHTML(),contentJson:e.getJSON()}),R()},onFocus:()=>{_(`editor-focus`,g.page.id),R()},onBlur:R,onSelectionUpdate:R,onCreate:R});function re(e){if(typeof e==`number`&&Number.isFinite(e))return e;let t=String(e||``).match(/(\d+(\.\d+)?)/);return t?Number(t[1]):void 0}function ie(){if(!x.value)return``;let{from:e,to:t}=x.value.state.selection;return x.value.state.doc.textBetween(e,t,`
2
+ `)}function S(){let e=x.value,t=e?.state.selection;if(!(!e||!t||t.empty))try{let n=e.view.coordsAtPos(t.from),r=e.view.coordsAtPos(t.to,-1);if(Math.abs(r.top-n.top)>te)return;let i=Math.abs(r.left-n.left)/B.value;return Number.isFinite(i)&&i>0?i:void 0}catch{return}}function C(){let e=x.value;if(!e)return``;let t=e.state.selection.$from,n=t.pos;for(let e=t.depth;e>0;--e){let r=t.node(e).type.name;if(r===`paragraph`||r===`heading`){n=t.start(e);break}}return e.state.doc.textBetween(n,e.state.selection.from,``)}function ae(e){return e.key===`ContextMenu`||e.shiftKey&&e.key===`F10`}function w(e){for(let t=e.depth;t>0;--t){let n=e.node(t).type.spec.tableRole;if(n===`cell`||n===`header_cell`)return e.before(t)}}function oe(e,t){let n=x.value,r=n?.view.posAtCoords({left:e,top:t})?.pos;if(!(!n||typeof r!=`number`))return w(n.state.doc.resolve(r))}function se(){let e=x.value;if(e)return w(e.state.selection.$from)}function T(e,t,n){let r=x.value,i=n instanceof HTMLElement?n:null;if(!r||!i?.closest(`td,th`))return!1;if(r.state.selection instanceof u.CellSelection&&i.closest(`td.selectedCell,th.selectedCell`))return!0;let a=oe(e,t);return typeof a==`number`?(r.view.dispatch(r.state.tr.setSelection(u.CellSelection.create(r.state.doc,a))),!0):!1}function E(){let e=x.value,t=e?.isActive(`table`)?e.can():void 0,n=e=>!!(t&&e(t));return{addRowBefore:n(e=>e.addRowBefore()),addRowAfter:n(e=>e.addRowAfter()),deleteRow:n(e=>e.deleteRow()),addColumnBefore:n(e=>e.addColumnBefore()),addColumnAfter:n(e=>e.addColumnAfter()),deleteColumn:n(e=>e.deleteColumn()),mergeCells:n(e=>e.mergeCells()),splitCell:n(e=>e.splitCell()),alignLeft:n(e=>e.setCellAttribute(`textAlign`,`left`)),alignCenter:n(e=>e.setCellAttribute(`textAlign`,`center`)),alignRight:n(e=>e.setCellAttribute(`textAlign`,`right`)),toggleHeaderRow:n(e=>e.toggleHeaderRow()),toggleHeaderColumn:n(e=>e.toggleHeaderColumn()),deleteTable:n(e=>e.deleteTable())}}function D(){let e=x.value,t=e?.state.selection;if(!e||!(t instanceof u.CellSelection))return`left`;let n=new Set;return t.forEachCell(e=>{let t=e.attrs.textAlign;n.add(t===`center`||t===`right`?t:`left`)}),n.size===1?n.values().next().value??`left`:`mixed`}function O(e=x.value?.state.doc){let t=0;return e?.descendants(e=>{e.type.name===`templateVariable`&&(t+=1)}),t}function k(e){let t=x.value;if(!t)return 0;let n=O(t.state.doc),r=n,i=e=>{r=O(e.doc)};return e===`delete-table-row`?(0,u.deleteRow)(t.state,i):e===`delete-table-column`?(0,u.deleteColumn)(t.state,i):(0,u.deleteTable)(t.state,i),Math.max(0,n-r)}function A(e){let t=x.value?.state.selection,n=!!(t&&!t.empty);_(`editor-context-menu`,{type:`text`,...e,hasSelection:n,selectionWidth:n?S():void 0,leadingText:C()})}function j(e,t){_(`editor-context-menu`,{type:`image`,...e,image:t})}function M(e,t){if(!(e.type.name!==`image`||typeof e.attrs.src!=`string`||!e.attrs.src))return{position:t,src:e.attrs.src,alt:typeof e.attrs.alt==`string`?e.attrs.alt:void 0,title:typeof e.attrs.title==`string`?e.attrs.title:void 0,width:i.normalizeContractImageDimension(e.attrs.width),height:i.normalizeContractImageDimension(e.attrs.height)}}function N(){let e=x.value?.state.selection;if(e instanceof d.NodeSelection)return M(e.node,e.from)}function ce(e,t){let n=t instanceof HTMLElement?t.closest(`[data-template-variable], img[src]`):null;if(n)try{let t=e.posAtDOM(n,0),r=e.state.doc.nodeAt(t);return!r||r.type.name!==`templateVariable`&&r.type.name!==`image`?void 0:(r.type.name===`templateVariable`&&typeof r.attrs.key==`string`&&_(`variable-select`,r.attrs.key),(!(e.state.selection instanceof d.NodeSelection)||e.state.selection.from!==t)&&e.dispatch(e.state.tr.setSelection(d.NodeSelection.create(e.state.doc,t))),M(r,t))}catch{return}}function P(e){_(`editor-context-menu`,{type:`table`,...e,capabilities:E(),activeAlignment:D(),affectedVariableCounts:{deleteRow:k(`delete-table-row`),deleteColumn:k(`delete-table-column`),deleteTable:k(`delete-table`)}})}function F(){return x.value?[1,2,3,4,5,6].find(e=>x.value?.isActive(`heading`,{level:e})):void 0}function I(){return[`center`,`right`].find(e=>x.value?.isActive(`heading`,{textAlign:e})||x.value?.isActive(`paragraph`,{textAlign:e}))??`left`}function L(){let e=x.value,t=t=>!!e?.isActive(t),n=e?.getAttributes(`textStyle`)??{};return{isFocused:!!e?.isFocused,canUndo:!!e?.can().undo(),canRedo:!!e?.can().redo(),isBold:t(`bold`),isItalic:t(`italic`),isUnderline:t(`underline`),isBulletList:t(`bulletList`),isOrderedList:t(`orderedList`),isTableActive:t(`table`),currentHeadingLevel:F(),textAlign:I(),fontFamily:typeof n.fontFamily==`string`?n.fontFamily:void 0,fontSize:re(n.fontSize),textColor:typeof n.color==`string`?n.color:void 0,selectionText:ie(),selectedContentImage:N()}}function R(){_(`editor-state-change`,g.page.id,L())}(0,c.watch)(v,e=>{x.value?.setEditable(!e),R()}),(0,c.watch)(()=>g.page.contentHtml,e=>{!x.value||e===x.value.getHTML()||(x.value.commands.setContent(e||`<p></p>`,{emitUpdate:!1}),R())});let z=(0,c.computed)(()=>({width:`${g.pageSize.width}px`,height:`${g.pageSize.height}px`,"--gd-contract-page-content-height":`${J()}px`})),B=(0,c.computed)(()=>Math.max(.1,g.zoom||1)),V=(0,c.computed)(()=>({width:`${Math.ceil((g.pageSize.width+10)*B.value)}px`,height:`${Math.ceil((g.pageSize.height+40)*B.value)}px`})),H=(0,c.computed)(()=>({"--gd-contract-page-zoom":String(B.value)})),U=(0,c.computed)(()=>n.resolvePageSize(g.pageSize));function W(e,t){let n=y.value?.getBoundingClientRect();return n?{x:Math.min(g.pageSize.width,Math.max(0,(e-n.left)/B.value)),y:Math.min(g.pageSize.height,Math.max(0,(t-n.top)/B.value))}:{x:g.pageSize.width/2,y:g.pageSize.height/2}}function G(t){let n=y.value?.getBoundingClientRect(),r=y.value?.closest(`.gd-contract-template-designer__canvas`)?.getBoundingClientRect(),i=e.getSigningPlacementDefaultSize(t);if(!n||!r)return{x:Math.max(0,(g.pageSize.width-i.width)/2),y:Math.max(0,(g.pageSize.height-i.height)/2)};let a=Math.max(n.left,r.left),o=Math.max(n.top,r.top),s=Math.min(n.right,r.right),c=Math.min(n.bottom,r.bottom),l=W(s>a?(a+s)/2:(n.left+n.right)/2,c>o?(o+c)/2:(n.top+n.bottom)/2);return{x:l.x-i.width/2,y:l.y-i.height/2}}function le(t){if(!e.canMutateSigningPlacements(g.readonly,g.disabled)){t.preventDefault(),t.stopPropagation();return}let n=e.parseSigningPlacementDragPayload(t.dataTransfer?.getData(e.SIGNING_PLACEMENT_MIME));if(n){t.preventDefault(),t.stopPropagation();let e=W(t.clientX,t.clientY);_(`signing-placement-drop`,g.page.id,n,e.x,e.y);return}let r=t.dataTransfer?.getData(`application/x-gd-contract-variable`);if(r){t.preventDefault(),t.stopPropagation(),_(`variable-drop`,g.page.id,r,t.clientX,t.clientY);return}let i=t.dataTransfer?.getData(p);i&&i!==g.page.id&&(t.preventDefault(),t.stopPropagation(),_(`variable-move-blocked`,g.page.id))}function ue(e,t){let n=x.value;if(!n)return;let i=t?n.view.posAtCoords(t)?.pos:void 0;return r.insertTemplateVariableNode(n,e,i),$(),K()}function de(e,t){let n=x.value;if(n)return a.runContractTemplateEditorCommand(n,{type:`insert-content-image`,image:e,position:t}),K()}function fe(e){let t=x.value,n=t?.state.selection;if(!t||!(n instanceof d.NodeSelection)||n.node.type.name!==`image`)return;let r={...n.node.attrs},a=!1;if([`width`,`height`].forEach(t=>{if(!Object.prototype.hasOwnProperty.call(e,t))return;let n=e[t]===void 0?null:i.normalizeContractImageDimension(e[t])??null;r[t]!==n&&(r[t]=n,a=!0)}),!a)return;let o=t.state.tr.setNodeMarkup(n.from,void 0,r);return o.setSelection(d.NodeSelection.create(o.doc,n.from)),t.view.dispatch(o),K()}function pe(){let e=x.value?.state.selection;return e?{from:e.from,to:e.to}:void 0}function K(){return{...g.page,pageSize:U.value,contentHtml:x.value?.getHTML()??g.page.contentHtml,contentJson:x.value?.getJSON()??g.page.contentJson}}function q(e){return{type:`doc`,content:e.length?e:[{type:`paragraph`}]}}function me(e){return e?.length?e.length===1&&e[0].type===`paragraph`&&!e[0].content?.length:!0}function he(e){return(0,ee.generateHTML)(q(e),b)}function J(){let e=y.value;if(!e)return g.pageSize.height-108;let t=window.getComputedStyle(e),n=Number.parseFloat(t.paddingTop)||0,r=Number.parseFloat(t.paddingBottom)||0;return Math.max(120,g.pageSize.height-n-r)}function ge(){let e=y.value?.querySelector(`.gd-contract-template-designer__editor-prose`);if(!e)return[];let t=e.getBoundingClientRect(),n=B.value;return Array.from(e.children).map(e=>{let r=e.getBoundingClientRect();return{top:(r.top-t.top)/n,height:r.height/n}})}function Y(){if(!x.value)return;let e=x.value.getJSON();return n.splitPageContentByMeasurements(e.content,ge(),J())}function _e(){return!!Y()}function ve(){if(!x.value)return;let e=Y();if(e)return x.value.commands.setContent(q(e.currentContent),{emitUpdate:!1}),{page:K(),overflowContent:e.overflowContent,overflowHtml:he(e.overflowContent)}}function ye(e){if(!x.value||!e.length)return;let t=x.value.getJSON().content,n=[...e,...me(t)?[]:t??[]];return x.value.commands.setContent(q(n),{emitUpdate:!1}),K()}function X(e,t){let n=[];return e.descendants((e,r)=>{e.type.name===`templateVariable`&&e.attrs.key===t&&n.push({node:e,pos:r})}),n}function be(e,t=e.key){if(!x.value)return;let n=r.buildTemplateVariableAttrs(e),i=!1;return x.value.commands.command(({tr:e,state:r,dispatch:a})=>(X(r.doc,t).forEach(({node:t,pos:r})=>{e.setNodeMarkup(r,void 0,{...t.attrs,...n}),i=!0}),i&&a?.(e),i)),$(),i?K():void 0}function xe(e){if(!x.value)return;let t=0;return x.value.commands.command(({tr:n,state:r,dispatch:i})=>{let a=X(r.doc,e).map(({node:e,pos:t})=>({from:t,to:t+e.nodeSize})).sort((e,t)=>t.from-e.from);return a.forEach(e=>n.delete(e.from,e.to)),t=a.length,t&&i?.(n),t>0}),t?K():void 0}function Z(){y.value?.querySelectorAll(`.gd-contract-template-variable.is-active`).forEach(e=>e.classList.remove(`is-active`))}function Q(e){if(e)return Array.from(y.value?.querySelectorAll(`[data-template-variable]`)??[]).find(t=>t.dataset.key===e)}function Se(e){Z();let t=Q(e);return t?(t.classList.add(`is-active`),t.scrollIntoView({behavior:`smooth`,block:`center`,inline:`center`}),x.value?.commands.focus(),!0):!1}function Ce(e){let t=Array.from(y.value?.querySelectorAll(`[data-signing-placement-id]`)??[]).find(t=>t.dataset.signingPlacementId===e);return t?.scrollIntoView({behavior:`smooth`,block:`center`,inline:`center`}),!!t}function $(){Z(),Q(g.selectedVariableKey)?.classList.add(`is-active`)}function we(e){let r=t.CONTRACT_TEXT_STYLE_PRESETS.find(t=>t.key===e),i=x.value;if(!r||!i)return;let a=i.chain().focus().clearNodes();r.headingLevel?a.setHeading({level:r.headingLevel}):a.setParagraph(),a.unsetAllMarks().unsetTextAlign().unsetFontSize().unsetFontFamily().unsetColor().setTextAlign(r.textAlign).setFontSize(`${r.fontSize}px`).setFontFamily(r.fontFamily||`Noto Serif SC, Source Han Serif SC, Songti SC, STSong, SimSun, serif`).setColor(n.DEFAULT_FIELD_STYLE.color||`#1f2937`),r.bold?a.setBold():a.unsetBold(),r.italic?a.setItalic():a.unsetItalic(),r.underline?a.setUnderline():a.unsetUnderline(),a.run()}(0,c.watch)([()=>g.selectedVariableKey,()=>g.variables],()=>{(0,c.nextTick)($)},{deep:!0,flush:`post`});function Te(e){e.type===`apply-text-style-preset`?we(e.preset):a.runContractTemplateEditorCommand(x.value,e),R()}function Ee(){x.value?.commands.focus()}function De(){return x.value?.getJSON()}function Oe(){return x.value?.getHTML()??g.page.contentHtml}function ke(e){let t=g.variables.find(t=>t.id===e||t.key===e),n=t?Q(t.key):void 0;$(),n?.scrollIntoView({behavior:`smooth`,block:`center`})}function Ae(){y.value?.scrollIntoView({behavior:`smooth`,block:`start`,inline:`center`})}return(0,c.onBeforeUnmount)(()=>{x.value?.destroy()}),h({focus:Ee,getHTML:Oe,getJSON:De,getEditorState:L,getTableCommandCapabilities:E,getAffectedVariableCount:k,getVisibleSigningPlacementPosition:G,insertVariable:ue,insertContentImage:de,updateSelectedContentImage:fe,getSelectionRange:pe,hasOverflowContent:_e,updateVariable:be,removeVariable:xe,splitOverflowContent:ve,prependContent:ye,runCommand:Te,scrollIntoField:ke,scrollIntoVariable:Se,scrollIntoSigningPlacement:Ce,scrollIntoPage:Ae}),(e,t)=>((0,c.openBlock)(),(0,c.createElementBlock)(`section`,{class:`gd-contract-template-designer__page-shell`,style:(0,c.normalizeStyle)(V.value)},[(0,c.createElementVNode)(`div`,{class:(0,c.normalizeClass)([`gd-contract-template-designer__page-zoom`,{"is-active":m.active}]),style:(0,c.normalizeStyle)(H.value)},[(0,c.createElementVNode)(`header`,f,[(0,c.createElementVNode)(`span`,null,(0,c.toDisplayString)(m.page.title||`第 ${m.pageIndex+1} 页`),1),(0,c.createElementVNode)(`span`,null,`第 `+(0,c.toDisplayString)(m.pageIndex+1)+` 页 · `+(0,c.toDisplayString)(m.pageSize.label||`A4`)+` · `+(0,c.toDisplayString)(m.pageSize.width)+` × `+(0,c.toDisplayString)(m.pageSize.height),1)]),(0,c.createElementVNode)(`div`,{ref_key:`pageElement`,ref:y,class:`gd-contract-template-designer__page`,style:(0,c.normalizeStyle)(z.value),onDragover:t[3]||=(0,c.withModifiers)(()=>{},[`prevent`]),onDrop:le,onClick:t[4]||=e=>_(`editor-focus`,m.page.id)},[(0,c.unref)(x)?((0,c.openBlock)(),(0,c.createBlock)((0,c.unref)(l.EditorContent),{key:0,editor:(0,c.unref)(x)},null,8,[`editor`])):(0,c.createCommentVNode)(``,!0),(0,c.createVNode)(s.default,{"page-size":m.pageSize,placements:m.signingPlacements,"selected-id":m.selectedSigningPlacementId,zoom:B.value,readonly:m.readonly,disabled:m.disabled,onSelect:t[0]||=e=>_(`signing-placement-select`,e),onMove:t[1]||=e=>_(`signing-placement-move`,e),onRemove:t[2]||=e=>_(`signing-placement-remove`,e)},null,8,[`page-size`,`placements`,`selected-id`,`zoom`,`readonly`,`disabled`])],36)],6)],4))}});exports.default=m;