@ibiz-template/vue3-components 0.7.27 → 0.7.28-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (121) hide show
  1. package/dist/{index-0TO7mjm5.js → index-HNRMy1_g.js} +1 -1
  2. package/dist/index-QB7iGpIB.js +4 -0
  3. package/dist/{index-g6o3vQXo.js → index-xa8K5AHD.js} +1 -1
  4. package/dist/index.min.css +1 -1
  5. package/dist/index.system.min.js +1 -1
  6. package/dist/wang-editor-YqnK5uQU.js +1 -0
  7. package/dist/{xlsx-util-qdXxbg2A.js → xlsx-util-nADTbeWP.js} +1 -1
  8. package/es/control/dashboard/custom-dashboard-container/custom-dashboard-container.d.ts +0 -1
  9. package/es/control/dashboard/dashboard-design/dashboard-design.mjs +3 -3
  10. package/es/control/drtab/drtab-control.util.mjs +1 -1
  11. package/es/control/grid/grid/grid-control.util.d.ts +0 -2
  12. package/es/control/grid/grid/grid-control.util.mjs +9 -72
  13. package/es/control/grid/grid/grid.css +1 -1
  14. package/es/control/grid/grid/grid.d.ts +0 -2
  15. package/es/control/grid/grid/grid.mjs +1 -7
  16. package/es/control/grid/grid/index.d.ts +0 -2
  17. package/es/control/report-panel/report-panel.mjs +5 -0
  18. package/es/control/toolbar/toolbar.css +1 -1
  19. package/es/control/toolbar/toolbar.mjs +144 -8
  20. package/es/editor/dropdown-list/ibiz-emoji-picker/ibiz-emoji-picker.d.ts +1 -1
  21. package/es/editor/dropdown-list/ibiz-emoji-picker/ibiz-emoji-picker.mjs +2 -9
  22. package/es/editor/html/html-editor.controller.d.ts +88 -0
  23. package/es/editor/html/html-editor.controller.mjs +169 -6
  24. package/es/editor/html/wang-editor/component/emoji/emoji.css +1 -0
  25. package/es/editor/html/wang-editor/component/emoji/emoji.d.ts +17 -0
  26. package/es/editor/html/wang-editor/component/emoji/emoji.mjs +42 -0
  27. package/es/editor/html/wang-editor/component/index.d.ts +1 -0
  28. package/es/editor/html/wang-editor/component/index.mjs +3 -0
  29. package/es/editor/html/wang-editor/element/emoji.d.ts +7 -0
  30. package/es/editor/html/wang-editor/element/emoji.mjs +22 -0
  31. package/es/editor/html/wang-editor/element/index.d.ts +1 -0
  32. package/es/editor/html/wang-editor/element/index.mjs +3 -0
  33. package/es/editor/html/wang-editor/index.d.ts +4 -0
  34. package/es/editor/html/wang-editor/index.mjs +11 -0
  35. package/es/editor/html/wang-editor/module/ai-module.d.ts +67 -0
  36. package/es/editor/html/wang-editor/module/ai-module.mjs +76 -0
  37. package/es/editor/html/wang-editor/module/emoji-module.d.ts +7 -0
  38. package/es/editor/html/wang-editor/module/emoji-module.mjs +125 -0
  39. package/es/editor/html/wang-editor/module/index.d.ts +2 -0
  40. package/es/editor/html/wang-editor/module/index.mjs +4 -0
  41. package/es/editor/html/wang-editor/plugin/index.d.ts +1 -0
  42. package/es/editor/html/wang-editor/plugin/index.mjs +3 -0
  43. package/es/editor/html/wang-editor/plugin/plugin.d.ts +7 -0
  44. package/es/editor/html/wang-editor/plugin/plugin.mjs +23 -0
  45. package/es/editor/html/wang-editor/wang-editor.css +1 -1
  46. package/es/editor/html/wang-editor/wang-editor.mjs +7 -7
  47. package/es/editor/span/span/span.mjs +2 -2
  48. package/es/editor/text-box/input/input.mjs +2 -2
  49. package/es/locale/en/index.d.ts +1 -0
  50. package/es/locale/en/index.mjs +2 -1
  51. package/es/locale/zh-CN/index.d.ts +1 -0
  52. package/es/locale/zh-CN/index.mjs +2 -1
  53. package/es/node_modules/.pnpm/snabbdom@3.5.1/node_modules/snabbdom/build/h.mjs +89 -0
  54. package/es/node_modules/.pnpm/snabbdom@3.5.1/node_modules/snabbdom/build/helpers/attachto.mjs +47 -0
  55. package/es/node_modules/.pnpm/snabbdom@3.5.1/node_modules/snabbdom/build/hooks.mjs +1 -0
  56. package/es/node_modules/.pnpm/snabbdom@3.5.1/node_modules/snabbdom/build/htmldomapi.mjs +115 -0
  57. package/es/node_modules/.pnpm/snabbdom@3.5.1/node_modules/snabbdom/build/index.mjs +18 -0
  58. package/es/node_modules/.pnpm/snabbdom@3.5.1/node_modules/snabbdom/build/init.mjs +376 -0
  59. package/es/node_modules/.pnpm/snabbdom@3.5.1/node_modules/snabbdom/build/is.mjs +9 -0
  60. package/es/node_modules/.pnpm/snabbdom@3.5.1/node_modules/snabbdom/build/jsx.mjs +64 -0
  61. package/es/node_modules/.pnpm/snabbdom@3.5.1/node_modules/snabbdom/build/modules/attributes.mjs +59 -0
  62. package/es/node_modules/.pnpm/snabbdom@3.5.1/node_modules/snabbdom/build/modules/class.mjs +28 -0
  63. package/es/node_modules/.pnpm/snabbdom@3.5.1/node_modules/snabbdom/build/modules/dataset.mjs +42 -0
  64. package/es/node_modules/.pnpm/snabbdom@3.5.1/node_modules/snabbdom/build/modules/eventlisteners.mjs +85 -0
  65. package/es/node_modules/.pnpm/snabbdom@3.5.1/node_modules/snabbdom/build/modules/props.mjs +24 -0
  66. package/es/node_modules/.pnpm/snabbdom@3.5.1/node_modules/snabbdom/build/modules/style.mjs +115 -0
  67. package/es/node_modules/.pnpm/snabbdom@3.5.1/node_modules/snabbdom/build/thunk.mjs +52 -0
  68. package/es/node_modules/.pnpm/snabbdom@3.5.1/node_modules/snabbdom/build/tovnode.mjs +62 -0
  69. package/es/node_modules/.pnpm/snabbdom@3.5.1/node_modules/snabbdom/build/vnode.mjs +6 -0
  70. package/lib/control/dashboard/dashboard-design/dashboard-design.cjs +3 -3
  71. package/lib/control/drtab/drtab-control.util.cjs +1 -1
  72. package/lib/control/grid/grid/grid-control.util.cjs +9 -72
  73. package/lib/control/grid/grid/grid.cjs +1 -7
  74. package/lib/control/grid/grid/grid.css +1 -1
  75. package/lib/control/report-panel/report-panel.cjs +5 -0
  76. package/lib/control/toolbar/toolbar.cjs +144 -8
  77. package/lib/control/toolbar/toolbar.css +1 -1
  78. package/lib/editor/dropdown-list/ibiz-emoji-picker/ibiz-emoji-picker.cjs +1 -8
  79. package/lib/editor/html/html-editor.controller.cjs +169 -6
  80. package/lib/editor/html/wang-editor/component/emoji/emoji.cjs +44 -0
  81. package/lib/editor/html/wang-editor/component/emoji/emoji.css +1 -0
  82. package/lib/editor/html/wang-editor/component/index.cjs +7 -0
  83. package/lib/editor/html/wang-editor/element/emoji.cjs +24 -0
  84. package/lib/editor/html/wang-editor/element/index.cjs +7 -0
  85. package/lib/editor/html/wang-editor/index.cjs +19 -0
  86. package/lib/editor/html/wang-editor/module/ai-module.cjs +78 -0
  87. package/lib/editor/html/wang-editor/module/emoji-module.cjs +127 -0
  88. package/lib/editor/html/wang-editor/module/index.cjs +9 -0
  89. package/lib/editor/html/wang-editor/plugin/index.cjs +7 -0
  90. package/lib/editor/html/wang-editor/plugin/plugin.cjs +25 -0
  91. package/lib/editor/html/wang-editor/wang-editor.cjs +7 -7
  92. package/lib/editor/html/wang-editor/wang-editor.css +1 -1
  93. package/lib/editor/span/span/span.cjs +1 -1
  94. package/lib/editor/text-box/input/input.cjs +1 -1
  95. package/lib/locale/en/index.cjs +2 -1
  96. package/lib/locale/zh-CN/index.cjs +2 -1
  97. package/lib/node_modules/.pnpm/snabbdom@3.5.1/node_modules/snabbdom/build/h.cjs +93 -0
  98. package/lib/node_modules/.pnpm/snabbdom@3.5.1/node_modules/snabbdom/build/helpers/attachto.cjs +49 -0
  99. package/lib/node_modules/.pnpm/snabbdom@3.5.1/node_modules/snabbdom/build/hooks.cjs +2 -0
  100. package/lib/node_modules/.pnpm/snabbdom@3.5.1/node_modules/snabbdom/build/htmldomapi.cjs +117 -0
  101. package/lib/node_modules/.pnpm/snabbdom@3.5.1/node_modules/snabbdom/build/index.cjs +42 -0
  102. package/lib/node_modules/.pnpm/snabbdom@3.5.1/node_modules/snabbdom/build/init.cjs +378 -0
  103. package/lib/node_modules/.pnpm/snabbdom@3.5.1/node_modules/snabbdom/build/is.cjs +12 -0
  104. package/lib/node_modules/.pnpm/snabbdom@3.5.1/node_modules/snabbdom/build/jsx.cjs +67 -0
  105. package/lib/node_modules/.pnpm/snabbdom@3.5.1/node_modules/snabbdom/build/modules/attributes.cjs +61 -0
  106. package/lib/node_modules/.pnpm/snabbdom@3.5.1/node_modules/snabbdom/build/modules/class.cjs +30 -0
  107. package/lib/node_modules/.pnpm/snabbdom@3.5.1/node_modules/snabbdom/build/modules/dataset.cjs +44 -0
  108. package/lib/node_modules/.pnpm/snabbdom@3.5.1/node_modules/snabbdom/build/modules/eventlisteners.cjs +87 -0
  109. package/lib/node_modules/.pnpm/snabbdom@3.5.1/node_modules/snabbdom/build/modules/props.cjs +26 -0
  110. package/lib/node_modules/.pnpm/snabbdom@3.5.1/node_modules/snabbdom/build/modules/style.cjs +117 -0
  111. package/lib/node_modules/.pnpm/snabbdom@3.5.1/node_modules/snabbdom/build/thunk.cjs +54 -0
  112. package/lib/node_modules/.pnpm/snabbdom@3.5.1/node_modules/snabbdom/build/tovnode.cjs +64 -0
  113. package/lib/node_modules/.pnpm/snabbdom@3.5.1/node_modules/snabbdom/build/vnode.cjs +8 -0
  114. package/package.json +6 -5
  115. package/dist/index-Dq21zXhV.js +0 -4
  116. package/dist/wang-editor-XpJH4SXt.js +0 -1
  117. package/es/editor/html/wang-editor/ai/ai-modules.d.ts +0 -10
  118. package/es/editor/html/wang-editor/ai/ai-modules.mjs +0 -32
  119. package/lib/editor/html/wang-editor/ai/ai-modules.cjs +0 -34
  120. /package/es/node_modules/.pnpm/{@ibiz-template_core@0.7.27_axios@1.6.8_lodash-es@4.17.21_qs@6.11.2_qx-util@0.4.8_ramda@0.29.1 → @ibiz-template_core@0.7.28-alpha.0_axios@1.6.8_lodash-es@4.17.21_qs@6.11.2_qx-util@0.4.8_ramda@0.29.1}/node_modules/@ibiz-template/core/out/utils/namespace/namespace.mjs +0 -0
  121. /package/lib/node_modules/.pnpm/{@ibiz-template_core@0.7.27_axios@1.6.8_lodash-es@4.17.21_qs@6.11.2_qx-util@0.4.8_ramda@0.29.1 → @ibiz-template_core@0.7.28-alpha.0_axios@1.6.8_lodash-es@4.17.21_qs@6.11.2_qx-util@0.4.8_ramda@0.29.1}/node_modules/@ibiz-template/core/out/utils/namespace/namespace.cjs +0 -0
