@tachybase/module-hera 2.3.21 → 2.3.22

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 (35) hide show
  1. package/dist/client/index.js +2 -2
  2. package/dist/client/schema-settings/SchemaSettingsDatePresets.d.ts +1 -1
  3. package/dist/externalVersion.js +5 -9
  4. package/dist/node_modules/fs-extra/package.json +1 -1
  5. package/dist/server/actions/link-manager-controller.d.ts +1 -1
  6. package/dist/server/actions/link-manager-controller.js +2 -2
  7. package/dist/server/actions/plugin-version.d.ts +1 -1
  8. package/dist/server/actions/plugin-version.js +2 -2
  9. package/dist/server/actions/robot-controller.d.ts +1 -1
  10. package/dist/server/actions/robot-controller.js +2 -2
  11. package/dist/server/actions/system-message-controller.d.ts +1 -1
  12. package/dist/server/actions/system-message-controller.js +2 -2
  13. package/dist/server/actions/token-configuration-controller.d.ts +1 -1
  14. package/dist/server/actions/token-configuration-controller.js +2 -2
  15. package/dist/server/collections/link-manage.d.ts +1 -1
  16. package/dist/server/collections/link-manage.js +2 -2
  17. package/dist/server/collections/systemSettings.d.ts +1 -1
  18. package/dist/server/collections/systemSettings.js +2 -2
  19. package/dist/server/collections/system_message.d.ts +1 -1
  20. package/dist/server/collections/system_message.js +2 -2
  21. package/dist/server/collections/token-configuration.d.ts +1 -1
  22. package/dist/server/collections/token-configuration.js +2 -2
  23. package/dist/server/fields/calc.d.ts +1 -1
  24. package/dist/server/fields/calc.js +3 -3
  25. package/dist/server/fields/tstzrange.d.ts +1 -1
  26. package/dist/server/fields/tstzrange.js +3 -3
  27. package/dist/server/migrations/20250102010713-add-plugin-department.d.ts +1 -1
  28. package/dist/server/migrations/20250102010713-add-plugin-department.js +1 -1
  29. package/dist/server/plugin.d.ts +1 -1
  30. package/dist/server/plugin.js +1 -1
  31. package/dist/server/services/plugin-version.d.ts +1 -1
  32. package/dist/server/services/plugin-version.js +2 -2
  33. package/dist/server/services/sql-loader.js +6 -6
  34. package/dist/server/services/system-setting-service.js +2 -2
  35. package/package.json +12 -22
@@ -1,5 +1,5 @@
1
1
  (function(){"use strict";try{if(typeof document!="undefined"){var e=document.createElement("style");e.id="@tachybase/module-hera",e.appendChild(document.createTextNode('body{margin:0}.x-spreadsheet{-webkit-user-select:none;user-select:none;box-sizing:content-box;-webkit-font-smoothing:antialiased;background:#fff;font-family:Lato,Source Sans Pro,Roboto,Helvetica,Arial,sans-serif;font-size:13px;line-height:normal}.x-spreadsheet textarea{font:400 13px Arial,Lato,Source Sans Pro,Roboto,Helvetica,sans-serif}.x-spreadsheet-sheet{position:relative;overflow:hidden}.x-spreadsheet-table{vertical-align:bottom}.x-spreadsheet-tooltip{color:#fff;z-index:201;background:#000;border-radius:1px;padding:5px 10px;font-family:inherit;font-size:12px;position:absolute}.x-spreadsheet-tooltip:before{pointer-events:none;content:"";background:inherit;z-index:1;width:8px;height:8px;position:absolute;top:-4px;left:calc(50% - 4px);transform:rotate(45deg);box-shadow:1px 1px 3px -1px #0000004d}.x-spreadsheet-color-palette{padding:5px}.x-spreadsheet-color-palette table{border-collapse:separate;border-spacing:2px;background:#fff;margin:0;padding:0}.x-spreadsheet-color-palette table td{cursor:pointer;border:1px solid #0000;margin:0}.x-spreadsheet-color-palette table td:hover{border-color:#ddd}.x-spreadsheet-color-palette table td .x-spreadsheet-color-palette-cell{width:16px;height:16px}.x-spreadsheet-border-palette{padding:6px}.x-spreadsheet-border-palette table{border-collapse:separate;border-spacing:0;table-layout:fixed;background:#fff;margin:0;padding:0}.x-spreadsheet-border-palette table td{margin:0}.x-spreadsheet-border-palette .x-spreadsheet-border-palette-left{border-right:1px solid #eee;padding-right:6px}.x-spreadsheet-border-palette .x-spreadsheet-border-palette-left .x-spreadsheet-border-palette-cell{cursor:pointer;text-align:center;width:30px;height:30px}.x-spreadsheet-border-palette .x-spreadsheet-border-palette-left .x-spreadsheet-border-palette-cell .x-spreadsheet-icon-img{opacity:.8}.x-spreadsheet-border-palette .x-spreadsheet-border-palette-left .x-spreadsheet-border-palette-cell:hover{background-color:#eee}.x-spreadsheet-border-palette .x-spreadsheet-border-palette-right{padding-left:6px}.x-spreadsheet-border-palette .x-spreadsheet-border-palette-right .x-spreadsheet-toolbar-btn{margin-top:0;margin-bottom:3px}.x-spreadsheet-border-palette .x-spreadsheet-border-palette-right .x-spreadsheet-line-type{position:relative;top:-3px;left:0}.x-spreadsheet-dropdown{position:relative}.x-spreadsheet-dropdown .x-spreadsheet-dropdown-content{z-index:200;background:#fff;position:absolute;box-shadow:1px 2px 5px 2px #33333326}.x-spreadsheet-dropdown.bottom-left .x-spreadsheet-dropdown-content{top:calc(100% + 5px);left:0}.x-spreadsheet-dropdown.bottom-right .x-spreadsheet-dropdown-content{top:calc(100% + 5px);right:0}.x-spreadsheet-dropdown.top-left .x-spreadsheet-dropdown-content{bottom:calc(100% + 5px);left:0}.x-spreadsheet-dropdown.top-right .x-spreadsheet-dropdown-content{bottom:calc(100% + 5px);right:0}.x-spreadsheet-dropdown .x-spreadsheet-dropdown-title{padding:0 5px;display:inline-block}.x-spreadsheet-dropdown .x-spreadsheet-dropdown-header .x-spreadsheet-icon.arrow-left{margin-left:4px}.x-spreadsheet-dropdown .x-spreadsheet-dropdown-header .x-spreadsheet-icon.arrow-right{width:10px;margin-right:4px}.x-spreadsheet-dropdown .x-spreadsheet-dropdown-header .x-spreadsheet-icon.arrow-right .arrow-down{left:-130px}.x-spreadsheet-resizer{z-index:11;position:absolute}.x-spreadsheet-resizer .x-spreadsheet-resizer-hover{background-color:#4b89ff40}.x-spreadsheet-resizer .x-spreadsheet-resizer-line{position:absolute}.x-spreadsheet-resizer.horizontal{cursor:row-resize}.x-spreadsheet-resizer.horizontal .x-spreadsheet-resizer-line{border-bottom:2px dashed #4b89ff;bottom:0;left:0}.x-spreadsheet-resizer.vertical{cursor:col-resize}.x-spreadsheet-resizer.vertical .x-spreadsheet-resizer-line{border-right:2px dashed #4b89ff;top:0;right:0}.x-spreadsheet-scrollbar{opacity:.9;z-index:12;background-color:#f4f5f8;position:absolute;bottom:0;right:0}.x-spreadsheet-scrollbar.horizontal{right:15px;overflow:scroll hidden}.x-spreadsheet-scrollbar.horizontal>div{background:#ddd;height:1px}.x-spreadsheet-scrollbar.vertical{bottom:15px;overflow:hidden scroll}.x-spreadsheet-scrollbar.vertical>div{background:#ddd;width:1px}.x-spreadsheet-overlayer{z-index:10;position:absolute;top:0;left:0}.x-spreadsheet-overlayer .x-spreadsheet-overlayer-content{pointer-events:none;width:100%;height:100%;position:absolute;overflow:hidden}.x-spreadsheet-editor,.x-spreadsheet-selector{box-sizing:content-box;pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0;overflow:hidden}.x-spreadsheet-selector .hide-input{z-index:0;position:absolute}.x-spreadsheet-selector .hide-input input{width:0;padding:0;border:none!important}.x-spreadsheet-selector .x-spreadsheet-selector-area{z-index:5;background:#4b89ff1a;border:2px solid #4b89ff;position:absolute}.x-spreadsheet-selector .x-spreadsheet-selector-clipboard,.x-spreadsheet-selector .x-spreadsheet-selector-autofill{z-index:100;background:none;position:absolute}.x-spreadsheet-selector .x-spreadsheet-selector-clipboard{border:2px dashed #4b89ff}.x-spreadsheet-selector .x-spreadsheet-selector-autofill{border:1px dashed #00000073}.x-spreadsheet-selector .x-spreadsheet-selector-corner{pointer-events:auto;cursor:crosshair;background:#4b89ff;border:2px solid #fff;width:5px;height:5px;font-size:0;position:absolute;bottom:-5px;right:-5px}.x-spreadsheet-editor{z-index:20}.x-spreadsheet-editor .x-spreadsheet-editor-area{text-align:left;z-index:100;pointer-events:auto;border:2px solid #4b89ff;line-height:0;position:absolute}.x-spreadsheet-editor .x-spreadsheet-editor-area textarea{box-sizing:content-box;resize:none;text-align:start;color:inherit;white-space:normal;word-wrap:break-word;border:none;outline:none;margin:0;padding:0 3px;font:400 13px/22px Arial,Lato,Source Sans Pro,Roboto,Helvetica,sans-serif;overflow-y:hidden}.x-spreadsheet-editor .x-spreadsheet-editor-area .textline{visibility:hidden;position:fixed;top:0;left:0;overflow:hidden}.x-spreadsheet-item{-webkit-user-select:none;user-select:none;color:#000000e6;cursor:default;text-align:left;background:0;border:1px solid #0000;outline:none;height:26px;padding:2px 10px;line-height:26px;list-style:none;overflow:hidden}.x-spreadsheet-item.disabled{pointer-events:none;opacity:.5}.x-spreadsheet-item:hover,.x-spreadsheet-item.active{background:#0000000d}.x-spreadsheet-item.divider{border:none;border-bottom:1px solid #0000001a;height:0;margin:5px 0;padding:0}.x-spreadsheet-item .label{float:right;opacity:.65;font-size:1em}.x-spreadsheet-item.state,.x-spreadsheet-header.state{position:relative;padding-left:35px!important}.x-spreadsheet-item.state:before,.x-spreadsheet-header.state:before{content:"";background:#00000014;border-radius:2px;width:10px;height:10px;position:absolute;top:calc(50% - 5px);left:12px}.x-spreadsheet-item.state.checked:before,.x-spreadsheet-header.state.checked:before{background:#4b89ff}.x-spreadsheet-checkbox{backface-visibility:hidden;vertical-align:baseline;outline:0;font-size:1rem;font-style:normal;line-height:1em;display:inline-block;position:relative}.x-spreadsheet-checkbox>input{z-index:-1;outline:0;position:absolute;top:0;left:0;opacity:0!important}.x-spreadsheet-suggest,.x-spreadsheet-contextmenu,.x-spreadsheet-sort-filter{z-index:100;pointer-events:auto;background:#fff;width:260px;position:absolute;overflow:auto;box-shadow:1px 2px 5px 2px #33333326}.x-spreadsheet-suggest{width:200px}.x-spreadsheet-filter{border:1px solid #e9e9e9;margin:10px;font-size:12px}.x-spreadsheet-filter .x-spreadsheet-header{background:#f8f8f9;border-bottom:1px solid #e9e9e9;border-left:1px solid #0000;padding:.5em .75em}.x-spreadsheet-filter .x-spreadsheet-body{height:200px;overflow-y:auto}.x-spreadsheet-filter .x-spreadsheet-body .x-spreadsheet-item{height:20px;line-height:20px}.x-spreadsheet-sort-filter .x-spreadsheet-buttons{margin:10px}.x-spreadsheet-toolbar,.x-spreadsheet-bottombar{text-align:left;background:#f5f6f7;height:40px;padding:0 30px;display:flex}.x-spreadsheet-bottombar{border-top:1px solid #e0e2e4;position:relative}.x-spreadsheet-bottombar .x-spreadsheet-menu>li{vertical-align:middle;border-right:1px solid #e8eaed;height:40px;padding-top:0;padding-bottom:0;line-height:40px}.x-spreadsheet-menu{-webkit-user-select:none;user-select:none;margin:0;padding:0;list-style:none}.x-spreadsheet-menu>li{float:left;vertical-align:middle;text-align:left;color:#80868b;white-space:nowrap;cursor:pointer;margin:0;padding:.785em 1em;font-weight:700;line-height:1.25em;transition:all .3s}.x-spreadsheet-menu>li.active{color:#000000a6;background-color:#fff}.x-spreadsheet-menu>li .x-spreadsheet-icon{margin:0 6px}.x-spreadsheet-menu>li .x-spreadsheet-icon .x-spreadsheet-icon-img:hover{opacity:.85}.x-spreadsheet-menu>li .x-spreadsheet-dropdown{display:inline-block}.x-spreadsheet-toolbar{border-bottom:1px solid #e0e2e4}.x-spreadsheet-toolbar .x-spreadsheet-toolbar-btns{display:inline-flex}.x-spreadsheet-toolbar .x-spreadsheet-toolbar-more{text-align:left;padding:0 6px 6px}.x-spreadsheet-toolbar .x-spreadsheet-toolbar-more .x-spreadsheet-toolbar-divider{margin-top:0}.x-spreadsheet-toolbar .x-spreadsheet-toolbar-btn{text-align:center;border:1px solid #0000;border-radius:2px;flex:none;min-width:26px;height:26px;margin:6px 1px 0;padding:0;line-height:26px;display:inline-block}.x-spreadsheet-toolbar .x-spreadsheet-toolbar-btn.disabled{pointer-events:none;opacity:.5}.x-spreadsheet-toolbar .x-spreadsheet-toolbar-btn:hover,.x-spreadsheet-toolbar .x-spreadsheet-toolbar-btn.active{background:#00000014}.x-spreadsheet-toolbar-divider{vertical-align:middle;border-right:1px solid #e0e2e4;width:0;height:18px;margin:12px 3px 0;display:inline-block}.x-spreadsheet-print{z-index:100;flex-direction:column;width:100%;height:100%;display:flex;position:absolute;top:0;left:0}.x-spreadsheet-print-bar{background:#424242;height:60px;padding:0 30px;line-height:60px}.x-spreadsheet-print-bar .-title{color:#fff;float:left;font-size:1.2em;font-weight:700}.x-spreadsheet-print-bar .-right{float:right;margin-top:12px}.x-spreadsheet-print-content{background:#d0d0d0;flex-direction:row;flex:auto;height:calc(100% - 60px);display:flex}.x-spreadsheet-print-content .-sider{background:#fff;border-left:2px solid #ccc;flex:0 0 300px;width:300px}.x-spreadsheet-print-content .-content{flex:auto;height:100%;overflow:auto scroll}.x-spreadsheet-canvas-card-wraper{margin:40px 20px}.x-spreadsheet-canvas-card{page-break-before:auto;page-break-after:always;background:#fff;margin:auto;box-shadow:0 8px 10px 1px #00000024,0 3px 14px 3px #0000001f,0 4px 5px #0003}.x-spreadsheet-calendar{color:#000000a6;-webkit-user-select:none;user-select:none;background:#fff}.x-spreadsheet-calendar .calendar-header{text-align:center;float:left;background:#f9fafb;width:100%;font-weight:700;line-height:30px}.x-spreadsheet-calendar .calendar-header .calendar-header-left{float:left;padding-left:5px}.x-spreadsheet-calendar .calendar-header .calendar-header-right{float:right}.x-spreadsheet-calendar .calendar-header .calendar-header-right a{border-radius:2px;margin-right:2px;padding:3px 0}.x-spreadsheet-calendar .calendar-header .calendar-header-right a:hover{background:#00000014}.x-spreadsheet-calendar .calendar-body{border-collapse:collapse;border-spacing:0}.x-spreadsheet-calendar .calendar-body th,.x-spreadsheet-calendar .calendar-body td{width:100% / 7;text-align:center;min-width:32px;padding:0;font-weight:700;line-height:30px}.x-spreadsheet-calendar .calendar-body td>.cell:hover{background:#ecf6fd}.x-spreadsheet-calendar .calendar-body td>.cell.active,.x-spreadsheet-calendar .calendar-body td>.cell.active:hover{color:#2185d0;background:#ecf6fd}.x-spreadsheet-calendar .calendar-body td>.cell.disabled{pointer-events:none;opacity:.5}.x-spreadsheet-datepicker{z-index:10;width:auto;position:absolute;top:calc(100% + 5px);left:0;box-shadow:2px 2px 5px #0003}.x-spreadsheet-buttons{justify-content:flex-end;display:flex}.x-spreadsheet-buttons .x-spreadsheet-button{margin-left:8px}.x-spreadsheet-button{white-space:nowrap;text-align:center;cursor:pointer;color:#0009;vertical-align:baseline;zoom:1;-webkit-user-select:none;user-select:none;background:#e0e1e2;border-radius:3px;outline:none;min-height:1em;padding:.75em 1em;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;font-size:1em;font-weight:700;line-height:1em;text-decoration:none;transition:all .1s linear;display:inline-block}.x-spreadsheet-button.active,.x-spreadsheet-button:hover{color:#000c;background-color:#c0c1c2}.x-spreadsheet-button.primary{color:#fff;background-color:#2185d0}.x-spreadsheet-button.primary:hover,.x-spreadsheet-button.primary.active{color:#fff;background-color:#1678c2}.x-spreadsheet-form-input{color:#000000de;font-size:1em;font-weight:400;display:inline-flex;position:relative}.x-spreadsheet-form-input input{z-index:1;-webkit-tap-highlight-color:#fff0;text-align:left;background:#fff;border:1px solid #e9e9e9;border-radius:3px;outline:0;flex:1 0 auto;max-width:100%;height:30px;margin:0;padding:0 8px;line-height:30px;transition:box-shadow .1s,border-color .1s;box-shadow:inset 0 1px 2px #0a0a0a0f}.x-spreadsheet-form-input input:focus{border-color:#4b89ff;box-shadow:inset 0 1px 2px #4b89ff33}.x-spreadsheet-form-select{cursor:pointer;color:#000000de;-webkit-user-select:none;user-select:none;background:#fff;border:1px solid #e9e9e9;border-radius:2px;display:inline-block;position:relative;box-shadow:inset 0 1px 2px #0a0a0a0f}.x-spreadsheet-form-select .input-text{text-overflow:ellipsis;white-space:nowrap;width:auto;min-width:60px;height:30px;padding:0 8px;line-height:30px}.x-spreadsheet-form-fields{flex-flow:wrap;display:flex}.x-spreadsheet-form-fields .x-spreadsheet-form-field{flex:0 auto}.x-spreadsheet-form-fields .x-spreadsheet-form-field .label{margin:0 10px 0 0;display:inline-block}.x-spreadsheet-form-field{vertical-align:middle;margin-bottom:10px;margin-left:10px;display:block}.x-spreadsheet-form-field:first-child{margin-left:0}.x-spreadsheet-form-field.error .x-spreadsheet-form-select,.x-spreadsheet-form-field.error input{border-color:#f04134}.x-spreadsheet-form-field .tip{color:#f04134;font-size:.9em}.x-spreadsheet-dimmer{text-align:center;vertical-align:middle;opacity:0;-webkit-user-select:none;user-select:none;z-index:1000;background-color:#0009;width:100%;height:100%;transition:background-color .5s linear;animation-duration:.5s;animation-fill-mode:both;display:none;position:absolute;top:0!important;left:0!important}.x-spreadsheet-dimmer.active{opacity:1;display:block}form fieldset{border:none}form fieldset label{color:#666;margin-bottom:.5em;font-size:1em;display:block}form fieldset select{background-color:#fff;border:none;border-bottom:2px solid #ddd;border-radius:2px;width:100%;padding:.5em .85em;font-size:1.1em}.x-spreadsheet-modal,.x-spreadsheet-toast{z-index:1001;text-align:left;color:#000000de;background-color:#fff;background-clip:padding-box;border:1px solid #0000001a;border-radius:4px;min-width:360px;font-family:Lato,Source Sans Pro,Roboto,Helvetica,Arial,sans-serif;font-size:13px;line-height:1.25em;position:fixed;box-shadow:0 2px 8px #0003}.x-spreadsheet-toast{background-color:#ffffffd9}.x-spreadsheet-modal-header,.x-spreadsheet-toast-header{background-color:#ffffffd9;background-clip:padding-box;border-bottom:1px solid #0000000d;border-radius:4px 4px 0 0;font-weight:600}.x-spreadsheet-modal-header .x-spreadsheet-icon,.x-spreadsheet-toast-header .x-spreadsheet-icon{border-radius:18px;position:absolute;top:.65em;right:.8em}.x-spreadsheet-modal-header .x-spreadsheet-icon:hover,.x-spreadsheet-toast-header .x-spreadsheet-icon:hover{opacity:1;background:#00000014}.x-spreadsheet-toast-header{color:#f2711c}.x-spreadsheet-modal-header{background:#00000014;border-bottom:1px solid #e0e2e4;font-size:1.0785em}.x-spreadsheet-modal-header,.x-spreadsheet-modal-content,.x-spreadsheet-toast-header,.x-spreadsheet-toast-content{padding:.75em 1em}@media screen and (width >= 320px) and (width <= 480px){.x-spreadsheet-toolbar{display:none}}.x-spreadsheet-icon{text-align:center;vertical-align:middle;-webkit-user-select:none;user-select:none;width:18px;height:18px;margin:1px 1px 2px;line-height:0;display:inline-block;position:relative;overflow:hidden}.x-spreadsheet-icon .x-spreadsheet-icon-img{opacity:.56;width:262px;height:444px;position:absolute}.x-spreadsheet-icon .x-spreadsheet-icon-img.undo{top:0;left:0}.x-spreadsheet-icon .x-spreadsheet-icon-img.redo{top:0;left:-18px}.x-spreadsheet-icon .x-spreadsheet-icon-img.print{top:0;left:-36px}.x-spreadsheet-icon .x-spreadsheet-icon-img.paintformat{top:0;left:-54px}.x-spreadsheet-icon .x-spreadsheet-icon-img.clearformat{top:0;left:-72px}.x-spreadsheet-icon .x-spreadsheet-icon-img.font-bold{top:0;left:-90px}.x-spreadsheet-icon .x-spreadsheet-icon-img.font-italic{top:0;left:-108px}.x-spreadsheet-icon .x-spreadsheet-icon-img.underline{top:0;left:-126px}.x-spreadsheet-icon .x-spreadsheet-icon-img.strike{top:0;left:-144px}.x-spreadsheet-icon .x-spreadsheet-icon-img.color{top:0;left:-162px}.x-spreadsheet-icon .x-spreadsheet-icon-img.bgcolor{top:0;left:-180px}.x-spreadsheet-icon .x-spreadsheet-icon-img.merge{top:0;left:-198px}.x-spreadsheet-icon .x-spreadsheet-icon-img.align-left{top:0;left:-216px}.x-spreadsheet-icon .x-spreadsheet-icon-img.align-center{top:0;left:-234px}.x-spreadsheet-icon .x-spreadsheet-icon-img.align-right{top:-18px;left:0}.x-spreadsheet-icon .x-spreadsheet-icon-img.align-top{top:-18px;left:-18px}.x-spreadsheet-icon .x-spreadsheet-icon-img.align-middle{top:-18px;left:-36px}.x-spreadsheet-icon .x-spreadsheet-icon-img.align-bottom{top:-18px;left:-54px}.x-spreadsheet-icon .x-spreadsheet-icon-img.textwrap{top:-18px;left:-72px}.x-spreadsheet-icon .x-spreadsheet-icon-img.autofilter{top:-18px;left:-90px}.x-spreadsheet-icon .x-spreadsheet-icon-img.formula{top:-18px;left:-108px}.x-spreadsheet-icon .x-spreadsheet-icon-img.arrow-down{top:-18px;left:-126px}.x-spreadsheet-icon .x-spreadsheet-icon-img.arrow-right{top:-18px;left:-144px}.x-spreadsheet-icon .x-spreadsheet-icon-img.link{top:-18px;left:-162px}.x-spreadsheet-icon .x-spreadsheet-icon-img.chart{top:-18px;left:-180px}.x-spreadsheet-icon .x-spreadsheet-icon-img.freeze{top:-18px;left:-198px}.x-spreadsheet-icon .x-spreadsheet-icon-img.ellipsis{top:-18px;left:-216px}.x-spreadsheet-icon .x-spreadsheet-icon-img.add{top:-18px;left:-234px}.x-spreadsheet-icon .x-spreadsheet-icon-img.border-all{top:-36px;left:0}.x-spreadsheet-icon .x-spreadsheet-icon-img.border-inside{top:-36px;left:-18px}.x-spreadsheet-icon .x-spreadsheet-icon-img.border-horizontal{top:-36px;left:-36px}.x-spreadsheet-icon .x-spreadsheet-icon-img.border-vertical{top:-36px;left:-54px}.x-spreadsheet-icon .x-spreadsheet-icon-img.border-outside{top:-36px;left:-72px}.x-spreadsheet-icon .x-spreadsheet-icon-img.border-left{top:-36px;left:-90px}.x-spreadsheet-icon .x-spreadsheet-icon-img.border-top{top:-36px;left:-108px}.x-spreadsheet-icon .x-spreadsheet-icon-img.border-right{top:-36px;left:-126px}.x-spreadsheet-icon .x-spreadsheet-icon-img.border-bottom{top:-36px;left:-144px}.x-spreadsheet-icon .x-spreadsheet-icon-img.border-none{top:-36px;left:-162px}.x-spreadsheet-icon .x-spreadsheet-icon-img.line-color{top:-36px;left:-180px}.x-spreadsheet-icon .x-spreadsheet-icon-img.line-type{top:-36px;left:-198px}.x-spreadsheet-icon .x-spreadsheet-icon-img.close{top:-36px;left:-234px}.x-spreadsheet-icon .x-spreadsheet-icon-img.chevron-down{top:-54px;left:0}.x-spreadsheet-icon .x-spreadsheet-icon-img.chevron-up{top:-54px;left:-18px}.x-spreadsheet-icon .x-spreadsheet-icon-img.chevron-left{top:-54px;left:-36px}.x-spreadsheet-icon .x-spreadsheet-icon-img.chevron-right{top:-54px;left:-54px}')),document.head.appendChild(e)}}catch(t){console.error("vite-plugin-css-injected-by-js",t)}})();
