@cniot/mdd-editor 0.2.0-beta.9 → 0.3.1

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 (75) hide show
  1. package/README.MD +308 -11
  2. package/build/index.cjs.js +27 -19
  3. package/build/index.es.js +3731 -446
  4. package/build/style.css +1 -1
  5. package/package.json +1 -1
  6. package/src/ai/LocalAIDrawer.jsx +217 -0
  7. package/src/ai/bridgeClient.js +168 -0
  8. package/src/ai/pageIR.js +148 -0
  9. package/src/components/address-select/formily.jsx +1 -1
  10. package/src/components/ajax-schema-form/formily-table-form-proxy.jsx +1 -1
  11. package/src/components/ajax-schema-form/formily.jsx +1 -1
  12. package/src/components/ajax-schema-form/table-form-proxy.jsx +1 -1
  13. package/src/components/ajax-schema-form/table-form.jsx +1 -1
  14. package/src/components/data-source-select/formily.jsx +1 -1
  15. package/src/components/dynamic-value/base/formily.jsx +1 -1
  16. package/src/components/dynamic-value/date/formily.jsx +1 -1
  17. package/src/components/formily-select/index.tsx +1 -1
  18. package/src/components/params-select/formily.jsx +1 -1
  19. package/src/components/time-range/formily.jsx +1 -1
  20. package/src/hooks/useSchema.jsx +5 -5
  21. package/src/hooks/useSwagger.jsx +2 -2
  22. package/src/schema/base-schema/AjaxSchema.js +1 -1
  23. package/src/schema/base-schema/AjaxSchemaQueue.js +1 -1
  24. package/src/schema/blocks/edit-table.js +57 -0
  25. package/src/schema/blocks/filter.js +49 -0
  26. package/src/schema/blocks/form.js +49 -0
  27. package/src/schema/blocks/index.js +32 -10
  28. package/src/schema/blocks/table.js +3 -4
  29. package/src/schema/detail/detail-item.js +5 -5
  30. package/src/schema/detail/index.js +26 -18
  31. package/src/schema/edit-table/header-toolbar.js +1 -1
  32. package/src/schema/edit-table/index.js +10 -5
  33. package/src/schema/edit-table/table.js +10 -2
  34. package/src/schema/formily-form/data-source.js +1 -1
  35. package/src/schema/formily-form/form-schema.js +1 -1
  36. package/src/schema/formily-form/index.js +8 -8
  37. package/src/schema/formily-form-v2/form-info.js +2 -2
  38. package/src/schema/formily-form-v2/form-items.js +1 -1
  39. package/src/schema/formily-form-v2/index.js +3 -3
  40. package/src/schema/ftp/data-source.js +1 -1
  41. package/src/schema/ftp/filter.js +2 -2
  42. package/src/schema/ftp/header-toolbar.js +1 -1
  43. package/src/schema/ftp/index.js +4 -4
  44. package/src/schema/ftp/middle-item.js +1 -1
  45. package/src/schema/ftp/table.js +9 -3
  46. package/src/schema/util.js +3 -3
  47. package/src/services/index.js +1 -1
  48. package/src/template/blocks/EditTable.jsx +62 -0
  49. package/src/template/blocks/Filter.jsx +137 -0
  50. package/src/template/blocks/Form.jsx +136 -0
  51. package/src/template/blocks/Table.jsx +4 -4
  52. package/src/template/const.js +18 -4
  53. package/src/template/detail/DetailItems.jsx +6 -1
  54. package/src/template/detail/components/Actions.jsx +1 -1
  55. package/src/template/detail/components/DetailCard.jsx +8 -5
  56. package/src/template/detail/components/DetailColumns.jsx +193 -113
  57. package/src/template/detail/components/DetailCustom.jsx +2 -2
  58. package/src/template/detail/components/DetailTable.jsx +13 -8
  59. package/src/template/detail/components/MultiAjaxSchemaForm.jsx +1 -1
  60. package/src/template/edit-table/HeaderToolbar.jsx +3 -2
  61. package/src/template/edit-table/Table.jsx +56 -3
  62. package/src/template/formily-form-v2/FormInfo.jsx +1 -1
  63. package/src/template/formily-form-v2/FormItems.jsx +4 -8
  64. package/src/template/formilyform/components/AsyncDataSourceSetter/index.tsx +1 -1
  65. package/src/template/formilyform/components/SubmitActionSetter/index.tsx +1 -1
  66. package/src/template/ftp/DataSource.jsx +1 -1
  67. package/src/template/ftp/Filter.jsx +14 -7
  68. package/src/template/ftp/HeaderToolbar.jsx +8 -4
  69. package/src/template/ftp/Middle.jsx +11 -7
  70. package/src/template/ftp/Table.jsx +143 -12
  71. package/src/template/simple-ftp/Table.jsx +2 -2
  72. package/src/toolbar.jsx +76 -14
  73. package/src/utils/buildFieldsToCompJson.js +3 -3
  74. package/src/utils/persistentStorage.js +1 -1
  75. package/src/utils/swagger/api2SchemaFromSwagger.js +7 -7
