@ibiz-template/vue3-components 0.7.41-alpha.49 → 0.7.41-alpha.50

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 (57) hide show
  1. package/dist/index-CXRnZZS2.js +11 -0
  2. package/dist/index.min.css +1 -1
  3. package/dist/index.system.min.js +1 -1
  4. package/dist/{wang-editor-DnumgoHr.js → wang-editor-9WDOiHof.js} +1 -1
  5. package/dist/{xlsx-util-BVE35vSD.js → xlsx-util-CgGjW9-u.js} +1 -1
  6. package/es/control/drtab/drtab-control.util.mjs +1 -1
  7. package/es/control/form/form/form.mjs +2 -1
  8. package/es/control/form/form-detail/form-item/composite-form-item-ex/composite-form-item-ex.mjs +1 -2
  9. package/es/control/form/form-detail/form-item/form-item.mjs +1 -2
  10. package/es/control/grid/grid/grid.mjs +2 -1
  11. package/es/editor/markdown/ibiz-markdown-editor/ibiz-markdown-editor.css +1 -1
  12. package/es/index.mjs +1 -0
  13. package/es/util/app-util/app-util.mjs +5 -2
  14. package/es/util/fullscreen/fullscreen-util.mjs +1 -1
  15. package/es/util/index.mjs +1 -0
  16. package/es/util/inline-ai-util/inline-ai-textarea/inline-ai-textarea.hook.mjs +6 -3
  17. package/es/util/inline-ai-util/inline-ai-textarea/inline-ai-textarea.mjs +3 -0
  18. package/es/util/screen-shot-util/screen-shot/components/screen-shot/screen-shot.css +1 -1
  19. package/es/util/screen-shot-util/screen-shot/components/screen-shot/screen-shot.mjs +23 -2
  20. package/es/util/screen-shot-util/screen-shot/components/screen-shot-toolbar/screen-shot-toolbar.mjs +1 -1
  21. package/es/util/screen-shot-util/screen-shot/constant/index.mjs +9 -3
  22. package/es/util/screen-shot-util/screen-shot/controller/screen-shot.controller.mjs +36 -18
  23. package/es/util/screen-shot-util/screen-shot/controller/screen-shot.store.mjs +6 -0
  24. package/es/util/screen-shot-util/screen-shot/icon/icon.mjs +11 -1
  25. package/es/util/screen-shot-util/screen-shot/icon/index.mjs +1 -1
  26. package/es/util/screen-shot-util/screen-shot/type/index.mjs +1 -0
  27. package/es/util/user-route-util/user-route-util.mjs +55 -0
  28. package/es/web-app/main.mjs +1 -1
  29. package/es/web-app/router/index.mjs +1 -1
  30. package/lib/control/drtab/drtab-control.util.cjs +1 -1
  31. package/lib/control/form/form/form.cjs +2 -1
  32. package/lib/control/form/form-detail/form-item/composite-form-item-ex/composite-form-item-ex.cjs +1 -2
  33. package/lib/control/form/form-detail/form-item/form-item.cjs +1 -2
  34. package/lib/control/grid/grid/grid.cjs +2 -1
  35. package/lib/editor/markdown/ibiz-markdown-editor/ibiz-markdown-editor.css +1 -1
  36. package/lib/index.cjs +3 -0
  37. package/lib/util/app-util/app-util.cjs +5 -2
  38. package/lib/util/fullscreen/fullscreen-util.cjs +1 -1
  39. package/lib/util/index.cjs +3 -0
  40. package/lib/util/inline-ai-util/inline-ai-textarea/inline-ai-textarea.cjs +3 -0
  41. package/lib/util/inline-ai-util/inline-ai-textarea/inline-ai-textarea.hook.cjs +5 -2
  42. package/lib/util/screen-shot-util/screen-shot/components/screen-shot/screen-shot.cjs +22 -1
  43. package/lib/util/screen-shot-util/screen-shot/components/screen-shot/screen-shot.css +1 -1
  44. package/lib/util/screen-shot-util/screen-shot/components/screen-shot-toolbar/screen-shot-toolbar.cjs +1 -1
  45. package/lib/util/screen-shot-util/screen-shot/constant/index.cjs +8 -2
  46. package/lib/util/screen-shot-util/screen-shot/controller/screen-shot.controller.cjs +36 -18
  47. package/lib/util/screen-shot-util/screen-shot/controller/screen-shot.store.cjs +6 -0
  48. package/lib/util/screen-shot-util/screen-shot/icon/icon.cjs +11 -0
  49. package/lib/util/screen-shot-util/screen-shot/icon/index.cjs +1 -0
  50. package/lib/util/screen-shot-util/screen-shot/type/index.cjs +1 -0
  51. package/lib/util/user-route-util/user-route-util.cjs +58 -0
  52. package/lib/web-app/main.cjs +1 -1
  53. package/lib/web-app/router/index.cjs +1 -1
  54. package/package.json +5 -5
  55. package/dist/index-BUZnRhE6.js +0 -11
  56. /package/es/node_modules/.pnpm/{@ibiz-template_core@0.7.41-alpha.51_axios@1.12.2_lodash-es@4.17.21_qs@6.14.0_qx-util@0.4.8_ramda@0.29.1 → @ibiz-template_core@0.7.41-alpha.52_axios@1.12.2_lodash-es@4.17.21_qs@6.14.0_qx-util@0.4.8_ramda@0.29.1}/node_modules/@ibiz-template/core/out/utils/namespace/namespace.mjs +0 -0
  57. /package/lib/node_modules/.pnpm/{@ibiz-template_core@0.7.41-alpha.51_axios@1.12.2_lodash-es@4.17.21_qs@6.14.0_qx-util@0.4.8_ramda@0.29.1 → @ibiz-template_core@0.7.41-alpha.52_axios@1.12.2_lodash-es@4.17.21_qs@6.14.0_qx-util@0.4.8_ramda@0.29.1}/node_modules/@ibiz-template/core/out/utils/namespace/namespace.cjs +0 -0