2
- (function(y,P){typeof exports=="object"&&typeof module!="undefined"?P(exports,require("@tachybase/client"),require("@tachybase/components"),require("react/jsx-runtime"),require("react"),require("@tachybase/schema"),require("@ant-design/icons"),require("antd"),require("lodash"),require("@tachybase/evaluators/client"),require("react-dom"),require("react-router-dom"),require("dayjs"),require("@tachybase/utils/client"),require("ahooks")):typeof define=="function"&&define.amd?define(["exports","@tachybase/client","@tachybase/components","react/jsx-runtime","react","@tachybase/schema","@ant-design/icons","antd","lodash","@tachybase/evaluators/client","react-dom","react-router-dom","dayjs","@tachybase/utils/client","ahooks"],P):(y=typeof globalThis!="undefined"?globalThis:y||self,P(y["@tachybase/module-hera"]={},y["@tachybase/client"],y["@tachybase/components"],y.jsxRuntime,y.react,y["@tachybase/schema"],y["@ant-design/icons"],y.antd,y.lodash,y["@tachybase/evaluators"],y["react-dom"],y["react-router-dom"],y.dayjs,y["@tachybase/utils"],y.ahooks))})(this,function(exports,client,components$1,__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__,React,schema,icons,antd,_,client$1,ReactDOM,reactRouterDom,dayjs,client$2,ahooks){"use strict";var te=Object.defineProperty,se=Object.defineProperties;var ie=Object.getOwnPropertyDescriptors;var Z=Object.getOwnPropertySymbols;var ne=Object.prototype.hasOwnProperty,re=Object.prototype.propertyIsEnumerable;var J=y=>{throw TypeError(y)};var q=(y,P,S)=>P in y?te(y,P,{enumerable:!0,configurable:!0,writable:!0,value:S}):y[P]=S,D=(y,P)=>{for(var S in P||(P={}))ne.call(P,S)&&q(y,S,P[S]);if(Z)for(var S of Z(P))re.call(P,S)&&q(y,S,P[S]);return y},I=(y,P)=>se(y,ie(P));var Q=(y,P,S)=>q(y,typeof P!="symbol"?P+"":P,S),ee=(y,P,S)=>P.has(y)||J("Cannot "+S);var k=(y,P,S)=>(ee(y,P,"read from private field"),S?S.call(y):P.get(y)),U=(y,P,S)=>P.has(y)?J("Cannot add the same private member more than once"):P instanceof WeakSet?P.add(y):P.set(y,S),N=(y,P,S,M)=>(ee(y,P,"write to private field"),M?M.call(y,S):P.set(y,S),S);var T=(y,P,S)=>new Promise((M,F)=>{var O=n=>{try{$(S.next(n))}catch(e){F(e)}},B=n=>{try{$(S.throw(n))}catch(e){F(e)}},$=n=>n.done?M(n.value):Promise.resolve(n.value).then(O,B);$((S=S.apply(y,P)).next())});var y,P,S,M,F,O;function _interopNamespaceDefault(n){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const s in n)if(s!=="default"){const i=Object.getOwnPropertyDescriptor(n,s);Object.defineProperty(e,s,i.get?i:{enumerable:!0,get:()=>n[s]})}}return e.default=n,Object.freeze(e)}const React__namespace=_interopNamespaceDefault(React);var commonjsGlobal=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:{};function getDefaultExportFromCjs(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var FileSaver_min$1={exports:{}},FileSaver_min=FileSaver_min$1.exports,hasRequiredFileSaver_min;function requireFileSaver_min(){return hasRequiredFileSaver_min||(hasRequiredFileSaver_min=1,function(n,e){(function(s,i){i()})(FileSaver_min,function(){function s(d,u){return typeof u=="undefined"?u={autoBom:!1}:typeof u!="object"&&(console.warn("Deprecated: Expected third argument to be a object"),u={autoBom:!u}),u.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(d.type)?new Blob(["\uFEFF",d],{type:d.type}):d}function i(d,u,f){var p=new XMLHttpRequest;p.open("GET",d),p.responseType="blob",p.onload=function(){c(p.response,u,f)},p.onerror=function(){console.error("could not download file")},p.send()}function r(d){var u=new XMLHttpRequest;u.open("HEAD",d,!1);try{u.send()}catch(f){}return 200<=u.status&&299>=u.status}function o(d){try{d.dispatchEvent(new MouseEvent("click"))}catch(f){var u=document.createEvent("MouseEvents");u.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),d.dispatchEvent(u)}}var l=typeof window=="object"&&window.window===window?window:typeof self=="object"&&self.self===self?self:typeof commonjsGlobal=="object"&&commonjsGlobal.global===commonjsGlobal?commonjsGlobal:void 0,a=l.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),c=l.saveAs||(typeof window!="object"||window!==l?function(){}:"download"in HTMLAnchorElement.prototype&&!a?function(d,u,f){var p=l.URL||l.webkitURL,m=document.createElement("a");u=u||d.name||"download",m.download=u,m.rel="noopener",typeof d=="string"?(m.href=d,m.origin===location.origin?o(m):r(m.href)?i(d,u,f):o(m,m.target="_blank")):(m.href=p.createObjectURL(d),setTimeout(function(){p.revokeObjectURL(m.href)},4e4),setTimeout(function(){o(m)},0))}:"msSaveOrOpenBlob"in navigator?function(d,u,f){if(u=u||d.name||"download",typeof d!="string")navigator.msSaveOrOpenBlob(s(d,f),u);else if(r(d))i(d,u,f);else{var p=document.createElement("a");p.href=d,p.target="_blank",setTimeout(function(){o(p)})}}:function(d,u,f,p){if(p=p||open("","_blank"),p&&(p.document.title=p.document.body.innerText="downloading..."),typeof d=="string")return i(d,u,f);var m=d.type==="application/octet-stream",g=/constructor/i.test(l.HTMLElement)||l.safari,x=/CriOS\/[\d]+/.test(navigator.userAgent);if((x||m&&g||a)&&typeof FileReader!="undefined"){var b=new FileReader;b.onloadend=function(){var w=b.result;w=x?w:w.replace(/^data:[^;]*;/,"data:attachment/file;"),p?p.location.href=w:location=w,p=null},b.readAsDataURL(d)}else{var E=l.URL||l.webkitURL,v=E.createObjectURL(d);p?p.location=v:location.href=v,p=null,setTimeout(function(){E.revokeObjectURL(v)},4e4)}});l.saveAs=c.saveAs=c,n.exports=c})}(FileSaver_min$1)),FileSaver_min$1.exports}var FileSaver_minExports=requireFileSaver_min();const NAMESPACE="@tachybase/module-hera";class Locale{constructor(e){this.app=e}lang(e){return this.app.i18n.t(e,{ns:NAMESPACE})}}const useTranslation=()=>{const{i18n:n}=client.useApp();return{t:(s,i={})=>n.t(s,D({ns:NAMESPACE},i))}},tval=n=>client.tval(n,{ns:NAMESPACE});function lang(n){return client.i18n.t(n,{ns:NAMESPACE})}const LoadingSpin=({children:n,spinning:e})=>{const{t:s}=useTranslation();return __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Spin,{tip:s("loading..."),indicator:__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(icons.LoadingOutlined,{style:{fontSize:24},spin:!0}),spinning:e,children:n})},PDFViewer=React.forwardRef((n,e)=>{const i=client.useApp().AttachmentPreviewManager.get(),{checkedComponent:r}=i["application/pdf"],o=client.useIsMobile(),[l,a]=React.useState(""),[c,d]=React.useState(null),{file:u,width:f=960}=n,{loading:p,data:m}=client.useRequest({url:u,responseType:"arraybuffer"},{refreshDeps:[u]});return React.useImperativeHandle(e,()=>({download(){const g=new Blob([m],{type:"application/pdf"});FileSaver_minExports.saveAs(g,schema.uid()+".pdf")},print(){c.print()}})),React.useEffect(()=>{if(p||!m)return;const g=new Blob([m],{type:"application/pdf"}),x=URL.createObjectURL(g);a(x)},[m,p]),React.useEffect(()=>{if(!l)return;const g=document.createElement("iframe");return g.style.display="none",g.src=l,g.onload=()=>{d(g.contentWindow)},document.body.appendChild(g),()=>{URL.revokeObjectURL(l),document.body.removeChild(g)}},[l]),__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(LoadingSpin,{spinning:p,children:r({file:{url:l},width:f,noTransformWrapper:!o})})});class Element{constructor(e,s=""){typeof e=="string"?(this.el=document.createElement(e),this.el.className=s):this.el=e,this.data={}}data(e,s){return s!==void 0?(this.data[e]=s,this):this.data[e]}on(e,s){const[i,...r]=e.split(".");let o=i;return o==="mousewheel"&&/Firefox/i.test(window.navigator.userAgent)&&(o="DOMMouseScroll"),this.el.addEventListener(o,l=>{s(l);for(let a=0;a<r.length;a+=1){const c=r[a];if(c==="left"&&l.button!==0||c==="right"&&l.button!==2)return;c==="stop"&&l.stopPropagation()}}),this}offset(e){if(e!==void 0)return Object.keys(e).forEach(l=>{this.css(l,`${e[l]}px`)}),this;const{offsetTop:s,offsetLeft:i,offsetHeight:r,offsetWidth:o}=this.el;return{top:s,left:i,height:r,width:o}}scroll(e){const{el:s}=this;return e!==void 0&&(e.left!==void 0&&(s.scrollLeft=e.left),e.top!==void 0&&(s.scrollTop=e.top)),{left:s.scrollLeft,top:s.scrollTop}}box(){return this.el.getBoundingClientRect()}parent(){return new Element(this.el.parentNode)}children(...e){return arguments.length===0?this.el.childNodes:(e.forEach(s=>this.child(s)),this)}removeChild(e){this.el.removeChild(e)}child(e){let s=e;return typeof e=="string"?s=document.createTextNode(e):e instanceof Element&&(s=e.el),this.el.appendChild(s),this}contains(e){return this.el.contains(e)}className(e){return e!==void 0?(this.el.className=e,this):this.el.className}addClass(e){return this.el.classList.add(e),this}hasClass(e){return this.el.classList.contains(e)}removeClass(e){return this.el.classList.remove(e),this}toggle(e="active"){return this.toggleClass(e)}toggleClass(e){return this.el.classList.toggle(e)}active(e=!0,s="active"){return e?this.addClass(s):this.removeClass(s),this}checked(e=!0){return this.active(e,"checked"),this}disabled(e=!0){return e?this.addClass("disabled"):this.removeClass("disabled"),this}attr(e,s){if(s!==void 0)this.el.setAttribute(e,s);else{if(typeof e=="string")return this.el.getAttribute(e);Object.keys(e).forEach(i=>{this.el.setAttribute(i,e[i])})}return this}removeAttr(e){return this.el.removeAttribute(e),this}html(e){return e!==void 0?(this.el.innerHTML=e,this):this.el.innerHTML}val(e){return e!==void 0?(this.el.value=e,this):this.el.value}focus(){this.el.focus()}cssRemoveKeys(...e){return e.forEach(s=>this.el.style.removeProperty(s)),this}css(e,s){return s===void 0&&typeof e!="string"?(Object.keys(e).forEach(i=>{this.el.style[i]=e[i]}),this):s!==void 0?(this.el.style[e]=s,this):this.el.style[e]}computedStyle(){return window.getComputedStyle(this.el,null)}show(){return this.css("display","block"),this}hide(){return this.css("display","none"),this}}const h=(n,e="")=>new Element(n,e),alphabets=["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"];function stringAt(n){let e="",s=n;for(;s>=alphabets.length;)s/=alphabets.length,s-=1,e+=alphabets[parseInt(s,10)%alphabets.length];const i=n%alphabets.length;return e+=alphabets[i],e}function indexAt(n){let e=0;for(let s=0;s!==n.length;++s)e=26*e+n.charCodeAt(s)-64;return e-1}function expr2xy(n){let e="",s="";for(let i=0;i<n.length;i+=1)n.charAt(i)>="0"&&n.charAt(i)<="9"?s+=n.charAt(i):e+=n.charAt(i);return[indexAt(e),parseInt(s,10)-1]}function xy2expr(n,e){return`${stringAt(n)}${e+1}`}function expr2expr(n,e,s,i=()=>!0){if(e===0&&s===0)return n;const[r,o]=expr2xy(n);return i(r,o)?xy2expr(r+e,o+s):n}class CellRange{constructor(e,s,i,r,o=0,l=0){this.sri=e,this.sci=s,this.eri=i,this.eci=r,this.w=o,this.h=l}set(e,s,i,r){this.sri=e,this.sci=s,this.eri=i,this.eci=r}multiple(){return this.eri-this.sri>0||this.eci-this.sci>0}includes(...e){let[s,i]=[0,0];e.length===1?[i,s]=expr2xy(e[0]):e.length===2&&([s,i]=e);const{sri:r,sci:o,eri:l,eci:a}=this;return r<=s&&s<=l&&o<=i&&i<=a}each(e,s=()=>!0){const{sri:i,sci:r,eri:o,eci:l}=this;for(let a=i;a<=o;a+=1)if(s(a))for(let c=r;c<=l;c+=1)e(a,c)}contains(e){return this.sri<=e.sri&&this.sci<=e.sci&&this.eri>=e.eri&&this.eci>=e.eci}within(e){return this.sri>=e.sri&&this.sci>=e.sci&&this.eri<=e.eri&&this.eci<=e.eci}disjoint(e){return this.sri>e.eri||this.sci>e.eci||e.sri>this.eri||e.sci>this.eci}intersects(e){return this.sri<=e.eri&&this.sci<=e.eci&&e.sri<=this.eri&&e.sci<=this.eci}union(e){const{sri:s,sci:i,eri:r,eci:o}=this;return new CellRange(e.sri<s?e.sri:s,e.sci<i?e.sci:i,e.eri>r?e.eri:r,e.eci>o?e.eci:o)}difference(e){const s=[],i=(p,m,g,x)=>{s.push(new CellRange(p,m,g,x))},{sri:r,sci:o,eri:l,eci:a}=this,c=e.sri-r,d=e.sci-o,u=l-e.eri,f=a-e.eci;return c>0?(i(r,o,e.sri-1,a),u>0?(i(e.eri+1,o,l,a),d>0&&i(e.sri,o,e.eri,e.sci-1),f>0&&i(e.sri,e.eci+1,e.eri,a)):(d>0&&i(e.sri,o,l,e.sci-1),f>0&&i(e.sri,e.eci+1,l,a))):u>0&&(i(e.eri+1,o,l,a),d>0&&i(r,o,e.eri,e.sci-1),f>0&&i(r,e.eci+1,e.eri,a)),d>0?(i(r,o,l,e.sci-1),f>0?(i(r,e.eri+1,l,a),c>0&&i(r,e.sci,e.sri-1,e.eci),u>0&&i(e.sri+1,e.sci,l,e.eci)):(c>0&&i(r,e.sci,e.sri-1,a),u>0&&i(e.sri+1,e.sci,l,a))):f>0&&(i(l,e.eci+1,l,a),c>0&&i(r,o,e.sri-1,e.eci),u>0&&i(e.eri+1,o,l,e.eci)),s}size(){return[this.eri-this.sri+1,this.eci-this.sci+1]}toString(){const{sri:e,sci:s,eri:i,eci:r}=this;let o=xy2expr(s,e);return this.multiple()&&(o=`${o}:${xy2expr(r,i)}`),o}clone(){const{sri:e,sci:s,eri:i,eci:r,w:o,h:l}=this;return new CellRange(e,s,i,r,o,l)}equals(e){return this.eri===e.eri&&this.eci===e.eci&&this.sri===e.sri&&this.sci===e.sci}static valueOf(e){const s=e.split(":"),[i,r]=expr2xy(s[0]);let[o,l]=[r,i];return s.length>1&&([l,o]=expr2xy(s[1])),new CellRange(r,i,o,l)}}let Selector$1=class{constructor(){this.range=new CellRange(0,0,0,0),this.ri=0,this.ci=0}multiple(){return this.range.multiple()}setIndexes(e,s){this.ri=e,this.ci=s}size(){return this.range.size()}};class Scroll{constructor(){this.x=0,this.y=0,this.ri=0,this.ci=0}}class History{constructor(){this.undoItems=[],this.redoItems=[]}add(e){this.undoItems.push(JSON.stringify(e)),this.redoItems=[]}canUndo(){return this.undoItems.length>0}canRedo(){return this.redoItems.length>0}undo(e,s){const{undoItems:i,redoItems:r}=this;this.canUndo()&&(r.push(JSON.stringify(e)),s(JSON.parse(i.pop())))}redo(e,s){const{undoItems:i,redoItems:r}=this;this.canRedo()&&(i.push(JSON.stringify(e)),s(JSON.parse(r.pop())))}}class Clipboard{constructor(){this.range=null,this.state="clear"}copy(e){return this.range=e,this.state="copy",this}cut(e){return this.range=e,this.state="cut",this}isCopy(){return this.state==="copy"}isCut(){return this.state==="cut"}isClear(){return this.state==="clear"}clear(){this.range=null,this.state="clear"}}class Filter{constructor(e,s,i){this.ci=e,this.operator=s,this.value=i}set(e,s){this.operator=e,this.value=s}includes(e){const{operator:s,value:i}=this;return s==="all"?!0:s==="in"?i.includes(e):!1}vlength(){const{operator:e,value:s}=this;return e==="in"?s.length:0}getData(){const{ci:e,operator:s,value:i}=this;return{ci:e,operator:s,value:i}}}class Sort{constructor(e,s){this.ci=e,this.order=s}asc(){return this.order==="asc"}desc(){return this.order==="desc"}}class AutoFilter{constructor(){this.ref=null,this.filters=[],this.sort=null}setData({ref:e,filters:s,sort:i}){e!=null&&(this.ref=e,this.filters=s.map(r=>new Filter(r.ci,r.operator,r.value)),i&&(this.sort=new Sort(i.ci,i.order)))}getData(){if(this.active()){const{ref:e,filters:s,sort:i}=this;return{ref:e,filters:s.map(r=>r.getData()),sort:i}}return{}}addFilter(e,s,i){const r=this.getFilter(e);r==null?this.filters.push(new Filter(e,s,i)):r.set(s,i)}setSort(e,s){this.sort=s?new Sort(e,s):null}includes(e,s){return this.active()?this.hrange().includes(e,s):!1}getSort(e){const{sort:s}=this;return s&&s.ci===e?s:null}getFilter(e){const{filters:s}=this;for(let i=0;i<s.length;i+=1)if(s[i].ci===e)return s[i];return null}filteredRows(e){const s=new Set,i=new Set;if(this.active()){const{sri:r,eri:o}=this.range(),{filters:l}=this;for(let a=r+1;a<=o;a+=1)for(let c=0;c<l.length;c+=1){const d=l[c],u=e(a,d.ci),f=u?u.text:"";if(d.includes(f))i.add(a);else{s.add(a);break}}}return{rset:s,fset:i}}items(e,s){const i={};if(this.active()){const{sri:r,eri:o}=this.range();for(let l=r+1;l<=o;l+=1){const a=s(l,e);if(a===null||/^\s*$/.test(a.text))i[""]=(i[""]||0)+1;else{const c=a.text,d=(i[c]||0)+1;i[c]=d}}}return i}range(){return CellRange.valueOf(this.ref)}hrange(){const e=this.range();return e.eri=e.sri,e}clear(){this.ref=null,this.filters=[],this.sort=null}active(){return this.ref!==null}}class Merges{constructor(e=[]){this._=e}forEach(e){this._.forEach(e)}deleteWithin(e){this._=this._.filter(s=>!s.within(e))}getFirstIncludes(e,s){for(let i=0;i<this._.length;i+=1){const r=this._[i];if(r.includes(e,s))return r}return null}filterIntersects(e){return new Merges(this._.filter(s=>s.intersects(e)))}intersects(e){for(let s=0;s<this._.length;s+=1)if(this._[s].intersects(e))return!0;return!1}union(e){let s=e;return this._.forEach(i=>{i.intersects(s)&&(s=i.union(s))}),s}add(e){this.deleteWithin(e),this._.push(e)}shift(e,s,i,r){this._.forEach(o=>{const{sri:l,sci:a,eri:c,eci:d}=o,u=o;e==="row"?l>=s?(u.sri+=i,u.eri+=i):l<s&&s<=c&&(u.eri+=i,r(l,a,i,0)):e==="column"&&(a>=s?(u.sci+=i,u.eci+=i):a<s&&s<=d&&(u.eci+=i,r(l,a,0,i)))})}move(e,s,i){this._.forEach(r=>{const o=r;o.within(e)&&(o.eri+=s,o.sri+=s,o.sci+=i,o.eci+=i)})}setData(e){return this._=e.map(s=>CellRange.valueOf(s)),this}getData(){return this._.map(e=>e.toString())}}function cloneDeep(n){return JSON.parse(JSON.stringify(n))}const mergeDeep=(n={},...e)=>(e.forEach(s=>{Object.keys(s).forEach(i=>{const r=s[i];typeof r=="string"||typeof r=="number"||typeof r=="boolean"?n[i]=r:typeof r!="function"&&!Array.isArray(r)&&r instanceof Object?(n[i]=n[i]||{},mergeDeep(n[i],r)):n[i]=r})}),n);function equals(n,e){const s=Object.keys(n);if(s.length!==Object.keys(e).length)return!1;for(let i=0;i<s.length;i+=1){const r=s[i],o=n[r],l=e[r];if(l===void 0)return!1;if(typeof o=="string"||typeof o=="number"||typeof o=="boolean"){if(o!==l)return!1}else if(Array.isArray(o)){if(o.length!==l.length)return!1;for(let a=0;a<o.length;a+=1)if(!equals(o[a],l[a]))return!1}else if(typeof o!="function"&&!Array.isArray(o)&&o instanceof Object&&!equals(o,l))return!1}return!0}const sum=(n,e=s=>s)=>{let s=0,i=0;return Object.keys(n).forEach(r=>{s+=e(n[r],r),i+=1}),[s,i]};function deleteProperty(n,e){const s=n[`${e}`];return delete n[`${e}`],s}function rangeReduceIf(n,e,s,i,r,o){let l=s,a=i,c=n;for(;c<e&&!(l>r);c+=1)a=o(c),l+=a;return[c,l-a,a]}function rangeSum(n,e,s){let i=0;for(let r=n;r<e;r+=1)i+=s(r);return i}function rangeEach(n,e,s){for(let i=n;i<e;i+=1)s(i)}function arrayEquals(n,e){if(n.length!==e.length)return!1;for(let s=0;s<n.length;s+=1)if(n[s]!==e[s])return!1;return!0}function digits(n){const e=`${n}`;let s=0,i=!1;for(let r=0;r<e.length;r+=1)i===!0&&(s+=1),e.charAt(r)==="."&&(i=!0);return s}function numberCalc(n,e,s){if(Number.isNaN(e)||Number.isNaN(s))return e+n+s;const i=digits(e),r=digits(s),o=Number(e),l=Number(s);let a=0;if(n==="-")a=o-l;else if(n==="+")a=o+l;else if(n==="*")a=o*l;else if(n==="/")return a=o/l,digits(a)>5?a.toFixed(2):a;return a.toFixed(Math.max(i,r))}const helper_rslib_entry_={cloneDeep,merge:(...n)=>mergeDeep({},...n),equals,arrayEquals,sum,rangeEach,rangeSum,rangeReduceIf,deleteProperty,numberCalc};class Rows{constructor({len:e,height:s}){this._={},this.len=e,this.height=s}getHeight(e){if(this.isHide(e))return 0;const s=this.get(e);return s&&s.height?s.height:this.height}setHeight(e,s){const i=this.getOrNew(e);i.height=s}unhide(e){let s=e;for(;s>0&&(s-=1,this.isHide(s));)this.setHide(s,!1)}isHide(e){const s=this.get(e);return s&&s.hide}setHide(e,s){const i=this.getOrNew(e);s===!0?i.hide=!0:delete i.hide}setStyle(e,s){const i=this.getOrNew(e);i.style=s}sumHeight(e,s,i){return helper_rslib_entry_.rangeSum(e,s,r=>i&&i.has(r)?0:this.getHeight(r))}totalHeight(){return this.sumHeight(0,this.len)}get(e){return this._[e]}getOrNew(e){return this._[e]=this._[e]||{cells:{}},this._[e]}getCell(e,s){const i=this.get(e);return i!==void 0&&i.cells!==void 0&&i.cells[s]!==void 0?i.cells[s]:null}getCellMerge(e,s){const i=this.getCell(e,s);return i&&i.merge?i.merge:[0,0]}getCellOrNew(e,s){const i=this.getOrNew(e);return i.cells[s]=i.cells[s]||{},i.cells[s]}setCell(e,s,i,r="all"){const o=this.getOrNew(e);r==="all"?o.cells[s]=i:r==="text"?(o.cells[s]=o.cells[s]||{},o.cells[s].text=i.text):r==="format"&&(o.cells[s]=o.cells[s]||{},o.cells[s].style=i.style,i.merge&&(o.cells[s].merge=i.merge))}setCellText(e,s,i){const r=this.getCellOrNew(e,s);r.editable!==!1&&(r.text=i)}copyPaste(e,s,i,r=!1,o=()=>{}){const{sri:l,sci:a,eri:c,eci:d}=e,u=s.sri,f=s.sci,p=s.eri,m=s.eci,[g,x]=e.size(),[b,E]=s.size();let v=!0,w=0;(p<l||m<a)&&(v=!1,w=p<l?b:E);for(let C=l;C<=c;C+=1)if(this._[C]){for(let A=a;A<=d;A+=1)if(this._[C].cells&&this._[C].cells[A])for(let R=u;R<=p;R+=g)for(let j=f;j<=m;j+=x){const L=R+(C-l),V=j+(A-a),W=helper_rslib_entry_.cloneDeep(this._[C].cells[A]);if(r&&W&&W.text&&W.text.length>0){const{text:K}=W;let X=j-f+(R-u)+2;if(v||(X-=w+1),K[0]==="=")W.text=K.replace(/[a-zA-Z]{1,3}\d+/g,z=>{let[H,Y]=[0,0];return l===u?H=X-1:Y=X-1,/^\d+$/.test(z)?z:expr2expr(z,H,Y)});else if(g<=1&&x>1&&(u>c||p<l)||x<=1&&g>1&&(f>d||m<a)||g<=1&&x<=1){const z=/[\\.\d]+$/.exec(K);if(z!==null){const H=Number(z[0])+X-1;W.text=K.substring(0,z.index)+H}}}this.setCell(L,V,W,i),o(L,V,W)}}}cutPaste(e,s){const i={};this.each(r=>{this.eachCells(r,o=>{let l=parseInt(r,10),a=parseInt(o,10);e.includes(r,o)&&(l=s.sri+(l-e.sri),a=s.sci+(a-e.sci)),i[l]=i[l]||{cells:{}},i[l].cells[a]=this._[r].cells[o]})}),this._=i}paste(e,s){if(e.length<=0)return;const{sri:i,sci:r}=s;e.forEach((o,l)=>{const a=i+l;o.forEach((c,d)=>{const u=r+d;this.setCellText(a,u,c)})})}insert(e,s=1){const i={};this.each((r,o)=>{let l=parseInt(r,10);l>=e&&(l+=s,this.eachCells(r,(a,c)=>{c.text&&c.text[0]==="="&&(c.text=c.text.replace(/[a-zA-Z]{1,3}\d+/g,d=>expr2expr(d,0,s,(u,f)=>f>=e)))})),i[l]=o}),this._=i,this.len+=s}delete(e,s){const i=s-e+1,r={};this.each((o,l)=>{const a=parseInt(o,10);a<e?r[a]=l:o>s&&(r[a-i]=l,this.eachCells(o,(c,d)=>{d.text&&d.text[0]==="="&&(d.text=d.text.replace(/[a-zA-Z]{1,3}\d+/g,u=>expr2expr(u,0,-i,(f,p)=>p>s)))}))}),this._=r,this.len-=i}insertColumn(e,s=1){this.each((i,r)=>{const o={};this.eachCells(i,(l,a)=>{let c=parseInt(l,10);c>=e&&(c+=s,a.text&&a.text[0]==="="&&(a.text=a.text.replace(/[a-zA-Z]{1,3}\d+/g,d=>expr2expr(d,s,0,u=>u>=e)))),o[c]=a}),r.cells=o})}deleteColumn(e,s){const i=s-e+1;this.each((r,o)=>{const l={};this.eachCells(r,(a,c)=>{const d=parseInt(a,10);d<e?l[d]=c:d>s&&(l[d-i]=c,c.text&&c.text[0]==="="&&(c.text=c.text.replace(/[a-zA-Z]{1,3}\d+/g,u=>expr2expr(u,-i,0,f=>f>s))))}),o.cells=l})}deleteCells(e,s="all"){e.each((i,r)=>{this.deleteCell(i,r,s)})}deleteCell(e,s,i="all"){const r=this.get(e);if(r!==null){const o=this.getCell(e,s);o!==null&&o.editable!==!1&&(i==="all"?delete r.cells[s]:i==="text"?(o.text&&delete o.text,o.value&&delete o.value):i==="format"?(o.style!==void 0&&delete o.style,o.merge&&delete o.merge):i==="merge"&&o.merge&&delete o.merge)}}maxCell(){const e=Object.keys(this._),s=e[e.length-1],i=this._[s];if(i){const{cells:r}=i,o=Object.keys(r),l=o[o.length-1];return[parseInt(s,10),parseInt(l,10)]}return[0,0]}each(e){Object.entries(this._).forEach(([s,i])=>{e(s,i)})}eachCells(e,s){this._[e]&&this._[e].cells&&Object.entries(this._[e].cells).forEach(([i,r])=>{s(i,r)})}setData(e){e.len&&(this.len=e.len,delete e.len),this._=e}getData(){const{len:e}=this;return Object.assign({len:e},this._)}}class Cols{constructor({len:e,width:s,indexWidth:i,minWidth:r}){this._={},this.len=e,this.width=s,this.indexWidth=i,this.minWidth=r}setData(e){e.len&&(this.len=e.len,delete e.len),this._=e}getData(){const{len:e}=this;return Object.assign({len:e},this._)}getWidth(e){if(this.isHide(e))return 0;const s=this._[e];return s&&s.width?s.width:this.width}getOrNew(e){return this._[e]=this._[e]||{},this._[e]}setWidth(e,s){const i=this.getOrNew(e);i.width=s}unhide(e){let s=e;for(;s>0&&(s-=1,this.isHide(s));)this.setHide(s,!1)}isHide(e){const s=this._[e];return s&&s.hide}setHide(e,s){const i=this.getOrNew(e);s===!0?i.hide=!0:delete i.hide}setStyle(e,s){const i=this.getOrNew(e);i.style=s}sumWidth(e,s){return helper_rslib_entry_.rangeSum(e,s,i=>this.getWidth(i))}totalWidth(){return this.sumWidth(0,this.len)}}const en_rslib_entry_={toolbar:{undo:"Undo",redo:"Redo",print:"Print",paintformat:"Paint format",clearformat:"Clear format",format:"Format",fontName:"Font",fontSize:"Font size",fontBold:"Font bold",fontItalic:"Font italic",underline:"Underline",strike:"Strike",color:"Text color",bgcolor:"Fill color",border:"Borders",merge:"Merge cells",align:"Horizontal align",valign:"Vertical align",textwrap:"Text wrapping",freeze:"Freeze cell",autofilter:"Filter",formula:"Functions",more:"More"},contextmenu:{copy:"Copy",cut:"Cut",paste:"Paste",pasteValue:"Paste values only",pasteFormat:"Paste format only",hide:"Hide",insertRow:"Insert row",insertColumn:"Insert column",deleteSheet:"Delete",deleteRow:"Delete row",deleteColumn:"Delete column",deleteCell:"Delete cell",deleteCellText:"Delete cell text",validation:"Data validations",cellprintable:"Enable export",cellnonprintable:"Disable export",celleditable:"Enable editing",cellnoneditable:"Disable editing"},print:{size:"Paper size",orientation:"Page orientation",orientations:["Landscape","Portrait"]},format:{normal:"Normal",text:"Plain Text",number:"Number",percent:"Percent",rmb:"RMB",usd:"USD",eur:"EUR",date:"Date",time:"Time",datetime:"Date time",duration:"Duration"},formula:{sum:"Sum",average:"Average",max:"Max",min:"Min",_if:"IF",and:"AND",or:"OR",concat:"Concat"},validation:{required:"it must be required",notMatch:"it not match its validation rule",between:"it is between {} and {}",notBetween:"it is not between {} and {}",notIn:"it is not in list",equal:"it equal to {}",notEqual:"it not equal to {}",lessThan:"it less than {}",lessThanEqual:"it less than or equal to {}",greaterThan:"it greater than {}",greaterThanEqual:"it greater than or equal to {}"},error:{pasteForMergedCell:"Unable to do this for merged cells"},calendar:{weeks:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"]},button:{next:"Next",cancel:"Cancel",remove:"Remove",save:"Save",ok:"OK"},sort:{desc:"Sort Z -> A",asc:"Sort A -> Z"},filter:{empty:"empty"},dataValidation:{mode:"Mode",range:"Cell Range",criteria:"Criteria",modeType:{cell:"Cell",column:"Colun",row:"Row"},type:{list:"List",number:"Number",date:"Date",phone:"Phone",email:"Email"},operator:{be:"between",nbe:"not betwwen",lt:"less than",lte:"less than or equal to",gt:"greater than",gte:"greater than or equal to",eq:"equal to",neq:"not equal to"}}};let $languages=["en"];const $messages={en:en_rslib_entry_};function translate(n,e){if(e)for(const s of $languages){if(!e[s])break;let i=e[s];const r=n.match(/(?:\\.|[^.])+/g);for(let o=0;o<r.length;o+=1){const l=r[o],a=i[l];if(!a)break;if(o===r.length-1)return a;i=a}}}function t(n){let e=translate(n,$messages);return!e&&window&&window.x_spreadsheet&&window.x_spreadsheet.$messages&&(e=translate(n,window.x_spreadsheet.$messages)),e||""}function tf(n){return()=>t(n)}function locale(n,e,s=!1){s?$languages=[n]:$languages.unshift(n),e&&($messages[n]=e)}const rules={phone:/^[1-9]\d{10}$/,email:/w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*/};function returnMessage(n,e,...s){let i="";return n||(i=t(`validation.${e}`,...s)),[n,i]}class Validator{constructor(e,s,i,r){this.required=s,this.value=i,this.type=e,this.operator=r,this.message=""}parseValue(e){const{type:s}=this;return s==="date"?new Date(e):s==="number"?Number(e):e}equals(e){let s=this.type===e.type&&this.required===e.required&&this.operator===e.operator;return s&&(s=Array.isArray(this.value)?helper_rslib_entry_.arrayEquals(this.value,e.value):this.value===e.value),s}values(){return this.value.split(",")}validate(e){const{required:s,operator:i,value:r,type:o}=this;if(s&&/^\s*$/.test(e))return returnMessage(!1,"required");if(/^\s*$/.test(e))return[!0];if(rules[o]&&!rules[o].test(e))return returnMessage(!1,"notMatch");if(o==="list")return returnMessage(this.values().includes(e),"notIn");if(i){const l=this.parseValue(e);if(i==="be"){const[a,c]=r;return returnMessage(l>=this.parseValue(a)&&l<=this.parseValue(c),"between",a,c)}if(i==="nbe"){const[a,c]=r;return returnMessage(l<this.parseValue(a)||l>this.parseValue(c),"notBetween",a,c)}if(i==="eq")return returnMessage(l===this.parseValue(r),"equal",r);if(i==="neq")return returnMessage(l!==this.parseValue(r),"notEqual",r);if(i==="lt")return returnMessage(l<this.parseValue(r),"lessThan",r);if(i==="lte")return returnMessage(l<=this.parseValue(r),"lessThanEqual",r);if(i==="gt")return returnMessage(l>this.parseValue(r),"greaterThan",r);if(i==="gte")return returnMessage(l>=this.parseValue(r),"greaterThanEqual",r)}return[!0]}}class Validation{constructor(e,s,i){this.refs=s,this.mode=e,this.validator=i}includes(e,s){const{refs:i}=this;for(let r=0;r<i.length;r+=1)if(CellRange.valueOf(i[r]).includes(e,s))return!0;return!1}addRef(e){this.remove(CellRange.valueOf(e)),this.refs.push(e)}remove(e){const s=[];this.refs.forEach(i=>{const r=CellRange.valueOf(i);r.intersects(e)?r.difference(e).forEach(l=>s.push(l.toString())):s.push(i)}),this.refs=s}getData(){const{refs:e,mode:s,validator:i}=this,{type:r,required:o,operator:l,value:a}=i;return{refs:e,mode:s,type:r,required:o,operator:l,value:a}}static valueOf({refs:e,mode:s,type:i,required:r,operator:o,value:l}){return new Validation(s,e,new Validator(i,r,l,o))}}class Validations{constructor(){this._=[],this.errors=new Map}getError(e,s){return this.errors.get(`${e}_${s}`)}validate(e,s,i){const r=this.get(e,s),o=`${e}_${s}`,{errors:l}=this;if(r!==null){const[a,c]=r.validator.validate(i);a?l.delete(o):l.set(o,c)}else l.delete(o);return!0}add(e,s,{type:i,required:r,value:o,operator:l}){const a=new Validator(i,r,o,l),c=this.getByValidator(a);c!==null?c.addRef(s):this._.push(new Validation(e,[s],a))}getByValidator(e){for(let s=0;s<this._.length;s+=1){const i=this._[s];if(i.validator.equals(e))return i}return null}get(e,s){for(let i=0;i<this._.length;i+=1){const r=this._[i];if(r.includes(e,s))return r}return null}remove(e){this.each(s=>{s.remove(e)})}each(e){this._.forEach(s=>e(s))}getData(){return this._.filter(e=>e.refs.length>0).map(e=>e.getData())}setData(e){this._=e.map(s=>Validation.valueOf(s))}}const defaultSettings={mode:"edit",view:{height:()=>document.documentElement.clientHeight,width:()=>document.documentElement.clientWidth},showGrid:!0,showToolbar:!0,showContextmenu:!0,showBottomBar:!0,row:{len:100,height:25},col:{len:26,width:100,indexWidth:60,minWidth:60},style:{bgcolor:"#ffffff",align:"left",valign:"middle",textwrap:!1,strike:!1,underline:!1,color:"#0a0a0a",font:{name:"Arial",size:10,bold:!1,italic:!1},format:"normal"}},toolbarHeight=41,bottombarHeight=41;function canPaste(n,e,s=()=>{}){const{merges:i}=this,r=e.clone(),[o,l]=n.size(),[a,c]=e.size();return o>a&&(r.eri=e.sri+o-1),l>c&&(r.eci=e.sci+l-1),i.intersects(r)?(s(t("error.pasteForMergedCell")),!1):!0}function copyPaste(n,e,s,i=!1){const{rows:r,merges:o}=this;(s==="all"||s==="format")&&(r.deleteCells(e,s),o.deleteWithin(e)),r.copyPaste(n,e,s,i,(l,a,c)=>{if(c&&c.merge){const[d,u]=c.merge;if(d<=0&&u<=0)return;o.add(new CellRange(l,a,l+d,a+u))}})}function cutPaste(n,e){const{clipboard:s,rows:i,merges:r}=this;i.cutPaste(n,e),r.move(n,e.sri-n.sri,e.sci-n.sci),s.clear()}function setStyleBorder(n,e,s){const{styles:i,rows:r}=this,o=r.getCellOrNew(n,e);let l={};o.style!==void 0&&(l=helper_rslib_entry_.cloneDeep(i[o.style])),l=helper_rslib_entry_.merge(l,{border:s}),o.style=this.addStyle(l)}function setStyleBorders({mode:n,style:e,color:s}){const{styles:i,selector:r,rows:o}=this,{sri:l,sci:a,eri:c,eci:d}=r.range,u=!this.isSingleSelected();if(!(!u&&(n==="inside"||n==="horizontal"||n==="vertical")))if(n!=="outside"||u){if(n==="none")r.range.each((f,p)=>{const m=o.getCell(f,p);if(m&&m.style!==void 0){const g=helper_rslib_entry_.cloneDeep(i[m.style]);delete g.border,m.style=this.addStyle(g)}});else if(n==="all"||n==="inside"||n==="outside"||n==="horizontal"||n==="vertical"){const f=[];for(let p=l;p<=c;p+=1)for(let m=a;m<=d;m+=1){const g=[];for(let A=0;A<f.length;A+=1){const[R,j,L,V]=f[A];if(p===R+L+1&&g.push(A),R<=p&&p<=R+L&&m===j){m+=V+1;break}}if(g.forEach(A=>f.splice(A,1)),m>d)break;const x=o.getCell(p,m);let[b,E]=[0,0];x&&x.merge&&([b,E]=x.merge,f.push([p,m,b,E]));const v=b>0&&p+b===c,w=E>0&&m+E===d;let C={};n==="all"?C={bottom:[e,s],top:[e,s],left:[e,s],right:[e,s]}:n==="inside"?(!w&&m<d&&(C.right=[e,s]),!v&&p<c&&(C.bottom=[e,s])):n==="horizontal"?!v&&p<c&&(C.bottom=[e,s]):n==="vertical"?!w&&m<d&&(C.right=[e,s]):n==="outside"&&u&&(l===p&&(C.top=[e,s]),(v||c===p)&&(C.bottom=[e,s]),a===m&&(C.left=[e,s]),(w||d===m)&&(C.right=[e,s])),Object.keys(C).length>0&&setStyleBorder.call(this,p,m,C),m+=E}}else if(n==="top"||n==="bottom")for(let f=a;f<=d;f+=1)n==="top"&&(setStyleBorder.call(this,l,f,{top:[e,s]}),f+=o.getCellMerge(l,f)[1]),n==="bottom"&&(setStyleBorder.call(this,c,f,{bottom:[e,s]}),f+=o.getCellMerge(c,f)[1]);else if(n==="left"||n==="right")for(let f=l;f<=c;f+=1)n==="left"&&(setStyleBorder.call(this,f,a,{left:[e,s]}),f+=o.getCellMerge(f,a)[0]),n==="right"&&(setStyleBorder.call(this,f,d,{right:[e,s]}),f+=o.getCellMerge(f,d)[0])}else setStyleBorder.call(this,l,a,{top:[e,s],bottom:[e,s],left:[e,s],right:[e,s]})}function getCellRowByY(n,e){const{rows:s}=this,i=this.freezeTotalHeight();let r=s.height;i+s.height<n&&(r-=e);const o=this.exceptRowSet;let l=0,a=r,{height:c}=s;for(;l<s.len&&!(a>n);l+=1)o.has(l)||(c=s.getHeight(l),a+=c);return a-=c,a<=0?{ri:-1,top:0,height:c}:{ri:l-1,top:a,height:c}}function getCellColByX(n,e){const{cols:s}=this,i=this.freezeTotalWidth();let r=s.indexWidth;i+s.indexWidth<n&&(r-=e);const[o,l,a]=helper_rslib_entry_.rangeReduceIf(0,s.len,r,s.indexWidth,n,c=>s.getWidth(c));return l<=0?{ci:-1,left:0,width:s.indexWidth}:{ci:o-1,left:l,width:a}}class DataProxy{constructor(e,s){this.settings=helper_rslib_entry_.merge(defaultSettings,s||{}),this.name=e||"sheet",this.freeze=[0,0],this.styles=[],this.merges=new Merges,this.rows=new Rows(this.settings.row),this.cols=new Cols(this.settings.col),this.validations=new Validations,this.hyperlinks={},this.comments={},this.selector=new Selector$1,this.scroll=new Scroll,this.history=new History,this.clipboard=new Clipboard,this.autoFilter=new AutoFilter,this.change=()=>{},this.exceptRowSet=new Set,this.sortedRowMap=new Map,this.unsortedRowMap=new Map}addValidation(e,s,i){this.changeData(()=>{this.validations.add(e,s,i)})}removeValidation(){const{range:e}=this.selector;this.changeData(()=>{this.validations.remove(e)})}getSelectedValidator(){const{ri:e,ci:s}=this.selector,i=this.validations.get(e,s);return i?i.validator:null}getSelectedValidation(){const{ri:e,ci:s,range:i}=this.selector,r=this.validations.get(e,s),o={ref:i.toString()};return r!==null&&(o.mode=r.mode,o.validator=r.validator),o}canUndo(){return this.history.canUndo()}canRedo(){return this.history.canRedo()}undo(){this.history.undo(this.getData(),e=>{this.setData(e)})}redo(){this.history.redo(this.getData(),e=>{this.setData(e)})}copy(){this.clipboard.copy(this.selector.range)}copyToSystemClipboard(e){let s=[];const{sri:i,eri:r,sci:o,eci:l}=this.selector.range;for(let a=i;a<=r;a+=1){const c=[];for(let d=o;d<=l;d+=1){const u=this.getCell(a,d);c.push(u&&u.text||"")}s.push(c)}s=s.map(a=>a.join(" ")).join(`
2
+ (function(y,P){typeof exports=="object"&&typeof module!="undefined"?P(exports,require("@tachybase/client"),require("@tego/client"),require("react/jsx-runtime"),require("react"),require("@tachybase/schema"),require("@ant-design/icons"),require("antd"),require("lodash"),require("react-dom"),require("react-router-dom"),require("dayjs"),require("ahooks")):typeof define=="function"&&define.amd?define(["exports","@tachybase/client","@tego/client","react/jsx-runtime","react","@tachybase/schema","@ant-design/icons","antd","lodash","react-dom","react-router-dom","dayjs","ahooks"],P):(y=typeof globalThis!="undefined"?globalThis:y||self,P(y["@tachybase/module-hera"]={},y["@tachybase/client"],y["@tego/client"],y.jsxRuntime,y.react,y["@tachybase/schema"],y["@ant-design/icons"],y.antd,y.lodash,y["react-dom"],y["react-router-dom"],y.dayjs,y.ahooks))})(this,function(exports,client,client$1,__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__,React,schema,icons,antd,_,ReactDOM,reactRouterDom,dayjs,ahooks){"use strict";var te=Object.defineProperty,se=Object.defineProperties;var ie=Object.getOwnPropertyDescriptors;var Z=Object.getOwnPropertySymbols;var ne=Object.prototype.hasOwnProperty,re=Object.prototype.propertyIsEnumerable;var J=y=>{throw TypeError(y)};var q=(y,P,S)=>P in y?te(y,P,{enumerable:!0,configurable:!0,writable:!0,value:S}):y[P]=S,D=(y,P)=>{for(var S in P||(P={}))ne.call(P,S)&&q(y,S,P[S]);if(Z)for(var S of Z(P))re.call(P,S)&&q(y,S,P[S]);return y},I=(y,P)=>se(y,ie(P));var Q=(y,P,S)=>q(y,typeof P!="symbol"?P+"":P,S),ee=(y,P,S)=>P.has(y)||J("Cannot "+S);var k=(y,P,S)=>(ee(y,P,"read from private field"),S?S.call(y):P.get(y)),U=(y,P,S)=>P.has(y)?J("Cannot add the same private member more than once"):P instanceof WeakSet?P.add(y):P.set(y,S),N=(y,P,S,M)=>(ee(y,P,"write to private field"),M?M.call(y,S):P.set(y,S),S);var T=(y,P,S)=>new Promise((M,F)=>{var O=n=>{try{$(S.next(n))}catch(e){F(e)}},B=n=>{try{$(S.throw(n))}catch(e){F(e)}},$=n=>n.done?M(n.value):Promise.resolve(n.value).then(O,B);$((S=S.apply(y,P)).next())});var y,P,S,M,F,O;function _interopNamespaceDefault(n){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const s in n)if(s!=="default"){const i=Object.getOwnPropertyDescriptor(n,s);Object.defineProperty(e,s,i.get?i:{enumerable:!0,get:()=>n[s]})}}return e.default=n,Object.freeze(e)}const React__namespace=_interopNamespaceDefault(React);var commonjsGlobal=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:{};function getDefaultExportFromCjs(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var FileSaver_min$1={exports:{}},FileSaver_min=FileSaver_min$1.exports,hasRequiredFileSaver_min;function requireFileSaver_min(){return hasRequiredFileSaver_min||(hasRequiredFileSaver_min=1,function(n,e){(function(s,i){i()})(FileSaver_min,function(){function s(d,u){return typeof u=="undefined"?u={autoBom:!1}:typeof u!="object"&&(console.warn("Deprecated: Expected third argument to be a object"),u={autoBom:!u}),u.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(d.type)?new Blob(["\uFEFF",d],{type:d.type}):d}function i(d,u,f){var p=new XMLHttpRequest;p.open("GET",d),p.responseType="blob",p.onload=function(){c(p.response,u,f)},p.onerror=function(){console.error("could not download file")},p.send()}function r(d){var u=new XMLHttpRequest;u.open("HEAD",d,!1);try{u.send()}catch(f){}return 200<=u.status&&299>=u.status}function o(d){try{d.dispatchEvent(new MouseEvent("click"))}catch(f){var u=document.createEvent("MouseEvents");u.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),d.dispatchEvent(u)}}var l=typeof window=="object"&&window.window===window?window:typeof self=="object"&&self.self===self?self:typeof commonjsGlobal=="object"&&commonjsGlobal.global===commonjsGlobal?commonjsGlobal:void 0,a=l.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),c=l.saveAs||(typeof window!="object"||window!==l?function(){}:"download"in HTMLAnchorElement.prototype&&!a?function(d,u,f){var p=l.URL||l.webkitURL,m=document.createElement("a");u=u||d.name||"download",m.download=u,m.rel="noopener",typeof d=="string"?(m.href=d,m.origin===location.origin?o(m):r(m.href)?i(d,u,f):o(m,m.target="_blank")):(m.href=p.createObjectURL(d),setTimeout(function(){p.revokeObjectURL(m.href)},4e4),setTimeout(function(){o(m)},0))}:"msSaveOrOpenBlob"in navigator?function(d,u,f){if(u=u||d.name||"download",typeof d!="string")navigator.msSaveOrOpenBlob(s(d,f),u);else if(r(d))i(d,u,f);else{var p=document.createElement("a");p.href=d,p.target="_blank",setTimeout(function(){o(p)})}}:function(d,u,f,p){if(p=p||open("","_blank"),p&&(p.document.title=p.document.body.innerText="downloading..."),typeof d=="string")return i(d,u,f);var m=d.type==="application/octet-stream",g=/constructor/i.test(l.HTMLElement)||l.safari,x=/CriOS\/[\d]+/.test(navigator.userAgent);if((x||m&&g||a)&&typeof FileReader!="undefined"){var b=new FileReader;b.onloadend=function(){var w=b.result;w=x?w:w.replace(/^data:[^;]*;/,"data:attachment/file;"),p?p.location.href=w:location=w,p=null},b.readAsDataURL(d)}else{var E=l.URL||l.webkitURL,v=E.createObjectURL(d);p?p.location=v:location.href=v,p=null,setTimeout(function(){E.revokeObjectURL(v)},4e4)}});l.saveAs=c.saveAs=c,n.exports=c})}(FileSaver_min$1)),FileSaver_min$1.exports}var FileSaver_minExports=requireFileSaver_min();const NAMESPACE="@tachybase/module-hera";class Locale{constructor(e){this.app=e}lang(e){return this.app.i18n.t(e,{ns:NAMESPACE})}}const useTranslation=()=>{const{i18n:n}=client.useApp();return{t:(s,i={})=>n.t(s,D({ns:NAMESPACE},i))}},tval=n=>client.tval(n,{ns:NAMESPACE});function lang(n){return client.i18n.t(n,{ns:NAMESPACE})}const LoadingSpin=({children:n,spinning:e})=>{const{t:s}=useTranslation();return __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Spin,{tip:s("loading..."),indicator:__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(icons.LoadingOutlined,{style:{fontSize:24},spin:!0}),spinning:e,children:n})},PDFViewer=React.forwardRef((n,e)=>{const i=client.useApp().AttachmentPreviewManager.get(),{checkedComponent:r}=i["application/pdf"],o=client.useIsMobile(),[l,a]=React.useState(""),[c,d]=React.useState(null),{file:u,width:f=960}=n,{loading:p,data:m}=client.useRequest({url:u,responseType:"arraybuffer"},{refreshDeps:[u]});return React.useImperativeHandle(e,()=>({download(){const g=new Blob([m],{type:"application/pdf"});FileSaver_minExports.saveAs(g,schema.uid()+".pdf")},print(){c.print()}})),React.useEffect(()=>{if(p||!m)return;const g=new Blob([m],{type:"application/pdf"}),x=URL.createObjectURL(g);a(x)},[m,p]),React.useEffect(()=>{if(!l)return;const g=document.createElement("iframe");return g.style.display="none",g.src=l,g.onload=()=>{d(g.contentWindow)},document.body.appendChild(g),()=>{URL.revokeObjectURL(l),document.body.removeChild(g)}},[l]),__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(LoadingSpin,{spinning:p,children:r({file:{url:l},width:f,noTransformWrapper:!o})})});class Element{constructor(e,s=""){typeof e=="string"?(this.el=document.createElement(e),this.el.className=s):this.el=e,this.data={}}data(e,s){return s!==void 0?(this.data[e]=s,this):this.data[e]}on(e,s){const[i,...r]=e.split(".");let o=i;return o==="mousewheel"&&/Firefox/i.test(window.navigator.userAgent)&&(o="DOMMouseScroll"),this.el.addEventListener(o,l=>{s(l);for(let a=0;a<r.length;a+=1){const c=r[a];if(c==="left"&&l.button!==0||c==="right"&&l.button!==2)return;c==="stop"&&l.stopPropagation()}}),this}offset(e){if(e!==void 0)return Object.keys(e).forEach(l=>{this.css(l,`${e[l]}px`)}),this;const{offsetTop:s,offsetLeft:i,offsetHeight:r,offsetWidth:o}=this.el;return{top:s,left:i,height:r,width:o}}scroll(e){const{el:s}=this;return e!==void 0&&(e.left!==void 0&&(s.scrollLeft=e.left),e.top!==void 0&&(s.scrollTop=e.top)),{left:s.scrollLeft,top:s.scrollTop}}box(){return this.el.getBoundingClientRect()}parent(){return new Element(this.el.parentNode)}children(...e){return arguments.length===0?this.el.childNodes:(e.forEach(s=>this.child(s)),this)}removeChild(e){this.el.removeChild(e)}child(e){let s=e;return typeof e=="string"?s=document.createTextNode(e):e instanceof Element&&(s=e.el),this.el.appendChild(s),this}contains(e){return this.el.contains(e)}className(e){return e!==void 0?(this.el.className=e,this):this.el.className}addClass(e){return this.el.classList.add(e),this}hasClass(e){return this.el.classList.contains(e)}removeClass(e){return this.el.classList.remove(e),this}toggle(e="active"){return this.toggleClass(e)}toggleClass(e){return this.el.classList.toggle(e)}active(e=!0,s="active"){return e?this.addClass(s):this.removeClass(s),this}checked(e=!0){return this.active(e,"checked"),this}disabled(e=!0){return e?this.addClass("disabled"):this.removeClass("disabled"),this}attr(e,s){if(s!==void 0)this.el.setAttribute(e,s);else{if(typeof e=="string")return this.el.getAttribute(e);Object.keys(e).forEach(i=>{this.el.setAttribute(i,e[i])})}return this}removeAttr(e){return this.el.removeAttribute(e),this}html(e){return e!==void 0?(this.el.innerHTML=e,this):this.el.innerHTML}val(e){return e!==void 0?(this.el.value=e,this):this.el.value}focus(){this.el.focus()}cssRemoveKeys(...e){return e.forEach(s=>this.el.style.removeProperty(s)),this}css(e,s){return s===void 0&&typeof e!="string"?(Object.keys(e).forEach(i=>{this.el.style[i]=e[i]}),this):s!==void 0?(this.el.style[e]=s,this):this.el.style[e]}computedStyle(){return window.getComputedStyle(this.el,null)}show(){return this.css("display","block"),this}hide(){return this.css("display","none"),this}}const h=(n,e="")=>new Element(n,e),alphabets=["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"];function stringAt(n){let e="",s=n;for(;s>=alphabets.length;)s/=alphabets.length,s-=1,e+=alphabets[parseInt(s,10)%alphabets.length];const i=n%alphabets.length;return e+=alphabets[i],e}function indexAt(n){let e=0;for(let s=0;s!==n.length;++s)e=26*e+n.charCodeAt(s)-64;return e-1}function expr2xy(n){let e="",s="";for(let i=0;i<n.length;i+=1)n.charAt(i)>="0"&&n.charAt(i)<="9"?s+=n.charAt(i):e+=n.charAt(i);return[indexAt(e),parseInt(s,10)-1]}function xy2expr(n,e){return`${stringAt(n)}${e+1}`}function expr2expr(n,e,s,i=()=>!0){if(e===0&&s===0)return n;const[r,o]=expr2xy(n);return i(r,o)?xy2expr(r+e,o+s):n}class CellRange{constructor(e,s,i,r,o=0,l=0){this.sri=e,this.sci=s,this.eri=i,this.eci=r,this.w=o,this.h=l}set(e,s,i,r){this.sri=e,this.sci=s,this.eri=i,this.eci=r}multiple(){return this.eri-this.sri>0||this.eci-this.sci>0}includes(...e){let[s,i]=[0,0];e.length===1?[i,s]=expr2xy(e[0]):e.length===2&&([s,i]=e);const{sri:r,sci:o,eri:l,eci:a}=this;return r<=s&&s<=l&&o<=i&&i<=a}each(e,s=()=>!0){const{sri:i,sci:r,eri:o,eci:l}=this;for(let a=i;a<=o;a+=1)if(s(a))for(let c=r;c<=l;c+=1)e(a,c)}contains(e){return this.sri<=e.sri&&this.sci<=e.sci&&this.eri>=e.eri&&this.eci>=e.eci}within(e){return this.sri>=e.sri&&this.sci>=e.sci&&this.eri<=e.eri&&this.eci<=e.eci}disjoint(e){return this.sri>e.eri||this.sci>e.eci||e.sri>this.eri||e.sci>this.eci}intersects(e){return this.sri<=e.eri&&this.sci<=e.eci&&e.sri<=this.eri&&e.sci<=this.eci}union(e){const{sri:s,sci:i,eri:r,eci:o}=this;return new CellRange(e.sri<s?e.sri:s,e.sci<i?e.sci:i,e.eri>r?e.eri:r,e.eci>o?e.eci:o)}difference(e){const s=[],i=(p,m,g,x)=>{s.push(new CellRange(p,m,g,x))},{sri:r,sci:o,eri:l,eci:a}=this,c=e.sri-r,d=e.sci-o,u=l-e.eri,f=a-e.eci;return c>0?(i(r,o,e.sri-1,a),u>0?(i(e.eri+1,o,l,a),d>0&&i(e.sri,o,e.eri,e.sci-1),f>0&&i(e.sri,e.eci+1,e.eri,a)):(d>0&&i(e.sri,o,l,e.sci-1),f>0&&i(e.sri,e.eci+1,l,a))):u>0&&(i(e.eri+1,o,l,a),d>0&&i(r,o,e.eri,e.sci-1),f>0&&i(r,e.eci+1,e.eri,a)),d>0?(i(r,o,l,e.sci-1),f>0?(i(r,e.eri+1,l,a),c>0&&i(r,e.sci,e.sri-1,e.eci),u>0&&i(e.sri+1,e.sci,l,e.eci)):(c>0&&i(r,e.sci,e.sri-1,a),u>0&&i(e.sri+1,e.sci,l,a))):f>0&&(i(l,e.eci+1,l,a),c>0&&i(r,o,e.sri-1,e.eci),u>0&&i(e.eri+1,o,l,e.eci)),s}size(){return[this.eri-this.sri+1,this.eci-this.sci+1]}toString(){const{sri:e,sci:s,eri:i,eci:r}=this;let o=xy2expr(s,e);return this.multiple()&&(o=`${o}:${xy2expr(r,i)}`),o}clone(){const{sri:e,sci:s,eri:i,eci:r,w:o,h:l}=this;return new CellRange(e,s,i,r,o,l)}equals(e){return this.eri===e.eri&&this.eci===e.eci&&this.sri===e.sri&&this.sci===e.sci}static valueOf(e){const s=e.split(":"),[i,r]=expr2xy(s[0]);let[o,l]=[r,i];return s.length>1&&([l,o]=expr2xy(s[1])),new CellRange(r,i,o,l)}}let Selector$1=class{constructor(){this.range=new CellRange(0,0,0,0),this.ri=0,this.ci=0}multiple(){return this.range.multiple()}setIndexes(e,s){this.ri=e,this.ci=s}size(){return this.range.size()}};class Scroll{constructor(){this.x=0,this.y=0,this.ri=0,this.ci=0}}class History{constructor(){this.undoItems=[],this.redoItems=[]}add(e){this.undoItems.push(JSON.stringify(e)),this.redoItems=[]}canUndo(){return this.undoItems.length>0}canRedo(){return this.redoItems.length>0}undo(e,s){const{undoItems:i,redoItems:r}=this;this.canUndo()&&(r.push(JSON.stringify(e)),s(JSON.parse(i.pop())))}redo(e,s){const{undoItems:i,redoItems:r}=this;this.canRedo()&&(i.push(JSON.stringify(e)),s(JSON.parse(r.pop())))}}class Clipboard{constructor(){this.range=null,this.state="clear"}copy(e){return this.range=e,this.state="copy",this}cut(e){return this.range=e,this.state="cut",this}isCopy(){return this.state==="copy"}isCut(){return this.state==="cut"}isClear(){return this.state==="clear"}clear(){this.range=null,this.state="clear"}}class Filter{constructor(e,s,i){this.ci=e,this.operator=s,this.value=i}set(e,s){this.operator=e,this.value=s}includes(e){const{operator:s,value:i}=this;return s==="all"?!0:s==="in"?i.includes(e):!1}vlength(){const{operator:e,value:s}=this;return e==="in"?s.length:0}getData(){const{ci:e,operator:s,value:i}=this;return{ci:e,operator:s,value:i}}}class Sort{constructor(e,s){this.ci=e,this.order=s}asc(){return this.order==="asc"}desc(){return this.order==="desc"}}class AutoFilter{constructor(){this.ref=null,this.filters=[],this.sort=null}setData({ref:e,filters:s,sort:i}){e!=null&&(this.ref=e,this.filters=s.map(r=>new Filter(r.ci,r.operator,r.value)),i&&(this.sort=new Sort(i.ci,i.order)))}getData(){if(this.active()){const{ref:e,filters:s,sort:i}=this;return{ref:e,filters:s.map(r=>r.getData()),sort:i}}return{}}addFilter(e,s,i){const r=this.getFilter(e);r==null?this.filters.push(new Filter(e,s,i)):r.set(s,i)}setSort(e,s){this.sort=s?new Sort(e,s):null}includes(e,s){return this.active()?this.hrange().includes(e,s):!1}getSort(e){const{sort:s}=this;return s&&s.ci===e?s:null}getFilter(e){const{filters:s}=this;for(let i=0;i<s.length;i+=1)if(s[i].ci===e)return s[i];return null}filteredRows(e){const s=new Set,i=new Set;if(this.active()){const{sri:r,eri:o}=this.range(),{filters:l}=this;for(let a=r+1;a<=o;a+=1)for(let c=0;c<l.length;c+=1){const d=l[c],u=e(a,d.ci),f=u?u.text:"";if(d.includes(f))i.add(a);else{s.add(a);break}}}return{rset:s,fset:i}}items(e,s){const i={};if(this.active()){const{sri:r,eri:o}=this.range();for(let l=r+1;l<=o;l+=1){const a=s(l,e);if(a===null||/^\s*$/.test(a.text))i[""]=(i[""]||0)+1;else{const c=a.text,d=(i[c]||0)+1;i[c]=d}}}return i}range(){return CellRange.valueOf(this.ref)}hrange(){const e=this.range();return e.eri=e.sri,e}clear(){this.ref=null,this.filters=[],this.sort=null}active(){return this.ref!==null}}class Merges{constructor(e=[]){this._=e}forEach(e){this._.forEach(e)}deleteWithin(e){this._=this._.filter(s=>!s.within(e))}getFirstIncludes(e,s){for(let i=0;i<this._.length;i+=1){const r=this._[i];if(r.includes(e,s))return r}return null}filterIntersects(e){return new Merges(this._.filter(s=>s.intersects(e)))}intersects(e){for(let s=0;s<this._.length;s+=1)if(this._[s].intersects(e))return!0;return!1}union(e){let s=e;return this._.forEach(i=>{i.intersects(s)&&(s=i.union(s))}),s}add(e){this.deleteWithin(e),this._.push(e)}shift(e,s,i,r){this._.forEach(o=>{const{sri:l,sci:a,eri:c,eci:d}=o,u=o;e==="row"?l>=s?(u.sri+=i,u.eri+=i):l<s&&s<=c&&(u.eri+=i,r(l,a,i,0)):e==="column"&&(a>=s?(u.sci+=i,u.eci+=i):a<s&&s<=d&&(u.eci+=i,r(l,a,0,i)))})}move(e,s,i){this._.forEach(r=>{const o=r;o.within(e)&&(o.eri+=s,o.sri+=s,o.sci+=i,o.eci+=i)})}setData(e){return this._=e.map(s=>CellRange.valueOf(s)),this}getData(){return this._.map(e=>e.toString())}}function cloneDeep(n){return JSON.parse(JSON.stringify(n))}const mergeDeep=(n={},...e)=>(e.forEach(s=>{Object.keys(s).forEach(i=>{const r=s[i];typeof r=="string"||typeof r=="number"||typeof r=="boolean"?n[i]=r:typeof r!="function"&&!Array.isArray(r)&&r instanceof Object?(n[i]=n[i]||{},mergeDeep(n[i],r)):n[i]=r})}),n);function equals(n,e){const s=Object.keys(n);if(s.length!==Object.keys(e).length)return!1;for(let i=0;i<s.length;i+=1){const r=s[i],o=n[r],l=e[r];if(l===void 0)return!1;if(typeof o=="string"||typeof o=="number"||typeof o=="boolean"){if(o!==l)return!1}else if(Array.isArray(o)){if(o.length!==l.length)return!1;for(let a=0;a<o.length;a+=1)if(!equals(o[a],l[a]))return!1}else if(typeof o!="function"&&!Array.isArray(o)&&o instanceof Object&&!equals(o,l))return!1}return!0}const sum=(n,e=s=>s)=>{let s=0,i=0;return Object.keys(n).forEach(r=>{s+=e(n[r],r),i+=1}),[s,i]};function deleteProperty(n,e){const s=n[`${e}`];return delete n[`${e}`],s}function rangeReduceIf(n,e,s,i,r,o){let l=s,a=i,c=n;for(;c<e&&!(l>r);c+=1)a=o(c),l+=a;return[c,l-a,a]}function rangeSum(n,e,s){let i=0;for(let r=n;r<e;r+=1)i+=s(r);return i}function rangeEach(n,e,s){for(let i=n;i<e;i+=1)s(i)}function arrayEquals(n,e){if(n.length!==e.length)return!1;for(let s=0;s<n.length;s+=1)if(n[s]!==e[s])return!1;return!0}function digits(n){const e=`${n}`;let s=0,i=!1;for(let r=0;r<e.length;r+=1)i===!0&&(s+=1),e.charAt(r)==="."&&(i=!0);return s}function numberCalc(n,e,s){if(Number.isNaN(e)||Number.isNaN(s))return e+n+s;const i=digits(e),r=digits(s),o=Number(e),l=Number(s);let a=0;if(n==="-")a=o-l;else if(n==="+")a=o+l;else if(n==="*")a=o*l;else if(n==="/")return a=o/l,digits(a)>5?a.toFixed(2):a;return a.toFixed(Math.max(i,r))}const helper_rslib_entry_={cloneDeep,merge:(...n)=>mergeDeep({},...n),equals,arrayEquals,sum,rangeEach,rangeSum,rangeReduceIf,deleteProperty,numberCalc};class Rows{constructor({len:e,height:s}){this._={},this.len=e,this.height=s}getHeight(e){if(this.isHide(e))return 0;const s=this.get(e);return s&&s.height?s.height:this.height}setHeight(e,s){const i=this.getOrNew(e);i.height=s}unhide(e){let s=e;for(;s>0&&(s-=1,this.isHide(s));)this.setHide(s,!1)}isHide(e){const s=this.get(e);return s&&s.hide}setHide(e,s){const i=this.getOrNew(e);s===!0?i.hide=!0:delete i.hide}setStyle(e,s){const i=this.getOrNew(e);i.style=s}sumHeight(e,s,i){return helper_rslib_entry_.rangeSum(e,s,r=>i&&i.has(r)?0:this.getHeight(r))}totalHeight(){return this.sumHeight(0,this.len)}get(e){return this._[e]}getOrNew(e){return this._[e]=this._[e]||{cells:{}},this._[e]}getCell(e,s){const i=this.get(e);return i!==void 0&&i.cells!==void 0&&i.cells[s]!==void 0?i.cells[s]:null}getCellMerge(e,s){const i=this.getCell(e,s);return i&&i.merge?i.merge:[0,0]}getCellOrNew(e,s){const i=this.getOrNew(e);return i.cells[s]=i.cells[s]||{},i.cells[s]}setCell(e,s,i,r="all"){const o=this.getOrNew(e);r==="all"?o.cells[s]=i:r==="text"?(o.cells[s]=o.cells[s]||{},o.cells[s].text=i.text):r==="format"&&(o.cells[s]=o.cells[s]||{},o.cells[s].style=i.style,i.merge&&(o.cells[s].merge=i.merge))}setCellText(e,s,i){const r=this.getCellOrNew(e,s);r.editable!==!1&&(r.text=i)}copyPaste(e,s,i,r=!1,o=()=>{}){const{sri:l,sci:a,eri:c,eci:d}=e,u=s.sri,f=s.sci,p=s.eri,m=s.eci,[g,x]=e.size(),[b,E]=s.size();let v=!0,w=0;(p<l||m<a)&&(v=!1,w=p<l?b:E);for(let C=l;C<=c;C+=1)if(this._[C]){for(let A=a;A<=d;A+=1)if(this._[C].cells&&this._[C].cells[A])for(let R=u;R<=p;R+=g)for(let j=f;j<=m;j+=x){const L=R+(C-l),V=j+(A-a),W=helper_rslib_entry_.cloneDeep(this._[C].cells[A]);if(r&&W&&W.text&&W.text.length>0){const{text:K}=W;let X=j-f+(R-u)+2;if(v||(X-=w+1),K[0]==="=")W.text=K.replace(/[a-zA-Z]{1,3}\d+/g,z=>{let[H,Y]=[0,0];return l===u?H=X-1:Y=X-1,/^\d+$/.test(z)?z:expr2expr(z,H,Y)});else if(g<=1&&x>1&&(u>c||p<l)||x<=1&&g>1&&(f>d||m<a)||g<=1&&x<=1){const z=/[\\.\d]+$/.exec(K);if(z!==null){const H=Number(z[0])+X-1;W.text=K.substring(0,z.index)+H}}}this.setCell(L,V,W,i),o(L,V,W)}}}cutPaste(e,s){const i={};this.each(r=>{this.eachCells(r,o=>{let l=parseInt(r,10),a=parseInt(o,10);e.includes(r,o)&&(l=s.sri+(l-e.sri),a=s.sci+(a-e.sci)),i[l]=i[l]||{cells:{}},i[l].cells[a]=this._[r].cells[o]})}),this._=i}paste(e,s){if(e.length<=0)return;const{sri:i,sci:r}=s;e.forEach((o,l)=>{const a=i+l;o.forEach((c,d)=>{const u=r+d;this.setCellText(a,u,c)})})}insert(e,s=1){const i={};this.each((r,o)=>{let l=parseInt(r,10);l>=e&&(l+=s,this.eachCells(r,(a,c)=>{c.text&&c.text[0]==="="&&(c.text=c.text.replace(/[a-zA-Z]{1,3}\d+/g,d=>expr2expr(d,0,s,(u,f)=>f>=e)))})),i[l]=o}),this._=i,this.len+=s}delete(e,s){const i=s-e+1,r={};this.each((o,l)=>{const a=parseInt(o,10);a<e?r[a]=l:o>s&&(r[a-i]=l,this.eachCells(o,(c,d)=>{d.text&&d.text[0]==="="&&(d.text=d.text.replace(/[a-zA-Z]{1,3}\d+/g,u=>expr2expr(u,0,-i,(f,p)=>p>s)))}))}),this._=r,this.len-=i}insertColumn(e,s=1){this.each((i,r)=>{const o={};this.eachCells(i,(l,a)=>{let c=parseInt(l,10);c>=e&&(c+=s,a.text&&a.text[0]==="="&&(a.text=a.text.replace(/[a-zA-Z]{1,3}\d+/g,d=>expr2expr(d,s,0,u=>u>=e)))),o[c]=a}),r.cells=o})}deleteColumn(e,s){const i=s-e+1;this.each((r,o)=>{const l={};this.eachCells(r,(a,c)=>{const d=parseInt(a,10);d<e?l[d]=c:d>s&&(l[d-i]=c,c.text&&c.text[0]==="="&&(c.text=c.text.replace(/[a-zA-Z]{1,3}\d+/g,u=>expr2expr(u,-i,0,f=>f>s))))}),o.cells=l})}deleteCells(e,s="all"){e.each((i,r)=>{this.deleteCell(i,r,s)})}deleteCell(e,s,i="all"){const r=this.get(e);if(r!==null){const o=this.getCell(e,s);o!==null&&o.editable!==!1&&(i==="all"?delete r.cells[s]:i==="text"?(o.text&&delete o.text,o.value&&delete o.value):i==="format"?(o.style!==void 0&&delete o.style,o.merge&&delete o.merge):i==="merge"&&o.merge&&delete o.merge)}}maxCell(){const e=Object.keys(this._),s=e[e.length-1],i=this._[s];if(i){const{cells:r}=i,o=Object.keys(r),l=o[o.length-1];return[parseInt(s,10),parseInt(l,10)]}return[0,0]}each(e){Object.entries(this._).forEach(([s,i])=>{e(s,i)})}eachCells(e,s){this._[e]&&this._[e].cells&&Object.entries(this._[e].cells).forEach(([i,r])=>{s(i,r)})}setData(e){e.len&&(this.len=e.len,delete e.len),this._=e}getData(){const{len:e}=this;return Object.assign({len:e},this._)}}class Cols{constructor({len:e,width:s,indexWidth:i,minWidth:r}){this._={},this.len=e,this.width=s,this.indexWidth=i,this.minWidth=r}setData(e){e.len&&(this.len=e.len,delete e.len),this._=e}getData(){const{len:e}=this;return Object.assign({len:e},this._)}getWidth(e){if(this.isHide(e))return 0;const s=this._[e];return s&&s.width?s.width:this.width}getOrNew(e){return this._[e]=this._[e]||{},this._[e]}setWidth(e,s){const i=this.getOrNew(e);i.width=s}unhide(e){let s=e;for(;s>0&&(s-=1,this.isHide(s));)this.setHide(s,!1)}isHide(e){const s=this._[e];return s&&s.hide}setHide(e,s){const i=this.getOrNew(e);s===!0?i.hide=!0:delete i.hide}setStyle(e,s){const i=this.getOrNew(e);i.style=s}sumWidth(e,s){return helper_rslib_entry_.rangeSum(e,s,i=>this.getWidth(i))}totalWidth(){return this.sumWidth(0,this.len)}}const en_rslib_entry_={toolbar:{undo:"Undo",redo:"Redo",print:"Print",paintformat:"Paint format",clearformat:"Clear format",format:"Format",fontName:"Font",fontSize:"Font size",fontBold:"Font bold",fontItalic:"Font italic",underline:"Underline",strike:"Strike",color:"Text color",bgcolor:"Fill color",border:"Borders",merge:"Merge cells",align:"Horizontal align",valign:"Vertical align",textwrap:"Text wrapping",freeze:"Freeze cell",autofilter:"Filter",formula:"Functions",more:"More"},contextmenu:{copy:"Copy",cut:"Cut",paste:"Paste",pasteValue:"Paste values only",pasteFormat:"Paste format only",hide:"Hide",insertRow:"Insert row",insertColumn:"Insert column",deleteSheet:"Delete",deleteRow:"Delete row",deleteColumn:"Delete column",deleteCell:"Delete cell",deleteCellText:"Delete cell text",validation:"Data validations",cellprintable:"Enable export",cellnonprintable:"Disable export",celleditable:"Enable editing",cellnoneditable:"Disable editing"},print:{size:"Paper size",orientation:"Page orientation",orientations:["Landscape","Portrait"]},format:{normal:"Normal",text:"Plain Text",number:"Number",percent:"Percent",rmb:"RMB",usd:"USD",eur:"EUR",date:"Date",time:"Time",datetime:"Date time",duration:"Duration"},formula:{sum:"Sum",average:"Average",max:"Max",min:"Min",_if:"IF",and:"AND",or:"OR",concat:"Concat"},validation:{required:"it must be required",notMatch:"it not match its validation rule",between:"it is between {} and {}",notBetween:"it is not between {} and {}",notIn:"it is not in list",equal:"it equal to {}",notEqual:"it not equal to {}",lessThan:"it less than {}",lessThanEqual:"it less than or equal to {}",greaterThan:"it greater than {}",greaterThanEqual:"it greater than or equal to {}"},error:{pasteForMergedCell:"Unable to do this for merged cells"},calendar:{weeks:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"]},button:{next:"Next",cancel:"Cancel",remove:"Remove",save:"Save",ok:"OK"},sort:{desc:"Sort Z -> A",asc:"Sort A -> Z"},filter:{empty:"empty"},dataValidation:{mode:"Mode",range:"Cell Range",criteria:"Criteria",modeType:{cell:"Cell",column:"Colun",row:"Row"},type:{list:"List",number:"Number",date:"Date",phone:"Phone",email:"Email"},operator:{be:"between",nbe:"not betwwen",lt:"less than",lte:"less than or equal to",gt:"greater than",gte:"greater than or equal to",eq:"equal to",neq:"not equal to"}}};let $languages=["en"];const $messages={en:en_rslib_entry_};function translate(n,e){if(e)for(const s of $languages){if(!e[s])break;let i=e[s];const r=n.match(/(?:\\.|[^.])+/g);for(let o=0;o<r.length;o+=1){const l=r[o],a=i[l];if(!a)break;if(o===r.length-1)return a;i=a}}}function t(n){let e=translate(n,$messages);return!e&&window&&window.x_spreadsheet&&window.x_spreadsheet.$messages&&(e=translate(n,window.x_spreadsheet.$messages)),e||""}function tf(n){return()=>t(n)}function locale(n,e,s=!1){s?$languages=[n]:$languages.unshift(n),e&&($messages[n]=e)}const rules={phone:/^[1-9]\d{10}$/,email:/w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*/};function returnMessage(n,e,...s){let i="";return n||(i=t(`validation.${e}`,...s)),[n,i]}class Validator{constructor(e,s,i,r){this.required=s,this.value=i,this.type=e,this.operator=r,this.message=""}parseValue(e){const{type:s}=this;return s==="date"?new Date(e):s==="number"?Number(e):e}equals(e){let s=this.type===e.type&&this.required===e.required&&this.operator===e.operator;return s&&(s=Array.isArray(this.value)?helper_rslib_entry_.arrayEquals(this.value,e.value):this.value===e.value),s}values(){return this.value.split(",")}validate(e){const{required:s,operator:i,value:r,type:o}=this;if(s&&/^\s*$/.test(e))return returnMessage(!1,"required");if(/^\s*$/.test(e))return[!0];if(rules[o]&&!rules[o].test(e))return returnMessage(!1,"notMatch");if(o==="list")return returnMessage(this.values().includes(e),"notIn");if(i){const l=this.parseValue(e);if(i==="be"){const[a,c]=r;return returnMessage(l>=this.parseValue(a)&&l<=this.parseValue(c),"between",a,c)}if(i==="nbe"){const[a,c]=r;return returnMessage(l<this.parseValue(a)||l>this.parseValue(c),"notBetween",a,c)}if(i==="eq")return returnMessage(l===this.parseValue(r),"equal",r);if(i==="neq")return returnMessage(l!==this.parseValue(r),"notEqual",r);if(i==="lt")return returnMessage(l<this.parseValue(r),"lessThan",r);if(i==="lte")return returnMessage(l<=this.parseValue(r),"lessThanEqual",r);if(i==="gt")return returnMessage(l>this.parseValue(r),"greaterThan",r);if(i==="gte")return returnMessage(l>=this.parseValue(r),"greaterThanEqual",r)}return[!0]}}class Validation{constructor(e,s,i){this.refs=s,this.mode=e,this.validator=i}includes(e,s){const{refs:i}=this;for(let r=0;r<i.length;r+=1)if(CellRange.valueOf(i[r]).includes(e,s))return!0;return!1}addRef(e){this.remove(CellRange.valueOf(e)),this.refs.push(e)}remove(e){const s=[];this.refs.forEach(i=>{const r=CellRange.valueOf(i);r.intersects(e)?r.difference(e).forEach(l=>s.push(l.toString())):s.push(i)}),this.refs=s}getData(){const{refs:e,mode:s,validator:i}=this,{type:r,required:o,operator:l,value:a}=i;return{refs:e,mode:s,type:r,required:o,operator:l,value:a}}static valueOf({refs:e,mode:s,type:i,required:r,operator:o,value:l}){return new Validation(s,e,new Validator(i,r,l,o))}}class Validations{constructor(){this._=[],this.errors=new Map}getError(e,s){return this.errors.get(`${e}_${s}`)}validate(e,s,i){const r=this.get(e,s),o=`${e}_${s}`,{errors:l}=this;if(r!==null){const[a,c]=r.validator.validate(i);a?l.delete(o):l.set(o,c)}else l.delete(o);return!0}add(e,s,{type:i,required:r,value:o,operator:l}){const a=new Validator(i,r,o,l),c=this.getByValidator(a);c!==null?c.addRef(s):this._.push(new Validation(e,[s],a))}getByValidator(e){for(let s=0;s<this._.length;s+=1){const i=this._[s];if(i.validator.equals(e))return i}return null}get(e,s){for(let i=0;i<this._.length;i+=1){const r=this._[i];if(r.includes(e,s))return r}return null}remove(e){this.each(s=>{s.remove(e)})}each(e){this._.forEach(s=>e(s))}getData(){return this._.filter(e=>e.refs.length>0).map(e=>e.getData())}setData(e){this._=e.map(s=>Validation.valueOf(s))}}const defaultSettings={mode:"edit",view:{height:()=>document.documentElement.clientHeight,width:()=>document.documentElement.clientWidth},showGrid:!0,showToolbar:!0,showContextmenu:!0,showBottomBar:!0,row:{len:100,height:25},col:{len:26,width:100,indexWidth:60,minWidth:60},style:{bgcolor:"#ffffff",align:"left",valign:"middle",textwrap:!1,strike:!1,underline:!1,color:"#0a0a0a",font:{name:"Arial",size:10,bold:!1,italic:!1},format:"normal"}},toolbarHeight=41,bottombarHeight=41;function canPaste(n,e,s=()=>{}){const{merges:i}=this,r=e.clone(),[o,l]=n.size(),[a,c]=e.size();return o>a&&(r.eri=e.sri+o-1),l>c&&(r.eci=e.sci+l-1),i.intersects(r)?(s(t("error.pasteForMergedCell")),!1):!0}function copyPaste(n,e,s,i=!1){const{rows:r,merges:o}=this;(s==="all"||s==="format")&&(r.deleteCells(e,s),o.deleteWithin(e)),r.copyPaste(n,e,s,i,(l,a,c)=>{if(c&&c.merge){const[d,u]=c.merge;if(d<=0&&u<=0)return;o.add(new CellRange(l,a,l+d,a+u))}})}function cutPaste(n,e){const{clipboard:s,rows:i,merges:r}=this;i.cutPaste(n,e),r.move(n,e.sri-n.sri,e.sci-n.sci),s.clear()}function setStyleBorder(n,e,s){const{styles:i,rows:r}=this,o=r.getCellOrNew(n,e);let l={};o.style!==void 0&&(l=helper_rslib_entry_.cloneDeep(i[o.style])),l=helper_rslib_entry_.merge(l,{border:s}),o.style=this.addStyle(l)}function setStyleBorders({mode:n,style:e,color:s}){const{styles:i,selector:r,rows:o}=this,{sri:l,sci:a,eri:c,eci:d}=r.range,u=!this.isSingleSelected();if(!(!u&&(n==="inside"||n==="horizontal"||n==="vertical")))if(n!=="outside"||u){if(n==="none")r.range.each((f,p)=>{const m=o.getCell(f,p);if(m&&m.style!==void 0){const g=helper_rslib_entry_.cloneDeep(i[m.style]);delete g.border,m.style=this.addStyle(g)}});else if(n==="all"||n==="inside"||n==="outside"||n==="horizontal"||n==="vertical"){const f=[];for(let p=l;p<=c;p+=1)for(let m=a;m<=d;m+=1){const g=[];for(let A=0;A<f.length;A+=1){const[R,j,L,V]=f[A];if(p===R+L+1&&g.push(A),R<=p&&p<=R+L&&m===j){m+=V+1;break}}if(g.forEach(A=>f.splice(A,1)),m>d)break;const x=o.getCell(p,m);let[b,E]=[0,0];x&&x.merge&&([b,E]=x.merge,f.push([p,m,b,E]));const v=b>0&&p+b===c,w=E>0&&m+E===d;let C={};n==="all"?C={bottom:[e,s],top:[e,s],left:[e,s],right:[e,s]}:n==="inside"?(!w&&m<d&&(C.right=[e,s]),!v&&p<c&&(C.bottom=[e,s])):n==="horizontal"?!v&&p<c&&(C.bottom=[e,s]):n==="vertical"?!w&&m<d&&(C.right=[e,s]):n==="outside"&&u&&(l===p&&(C.top=[e,s]),(v||c===p)&&(C.bottom=[e,s]),a===m&&(C.left=[e,s]),(w||d===m)&&(C.right=[e,s])),Object.keys(C).length>0&&setStyleBorder.call(this,p,m,C),m+=E}}else if(n==="top"||n==="bottom")for(let f=a;f<=d;f+=1)n==="top"&&(setStyleBorder.call(this,l,f,{top:[e,s]}),f+=o.getCellMerge(l,f)[1]),n==="bottom"&&(setStyleBorder.call(this,c,f,{bottom:[e,s]}),f+=o.getCellMerge(c,f)[1]);else if(n==="left"||n==="right")for(let f=l;f<=c;f+=1)n==="left"&&(setStyleBorder.call(this,f,a,{left:[e,s]}),f+=o.getCellMerge(f,a)[0]),n==="right"&&(setStyleBorder.call(this,f,d,{right:[e,s]}),f+=o.getCellMerge(f,d)[0])}else setStyleBorder.call(this,l,a,{top:[e,s],bottom:[e,s],left:[e,s],right:[e,s]})}function getCellRowByY(n,e){const{rows:s}=this,i=this.freezeTotalHeight();let r=s.height;i+s.height<n&&(r-=e);const o=this.exceptRowSet;let l=0,a=r,{height:c}=s;for(;l<s.len&&!(a>n);l+=1)o.has(l)||(c=s.getHeight(l),a+=c);return a-=c,a<=0?{ri:-1,top:0,height:c}:{ri:l-1,top:a,height:c}}function getCellColByX(n,e){const{cols:s}=this,i=this.freezeTotalWidth();let r=s.indexWidth;i+s.indexWidth<n&&(r-=e);const[o,l,a]=helper_rslib_entry_.rangeReduceIf(0,s.len,r,s.indexWidth,n,c=>s.getWidth(c));return l<=0?{ci:-1,left:0,width:s.indexWidth}:{ci:o-1,left:l,width:a}}class DataProxy{constructor(e,s){this.settings=helper_rslib_entry_.merge(defaultSettings,s||{}),this.name=e||"sheet",this.freeze=[0,0],this.styles=[],this.merges=new Merges,this.rows=new Rows(this.settings.row),this.cols=new Cols(this.settings.col),this.validations=new Validations,this.hyperlinks={},this.comments={},this.selector=new Selector$1,this.scroll=new Scroll,this.history=new History,this.clipboard=new Clipboard,this.autoFilter=new AutoFilter,this.change=()=>{},this.exceptRowSet=new Set,this.sortedRowMap=new Map,this.unsortedRowMap=new Map}addValidation(e,s,i){this.changeData(()=>{this.validations.add(e,s,i)})}removeValidation(){const{range:e}=this.selector;this.changeData(()=>{this.validations.remove(e)})}getSelectedValidator(){const{ri:e,ci:s}=this.selector,i=this.validations.get(e,s);return i?i.validator:null}getSelectedValidation(){const{ri:e,ci:s,range:i}=this.selector,r=this.validations.get(e,s),o={ref:i.toString()};return r!==null&&(o.mode=r.mode,o.validator=r.validator),o}canUndo(){return this.history.canUndo()}canRedo(){return this.history.canRedo()}undo(){this.history.undo(this.getData(),e=>{this.setData(e)})}redo(){this.history.redo(this.getData(),e=>{this.setData(e)})}copy(){this.clipboard.copy(this.selector.range)}copyToSystemClipboard(e){let s=[];const{sri:i,eri:r,sci:o,eci:l}=this.selector.range;for(let a=i;a<=r;a+=1){const c=[];for(let d=o;d<=l;d+=1){const u=this.getCell(a,d);c.push(u&&u.text||"")}s.push(c)}s=s.map(a=>a.join(" ")).join(`
3
3
  `),e&&(e.clipboardData.clearData(),e.clipboardData.setData("text/plain",s),e.preventDefault()),navigator.clipboard&&navigator.clipboard.writeText(s).then(()=>{},a=>{console.log("text copy to the system clipboard error ",s,a)})}cut(){this.clipboard.cut(this.selector.range)}paste(e="all",s=()=>{}){const{clipboard:i,selector:r}=this;return i.isClear()||!canPaste.call(this,i.range,r.range,s)?!1:(this.changeData(()=>{i.isCopy()?copyPaste.call(this,i.range,r.range,e):i.isCut()&&cutPaste.call(this,i.range,r.range)}),!0)}pasteFromSystemClipboard(e,s){const{selector:i}=this;navigator.clipboard.readText().then(r=>{const o=this.parseClipboardContent(r);let l=i.ri;o.forEach(a=>{let c=i.ci;a.forEach(d=>{this.setCellText(l,c,d,"input"),c+=1}),l+=1}),e(),s(this.rows.getData())})}parseClipboardContent(e){const s=[],i=e.split(`
4
4
  `);let r=0;return i.forEach(o=>{s[r]=o.split(" "),r+=1}),s}pasteFromText(e){let s=[];if(s=/\r\n/.test(e)?e.split(`\r
5
5
  `).map(i=>i.replace(/"/g,"").split(" ")):e.split(`
@@ -79,4 +79,4 @@
79
79
  div::-webkit-scrollbar {
80
80
  display: none;
81
81
  }
82
- `,children:c?__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(PDFViewer,{file:c,width:i,ref:l}):""})]})};class PluginPDF extends client.Plugin{load(){return T(this,null,function*(){this.app.addScopes({usePDFViewerPrintActionProps}),this.app.addComponents({PDFViewerBlockInitializer,PDFViewerPrintActionInitializer,PDFViewerProvider,PDFViwer:InternalPDFViewer}),this.schemaInitializerManager.add(pdfViewActionInitializer);const e={title:tval("preview block"),name:"previewBlock",type:"itemGroup",children:[]};this.app.schemaInitializerManager.get("popup:common:addBlock").add(e.name,e)})}}const SheetBlockContext=React.createContext({}),InternalSheetBlockProvider=n=>{const e=schema.useField(),s=client.useDataBlockRequest();return s.loading&&!e.loaded?__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Spin,{}):(e.loaded=!0,__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(SheetBlockContext.Provider,{value:{field:e,service:s},children:n.children}))},SheetBlock=()=>{const n=React.useRef();return __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsxs("div",{style:{height:"70vh"},children:[__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Button,{onClick:()=>console.log("data",n.current.getData()),children:"显示数据"}),__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(ExcelSheet,{ref:n})]})},SheetBlockProvider=n=>__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(client.DataBlockProvider,I(D({name:"sheet"},n),{children:__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(InternalSheetBlockProvider,D({},n))})),createSheetBlockSchema=n=>{const{collection:e}=n;return{title:e.title,type:"void","x-acl-action":`${e.name}:list`,"x-decorator":"SheetBlockProvider","x-decorator-props":{collection:e.name},"x-toolbar":"SheetBlockToolbar","x-settings":"sheetBlockSettings","x-component":"CardItem",properties:{[client$2.uid()]:{type:"void","x-component":"SheetBlock"}}}},SheetBlockInitializer=()=>{const{insert:n}=client.useSchemaInitializer(),e=client.useCollectionManager(),s=client.useSchemaInitializerItem();return __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(client.DataBlockInitializer,I(D({},s),{icon:__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(icons.TableOutlined,{}),onCreateBlockSchema:r=>T(null,[r],function*({item:i}){const o=e.getCollection(i.name);n(createSheetBlockSchema({collection:o}))})}))},sheetBlockSettings=new client.SchemaSettings({name:"sheetBlockSettings",items:[{name:"remove",type:"remove"}]}),SheetBlockToolbar=n=>{const e=schema.useFieldSchema();return __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(client.SchemaToolbar,D({title:e.title,settings:e["x-settings"]},n))};class PluginSheet extends client.Plugin{load(){return T(this,null,function*(){this.app.addComponents({SheetBlock,SheetBlockInitializer,SheetBlockProvider,SheetBlockToolbar}),this.schemaSettingsManager.add(sheetBlockSettings),this.app.schemaInitializerManager.addItem("page:addBlock","dataBlocks.sheetBlock",{title:tval("Sheet"),Component:"SheetBlockInitializer"})})}}const useGetCustomAssociatedComponents=()=>useCustomComponent(CustomComponentType.CUSTOM_ASSOCIATED_FIELD),useGetCustomComponents=()=>useCustomComponent(CustomComponentType.CUSTOM_FIELD);class ExcelFieldInterface extends client.CollectionFieldInterface{constructor(){super(...arguments),this.name="excelField",this.type="json",this.group="advanced",this.order=3,this.title=tval("Excel table"),this.sortable=!0,this.default={interface:"json",type:"json",uiSchema:{type:"object","x-component":"ExcelFile"}},this.availableTypes=["json"],this.hasDefaultValue=!1,this.properties=D({},client.defaultProps)}}class AssociatedFieldInterface extends client.CollectionFieldInterface{constructor(){super(...arguments),this.name="associated",this.type="object",this.group="relation",this.order=10,this.title="关联字段",this.description="关联字段",this.isAssociation=!0,this.default={type:"belongsTo",uiSchema:{"x-component":"AssociatedField"}},this.availableTypes=["belongsTo"],this.properties=I(D({},client.defaultProps),{"uiSchema.x-component-props.collection":{type:"string",title:"关联数据表","x-decorator":"FormItem","x-component":"Select","x-component-props":{multiple:!1},enum:"{{collections}}",required:!0},"uiSchema.x-component-props.sourceCollection":{type:"string",title:"查询数据表","x-decorator":"FormItem","x-component":"Select","x-component-props":{multiple:!1},enum:"{{collections}}",required:!0},"uiSchema.x-component-props.sourceField":{type:"string",title:"查询数据表到关联数据表的路径","x-component":"Input","x-decorator":"FormItem",required:!0},"uiSchema.x-component-props.fieldExp":{type:"string",title:"关联字段",required:!0,"x-component":"Expression","x-decorator":"FormItem","x-component-props":{useCurrentFields:"{{ useCurrentFields }}"}},"uiSchema.x-component-props.dateFieldExp":{type:"string",title:"关联日期",required:!0,"x-component":"Expression","x-decorator":"FormItem","x-component-props":{useCurrentFields:"{{ useCurrentFields }}"}},target:{type:"string",title:"关联数据表","x-decorator":"FormItem","x-component":"Select","x-component-props":{multiple:!1},enum:"{{collections}}",required:!0,"x-display":"hidden","x-reactions":[{dependencies:["uiSchema.x-component-props.collection"],fulfill:{state:{value:"{{$deps[0]}}"}}}]},targetKey:{type:"string",title:"关联数据表键",required:!0,default:"id","x-display":"hidden","x-decorator":"FormItem","x-component":"Input"}}),this.filterable={nested:!0,children:[]}}}const{defaultProps:defaultProps$1}=client.interfacesProperties,formulaType=[{dependencies:["dataType"],fulfill:{state:{display:'{{["formula"].includes($deps[0]) ? "visible" : "none"}}'}}}],panelType=[{dependencies:["dataType"],fulfill:{state:{display:'{{["jsCode"].includes($deps[0]) ? "visible" : "none"}}'}}}];class CalcFieldInterface extends client.CollectionFieldInterface{constructor(){super(...arguments),this.name="calc2",this.type="object",this.group="advanced",this.title="数据计算(过期)",this.description="数据字段计算",this.sortable=!0,this.default={type:"virtual",uiSchema:{type:"string","x-component":"CalcResult","x-component-props":{formula:"",prefix:"",suffix:"",decimal:"",panel:""},"x-read-pretty":!0}},this.properties=I(D({},defaultProps$1),{dataType:{type:"string",title:"计算类型","x-decorator":"FormItem","x-component":"Select",enum:[{value:"formula",label:"公式"},{value:"jsCode",label:"代码"}],required:!0,default:"formula",description:"公式:使用公式计算,代码:使用js代码计算"},"uiSchema.x-component-props.formula":{type:"string",title:"公式","x-decorator":"FormItem","x-component":"Input",default:"",required:!0,"x-reactions":formulaType},"uiSchema.x-component-props.panel":{type:"string",title:"jsCode","x-decorator":"FormItem","x-component":"Input.TextArea",description:"注意,此内容有值计算操作将以此内容为准,而不是公式,适用于面板中的计算",required:!0,"x-reactions":panelType},"uiSchema.x-component-props.prefix":{type:"string",title:"前缀","x-decorator":"FormItem","x-component":"Input"},"uiSchema.x-component-props.suffix":{type:"string",title:"后缀","x-decorator":"FormItem","x-component":"Input"},"uiSchema.x-component-props.decimal":{type:"string",title:'{{t("Precision")}}',"x-component":"Select","x-decorator":"FormItem",required:!0,default:"0",enum:[{value:"0",label:"1"},{value:"1",label:"1.0"},{value:"2",label:"1.00"},{value:"3",label:"1.000"},{value:"4",label:"1.0000"},{value:"5",label:"1.00000"}],"x-reactions":formulaType}})}}const{defaultProps}=client.interfacesProperties;class CustomFieldInterface extends client.CollectionFieldInterface{constructor(){super(...arguments),this.name="custom",this.type="object",this.group="advanced",this.title="组件字段",this.description="组件字段",this.sortable=!0,this.default={type:"virtual",uiSchema:{type:"string","x-component":"CustomField","x-read-pretty":!0}},this.properties=I(D({},defaultProps),{"uiSchema.x-component-props.component":{type:"string",title:"组件","x-decorator":"FormItem","x-component":"Select",enum:" {{ useGetCustomComponents() }} ",required:!0,description:"需要在插件中注册相应的组件后可以使用"}})}}class CustomAssociatedFieldInterface extends client.CollectionFieldInterface{constructor(){super(...arguments),this.name="customAssociated",this.type="object",this.group="relation",this.order=10,this.title="自定义关联字段",this.description="自定义关联字段",this.isAssociation=!0,this.default={type:"virtual",uiSchema:{"x-component":"CustomAssociatedField"}},this.availableTypes=["belongsTo"],this.properties=I(D({},client.defaultProps),{"uiSchema.x-component-props.component":{type:"string",title:"组件","x-decorator":"FormItem","x-component":"Select",enum:" {{ useGetCustomAssociatedComponents() }}",required:!0,description:"需要在插件中注册相应的组件后可以使用"},target:{type:"string",title:"关联数据表","x-decorator":"FormItem","x-component":"Select","x-component-props":{multiple:!1},enum:"{{collections}}",required:!0},targetKey:{type:"string",title:"关联数据表键",required:!0,default:"id","x-display":"hidden","x-decorator":"FormItem","x-component":"Input"}}),this.filterable={nested:!0,children:[]}}}class SignaturePadFieldInterface extends client.CollectionFieldInterface{constructor(){super(...arguments),this.name="signatureSchema",this.type="object",this.group="advanced",this.order=2,this.title=tval("Signature input"),this.sortable=!0,this.default={interface:"signature",type:"json",uiSchema:{type:"signature","x-component":"SignatureInput"}},this.availableTypes=["json"],this.hasDefaultValue=!1,this.properties=D({},client.defaultProps)}}class TstzrangeFieldInterface extends client.CollectionFieldInterface{constructor(){super(...arguments),this.name="tstzrange",this.type="object",this.group="datetime",this.order=2,this.title=tval("Date range"),this.sortable=!0,this.default={type:"tstzrange",uiSchema:{type:"object","x-component":"DatePicker.RangePicker","x-component-props":{utc:!1,valueType:"range"}}},this.availableTypes=["tstzrange"],this.hasDefaultValue=!1,this.properties=D({},client.defaultProps)}}const SettingBlockInitializer=()=>{const{insert:n}=client.useSchemaInitializer(),{t:e}=useTranslation(),s=React.useContext(schema.SchemaOptionsContext),{theme:i}=client.useGlobalTheme(),r=client.useSchemaInitializerItem(),o=client.useCollectionManager(),l=client.useAPIClient();return __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(client.DataBlockInitializer,I(D({},r),{componentType:"FormItem",icon:__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(icons.FormOutlined,{}),onCreateBlockSchema:c=>T(null,[c],function*({item:a}){const d=o.getCollection(a.name),u=d.titleField,f=yield client.FormDialog(e("Pick a data entry for viewing and editing"),()=>__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(client.APIClientProvider,{apiClient:l,children:__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(client.SchemaComponentOptions,{scope:s.scope,components:D({},s.components),children:__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(components$1.FormLayout,{layout:"vertical",children:__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(client.SchemaComponent,{schema:{properties:{id:{title:tval("Please select"),required:!0,"x-component":"RemoteSelect","x-component-props":{service:{resource:a.name},fieldNames:{label:u,value:"id"}},"x-decorator":"FormItem"}}}})})})}),i).open({initialValues:{}}),p=client.createFormBlockSchema({dataSource:a.dataSource,collection:d.name,action:"get",filterByTk:f.id,actionInitializers:"editForm:configureActions"});n(p)})}))},usePaginationVisible=()=>{var e;return((e=schema.useFieldSchema()["x-component-props"])==null?void 0:e.mode)==="SubTable"},EditTitle=()=>{var a;const{getCollectionJoinField:n}=client.useCollectionManager_deprecated(),{getField:e}=client.useCollection_deprecated(),s=schema.useField(),i=schema.useFieldSchema(),{t:r}=useTranslation(),{dn:o}=client.useDesignable(),l=e(i.name)||n(i["x-collection-field"]);return __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(client.SchemaSettingsModalItem,{title:r("Edit field title"),schema:{type:"object",title:r("Edit field title"),properties:{title:{title:r("Field title"),default:s==null?void 0:s.title,description:`${r("Original field title: ")}${l?(a=l==null?void 0:l.uiSchema)==null?void 0:a.title:i.name}`,"x-decorator":"FormItem","x-component":"Input","x-component-props":{}}}},onSubmit:({title:c})=>{c&&(s.title=c,i.title=c,o.emit("patch",{schema:{"x-uid":i["x-uid"],title:i.title}})),o.refresh()}},"edit-field-title")},IsTablePageSize=()=>{const{dn:n}=client.useDesignable(),e=schema.useFieldSchema(),{t:s}=useTranslation();return __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(client.SchemaSettingsSwitchItem,{title:s("Pagination"),checked:e["x-component-props"].pagination,onChange:i=>{e["x-component-props"].pagination||(e["x-component-props"]=I(D({},e["x-component-props"]),{pagination:!1})),e["x-component-props"].pagination=i,n.emit("patch",{schema:{"x-uid":e["x-uid"],"x-component-props":D({},e==null?void 0:e["x-component-props"])}}),n.refresh()}})},SchemaSettingsDatePickerType=()=>{var a,c,d;const n=schema.useFieldSchema(),e=schema.useField(),{dn:s}=client.useDesignable(),{t:i}=useTranslation(),o=client.useCollectionManager().getCollectionField(n==null?void 0:n["x-collection-field"])||{},l=((a=n==null?void 0:n["x-component-props"])==null?void 0:a.picker)||((d=(c=o==null?void 0:o.uiSchema)==null?void 0:c["x-component-props"])==null?void 0:d.picker)||"";return __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(client.SchemaSettingsModalItem,{title:i("Date picker type"),schema:{type:"object",properties:{picker:{type:"string",title:tval("Picker type"),"x-component":"Select","x-decorator":"FormItem","x-decorator-props":{},default:l,enum:[{label:i("default"),value:""},{label:i("year"),value:"year"},{label:i("quarter"),value:"quarter"},{label:i("month"),value:"month"},{label:i("week"),value:"week"}]}}},onSubmit:u=>{const f={"x-uid":n["x-uid"]};f["x-component-props"]=n["x-component-props"]||{},n["x-component-props"]=D(D({},n["x-component-props"]||{}),u),f["x-component-props"]=n["x-component-props"],e.componentProps=n["x-component-props"];const p=e.path.entire.split(".");p.pop();const m=p.join(".");e.query(`${m}.*[0:].${n.name}`).forEach(g=>{g.props.name===n.name&&g.setComponentProps(D({},u))}),s.emit("patch",{schema:f}),s.refresh()}})};SchemaSettingsDatePickerType.displayName="SchemaSettingsDatePickerType";const useCustomPresets1=()=>{const n=schema.useFieldSchema(),{t:e}=useTranslation(),s=getDateRanges(),i=[{label:e("This year"),value:s.thisYear},...Array(5).fill(0).map((r,o)=>({label:client$2.dayjs().year()-o-1+e("year"),value:s.year(client$2.dayjs().year()-o-1)})),{label:e("This month"),value:s.thisMonth},{label:e("Last month"),value:s.lastMonth}];return n.name==="presets"?"{{ useCustomPresets1() }}":i},useCustomPresets=n=>"{{ "+n+"() }}",SchemaSettingsDatePresets=()=>{var l,a,c;const n=schema.useFieldSchema(),{dn:e}=client.useDesignable(),{t:s}=useTranslation(),r=client.useCollectionManager().getCollectionField(n==null?void 0:n["x-collection-field"])||{},o=((l=n==null?void 0:n["x-component-props"])==null?void 0:l.presets)||((c=(a=r==null?void 0:r.uiSchema)==null?void 0:a["x-component-props"])==null?void 0:c.presets)||"";return __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(client.SchemaSettingsModalItem,{title:s("Date presets"),schema:{type:"object",properties:{presets:{type:"string",title:tval("Date presets"),"x-component":"Select","x-decorator":"FormItem","x-decorator-props":{},default:o,enum:[{label:s("default"),value:""},{label:s("Chuangxing presets"),value:'{{ useCustomPresets("useCustomPresets1") }}'}]}}},onSubmit:d=>{d.presets||(d.presets=void 0);const u={"x-uid":n["x-uid"]};u["x-component-props"]=n["x-component-props"]||{},n["x-component-props"]=D(D({},n["x-component-props"]||{}),d),u["x-component-props"]=n["x-component-props"],e.emit("patch",{schema:u}),e.refresh()}})};SchemaSettingsDatePresets.displayName="SchemaSettingsDatePresets";const getDateRanges=()=>({now:()=>client$2.dayjs().toISOString(),today:()=>[getStart(0,"day"),getEnd(0,"day")],yesterday:()=>[getStart(-1,"day"),getEnd(-1,"day")],tomorrow:()=>[getStart(1,"day"),getEnd(1,"day")],thisWeek:()=>[getStart(0,"isoWeek"),getEnd(0,"isoWeek")],lastWeek:()=>[getStart(-1,"isoWeek"),getEnd(-1,"isoWeek")],nextWeek:()=>[getStart(1,"isoWeek"),getEnd(1,"isoWeek")],year:n=>[getStart(n-client$2.dayjs().year(),"year"),getEnd(n-client$2.dayjs().year(),"year")],thisIsoWeek:()=>[getStart(0,"isoWeek"),getEnd(0,"isoWeek")],lastIsoWeek:()=>[getStart(-1,"isoWeek"),getEnd(-1,"isoWeek")],nextIsoWeek:()=>[getStart(1,"isoWeek"),getEnd(1,"isoWeek")],thisMonth:()=>[getStart(0,"month"),getEnd(0,"month")],lastMonth:()=>[getStart(-1,"month"),getEnd(-1,"month")],nextMonth:()=>[getStart(1,"month"),getEnd(1,"month")],thisQuarter:()=>[getStart(0,"quarter"),getEnd(0,"quarter")],lastQuarter:()=>[getStart(-1,"quarter"),getEnd(-1,"quarter")],nextQuarter:()=>[getStart(1,"quarter"),getEnd(1,"quarter")],thisYear:()=>[getStart(0,"year"),getEnd(0,"year")],lastYear:()=>[getStart(-1,"year"),getEnd(-1,"year")],nextYear:()=>[getStart(1,"year"),getEnd(1,"year")],last7Days:()=>[getStart(-6,"days"),getEnd(0,"days")],next7Days:()=>[getStart(1,"day"),getEnd(7,"days")],last30Days:()=>[getStart(-29,"days"),getEnd(0,"days")],next30Days:()=>[getStart(1,"day"),getEnd(30,"days")],last90Days:()=>[getStart(-89,"days"),getEnd(0,"days")],next90Days:()=>[getStart(1,"day"),getEnd(90,"days")]}),getStart=(n,e)=>client$2.dayjs().add(n,e==="isoWeek"?"week":e).startOf(e),getEnd=(n,e)=>client$2.dayjs().add(n,e==="isoWeek"?"week":e).endOf(e),SchemaSettingsSubmitDataType=()=>{var i;const{dn:n}=client.useDesignable(),{t:e}=useTranslation(),s=schema.useFieldSchema();return __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(client.SchemaSettingsSwitchItem,{title:e("Select submit data type"),checked:!!((i=s==null?void 0:s["x-action-settings"])!=null&&i.isDeltaChanged),onChange:r=>{s["x-action-settings"].isDeltaChanged=r,n.emit("patch",{schema:{"x-uid":s["x-uid"],"x-action-settings":D({},s["x-action-settings"])}})}})};SchemaSettingsSubmitDataType.displayName="SchemaSettingsSubmitDataType";const LinkManager=()=>{const[n,e]=React.useState(!1),[s,i]=React.useState({}),[r,o]=React.useState([]),{data:l,run:a}=client.useRequest({url:"/link-manage:get"}),{run:c}=client.useRequest({url:"/link-manage:set",params:{id:s.id,link:s.link}});React.useEffect(()=>{l&&o(l.data)},[l]);const d=m=>{i(m),e(!0)},u=()=>{e(!1)},f=()=>{c();const m=r.map(g=>g.id===s.id?s:g);o(m),e(!1),i({})},p=[{title:"名称",dataIndex:"name",key:"name",render:m=>__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx("a",{children:m})},{title:"链接",dataIndex:"link",key:"link",render:m=>__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx("a",{children:m})},{title:"Action",key:"action",render:(m,g)=>__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Space,{size:"middle",children:__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx("a",{onClick:()=>d(g),children:"编辑"})})}];return __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsxs(__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.Fragment,{children:[r&&__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Table,{columns:p,dataSource:r}),__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Drawer,{title:"设定链接地址",width:720,onClose:u,open:n,styles:{body:{paddingBottom:80}},extra:__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsxs(antd.Space,{children:[__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Button,{onClick:u,children:"关闭"}),__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Button,{onClick:f,type:"primary",children:"提交"})]}),children:__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsxs(antd.Form,{layout:"vertical",children:[__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Form.Item,{name:"name",label:"Name",children:__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Input,{placeholder:"Please enter Name",defaultValue:s==null?void 0:s.name,disabled:!0})}),__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Form.Item,{name:"link",label:"Link",children:__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Input,{onChange:m=>i(I(D({},s),{link:m.target.value})),placeholder:"Please enter Link",defaultValue:s==null?void 0:s.link})})]})})]})},TokenConfigurationResourceKey="token-configuration",getSSKey=n=>`TACHYBASE_PLUGIN_TOKEN_CONFIGURATION_${n}`,useMapConfiguration=n=>{const e=React.useMemo(()=>{const i=sessionStorage.getItem(getSSKey(n));return i&&JSON.parse(i)},[n]),{data:s}=client.useRequest({resource:TokenConfigurationResourceKey,action:"get",params:{type:n}},{onSuccess(i){sessionStorage.setItem(getSSKey(n),JSON.stringify(i==null?void 0:i.data))},refreshOnWindowFocus:!1,refreshDeps:[],manual:!!e});return e||(s==null?void 0:s.data)},TokenTypes=[{label:"飞书",value:"feishu"}],BaseConfiguration=({type:n,children:e})=>{const[s,i]=ahooks.useBoolean(!1),r=client.useAPIClient(),[o]=antd.Form.useForm(),l=useMapConfiguration(n);React.useEffect(()=>{l&&(o.setFieldsValue(l),i.toggle())},[l]);const a=React.useMemo(()=>r.resource(TokenConfigurationResourceKey),[r]),c=d=>{a.set(I(D({},d),{type:n})).then(u=>{sessionStorage.removeItem(getSSKey(n)),i.toggle(),antd.message.success("保存成功")}).catch(u=>{antd.message.success("保存失败")})};return __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsxs(antd.Form,{disabled:s,form:o,layout:"vertical",onFinish:c,children:[e,s?__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Button,{disabled:!1,onClick:i.toggle,children:"编辑"}):__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Form.Item,{children:__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Button,{disabled:!1,type:"primary",htmlType:"submit",children:"保存"})})]})},AMapConfiguration=()=>__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsxs(BaseConfiguration,{type:"feishu",children:[__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Form.Item,{required:!0,name:"app_id",label:"App ID",children:__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Input,{})}),__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Form.Item,{required:!0,name:"app_secret",label:"App Secret",children:__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Input,{})}),__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Form.Item,{required:!0,name:"chat_id",label:"Chat ID",children:__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Input,{})})]}),components={feishu:AMapConfiguration},tabList=TokenTypes.map(n=>I(D({},n),{component:components[n.value]})),Configuration=()=>{const n=reactRouterDom.useLocation(),e=new URLSearchParams(n.search);return __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Card,{bordered:!0,children:__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Tabs,{type:"card",defaultActiveKey:e.get("tab"),children:tabList.map(s=>__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Tabs.TabPane,{tab:s.label,children:__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(s.component,{type:s.value})},s.value))})})};class PluginSettingsHelper{constructor(e){this.app=e}load(){return T(this,null,function*(){this.app.systemSettingsManager.add("system-services.hera",{title:tval("Hera integration"),icon:"HomeOutlined"}),this.app.systemSettingsManager.add("system-services.hera.token",{title:tval("Third-party integration configuration"),icon:"ShareAltOutlined",Component:Configuration,aclSnippet:"pm.system-services.hera.token"}),this.app.systemSettingsManager.add("system-services.hera.linkmanage",{title:tval("Link manager"),icon:"ShareAltOutlined",Component:LinkManager,aclSnippet:"pm.system-services.hera.linkmanage"})})}}class PluginCoreClient extends client.Plugin{afterAdd(){return T(this,null,function*(){yield this.app.pm.add(EmbedPlugin),yield this.app.pm.add(PluginHeraVersion),yield this.app.pm.add(PluginPDF),yield this.app.pm.add(PluginOutbound),yield this.app.pm.add(PluginFieldAppends),yield this.app.pm.add(PluginCustomComponents),yield this.app.pm.add(PluginSheet)})}registerSettings(){return T(this,null,function*(){this.schemaSettingsManager.add(customComponentDispatcherSettings),this.schemaSettingsManager.addItem("fieldSettings:component:DatePicker","datePickerType",{Component:SchemaSettingsDatePickerType}),this.schemaSettingsManager.addItem("fieldSettings:component:DatePicker","datePresets",{Component:SchemaSettingsDatePresets}),this.schemaSettingsManager.addItem("actionSettings:updateSubmit","submitDataType",{Component:SchemaSettingsSubmitDataType}),this.schemaSettingsManager.addItem("FormItemSettings","hera-divider",{type:"divider",useVisible(){const e=client.useFormulaTitleVisible(),s=usePaginationVisible();return e||s}}),this.schemaSettingsManager.addItem("FormItemSettings","isTablePageSize",{Component:IsTablePageSize,useVisible:usePaginationVisible})})}registerScopesAndComponents(){return T(this,null,function*(){this.app.addScopes({useGetCustomAssociatedComponents,useGetCustomComponents,useCustomPresets1,useCustomPresets}),this.app.addComponents({AssociatedField,CalcResult,CodeMirror:components$1.CodeMirror,CustomAssociatedField,CustomComponentDispatcher,CustomComponentStub,CustomField,EditTitle,Expression,SettingBlock:SettingBlockInitializer,SignatureInput,ExcelFile})})}registerRouters(){return T(this,null,function*(){})}registerSchemaInitializer(){return T(this,null,function*(){const e={name:"setting",title:tval("System setting"),Component:"SettingBlock"},s={type:"item",name:"refreshAction",title:tval("Refresh"),Component:"RefreshActionInitializer",schema:{"x-align":"right"}};this.app.schemaInitializerManager.addItem("page:addBlock",e.name,e),this.app.schemaInitializerManager.addItem("kanban:configureActions",s.name,s);const i={name:"addCustomComponent",title:tval("Add custom component"),Component:"BlockItemInitializer",schema:{type:"void","x-editable":!1,"x-decorator":"FormItem","x-settings":"customComponentDispatcherSettings","x-component":"CustomComponentDispatcher","x-component-props":{component:"CustomComponentStub"}}};this.app.schemaInitializerManager.addItem("form:configureFields",i.name,i),this.app.schemaInitializerManager.addItem("details:configureFields",i.name,i)})}registerInterfaces(){return T(this,null,function*(){this.app.dataSourceManager.addFieldInterfaces([AssociatedFieldInterface,CalcFieldInterface,CustomFieldInterface,CustomAssociatedFieldInterface,SignaturePadFieldInterface,ExcelFieldInterface,TstzrangeFieldInterface])})}afterLoad(){return T(this,null,function*(){yield this.registerSchemaInitializer()})}load(){return T(this,null,function*(){this.locale=new Locale(this.app),yield new PluginSettingsHelper(this.app).load(),yield this.registerScopesAndComponents(),yield this.registerSettings(),yield this.registerRouters(),yield this.registerInterfaces()})}}exports.CustomComponentType=CustomComponentType,exports.PluginCoreClient=PluginCoreClient,exports.default=PluginCoreClient,exports.usePDFViewerRef=usePDFViewerRef,Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
82
+ `,children:c?__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(PDFViewer,{file:c,width:i,ref:l}):""})]})};class PluginPDF extends client.Plugin{load(){return T(this,null,function*(){this.app.addScopes({usePDFViewerPrintActionProps}),this.app.addComponents({PDFViewerBlockInitializer,PDFViewerPrintActionInitializer,PDFViewerProvider,PDFViwer:InternalPDFViewer}),this.schemaInitializerManager.add(pdfViewActionInitializer);const e={title:tval("preview block"),name:"previewBlock",type:"itemGroup",children:[]};this.app.schemaInitializerManager.get("popup:common:addBlock").add(e.name,e)})}}const SheetBlockContext=React.createContext({}),InternalSheetBlockProvider=n=>{const e=schema.useField(),s=client.useDataBlockRequest();return s.loading&&!e.loaded?__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Spin,{}):(e.loaded=!0,__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(SheetBlockContext.Provider,{value:{field:e,service:s},children:n.children}))},SheetBlock=()=>{const n=React.useRef();return __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsxs("div",{style:{height:"70vh"},children:[__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Button,{onClick:()=>console.log("data",n.current.getData()),children:"显示数据"}),__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(ExcelSheet,{ref:n})]})},SheetBlockProvider=n=>__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(client.DataBlockProvider,I(D({name:"sheet"},n),{children:__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(InternalSheetBlockProvider,D({},n))})),createSheetBlockSchema=n=>{const{collection:e}=n;return{title:e.title,type:"void","x-acl-action":`${e.name}:list`,"x-decorator":"SheetBlockProvider","x-decorator-props":{collection:e.name},"x-toolbar":"SheetBlockToolbar","x-settings":"sheetBlockSettings","x-component":"CardItem",properties:{[client$1.uid()]:{type:"void","x-component":"SheetBlock"}}}},SheetBlockInitializer=()=>{const{insert:n}=client.useSchemaInitializer(),e=client.useCollectionManager(),s=client.useSchemaInitializerItem();return __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(client.DataBlockInitializer,I(D({},s),{icon:__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(icons.TableOutlined,{}),onCreateBlockSchema:r=>T(null,[r],function*({item:i}){const o=e.getCollection(i.name);n(createSheetBlockSchema({collection:o}))})}))},sheetBlockSettings=new client.SchemaSettings({name:"sheetBlockSettings",items:[{name:"remove",type:"remove"}]}),SheetBlockToolbar=n=>{const e=schema.useFieldSchema();return __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(client.SchemaToolbar,D({title:e.title,settings:e["x-settings"]},n))};class PluginSheet extends client.Plugin{load(){return T(this,null,function*(){this.app.addComponents({SheetBlock,SheetBlockInitializer,SheetBlockProvider,SheetBlockToolbar}),this.schemaSettingsManager.add(sheetBlockSettings),this.app.schemaInitializerManager.addItem("page:addBlock","dataBlocks.sheetBlock",{title:tval("Sheet"),Component:"SheetBlockInitializer"})})}}const useGetCustomAssociatedComponents=()=>useCustomComponent(CustomComponentType.CUSTOM_ASSOCIATED_FIELD),useGetCustomComponents=()=>useCustomComponent(CustomComponentType.CUSTOM_FIELD);class ExcelFieldInterface extends client.CollectionFieldInterface{constructor(){super(...arguments),this.name="excelField",this.type="json",this.group="advanced",this.order=3,this.title=tval("Excel table"),this.sortable=!0,this.default={interface:"json",type:"json",uiSchema:{type:"object","x-component":"ExcelFile"}},this.availableTypes=["json"],this.hasDefaultValue=!1,this.properties=D({},client.defaultProps)}}class AssociatedFieldInterface extends client.CollectionFieldInterface{constructor(){super(...arguments),this.name="associated",this.type="object",this.group="relation",this.order=10,this.title="关联字段",this.description="关联字段",this.isAssociation=!0,this.default={type:"belongsTo",uiSchema:{"x-component":"AssociatedField"}},this.availableTypes=["belongsTo"],this.properties=I(D({},client.defaultProps),{"uiSchema.x-component-props.collection":{type:"string",title:"关联数据表","x-decorator":"FormItem","x-component":"Select","x-component-props":{multiple:!1},enum:"{{collections}}",required:!0},"uiSchema.x-component-props.sourceCollection":{type:"string",title:"查询数据表","x-decorator":"FormItem","x-component":"Select","x-component-props":{multiple:!1},enum:"{{collections}}",required:!0},"uiSchema.x-component-props.sourceField":{type:"string",title:"查询数据表到关联数据表的路径","x-component":"Input","x-decorator":"FormItem",required:!0},"uiSchema.x-component-props.fieldExp":{type:"string",title:"关联字段",required:!0,"x-component":"Expression","x-decorator":"FormItem","x-component-props":{useCurrentFields:"{{ useCurrentFields }}"}},"uiSchema.x-component-props.dateFieldExp":{type:"string",title:"关联日期",required:!0,"x-component":"Expression","x-decorator":"FormItem","x-component-props":{useCurrentFields:"{{ useCurrentFields }}"}},target:{type:"string",title:"关联数据表","x-decorator":"FormItem","x-component":"Select","x-component-props":{multiple:!1},enum:"{{collections}}",required:!0,"x-display":"hidden","x-reactions":[{dependencies:["uiSchema.x-component-props.collection"],fulfill:{state:{value:"{{$deps[0]}}"}}}]},targetKey:{type:"string",title:"关联数据表键",required:!0,default:"id","x-display":"hidden","x-decorator":"FormItem","x-component":"Input"}}),this.filterable={nested:!0,children:[]}}}const{defaultProps:defaultProps$1}=client.interfacesProperties,formulaType=[{dependencies:["dataType"],fulfill:{state:{display:'{{["formula"].includes($deps[0]) ? "visible" : "none"}}'}}}],panelType=[{dependencies:["dataType"],fulfill:{state:{display:'{{["jsCode"].includes($deps[0]) ? "visible" : "none"}}'}}}];class CalcFieldInterface extends client.CollectionFieldInterface{constructor(){super(...arguments),this.name="calc2",this.type="object",this.group="advanced",this.title="数据计算(过期)",this.description="数据字段计算",this.sortable=!0,this.default={type:"virtual",uiSchema:{type:"string","x-component":"CalcResult","x-component-props":{formula:"",prefix:"",suffix:"",decimal:"",panel:""},"x-read-pretty":!0}},this.properties=I(D({},defaultProps$1),{dataType:{type:"string",title:"计算类型","x-decorator":"FormItem","x-component":"Select",enum:[{value:"formula",label:"公式"},{value:"jsCode",label:"代码"}],required:!0,default:"formula",description:"公式:使用公式计算,代码:使用js代码计算"},"uiSchema.x-component-props.formula":{type:"string",title:"公式","x-decorator":"FormItem","x-component":"Input",default:"",required:!0,"x-reactions":formulaType},"uiSchema.x-component-props.panel":{type:"string",title:"jsCode","x-decorator":"FormItem","x-component":"Input.TextArea",description:"注意,此内容有值计算操作将以此内容为准,而不是公式,适用于面板中的计算",required:!0,"x-reactions":panelType},"uiSchema.x-component-props.prefix":{type:"string",title:"前缀","x-decorator":"FormItem","x-component":"Input"},"uiSchema.x-component-props.suffix":{type:"string",title:"后缀","x-decorator":"FormItem","x-component":"Input"},"uiSchema.x-component-props.decimal":{type:"string",title:'{{t("Precision")}}',"x-component":"Select","x-decorator":"FormItem",required:!0,default:"0",enum:[{value:"0",label:"1"},{value:"1",label:"1.0"},{value:"2",label:"1.00"},{value:"3",label:"1.000"},{value:"4",label:"1.0000"},{value:"5",label:"1.00000"}],"x-reactions":formulaType}})}}const{defaultProps}=client.interfacesProperties;class CustomFieldInterface extends client.CollectionFieldInterface{constructor(){super(...arguments),this.name="custom",this.type="object",this.group="advanced",this.title="组件字段",this.description="组件字段",this.sortable=!0,this.default={type:"virtual",uiSchema:{type:"string","x-component":"CustomField","x-read-pretty":!0}},this.properties=I(D({},defaultProps),{"uiSchema.x-component-props.component":{type:"string",title:"组件","x-decorator":"FormItem","x-component":"Select",enum:" {{ useGetCustomComponents() }} ",required:!0,description:"需要在插件中注册相应的组件后可以使用"}})}}class CustomAssociatedFieldInterface extends client.CollectionFieldInterface{constructor(){super(...arguments),this.name="customAssociated",this.type="object",this.group="relation",this.order=10,this.title="自定义关联字段",this.description="自定义关联字段",this.isAssociation=!0,this.default={type:"virtual",uiSchema:{"x-component":"CustomAssociatedField"}},this.availableTypes=["belongsTo"],this.properties=I(D({},client.defaultProps),{"uiSchema.x-component-props.component":{type:"string",title:"组件","x-decorator":"FormItem","x-component":"Select",enum:" {{ useGetCustomAssociatedComponents() }}",required:!0,description:"需要在插件中注册相应的组件后可以使用"},target:{type:"string",title:"关联数据表","x-decorator":"FormItem","x-component":"Select","x-component-props":{multiple:!1},enum:"{{collections}}",required:!0},targetKey:{type:"string",title:"关联数据表键",required:!0,default:"id","x-display":"hidden","x-decorator":"FormItem","x-component":"Input"}}),this.filterable={nested:!0,children:[]}}}class SignaturePadFieldInterface extends client.CollectionFieldInterface{constructor(){super(...arguments),this.name="signatureSchema",this.type="object",this.group="advanced",this.order=2,this.title=tval("Signature input"),this.sortable=!0,this.default={interface:"signature",type:"json",uiSchema:{type:"signature","x-component":"SignatureInput"}},this.availableTypes=["json"],this.hasDefaultValue=!1,this.properties=D({},client.defaultProps)}}class TstzrangeFieldInterface extends client.CollectionFieldInterface{constructor(){super(...arguments),this.name="tstzrange",this.type="object",this.group="datetime",this.order=2,this.title=tval("Date range"),this.sortable=!0,this.default={type:"tstzrange",uiSchema:{type:"object","x-component":"DatePicker.RangePicker","x-component-props":{utc:!1,valueType:"range"}}},this.availableTypes=["tstzrange"],this.hasDefaultValue=!1,this.properties=D({},client.defaultProps)}}const SettingBlockInitializer=()=>{const{insert:n}=client.useSchemaInitializer(),{t:e}=useTranslation(),s=React.useContext(schema.SchemaOptionsContext),{theme:i}=client.useGlobalTheme(),r=client.useSchemaInitializerItem(),o=client.useCollectionManager(),l=client.useAPIClient();return __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(client.DataBlockInitializer,I(D({},r),{componentType:"FormItem",icon:__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(icons.FormOutlined,{}),onCreateBlockSchema:c=>T(null,[c],function*({item:a}){const d=o.getCollection(a.name),u=d.titleField,f=yield client.FormDialog(e("Pick a data entry for viewing and editing"),()=>__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(client.APIClientProvider,{apiClient:l,children:__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(client.SchemaComponentOptions,{scope:s.scope,components:D({},s.components),children:__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(client$1.FormLayout,{layout:"vertical",children:__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(client.SchemaComponent,{schema:{properties:{id:{title:tval("Please select"),required:!0,"x-component":"RemoteSelect","x-component-props":{service:{resource:a.name},fieldNames:{label:u,value:"id"}},"x-decorator":"FormItem"}}}})})})}),i).open({initialValues:{}}),p=client.createFormBlockSchema({dataSource:a.dataSource,collection:d.name,action:"get",filterByTk:f.id,actionInitializers:"editForm:configureActions"});n(p)})}))},usePaginationVisible=()=>{var e;return((e=schema.useFieldSchema()["x-component-props"])==null?void 0:e.mode)==="SubTable"},EditTitle=()=>{var a;const{getCollectionJoinField:n}=client.useCollectionManager_deprecated(),{getField:e}=client.useCollection_deprecated(),s=schema.useField(),i=schema.useFieldSchema(),{t:r}=useTranslation(),{dn:o}=client.useDesignable(),l=e(i.name)||n(i["x-collection-field"]);return __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(client.SchemaSettingsModalItem,{title:r("Edit field title"),schema:{type:"object",title:r("Edit field title"),properties:{title:{title:r("Field title"),default:s==null?void 0:s.title,description:`${r("Original field title: ")}${l?(a=l==null?void 0:l.uiSchema)==null?void 0:a.title:i.name}`,"x-decorator":"FormItem","x-component":"Input","x-component-props":{}}}},onSubmit:({title:c})=>{c&&(s.title=c,i.title=c,o.emit("patch",{schema:{"x-uid":i["x-uid"],title:i.title}})),o.refresh()}},"edit-field-title")},IsTablePageSize=()=>{const{dn:n}=client.useDesignable(),e=schema.useFieldSchema(),{t:s}=useTranslation();return __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(client.SchemaSettingsSwitchItem,{title:s("Pagination"),checked:e["x-component-props"].pagination,onChange:i=>{e["x-component-props"].pagination||(e["x-component-props"]=I(D({},e["x-component-props"]),{pagination:!1})),e["x-component-props"].pagination=i,n.emit("patch",{schema:{"x-uid":e["x-uid"],"x-component-props":D({},e==null?void 0:e["x-component-props"])}}),n.refresh()}})},SchemaSettingsDatePickerType=()=>{var a,c,d;const n=schema.useFieldSchema(),e=schema.useField(),{dn:s}=client.useDesignable(),{t:i}=useTranslation(),o=client.useCollectionManager().getCollectionField(n==null?void 0:n["x-collection-field"])||{},l=((a=n==null?void 0:n["x-component-props"])==null?void 0:a.picker)||((d=(c=o==null?void 0:o.uiSchema)==null?void 0:c["x-component-props"])==null?void 0:d.picker)||"";return __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(client.SchemaSettingsModalItem,{title:i("Date picker type"),schema:{type:"object",properties:{picker:{type:"string",title:tval("Picker type"),"x-component":"Select","x-decorator":"FormItem","x-decorator-props":{},default:l,enum:[{label:i("default"),value:""},{label:i("year"),value:"year"},{label:i("quarter"),value:"quarter"},{label:i("month"),value:"month"},{label:i("week"),value:"week"}]}}},onSubmit:u=>{const f={"x-uid":n["x-uid"]};f["x-component-props"]=n["x-component-props"]||{},n["x-component-props"]=D(D({},n["x-component-props"]||{}),u),f["x-component-props"]=n["x-component-props"],e.componentProps=n["x-component-props"];const p=e.path.entire.split(".");p.pop();const m=p.join(".");e.query(`${m}.*[0:].${n.name}`).forEach(g=>{g.props.name===n.name&&g.setComponentProps(D({},u))}),s.emit("patch",{schema:f}),s.refresh()}})};SchemaSettingsDatePickerType.displayName="SchemaSettingsDatePickerType";const useCustomPresets1=()=>{const n=schema.useFieldSchema(),{t:e}=useTranslation(),s=getDateRanges(),i=[{label:e("This year"),value:s.thisYear},...Array(5).fill(0).map((r,o)=>({label:client$1.dayjs().year()-o-1+e("year"),value:s.year(client$1.dayjs().year()-o-1)})),{label:e("This month"),value:s.thisMonth},{label:e("Last month"),value:s.lastMonth}];return n.name==="presets"?"{{ useCustomPresets1() }}":i},useCustomPresets=n=>"{{ "+n+"() }}",SchemaSettingsDatePresets=()=>{var l,a,c;const n=schema.useFieldSchema(),{dn:e}=client.useDesignable(),{t:s}=useTranslation(),r=client.useCollectionManager().getCollectionField(n==null?void 0:n["x-collection-field"])||{},o=((l=n==null?void 0:n["x-component-props"])==null?void 0:l.presets)||((c=(a=r==null?void 0:r.uiSchema)==null?void 0:a["x-component-props"])==null?void 0:c.presets)||"";return __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(client.SchemaSettingsModalItem,{title:s("Date presets"),schema:{type:"object",properties:{presets:{type:"string",title:tval("Date presets"),"x-component":"Select","x-decorator":"FormItem","x-decorator-props":{},default:o,enum:[{label:s("default"),value:""},{label:s("Chuangxing presets"),value:'{{ useCustomPresets("useCustomPresets1") }}'}]}}},onSubmit:d=>{d.presets||(d.presets=void 0);const u={"x-uid":n["x-uid"]};u["x-component-props"]=n["x-component-props"]||{},n["x-component-props"]=D(D({},n["x-component-props"]),d),u["x-component-props"]=n["x-component-props"],e.emit("patch",{schema:u}),e.refresh()}})};SchemaSettingsDatePresets.displayName="SchemaSettingsDatePresets";const getDateRanges=()=>({now:()=>client$1.dayjs().toISOString(),today:()=>[getStart(0,"day"),getEnd(0,"day")],yesterday:()=>[getStart(-1,"day"),getEnd(-1,"day")],tomorrow:()=>[getStart(1,"day"),getEnd(1,"day")],thisWeek:()=>[getStart(0,"isoWeek"),getEnd(0,"isoWeek")],lastWeek:()=>[getStart(-1,"isoWeek"),getEnd(-1,"isoWeek")],nextWeek:()=>[getStart(1,"isoWeek"),getEnd(1,"isoWeek")],year:n=>[getStart(n-client$1.dayjs().year(),"year"),getEnd(n-client$1.dayjs().year(),"year")],thisIsoWeek:()=>[getStart(0,"isoWeek"),getEnd(0,"isoWeek")],lastIsoWeek:()=>[getStart(-1,"isoWeek"),getEnd(-1,"isoWeek")],nextIsoWeek:()=>[getStart(1,"isoWeek"),getEnd(1,"isoWeek")],thisMonth:()=>[getStart(0,"month"),getEnd(0,"month")],lastMonth:()=>[getStart(-1,"month"),getEnd(-1,"month")],nextMonth:()=>[getStart(1,"month"),getEnd(1,"month")],thisQuarter:()=>[getStart(0,"quarter"),getEnd(0,"quarter")],lastQuarter:()=>[getStart(-1,"quarter"),getEnd(-1,"quarter")],nextQuarter:()=>[getStart(1,"quarter"),getEnd(1,"quarter")],thisYear:()=>[getStart(0,"year"),getEnd(0,"year")],lastYear:()=>[getStart(-1,"year"),getEnd(-1,"year")],nextYear:()=>[getStart(1,"year"),getEnd(1,"year")],last7Days:()=>[getStart(-6,"days"),getEnd(0,"days")],next7Days:()=>[getStart(1,"day"),getEnd(7,"days")],last30Days:()=>[getStart(-29,"days"),getEnd(0,"days")],next30Days:()=>[getStart(1,"day"),getEnd(30,"days")],last90Days:()=>[getStart(-89,"days"),getEnd(0,"days")],next90Days:()=>[getStart(1,"day"),getEnd(90,"days")]}),getStart=(n,e)=>client$1.dayjs().add(n,e==="isoWeek"?"week":e).startOf(e),getEnd=(n,e)=>client$1.dayjs().add(n,e==="isoWeek"?"week":e).endOf(e),SchemaSettingsSubmitDataType=()=>{var i;const{dn:n}=client.useDesignable(),{t:e}=useTranslation(),s=schema.useFieldSchema();return __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(client.SchemaSettingsSwitchItem,{title:e("Select submit data type"),checked:!!((i=s==null?void 0:s["x-action-settings"])!=null&&i.isDeltaChanged),onChange:r=>{s["x-action-settings"].isDeltaChanged=r,n.emit("patch",{schema:{"x-uid":s["x-uid"],"x-action-settings":D({},s["x-action-settings"])}})}})};SchemaSettingsSubmitDataType.displayName="SchemaSettingsSubmitDataType";const LinkManager=()=>{const[n,e]=React.useState(!1),[s,i]=React.useState({}),[r,o]=React.useState([]),{data:l,run:a}=client.useRequest({url:"/link-manage:get"}),{run:c}=client.useRequest({url:"/link-manage:set",params:{id:s.id,link:s.link}});React.useEffect(()=>{l&&o(l.data)},[l]);const d=m=>{i(m),e(!0)},u=()=>{e(!1)},f=()=>{c();const m=r.map(g=>g.id===s.id?s:g);o(m),e(!1),i({})},p=[{title:"名称",dataIndex:"name",key:"name",render:m=>__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx("a",{children:m})},{title:"链接",dataIndex:"link",key:"link",render:m=>__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx("a",{children:m})},{title:"Action",key:"action",render:(m,g)=>__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Space,{size:"middle",children:__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx("a",{onClick:()=>d(g),children:"编辑"})})}];return __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsxs(__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.Fragment,{children:[r&&__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Table,{columns:p,dataSource:r}),__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Drawer,{title:"设定链接地址",width:720,onClose:u,open:n,styles:{body:{paddingBottom:80}},extra:__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsxs(antd.Space,{children:[__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Button,{onClick:u,children:"关闭"}),__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Button,{onClick:f,type:"primary",children:"提交"})]}),children:__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsxs(antd.Form,{layout:"vertical",children:[__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Form.Item,{name:"name",label:"Name",children:__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Input,{placeholder:"Please enter Name",defaultValue:s==null?void 0:s.name,disabled:!0})}),__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Form.Item,{name:"link",label:"Link",children:__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Input,{onChange:m=>i(I(D({},s),{link:m.target.value})),placeholder:"Please enter Link",defaultValue:s==null?void 0:s.link})})]})})]})},TokenConfigurationResourceKey="token-configuration",getSSKey=n=>`TACHYBASE_PLUGIN_TOKEN_CONFIGURATION_${n}`,useMapConfiguration=n=>{const e=React.useMemo(()=>{const i=sessionStorage.getItem(getSSKey(n));return i&&JSON.parse(i)},[n]),{data:s}=client.useRequest({resource:TokenConfigurationResourceKey,action:"get",params:{type:n}},{onSuccess(i){sessionStorage.setItem(getSSKey(n),JSON.stringify(i==null?void 0:i.data))},refreshOnWindowFocus:!1,refreshDeps:[],manual:!!e});return e||(s==null?void 0:s.data)},TokenTypes=[{label:"飞书",value:"feishu"}],BaseConfiguration=({type:n,children:e})=>{const[s,i]=ahooks.useBoolean(!1),r=client.useAPIClient(),[o]=antd.Form.useForm(),l=useMapConfiguration(n);React.useEffect(()=>{l&&(o.setFieldsValue(l),i.toggle())},[l]);const a=React.useMemo(()=>r.resource(TokenConfigurationResourceKey),[r]),c=d=>{a.set(I(D({},d),{type:n})).then(u=>{sessionStorage.removeItem(getSSKey(n)),i.toggle(),antd.message.success("保存成功")}).catch(u=>{antd.message.success("保存失败")})};return __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsxs(antd.Form,{disabled:s,form:o,layout:"vertical",onFinish:c,children:[e,s?__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Button,{disabled:!1,onClick:i.toggle,children:"编辑"}):__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Form.Item,{children:__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Button,{disabled:!1,type:"primary",htmlType:"submit",children:"保存"})})]})},AMapConfiguration=()=>__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsxs(BaseConfiguration,{type:"feishu",children:[__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Form.Item,{required:!0,name:"app_id",label:"App ID",children:__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Input,{})}),__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Form.Item,{required:!0,name:"app_secret",label:"App Secret",children:__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Input,{})}),__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Form.Item,{required:!0,name:"chat_id",label:"Chat ID",children:__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Input,{})})]}),components={feishu:AMapConfiguration},tabList=TokenTypes.map(n=>I(D({},n),{component:components[n.value]})),Configuration=()=>{const n=reactRouterDom.useLocation(),e=new URLSearchParams(n.search);return __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Card,{bordered:!0,children:__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Tabs,{type:"card",defaultActiveKey:e.get("tab"),children:tabList.map(s=>__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(antd.Tabs.TabPane,{tab:s.label,children:__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime__.jsx(s.component,{type:s.value})},s.value))})})};class PluginSettingsHelper{constructor(e){this.app=e}load(){return T(this,null,function*(){this.app.systemSettingsManager.add("system-services.hera",{title:tval("Hera integration"),icon:"HomeOutlined"}),this.app.systemSettingsManager.add("system-services.hera.token",{title:tval("Third-party integration configuration"),icon:"ShareAltOutlined",Component:Configuration,aclSnippet:"pm.system-services.hera.token"}),this.app.systemSettingsManager.add("system-services.hera.linkmanage",{title:tval("Link manager"),icon:"ShareAltOutlined",Component:LinkManager,aclSnippet:"pm.system-services.hera.linkmanage"})})}}class PluginCoreClient extends client.Plugin{afterAdd(){return T(this,null,function*(){yield this.app.pm.add(EmbedPlugin),yield this.app.pm.add(PluginHeraVersion),yield this.app.pm.add(PluginPDF),yield this.app.pm.add(PluginOutbound),yield this.app.pm.add(PluginFieldAppends),yield this.app.pm.add(PluginCustomComponents),yield this.app.pm.add(PluginSheet)})}registerSettings(){return T(this,null,function*(){this.schemaSettingsManager.add(customComponentDispatcherSettings),this.schemaSettingsManager.addItem("fieldSettings:component:DatePicker","datePickerType",{Component:SchemaSettingsDatePickerType}),this.schemaSettingsManager.addItem("fieldSettings:component:DatePicker","datePresets",{Component:SchemaSettingsDatePresets}),this.schemaSettingsManager.addItem("actionSettings:updateSubmit","submitDataType",{Component:SchemaSettingsSubmitDataType}),this.schemaSettingsManager.addItem("FormItemSettings","hera-divider",{type:"divider",useVisible(){const e=client.useFormulaTitleVisible(),s=usePaginationVisible();return e||s}}),this.schemaSettingsManager.addItem("FormItemSettings","isTablePageSize",{Component:IsTablePageSize,useVisible:usePaginationVisible})})}registerScopesAndComponents(){return T(this,null,function*(){this.app.addScopes({useGetCustomAssociatedComponents,useGetCustomComponents,useCustomPresets1,useCustomPresets}),this.app.addComponents({AssociatedField,CalcResult,CodeMirror:client$1.CodeMirror,CustomAssociatedField,CustomComponentDispatcher,CustomComponentStub,CustomField,EditTitle,Expression,SettingBlock:SettingBlockInitializer,SignatureInput,ExcelFile})})}registerRouters(){return T(this,null,function*(){})}registerSchemaInitializer(){return T(this,null,function*(){const e={name:"setting",title:tval("System setting"),Component:"SettingBlock"},s={type:"item",name:"refreshAction",title:tval("Refresh"),Component:"RefreshActionInitializer",schema:{"x-align":"right"}};this.app.schemaInitializerManager.addItem("page:addBlock",e.name,e),this.app.schemaInitializerManager.addItem("kanban:configureActions",s.name,s);const i={name:"addCustomComponent",title:tval("Add custom component"),Component:"BlockItemInitializer",schema:{type:"void","x-editable":!1,"x-decorator":"FormItem","x-settings":"customComponentDispatcherSettings","x-component":"CustomComponentDispatcher","x-component-props":{component:"CustomComponentStub"}}};this.app.schemaInitializerManager.addItem("form:configureFields",i.name,i),this.app.schemaInitializerManager.addItem("details:configureFields",i.name,i)})}registerInterfaces(){return T(this,null,function*(){this.app.dataSourceManager.addFieldInterfaces([AssociatedFieldInterface,CalcFieldInterface,CustomFieldInterface,CustomAssociatedFieldInterface,SignaturePadFieldInterface,ExcelFieldInterface,TstzrangeFieldInterface])})}afterLoad(){return T(this,null,function*(){yield this.registerSchemaInitializer()})}load(){return T(this,null,function*(){this.locale=new Locale(this.app),yield new PluginSettingsHelper(this.app).load(),yield this.registerScopesAndComponents(),yield this.registerSettings(),yield this.registerRouters(),yield this.registerInterfaces()})}}exports.CustomComponentType=CustomComponentType,exports.PluginCoreClient=PluginCoreClient,exports.default=PluginCoreClient,exports.usePDFViewerRef=usePDFViewerRef,Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { dayjs } from '@tachybase/utils/client';
2
+ import { dayjs } from '@tego/client';
3
3
  export declare const useCustomPresets1: () => "{{ useCustomPresets1() }}" | ({
4
4
  label: any;
5
5
  value: dayjs.Dayjs[];
@@ -1,19 +1,15 @@
1
1
  module.exports = {
2
- "@tachybase/client": "1.3.21",
3
- "@tachybase/components": "1.3.21",
4
- "@tachybase/server": "1.3.21",
2
+ "@tachybase/client": "1.3.22",
3
+ "@tego/client": "1.3.39",
4
+ "@tego/server": "1.3.39",
5
5
  "react": "18.3.1",
6
- "@tachybase/schema": "1.3.21",
7
- "@ant-design/icons": "5.3.7",
6
+ "@tachybase/schema": "1.3.39",
7
+ "@ant-design/icons": "5.6.1",
8
8
  "antd": "5.22.5",
9
9
  "lodash": "4.17.21",
10
- "@tachybase/utils": "1.3.21",
11
10
  "ahooks": "3.9.0",
12
11
  "react-router-dom": "6.28.1",
13
- "@tachybase/actions": "1.3.21",
14
12
  "axios": "1.7.7",
15
- "@tachybase/database": "1.3.21",
16
- "@tachybase/evaluators": "1.3.21",
17
13
  "react-dom": "18.3.1",
18
14
  "dayjs": "1.11.13"
19
15
  };
@@ -1 +1 @@
1
- {"name":"fs-extra","version":"11.3.0","description":"fs-extra contains methods that aren't included in the vanilla Node.js fs package. Such as recursive mkdir, copy, and remove.","engines":{"node":">=14.14"},"homepage":"https://github.com/jprichardson/node-fs-extra","repository":{"type":"git","url":"https://github.com/jprichardson/node-fs-extra"},"keywords":["fs","file","file system","copy","directory","extra","mkdirp","mkdir","mkdirs","recursive","json","read","write","extra","delete","remove","touch","create","text","output","move","promise"],"author":"JP Richardson <jprichardson@gmail.com>","license":"MIT","dependencies":{"graceful-fs":"^4.2.0","jsonfile":"^6.0.1","universalify":"^2.0.0"},"devDependencies":{"klaw":"^2.1.1","klaw-sync":"^3.0.2","minimist":"^1.1.1","mocha":"^10.1.0","nyc":"^15.0.0","proxyquire":"^2.0.1","read-dir-files":"^0.1.1","standard":"^17.0.0"},"main":"./lib/index.js","exports":{".":"./lib/index.js","./esm":"./lib/esm.mjs"},"files":["lib/","!lib/**/__tests__/"],"scripts":{"lint":"standard","test-find":"find ./lib/**/__tests__ -name *.test.js | xargs mocha","test":"npm run lint && npm run unit && npm run unit-esm","unit":"nyc node test.js","unit-esm":"node test.mjs"},"sideEffects":false,"_lastModified":"2025-07-25T05:54:17.820Z"}
1
+ {"name":"fs-extra","version":"11.3.0","description":"fs-extra contains methods that aren't included in the vanilla Node.js fs package. Such as recursive mkdir, copy, and remove.","engines":{"node":">=14.14"},"homepage":"https://github.com/jprichardson/node-fs-extra","repository":{"type":"git","url":"https://github.com/jprichardson/node-fs-extra"},"keywords":["fs","file","file system","copy","directory","extra","mkdirp","mkdir","mkdirs","recursive","json","read","write","extra","delete","remove","touch","create","text","output","move","promise"],"author":"JP Richardson <jprichardson@gmail.com>","license":"MIT","dependencies":{"graceful-fs":"^4.2.0","jsonfile":"^6.0.1","universalify":"^2.0.0"},"devDependencies":{"klaw":"^2.1.1","klaw-sync":"^3.0.2","minimist":"^1.1.1","mocha":"^10.1.0","nyc":"^15.0.0","proxyquire":"^2.0.1","read-dir-files":"^0.1.1","standard":"^17.0.0"},"main":"./lib/index.js","exports":{".":"./lib/index.js","./esm":"./lib/esm.mjs"},"files":["lib/","!lib/**/__tests__/"],"scripts":{"lint":"standard","test-find":"find ./lib/**/__tests__ -name *.test.js | xargs mocha","test":"npm run lint && npm run unit && npm run unit-esm","unit":"nyc node test.js","unit-esm":"node test.mjs"},"sideEffects":false,"_lastModified":"2025-07-29T06:22:00.618Z"}
@@ -1,4 +1,4 @@
1
- import { Context } from '@tachybase/actions';
1
+ import { Context } from '@tego/server';
2
2
  export declare class LinkManagerController {
3
3
  getLink(ctx: Context, next: () => Promise<any>): Promise<any>;
4
4
  setLink(ctx: Context, next: () => Promise<any>): Promise<any>;
@@ -65,9 +65,9 @@ __export(link_manager_controller_exports, {
65
65
  LinkManagerController: () => LinkManagerController
66
66
  });
67
67
  module.exports = __toCommonJS(link_manager_controller_exports);
68
- var import_utils = require("@tachybase/utils");
68
+ var import_server = require("@tego/server");
69
69
  var _init_dec, _setLink_dec, _getLink_dec, _LinkManagerController_decorators, _init;
70
- _LinkManagerController_decorators = [(0, import_utils.Controller)("link-manage")], _getLink_dec = [(0, import_utils.Action)("get")], _setLink_dec = [(0, import_utils.Action)("set")], _init_dec = [(0, import_utils.Action)("init", { acl: "public" })];
70
+ _LinkManagerController_decorators = [(0, import_server.Controller)("link-manage")], _getLink_dec = [(0, import_server.Action)("get")], _setLink_dec = [(0, import_server.Action)("set")], _init_dec = [(0, import_server.Action)("init", { acl: "public" })];
71
71
  class LinkManagerController {
72
72
  constructor() {
73
73
  __runInitializers(_init, 5, this);
@@ -1,4 +1,4 @@
1
- import { Context, Next } from '@tachybase/actions';
1
+ import { Context, Next } from '@tego/server';
2
2
  import { PluginVersionService } from '../services/plugin-version';
3
3
  export declare class PluginVersionController {
4
4
  pluginVersion: PluginVersionService;
@@ -65,10 +65,10 @@ __export(plugin_version_exports, {
65
65
  PluginVersionController: () => PluginVersionController
66
66
  });
67
67
  module.exports = __toCommonJS(plugin_version_exports);
68
- var import_utils = require("@tachybase/utils");
68
+ var import_server = require("@tego/server");
69
69
  var import_plugin_version = require("../services/plugin-version");
70
70
  var _version_dec, _pluginVersion_dec, _PluginVersionController_decorators, _init;
71
- _PluginVersionController_decorators = [(0, import_utils.Controller)("hera")], _pluginVersion_dec = [(0, import_utils.Inject)(() => import_plugin_version.PluginVersionService)], _version_dec = [(0, import_utils.Action)("version", { acl: "public" })];
71
+ _PluginVersionController_decorators = [(0, import_server.Controller)("hera")], _pluginVersion_dec = [(0, import_server.Inject)(() => import_plugin_version.PluginVersionService)], _version_dec = [(0, import_server.Action)("version", { acl: "public" })];
72
72
  class PluginVersionController {
73
73
  constructor() {
74
74
  __runInitializers(_init, 5, this);
@@ -1,4 +1,4 @@
1
- import { Context, Next } from '@tachybase/actions';
1
+ import { Context, Next } from '@tego/server';
2
2
  export declare class RobotController {
3
3
  getFeishuToken(app_id: string, app_secret: string): Promise<any>;
4
4
  sendMessage(ctx: Context, next: Next): Promise<void>;
@@ -74,10 +74,10 @@ __export(robot_controller_exports, {
74
74
  RobotController: () => RobotController
75
75
  });
76
76
  module.exports = __toCommonJS(robot_controller_exports);
77
- var import_utils = require("@tachybase/utils");
77
+ var import_server = require("@tego/server");
78
78
  var import_axios = __toESM(require("axios"));
79
79
  var _sendMessage_dec, _RobotController_decorators, _init;
80
- _RobotController_decorators = [(0, import_utils.Controller)("robot")], _sendMessage_dec = [(0, import_utils.Action)("sendMessage")];
80
+ _RobotController_decorators = [(0, import_server.Controller)("robot")], _sendMessage_dec = [(0, import_server.Action)("sendMessage")];
81
81
  class RobotController {
82
82
  constructor() {
83
83
  __runInitializers(_init, 5, this);
@@ -1,4 +1,4 @@
1
- import { Context } from '@tachybase/actions';
1
+ import { Context } from '@tego/server';
2
2
  export declare class SystemMessageController {
3
3
  getNotificationList(ctx: Context, next: () => Promise<any>): Promise<any>;
4
4
  updateNotificationList(ctx: Context, next: () => Promise<any>): Promise<any>;
@@ -65,9 +65,9 @@ __export(system_message_controller_exports, {
65
65
  SystemMessageController: () => SystemMessageController
66
66
  });
67
67
  module.exports = __toCommonJS(system_message_controller_exports);
68
- var import_utils = require("@tachybase/utils");
68
+ var import_server = require("@tego/server");
69
69
  var _updateNotificationList_dec, _getNotificationList_dec, _SystemMessageController_decorators, _init;
70
- _SystemMessageController_decorators = [(0, import_utils.Controller)("system_notifications")], _getNotificationList_dec = [(0, import_utils.Action)("get")], _updateNotificationList_dec = [(0, import_utils.Action)("update")];
70
+ _SystemMessageController_decorators = [(0, import_server.Controller)("system_notifications")], _getNotificationList_dec = [(0, import_server.Action)("get")], _updateNotificationList_dec = [(0, import_server.Action)("update")];
71
71
  class SystemMessageController {
72
72
  constructor() {
73
73
  __runInitializers(_init, 5, this);
@@ -1,4 +1,4 @@
1
- import { Context } from '@tachybase/actions';
1
+ import { Context } from '@tego/server';
2
2
  export declare class TokenConfigurationController {
3
3
  getConfiguration(ctx: Context, next: () => Promise<any>): Promise<any>;
4
4
  setConfiguration(ctx: Context, next: () => Promise<any>): Promise<any>;
@@ -65,9 +65,9 @@ __export(token_configuration_controller_exports, {
65
65
  TokenConfigurationController: () => TokenConfigurationController
66
66
  });
67
67
  module.exports = __toCommonJS(token_configuration_controller_exports);
68
- var import_utils = require("@tachybase/utils");
68
+ var import_server = require("@tego/server");
69
69
  var _setConfiguration_dec, _getConfiguration_dec, _TokenConfigurationController_decorators, _init;
70
- _TokenConfigurationController_decorators = [(0, import_utils.Controller)("token-configuration")], _getConfiguration_dec = [(0, import_utils.Action)("get")], _setConfiguration_dec = [(0, import_utils.Action)("set")];
70
+ _TokenConfigurationController_decorators = [(0, import_server.Controller)("token-configuration")], _getConfiguration_dec = [(0, import_server.Action)("get")], _setConfiguration_dec = [(0, import_server.Action)("set")];
71
71
  class TokenConfigurationController {
72
72
  constructor() {
73
73
  __runInitializers(_init, 5, this);
@@ -1,2 +1,2 @@
1
- declare const _default: import("@tachybase/database").CollectionOptions;
1
+ declare const _default: import("@tego/server").CollectionOptions;
2
2
  export default _default;
@@ -20,8 +20,8 @@ __export(link_manage_exports, {
20
20
  default: () => link_manage_default
21
21
  });
22
22
  module.exports = __toCommonJS(link_manage_exports);
23
- var import_database = require("@tachybase/database");
24
- var link_manage_default = (0, import_database.defineCollection)({
23
+ var import_server = require("@tego/server");
24
+ var link_manage_default = (0, import_server.defineCollection)({
25
25
  dumpRules: {
26
26
  group: "required"
27
27
  },
@@ -1,2 +1,2 @@
1
- declare const _default: import("@tachybase/database").CollectionDef;
1
+ declare const _default: import("@tego/server").CollectionDef;
2
2
  export default _default;
@@ -20,8 +20,8 @@ __export(systemSettings_exports, {
20
20
  default: () => systemSettings_default
21
21
  });
22
22
  module.exports = __toCommonJS(systemSettings_exports);
23
- var import_database = require("@tachybase/database");
24
- var systemSettings_default = (0, import_database.extendCollection)({
23
+ var import_server = require("@tego/server");
24
+ var systemSettings_default = (0, import_server.extendCollection)({
25
25
  name: "systemSettings",
26
26
  fields: [
27
27
  {
@@ -1,2 +1,2 @@
1
- declare const _default: import("@tachybase/database").CollectionOptions;
1
+ declare const _default: import("@tego/server").CollectionOptions;
2
2
  export default _default;
@@ -20,8 +20,8 @@ __export(system_message_exports, {
20
20
  default: () => system_message_default
21
21
  });
22
22
  module.exports = __toCommonJS(system_message_exports);
23
- var import_database = require("@tachybase/database");
24
- var system_message_default = (0, import_database.defineCollection)({
23
+ var import_server = require("@tego/server");
24
+ var system_message_default = (0, import_server.defineCollection)({
25
25
  dumpRules: {
26
26
  group: "required"
27
27
  },
@@ -1,2 +1,2 @@
1
- declare const _default: import("@tachybase/database").CollectionOptions;
1
+ declare const _default: import("@tego/server").CollectionOptions;
2
2
  export default _default;
@@ -20,8 +20,8 @@ __export(token_configuration_exports, {
20
20
  default: () => token_configuration_default
21
21
  });
22
22
  module.exports = __toCommonJS(token_configuration_exports);
23
- var import_database = require("@tachybase/database");
24
- var token_configuration_default = (0, import_database.defineCollection)({
23
+ var import_server = require("@tego/server");
24
+ var token_configuration_default = (0, import_server.defineCollection)({
25
25
  dumpRules: {
26
26
  group: "required"
27
27
  },
@@ -1,4 +1,4 @@
1
- import { BaseColumnFieldOptions, DataTypes, Field, Model } from '@tachybase/database';
1
+ import { BaseColumnFieldOptions, DataTypes, Field, Model } from '@tego/server';
2
2
  export interface CalcFieldOptions extends BaseColumnFieldOptions {
3
3
  type: 'calc';
4
4
  }
@@ -20,8 +20,8 @@ __export(calc_exports, {
20
20
  default: () => CalcField
21
21
  });
22
22
  module.exports = __toCommonJS(calc_exports);
23
- var import_database = require("@tachybase/database");
24
- class CalcField extends import_database.Field {
23
+ var import_server = require("@tego/server");
24
+ class CalcField extends import_server.Field {
25
25
  constructor(options, context) {
26
26
  super(options, context);
27
27
  this.setValue = (instance) => {
@@ -30,7 +30,7 @@ class CalcField extends import_database.Field {
30
30
  };
31
31
  }
32
32
  get dataType() {
33
- return import_database.DataTypes.STRING;
33
+ return import_server.DataTypes.STRING;
34
34
  }
35
35
  bind() {
36
36
  super.bind();
@@ -1,4 +1,4 @@
1
- import { BaseColumnFieldOptions, DataTypes, Field } from '@tachybase/database';
1
+ import { BaseColumnFieldOptions, DataTypes, Field } from '@tego/server';
2
2
  export interface TstzrangeFieldOptions extends BaseColumnFieldOptions {
3
3
  type: 'tstzrange';
4
4
  }
@@ -20,9 +20,9 @@ __export(tstzrange_exports, {
20
20
  default: () => TstzrangeField
21
21
  });
22
22
  module.exports = __toCommonJS(tstzrange_exports);
23
- var import_database = require("@tachybase/database");
24
- class TstzrangeField extends import_database.Field {
23
+ var import_server = require("@tego/server");
24
+ class TstzrangeField extends import_server.Field {
25
25
  get dataType() {
26
- return import_database.DataTypes.RANGE(import_database.DataTypes.DATE);
26
+ return import_server.DataTypes.RANGE(import_server.DataTypes.DATE);
27
27
  }
28
28
  }
@@ -1,4 +1,4 @@
1
- import { Migration } from '@tachybase/server';
1
+ import { Migration } from '@tego/server';
2
2
  export default class extends Migration {
3
3
  on: string;
4
4
  appVersion: string;
@@ -30,7 +30,7 @@ __export(add_plugin_department_exports, {
30
30
  default: () => add_plugin_department_default
31
31
  });
32
32
  module.exports = __toCommonJS(add_plugin_department_exports);
33
- var import_server = require("@tachybase/server");
33
+ var import_server = require("@tego/server");
34
34
  var import_plugin = __toESM(require("../plugin"));
35
35
  class add_plugin_department_default extends import_server.Migration {
36
36
  constructor() {
@@ -1,4 +1,4 @@
1
- import { Plugin } from '@tachybase/server';
1
+ import { Plugin } from '@tego/server';
2
2
  export declare class PluginCoreServer extends Plugin {
3
3
  afterAdd(): Promise<void>;
4
4
  load(): Promise<void>;
@@ -75,7 +75,7 @@ __export(plugin_exports, {
75
75
  default: () => plugin_default
76
76
  });
77
77
  module.exports = __toCommonJS(plugin_exports);
78
- var import_server = require("@tachybase/server");
78
+ var import_server = require("@tego/server");
79
79
  var import_actions = require("./actions");
80
80
  var import_calc = __toESM(require("./fields/calc"));
81
81
  var import_tstzrange = __toESM(require("./fields/tstzrange"));
@@ -1,4 +1,4 @@
1
- import Application from '@tachybase/server';
1
+ import { Application } from '@tego/server';
2
2
  export declare class PluginVersionService {
3
3
  app: Application;
4
4
  get(): Promise<any>;
@@ -65,9 +65,9 @@ __export(plugin_version_exports, {
65
65
  PluginVersionService: () => PluginVersionService
66
66
  });
67
67
  module.exports = __toCommonJS(plugin_version_exports);
68
- var import_utils = require("@tachybase/utils");
68
+ var import_server = require("@tego/server");
69
69
  var _app_dec, _PluginVersionService_decorators, _init;
70
- _PluginVersionService_decorators = [(0, import_utils.Service)()], _app_dec = [(0, import_utils.App)()];
70
+ _PluginVersionService_decorators = [(0, import_server.Service)()], _app_dec = [(0, import_server.App)()];
71
71
  class PluginVersionService {
72
72
  constructor() {
73
73
  this.app = __runInitializers(_init, 8, this), __runInitializers(_init, 11, this);
@@ -74,12 +74,12 @@ __export(sql_loader_exports, {
74
74
  SqlLoader: () => SqlLoader
75
75
  });
76
76
  module.exports = __toCommonJS(sql_loader_exports);
77
- var import_path = __toESM(require("path"));
78
- var import_utils = require("@tachybase/utils");
77
+ var import_node_path = __toESM(require("node:path"));
78
+ var import_server = require("@tego/server");
79
79
  var import_fs_extra = __toESM(require("fs-extra"));
80
80
  var import_multiprocess = require("../utils/multiprocess");
81
81
  var _db_dec, _SqlLoader_decorators, _init;
82
- _SqlLoader_decorators = [(0, import_utils.Service)()], _db_dec = [(0, import_utils.Db)()];
82
+ _SqlLoader_decorators = [(0, import_server.Service)()], _db_dec = [(0, import_server.Db)()];
83
83
  class SqlLoader {
84
84
  constructor() {
85
85
  this.sqlFiles = {};
@@ -90,11 +90,11 @@ class SqlLoader {
90
90
  const files = await import_fs_extra.default.readdir(directory);
91
91
  await Promise.all(
92
92
  files.map(async (file) => {
93
- const filePath = import_path.default.join(directory, file);
93
+ const filePath = import_node_path.default.join(directory, file);
94
94
  const stat = await import_fs_extra.default.stat(filePath);
95
- if (stat.isFile() && import_path.default.extname(file) === ".sql") {
95
+ if (stat.isFile() && import_node_path.default.extname(file) === ".sql") {
96
96
  const content = await import_fs_extra.default.readFile(filePath, "utf-8");
97
- const filename = import_path.default.basename(file, ".sql");
97
+ const filename = import_node_path.default.basename(file, ".sql");
98
98
  this.sqlFiles[filename] = content;
99
99
  if (filename.startsWith("view_")) {
100
100
  await this.loadView(filename, content);
@@ -65,9 +65,9 @@ __export(system_setting_service_exports, {
65
65
  SystemSettingService: () => SystemSettingService
66
66
  });
67
67
  module.exports = __toCommonJS(system_setting_service_exports);
68
- var import_utils = require("@tachybase/utils");
68
+ var import_server = require("@tego/server");
69
69
  var _db_dec, _SystemSettingService_decorators, _init;
70
- _SystemSettingService_decorators = [(0, import_utils.Service)()], _db_dec = [(0, import_utils.Db)()];
70
+ _SystemSettingService_decorators = [(0, import_server.Service)()], _db_dec = [(0, import_server.Db)()];
71
71
  class SystemSettingService {
72
72
  constructor() {
73
73
  this.db = __runInitializers(_init, 8, this), __runInitializers(_init, 11, this);
package/package.json CHANGED
@@ -1,16 +1,20 @@
1
1
  {
2
2
  "name": "@tachybase/module-hera",
3
3
  "displayName": "Hera platform - Deprecated",
4
- "version": "2.3.21",
4
+ "version": "2.3.22",
5
5
  "description": "Hera platform - Deprecated",
6
6
  "keywords": [
7
7
  "System management"
8
8
  ],
9
9
  "main": "dist/server/index.js",
10
10
  "devDependencies": {
11
- "@ant-design/icons": "~5.3.7",
11
+ "@ant-design/icons": "^5.6.1",
12
+ "@tachybase/schema": "^1.3.39",
12
13
  "@tachybase/sheet": "1.0.0-alpha.5",
13
- "@types/lodash": "~4.17.20",
14
+ "@tachybase/test": "^1.3.39",
15
+ "@tego/client": "^1.3.39",
16
+ "@tego/server": "^1.3.39",
17
+ "@types/lodash": "^4.17.20",
14
18
  "ahooks": "^3.9.0",
15
19
  "antd": "5.22.5",
16
20
  "axios": "1.7.7",
@@ -19,7 +23,7 @@
19
23
  "file-saver": "^2.0.5",
20
24
  "fs-extra": "^11.3.0",
21
25
  "lodash": "4.17.21",
22
- "react": "^18.3.1",
26
+ "react": "18.3.1",
23
27
  "react-error-boundary": "^4.1.2",
24
28
  "react-router-dom": "6.28.1",
25
29
  "redis": "^4.7.0",
@@ -27,25 +31,11 @@
27
31
  "throttle-debounce": "^5.0.2",
28
32
  "vitest": "^3.2.4",
29
33
  "ws": "^8.18.0",
30
- "@tachybase/components": "1.3.21",
31
- "@tachybase/schema": "1.3.21"
32
- },
33
- "peerDependencies": {
34
- "@tachybase/actions": "1.3.21",
35
- "@tachybase/data-source": "1.3.21",
36
- "@tachybase/client": "1.3.21",
37
- "@tachybase/database": "1.3.21",
38
- "@tachybase/module-acl": "1.3.21",
39
- "@tachybase/module-workflow": "1.3.21",
40
- "@tachybase/evaluators": "1.3.21",
41
- "@tachybase/schema": "1.3.21",
42
- "@tachybase/server": "1.3.21",
43
- "@tachybase/test": "1.3.21",
44
- "@tachybase/utils": "1.3.21"
34
+ "@tachybase/module-acl": "1.3.22",
35
+ "@tachybase/module-workflow": "1.3.22",
36
+ "@tachybase/client": "1.3.22"
45
37
  },
46
38
  "description.zh-CN": "赫拉平台(已废弃)",
47
39
  "displayName.zh-CN": "赫拉平台",
48
- "scripts": {
49
- "build": "tachybase-build --no-dts @tachybase/module-hera"
50
- }
40
+ "scripts": {}
51
41
  }