@@ -0,0 +1,125 @@
1
+ import '../../../../node_modules/.pnpm/snabbdom@3.5.1/node_modules/snabbdom/build/index.mjs';
2
+ import { base64ToStr } from '@ibiz-template/core';
3
+ import { h } from '../../../../node_modules/.pnpm/snabbdom@3.5.1/node_modules/snabbdom/build/h.mjs';
4
+
5
+ "use strict";
6
+ var __defProp = Object.defineProperty;
7
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
+ var __publicField = (obj, key, value) => {
9
+ __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
10
+ return value;
11
+ };
12
+ const renderElemConf = {
13
+ type: "emoji",
14
+ renderElem: (elem) => {
15
+ const { data = {} } = elem;
16
+ const vnode = h(
17
+ "emoji-elem",
18
+ {
19
+ dataset: { value: data.emoji ? base64ToStr(data.emoji) : "" },
20
+ props: {
21
+ contentEditable: false
22
+ // 不可编辑
23
+ }
24
+ },
25
+ []
26
+ );
27
+ return vnode;
28
+ }
29
+ };
30
+ const elemToHtmlConf = {
31
+ type: "emoji",
32
+ elemToHtml: (elem) => {
33
+ const { data } = elem;
34
+ return '<span data-w-e-type="emoji" class="emoji">'.concat(data.emoji, "</span>");
35
+ }
36
+ };
37
+ const parseHtmlConf = {
38
+ selector: 'span[data-w-e-type="emoji"]',
39
+ parseElemHtml: (elem) => {
40
+ const data = {
41
+ emoji: elem.innerHTML
42
+ };
43
+ return {
44
+ data,
45
+ type: "emoji",
46
+ children: [{ text: "" }]
47
+ };
48
+ }
49
+ };
50
+ class EmojiButtonMenu {
51
+ /**
52
+ * Creates an instance of EmojiButtonMenu.
53
+ * @memberof EmojiButtonMenu
54
+ */
55
+ constructor() {
56
+ /**
57
+ * 标题
58
+ *
59
+ * @memberof EmojiButtonMenu
60
+ */
61
+ __publicField(this, "title", "".concat(ibiz.i18n.t("editor.html.wangEditor.emoji")));
62
+ /**
63
+ * 菜单类型
64
+ *
65
+ * @memberof EmojiButtonMenu
66
+ */
67
+ __publicField(this, "tag", "button");
68
+ /**
69
+ * 菜单图标
70
+ *
71
+ * @memberof EmojiButtonMenu
72
+ */
73
+ __publicField(this, "iconSvg", "<svg viewBox='0 0 1040 1024' version='1.1' xmlns='http://www.w3.org/2000/svg' p-id='1490' width='1em' height='1em' stroke='var(--w-e-toolbar-color)' > <path stroke-width='38' d='M512.075261 1024A511.774217 511.774217 0 1 1 730.482434 48.769072a37.630457 37.630457 0 1 1-32.061149 68.035867 436.513303 436.513303 0 1 0 250.468323 395.270322 37.630457 37.630457 0 0 1 75.260914 0 512.526826 512.526826 0 0 1-512.075261 511.924739z' p-id='1491' ></path> <path stroke-width='38' d='M333.857416 344.0929a57.348817 57.348817 0 1 0 57.348817 57.348817 57.499339 57.499339 0 0 0-57.348817-57.348817zM686.53006 344.0929a57.348817 57.348817 0 1 0 57.348817 57.348817 57.348817 57.348817 0 0 0-57.348817-57.348817zM515.236219 783.165074c-162.864619 0-262.359547-141.942084-262.359547-219.159782a30.104366 30.104366 0 0 1 60.208731 0c0 48.618551 76.314567 158.951051 202.150816 158.951051s193.571072-134.114949 193.571072-158.951051a30.104366 30.104366 0 0 1 60.208731 0c0 54.488902-90.012054 219.159782-253.779803 219.159782zM1009.549904 207.720123h-67.132735V139.985301a30.104366 30.104366 0 1 0-60.208732 0v67.734822h-67.734822a30.104366 30.104366 0 0 0-30.104366 30.104366 30.104366 30.104366 0 0 0 30.104366 30.104366h67.734822v67.734823a30.104366 30.104366 0 0 0 60.208732 0v-67.734823h67.734823a30.104366 30.104366 0 0 0 30.104365-30.104366 30.104366 30.104366 0 0 0-30.706453-30.104366z' p-id='1492' ></path> </svg>");
74
+ }
75
+ /**
76
+ * 菜单是否需要激活(如选中加粗文本,“加粗”菜单会激活),用不到则返回 false
77
+ *
78
+ * @return {*} {boolean}
79
+ * @memberof EmojiButtonMenu
80
+ */
81
+ isActive() {
82
+ return false;
83
+ }
84
+ /**
85
+ * 获取菜单执行时的 value ,用不到则返回空 字符串或 false
86
+ *
87
+ * @return {*} {(string | boolean)}
88
+ * @memberof EmojiButtonMenu
89
+ */
90
+ getValue() {
91
+ return false;
92
+ }
93
+ /**
94
+ * 菜单是否需要禁用(如选中 H1 ,“引用”菜单被禁用),用不到则返回 false
95
+ *
96
+ * @return {*} {boolean}
97
+ * @memberof EmojiButtonMenu
98
+ */
99
+ isDisabled() {
100
+ return false;
101
+ }
102
+ /**
103
+ * 点击菜单时触发的函数
104
+ *
105
+ * @param {IDomEditor} editor
106
+ * @memberof EmojiButtonMenu
107
+ */
108
+ exec(editor) {
109
+ editor.emit("openEmojiSelect");
110
+ }
111
+ }
112
+ const EmojiMenu = {
113
+ key: "emoji",
114
+ factory() {
115
+ return new EmojiButtonMenu();
116
+ }
117
+ };
118
+ const EmojiModule = {
119
+ renderElems: [renderElemConf],
120
+ elemsToHtml: [elemToHtmlConf],
121
+ parseElemsHtml: [parseHtmlConf],
122
+ menus: [EmojiMenu]
123
+ };
124
+
125
+ export { EmojiModule };
@@ -0,0 +1,2 @@
1
+ export { AIMenu } from './ai-module';
2
+ export { EmojiModule } from './emoji-module';
@@ -0,0 +1,4 @@
1
+ export { AIMenu } from './ai-module.mjs';
2
+ export { EmojiModule } from './emoji-module.mjs';
3
+
4
+ "use strict";
@@ -0,0 +1 @@
1
+ export { Plugin } from './plugin';
@@ -0,0 +1,3 @@
1
+ export { Plugin } from './plugin.mjs';
2
+
3
+ "use strict";
@@ -0,0 +1,7 @@
1
+ import { IDomEditor } from '@wangeditor/editor';
2
+ /**
3
+ * 插件
4
+ * @param editor
5
+ * @returns
6
+ */
7
+ export declare const Plugin: <T extends IDomEditor>(editor: T) => T;
@@ -0,0 +1,23 @@
1
+ import { DomEditor } from '@wangeditor/editor';
2
+
3
+ "use strict";
4
+ const Plugin = (editor) => {
5
+ const { isInline, isVoid } = editor;
6
+ editor.isInline = (elem) => {
7
+ const type = DomEditor.getNodeType(elem);
8
+ if (type === "emoji") {
9
+ return true;
10
+ }
11
+ return isInline(elem);
12
+ };
13
+ editor.isVoid = (elem) => {
14
+ const type = DomEditor.getNodeType(elem);
15
+ if (type === "emoji") {
16
+ return true;
17
+ }
18
+ return isVoid(elem);
19
+ };
20
+ return editor;
21
+ };
22
+
23
+ export { Plugin };
@@ -1 +1 @@
1
- .ibiz-html{--ibiz-html-height:300px;display:inline-block;width:100%;height:100%;--w-e-textarea-bg-color:var(--ibiz-color-bg-1);--w-e-textarea-color:var(--ibiz-color-text-2);--w-e-textarea-border-color:var(--ibiz-color-border);--w-e-textarea-slight-border-color:var(--ibiz-color-border);--w-e-textarea-slight-color:var(--ibiz-color-text-3);--w-e-textarea-slight-bg-color:var(--ibiz-color-bg-1);--w-e-textarea-selected-border-color:var(--ibiz-color-border);--w-e-textarea-handler-bg-color:var(--ibiz-color-primary);--w-e-toolbar-color:var(--ibiz-color-text-0);--w-e-toolbar-bg-color:var(--ibiz-color-bg-1);--w-e-toolbar-active-color:var(--ibiz-color-text-0);--w-e-toolbar-active-bg-color:var(--ibiz-color-bg-1);--w-e-toolbar-disabled-color:var(--ibiz-color-disabled-text);--w-e-toolbar-border-color:var(--ibiz-color-border);--w-e-modal-button-bg-color:var(--ibiz-color-bg-1);--w-e-modal-button-border-color:var(--ibiz-color-border)}.ibiz-html .ibiz-html-content{display:flex;flex-direction:column;height:100%;background-color:var(--ibiz-color-bg-0)}.ibiz-html .ibiz-html-editor{height:var(--ibiz-html-height)!important;padding:0;overflow-y:scroll;border:1px solid var(--ibiz-color-border)}.ibiz-html .ibiz-html-editor.is-readonly{height:auto!important}.ibiz-html .ibiz-html-editor table{width:100%!important;border-collapse:collapse}.ibiz-html .ibiz-html-editor table th{height:var(--ibiz-height-control-large);min-height:var(--ibiz-height-control-large);padding:var(--ibiz-spacing-tight);border:1px solid var(--ibiz-color-border)}.ibiz-html .ibiz-html-editor table td{height:var(--ibiz-height-control-large);min-height:var(--ibiz-height-control-large);padding:var(--ibiz-spacing-tight);empty-cells:show;border:1px solid var(--ibiz-color-border)}.ibiz-html .w-e-menu-tooltip-v5::before{color:var(--ibiz-color-text-0);background-color:var(--w-e-toolbar-bg-color)}.ibiz-html .w-e-full-screen-container{z-index:9999}.ibiz-html .w-e-scroll>div{background-color:var(--ibiz-color-bg-1)}.ibiz-html .table-container table{width:100%}.ibiz-html-editor-readonly .ibiz-html-toolbar{display:none}.ibiz-html-editor-readonly .ibiz-html-editor{border:none}.ibiz-html-footer{display:flex;align-items:center;justify-content:end;margin-top:var(--ibiz-spacing-base-tight);margin-right:var(--ibiz-spacing-tight)}.ibiz-html-footer>*+*{margin-left:var(--ibiz-spacing-base)}.ibiz-html-footer__cancel{height:var(--ibiz-height-control-default);line-height:var(--ibiz-height-control-default);color:var(--ibiz-color-text-1);cursor:pointer;opacity:.7}.ibiz-html-footer__cancel:hover{color:var(--ibiz-color-primary);opacity:1}.ibiz-html-footer__save{height:var(--ibiz-height-control-default);padding:0 var(--ibiz-spacing-base);line-height:var(--ibiz-height-control-default);color:var(--ibiz-color-primary-active-text);text-align:center;cursor:pointer;background-color:var(--ibiz-color-primary);border-radius:var(--ibiz-border-radius-small)}.ibiz-html-custom-toolbar{display:flex;align-items:center;justify-content:end;width:100%;height:var(--ibiz-height-control-default);padding-right:var(--ibiz-spacing-base);font-size:var(--ibiz-font-size-header-6)}.ibiz-html-custom-toolbar>*+*{margin-left:var(--ibiz-spacing-base-loose)}.ibiz-html-custom-toolbar i{cursor:pointer}.ibiz-html-custom-toolbar i:hover{color:var(--ibiz-color-primary)}.ibiz-html-message{width:500px;max-width:unset}.ibiz-html-message__message-content--message-tip{color:var(--ibiz-color-text-3)}.ibiz-html-message__message-cancel{color:var(--ibiz-color-text-1);background-color:transparent}.ibiz-html-message__message-cancel:hover{color:var(--ibiz-color-primary);background-color:transparent}.ibiz-html-message__message-comfire{background-color:var(--ibiz-color-danger)!important}.ibiz-html-message__message-comfire:hover{box-shadow:0 2px 5px 1px var(--ibiz-color-danger)}.ibiz-html-dialog-full-screen{height:80%}.ibiz-html-dialog-full-screen .ibiz-html{padding:0 var(--ibiz-spacing-extra-loose);--w-e-toolbar-bg-color:var(--ibiz-color-bg-0)}.ibiz-html-dialog-full-screen .ibiz-html-custom-toolbar{height:56px}.ibiz-html-dialog-full-screen .ibiz-html-content{height:calc(100% - 124px)}.ibiz-html-dialog-full-screen .ibiz-html-content .ibiz-html-editor{height:100%!important}.ibiz-html-footer-dialog{height:68px;margin-top:0}
1
+ .ibiz-html{--ibiz-html-height:300px;display:inline-block;width:100%;height:100%;--w-e-textarea-bg-color:var(--ibiz-color-bg-1);--w-e-textarea-color:var(--ibiz-color-text-2);--w-e-textarea-border-color:var(--ibiz-color-border);--w-e-textarea-slight-border-color:var(--ibiz-color-border);--w-e-textarea-slight-color:var(--ibiz-color-text-3);--w-e-textarea-slight-bg-color:var(--ibiz-color-bg-1);--w-e-textarea-selected-border-color:var(--ibiz-color-border);--w-e-textarea-handler-bg-color:var(--ibiz-color-primary);--w-e-toolbar-color:var(--ibiz-color-text-0);--w-e-toolbar-bg-color:var(--ibiz-color-bg-1);--w-e-toolbar-active-color:var(--ibiz-color-text-0);--w-e-toolbar-active-bg-color:var(--ibiz-color-bg-1);--w-e-toolbar-disabled-color:var(--ibiz-color-disabled-text);--w-e-toolbar-border-color:var(--ibiz-color-border);--w-e-modal-button-bg-color:var(--ibiz-color-bg-1);--w-e-modal-button-border-color:var(--ibiz-color-border)}.ibiz-html .ibiz-html-content{display:flex;flex-direction:column;height:100%;background-color:var(--ibiz-color-bg-0)}.ibiz-html .ibiz-html-editor{height:var(--ibiz-html-height)!important;padding:0;overflow-y:scroll;border:1px solid var(--ibiz-color-border)}.ibiz-html .ibiz-html-editor.is-readonly{height:auto!important}.ibiz-html .ibiz-html-editor table{width:100%!important;border-collapse:collapse}.ibiz-html .ibiz-html-editor table th{height:var(--ibiz-height-control-large);min-height:var(--ibiz-height-control-large);padding:var(--ibiz-spacing-tight);border:1px solid var(--ibiz-color-border)}.ibiz-html .ibiz-html-editor table td{height:var(--ibiz-height-control-large);min-height:var(--ibiz-height-control-large);padding:var(--ibiz-spacing-tight);empty-cells:show;border:1px solid var(--ibiz-color-border)}.ibiz-html .w-e-menu-tooltip-v5::before{color:var(--ibiz-color-text-0);background-color:var(--w-e-toolbar-bg-color)}.ibiz-html .w-e-full-screen-container{z-index:9999}.ibiz-html .w-e-scroll>div{background-color:var(--ibiz-color-bg-1)}.ibiz-html .table-container table{width:100%}.ibiz-html-editor-readonly .ibiz-html-toolbar{display:none}.ibiz-html-editor-readonly .ibiz-html-editor{border:none}.ibiz-html-footer{display:flex;align-items:center;justify-content:end;margin-top:var(--ibiz-spacing-base-tight);margin-right:var(--ibiz-spacing-tight)}.ibiz-html-footer>*+*{margin-left:var(--ibiz-spacing-base)}.ibiz-html-footer__cancel{height:var(--ibiz-height-control-default);line-height:var(--ibiz-height-control-default);color:var(--ibiz-color-text-1);cursor:pointer;opacity:.7}.ibiz-html-footer__cancel:hover{color:var(--ibiz-color-primary);opacity:1}.ibiz-html-footer__save{height:var(--ibiz-height-control-default);padding:0 var(--ibiz-spacing-base);line-height:var(--ibiz-height-control-default);color:var(--ibiz-color-primary-active-text);text-align:center;cursor:pointer;background-color:var(--ibiz-color-primary);border-radius:var(--ibiz-border-radius-small)}.ibiz-html-custom-toolbar{display:flex;align-items:center;justify-content:end;width:100%;height:var(--ibiz-height-control-default);padding-right:var(--ibiz-spacing-base);font-size:var(--ibiz-font-size-header-6)}.ibiz-html-custom-toolbar>*+*{margin-left:var(--ibiz-spacing-base-loose)}.ibiz-html-custom-toolbar i{cursor:pointer}.ibiz-html-custom-toolbar i:hover{color:var(--ibiz-color-primary)}.ibiz-html-message{width:500px;max-width:unset}.ibiz-html-message__message-content--message-tip{color:var(--ibiz-color-text-3)}.ibiz-html-message__message-cancel{color:var(--ibiz-color-text-1);background-color:transparent}.ibiz-html-message__message-cancel:hover{color:var(--ibiz-color-primary);background-color:transparent}.ibiz-html-message__message-comfire{background-color:var(--ibiz-color-danger)!important}.ibiz-html-message__message-comfire:hover{box-shadow:0 2px 5px 1px var(--ibiz-color-danger)}.ibiz-html-dialog-full-screen{height:80%}.ibiz-html-dialog-full-screen .ibiz-html{padding:0 var(--ibiz-spacing-extra-loose);--w-e-toolbar-bg-color:var(--ibiz-color-bg-0)}.ibiz-html-dialog-full-screen .ibiz-html-custom-toolbar{height:56px}.ibiz-html-dialog-full-screen .ibiz-html-content{height:calc(100% - 124px)}.ibiz-html-dialog-full-screen .ibiz-html-content .ibiz-html-editor{height:100%!important}.ibiz-html-footer-dialog{height:68px;margin-top:0}emoji-elem{margin:0 1px!important}
@@ -69,14 +69,12 @@ const IBizHtml = /* @__PURE__ */ defineComponent({
69
69
  return url;
70
70
  };
71
71
  const toolbarConfig = {
72
- excludeKeys: ["group-video"]
73
- };
74
- if (c.chatCompletion) {
75
- toolbarConfig.insertKeys = {
72
+ excludeKeys: ["group-video", "emotion"],
73
+ insertKeys: {
76
74
  index: 60,
77
- keys: ["|", "aichart"]
78
- };
79
- }
75
+ keys: c.chatCompletion ? ["emoji", "|", "aichart"] : ["emoji"]
76
+ }
77
+ };
80
78
  const editorConfig = {
81
79
  placeholder: c.placeHolder,
82
80
  readOnly: hasEnableEdit.value ? readonlyState.value : props.readonly,
@@ -228,6 +226,7 @@ const IBizHtml = /* @__PURE__ */ defineComponent({
228
226
  };
229
227
  const handleCreated = (editor) => {
230
228
  editorRef.value = editor;
229
+ c.onCreated(editorRef.value);
231
230
  editor.setHtml(valueHtml.value);
232
231
  editor.on("aiClick", () => {
233
232
  onClickAI();
@@ -472,6 +471,7 @@ const IBizHtml = /* @__PURE__ */ defineComponent({
472
471
  calcHtmlStyle();
473
472
  });
474
473
  onUnmounted(() => {
474
+ c.onDestroyed();
475
475
  if (resizeObserver) {
476
476
  resizeObserver.disconnect();
477
477
  }
@@ -2,7 +2,7 @@ import { ref, watch, computed, resolveComponent, createVNode, defineComponent }
2
2
  import { getSpanProps, useNamespace, useCodeListListen, useFocusAndBlur } from '@ibiz-template/vue3-util';
3
3
  import './span.css';
4
4
  import { isNil } from 'ramda';
5
- import { DataTypes, isBase64, base64ToStr } from '@ibiz-template/core';
5
+ import { DataTypes, isEmoji, base64ToStr } from '@ibiz-template/core';
6
6
  import dayjs from 'dayjs';
7
7
  import customParseFormat from 'dayjs/plugin/customParseFormat';
8
8
 
@@ -74,7 +74,7 @@ const IBizSpan = /* @__PURE__ */ defineComponent({
74
74
  text.value = "".concat(newVal);
75
75
  ibiz.log.error("".concat(newVal, " \u503C\u683C\u5F0F\u5316\u9519\u8BEF"));
76
76
  }
77
- } else if (Number.isNaN(Number(newVal)) && isBase64("".concat(newVal))) {
77
+ } else if (isEmoji("".concat(newVal))) {
78
78
  text.value = base64ToStr("".concat(newVal));
79
79
  } else {
80
80
  text.value = "".concat(newVal);
@@ -1,6 +1,6 @@
1
1
  import { isVNode, ref, computed, watch, onUnmounted, resolveComponent, createVNode, mergeProps, defineComponent } from 'vue';
2
2
  import { getInputProps, getEditorEmits, useNamespace, useCodeListListen } from '@ibiz-template/vue3-util';
3
- import { isBase64, base64ToStr } from '@ibiz-template/core';
3
+ import { isEmoji, base64ToStr } from '@ibiz-template/core';
4
4
  import { createUUID } from 'qx-util';
5
5
  import './input.css';
6
6
 
@@ -58,7 +58,7 @@ const IBizInput = /* @__PURE__ */ defineComponent({
58
58
  if (newVal !== oldVal) {
59
59
  if (newVal == null) {
60
60
  currentVal.value = "";
61
- } else if (Number.isNaN(Number(newVal)) && isBase64("".concat(newVal))) {
61
+ } else if (isEmoji("".concat(newVal))) {
62
62
  currentVal.value = base64ToStr("".concat(newVal));
63
63
  } else {
64
64
  currentVal.value = newVal.toString();
@@ -1167,6 +1167,7 @@ declare const _default: {
1167
1167
  html: {
1168
1168
  wangEditor: {
1169
1169
  customTips: string;
1170
+ emoji: string;
1170
1171
  };
1171
1172
  };
1172
1173
  markdown: {
@@ -502,7 +502,8 @@ var index = {
502
502
  },
503
503
  html: {
504
504
  wangEditor: {
505
- customTips: "Custom tip"
505
+ customTips: "Custom tip",
506
+ emoji: "Emoji"
506
507
  }
507
508
  },
508
509
  markdown: {
@@ -1161,6 +1161,7 @@ declare const _default: {
1161
1161
  html: {
1162
1162
  wangEditor: {
1163
1163
  customTips: string;
1164
+ emoji: string;
1164
1165
  };
1165
1166
  };
1166
1167
  markdown: {
@@ -498,7 +498,8 @@ var index = {
498
498
  },
499
499
  html: {
500
500
  wangEditor: {
501
- customTips: "\u81EA\u5B9A\u4E49\u63D0\u793A"
501
+ customTips: "\u81EA\u5B9A\u4E49\u63D0\u793A",
502
+ emoji: "\u8868\u60C5"
502
503
  }
503
504
  },
504
505
  markdown: {
@@ -0,0 +1,89 @@
1
+ import { vnode } from './vnode.mjs';
2
+ import { array, primitive } from './is.mjs';
3
+
4
+ function addNS(data, children, sel) {
5
+ data.ns = "http://www.w3.org/2000/svg";
6
+ if (sel !== "foreignObject" && children !== undefined) {
7
+ for (let i = 0; i < children.length; ++i) {
8
+ const child = children[i];
9
+ if (typeof child === "string")
10
+ continue;
11
+ const childData = child.data;
12
+ if (childData !== undefined) {
13
+ addNS(childData, child.children, child.sel);
14
+ }
15
+ }
16
+ }
17
+ }
18
+ function h(sel, b, c) {
19
+ let data = {};
20
+ let children;
21
+ let text;
22
+ let i;
23
+ if (c !== undefined) {
24
+ if (b !== null) {
25
+ data = b;
26
+ }
27
+ if (array(c)) {
28
+ children = c;
29
+ }
30
+ else if (primitive(c)) {
31
+ text = c.toString();
32
+ }
33
+ else if (c && c.sel) {
34
+ children = [c];
35
+ }
36
+ }
37
+ else if (b !== undefined && b !== null) {
38
+ if (array(b)) {
39
+ children = b;
40
+ }
41
+ else if (primitive(b)) {
42
+ text = b.toString();
43
+ }
44
+ else if (b && b.sel) {
45
+ children = [b];
46
+ }
47
+ else {
48
+ data = b;
49
+ }
50
+ }
51
+ if (children !== undefined) {
52
+ for (i = 0; i < children.length; ++i) {
53
+ if (primitive(children[i]))
54
+ children[i] = vnode(undefined, undefined, undefined, children[i], undefined);
55
+ }
56
+ }
57
+ if (sel[0] === "s" &&
58
+ sel[1] === "v" &&
59
+ sel[2] === "g" &&
60
+ (sel.length === 3 || sel[3] === "." || sel[3] === "#")) {
61
+ addNS(data, children, sel);
62
+ }
63
+ return vnode(sel, data, children, text, undefined);
64
+ }
65
+ /**
66
+ * @experimental
67
+ */
68
+ function fragment(children) {
69
+ let c;
70
+ let text;
71
+ if (array(children)) {
72
+ c = children;
73
+ }
74
+ else if (primitive(c)) {
75
+ text = children;
76
+ }
77
+ else if (c && c.sel) {
78
+ c = [children];
79
+ }
80
+ if (c !== undefined) {
81
+ for (let i = 0; i < c.length; ++i) {
82
+ if (primitive(c[i]))
83
+ c[i] = vnode(undefined, undefined, undefined, c[i], undefined);
84
+ }
85
+ }
86
+ return vnode(undefined, {}, c, text, undefined);
87
+ }
88
+
89
+ export { addNS, fragment, h };
@@ -0,0 +1,47 @@
1
+ function pre(vnode, newVnode) {
2
+ const attachData = vnode.data.attachData;
3
+ // Copy created placeholder and real element from old vnode
4
+ newVnode.data.attachData.placeholder = attachData.placeholder;
5
+ newVnode.data.attachData.real = attachData.real;
6
+ // Mount real element in vnode so the patch process operates on it
7
+ vnode.elm = vnode.data.attachData.real;
8
+ }
9
+ function post(_, vnode) {
10
+ // Mount dummy placeholder in vnode so potential reorders use it
11
+ vnode.elm = vnode.data.attachData.placeholder;
12
+ }
13
+ function destroy(vnode) {
14
+ // Remove placeholder
15
+ if (vnode.elm !== undefined) {
16
+ vnode.elm.parentNode.removeChild(vnode.elm);
17
+ }
18
+ // Remove real element from where it was inserted
19
+ vnode.elm = vnode.data.attachData.real;
20
+ }
21
+ function create(_, vnode) {
22
+ const real = vnode.elm;
23
+ const attachData = vnode.data.attachData;
24
+ const placeholder = document.createElement("span");
25
+ // Replace actual element with dummy placeholder
26
+ // Snabbdom will then insert placeholder instead
27
+ vnode.elm = placeholder;
28
+ attachData.target.appendChild(real);
29
+ attachData.real = real;
30
+ attachData.placeholder = placeholder;
31
+ }
32
+ function attachTo(target, vnode) {
33
+ if (vnode.data === undefined)
34
+ vnode.data = {};
35
+ if (vnode.data.hook === undefined)
36
+ vnode.data.hook = {};
37
+ const data = vnode.data;
38
+ const hook = vnode.data.hook;
39
+ data.attachData = { target: target, placeholder: undefined, real: undefined };
40
+ hook.create = create;
41
+ hook.prepatch = pre;
42
+ hook.postpatch = post;
43
+ hook.destroy = destroy;
44
+ return vnode;
45
+ }
46
+
47
+ export { attachTo };
@@ -0,0 +1,115 @@
1
+ function createElement(tagName, options) {
2
+ return document.createElement(tagName, options);
3
+ }
4
+ function createElementNS(namespaceURI, qualifiedName, options) {
5
+ return document.createElementNS(namespaceURI, qualifiedName, options);
6
+ }
7
+ function createDocumentFragment() {
8
+ return parseFragment(document.createDocumentFragment());
9
+ }
10
+ function createTextNode(text) {
11
+ return document.createTextNode(text);
12
+ }
13
+ function createComment(text) {
14
+ return document.createComment(text);
15
+ }
16
+ function insertBefore(parentNode, newNode, referenceNode) {
17
+ if (isDocumentFragment(parentNode)) {
18
+ let node = parentNode;
19
+ while (node && isDocumentFragment(node)) {
20
+ const fragment = parseFragment(node);
21
+ node = fragment.parent;
22
+ }
23
+ parentNode = node !== null && node !== void 0 ? node : parentNode;
24
+ }
25
+ if (isDocumentFragment(newNode)) {
26
+ newNode = parseFragment(newNode, parentNode);
27
+ }
28
+ if (referenceNode && isDocumentFragment(referenceNode)) {
29
+ referenceNode = parseFragment(referenceNode).firstChildNode;
30
+ }
31
+ parentNode.insertBefore(newNode, referenceNode);
32
+ }
33
+ function removeChild(node, child) {
34
+ node.removeChild(child);
35
+ }
36
+ function appendChild(node, child) {
37
+ if (isDocumentFragment(child)) {
38
+ child = parseFragment(child, node);
39
+ }
40
+ node.appendChild(child);
41
+ }
42
+ function parentNode(node) {
43
+ if (isDocumentFragment(node)) {
44
+ while (node && isDocumentFragment(node)) {
45
+ const fragment = parseFragment(node);
46
+ node = fragment.parent;
47
+ }
48
+ return node !== null && node !== void 0 ? node : null;
49
+ }
50
+ return node.parentNode;
51
+ }
52
+ function nextSibling(node) {
53
+ var _a;
54
+ if (isDocumentFragment(node)) {
55
+ const fragment = parseFragment(node);
56
+ const parent = parentNode(fragment);
57
+ if (parent && fragment.lastChildNode) {
58
+ const children = Array.from(parent.childNodes);
59
+ const index = children.indexOf(fragment.lastChildNode);
60
+ return (_a = children[index + 1]) !== null && _a !== void 0 ? _a : null;
61
+ }
62
+ return null;
63
+ }
64
+ return node.nextSibling;
65
+ }
66
+ function tagName(elm) {
67
+ return elm.tagName;
68
+ }
69
+ function setTextContent(node, text) {
70
+ node.textContent = text;
71
+ }
72
+ function getTextContent(node) {
73
+ return node.textContent;
74
+ }
75
+ function isElement(node) {
76
+ return node.nodeType === 1;
77
+ }
78
+ function isText(node) {
79
+ return node.nodeType === 3;
80
+ }
81
+ function isComment(node) {
82
+ return node.nodeType === 8;
83
+ }
84
+ function isDocumentFragment(node) {
85
+ return node.nodeType === 11;
86
+ }
87
+ function parseFragment(fragmentNode, parentNode) {
88
+ var _a, _b, _c;
89
+ const fragment = fragmentNode;
90
+ (_a = fragment.parent) !== null && _a !== void 0 ? _a : (fragment.parent = parentNode !== null && parentNode !== void 0 ? parentNode : null);
91
+ (_b = fragment.firstChildNode) !== null && _b !== void 0 ? _b : (fragment.firstChildNode = fragmentNode.firstChild);
92
+ (_c = fragment.lastChildNode) !== null && _c !== void 0 ? _c : (fragment.lastChildNode = fragmentNode.lastChild);
93
+ return fragment;
94
+ }
95
+ const htmlDomApi = {
96
+ createElement,
97
+ createElementNS,
98
+ createTextNode,
99
+ createDocumentFragment,
100
+ createComment,
101
+ insertBefore,
102
+ removeChild,
103
+ appendChild,
104
+ parentNode,
105
+ nextSibling,
106
+ tagName,
107
+ setTextContent,
108
+ getTextContent,
109
+ isElement,
110
+ isText,
111
+ isComment,
112
+ isDocumentFragment,
113
+ };
114
+
115
+ export { htmlDomApi };
@@ -0,0 +1,18 @@
1
+ export { htmlDomApi } from './htmldomapi.mjs';
2
+ export { init } from './init.mjs';
3
+ export { thunk } from './thunk.mjs';
4
+ export { vnode } from './vnode.mjs';
5
+ export { attachTo } from './helpers/attachto.mjs';
6
+ export { array, primitive } from './is.mjs';
7
+ export { toVNode } from './tovnode.mjs';
8
+ export { fragment, h } from './h.mjs';
9
+ import './hooks.mjs';
10
+ export { attributesModule } from './modules/attributes.mjs';
11
+ export { classModule } from './modules/class.mjs';
12
+ export { datasetModule } from './modules/dataset.mjs';
13
+ export { eventListenersModule } from './modules/eventlisteners.mjs';
14
+ export { propsModule } from './modules/props.mjs';
15
+ export { styleModule } from './modules/style.mjs';
16
+ export { Fragment, jsx } from './jsx.mjs';
17
+
18
+ // core