@@ -1 +1 @@
1
- .ibiz-markdown{--ibiz-markdown-width:100%;--ibiz-markdown-color-manual-toolbar-bg-save:var(--ibiz-color-primary);--ibiz-markdown-color-manual-toolbar-text-save:var(--ibiz-color-primary-active-text);--ibiz-markdown-color-manual-toolbar-text-cancel:var(--ibiz-color-text-1);--ibiz-markdown-color-manual-toolbar-text-cancel-hover:var(--ibiz-color-primary);--ibiz-markdown-color-dark-scrollbar-thumb-dark:rgb(var(--ibiz-grey-4));--ibiz-markdown-color-light-scrollbar-thumb-dark:rgb(var(--ibiz-grey-4));--ibiz-markdown-color-scrollbar-thumb-dark-hover:rgba(var(--ibiz-grey-4), 0.5);--ibiz-markdown-color-dark-toc-text:var(--ibiz-color-fill-0);--ibiz-markdown-color-toc-header-text:var(--ibiz-color-text-0);--ibiz-markdown-color-dark-mardown-border:rgb(var(--ibiz-grey-2));--ibiz-markdown-color-fixed-toc-text:var(--ibiz-color-black);--ibiz-markdown-color-fixed-toc-arrow-text:var(--ibiz-color-primary);--ibiz-markdown-spacing-manual-toolbar-height:32px;--ibiz-markdown-spacing-manual-toolbar-gap:var(--ibiz-spacing-base);--ibiz-markdown-spacing-manual-toolbar-item-padding:0 var(--ibiz-spacing-base);--ibiz-markdown-spacing-manual-toolbar-margin:var(--ibiz-spacing-base-tight) var(--ibiz-spacing-tight) 0 0;--ibiz-markdown-spacing-manual-toolbar-fullscreen-height:var(--ibiz-height-control-default);--ibiz-markdown-spacing-manual-toolbar-fullscreen-padding:0 var(--ibiz-spacing-extra-loose);--ibiz-markdown-spacing-manual-toolbar-fullscreen-height-header:var(--ibiz-spacing-super-loose);--ibiz-markdown-height-manual-toolbar-height:var(--ibiz-height-control-default);--ibiz-markdown-border-radius-manual-toolbar-item:var(--ibiz-border-radius-small);--ibiz-markdown-border-manual-toolbar-fullscreen-footer:1px solid var(--ibiz-color-border);--ibiz-markdown-img-preview-top:-32px;--ibiz-markdown-img-preview-right:-36px;--ibiz-markdown-img-preview-width:32px;--ibiz-markdown-img-preview-height:32px}.ibiz-markdown__header{display:flex;flex-shrink:0;gap:var(--ibiz-markdown-spacing-manual-toolbar-gap);align-items:center;justify-content:end;height:var(--ibiz-markdown-spacing-manual-toolbar-height)}.ibiz-markdown__header--edit{cursor:pointer}.ibiz-markdown__header--full{cursor:pointer}.ibiz-markdown__header.is-fullscreen{position:fixed;top:0;right:0;left:0;z-index:999;width:100%;height:calc(var(--ibiz-markdown-spacing-manual-toolbar-fullscreen-height-header));padding:var(--ibiz-markdown-spacing-manual-toolbar-fullscreen-padding);margin-top:0;background-color:var(--ibiz-view-bg-color)}.ibiz-markdown__header.is-fullscreen+.ibiz-markdown-cherry .cherry.fullscreen{top:calc(var(--ibiz-markdown-spacing-manual-toolbar-fullscreen-height-header));height:calc(100% - var(--ibiz-markdown-spacing-manual-toolbar-fullscreen-height-header))}.ibiz-markdown__footer{display:flex;gap:var(--ibiz-markdown-spacing-manual-toolbar-gap);align-items:center;justify-content:end;height:var(--ibiz-markdown-spacing-manual-toolbar-height);margin:var(--ibiz-markdown-spacing-manual-toolbar-margin)}.ibiz-markdown__footer--save{height:var(--ibiz-markdown-height-manual-toolbar-height);padding:var(--ibiz-markdown-spacing-manual-toolbar-item-padding);line-height:var(--ibiz-markdown-height-manual-toolbar-height);color:var(--ibiz-markdown-color-manual-toolbar-text-save);text-align:center;cursor:pointer;background-color:var(--ibiz-markdown-color-manual-toolbar-bg-save);border-radius:var(--ibiz-markdown-border-radius-manual-toolbar-item)}.ibiz-markdown__footer--cancel{color:var(--ibiz-markdown-color-manual-toolbar-text-cancel);cursor:pointer}.ibiz-markdown__footer--cancel:hover{color:var(--ibiz-markdown-color-manual-toolbar-text-cancel-hover)}.ibiz-markdown__footer.is-fullscreen{position:fixed;right:0;bottom:0;left:0;z-index:999;width:100%;height:calc(var(--ibiz-markdown-spacing-manual-toolbar-fullscreen-height) * 2);padding:var(--ibiz-markdown-spacing-manual-toolbar-fullscreen-padding);margin-top:0;background-color:var(--ibiz-view-bg-color);border-top:var(--ibiz-markdown-border-manual-toolbar-fullscreen-footer)}.ibiz-markdown__footer.is-fullscreen+.ibiz-markdown-cherry .cherry.fullscreen{height:calc(100% - var(--ibiz-markdown-spacing-manual-toolbar-fullscreen-height) * 2)}.ibiz-markdown__img-preview.el-image{position:absolute;height:0}.ibiz-markdown__img-preview .el-image-viewer__wrapper{width:90%;height:90%;margin:auto}.ibiz-markdown__img-preview .el-image-viewer__mask{position:fixed;width:100vw;height:100vh;cursor:zoom-out;opacity:.7}.ibiz-markdown__img-preview .el-image-viewer__close{top:var(--ibiz-markdown-img-preview-top);right:var(--ibiz-markdown-img-preview-right);width:var(--ibiz-markdown-img-preview-width);height:var(--ibiz-markdown-img-preview-height)}.ibiz-markdown .ibiz-markdown-cherry{width:var(--ibiz-markdown-width);outline:0}.ibiz-markdown .ibiz-markdown-cherry .cherry{width:100%;border:1px solid var(--ibiz-color-border);box-shadow:none}.ibiz-markdown .ibiz-markdown-cherry .cherry .cherry-toolbar{box-shadow:none}.ibiz-markdown .ibiz-markdown-cherry .cherry .cherry-editor{border-top:1px solid var(--ibiz-color-border)}.ibiz-markdown .ibiz-markdown-cherry .cherry .cherry-previewer{border-top:1px solid var(--ibiz-color-border)}.ibiz-markdown .ibiz-markdown-cherry .cherry .cherry-previewer img{cursor:zoom-in}.ibiz-markdown .ibiz-markdown-cherry .cherry .cherry-sidebar{top:49px;border-left:1px solid var(--ibiz-color-border);box-shadow:none}.ibiz-markdown.is-disabled .cherry{min-height:auto}.ibiz-markdown.is-disabled .ibiz-markdown__fullscreen{position:absolute;top:8px;right:12px;z-index:98;font-size:var(--ibiz-font-size-regular);line-height:2.8}.ibiz-markdown.is-disabled .theme__dark .ibiz-markdown__fullscreen{color:var(--ibiz-color-text-0)}.ibiz-markdown.is-disabled .theme__dark .ibiz-markdown__fullscreen:hover{background-color:var(--ibiz-color-bg-3)}.ibiz-markdown.is-manual{display:flex;flex-direction:column}.ibiz-markdown.is-manual .ibiz-markdown-cherry{flex-grow:1;height:calc(100% - var(--ibiz-markdown-spacing-manual-toolbar-height))!important}.ibiz-markdown.is-manual.is-editing{flex-direction:column-reverse}.ibiz-markdown.is-manual .ibiz-markdown-menu{display:none}.ibiz-markdown.is-manual.is-editing .ibiz-markdown-menu{display:block}.ibiz-markdown.is-show-editor-switch-menu .ibiz-composite-form-item-ex-menu{--ibiz-composite-form-item-ex-menu-height:47px;--ibiz-composite-form-item-ex-menu-padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-base-tight) 0;max-height:100%}.ibiz-markdown.is-show-editor-switch-menu .cherry-toolbar{padding-right:calc(var(--ibiz-composite-form-item-ex-menu-width) + var(--ibiz-spacing-extra-tight))}.ibiz-markdown.is-show-editor-switch-menu .ibiz-markdown-menu{position:absolute;top:1px;right:1px;z-index:var(--ibiz-composite-form-item-ex-menu-z-index);display:flex;align-items:center;height:calc(var(--ibiz-markdown-toolbar-height) - 1px);background:var(--ibiz-composite-form-item-ex-menu-bg-color);border-right:1px solid var(--ibiz-color-border);border-left:1px solid var(--ibiz-color-border)}.ibiz-markdown.is-show-editor-switch-menu .ibiz-markdown-menu.is-fullscreen{position:fixed;z-index:1000}.ibiz-markdown.is-show-editor-switch-menu .ibiz-markdown-menu .ibiz-composite-form-item-ex-menu{position:relative}.ibiz-markdown .cherry-preview--full{border-left:none}.ibiz-markdown .cherry-flex-toc__fixed{color:var(--ibiz-markdown-color-fixed-toc-text)}.ibiz-markdown .cherry-flex-toc__fixed.cherry-flex-toc__pure .cherry-toc-head{color:var(--ibiz-markdown-color-fixed-toc-arrow-text)}.ibiz-markdown .cherry-flex-toc__fixed:hover{z-index:100}.ibiz-markdown .theme__dark,.ibiz-markdown .theme__light{color:var(--ibiz-form-item-text-color)}.ibiz-markdown .cherry-markdown h1 a::before,.ibiz-markdown .cherry-markdown h2 a::before,.ibiz-markdown .cherry-markdown h3 a::before,.ibiz-markdown .cherry-markdown h4 a::before,.ibiz-markdown .cherry-markdown h5 a::before,.ibiz-markdown .cherry-markdown h6 a::before{display:none}.ibiz-markdown .cherry.fullscreen{z-index:999}.ibiz-markdown--light .theme__green .cherry-toolbar,.ibiz-markdown--light .theme__light .cherry-toolbar,.ibiz-markdown--light .theme__violet .cherry-toolbar{background-color:var(--ibiz-color-bg-0)}.ibiz-markdown--light .theme__dark.cherry .cherry-flex-toc{color:var(--ibiz-markdown-color-toc-header-text)}.ibiz-markdown--light .theme__dark.cherry ::-webkit-scrollbar-thumb{background:var(--ibiz-markdown-color-light-scrollbar-thumb-dark)}.ibiz-markdown--light .theme__dark.cherry ::-webkit-scrollbar-thumb:hover{background:var(--ibiz-markdown-color-scrollbar-thumb-dark-hover)}.ibiz-markdown--dark.ibiz-markdown-cherry .cherry{border:1px solid var(--ibiz-markdown-color-dark-mardown-border)}.ibiz-markdown--dark .theme__green .cherry-toolbar,.ibiz-markdown--dark .theme__light .cherry-toolbar,.ibiz-markdown--dark .theme__violet .cherry-toolbar{background-color:var(--ibiz-color-shadow)}.ibiz-markdown--dark .theme__dark.cherry .cherry-toc-head{color:var(--ibiz-markdown-color-dark-toc-text)}.ibiz-markdown--dark .theme__dark.cherry ::-webkit-scrollbar-thumb{background:var(--ibiz-markdown-color-dark-scrollbar-thumb-dark)}.ibiz-markdown--dark .theme__dark.cherry ::-webkit-scrollbar-thumb:hover{background:var(--ibiz-markdown-color-scrollbar-thumb-dark-hover)}
1
+ .ibiz-markdown{--ibiz-markdown-width:100%;--ibiz-markdown-color-manual-toolbar-bg-save:var(--ibiz-color-primary);--ibiz-markdown-color-manual-toolbar-text-save:var(--ibiz-color-primary-active-text);--ibiz-markdown-color-manual-toolbar-text-cancel:var(--ibiz-color-text-1);--ibiz-markdown-color-manual-toolbar-text-cancel-hover:var(--ibiz-color-primary);--ibiz-markdown-color-dark-scrollbar-thumb-dark:rgb(var(--ibiz-grey-4));--ibiz-markdown-color-light-scrollbar-thumb-dark:rgb(var(--ibiz-grey-4));--ibiz-markdown-color-scrollbar-thumb-dark-hover:rgba(var(--ibiz-grey-4), 0.5);--ibiz-markdown-color-dark-toc-text:var(--ibiz-color-fill-0);--ibiz-markdown-color-toc-header-text:var(--ibiz-color-text-0);--ibiz-markdown-color-dark-mardown-border:rgb(var(--ibiz-grey-2));--ibiz-markdown-color-fixed-toc-text:var(--ibiz-color-black);--ibiz-markdown-color-fixed-toc-arrow-text:var(--ibiz-color-primary);--ibiz-markdown-spacing-manual-toolbar-height:32px;--ibiz-markdown-spacing-manual-toolbar-gap:var(--ibiz-spacing-base);--ibiz-markdown-spacing-manual-toolbar-item-padding:0 var(--ibiz-spacing-base);--ibiz-markdown-spacing-manual-toolbar-margin:var(--ibiz-spacing-base-tight) var(--ibiz-spacing-tight) 0 0;--ibiz-markdown-spacing-manual-toolbar-fullscreen-height:var(--ibiz-height-control-default);--ibiz-markdown-spacing-manual-toolbar-fullscreen-padding:0 var(--ibiz-spacing-extra-loose);--ibiz-markdown-spacing-manual-toolbar-fullscreen-height-header:var(--ibiz-spacing-super-loose);--ibiz-markdown-height-manual-toolbar-height:var(--ibiz-height-control-default);--ibiz-markdown-border-radius-manual-toolbar-item:var(--ibiz-border-radius-small);--ibiz-markdown-border-manual-toolbar-fullscreen-footer:1px solid var(--ibiz-color-border);--ibiz-markdown-img-preview-top:-32px;--ibiz-markdown-img-preview-right:-36px;--ibiz-markdown-img-preview-width:32px;--ibiz-markdown-img-preview-height:32px}.ibiz-markdown__header{display:flex;flex-shrink:0;gap:var(--ibiz-markdown-spacing-manual-toolbar-gap);align-items:center;justify-content:end;height:var(--ibiz-markdown-spacing-manual-toolbar-height)}.ibiz-markdown__header--edit{cursor:pointer}.ibiz-markdown__header--full{cursor:pointer}.ibiz-markdown__header.is-fullscreen{position:fixed;top:0;right:0;left:0;z-index:1000;width:100%;height:calc(var(--ibiz-markdown-spacing-manual-toolbar-fullscreen-height-header));padding:var(--ibiz-markdown-spacing-manual-toolbar-fullscreen-padding);margin-top:0;background-color:var(--ibiz-view-bg-color)}.ibiz-markdown__header.is-fullscreen+.ibiz-markdown-cherry .cherry.fullscreen{top:calc(var(--ibiz-markdown-spacing-manual-toolbar-fullscreen-height-header));height:calc(100% - var(--ibiz-markdown-spacing-manual-toolbar-fullscreen-height-header))}.ibiz-markdown__footer{display:flex;gap:var(--ibiz-markdown-spacing-manual-toolbar-gap);align-items:center;justify-content:end;height:var(--ibiz-markdown-spacing-manual-toolbar-height);margin:var(--ibiz-markdown-spacing-manual-toolbar-margin)}.ibiz-markdown__footer--save{height:var(--ibiz-markdown-height-manual-toolbar-height);padding:var(--ibiz-markdown-spacing-manual-toolbar-item-padding);line-height:var(--ibiz-markdown-height-manual-toolbar-height);color:var(--ibiz-markdown-color-manual-toolbar-text-save);text-align:center;cursor:pointer;background-color:var(--ibiz-markdown-color-manual-toolbar-bg-save);border-radius:var(--ibiz-markdown-border-radius-manual-toolbar-item)}.ibiz-markdown__footer--cancel{color:var(--ibiz-markdown-color-manual-toolbar-text-cancel);cursor:pointer}.ibiz-markdown__footer--cancel:hover{color:var(--ibiz-markdown-color-manual-toolbar-text-cancel-hover)}.ibiz-markdown__footer.is-fullscreen{position:fixed;right:0;bottom:0;left:0;z-index:1000;width:100%;height:calc(var(--ibiz-markdown-spacing-manual-toolbar-fullscreen-height) * 2);padding:var(--ibiz-markdown-spacing-manual-toolbar-fullscreen-padding);margin-top:0;background-color:var(--ibiz-view-bg-color);border-top:var(--ibiz-markdown-border-manual-toolbar-fullscreen-footer)}.ibiz-markdown__footer.is-fullscreen+.ibiz-markdown-cherry .cherry.fullscreen{height:calc(100% - var(--ibiz-markdown-spacing-manual-toolbar-fullscreen-height) * 2)}.ibiz-markdown__img-preview.el-image{position:absolute;height:0}.ibiz-markdown__img-preview .el-image-viewer__wrapper{width:90%;height:90%;margin:auto}.ibiz-markdown__img-preview .el-image-viewer__mask{position:fixed;width:100vw;height:100vh;cursor:zoom-out;opacity:.7}.ibiz-markdown__img-preview .el-image-viewer__close{top:var(--ibiz-markdown-img-preview-top);right:var(--ibiz-markdown-img-preview-right);width:var(--ibiz-markdown-img-preview-width);height:var(--ibiz-markdown-img-preview-height)}.ibiz-markdown .ibiz-markdown-cherry{width:var(--ibiz-markdown-width);outline:0}.ibiz-markdown .ibiz-markdown-cherry .cherry{width:100%;border:1px solid var(--ibiz-color-border);box-shadow:none}.ibiz-markdown .ibiz-markdown-cherry .cherry .cherry-toolbar{box-shadow:none}.ibiz-markdown .ibiz-markdown-cherry .cherry .cherry-editor{border-top:1px solid var(--ibiz-color-border)}.ibiz-markdown .ibiz-markdown-cherry .cherry .cherry-previewer{border-top:1px solid var(--ibiz-color-border)}.ibiz-markdown .ibiz-markdown-cherry .cherry .cherry-previewer img{cursor:zoom-in}.ibiz-markdown .ibiz-markdown-cherry .cherry .cherry-sidebar{top:49px;border-left:1px solid var(--ibiz-color-border);box-shadow:none}.ibiz-markdown.is-disabled .cherry{min-height:auto}.ibiz-markdown.is-disabled .ibiz-markdown__fullscreen{position:absolute;top:8px;right:12px;z-index:98;font-size:var(--ibiz-font-size-regular);line-height:2.8}.ibiz-markdown.is-disabled .theme__dark .ibiz-markdown__fullscreen{color:var(--ibiz-color-text-0)}.ibiz-markdown.is-disabled .theme__dark .ibiz-markdown__fullscreen:hover{background-color:var(--ibiz-color-bg-3)}.ibiz-markdown.is-manual{display:flex;flex-direction:column}.ibiz-markdown.is-manual .ibiz-markdown-cherry{flex-grow:1;height:calc(100% - var(--ibiz-markdown-spacing-manual-toolbar-height))!important}.ibiz-markdown.is-manual .cherry.fullscreen .cherry-previewer{padding-top:var(--ibiz-markdown-spacing-manual-toolbar-fullscreen-height-header)}.ibiz-markdown.is-manual.is-editing{flex-direction:column-reverse}.ibiz-markdown.is-manual.is-editing .cherry.fullscreen{height:calc(100% - var(--ibiz-markdown-spacing-manual-toolbar-fullscreen-height) * 2)}.ibiz-markdown.is-manual .ibiz-markdown-menu{display:none}.ibiz-markdown.is-manual.is-editing .ibiz-markdown-menu{display:block}.ibiz-markdown.is-show-editor-switch-menu .ibiz-composite-form-item-ex-menu{--ibiz-composite-form-item-ex-menu-height:47px;--ibiz-composite-form-item-ex-menu-padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-base-tight) 0;max-height:100%}.ibiz-markdown.is-show-editor-switch-menu .cherry-toolbar{padding-right:calc(var(--ibiz-composite-form-item-ex-menu-width) + var(--ibiz-spacing-extra-tight))}.ibiz-markdown.is-show-editor-switch-menu .ibiz-markdown-menu{position:absolute;top:1px;right:1px;z-index:var(--ibiz-composite-form-item-ex-menu-z-index);display:flex;align-items:center;height:calc(var(--ibiz-markdown-toolbar-height) - 1px);background:var(--ibiz-composite-form-item-ex-menu-bg-color);border-right:1px solid var(--ibiz-color-border);border-left:1px solid var(--ibiz-color-border)}.ibiz-markdown.is-show-editor-switch-menu .ibiz-markdown-menu.is-fullscreen{position:fixed;z-index:1000}.ibiz-markdown.is-show-editor-switch-menu .ibiz-markdown-menu .ibiz-composite-form-item-ex-menu{position:relative}.ibiz-markdown .cherry-preview--full{border-left:none}.ibiz-markdown .cherry-flex-toc__fixed{color:var(--ibiz-markdown-color-fixed-toc-text)}.ibiz-markdown .cherry-flex-toc__fixed.cherry-flex-toc__pure .cherry-toc-head{color:var(--ibiz-markdown-color-fixed-toc-arrow-text)}.ibiz-markdown .cherry-flex-toc__fixed:hover{z-index:100}.ibiz-markdown .theme__dark,.ibiz-markdown .theme__light{color:var(--ibiz-form-item-text-color)}.ibiz-markdown .cherry-markdown h1 a::before,.ibiz-markdown .cherry-markdown h2 a::before,.ibiz-markdown .cherry-markdown h3 a::before,.ibiz-markdown .cherry-markdown h4 a::before,.ibiz-markdown .cherry-markdown h5 a::before,.ibiz-markdown .cherry-markdown h6 a::before{display:none}.ibiz-markdown .cherry.fullscreen{z-index:999}.ibiz-markdown--light .theme__green .cherry-toolbar,.ibiz-markdown--light .theme__light .cherry-toolbar,.ibiz-markdown--light .theme__violet .cherry-toolbar{background-color:var(--ibiz-color-bg-0)}.ibiz-markdown--light .theme__dark.cherry .cherry-flex-toc{color:var(--ibiz-markdown-color-toc-header-text)}.ibiz-markdown--light .theme__dark.cherry ::-webkit-scrollbar-thumb{background:var(--ibiz-markdown-color-light-scrollbar-thumb-dark)}.ibiz-markdown--light .theme__dark.cherry ::-webkit-scrollbar-thumb:hover{background:var(--ibiz-markdown-color-scrollbar-thumb-dark-hover)}.ibiz-markdown--dark.ibiz-markdown-cherry .cherry{border:1px solid var(--ibiz-markdown-color-dark-mardown-border)}.ibiz-markdown--dark .theme__green .cherry-toolbar,.ibiz-markdown--dark .theme__light .cherry-toolbar,.ibiz-markdown--dark .theme__violet .cherry-toolbar{background-color:var(--ibiz-color-shadow)}.ibiz-markdown--dark .theme__dark.cherry .cherry-toc-head{color:var(--ibiz-markdown-color-dark-toc-text)}.ibiz-markdown--dark .theme__dark.cherry ::-webkit-scrollbar-thumb{background:var(--ibiz-markdown-color-dark-scrollbar-thumb-dark)}.ibiz-markdown--dark .theme__dark.cherry ::-webkit-scrollbar-thumb:hover{background:var(--ibiz-markdown-color-scrollbar-thumb-dark-hover)}
package/lib/index.cjs CHANGED
@@ -184,6 +184,7 @@ var buttonUtil = require('./util/button-util/button-util.cjs');
184
184
  var inlineAiUtil = require('./util/inline-ai-util/inline-ai-util.cjs');