package/build/style.css CHANGED
@@ -1 +1 @@
1
- .monaco-clone-btn{position:absolute;right:10px;top:10px;z-index:101;display:none}.monaco-container{min-height:400px}.form-item-exart-abs{display:flex;flex-direction:row;justify-content:flex-end;align-items:center;position:absolute;top:0;right:0;font-size:12px}.help-link{margin-left:5px}.ajax-schema-form-container{display:flex}.data-source-item{margin:0 0 15px;padding:3px;border:1px solid #000;border-radius:4px;border-color:#49cc90;background-color:#49cc9033;display:flex;align-items:center;cursor:pointer}.data-source-item:hover{box-shadow:0 0 5px #49cc90}.data-source-item .method{font-size:14px;font-weight:700;padding:3px 5px;text-align:center;border-radius:3px;background:#000;font-family:sans-serif;color:#fff;background:#1cce75}.data-source-item .host{font-weight:700;margin-left:5px}.data-source-item .url{font-weight:700;margin-left:10px;overflow:hidden;text-overflow:ellipsis}.data-source-item .description{margin-left:10px}.kv-table .table-operation-row{font-size:12px;margin-top:5px;display:flex;justify-content:space-between}.kv-table .table-operation-row .fast-select{width:200px}._dsType_mxilv_1{margin-bottom:10px}._dsJSONContent_mxilv_5{margin-top:10px}._dsJSONContent_mxilv_5 ._dsJSONContentTip_mxilv_8{margin-top:6px;font-weight:700}._dsAjaxContent_mxilv_13{margin-top:10px}._dsTitle_mxilv_17{font-weight:700;margin-top:10px}._actionButton_mxilv_22{margin-bottom:8px}._watchContainer_mxilv_26{display:flex;align-items:center;margin-top:10px}._dsTitleWatch_mxilv_32{margin-right:8px;font-weight:700}._staticValueOkBtn_mxilv_37{margin-left:4px}._tableDeleteBtn_mxilv_41{margin-left:8px}._secondConfirm_mxilv_45{margin-top:10px}._dsType_1islj_1{margin-bottom:10px}._dsJSONContent_1islj_5{margin-top:10px}._dsJSONContent_1islj_5 ._dsJSONContentTip_1islj_8{margin-top:6px;font-weight:700}._dsTitle_1islj_13{font-weight:700;margin-top:10px}._actionButton_1islj_18{margin-bottom:8px}._watchContainer_1islj_22{display:flex;align-items:center;margin-top:10px}._dsTitleWatch_1islj_28{margin-right:8px;font-weight:700}._staticValueOkBtn_1islj_33{margin-left:4px}._tableDeleteBtn_1islj_37{margin-left:8px}._secondConfirm_1islj_41{margin-top:10px}@charset "UTF-8";.next-sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;top:0;margin:-1px}.next-select{box-sizing:border-box;display:inline-block;position:relative;font-size:0;vertical-align:middle}.next-select *,.next-select *:before,.next-select *:after{box-sizing:border-box}.next-select-trigger{min-width:100px;outline:0;transition:all .1s linear}.next-select-trigger .next-input-label{flex:0 0 auto;width:auto}.next-select-trigger .next-select-values{display:block;width:100%;flex:1 1 0;overflow:hidden}.next-select-trigger .next-select-values>em{font-style:inherit}.next-select-trigger .next-select-values input{padding-left:0;padding-right:0}.next-select-trigger .next-input-control{flex:0 0 auto;width:auto}.next-select-trigger .next-input-control>*{display:inline-block;width:auto}.next-select-trigger .next-input-control>.next-select-arrow{padding-right:0}.next-select-trigger .next-input.next-disabled em{color:#ccc}.next-select-trigger .next-input.next-disabled .next-select-arrow{cursor:not-allowed}.next-select-trigger .next-select-clear{display:none}.next-select-trigger.next-has-clear:hover .next-select-clear{display:inline-block}.next-select-trigger.next-has-clear:hover .next-select-arrow{display:none}.next-select .next-select-inner{display:inline-flex;align-items:center;width:100%;min-width:100px;outline:0;color:#333}.next-select .next-select-inner .next-tag{line-height:1;margin-right:4px;margin-bottom:3px;padding-left:0;padding-right:0}.next-select .next-select-inner .next-input-inner{width:auto}.next-select-trigger-search{position:relative;display:inline-block;vertical-align:top;overflow:hidden;width:100%;max-width:100%}.next-select-trigger-search>input,.next-select-trigger-search>span{display:block;font-size:inherit;font-family:inherit;letter-spacing:inherit;white-space:nowrap;overflow:hidden}.next-select-trigger-search input{position:absolute;background-color:transparent;width:100%;height:100%!important;z-index:1;left:0;border:0;outline:0;margin:0;padding:0;cursor:inherit}.next-select-trigger-search>span{position:relative;visibility:hidden;white-space:pre;max-width:100%;z-index:-1}.next-select-single.next-no-search{cursor:pointer}.next-select-single.next-has-search.next-active .next-select-values>em{display:none}.next-select-single.next-no-search .next-select-values>em+.next-select-trigger-search,.next-select-single.next-inactive .next-select-values>em+.next-select-trigger-search{width:1px;opacity:0;filter:alpha(opacity=0)}.next-select-single .next-select-values{display:inline-flex;align-items:center}.next-select-single .next-select-values>em{vertical-align:middle;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.next-select-multiple .next-select-compact{position:relative;white-space:nowrap}.next-select-multiple .next-select-compact .next-select-trigger-search{width:auto}.next-select-multiple .next-select-compact .next-select-tag-compact{position:absolute;top:0;right:0;z-index:1;padding:0 4px 0 16px;color:#333;background:linear-gradient(90deg,transparent,#FFFFFF 10px)}.next-select-multiple .next-disabled .next-select-tag-compact{background:linear-gradient(90deg,transparent,#F7F8FA 10px)}.next-select-multiple .next-select-values,.next-select-tag .next-select-values{margin-bottom:-3px;height:auto!important}.next-select-multiple .next-select-trigger-search,.next-select-tag .next-select-trigger-search{margin-bottom:3px}.next-select-multiple .next-tag+.next-select-trigger-search,.next-select-tag .next-tag+.next-select-trigger-search{width:auto;min-width:1px}.next-select-multiple .next-input,.next-select-tag .next-input{height:auto;align-items:start}.next-select-multiple.next-small .next-select-values,.next-select-tag.next-small .next-select-values{min-height:18px;padding-top:2px;padding-bottom:2px;line-height:14px}.next-select-multiple.next-small .next-select-values-compact,.next-select-tag.next-small .next-select-values-compact{height:20px!important}.next-select-multiple.next-small .next-tag,.next-select-tag.next-small .next-tag{border:0;padding-top:0;padding-bottom:0;height:14px}.next-select-multiple.next-small .next-tag .next-tag-body,.next-select-multiple.next-small .next-tag .next-tag-close-btn,.next-select-tag.next-small .next-tag .next-tag-body,.next-select-tag.next-small .next-tag .next-tag-close-btn,.next-select-multiple.next-small .next-tag-body,.next-select-tag.next-small .next-tag-body{line-height:14px}.next-select-multiple.next-small .next-input-label,.next-select-multiple.next-small .next-input-inner,.next-select-multiple.next-small .next-input-control,.next-select-multiple.next-small .next-select-tag-compact,.next-select-tag.next-small .next-input-label,.next-select-tag.next-small .next-input-inner,.next-select-tag.next-small .next-input-control,.next-select-tag.next-small .next-select-tag-compact{line-height:18px}.next-select-multiple.next-medium .next-select-values,.next-select-tag.next-medium .next-select-values{min-height:26px;padding-top:3px;padding-bottom:3px;line-height:20px}.next-select-multiple.next-medium .next-select-values-compact,.next-select-tag.next-medium .next-select-values-compact{height:28px!important}.next-select-multiple.next-medium .next-tag,.next-select-tag.next-medium .next-tag{padding-top:1px;padding-bottom:1px;height:20px}.next-select-multiple.next-medium .next-tag .next-tag-body,.next-select-multiple.next-medium .next-tag .next-tag-close-btn,.next-select-tag.next-medium .next-tag .next-tag-body,.next-select-tag.next-medium .next-tag .next-tag-close-btn{line-height:18px}.next-select-multiple.next-medium .next-input-label,.next-select-multiple.next-medium .next-input-inner,.next-select-multiple.next-medium .next-input-control,.next-select-multiple.next-medium .next-select-tag-compact,.next-select-tag.next-medium .next-input-label,.next-select-tag.next-medium .next-input-inner,.next-select-tag.next-medium .next-input-control,.next-select-tag.next-medium .next-select-tag-compact{line-height:26px}.next-select-multiple.next-large .next-select-values,.next-select-tag.next-large .next-select-values{min-height:38px;padding-top:7px;padding-bottom:7px;line-height:24px}.next-select-multiple.next-large .next-select-values-compact,.next-select-tag.next-large .next-select-values-compact{height:40px!important}.next-select-multiple.next-large .next-tag,.next-select-tag.next-large .next-tag{padding-top:3px;padding-bottom:3px;height:24px}.next-select-multiple.next-large .next-tag .next-tag-body,.next-select-multiple.next-large .next-tag .next-tag-close-btn,.next-select-tag.next-large .next-tag .next-tag-body,.next-select-tag.next-large .next-tag .next-tag-close-btn{line-height:18px}.next-select-multiple.next-large .next-input-label,.next-select-multiple.next-large .next-input-inner,.next-select-multiple.next-large .next-input-control,.next-select-multiple.next-large .next-select-tag-compact,.next-select-tag.next-large .next-input-label,.next-select-tag.next-large .next-input-inner,.next-select-tag.next-large .next-input-control,.next-select-tag.next-large .next-select-tag-compact{line-height:38px}.next-select-auto-complete{width:160px}.next-select-auto-complete .next-input{width:100%}.next-select-auto-complete .next-input .next-input-hint-wrap{padding-right:1px}.next-select-auto-complete .next-input .next-select-arrow{padding-left:0}.next-select.next-active .next-select-arrow .next-icon-arrow-down{transform:rotate(180deg)}.next-select .next-select-unfold-icon:before{content:""}.next-select-symbol-fold:before{content:"\e63d"}.next-select-arrow{cursor:pointer;width:auto!important;text-align:center;transition:all .1s linear}.next-select-popup-wrap{animation-duration:.3s;animation-timing-function:ease;padding:0}.next-select-spacing-tb{padding:0}.next-select-menu-wrapper{max-height:260px;overflow:auto;border:1px solid #DCDEE3;border-radius:3px;box-shadow:none}.next-select-menu-wrapper .next-select-menu{max-height:none;border:none}.next-select-menu{max-height:260px;overflow:auto}.next-select-menu .next-select-menu-empty-content{padding-left:8px;padding-right:8px;color:#999}.next-select-menu.next-select-auto-complete-menu.next-select-menu-empty{display:none}.next-select-menu .next-menu-item-text .next-icon{vertical-align:middle}.next-select-all{display:block;cursor:pointer;padding:0 8px;margin:0 12px 8px;border-bottom:1px solid #DCDEE3}.next-select-all:hover{color:#3e71f7}.next-select-all .next-menu-icon-selected.next-icon{display:inline-block!important;top:initial;color:#5584ff}.next-select-highlight{color:#5584ff;font-size:12px}.next-select-in-ie.next-select-trigger .next-select-values{overflow:visible}.next-select-in-ie.next-select-trigger .next-input-control,.next-select-in-ie.next-select-trigger .next-input-label{width:1px}.next-select-in-ie.next-select-trigger .next-input-control>*{display:table-cell;width:1%}.next-select-in-ie.next-select-trigger .next-select-arrow{display:table-cell}.next-select-in-ie.next-select-trigger .next-select-clear{display:none}.next-select-in-ie.next-select-trigger.next-select-multiple .next-select-inner,.next-select-in-ie.next-select-trigger.next-select-tag .next-select-inner{vertical-align:top}.next-select-in-ie.next-select-trigger .next-select-inner,.next-select-in-ie.next-select-trigger.next-select-single .next-select-values{display:inline-table}.next-select-in-ie.next-select-trigger.next-select-single .next-input.next-small .next-select-values{line-height:20px}.next-select-in-ie.next-select-trigger.next-select-single .next-input.next-medium .next-select-values{line-height:28px}.next-select-in-ie.next-select-trigger.next-select-single .next-input.next-large .next-select-values{line-height:40px}.next-select-in-ie.next-select-trigger .next-select-trigger-search>span{max-width:100px}.next-select-in-ie.next-select-trigger.next-select-single.next-select-in-ie-fixwidth .next-select-values{position:relative}.next-select-in-ie.next-select-trigger.next-select-single.next-select-in-ie-fixwidth .next-select-values>em{position:absolute;display:inline-block;height:100%;line-height:1;vertical-align:middle;overflow:hidden;left:4px;right:0;top:30%}.next-select-in-ie.next-select-trigger.next-select-single.next-no-search .next-select-values>em+.next-select-trigger-search,.next-select-in-ie.next-select-trigger.next-select-single.next-inactive .next-select-values>em+.next-select-trigger-search{filter:alpha(opacity=0);font-size:0}.next-select-in-ie.next-select-trigger.next-no-search .next-select-trigger-search input{color:inherit}@media screen and (-webkit-min-device-pixel-ratio: 0){.next-select-multiple .next-select-compact .next-select-tag-compact{background:linear-gradient(90deg,rgba(255,255,255,0),#FFFFFF 10px)}.next-select-multiple .next-disabled .next-select-tag-compact{background:linear-gradient(90deg,rgba(255,255,255,0),#F7F8FA 10px)}}.next-select.next-select-multiple[dir=rtl] .next-select-compact .next-select-tag-compact{left:0;right:auto;padding:0 16px 0 4px;background:linear-gradient(270deg,rgba(255,255,255,0),#FFFFFF 10px)}.next-sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;top:0;margin:-1px}.next-menu[dir=rtl] .next-menu-item-helper{float:left}.next-menu[dir=rtl] .next-menu-item .next-checkbox,.next-menu[dir=rtl] .next-menu-item .next-radio{margin-left:4px;margin-right:0}.next-menu[dir=rtl] .next-menu-hoz-right{float:left}.next-menu[dir=rtl] .next-menu-hoz-icon-arrow.next-icon{left:6px;right:auto}.next-menu[dir=rtl] .next-menu-icon-selected.next-icon{margin-left:0;margin-right:-16px}.next-menu[dir=rtl] .next-menu-icon-selected.next-icon:before,.next-menu[dir=rtl] .next-menu-icon-selected.next-icon .next-icon-remote{width:12px;font-size:12px;line-height:inherit}.next-menu[dir=rtl] .next-menu-icon-selected.next-icon.next-menu-icon-right{right:auto;left:4px}.next-menu[dir=rtl] .next-menu-icon-arrow.next-icon{left:10px;right:auto}.next-menu{box-sizing:border-box;position:relative;min-width:100px;margin:0;list-style:none;border:1px solid #DCDEE3;border-radius:3px;box-shadow:none;background:#FFFFFF;line-height:32px;font-size:12px;animation-duration:.3s;animation-timing-function:ease}.next-menu *,.next-menu *:before,.next-menu *:after{box-sizing:border-box}.next-menu:focus,.next-menu *:focus{outline:0}.next-menu-spacing-lr{padding:0}.next-menu-spacing-lr.next-menu-outside>.next-menu{height:100%;overflow-y:auto}.next-menu-spacing-tb{padding:0}.next-menu.next-ver{padding:8px 0}.next-menu.next-ver .next-menu-item{padding:0 20px}.next-menu.next-hoz{padding:8px 0}.next-menu.next-hoz .next-menu-item{padding:0 20px}.next-menu-embeddable,.next-menu-embeddable .next-menu-item.next-disabled,.next-menu-embeddable .next-menu-item.next-disabled .next-menu-item-text>a{background:transparent;border:none}.next-menu-embeddable{box-shadow:none}.next-menu-embeddable .next-menu-item-inner{height:100%}.next-menu-content{position:relative;padding:0;margin:0;list-style:none}.next-menu-sub-menu{padding:0;margin:0;list-style:none}.next-menu-sub-menu.next-expand-enter{overflow:hidden}.next-menu-sub-menu.next-expand-enter-active{transition:height .3s ease}.next-menu-sub-menu.next-expand-leave{overflow:hidden}.next-menu-sub-menu.next-expand-leave-active{transition:height .3s ease}.next-menu-item{position:relative;transition:background .1s linear;color:#333;cursor:pointer}.next-menu-item-helper{float:right;color:#999;font-style:normal;font-size:12px}.next-menu-item .next-checkbox,.next-menu-item .next-radio{margin-right:4px}.next-menu-item.next-selected{color:#333;background-color:#fff}.next-menu-item.next-selected .next-menu-icon-arrow{color:#666}.next-menu-item.next-selected .next-menu-icon-selected{color:#5584ff}.next-menu-item.next-disabled,.next-menu-item.next-disabled .next-menu-item-text>a{color:#ccc;background-color:#fff;cursor:not-allowed}.next-menu-item.next-disabled .next-menu-icon-arrow,.next-menu-item.next-disabled .next-menu-item-text>a .next-menu-icon-arrow{color:#ccc}.next-menu-item.next-disabled .next-menu-icon-selected,.next-menu-item.next-disabled .next-menu-item-text>a .next-menu-icon-selected{color:#ccc}.next-menu-item:not(.next-disabled):hover,.next-menu-item:not(.next-disabled).next-selected:hover,.next-menu-item:not(.next-disabled).next-selected.next-focused:hover,.next-menu-item:not(.next-disabled).next-selected:focus:hover,.next-menu-item:not(.next-disabled).next-focused,.next-menu-item:not(.next-disabled).next-selected.next-focused,.next-menu-item:not(.next-disabled).next-selected:focus{color:#333;background-color:#f2f3f7}.next-menu-item:not(.next-disabled):hover .next-menu-icon-arrow,.next-menu-item:not(.next-disabled).next-selected:hover .next-menu-icon-arrow,.next-menu-item:not(.next-disabled).next-selected.next-focused:hover .next-menu-icon-arrow,.next-menu-item:not(.next-disabled).next-selected:focus:hover .next-menu-icon-arrow,.next-menu-item:not(.next-disabled).next-focused .next-menu-icon-arrow,.next-menu-item:not(.next-disabled).next-selected.next-focused .next-menu-icon-arrow,.next-menu-item:not(.next-disabled).next-selected:focus .next-menu-icon-arrow{color:#333}.next-menu-item:not(.next-disabled):hover .next-menu-icon-selected,.next-menu-item:not(.next-disabled).next-selected:hover .next-menu-icon-selected,.next-menu-item:not(.next-disabled).next-selected.next-focused:hover .next-menu-icon-selected,.next-menu-item:not(.next-disabled).next-selected:focus:hover .next-menu-icon-selected,.next-menu-item:not(.next-disabled).next-focused .next-menu-icon-selected,.next-menu-item:not(.next-disabled).next-selected.next-focused .next-menu-icon-selected,.next-menu-item:not(.next-disabled).next-selected:focus .next-menu-icon-selected{color:#5584ff}.next-menu-item-inner{height:32px;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-wrap:normal}.next-menu-item .next-menu-item-text{vertical-align:middle}.next-menu-item .next-menu-item-text>a{display:inline-block;text-decoration:none;color:#333}.next-menu-item .next-menu-item-text>a:before{position:absolute;background-color:transparent;top:0;left:0;bottom:0;right:0;content:""}.next-menu.next-hoz{padding:0}.next-menu.next-hoz.next-menu-nowrap{overflow:hidden;white-space:nowrap}.next-menu.next-hoz.next-menu-nowrap .next-menu-more{text-align:center}.next-menu.next-hoz>.next-menu-item,.next-menu.next-hoz>.next-menu-sub-menu-wrapper,.next-menu.next-hoz .next-menu-content>.next-menu-item{display:inline-block;vertical-align:top}.next-menu.next-hoz .next-menu-header,.next-menu.next-hoz .next-menu-content,.next-menu.next-hoz .next-menu-footer{display:inline-block}.next-menu-hoz-right{float:right}.next-menu-group-label{padding:0 12px;color:#999}.next-menu-divider{margin:8px 12px;border-bottom:1px solid #E6E7EB}.next-menu .next-menu-icon-selected.next-icon{position:absolute;top:0;margin-left:-16px}.next-menu .next-menu-icon-selected.next-icon:before,.next-menu .next-menu-icon-selected.next-icon .next-icon-remote{width:12px;font-size:12px;line-height:inherit}.next-menu .next-menu-icon-selected.next-icon.next-menu-icon-right{right:4px}.next-menu .next-menu-symbol-icon-selected.next-menu-icon-selected:before{content:"\e632"}.next-menu .next-menu-icon-arrow.next-icon{position:absolute;top:0;right:10px;color:#666;transition:all .1s linear}.next-menu .next-menu-icon-arrow.next-icon:before,.next-menu .next-menu-icon-arrow.next-icon .next-icon-remote{width:8px;font-size:8px;line-height:inherit}@media all and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: .001dpcm){.next-menu .next-menu-icon-arrow.next-icon{transform:scale(.5);margin-left:-4px;margin-right:-4px}.next-menu .next-menu-icon-arrow.next-icon:before{width:16px;font-size:16px}}.next-menu .next-menu-icon-arrow-down:before{content:"\e63d"}.next-menu .next-menu-icon-arrow-down.next-open{transform:rotate(180deg)}.next-menu .next-menu-icon-arrow-down.next-open:before,.next-menu .next-menu-icon-arrow-down.next-open .next-icon-remote{width:8px;font-size:8px;line-height:inherit}@media all and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: .001dpcm){.next-menu .next-menu-icon-arrow-down.next-open{transform:scale(.5) rotate(180deg);margin-left:-4px;margin-right:-4px}.next-menu .next-menu-icon-arrow-down.next-open:before{width:16px;font-size:16px}}.next-menu .next-menu-symbol-popupfold:before{content:"\e619"}.next-menu .next-menu-icon-arrow-right.next-open{transform:rotate(-90deg)}.next-menu .next-menu-icon-arrow-right.next-open:before,.next-menu .next-menu-icon-arrow-right.next-open .next-icon-remote{width:8px;font-size:8px;line-height:inherit}@media all and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: .001dpcm){.next-menu .next-menu-icon-arrow-right.next-open{transform:scale(.5) rotate(-90deg);margin-left:-4px;margin-right:-4px}.next-menu .next-menu-icon-arrow-right.next-open:before{width:16px;font-size:16px}}.next-menu .next-menu-hoz-icon-arrow.next-icon{position:absolute;top:0;right:6px;color:#666;transition:all .1s linear}.next-menu .next-menu-hoz-icon-arrow.next-icon:before,.next-menu .next-menu-hoz-icon-arrow.next-icon .next-icon-remote{width:12px;font-size:12px;line-height:inherit}.next-menu .next-menu-hoz-icon-arrow.next-icon:before{content:"\e63d"}.next-menu-unfold-icon:before{content:""}.next-menu .next-menu-hoz-icon-arrow.next-open{transform:rotate(180deg)}.next-menu .next-menu-hoz-icon-arrow.next-open:before,.next-menu .next-menu-hoz-icon-arrow.next-open .next-icon-remote{width:12px;font-size:12px;line-height:inherit}.next-menu.next-context{line-height:24px}.next-menu.next-context .next-menu-item-inner{height:24px}.cn-address{min-width:160px}.cn-address-popup .cn-address-list,.cn-address-popup .cn-address-item{width:184px}.cn-address-popup .cn-address-footer{display:flex;border-top:1px solid #dcdee3;background-color:#fff}.cn-address-popup .cn-address-footer .cn-address-footer-item{display:flex;flex:1}.cn-address-popup .cn-address-footer .cn-address-footer-item .cn-address-footer-btn{display:flex;flex:1;justify-content:center;align-items:center;font-size:12px;color:#333;margin:0;border-radius:0;border:0;border-right:1px solid #dcdee3}.cn-address-popup .cn-address--mark-deletion{text-decoration:line-through;font-style:oblique}.cn-address-header-search{width:100%;padding:10px 0;background-color:#fff}.cn-address-header-search .cn-address-header-search-inner{width:164px;margin:0 10px}.cn-address--search-loading-container{padding:16px 40px;font-size:12px}.cn-address-search-text{background-color:#fff;color:#999;text-align:center}.cn-address-suffix-icon{margin-top:2px;margin-right:4px;color:#999}.next-cascader-select{box-sizing:border-box}.next-cascader-select *,.next-cascader-select *:before,.next-cascader-select *:after{box-sizing:border-box}.next-cascader-select-dropdown{box-sizing:border-box;border:1px solid #DCDEE3;border-radius:3px;box-shadow:none}.next-cascader-select-dropdown *,.next-cascader-select-dropdown *:before,.next-cascader-select-dropdown *:after{box-sizing:border-box}.next-cascader-select-dropdown .next-cascader{display:block;border:none;box-shadow:none}.next-cascader-select-not-found{padding:0;border:none;box-shadow:none;overflow:auto;color:#999}.next-cascader-select-not-found .next-menu-item:hover{color:#999;background:#FFFFFF;cursor:default}.mdd-formily-select .next-select-values{width:0!important}._container_t9q14_1 .next-formily-item-feedback-layout-loose{margin-bottom:10px}._container_t9q14_1 .next-formily-item-label,._container_t9q14_1 .cn-ui-form-item .cn-ui-form-item-label{line-height:24px}._container_t9q14_1 ._footer_t9q14_8{display:flex;justify-content:flex-end}._mddTableForm_tl8oe_1{display:flex;flex-direction:column;padding:0 12px 12px}._mddTableForm_tl8oe_1 .cn-next-collapse .cn-next-collapse-panel-icon{line-height:38px}._mddTableForm_tl8oe_1 .cn-next-radio-group .cn-next-radio-label{font-size:12px}._tableFormTitle_tl8oe_14{padding-bottom:8px;display:flex;justify-content:space-between}._tableFormContent_tl8oe_20 .cn-next-collapse>.cn-next-collapse-panel .cn-next-collapse-panel-title{padding:0 0 0 36px}._tableFormContent_tl8oe_20 .cn-next-collapse>.cn-next-collapse-panel .cn-next-collapse-panel-title .cn-next-icon{height:100%;line-height:1;display:flex;align-items:center}._tableFormContent_tl8oe_20 .cn-next-collapse>.cn-next-collapse-panel .cn-next-collapse-panel-title .cn-next-icon.cn-next-icon-close{padding:0 6px;cursor:pointer}._tableFormBottom_tl8oe_34{padding-top:12px;display:flex;justify-content:center;align-items:center}._itemTitle_tl8oe_41{display:flex;align-items:center;padding:4px}._itemTitle_tl8oe_41 .cn-next-input.cn-next-medium{height:24px}._itemTitle_tl8oe_41 .cn-next-input.cn-next-medium input{height:24px;line-height:24px;font-size:12px}._itemTitle_tl8oe_41 .cn-next-input.cn-next-medium .cn-next-select-values{height:24px;font-size:12px}._itemTitle_tl8oe_41 .cn-next-input.cn-next-medium .cn-next-input-inner i{margin:0 4px!important}._drop-over-downward_tl8oe_62{border-bottom:2px dashed #3080fe!important}._drop-over-upward_tl8oe_66{border-top:2px dashed #3080fe!important}._itemComponent_tl8oe_70{display:flex;align-items:center;padding:0 12px}._itemLabel_tl8oe_76{padding-right:12px;font-size:12px}._collapseContent_tl8oe_81{padding:0 12px}._itemClose_tl8oe_85{position:absolute;right:12px;top:0;height:48px;line-height:48px}._mddForm_1e2nn_1{display:flex;flex-direction:column;padding:12px}._mddForm_1e2nn_1 .cn-next-collapse .cn-next-collapse-panel-icon{line-height:38px}._mddForm_1e2nn_1 .cn-next-number-picker .cn-next-input.cn-next-small{height:24px;display:flex}._mddForm_1e2nn_1 .cn-next-number-picker-normal .cn-next-input .cn-next-input-control{width:22px}._mddForm_1e2nn_1 .cn-next-form-item-label{color:#000000d9}._FormTitle_1e2nn_20{padding-bottom:8px}._FormTitleHelp_1e2nn_24{font-size:12px;color:#999;padding-bottom:8px}._FormContent_1e2nn_30{padding:28px;background:#f9f9f9}._content_1e2nn_35{padding:12px}._mddTableArray_16ght_1{display:flex;flex-direction:column;padding:0 12px 12px}._mddTableArray_16ght_1 .cn-next-collapse .cn-next-collapse-panel-icon{line-height:38px}._mddTableArray_16ght_1 .cn-next-radio-group .cn-next-radio-label{font-size:12px}._tableArrayTitle_16ght_14{padding-bottom:8px}._tableArrayContent_16ght_18 .cn-next-collapse>.cn-next-collapse-panel .cn-next-collapse-panel-title{padding:0 0 0 36px}._tableArrayContent_16ght_18 .cn-next-collapse>.cn-next-collapse-panel .cn-next-collapse-panel-title .cn-next-icon{height:100%;line-height:1;display:flex;align-items:center}._tableArrayContent_16ght_18 .cn-next-collapse>.cn-next-collapse-panel .cn-next-collapse-panel-title .cn-next-icon.cn-next-icon-close{padding:0 6px;cursor:pointer}._tableArrayBottom_16ght_32{padding-top:12px;display:flex;justify-content:center;align-items:center}._itemTitle_16ght_39{display:flex;align-items:center;padding:4px;position:relative}._itemTitle_16ght_39 .cn-next-input.cn-next-medium{height:24px}._itemTitle_16ght_39 .cn-next-input.cn-next-medium input{height:24px;line-height:24px;font-size:12px}._itemTitle_16ght_39 .cn-next-input.cn-next-medium .cn-next-select-values{height:24px;font-size:12px}._itemTitle_16ght_39 .cn-next-input.cn-next-medium .cn-next-input-inner i{margin:0 4px!important}._drop-over-downward_16ght_61{border-bottom:2px dashed #3080fe!important}._drop-over-upward_16ght_65{border-top:2px dashed #3080fe!important}._collapseContent_16ght_69{padding:0 12px}._itemClose_16ght_73{position:absolute;right:12px;top:0;height:48px;line-height:48px}._middleBox_119xt_20{margin-left:"10px";margin-bottom:8px;display:flex}._middleBoxLeft_119xt_26{width:100px;text-align:right}._middleBoxRight_119xt_31{flex:1}._customTabItem_119xt_1{padding:8px}._tabTitle_119xt_5{font-size:14px}._tabLabel_119xt_9{display:inline-block;padding:0 2px}._middleBox_119xt_20{margin-left:"10px";margin-bottom:8px;display:flex}._middleBoxLeft_119xt_26{width:100px;text-align:right}._middleBoxRight_119xt_31{flex:1}._mddTableArray_16ght_1{display:flex;flex-direction:column;padding:0 12px 12px}._mddTableArray_16ght_1 .cn-next-collapse .cn-next-collapse-panel-icon{line-height:38px}._mddTableArray_16ght_1 .cn-next-radio-group .cn-next-radio-label{font-size:12px}._tableArrayTitle_16ght_14{padding-bottom:8px}._tableArrayContent_16ght_18 .cn-next-collapse>.cn-next-collapse-panel .cn-next-collapse-panel-title{padding:0 0 0 36px}._tableArrayContent_16ght_18 .cn-next-collapse>.cn-next-collapse-panel .cn-next-collapse-panel-title .cn-next-icon{height:100%;line-height:1;display:flex;align-items:center}._tableArrayContent_16ght_18 .cn-next-collapse>.cn-next-collapse-panel .cn-next-collapse-panel-title .cn-next-icon.cn-next-icon-close{padding:0 6px;cursor:pointer}._tableArrayBottom_16ght_32{padding-top:12px;display:flex;justify-content:center;align-items:center}._itemTitle_16ght_39{display:flex;align-items:center;padding:4px;position:relative}._itemTitle_16ght_39 .cn-next-input.cn-next-medium{height:24px}._itemTitle_16ght_39 .cn-next-input.cn-next-medium input{height:24px;line-height:24px;font-size:12px}._itemTitle_16ght_39 .cn-next-input.cn-next-medium .cn-next-select-values{height:24px;font-size:12px}._itemTitle_16ght_39 .cn-next-input.cn-next-medium .cn-next-input-inner i{margin:0 4px!important}._drop-over-downward_16ght_61{border-bottom:2px dashed #3080fe!important}._drop-over-upward_16ght_65{border-top:2px dashed #3080fe!important}._collapseContent_16ght_69{padding:0 12px}._itemClose_16ght_73{position:absolute;right:12px;top:0;height:48px;line-height:48px}._title_10adh_1{width:100%;display:flex;gap:12px}._titleItem_10adh_7{display:flex;align-items:center}._titleItemLabel_10adh_12{padding-right:12px}._titleItemLabel_10adh_12:first-of-type{padding-left:0}._customTabItem_1lh1l_1{padding:8px}._tabTitle_1lh1l_5{font-size:14px}._tabLabel_1lh1l_9{display:inline-block;padding:0 2px}._mddDetailItems_1lh1l_14 ._itemComponent_1lh1l_14{display:flex;align-items:center;padding:0 12px}._mddDetailItems_1lh1l_14 ._itemLabel_1lh1l_19{padding-right:12px;font-size:12px}.build-page-tab-detail-help{font-size:13px;color:#999;padding:0 12px 12px}._customTabItem_ac2i9_1{padding:8px}._tabTitle_ac2i9_5{font-size:14px}._tabLabel_ac2i9_9{display:inline-block;padding:0 2px}.formily-form-v2-kv{padding:0 12px;display:flex;flex-direction:column;margin-bottom:12px}.formily-form-v2-kv .formily-form-v2-title-wrapper{margin-bottom:8px;line-height:1}.formily-form-v2-kv .formily-form-v2-title-wrapper .title{margin-right:8px}.formily-form-v2-kv .formily-form-v2-title-wrapper .subTitle{color:#585d66;font-size:12px}._kvContainer_rfbib_1{padding:0 12px;display:flex;flex-direction:column;margin-bottom:12px}._kvContainer_rfbib_1 ._kvWrapper_rfbib_7{margin-bottom:8px;line-height:1}._kvContainer_rfbib_1 ._kvWrapper_rfbib_7 ._kvTitle_rfbib_11{margin-right:8px}._kvContainer_rfbib_1 ._kvWrapper_rfbib_7 ._kvSubTitle_rfbib_14{color:#585d66;font-size:12px}.mdd-editor-build-content{flex:1;position:relative}.mdd-editor-build-content .mdd-editor-toolbar{cursor:zoom-in;position:absolute;z-index:100;text-align:right;top:0;right:0;padding:4px 18px;display:flex;align-items:center;gap:8px}.mdd-editor-build-content .preview-tool-full>i{cursor:pointer}.mdd-editor-build-content .preview-tool-full .icon-box{position:absolute;right:12px;top:4px;padding:4px;width:1.5em;height:1.5em;display:flex;justify-content:center;align-items:center;background-color:#00000052;border-radius:2px;cursor:pointer;z-index:19}.mdd-editor-build-content .preview-tool-full .icon-box img{display:inline-block;width:14px;height:14px}.mdd-script-card{position:relative}.mdd-script-card .mdd-script-top-buttons{position:absolute;right:22px;top:12px;display:flex;gap:12px;z-index:10}._customTabItem_1y6va_1{padding:8px}._tabTitle_1y6va_5{font-size:14px}._tabLabel_1y6va_9{display:inline-block;padding:0 2px}.mdd-tip{color:#999;display:inline;padding-left:20px}
1
+ .monaco-clone-btn{position:absolute;right:10px;top:10px;z-index:101;display:none}.monaco-container{min-height:400px}.form-item-exart-abs{display:flex;flex-direction:row;justify-content:flex-end;align-items:center;position:absolute;top:0;right:0;font-size:12px}.help-link{margin-left:20px}.handle-by-source-code{color:#00f;margin-left:5px}.handle-by-source-code-tip{color:#aaa;margin-left:5px}.ajax-schema-form-container{display:flex}.data-source-item{margin:0 0 15px;padding:3px;border:1px solid #000;border-radius:4px;border-color:#49cc90;background-color:#49cc9033;display:flex;align-items:center;cursor:pointer}.data-source-item:hover{box-shadow:0 0 5px #49cc90}.data-source-item .method{font-size:14px;font-weight:700;padding:3px 5px;text-align:center;border-radius:3px;background:#000;font-family:sans-serif;color:#fff;background:#1cce75}.data-source-item .host{font-weight:700;margin-left:5px}.data-source-item .url{font-weight:700;margin-left:10px;overflow:hidden;text-overflow:ellipsis}.data-source-item .description{margin-left:10px}.kv-table .table-operation-row{font-size:12px;margin-top:5px;display:flex;justify-content:space-between}.kv-table .table-operation-row .fast-select{width:200px}._dsType_mxilv_1{margin-bottom:10px}._dsJSONContent_mxilv_5{margin-top:10px}._dsJSONContent_mxilv_5 ._dsJSONContentTip_mxilv_8{margin-top:6px;font-weight:700}._dsAjaxContent_mxilv_13{margin-top:10px}._dsTitle_mxilv_17{font-weight:700;margin-top:10px}._actionButton_mxilv_22{margin-bottom:8px}._watchContainer_mxilv_26{display:flex;align-items:center;margin-top:10px}._dsTitleWatch_mxilv_32{margin-right:8px;font-weight:700}._staticValueOkBtn_mxilv_37{margin-left:4px}._tableDeleteBtn_mxilv_41{margin-left:8px}._secondConfirm_mxilv_45{margin-top:10px}._dsType_1islj_1{margin-bottom:10px}._dsJSONContent_1islj_5{margin-top:10px}._dsJSONContent_1islj_5 ._dsJSONContentTip_1islj_8{margin-top:6px;font-weight:700}._dsTitle_1islj_13{font-weight:700;margin-top:10px}._actionButton_1islj_18{margin-bottom:8px}._watchContainer_1islj_22{display:flex;align-items:center;margin-top:10px}._dsTitleWatch_1islj_28{margin-right:8px;font-weight:700}._staticValueOkBtn_1islj_33{margin-left:4px}._tableDeleteBtn_1islj_37{margin-left:8px}._secondConfirm_1islj_41{margin-top:10px}@charset "UTF-8";.next-sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;top:0;margin:-1px}.next-select{box-sizing:border-box}.next-select *,.next-select *:before,.next-select *:after{box-sizing:border-box}.next-select{display:inline-block;position:relative;font-size:0;vertical-align:middle}.next-select-trigger{min-width:100px;outline:0;transition:all .1s linear}.next-select-trigger .next-input-label{flex:0 0 auto;width:auto}.next-select-trigger .next-select-values{display:block;width:100%;flex:1 1 0;overflow:hidden}.next-select-trigger .next-select-values>em{font-style:inherit}.next-select-trigger .next-select-values input{padding-left:0;padding-right:0}.next-select-trigger .next-input-control{flex:0 0 auto;width:auto}.next-select-trigger .next-input-control>*{display:inline-block;width:auto}.next-select-trigger .next-input-control>.next-select-arrow{padding-right:0}.next-select-trigger .next-input.next-disabled em{color:#ccc}.next-select-trigger .next-input.next-disabled .next-select-arrow{cursor:not-allowed}.next-select-trigger .next-select-clear{display:none}.next-select-trigger.next-has-clear:hover .next-select-clear{display:inline-block}.next-select-trigger.next-has-clear:hover .next-select-arrow{display:none}.next-select .next-select-inner{display:inline-flex;align-items:center;width:100%;min-width:100px;outline:0;color:#333}.next-select .next-select-inner .next-tag{line-height:1;margin-right:4px;margin-bottom:3px;padding-left:0;padding-right:0}.next-select .next-select-inner .next-input-inner{width:auto}.next-select-trigger-search{position:relative;display:inline-block;vertical-align:top;overflow:hidden;width:100%;max-width:100%}.next-select-trigger-search>input,.next-select-trigger-search>span{display:block;font-size:inherit;font-family:inherit;letter-spacing:inherit;white-space:nowrap;overflow:hidden}.next-select-trigger-search input{position:absolute;background-color:transparent;width:100%;height:100%!important;z-index:1;left:0;border:0;outline:0;margin:0;padding:0;cursor:inherit}.next-select-trigger-search>span{position:relative;visibility:hidden;white-space:pre;max-width:100%;z-index:-1}.next-select-single.next-no-search{cursor:pointer}.next-select-single.next-has-search.next-active .next-select-values>em{display:none}.next-select-single.next-no-search .next-select-values>em+.next-select-trigger-search,.next-select-single.next-inactive .next-select-values>em+.next-select-trigger-search{width:1px;opacity:0;filter:alpha(opacity=0)}.next-select-single .next-select-values{display:inline-flex;align-items:center}.next-select-single .next-select-values>em{vertical-align:middle;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.next-select-multiple .next-select-compact{position:relative;white-space:nowrap}.next-select-multiple .next-select-compact .next-select-trigger-search{width:auto}.next-select-multiple .next-select-compact .next-select-tag-compact{position:absolute;top:0;right:0;z-index:1;padding:0 4px 0 16px;color:#333;background:linear-gradient(90deg,transparent,#FFFFFF 10px)}.next-select-multiple .next-disabled .next-select-tag-compact{background:linear-gradient(90deg,transparent,#F7F8FA 10px)}.next-select-multiple .next-select-values,.next-select-tag .next-select-values{margin-bottom:-3px;height:auto!important}.next-select-multiple .next-select-trigger-search,.next-select-tag .next-select-trigger-search{margin-bottom:3px}.next-select-multiple .next-tag+.next-select-trigger-search,.next-select-tag .next-tag+.next-select-trigger-search{width:auto;min-width:1px}.next-select-multiple .next-input,.next-select-tag .next-input{height:auto;align-items:start}.next-select-multiple.next-small .next-select-values,.next-select-tag.next-small .next-select-values{min-height:18px;padding-top:2px;padding-bottom:2px;line-height:14px}.next-select-multiple.next-small .next-select-values-compact,.next-select-tag.next-small .next-select-values-compact{height:20px!important}.next-select-multiple.next-small .next-tag,.next-select-tag.next-small .next-tag{border:0;padding-top:0;padding-bottom:0;height:14px}.next-select-multiple.next-small .next-tag .next-tag-body,.next-select-multiple.next-small .next-tag .next-tag-close-btn,.next-select-tag.next-small .next-tag .next-tag-body,.next-select-tag.next-small .next-tag .next-tag-close-btn,.next-select-multiple.next-small .next-tag-body,.next-select-tag.next-small .next-tag-body{line-height:14px}.next-select-multiple.next-small .next-input-label,.next-select-multiple.next-small .next-input-inner,.next-select-multiple.next-small .next-input-control,.next-select-multiple.next-small .next-select-tag-compact,.next-select-tag.next-small .next-input-label,.next-select-tag.next-small .next-input-inner,.next-select-tag.next-small .next-input-control,.next-select-tag.next-small .next-select-tag-compact{line-height:18px}.next-select-multiple.next-medium .next-select-values,.next-select-tag.next-medium .next-select-values{min-height:26px;padding-top:3px;padding-bottom:3px;line-height:20px}.next-select-multiple.next-medium .next-select-values-compact,.next-select-tag.next-medium .next-select-values-compact{height:28px!important}.next-select-multiple.next-medium .next-tag,.next-select-tag.next-medium .next-tag{padding-top:1px;padding-bottom:1px;height:20px}.next-select-multiple.next-medium .next-tag .next-tag-body,.next-select-multiple.next-medium .next-tag .next-tag-close-btn,.next-select-tag.next-medium .next-tag .next-tag-body,.next-select-tag.next-medium .next-tag .next-tag-close-btn{line-height:18px}.next-select-multiple.next-medium .next-input-label,.next-select-multiple.next-medium .next-input-inner,.next-select-multiple.next-medium .next-input-control,.next-select-multiple.next-medium .next-select-tag-compact,.next-select-tag.next-medium .next-input-label,.next-select-tag.next-medium .next-input-inner,.next-select-tag.next-medium .next-input-control,.next-select-tag.next-medium .next-select-tag-compact{line-height:26px}.next-select-multiple.next-large .next-select-values,.next-select-tag.next-large .next-select-values{min-height:38px;padding-top:7px;padding-bottom:7px;line-height:24px}.next-select-multiple.next-large .next-select-values-compact,.next-select-tag.next-large .next-select-values-compact{height:40px!important}.next-select-multiple.next-large .next-tag,.next-select-tag.next-large .next-tag{padding-top:3px;padding-bottom:3px;height:24px}.next-select-multiple.next-large .next-tag .next-tag-body,.next-select-multiple.next-large .next-tag .next-tag-close-btn,.next-select-tag.next-large .next-tag .next-tag-body,.next-select-tag.next-large .next-tag .next-tag-close-btn{line-height:18px}.next-select-multiple.next-large .next-input-label,.next-select-multiple.next-large .next-input-inner,.next-select-multiple.next-large .next-input-control,.next-select-multiple.next-large .next-select-tag-compact,.next-select-tag.next-large .next-input-label,.next-select-tag.next-large .next-input-inner,.next-select-tag.next-large .next-input-control,.next-select-tag.next-large .next-select-tag-compact{line-height:38px}.next-select-auto-complete{width:160px}.next-select-auto-complete .next-input{width:100%}.next-select-auto-complete .next-input .next-input-hint-wrap{padding-right:1px}.next-select-auto-complete .next-input .next-select-arrow{padding-left:0}.next-select.next-active .next-select-arrow .next-icon-arrow-down{transform:rotate(180deg)}.next-select .next-select-unfold-icon:before{content:""}.next-select-symbol-fold:before{content:"\e63d"}.next-select-arrow{cursor:pointer;width:auto!important;text-align:center;transition:all .1s linear}.next-select-popup-wrap{animation-duration:.3s;animation-timing-function:ease;padding:0}.next-select-spacing-tb{padding:0}.next-select-menu-wrapper{max-height:260px;overflow:auto;border:1px solid #DCDEE3;border-radius:3px;box-shadow:none}.next-select-menu-wrapper .next-select-menu{max-height:none;border:none}.next-select-menu{max-height:260px;overflow:auto}.next-select-menu .next-select-menu-empty-content{padding-left:8px;padding-right:8px;color:#999}.next-select-menu.next-select-auto-complete-menu.next-select-menu-empty{display:none}.next-select-menu .next-menu-item-text .next-icon{vertical-align:middle}.next-select-all{display:block;cursor:pointer;padding:0 8px;margin:0 12px 8px;border-bottom:1px solid #DCDEE3}.next-select-all:hover{color:#3e71f7}.next-select-all .next-menu-icon-selected.next-icon{display:inline-block!important;top:initial;color:#5584ff}.next-select-highlight{color:#5584ff;font-size:12px}.next-select-in-ie.next-select-trigger .next-select-values{overflow:visible}.next-select-in-ie.next-select-trigger .next-input-control,.next-select-in-ie.next-select-trigger .next-input-label{width:1px}.next-select-in-ie.next-select-trigger .next-input-control>*{display:table-cell;width:1%}.next-select-in-ie.next-select-trigger .next-select-arrow{display:table-cell}.next-select-in-ie.next-select-trigger .next-select-clear{display:none}.next-select-in-ie.next-select-trigger.next-select-multiple .next-select-inner,.next-select-in-ie.next-select-trigger.next-select-tag .next-select-inner{vertical-align:top}.next-select-in-ie.next-select-trigger .next-select-inner,.next-select-in-ie.next-select-trigger.next-select-single .next-select-values{display:inline-table}.next-select-in-ie.next-select-trigger.next-select-single .next-input.next-small .next-select-values{line-height:20px}.next-select-in-ie.next-select-trigger.next-select-single .next-input.next-medium .next-select-values{line-height:28px}.next-select-in-ie.next-select-trigger.next-select-single .next-input.next-large .next-select-values{line-height:40px}.next-select-in-ie.next-select-trigger .next-select-trigger-search>span{max-width:100px}.next-select-in-ie.next-select-trigger.next-select-single.next-select-in-ie-fixwidth .next-select-values{position:relative}.next-select-in-ie.next-select-trigger.next-select-single.next-select-in-ie-fixwidth .next-select-values>em{position:absolute;display:inline-block;height:100%;line-height:1;vertical-align:middle;overflow:hidden;left:4px;right:0;top:30%}.next-select-in-ie.next-select-trigger.next-select-single.next-no-search .next-select-values>em+.next-select-trigger-search,.next-select-in-ie.next-select-trigger.next-select-single.next-inactive .next-select-values>em+.next-select-trigger-search{filter:alpha(opacity=0);font-size:0}.next-select-in-ie.next-select-trigger.next-no-search .next-select-trigger-search input{color:inherit}@media screen and (-webkit-min-device-pixel-ratio: 0){.next-select-multiple .next-select-compact .next-select-tag-compact{background:linear-gradient(90deg,rgba(255,255,255,0),#FFFFFF 10px)}.next-select-multiple .next-disabled .next-select-tag-compact{background:linear-gradient(90deg,rgba(255,255,255,0),#F7F8FA 10px)}}.next-select.next-select-multiple[dir=rtl] .next-select-compact .next-select-tag-compact{left:0;right:auto;padding:0 16px 0 4px;background:linear-gradient(270deg,rgba(255,255,255,0),#FFFFFF 10px)}.next-sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;top:0;margin:-1px}.next-menu[dir=rtl] .next-menu-item-helper{float:left}.next-menu[dir=rtl] .next-menu-item .next-checkbox,.next-menu[dir=rtl] .next-menu-item .next-radio{margin-left:4px;margin-right:0}.next-menu[dir=rtl] .next-menu-hoz-right{float:left}.next-menu[dir=rtl] .next-menu-hoz-icon-arrow.next-icon{left:6px;right:auto}.next-menu[dir=rtl] .next-menu-icon-selected.next-icon{margin-left:0;margin-right:-16px}.next-menu[dir=rtl] .next-menu-icon-selected.next-icon:before,.next-menu[dir=rtl] .next-menu-icon-selected.next-icon .next-icon-remote{width:12px;font-size:12px;line-height:inherit}.next-menu[dir=rtl] .next-menu-icon-selected.next-icon.next-menu-icon-right{right:auto;left:4px}.next-menu[dir=rtl] .next-menu-icon-arrow.next-icon{left:10px;right:auto}.next-menu{box-sizing:border-box}.next-menu *,.next-menu *:before,.next-menu *:after{box-sizing:border-box}.next-menu:focus,.next-menu *:focus{outline:0}.next-menu{position:relative;min-width:100px;margin:0;list-style:none;border:1px solid #DCDEE3;border-radius:3px;box-shadow:none;background:#FFFFFF;line-height:32px;font-size:12px;animation-duration:.3s;animation-timing-function:ease}.next-menu-spacing-lr{padding:0}.next-menu-spacing-lr.next-menu-outside>.next-menu{height:100%;overflow-y:auto}.next-menu-spacing-tb{padding:0}.next-menu.next-ver{padding:8px 0}.next-menu.next-ver .next-menu-item{padding:0 20px}.next-menu.next-hoz{padding:8px 0}.next-menu.next-hoz .next-menu-item{padding:0 20px}.next-menu-embeddable,.next-menu-embeddable .next-menu-item.next-disabled,.next-menu-embeddable .next-menu-item.next-disabled .next-menu-item-text>a{background:transparent;border:none}.next-menu-embeddable{box-shadow:none}.next-menu-embeddable .next-menu-item-inner{height:100%}.next-menu-content{position:relative;padding:0;margin:0;list-style:none}.next-menu-sub-menu{padding:0;margin:0;list-style:none}.next-menu-sub-menu.next-expand-enter{overflow:hidden}.next-menu-sub-menu.next-expand-enter-active{transition:height .3s ease}.next-menu-sub-menu.next-expand-leave{overflow:hidden}.next-menu-sub-menu.next-expand-leave-active{transition:height .3s ease}.next-menu-item{position:relative;transition:background .1s linear;color:#333;cursor:pointer}.next-menu-item-helper{float:right;color:#999;font-style:normal;font-size:12px}.next-menu-item .next-checkbox,.next-menu-item .next-radio{margin-right:4px}.next-menu-item.next-selected{color:#333;background-color:#fff}.next-menu-item.next-selected .next-menu-icon-arrow{color:#666}.next-menu-item.next-selected .next-menu-icon-selected{color:#5584ff}.next-menu-item.next-disabled,.next-menu-item.next-disabled .next-menu-item-text>a{color:#ccc;background-color:#fff}.next-menu-item.next-disabled .next-menu-icon-arrow,.next-menu-item.next-disabled .next-menu-item-text>a .next-menu-icon-arrow{color:#ccc}.next-menu-item.next-disabled .next-menu-icon-selected,.next-menu-item.next-disabled .next-menu-item-text>a .next-menu-icon-selected{color:#ccc}.next-menu-item.next-disabled,.next-menu-item.next-disabled .next-menu-item-text>a{cursor:not-allowed}.next-menu-item:not(.next-disabled):hover,.next-menu-item:not(.next-disabled).next-selected:hover,.next-menu-item:not(.next-disabled).next-selected.next-focused:hover,.next-menu-item:not(.next-disabled).next-selected:focus:hover,.next-menu-item:not(.next-disabled).next-focused,.next-menu-item:not(.next-disabled).next-selected.next-focused,.next-menu-item:not(.next-disabled).next-selected:focus{color:#333;background-color:#f2f3f7}.next-menu-item:not(.next-disabled):hover .next-menu-icon-arrow,.next-menu-item:not(.next-disabled).next-selected:hover .next-menu-icon-arrow,.next-menu-item:not(.next-disabled).next-selected.next-focused:hover .next-menu-icon-arrow,.next-menu-item:not(.next-disabled).next-selected:focus:hover .next-menu-icon-arrow,.next-menu-item:not(.next-disabled).next-focused .next-menu-icon-arrow,.next-menu-item:not(.next-disabled).next-selected.next-focused .next-menu-icon-arrow,.next-menu-item:not(.next-disabled).next-selected:focus .next-menu-icon-arrow{color:#333}.next-menu-item:not(.next-disabled):hover .next-menu-icon-selected,.next-menu-item:not(.next-disabled).next-selected:hover .next-menu-icon-selected,.next-menu-item:not(.next-disabled).next-selected.next-focused:hover .next-menu-icon-selected,.next-menu-item:not(.next-disabled).next-selected:focus:hover .next-menu-icon-selected,.next-menu-item:not(.next-disabled).next-focused .next-menu-icon-selected,.next-menu-item:not(.next-disabled).next-selected.next-focused .next-menu-icon-selected,.next-menu-item:not(.next-disabled).next-selected:focus .next-menu-icon-selected{color:#5584ff}.next-menu-item-inner{height:32px;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-wrap:normal}.next-menu-item .next-menu-item-text{vertical-align:middle}.next-menu-item .next-menu-item-text>a{display:inline-block;text-decoration:none;color:#333}.next-menu-item .next-menu-item-text>a:before{position:absolute;background-color:transparent;top:0;left:0;bottom:0;right:0;content:""}.next-menu.next-hoz{padding:0}.next-menu.next-hoz.next-menu-nowrap{overflow:hidden;white-space:nowrap}.next-menu.next-hoz.next-menu-nowrap .next-menu-more{text-align:center}.next-menu.next-hoz>.next-menu-item,.next-menu.next-hoz>.next-menu-sub-menu-wrapper,.next-menu.next-hoz .next-menu-content>.next-menu-item{display:inline-block;vertical-align:top}.next-menu.next-hoz .next-menu-header,.next-menu.next-hoz .next-menu-content,.next-menu.next-hoz .next-menu-footer{display:inline-block}.next-menu-hoz-right{float:right}.next-menu-group-label{padding:0 12px;color:#999}.next-menu-divider{margin:8px 12px;border-bottom:1px solid #E6E7EB}.next-menu .next-menu-icon-selected.next-icon{position:absolute;top:0;margin-left:-16px}.next-menu .next-menu-icon-selected.next-icon:before,.next-menu .next-menu-icon-selected.next-icon .next-icon-remote{width:12px;font-size:12px;line-height:inherit}.next-menu .next-menu-icon-selected.next-icon.next-menu-icon-right{right:4px}.next-menu .next-menu-symbol-icon-selected.next-menu-icon-selected:before{content:"\e632"}.next-menu .next-menu-icon-arrow.next-icon{position:absolute;top:0;right:10px}.next-menu .next-menu-icon-arrow.next-icon:before,.next-menu .next-menu-icon-arrow.next-icon .next-icon-remote{width:8px;font-size:8px;line-height:inherit}@media all and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: .001dpcm){.next-menu .next-menu-icon-arrow.next-icon{transform:scale(.5);margin-left:-4px;margin-right:-4px}.next-menu .next-menu-icon-arrow.next-icon:before{width:16px;font-size:16px}}.next-menu .next-menu-icon-arrow.next-icon{color:#666;transition:all .1s linear}.next-menu .next-menu-icon-arrow-down:before{content:"\e63d"}.next-menu .next-menu-icon-arrow-down.next-open{transform:rotate(180deg)}.next-menu .next-menu-icon-arrow-down.next-open:before,.next-menu .next-menu-icon-arrow-down.next-open .next-icon-remote{width:8px;font-size:8px;line-height:inherit}@media all and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: .001dpcm){.next-menu .next-menu-icon-arrow-down.next-open{transform:scale(.5) rotate(180deg);margin-left:-4px;margin-right:-4px}.next-menu .next-menu-icon-arrow-down.next-open:before{width:16px;font-size:16px}}.next-menu .next-menu-symbol-popupfold:before{content:"\e619"}.next-menu .next-menu-icon-arrow-right.next-open{transform:rotate(-90deg)}.next-menu .next-menu-icon-arrow-right.next-open:before,.next-menu .next-menu-icon-arrow-right.next-open .next-icon-remote{width:8px;font-size:8px;line-height:inherit}@media all and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: .001dpcm){.next-menu .next-menu-icon-arrow-right.next-open{transform:scale(.5) rotate(-90deg);margin-left:-4px;margin-right:-4px}.next-menu .next-menu-icon-arrow-right.next-open:before{width:16px;font-size:16px}}.next-menu .next-menu-hoz-icon-arrow.next-icon{position:absolute;top:0;right:6px}.next-menu .next-menu-hoz-icon-arrow.next-icon:before,.next-menu .next-menu-hoz-icon-arrow.next-icon .next-icon-remote{width:12px;font-size:12px;line-height:inherit}.next-menu .next-menu-hoz-icon-arrow.next-icon{color:#666;transition:all .1s linear}.next-menu .next-menu-hoz-icon-arrow.next-icon:before{content:"\e63d"}.next-menu-unfold-icon:before{content:""}.next-menu .next-menu-hoz-icon-arrow.next-open{transform:rotate(180deg)}.next-menu .next-menu-hoz-icon-arrow.next-open:before,.next-menu .next-menu-hoz-icon-arrow.next-open .next-icon-remote{width:12px;font-size:12px;line-height:inherit}.next-menu.next-context{line-height:24px}.next-menu.next-context .next-menu-item-inner{height:24px}.cn-address{min-width:160px}.cn-address-popup .cn-address-list,.cn-address-popup .cn-address-item{width:184px}.cn-address-popup .cn-address-footer{display:flex;border-top:1px solid #dcdee3;background-color:#fff}.cn-address-popup .cn-address-footer .cn-address-footer-item{display:flex;flex:1}.cn-address-popup .cn-address-footer .cn-address-footer-item .cn-address-footer-btn{display:flex;flex:1;justify-content:center;align-items:center;font-size:12px;color:#333;margin:0;border-radius:0;border:0;border-right:1px solid #dcdee3}.cn-address-popup .cn-address--mark-deletion{text-decoration:line-through;font-style:oblique}.cn-address-header-search{width:100%;padding:10px 0;background-color:#fff}.cn-address-header-search .cn-address-header-search-inner{width:164px;margin:0 10px}.cn-address--search-loading-container{padding:16px 40px;font-size:12px}.cn-address-search-text{background-color:#fff;color:#999;text-align:center}.cn-address-suffix-icon{margin-top:2px;margin-right:4px;color:#999}.next-cascader-select{box-sizing:border-box}.next-cascader-select *,.next-cascader-select *:before,.next-cascader-select *:after{box-sizing:border-box}.next-cascader-select-dropdown{box-sizing:border-box}.next-cascader-select-dropdown *,.next-cascader-select-dropdown *:before,.next-cascader-select-dropdown *:after{box-sizing:border-box}.next-cascader-select-dropdown{border:1px solid #DCDEE3;border-radius:3px;box-shadow:none}.next-cascader-select-dropdown .next-cascader{display:block;border:none;box-shadow:none}.next-cascader-select-not-found{padding:0;border:none;box-shadow:none;overflow:auto;color:#999}.next-cascader-select-not-found .next-menu-item:hover{color:#999;background:#FFFFFF;cursor:default}.mdd-formily-select .next-select-values{width:0!important}._container_t9q14_1 .next-formily-item-feedback-layout-loose{margin-bottom:10px}._container_t9q14_1 .next-formily-item-label,._container_t9q14_1 .cn-ui-form-item .cn-ui-form-item-label{line-height:24px}._container_t9q14_1 ._footer_t9q14_8{display:flex;justify-content:flex-end}._mddTableForm_tl8oe_1{display:flex;flex-direction:column;padding:0 12px 12px}._mddTableForm_tl8oe_1 .cn-next-collapse .cn-next-collapse-panel-icon{line-height:38px}._mddTableForm_tl8oe_1 .cn-next-radio-group .cn-next-radio-label{font-size:12px}._tableFormTitle_tl8oe_14{padding-bottom:8px;display:flex;justify-content:space-between}._tableFormContent_tl8oe_20 .cn-next-collapse>.cn-next-collapse-panel .cn-next-collapse-panel-title{padding:0 0 0 36px}._tableFormContent_tl8oe_20 .cn-next-collapse>.cn-next-collapse-panel .cn-next-collapse-panel-title .cn-next-icon{height:100%;line-height:1;display:flex;align-items:center}._tableFormContent_tl8oe_20 .cn-next-collapse>.cn-next-collapse-panel .cn-next-collapse-panel-title .cn-next-icon.cn-next-icon-close{padding:0 6px;cursor:pointer}._tableFormBottom_tl8oe_34{padding-top:12px;display:flex;justify-content:center;align-items:center}._itemTitle_tl8oe_41{display:flex;align-items:center;padding:4px}._itemTitle_tl8oe_41 .cn-next-input.cn-next-medium{height:24px}._itemTitle_tl8oe_41 .cn-next-input.cn-next-medium input{height:24px;line-height:24px;font-size:12px}._itemTitle_tl8oe_41 .cn-next-input.cn-next-medium .cn-next-select-values{height:24px;font-size:12px}._itemTitle_tl8oe_41 .cn-next-input.cn-next-medium .cn-next-input-inner i{margin:0 4px!important}._drop-over-downward_tl8oe_62{border-bottom:2px dashed #3080fe!important}._drop-over-upward_tl8oe_66{border-top:2px dashed #3080fe!important}._itemComponent_tl8oe_70{display:flex;align-items:center;padding:0 12px}._itemLabel_tl8oe_76{padding-right:12px;font-size:12px}._collapseContent_tl8oe_81{padding:0 12px}._itemClose_tl8oe_85{position:absolute;right:12px;top:0;height:48px;line-height:48px}._mddForm_1e2nn_1{display:flex;flex-direction:column;padding:12px}._mddForm_1e2nn_1 .cn-next-collapse .cn-next-collapse-panel-icon{line-height:38px}._mddForm_1e2nn_1 .cn-next-number-picker .cn-next-input.cn-next-small{height:24px;display:flex}._mddForm_1e2nn_1 .cn-next-number-picker-normal .cn-next-input .cn-next-input-control{width:22px}._mddForm_1e2nn_1 .cn-next-form-item-label{color:#000000d9}._FormTitle_1e2nn_20{padding-bottom:8px}._FormTitleHelp_1e2nn_24{font-size:12px;color:#999;padding-bottom:8px}._FormContent_1e2nn_30{padding:28px;background:#f9f9f9}._content_1e2nn_35{padding:12px}._mddTableArray_16ght_1{display:flex;flex-direction:column;padding:0 12px 12px}._mddTableArray_16ght_1 .cn-next-collapse .cn-next-collapse-panel-icon{line-height:38px}._mddTableArray_16ght_1 .cn-next-radio-group .cn-next-radio-label{font-size:12px}._tableArrayTitle_16ght_14{padding-bottom:8px}._tableArrayContent_16ght_18 .cn-next-collapse>.cn-next-collapse-panel .cn-next-collapse-panel-title{padding:0 0 0 36px}._tableArrayContent_16ght_18 .cn-next-collapse>.cn-next-collapse-panel .cn-next-collapse-panel-title .cn-next-icon{height:100%;line-height:1;display:flex;align-items:center}._tableArrayContent_16ght_18 .cn-next-collapse>.cn-next-collapse-panel .cn-next-collapse-panel-title .cn-next-icon.cn-next-icon-close{padding:0 6px;cursor:pointer}._tableArrayBottom_16ght_32{padding-top:12px;display:flex;justify-content:center;align-items:center}._itemTitle_16ght_39{display:flex;align-items:center;padding:4px;position:relative}._itemTitle_16ght_39 .cn-next-input.cn-next-medium{height:24px}._itemTitle_16ght_39 .cn-next-input.cn-next-medium input{height:24px;line-height:24px;font-size:12px}._itemTitle_16ght_39 .cn-next-input.cn-next-medium .cn-next-select-values{height:24px;font-size:12px}._itemTitle_16ght_39 .cn-next-input.cn-next-medium .cn-next-input-inner i{margin:0 4px!important}._drop-over-downward_16ght_61{border-bottom:2px dashed #3080fe!important}._drop-over-upward_16ght_65{border-top:2px dashed #3080fe!important}._collapseContent_16ght_69{padding:0 12px}._itemClose_16ght_73{position:absolute;right:12px;top:0;height:48px;line-height:48px}._middleBox_119xt_20{margin-left:"10px";margin-bottom:8px;display:flex}._middleBoxLeft_119xt_26{width:100px;text-align:right}._middleBoxRight_119xt_31{flex:1}._customTabItem_119xt_1{padding:8px}._tabTitle_119xt_5{font-size:14px}._tabLabel_119xt_9{display:inline-block;padding:0 2px}._middleBox_119xt_20{margin-left:"10px";margin-bottom:8px;display:flex}._middleBoxLeft_119xt_26{width:100px;text-align:right}._middleBoxRight_119xt_31{flex:1}._mddTableArray_16ght_1{display:flex;flex-direction:column;padding:0 12px 12px}._mddTableArray_16ght_1 .cn-next-collapse .cn-next-collapse-panel-icon{line-height:38px}._mddTableArray_16ght_1 .cn-next-radio-group .cn-next-radio-label{font-size:12px}._tableArrayTitle_16ght_14{padding-bottom:8px}._tableArrayContent_16ght_18 .cn-next-collapse>.cn-next-collapse-panel .cn-next-collapse-panel-title{padding:0 0 0 36px}._tableArrayContent_16ght_18 .cn-next-collapse>.cn-next-collapse-panel .cn-next-collapse-panel-title .cn-next-icon{height:100%;line-height:1;display:flex;align-items:center}._tableArrayContent_16ght_18 .cn-next-collapse>.cn-next-collapse-panel .cn-next-collapse-panel-title .cn-next-icon.cn-next-icon-close{padding:0 6px;cursor:pointer}._tableArrayBottom_16ght_32{padding-top:12px;display:flex;justify-content:center;align-items:center}._itemTitle_16ght_39{display:flex;align-items:center;padding:4px;position:relative}._itemTitle_16ght_39 .cn-next-input.cn-next-medium{height:24px}._itemTitle_16ght_39 .cn-next-input.cn-next-medium input{height:24px;line-height:24px;font-size:12px}._itemTitle_16ght_39 .cn-next-input.cn-next-medium .cn-next-select-values{height:24px;font-size:12px}._itemTitle_16ght_39 .cn-next-input.cn-next-medium .cn-next-input-inner i{margin:0 4px!important}._drop-over-downward_16ght_61{border-bottom:2px dashed #3080fe!important}._drop-over-upward_16ght_65{border-top:2px dashed #3080fe!important}._collapseContent_16ght_69{padding:0 12px}._itemClose_16ght_73{position:absolute;right:12px;top:0;height:48px;line-height:48px}._title_10adh_1{width:100%;display:flex;gap:12px}._titleItem_10adh_7{display:flex;align-items:center}._titleItemLabel_10adh_12{padding-right:12px}._titleItemLabel_10adh_12:first-of-type{padding-left:0}._customTabItem_1lh1l_1{padding:8px}._tabTitle_1lh1l_5{font-size:14px}._tabLabel_1lh1l_9{display:inline-block;padding:0 2px}._mddDetailItems_1lh1l_14 ._itemComponent_1lh1l_14{display:flex;align-items:center;padding:0 12px}._mddDetailItems_1lh1l_14 ._itemLabel_1lh1l_19{padding-right:12px;font-size:12px}.build-page-tab-detail-help{font-size:13px;color:#999;padding:0 12px 12px}._customTabItem_ac2i9_1{padding:8px}._tabTitle_ac2i9_5{font-size:14px}._tabLabel_ac2i9_9{display:inline-block;padding:0 2px}.formily-form-v2-kv{padding:0 12px;display:flex;flex-direction:column;margin-bottom:12px}.formily-form-v2-kv .formily-form-v2-title-wrapper{margin-bottom:8px;line-height:1}.formily-form-v2-kv .formily-form-v2-title-wrapper .title{margin-right:8px}.formily-form-v2-kv .formily-form-v2-title-wrapper .subTitle{color:#585d66;font-size:12px}._kvContainer_rfbib_1{padding:0 12px;display:flex;flex-direction:column;margin-bottom:12px}._kvContainer_rfbib_1 ._kvWrapper_rfbib_7{margin-bottom:8px;line-height:1}._kvContainer_rfbib_1 ._kvWrapper_rfbib_7 ._kvTitle_rfbib_11{margin-right:8px}._kvContainer_rfbib_1 ._kvWrapper_rfbib_7 ._kvSubTitle_rfbib_14{color:#585d66;font-size:12px}.mdd-editor-build-content{flex:1;position:relative}.mdd-editor-build-content .mdd-editor-toolbar{cursor:zoom-in;position:absolute;z-index:100;text-align:right;top:0;right:0;padding:4px 18px;display:flex;align-items:center;gap:8px}.mdd-editor-build-content .mdd-editor-ai-button{cursor:pointer;font-weight:600;box-shadow:0 2px 8px #3080fe47}.mdd-editor-build-content .preview-tool-full>i{cursor:pointer}.mdd-editor-build-content .preview-tool-full .icon-box{position:absolute;right:12px;top:4px;padding:4px;width:1.5em;height:1.5em;display:flex;justify-content:center;align-items:center;background-color:#00000052;border-radius:2px;cursor:pointer;z-index:19}.mdd-editor-build-content .preview-tool-full .icon-box img{display:inline-block;width:14px;height:14px}.mdd-script-card{position:relative}.mdd-script-card .mdd-script-top-buttons{position:absolute;right:22px;top:12px;display:flex;gap:12px;z-index:10}.mdd-local-ai{display:flex;flex-direction:column;gap:12px}.mdd-local-ai .mdd-local-ai-card{border-radius:6px}.mdd-local-ai .mdd-local-ai-row{display:flex;align-items:center;gap:8px}.mdd-local-ai .mdd-local-ai-label{min-width:52px;color:#666}.mdd-local-ai .mdd-local-ai-meta{margin-top:12px;line-height:22px;color:#555;word-break:break-all}.mdd-local-ai .mdd-local-ai-actions{display:flex;flex-wrap:wrap;gap:8px}.mdd-local-ai .mdd-local-ai-summary{padding:8px 12px;color:#333;background:#f6f7f9;border:1px solid #e5e6eb;border-radius:6px;word-break:break-all}.mdd-local-ai .mdd-local-ai-title{margin-bottom:8px;font-weight:600}.mdd-local-ai .mdd-local-ai-tips{line-height:24px;color:#555}._customTabItem_1y6va_1{padding:8px}._tabTitle_1y6va_5{font-size:14px}._tabLabel_1y6va_9{display:inline-block;padding:0 2px}.mdd-tip{color:#999;display:inline;padding-left:20px}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cniot/mdd-editor",
3
- "version": "0.2.0-beta.9",
3
+ "version": "0.3.1",
4
4
  "description": "模型驱动编辑器",
5
5
  "scripts": {
6
6
  "build": "vite build"
@@ -0,0 +1,217 @@
1
+ import React from 'react';
2
+ import { CnButton, CnCard, CnMessage as Message, Input } from '@cainiaofe/cn-ui';
3
+ import {
4
+ DEFAULT_BRIDGE_URL,
5
+ getPageStatus,
6
+ health,
7
+ normalizeBridgeConfig,
8
+ openPageWorkspace,
9
+ pullPage,
10
+ pushPage,
11
+ shouldUseBridgeRelay,
12
+ } from './bridgeClient';
13
+ import { buildPageIR, getPageCode } from './pageIR';
14
+ import { EVENT_KEY } from '$src/common/const';
15
+
16
+ const parseSchema = (value) => {
17
+ if (!value) return null;
18
+ if (typeof value === 'string') {
19
+ return JSON.parse(value);
20
+ }
21
+ return value;
22
+ };
23
+
24
+ const applySchemaToEditor = (schema, schemaJson) => {
25
+ if (!schema || !schemaJson) return;
26
+ if (typeof schema.initFromCache === 'function') {
27
+ schema.initFromCache(schemaJson);
28
+ schema.emit(EVENT_KEY.SCHEMA_UPDATE, {
29
+ schemaJson: schema.getAllJSON(),
30
+ schema,
31
+ });
32
+ return;
33
+ }
34
+ schema.emit(EVENT_KEY.SCHEMA_UPDATE_FORCE, schemaJson);
35
+ };
36
+
37
+ export default function LocalAIDrawer(props) {
38
+ const { schema, scriptInfo, pageMeta = {}, bridgeConfig, onApply } = props;
39
+ const config = normalizeBridgeConfig(bridgeConfig);
40
+ const [baseURL, setBaseURL] = React.useState(config.baseURL || DEFAULT_BRIDGE_URL);
41
+ const [status, setStatus] = React.useState('未连接');
42
+ const [workspacePath, setWorkspacePath] = React.useState('');
43
+ const [loadingAction, setLoadingAction] = React.useState('');
44
+ const [lastSummary, setLastSummary] = React.useState('');
45
+
46
+ const schemaJson = schema?.getAllJSON?.() || {};
47
+ const pageCode = getPageCode(schemaJson, pageMeta);
48
+
49
+ const getPayload = React.useCallback(() => {
50
+ const nextSchemaJson = schema?.getAllJSON?.() || {};
51
+ return {
52
+ code: pageCode,
53
+ pageMeta: {
54
+ ...pageMeta,
55
+ code: pageCode,
56
+ },
57
+ schemaInfo: JSON.stringify(nextSchemaJson, null, 2),
58
+ scriptInfo: scriptInfo?.script || '',
59
+ style: scriptInfo?.style || '',
60
+ pageIR: buildPageIR({
61
+ schemaJson: nextSchemaJson,
62
+ script: scriptInfo?.script || '',
63
+ style: scriptInfo?.style || '',
64
+ pageMeta: {
65
+ ...pageMeta,
66
+ code: pageCode,
67
+ },
68
+ }),
69
+ };
70
+ }, [pageCode, pageMeta, schema, scriptInfo]);
71
+
72
+ const checkHealth = React.useCallback(async () => {
73
+ setLoadingAction('health');
74
+ try {
75
+ const res = await health(baseURL);
76
+ setStatus(res?.ok ? '已连接' : '连接异常');
77
+ if (res?.workspaceRoot) {
78
+ setWorkspacePath(res.workspaceRoot);
79
+ }
80
+ } catch (e) {
81
+ setStatus('未连接');
82
+ Message.error(e.message || '本地 AI Bridge 未连接');
83
+ } finally {
84
+ setLoadingAction('');
85
+ }
86
+ }, [baseURL]);
87
+
88
+ const handlePush = async () => {
89
+ setLoadingAction('push');
90
+ try {
91
+ const res = await pushPage(baseURL, pageCode, getPayload());
92
+ setWorkspacePath(res?.dir || '');
93
+ setStatus('已同步到本地');
94
+ setLastSummary(`已写入本地工作区: ${res?.dir || pageCode}`);
95
+ Message.success('已发送到本地 AI 工作区');
96
+ } catch (e) {
97
+ Message.error(e.message || '发送到本地 AI 工作区失败');
98
+ } finally {
99
+ setLoadingAction('');
100
+ }
101
+ };
102
+
103
+ const handlePull = async () => {
104
+ setLoadingAction('pull');
105
+ try {
106
+ const res = await pullPage(baseURL, pageCode);
107
+ const nextSchema = parseSchema(res?.schemaInfo);
108
+ const nextScriptInfo = {
109
+ script: res?.scriptInfo || '',
110
+ style: res?.style || '',
111
+ };
112
+ applySchemaToEditor(schema, nextSchema);
113
+ schema.emit(EVENT_KEY.SCRIPT_UPDATE, nextScriptInfo);
114
+ onApply?.({
115
+ schemaJson: nextSchema,
116
+ scriptInfo: nextScriptInfo,
117
+ raw: res,
118
+ });
119
+ setLastSummary(res?.summary || '已从本地工作区同步修改');
120
+ Message.success('已同步本地 AI 修改');
121
+ } catch (e) {
122
+ Message.error(e.message || '同步本地 AI 修改失败');
123
+ } finally {
124
+ setLoadingAction('');
125
+ }
126
+ };
127
+
128
+ const handleStatus = async () => {
129
+ setLoadingAction('status');
130
+ try {
131
+ const res = await getPageStatus(baseURL, pageCode);
132
+ setWorkspacePath(res?.dir || '');
133
+ setLastSummary(res?.exists ? `本地工作区已存在: ${res.dir}` : '本地还没有这个页面的工作区');
134
+ Message.success(res?.exists ? '本地工作区已存在' : '本地工作区不存在');
135
+ } catch (e) {
136
+ Message.error(e.message || '查询本地工作区失败');
137
+ } finally {
138
+ setLoadingAction('');
139
+ }
140
+ };
141
+
142
+ const handleOpen = async () => {
143
+ setLoadingAction('open');
144
+ try {
145
+ const res = await openPageWorkspace(baseURL, pageCode);
146
+ setWorkspacePath(res?.dir || workspacePath);
147
+ Message.success('已请求打开本地工作区');
148
+ } catch (e) {
149
+ Message.error(e.message || '打开本地工作区失败');
150
+ } finally {
151
+ setLoadingAction('');
152
+ }
153
+ };
154
+
155
+ React.useEffect(() => {
156
+ if (shouldUseBridgeRelay(baseURL)) {
157
+ setStatus('点击按钮后通过本地 relay 连接');
158
+ return;
159
+ }
160
+ checkHealth();
161
+ }, []);
162
+
163
+ return (
164
+ <div className="mdd-local-ai">
165
+ <CnCard className="mdd-local-ai-card">
166
+ <div className="mdd-local-ai-row">
167
+ <span className="mdd-local-ai-label">Bridge</span>
168
+ <Input
169
+ size="small"
170
+ value={baseURL}
171
+ onChange={setBaseURL}
172
+ placeholder={DEFAULT_BRIDGE_URL}
173
+ style={{ width: 320 }}
174
+ />
175
+ <CnButton size="small" loading={loadingAction === 'health'} onClick={checkHealth}>
176
+ 检测连接
177
+ </CnButton>
178
+ </div>
179
+ <div className="mdd-local-ai-meta">
180
+ <div>状态:{status}</div>
181
+ <div>页面:{pageCode}</div>
182
+ {workspacePath ? <div>目录:{workspacePath}</div> : null}
183
+ </div>
184
+ </CnCard>
185
+
186
+ <div className="mdd-local-ai-actions">
187
+ <CnButton type="primary" loading={loadingAction === 'push'} onClick={handlePush}>
188
+ 发送到本地 AI
189
+ </CnButton>
190
+ <CnButton loading={loadingAction === 'pull'} onClick={handlePull}>
191
+ 同步本地修改
192
+ </CnButton>
193
+ <CnButton loading={loadingAction === 'status'} onClick={handleStatus}>
194
+ 查看状态
195
+ </CnButton>
196
+ <CnButton loading={loadingAction === 'open'} onClick={handleOpen}>
197
+ 打开目录
198
+ </CnButton>
199
+ </div>
200
+
201
+ {lastSummary ? <div className="mdd-local-ai-summary">{lastSummary}</div> : null}
202
+
203
+ <CnCard className="mdd-local-ai-card">
204
+ <div className="mdd-local-ai-title">使用方式</div>
205
+ <div className="mdd-local-ai-tips">
206
+ <div>1. 首次使用先全局安装:npm i -g @cniot/mdd-ai-bridge。</div>
207
+ <div>2. 安装后在任意目录运行:mdd-ai-bridge。也可以直接运行:npx @cniot/mdd-ai-bridge。</div>
208
+ <div>3. 点击“发送到本地 AI”,当前页面会写入本地工作区。</div>
209
+ <div>4. 用 Cursor、Qoder、Codex CLI 等工具打开目录并修改文件。</div>
210
+ <div>5. 点击“同步本地修改”,确认预览后继续使用原保存按钮。</div>
211
+ <div>线上 HTTP 页面会自动打开本地 Bridge relay 窗口,请允许浏览器弹窗。</div>
212
+ <div>本地工作区默认在 ~/.mdd-ai-workspace。</div>
213
+ </div>
214
+ </CnCard>
215
+ </div>
216
+ );
217
+ }
@@ -0,0 +1,168 @@
1
+ export const DEFAULT_BRIDGE_URL = 'http://127.0.0.1:17678';
2
+
3
+ const trimEndSlash = (value = '') => value.replace(/\/+$/, '');
4
+ const RELAY_CHANNEL = 'mdd-ai-bridge';
5
+
6
+ const isLoopbackURL = (value = '') => /^http:\/\/(127(?:\.\d{1,3}){3}|localhost)(?::\d+)?/i.test(value);
7
+
8
+ export function shouldUseBridgeRelay(baseURL) {
9
+ return typeof window !== 'undefined' && !window.isSecureContext && isLoopbackURL(baseURL);
10
+ }
11
+
12
+ function createRequestId() {
13
+ return `${Date.now()}_${Math.random().toString(16).slice(2)}`;
14
+ }
15
+
16
+ async function request(baseURL, path, options = {}) {
17
+ if (shouldUseBridgeRelay(baseURL)) {
18
+ return requestViaRelay(baseURL, path, options);
19
+ }
20
+
21
+ const res = await fetch(`${trimEndSlash(baseURL)}${path}`, {
22
+ ...options,
23
+ headers: {
24
+ 'Content-Type': 'application/json',
25
+ ...(options.headers || {}),
26
+ },
27
+ });
28
+
29
+ const text = await res.text();
30
+ let data = null;
31
+ try {
32
+ data = text ? JSON.parse(text) : null;
33
+ } catch (e) {
34
+ data = { message: text };
35
+ }
36
+
37
+ if (!res.ok) {
38
+ throw new Error(data?.message || `请求本地 AI Bridge 失败: ${res.status}`);
39
+ }
40
+ return data;
41
+ }
42
+
43
+ function requestViaRelay(baseURL, path, options = {}) {
44
+ const relayURL = `${trimEndSlash(baseURL)}/relay`;
45
+ const requestId = createRequestId();
46
+ const relayWindow = window.open(
47
+ relayURL,
48
+ 'mdd-ai-bridge-relay',
49
+ 'width=520,height=320,menubar=no,toolbar=no,location=no,status=no',
50
+ );
51
+
52
+ if (!relayWindow) {
53
+ throw new Error('浏览器拦截了本地 Bridge 窗口,请允许弹窗后重试');
54
+ }
55
+
56
+ return new Promise((resolve, reject) => {
57
+ let settled = false;
58
+ let ready = false;
59
+
60
+ const cleanup = () => {
61
+ window.removeEventListener('message', handleMessage);
62
+ clearTimeout(timeoutTimer);
63
+ clearTimeout(fallbackTimer);
64
+ };
65
+
66
+ const postRequest = () => {
67
+ relayWindow.postMessage(
68
+ {
69
+ channel: RELAY_CHANNEL,
70
+ type: 'request',
71
+ id: requestId,
72
+ path,
73
+ options,
74
+ },
75
+ trimEndSlash(baseURL),
76
+ );
77
+ };
78
+
79
+ const finish = (callback, value) => {
80
+ if (settled) return;
81
+ settled = true;
82
+ cleanup();
83
+ callback(value);
84
+ };
85
+
86
+ const handleMessage = (event) => {
87
+ if (event.origin !== trimEndSlash(baseURL)) return;
88
+ if (event.source !== relayWindow) return;
89
+ const message = event.data || {};
90
+ if (message.channel !== RELAY_CHANNEL) return;
91
+
92
+ if (message.type === 'ready' && !ready) {
93
+ ready = true;
94
+ postRequest();
95
+ return;
96
+ }
97
+
98
+ if (message.type !== 'response' || message.id !== requestId) return;
99
+ if (!message.ok) {
100
+ finish(
101
+ reject,
102
+ new Error(message.data?.message || `请求本地 AI Bridge 失败: ${message.status || 0}`),
103
+ );
104
+ return;
105
+ }
106
+ finish(resolve, message.data);
107
+ };
108
+
109
+ const timeoutTimer = setTimeout(() => {
110
+ finish(reject, new Error('本地 AI Bridge relay 响应超时,请确认服务已启动'));
111
+ }, 30000);
112
+ const fallbackTimer = setTimeout(() => {
113
+ if (!ready) postRequest();
114
+ }, 500);
115
+
116
+ window.addEventListener('message', handleMessage);
117
+ });
118
+ }
119
+
120
+ export function normalizeBridgeConfig(config) {
121
+ if (config === false) {
122
+ return {
123
+ enabled: false,
124
+ baseURL: DEFAULT_BRIDGE_URL,
125
+ };
126
+ }
127
+ if (typeof config === 'string') {
128
+ return {
129
+ enabled: true,
130
+ baseURL: config || DEFAULT_BRIDGE_URL,
131
+ };
132
+ }
133
+ return {
134
+ enabled: config?.enabled !== false,
135
+ baseURL: config?.baseURL || DEFAULT_BRIDGE_URL,
136
+ };
137
+ }
138
+
139
+ export function health(baseURL) {
140
+ return request(baseURL, '/health', {
141
+ method: 'GET',
142
+ });
143
+ }
144
+
145
+ export function pushPage(baseURL, code, payload) {
146
+ return request(baseURL, `/pages/${encodeURIComponent(code)}/push`, {
147
+ method: 'POST',
148
+ body: JSON.stringify(payload),
149
+ });
150
+ }
151
+
152
+ export function pullPage(baseURL, code) {
153
+ return request(baseURL, `/pages/${encodeURIComponent(code)}/pull`, {
154
+ method: 'GET',
155
+ });
156
+ }
157
+
158
+ export function getPageStatus(baseURL, code) {
159
+ return request(baseURL, `/pages/${encodeURIComponent(code)}/status`, {
160
+ method: 'GET',
161
+ });
162
+ }
163
+
164
+ export function openPageWorkspace(baseURL, code) {
165
+ return request(baseURL, `/pages/${encodeURIComponent(code)}/open`, {
166
+ method: 'POST',
167
+ });
168
+ }