@ibiz-template/vue3-components 0.7.26 → 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 (186) hide show
  1. package/dist/{index-RwYoggQd.js → index-HNRMy1_g.js} +1 -1
  2. package/dist/index-QB7iGpIB.js +4 -0
  3. package/dist/{index-s7g1-ymW.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-Rf5FMxyR.js → xlsx-util-nADTbeWP.js} +1 -1
  8. package/es/common/action-toolbar/action-toolbar.mjs +1 -1
  9. package/es/common/custom-theme/custom-theme.mjs +1 -1
  10. package/es/common/data-import2/data-import2.mjs +4 -1
  11. package/es/control/context-menu/context-menu.mjs +2 -2
  12. package/es/control/dashboard/custom-dashboard-container/custom-dashboard-container.d.ts +0 -1
  13. package/es/control/dashboard/custom-dashboard-container/custom-dashboard-container.mjs +1 -1
  14. package/es/control/dashboard/dashboard-design/dashboard-design.mjs +3 -3
  15. package/es/control/drtab/drtab-control.util.mjs +7 -11
  16. package/es/control/form/form-detail/form-button/form-button.mjs +1 -1
  17. package/es/control/form/form-detail/form-item/form-item-container/form-item-container.css +1 -1
  18. package/es/control/form/form-detail/form-item/form-item-container/form-item-container.d.ts +28 -0
  19. package/es/control/form/form-detail/form-item/form-item-container/form-item-container.mjs +52 -7
  20. package/es/control/form/form-detail/form-item/form-item.mjs +4 -0
  21. package/es/control/grid/grid/grid-control.util.d.ts +0 -2
  22. package/es/control/grid/grid/grid-control.util.mjs +24 -83
  23. package/es/control/grid/grid/grid.css +1 -1
  24. package/es/control/grid/grid/grid.d.ts +0 -2
  25. package/es/control/grid/grid/grid.mjs +1 -7
  26. package/es/control/grid/grid/index.d.ts +0 -2
  27. package/es/control/report-panel/report-panel.mjs +5 -0
  28. package/es/control/search-bar/search-bar.mjs +2 -2
  29. package/es/control/toolbar/export-excel/export-excel.mjs +2 -2
  30. package/es/control/toolbar/short-cut-button/short-cut-button.mjs +4 -1
  31. package/es/control/toolbar/toolbar.css +1 -1
  32. package/es/control/toolbar/toolbar.mjs +146 -10
  33. package/es/control/tree/index.d.ts +9 -0
  34. package/es/control/tree/tree.d.ts +9 -0
  35. package/es/control/tree/tree.mjs +5 -1
  36. package/es/editor/data-picker/ibiz-mpicker/ibiz-mpicker.css +1 -1
  37. package/es/editor/data-picker/ibiz-picker/ibiz-picker.mjs +2 -2
  38. package/es/editor/data-picker/ibiz-picker-embed-view/ibiz-picker-embed-view.css +1 -1
  39. package/es/editor/data-picker/ibiz-picker-embed-view/ibiz-picker-embed-view.d.ts +4 -0
  40. package/es/editor/data-picker/ibiz-picker-embed-view/ibiz-picker-embed-view.mjs +48 -3
  41. package/es/editor/data-picker/ibiz-picker-select-view/ibiz-picker-select-view.mjs +2 -2
  42. package/es/editor/data-picker/picker-editor.controller.d.ts +2 -2
  43. package/es/editor/dropdown-list/dropdown-list-editor.controller.d.ts +6 -0
  44. package/es/editor/dropdown-list/dropdown-list-editor.controller.mjs +10 -1
  45. package/es/editor/dropdown-list/ibiz-dropdown/ibiz-dropdown.d.ts +1 -1
  46. package/es/editor/dropdown-list/ibiz-dropdown/ibiz-dropdown.mjs +17 -4
  47. package/es/editor/dropdown-list/ibiz-emoji-picker/ibiz-emoji-picker.css +1 -1
  48. package/es/editor/dropdown-list/ibiz-emoji-picker/ibiz-emoji-picker.d.ts +3 -1
  49. package/es/editor/dropdown-list/ibiz-emoji-picker/ibiz-emoji-picker.mjs +26 -12
  50. package/es/editor/html/html-editor.controller.d.ts +88 -0
  51. package/es/editor/html/html-editor.controller.mjs +169 -6
  52. package/es/editor/html/wang-editor/component/emoji/emoji.css +1 -0
  53. package/es/editor/html/wang-editor/component/emoji/emoji.d.ts +17 -0
  54. package/es/editor/html/wang-editor/component/emoji/emoji.mjs +42 -0
  55. package/es/editor/html/wang-editor/component/index.d.ts +1 -0
  56. package/es/editor/html/wang-editor/component/index.mjs +3 -0
  57. package/es/editor/html/wang-editor/element/emoji.d.ts +7 -0
  58. package/es/editor/html/wang-editor/element/emoji.mjs +22 -0
  59. package/es/editor/html/wang-editor/element/index.d.ts +1 -0
  60. package/es/editor/html/wang-editor/element/index.mjs +3 -0
  61. package/es/editor/html/wang-editor/index.d.ts +4 -0
  62. package/es/editor/html/wang-editor/index.mjs +11 -0
  63. package/es/editor/html/wang-editor/module/ai-module.d.ts +67 -0
  64. package/es/editor/html/wang-editor/module/ai-module.mjs +76 -0
  65. package/es/editor/html/wang-editor/module/emoji-module.d.ts +7 -0
  66. package/es/editor/html/wang-editor/module/emoji-module.mjs +125 -0
  67. package/es/editor/html/wang-editor/module/index.d.ts +2 -0
  68. package/es/editor/html/wang-editor/module/index.mjs +4 -0
  69. package/es/editor/html/wang-editor/plugin/index.d.ts +1 -0
  70. package/es/editor/html/wang-editor/plugin/index.mjs +3 -0
  71. package/es/editor/html/wang-editor/plugin/plugin.d.ts +7 -0
  72. package/es/editor/html/wang-editor/plugin/plugin.mjs +23 -0
  73. package/es/editor/html/wang-editor/wang-editor.css +1 -1
  74. package/es/editor/html/wang-editor/wang-editor.mjs +7 -7
  75. package/es/editor/span/span/span.mjs +3 -1
  76. package/es/editor/text-box/ibiz-input-number/ibiz-input-number.mjs +12 -10
  77. package/es/editor/text-box/input/input.mjs +3 -0
  78. package/es/editor/user/ibiz-searchcond-edit/ibiz-searchcond-edit.mjs +1 -1
  79. package/es/locale/en/index.d.ts +4 -0
  80. package/es/locale/en/index.mjs +5 -1
  81. package/es/locale/zh-CN/index.d.ts +4 -0
  82. package/es/locale/zh-CN/index.mjs +5 -1
  83. package/es/node_modules/.pnpm/snabbdom@3.5.1/node_modules/snabbdom/build/h.mjs +89 -0
  84. package/es/node_modules/.pnpm/snabbdom@3.5.1/node_modules/snabbdom/build/helpers/attachto.mjs +47 -0
  85. package/es/node_modules/.pnpm/snabbdom@3.5.1/node_modules/snabbdom/build/hooks.mjs +1 -0
  86. package/es/node_modules/.pnpm/snabbdom@3.5.1/node_modules/snabbdom/build/htmldomapi.mjs +115 -0
  87. package/es/node_modules/.pnpm/snabbdom@3.5.1/node_modules/snabbdom/build/index.mjs +18 -0
  88. package/es/node_modules/.pnpm/snabbdom@3.5.1/node_modules/snabbdom/build/init.mjs +376 -0
  89. package/es/node_modules/.pnpm/snabbdom@3.5.1/node_modules/snabbdom/build/is.mjs +9 -0
  90. package/es/node_modules/.pnpm/snabbdom@3.5.1/node_modules/snabbdom/build/jsx.mjs +64 -0
  91. package/es/node_modules/.pnpm/snabbdom@3.5.1/node_modules/snabbdom/build/modules/attributes.mjs +59 -0
  92. package/es/node_modules/.pnpm/snabbdom@3.5.1/node_modules/snabbdom/build/modules/class.mjs +28 -0
  93. package/es/node_modules/.pnpm/snabbdom@3.5.1/node_modules/snabbdom/build/modules/dataset.mjs +42 -0
  94. package/es/node_modules/.pnpm/snabbdom@3.5.1/node_modules/snabbdom/build/modules/eventlisteners.mjs +85 -0
  95. package/es/node_modules/.pnpm/snabbdom@3.5.1/node_modules/snabbdom/build/modules/props.mjs +24 -0
  96. package/es/node_modules/.pnpm/snabbdom@3.5.1/node_modules/snabbdom/build/modules/style.mjs +115 -0
  97. package/es/node_modules/.pnpm/snabbdom@3.5.1/node_modules/snabbdom/build/thunk.mjs +52 -0
  98. package/es/node_modules/.pnpm/snabbdom@3.5.1/node_modules/snabbdom/build/tovnode.mjs +62 -0
  99. package/es/node_modules/.pnpm/snabbdom@3.5.1/node_modules/snabbdom/build/vnode.mjs +6 -0
  100. package/es/panel-component/nav-tabs/nav-tabs.controller.mjs +3 -2
  101. package/es/panel-component/panel-button/panel-button.mjs +1 -1
  102. package/es/view-engine/edit-view.engine.mjs +3 -2
  103. package/es/view-engine/opt-view.engine.mjs +2 -1
  104. package/es/view-engine/pickup-tree-view.engine.mjs +1 -0
  105. package/es/web-app/attach-environment-config.mjs +2 -1
  106. package/lib/common/action-toolbar/action-toolbar.cjs +1 -1
  107. package/lib/common/custom-theme/custom-theme.cjs +1 -1
  108. package/lib/common/data-import2/data-import2.cjs +4 -1
  109. package/lib/control/context-menu/context-menu.cjs +2 -2
  110. package/lib/control/dashboard/custom-dashboard-container/custom-dashboard-container.cjs +1 -1
  111. package/lib/control/dashboard/dashboard-design/dashboard-design.cjs +3 -3
  112. package/lib/control/drtab/drtab-control.util.cjs +7 -11
  113. package/lib/control/form/form-detail/form-button/form-button.cjs +1 -1
  114. package/lib/control/form/form-detail/form-item/form-item-container/form-item-container.cjs +51 -6
  115. package/lib/control/form/form-detail/form-item/form-item-container/form-item-container.css +1 -1
  116. package/lib/control/form/form-detail/form-item/form-item.cjs +4 -0
  117. package/lib/control/grid/grid/grid-control.util.cjs +24 -83
  118. package/lib/control/grid/grid/grid.cjs +1 -7
  119. package/lib/control/grid/grid/grid.css +1 -1
  120. package/lib/control/report-panel/report-panel.cjs +5 -0
  121. package/lib/control/search-bar/search-bar.cjs +2 -2
  122. package/lib/control/toolbar/export-excel/export-excel.cjs +2 -2
  123. package/lib/control/toolbar/short-cut-button/short-cut-button.cjs +4 -1
  124. package/lib/control/toolbar/toolbar.cjs +146 -10
  125. package/lib/control/toolbar/toolbar.css +1 -1
  126. package/lib/control/tree/tree.cjs +5 -1
  127. package/lib/editor/data-picker/ibiz-mpicker/ibiz-mpicker.css +1 -1
  128. package/lib/editor/data-picker/ibiz-picker/ibiz-picker.cjs +2 -2
  129. package/lib/editor/data-picker/ibiz-picker-embed-view/ibiz-picker-embed-view.cjs +48 -3
  130. package/lib/editor/data-picker/ibiz-picker-embed-view/ibiz-picker-embed-view.css +1 -1
  131. package/lib/editor/data-picker/ibiz-picker-select-view/ibiz-picker-select-view.cjs +2 -2
  132. package/lib/editor/dropdown-list/dropdown-list-editor.controller.cjs +10 -1
  133. package/lib/editor/dropdown-list/ibiz-dropdown/ibiz-dropdown.cjs +17 -4
  134. package/lib/editor/dropdown-list/ibiz-emoji-picker/ibiz-emoji-picker.cjs +24 -10
  135. package/lib/editor/dropdown-list/ibiz-emoji-picker/ibiz-emoji-picker.css +1 -1
  136. package/lib/editor/html/html-editor.controller.cjs +169 -6
  137. package/lib/editor/html/wang-editor/component/emoji/emoji.cjs +44 -0
  138. package/lib/editor/html/wang-editor/component/emoji/emoji.css +1 -0
  139. package/lib/editor/html/wang-editor/component/index.cjs +7 -0
  140. package/lib/editor/html/wang-editor/element/emoji.cjs +24 -0
  141. package/lib/editor/html/wang-editor/element/index.cjs +7 -0
  142. package/lib/editor/html/wang-editor/index.cjs +19 -0
  143. package/lib/editor/html/wang-editor/module/ai-module.cjs +78 -0
  144. package/lib/editor/html/wang-editor/module/emoji-module.cjs +127 -0
  145. package/lib/editor/html/wang-editor/module/index.cjs +9 -0
  146. package/lib/editor/html/wang-editor/plugin/index.cjs +7 -0
  147. package/lib/editor/html/wang-editor/plugin/plugin.cjs +25 -0
  148. package/lib/editor/html/wang-editor/wang-editor.cjs +7 -7
  149. package/lib/editor/html/wang-editor/wang-editor.css +1 -1
  150. package/lib/editor/span/span/span.cjs +2 -0
  151. package/lib/editor/text-box/ibiz-input-number/ibiz-input-number.cjs +12 -10
  152. package/lib/editor/text-box/input/input.cjs +3 -0
  153. package/lib/editor/user/ibiz-searchcond-edit/ibiz-searchcond-edit.cjs +1 -1
  154. package/lib/locale/en/index.cjs +5 -1
  155. package/lib/locale/zh-CN/index.cjs +5 -1
  156. package/lib/node_modules/.pnpm/snabbdom@3.5.1/node_modules/snabbdom/build/h.cjs +93 -0
  157. package/lib/node_modules/.pnpm/snabbdom@3.5.1/node_modules/snabbdom/build/helpers/attachto.cjs +49 -0
  158. package/lib/node_modules/.pnpm/snabbdom@3.5.1/node_modules/snabbdom/build/hooks.cjs +2 -0
  159. package/lib/node_modules/.pnpm/snabbdom@3.5.1/node_modules/snabbdom/build/htmldomapi.cjs +117 -0
  160. package/lib/node_modules/.pnpm/snabbdom@3.5.1/node_modules/snabbdom/build/index.cjs +42 -0
  161. package/lib/node_modules/.pnpm/snabbdom@3.5.1/node_modules/snabbdom/build/init.cjs +378 -0
  162. package/lib/node_modules/.pnpm/snabbdom@3.5.1/node_modules/snabbdom/build/is.cjs +12 -0
  163. package/lib/node_modules/.pnpm/snabbdom@3.5.1/node_modules/snabbdom/build/jsx.cjs +67 -0
  164. package/lib/node_modules/.pnpm/snabbdom@3.5.1/node_modules/snabbdom/build/modules/attributes.cjs +61 -0
  165. package/lib/node_modules/.pnpm/snabbdom@3.5.1/node_modules/snabbdom/build/modules/class.cjs +30 -0
  166. package/lib/node_modules/.pnpm/snabbdom@3.5.1/node_modules/snabbdom/build/modules/dataset.cjs +44 -0
  167. package/lib/node_modules/.pnpm/snabbdom@3.5.1/node_modules/snabbdom/build/modules/eventlisteners.cjs +87 -0
  168. package/lib/node_modules/.pnpm/snabbdom@3.5.1/node_modules/snabbdom/build/modules/props.cjs +26 -0
  169. package/lib/node_modules/.pnpm/snabbdom@3.5.1/node_modules/snabbdom/build/modules/style.cjs +117 -0
  170. package/lib/node_modules/.pnpm/snabbdom@3.5.1/node_modules/snabbdom/build/thunk.cjs +54 -0
  171. package/lib/node_modules/.pnpm/snabbdom@3.5.1/node_modules/snabbdom/build/tovnode.cjs +64 -0
  172. package/lib/node_modules/.pnpm/snabbdom@3.5.1/node_modules/snabbdom/build/vnode.cjs +8 -0
  173. package/lib/panel-component/nav-tabs/nav-tabs.controller.cjs +3 -2
  174. package/lib/panel-component/panel-button/panel-button.cjs +1 -1
  175. package/lib/view-engine/edit-view.engine.cjs +3 -2
  176. package/lib/view-engine/opt-view.engine.cjs +2 -1
  177. package/lib/view-engine/pickup-tree-view.engine.cjs +1 -0
  178. package/lib/web-app/attach-environment-config.cjs +2 -1
  179. package/package.json +8 -7
  180. package/dist/index-28jZm-aB.js +0 -4
  181. package/dist/wang-editor-XpJH4SXt.js +0 -1
  182. package/es/editor/html/wang-editor/ai/ai-modules.d.ts +0 -10
  183. package/es/editor/html/wang-editor/ai/ai-modules.mjs +0 -32
  184. package/lib/editor/html/wang-editor/ai/ai-modules.cjs +0 -34
  185. /package/es/node_modules/.pnpm/{@ibiz-template_core@0.7.26_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
  186. /package/lib/node_modules/.pnpm/{@ibiz-template_core@0.7.26_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 } 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,6 +74,8 @@ 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 (isEmoji("".concat(newVal))) {
78
+ text.value = base64ToStr("".concat(newVal));
77
79
  } else {
78
80
  text.value = "".concat(newVal);
79
81
  }
@@ -94,15 +94,6 @@ const IBizInputNumber = /* @__PURE__ */ defineComponent({
94
94
  emit("focus", e);
95
95
  setEditable(true);
96
96
  };
97
- const onBlur = (e) => {
98
- emit("blur", e);
99
- setEditable(false);
100
- };
101
- const handleKeyUp = (e) => {
102
- if (e && e.code === "Enter") {
103
- emit("enter", e);
104
- }
105
- };
106
97
  const debounce = (func, wait) => {
107
98
  let timeout;
108
99
  return (...args) => {
@@ -117,9 +108,20 @@ const IBizInputNumber = /* @__PURE__ */ defineComponent({
117
108
  }
118
109
  emit("change", data);
119
110
  }, 300);
111
+ const onBlur = (e) => {
112
+ emit("blur", e);
113
+ if (enablethousands.value) {
114
+ debouncedOnInput(currentVal.value);
115
+ }
116
+ setEditable(false);
117
+ };
118
+ const handleKeyUp = (e) => {
119
+ if (e && e.code === "Enter") {
120
+ emit("enter", e);
121
+ }
122
+ };
120
123
  const onInput = (value) => {
121
124
  currentVal.value = value;
122
- debouncedOnInput(value);
123
125
  };
124
126
  return {
125
127
  ns,
@@ -1,5 +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 { isEmoji, base64ToStr } from '@ibiz-template/core';
3
4
  import { createUUID } from 'qx-util';
4
5
  import './input.css';
5
6
 
@@ -57,6 +58,8 @@ const IBizInput = /* @__PURE__ */ defineComponent({
57
58
  if (newVal !== oldVal) {
58
59
  if (newVal == null) {
59
60
  currentVal.value = "";
61
+ } else if (isEmoji("".concat(newVal))) {
62
+ currentVal.value = base64ToStr("".concat(newVal));
60
63
  } else {
61
64
  currentVal.value = newVal.toString();
62
65
  }
@@ -165,7 +165,7 @@ const IBizSearchCondEdit = /* @__PURE__ */ defineComponent({
165
165
  }, this.$attrs), null), createVNode(resolveComponent("el-button"), {
166
166
  "ref": "filterButtonRef",
167
167
  "type": "primary",
168
- "title": ibiz.i18n.t("app.edit"),
168
+ "title": ibiz.env.enableTitle ? ibiz.i18n.t("app.edit") : void 0,
169
169
  "class": this.ns.b("filter"),
170
170
  "onClick": () => this.triggerFilter()
171
171
  }, {
@@ -1140,6 +1140,9 @@ declare const _default: {
1140
1140
  symbols: string;
1141
1141
  flags: string;
1142
1142
  };
1143
+ formItemContainer: {
1144
+ more: string;
1145
+ };
1143
1146
  };
1144
1147
  editor: {
1145
1148
  common: {
@@ -1164,6 +1167,7 @@ declare const _default: {
1164
1167
  html: {
1165
1168
  wangEditor: {
1166
1169
  customTips: string;
1170
+ emoji: string;
1167
1171
  };
1168
1172
  };
1169
1173
  markdown: {
@@ -474,6 +474,9 @@ var index = {
474
474
  places: "Places",
475
475
  symbols: "Symbols",
476
476
  flags: "Flags"
477
+ },
478
+ formItemContainer: {
479
+ more: "More"
477
480
  }
478
481
  },
479
482
  // 编辑器
@@ -499,7 +502,8 @@ var index = {
499
502
  },
500
503
  html: {
501
504
  wangEditor: {
502
- customTips: "Custom tip"
505
+ customTips: "Custom tip",
506
+ emoji: "Emoji"
503
507
  }
504
508
  },
505
509
  markdown: {
@@ -1134,6 +1134,9 @@ declare const _default: {
1134
1134
  symbols: string;
1135
1135
  flags: string;
1136
1136
  };
1137
+ formItemContainer: {
1138
+ more: string;
1139
+ };
1137
1140
  };
1138
1141
  editor: {
1139
1142
  common: {
@@ -1158,6 +1161,7 @@ declare const _default: {
1158
1161
  html: {
1159
1162
  wangEditor: {
1160
1163
  customTips: string;
1164
+ emoji: string;
1161
1165
  };
1162
1166
  };
1163
1167
  markdown: {
@@ -470,6 +470,9 @@ var index = {
470
470
  places: "\u65C5\u884C\u4E0E\u5730\u65B9",
471
471
  symbols: "\u7B26\u53F7",
472
472
  flags: "\u65D7\u5E1C"
473
+ },
474
+ formItemContainer: {
475
+ more: "\u66F4\u591A"
473
476
  }
474
477
  },
475
478
  // 编辑器
@@ -495,7 +498,8 @@ var index = {
495
498
  },
496
499
  html: {
497
500
  wangEditor: {
498
- customTips: "\u81EA\u5B9A\u4E49\u63D0\u793A"
501
+ customTips: "\u81EA\u5B9A\u4E49\u63D0\u793A",
502
+ emoji: "\u8868\u60C5"
499
503
  }
500
504
  },
501
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