185
185
  var aiChatUtil = require('./util/ai-chat-util/ai-chat-util.cjs');
186
186
  var screenShotUtil = require('./util/screen-shot-util/screen-shot-util.cjs');
187
+ var userRouteUtil = require('./util/user-route-util/user-route-util.cjs');
187
188
  var wangEditorUtil = require('./util/wang-editor-util/wang-editor-util.cjs');
188
189
  var icon = require('./util/icon/icon.cjs');
189
190
  var authGuard = require('./web-app/guard/auth-guard/auth-guard.cjs');
@@ -376,6 +377,8 @@ exports.convertBtnType = buttonUtil.convertBtnType;
376
377
  exports.InLineAIUtil = inlineAiUtil.InLineAIUtil;
377
378
  exports.AIChatUtil = aiChatUtil.AIChatUtil;
378
379
  exports.ScreenShotUtil = screenShotUtil.ScreenShotUtil;
380
+ exports.splitPathToSegments = userRouteUtil.splitPathToSegments;
381
+ exports.validateRouteSegments = userRouteUtil.validateRouteSegments;
379
382
  exports.parseHtml = wangEditorUtil.parseHtml;
380
383
  exports.ArrowLeftBold = icon.ArrowLeftBold;
381
384
  exports.ArrowRightBold = icon.ArrowRightBold;
@@ -274,8 +274,11 @@ class AppUtil {
274
274
  * }}
275
275
  * @memberof AppUtil
276
276
  */
277
- route2routeObject(isRouteModal) {
278
- const routePath = vue3Util.route2routePath(this.router.currentRoute.value);
277
+ route2routeObject(isRouteModal = false) {
278
+ const routePath = vue3Util.route2routePath(
279
+ this.router.currentRoute.value,
280
+ isRouteModal
281
+ );
279
282
  return routePath;
280
283
  }
281
284
  /**
@@ -2,7 +2,7 @@
2
2
 
3
3
  var vue = require('vue');
4
4
  var ElementPlus = require('element-plus');
5
- var namespace = require('../../node_modules/.pnpm/@ibiz-template_core@0.7.41-alpha.51_axios@1.12.2_lodash-es@4.17.21_qs@6.14.0_qx-util@0.4.8_ramda@0.29.1/node_modules/@ibiz-template/core/out/utils/namespace/namespace.cjs');
5
+ var namespace = require('../../node_modules/.pnpm/@ibiz-template_core@0.7.41-alpha.52_axios@1.12.2_lodash-es@4.17.21_qs@6.14.0_qx-util@0.4.8_ramda@0.29.1/node_modules/@ibiz-template/core/out/utils/namespace/namespace.cjs');
6
6
  var fullscreenToolbar = require('../../common/fullscreen-toolbar/fullscreen-toolbar.cjs');
7
7
 
8
8
  "use strict";
@@ -19,6 +19,7 @@ var icon = require('./icon/icon.cjs');
19
19
  var inlineAiUtil = require('./inline-ai-util/inline-ai-util.cjs');
20
20
  var aiChatUtil = require('./ai-chat-util/ai-chat-util.cjs');
21
21
  var screenShotUtil = require('./screen-shot-util/screen-shot-util.cjs');
22
+ var userRouteUtil = require('./user-route-util/user-route-util.cjs');
22
23
 
23
24
  "use strict";
24
25
 
@@ -42,3 +43,5 @@ exports.ArrowRightBold = icon.ArrowRightBold;
42
43
  exports.InLineAIUtil = inlineAiUtil.InLineAIUtil;
43
44
  exports.AIChatUtil = aiChatUtil.AIChatUtil;
44
45
  exports.ScreenShotUtil = screenShotUtil.ScreenShotUtil;
46
+ exports.splitPathToSegments = userRouteUtil.splitPathToSegments;
47
+ exports.validateRouteSegments = userRouteUtil.validateRouteSegments;
@@ -117,6 +117,9 @@ const InlineAITextArea = /* @__PURE__ */ vue.defineComponent({
117
117
  const handleAnswer = (answer) => {
118
118
  switch (answer.state) {
119
119
  case 20:
120
+ if (!answerContent) {
121
+ answerContent = "";
122
+ }
120
123
  answerContent += answer.content;
121
124
  Object.assign(message.value, parseContent(answerContent));
122
125
  break;
@@ -188,7 +188,7 @@ const useAI = (props, opts) => {
188
188
  try {
189
189
  if (e.data) {
190
190
  const msg = JSON.parse(e.data);
191
- let content = msg.actionresult;
191
+ let content = msg.actionresult || "";
192
192
  if (msg.actionstate === 30 && content)
193
193
  content = (_a = JSON.parse(content).choices) == null ? void 0 : _a[0].content;
194
194
  callBack({ state: msg.actionstate, content });
@@ -297,8 +297,11 @@ const useBase = (props, element, message) => {
297
297
  height: options.height ? "".concat(options.height, "px") : "auto",
298
298
  "max-height": "".concat(options.maxHeight || (options.height && options.height > 300 ? options.height : 300), "px")
299
299
  });
300
+ const toolcalls = vue.computed(() => {
301
+ return message.value.toolcalls || [];
302
+ });
300
303
  vue.watch(
301
- () => message.value.content,
304
+ () => [toolcalls.value.length, message.value.think, message.value.content],
302
305
  () => {
303
306
  vue.nextTick(() => {
304
307
  if (!textareaRef.value)
@@ -49,16 +49,37 @@ const ScreenShot = /* @__PURE__ */ vue.defineComponent({
49
49
  canvasElement,
50
50
  textInputElement
51
51
  } = c.store;
52
+ const handleClose = () => {
53
+ emit("cancel");
54
+ };
52
55
  const handleToolBarClick = (type, opt) => {
56
+ if (type === index.ToolbarItemType.CLOSE) {
57
+ handleClose();
58
+ return;
59
+ }
53
60
  c.onToolClick(type, opt);
54
61
  if (type === index.ToolbarItemType.AI)
55
62
  emit("complete", canvasElement.value.toDataURL("png"));
56
63
  };
64
+ const keydownHandle = (e) => {
65
+ if (e.code === "Escape")
66
+ handleClose();
67
+ if (e.ctrlKey && e.code === "KeyZ") {
68
+ c.goBackToHistory();
69
+ }
70
+ if (e.ctrlKey && e.code === "KeyY") {
71
+ c.goForwardToHistory();
72
+ }
73
+ };
57
74
  vue.onMounted(() => {
58
75
  c.domToCanvas(props.element, {
59
76
  container: props.container,
60
77
  itemClassName: props.itemClassName
61
78
  });
79
+ document.addEventListener("keydown", keydownHandle);
80
+ });
81
+ vue.onUnmounted(() => {
82
+ document.removeEventListener("keydown", keydownHandle);
62
83
  });
63
84
  return {
64
85
  c,
@@ -74,7 +95,7 @@ const ScreenShot = /* @__PURE__ */ vue.defineComponent({
74
95
  },
75
96
  render() {
76
97
  return vue.createVNode("div", {
77
- "class": this.ns.b(),
98
+ "class": [this.ns.b(), this.c.store.toolbarName.value ? this.ns.m(this.c.store.toolbarName.value.toLowerCase()) : ""],
78
99
  "id": "screenShotContainer",
79
100
  "onMouseup": () => this.c.mouseUpEvent()
80
101
  }, [this.isLoading && vue.createVNode("div", {
@@ -1 +1 @@
1
- .ibiz-screen-shot{--ibiz-screen-shot-mask-color-bg:rgba(122, 122, 122, 0.8);--ibiz-screen-shot-color-border:var(--ibiz-color-border);--ibiz-screen-shot-color-disabled:var(--ibiz-color-disabled-text);--ibiz-screen-shot-toolbar-color-0:var(--ibiz-color-text-3);--ibiz-screen-shot-toolbar-color-1:var(--ibiz-color-text-1);--ibiz-screen-shot-toolbar-color-bg:var(--ibiz-color-bg-2);--ibiz-screen-shot-toolbar-color-active:var(--ibiz-color-primary);position:fixed;top:0;left:0;z-index:999999;width:100%;height:100%;background-color:var(--ibiz-screen-shot-mask-color-bg)}.ibiz-screen-shot__toolber{position:absolute;top:40px;left:50%;z-index:1;transform:translateX(-50%)}.ibiz-screen-shot__canvas{position:absolute}.ibiz-screen-shot__text{position:absolute;top:0;left:0;z-index:1;box-sizing:border-box;display:none;min-width:20px;min-height:20px;padding:0;margin:0;font-weight:700;border:none;outline:0}.ibiz-screen-shot__text.is-show{display:block}
1
+ .ibiz-screen-shot{--ibiz-screen-shot-mask-color-bg:rgba(122, 122, 122, 0.8);--ibiz-screen-shot-color-border:var(--ibiz-color-border);--ibiz-screen-shot-color-disabled:var(--ibiz-color-disabled-text);--ibiz-screen-shot-toolbar-color-0:var(--ibiz-color-text-3);--ibiz-screen-shot-toolbar-color-1:var(--ibiz-color-text-1);--ibiz-screen-shot-toolbar-color-bg:var(--ibiz-color-bg-2);--ibiz-screen-shot-toolbar-color-active:var(--ibiz-color-primary);position:fixed;top:0;left:0;z-index:999999;width:100%;height:100%;background-color:var(--ibiz-screen-shot-mask-color-bg)}.ibiz-screen-shot__toolber{position:absolute;top:40px;left:50%;z-index:2;transform:translateX(-50%)}.ibiz-screen-shot__canvas{position:absolute}.ibiz-screen-shot__text{position:absolute;top:0;left:0;z-index:1;box-sizing:border-box;display:none;min-width:20px;min-height:20px;padding:0;margin:0;font-weight:700;border:none;outline:0}.ibiz-screen-shot__text.is-show{display:block}.ibiz-screen-shot.ibiz-screen-shot--arrow .ibiz-screen-shot__canvas,.ibiz-screen-shot.ibiz-screen-shot--brush .ibiz-screen-shot__canvas,.ibiz-screen-shot.ibiz-screen-shot--circle .ibiz-screen-shot__canvas,.ibiz-screen-shot.ibiz-screen-shot--mosaic .ibiz-screen-shot__canvas,.ibiz-screen-shot.ibiz-screen-shot--rect .ibiz-screen-shot__canvas{cursor:crosshair}.ibiz-screen-shot.ibiz-screen-shot--text .ibiz-screen-shot__canvas{cursor:text}
@@ -77,7 +77,7 @@ const ScreenShotToolbar = /* @__PURE__ */ vue.defineComponent({
77
77
  }, [this.items.map((item) => {
78
78
  var _a2;
79
79
  return vue.createVNode("div", {
80
- "class": [this.ns.e("item"), this.ns.em("item", item.type), this.ns.is("active", item.type !== index.ToolbarItemType.DRAWDOWN && item.type === ((_a2 = this.activeItem) == null ? void 0 : _a2.type)), this.ns.is("disabled", item.type === index.ToolbarItemType.DRAWDOWN && !this.history.length)],
80
+ "class": [this.ns.e("item"), this.ns.em("item", item.type), this.ns.is("active", item.type !== index.ToolbarItemType.DRAWDOWN && item.type === ((_a2 = this.activeItem) == null ? void 0 : _a2.type)), this.ns.is("disabled", item.type === index.ToolbarItemType.DRAWDOWN && this.history.length <= 1)],
81
81
  "onClick": () => this.handleItemClick(item)
82
82
  }, [vue.createVNode("div", {
83
83
  "class": this.ns.em("item", "icon"),
@@ -109,12 +109,12 @@ function getDefaultToolbarItems() {
109
109
  text: ibiz.i18n.t("util.screenShotUtil.text"),
110
110
  sizeOpts: [
111
111
  {
112
- value: 14,
112
+ value: 16,
113
113
  type: "small",
114
114
  text: ibiz.i18n.t("util.screenShotUtil.small")
115
115
  },
116
116
  {
117
- value: 18,
117
+ value: 20,
118
118
  type: "medium",
119
119
  text: ibiz.i18n.t("util.screenShotUtil.medium")
120
120
  },
@@ -167,6 +167,12 @@ function getDefaultToolbarItems() {
167
167
  icon: icon.AIIcon,
168
168
  type: index.ToolbarItemType.AI,
169
169
  text: "AI"
170
+ },
171
+ {
172
+ // 关闭
173
+ icon: icon.CloseIcon,
174
+ type: index.ToolbarItemType.CLOSE,
175
+ text: ibiz.i18n.t("app.close")
170
176
  }
171
177
  ];
172
178
  }
@@ -31,13 +31,6 @@ class ScreenShotController {
31
31
  * @memberof ScreenShotController
32
32
  */
33
33
  __publicField(this, "store");
34
- /**
35
- * @description 当前工具
36
- * @private
37
- * @type {ToolbarItemType}
38
- * @memberof ScreenShotController
39
- */
40
- __publicField(this, "toolName");
41
34
  /**
42
35
  * @description 画笔配置
43
36
  * @private
@@ -94,6 +87,13 @@ class ScreenShotController {
94
87
  * @memberof ScreenShotController
95
88
  */
96
89
  __publicField(this, "drawArrow", new drawArrow.DrawArrow());
90
+ /**
91
+ * @description 前进历史栈 - 存储被撤销的操作
92
+ * @private
93
+ * @type {Array<{ data: ImageData }>}
94
+ * @memberof ScreenShotController
95
+ */
96
+ __publicField(this, "redoHistory", []);
97
97
  this.store = new screenShot_store.ScreenShotStore();
98
98
  }
99
99
  /**
@@ -128,6 +128,7 @@ class ScreenShotController {
128
128
  controller.height
129
129
  )
130
130
  });
131
+ this.redoHistory = [];
131
132
  }
132
133
  /**
133
134
  * @description 回退历史
@@ -136,13 +137,31 @@ class ScreenShotController {
136
137
  */
137
138
  goBackToHistory() {
138
139
  var _a;
139
- if (!this.store.history.value.length)
140
+ if (this.store.history.value.length <= 1)
140
141
  return;
141
- this.store.history.value.pop();
142
+ this.endTextEditing();
143
+ const poppedHistory = this.store.history.value.pop();
144
+ if (poppedHistory) {
145
+ this.redoHistory.push(poppedHistory);
146
+ }
142
147
  const data = (_a = this.store.history.value[this.store.history.value.length - 1]) == null ? void 0 : _a.data;
143
148
  if (this.canvasCtx && data)
144
149
  this.canvasCtx.putImageData(data, 0, 0);
145
150
  }
151
+ /**
152
+ * @description 前进历史(重做)
153
+ * @memberof ScreenShotController
154
+ */
155
+ goForwardToHistory() {
156
+ if (!this.redoHistory.length)
157
+ return;
158
+ this.endTextEditing();
159
+ const forwardHistory = this.redoHistory.pop();
160
+ if (!forwardHistory || !this.canvasCtx)
161
+ return;
162
+ this.store.history.value.push(forwardHistory);
163
+ this.canvasCtx.putImageData(forwardHistory.data, 0, 0);
164
+ }
146
165
  /**
147
166
  * @description 启用文本编辑
148
167
  * @private
@@ -255,7 +274,7 @@ class ScreenShotController {
255
274
  if (toolName === index$2.ToolbarItemType.DRAWDOWN)
256
275
  this.goBackToHistory();
257
276
  this.brushOption = opt;
258
- this.toolName = toolName;
277
+ this.store.toolbarName.value = toolName;
259
278
  this.endTextEditing();
260
279
  }
261
280
  /**
@@ -264,7 +283,7 @@ class ScreenShotController {
264
283
  * @memberof ScreenShotController
265
284
  */
266
285
  mouseDownEvent(event) {
267
- if (event.button !== 0 || !this.toolName || this.toolName === index$2.ToolbarItemType.DRAWDOWN || !this.canvasCtx)
286
+ if (event.button !== 0 || !this.store.toolbarName.value || this.store.toolbarName.value === index$2.ToolbarItemType.DRAWDOWN || !this.canvasCtx)
268
287
  return;
269
288
  this.drawing = true;
270
289
  const { mouseX, mouseY } = index.getMousePosition(event);
@@ -272,7 +291,7 @@ class ScreenShotController {
272
291
  mouseX,
273
292
  mouseY
274
293
  });
275
- switch (this.toolName) {
294
+ switch (this.store.toolbarName.value) {
276
295
  case index$2.ToolbarItemType.BRUSH:
277
296
  drawPencil.initPencil(this.canvasCtx, mouseX, mouseY);
278
297
  break;
@@ -290,13 +309,13 @@ class ScreenShotController {
290
309
  * @memberof ScreenShotController
291
310
  */
292
311
  mouseMoveEvent(event) {
293
- if (!this.toolName || !this.drawing || !this.canvasCtx || !this.brushOption)
312
+ if (!this.store.toolbarName.value || !this.drawing || !this.canvasCtx || !this.brushOption)
294
313
  return;
295
314
  const { mouseX, mouseY } = index.getMousePosition(event);
296
315
  const { mouseX: startX, mouseY: startY } = this.drawGraphPosition;
297
- if (this.toolName !== index$2.ToolbarItemType.MOSAIC)
316
+ if (this.store.toolbarName.value !== index$2.ToolbarItemType.MOSAIC)
298
317
  this.showLastHistory();
299
- switch (this.toolName) {
318
+ switch (this.store.toolbarName.value) {
300
319
  case index$2.ToolbarItemType.BRUSH:
301
320
  drawPencil.drawPencil(
302
321
  this.canvasCtx,
@@ -358,10 +377,9 @@ class ScreenShotController {
358
377
  */
359
378
  mouseUpEvent() {
360
379
  this.drawing = false;
361
- if (!this.toolName || this.toolName === index$2.ToolbarItemType.DRAWDOWN || !this.canvasCtx)
380
+ if (!this.store.toolbarName.value || this.store.toolbarName.value === index$2.ToolbarItemType.DRAWDOWN || this.store.toolbarName.value === index$2.ToolbarItemType.TEXT || !this.canvasCtx)
362
381
  return;
363
- if (this.toolName !== index$2.ToolbarItemType.TEXT)
364
- this.addHistory();
382
+ this.addHistory();
365
383
  }
366
384
  }
367
385
 
@@ -41,6 +41,12 @@ class ScreenShotStore {
41
41
  * @memberof ScreenShotStore
42
42
  */
43
43
  __publicField(this, "toolbarStatus", vue.ref(false));
44
+ /**
45
+ * @description 当前工具名称
46
+ * @type {Ref<boolean>}
47
+ * @memberof ScreenShotStore
48
+ */
49
+ __publicField(this, "toolbarName", vue.ref());
44
50
  /**
45
51
  * @description 历史
46
52
  * @type {Ref<{ data: ImageData }[]>}
@@ -88,11 +88,22 @@ const DrawdownIcon = vue.createVNode("svg", {
88
88
  "d": "M341.333333 298.666667v170.666666L85.333333 256l256-213.333333v170.666666h213.333334a341.333333 341.333333 0 1 1 0 682.666667H170.666667v-85.333333h384a256 256 0 0 0 0-512H341.333333z",
89
89
  "p-id": "80470"
90
90
  }, null)]);
91
+ const CloseIcon = vue.createVNode("svg", {
92
+ "class": "icon",
93
+ "viewBox": "0 0 1024 1024",
94
+ "version": "1.1",
95
+ "xmlns": "http://www.w3.org/2000/svg",
96
+ "p-id": "5023"
97
+ }, [vue.createVNode("path", {
98
+ "d": "M801.645714 170.666667l51.833905 51.590095L565.150476 511.951238l288.353524 289.670095-51.833905 51.614477-288.109714-289.450667L225.426286 853.23581 173.592381 801.621333l288.329143-289.670095L173.592381 222.256762 225.426286 170.666667l288.109714 289.426285L801.645714 170.666667z",
99
+ "p-id": "5024"
100
+ }, null)]);
91
101
 
92
102
  exports.AIIcon = AIIcon;
93
103
  exports.ArrowIcon = ArrowIcon;
94
104
  exports.BrushIcon = BrushIcon;
95
105
  exports.CircleIcon = CircleIcon;
106
+ exports.CloseIcon = CloseIcon;
96
107
  exports.DrawdownIcon = DrawdownIcon;
97
108
  exports.MarkerIcon = MarkerIcon;
98
109
  exports.MosaicIcon = MosaicIcon;
@@ -8,6 +8,7 @@ exports.AIIcon = icon.AIIcon;
8
8
  exports.ArrowIcon = icon.ArrowIcon;
9
9
  exports.BrushIcon = icon.BrushIcon;
10
10
  exports.CircleIcon = icon.CircleIcon;
11
+ exports.CloseIcon = icon.CloseIcon;
11
12
  exports.DrawdownIcon = icon.DrawdownIcon;
12
13
  exports.MarkerIcon = icon.MarkerIcon;
13
14
  exports.MosaicIcon = icon.MosaicIcon;
@@ -12,6 +12,7 @@ var ToolbarItemType = /* @__PURE__ */ ((ToolbarItemType2) => {
12
12
  ToolbarItemType2["AI"] = "ai";
13
13
  ToolbarItemType2["MOSAIC"] = "mosaic";
14
14
  ToolbarItemType2["DRAWDOWN"] = "drawdown";
15
+ ToolbarItemType2["CLOSE"] = "close";
15
16
  return ToolbarItemType2;
16
17
  })(ToolbarItemType || {});
17
18
 
@@ -0,0 +1,58 @@
1
+ 'use strict';
2
+
3
+ "use strict";
4
+ const splitPathToSegments = (path) => {
5
+ const segments = [];
6
+ let currentSegment = "";
7
+ let parenCount = 0;
8
+ for (let i = 0; i < path.length; i++) {
9
+ const char = path[i];
10
+ if (char === "/") {
11
+ if (parenCount === 0) {
12
+ if (currentSegment) {
13
+ segments.push(currentSegment);
14
+ currentSegment = "";
15
+ }
16
+ continue;
17
+ } else {
18
+ currentSegment += char;
19
+ }
20
+ } else {
21
+ if (char === "(") {
22
+ parenCount += 1;
23
+ } else if (char === ")") {
24
+ parenCount -= 1;
25
+ }
26
+ currentSegment += char;
27
+ }
28
+ }
29
+ if (currentSegment) {
30
+ segments.push(currentSegment);
31
+ }
32
+ return segments;
33
+ };
34
+ const validateRouteSegments = (segments) => {
35
+ if (segments.length < 3 || segments.length % 2 === 0) {
36
+ return false;
37
+ }
38
+ const paramReg = ":[^()]+\\(\\[\\^/\\]\\+=\\[\\^/\\]\\+\\|".concat(ibiz.env.routePlaceholder, "\\)");
39
+ const viewReg = "[^=/]+";
40
+ for (let i = 0; i < segments.length; i++) {
41
+ const segment = segments[i];
42
+ if (i % 2 === 0) {
43
+ const paramRegex = new RegExp("^".concat(paramReg, "$"));
44
+ if (!paramRegex.test(segment) && segment !== ibiz.env.routePlaceholder) {
45
+ return false;
46
+ }
47
+ } else {
48
+ const viewRegex = new RegExp("^".concat(viewReg, "$"));
49
+ if (!viewRegex.test(segment)) {
50
+ return false;
51
+ }
52
+ }
53
+ }
54
+ return true;
55
+ };
56
+
57
+ exports.splitPathToSegments = splitPathToSegments;
58
+ exports.validateRouteSegments = validateRouteSegments;
@@ -74,7 +74,7 @@ async function runApp(plugins, opts) {
74
74
  index.AppRouter.setAuthGuard(
75
75
  (context, notLogin) => authGuard.verify(context, notLogin)
76
76
  );
77
- app.use(index.AppRouter.getRouter());
77
+ app.use(index.AppRouter.getRouter(opts == null ? void 0 : opts.userRoutes));
78
78
  devtool.listenOpenDevTool(index.AppRouter.getRouter());
79
79
  ibiz.appUtil = new appUtil.AppUtil(index.AppRouter.getRouter());
80
80
  ibiz.openView = new openViewUtil.OpenViewUtil(index.AppRouter.getRouter());
@@ -35,7 +35,7 @@ class AppRouter {
35
35
  }
36
36
  return appContext;
37
37
  }
38
- static getRouter() {
38
+ static getRouter(userRoutes) {
39
39
  const placeholder = ibiz.env.routePlaceholder;
40
40
  const paramReg = "[^/]+=[^/]+|".concat(placeholder);
41
41
  const viewReg = "[^=/]+";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ibiz-template/vue3-components",
3
- "version": "0.7.41-alpha.49",
3
+ "version": "0.7.41-alpha.50",
4
4
  "description": "web端组件库(vue3)",
5
5
  "main": "lib/index.cjs",
6
6
  "module": "es/index.mjs",
@@ -34,12 +34,12 @@
34
34
  "@ibiz-template-plugin/gantt": "0.1.8-alpha.378",
35
35
  "@ibiz-template-plugin/bi-report": "0.0.30",
36
36
  "@ibiz-template-plugin/data-view": "0.0.6",
37
- "@ibiz-template/core": "0.7.41-alpha.51",
37
+ "@ibiz-template/core": "0.7.41-alpha.52",
38
38
  "@ibiz-template/devtool": "0.0.13",
39
- "@ibiz-template/model-helper": "0.7.41-alpha.51",
40
- "@ibiz-template/runtime": "0.7.41-alpha.51",
39
+ "@ibiz-template/model-helper": "0.7.41-alpha.52",
40
+ "@ibiz-template/runtime": "0.7.41-alpha.52",
41
41
  "@ibiz-template/theme": "0.7.39",
42
- "@ibiz-template/vue3-util": "0.7.41-alpha.51",
42
+ "@ibiz-template/vue3-util": "0.7.41-alpha.52",
43
43
  "@ibiz-template/web-theme": "3.10.0",
44
44
  "@ibiz/model-core": "^0.1.84",
45
45
  "@imengyu/vue3-context-menu": "^1.3.5",