@whitesev/pops 2.1.3 → 2.1.5

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 (134) hide show
  1. package/dist/index.amd.js +253 -227
  2. package/dist/index.amd.js.map +1 -1
  3. package/dist/index.cjs.js +253 -227
  4. package/dist/index.cjs.js.map +1 -1
  5. package/dist/index.esm.js +253 -227
  6. package/dist/index.esm.js.map +1 -1
  7. package/dist/index.iife.js +253 -227
  8. package/dist/index.iife.js.map +1 -1
  9. package/dist/index.system.js +253 -227
  10. package/dist/index.system.js.map +1 -1
  11. package/dist/index.umd.js +253 -227
  12. package/dist/index.umd.js.map +1 -1
  13. package/dist/types/src/GlobalConfig.d.ts +7 -2
  14. package/dist/types/src/Pops.d.ts +61 -39
  15. package/dist/types/src/{Core.d.ts → PopsCore.d.ts} +4 -3
  16. package/dist/types/src/PopsIcon.d.ts +30 -2
  17. package/dist/types/src/PopsLayer.d.ts +3 -1
  18. package/dist/types/src/components/alert/config.d.ts +1 -1
  19. package/dist/types/src/components/alert/index.d.ts +1 -1
  20. package/dist/types/src/components/alert/{indexType.d.ts → types/index.d.ts} +2 -2
  21. package/dist/types/src/components/confirm/config.d.ts +1 -1
  22. package/dist/types/src/components/confirm/index.d.ts +1 -1
  23. package/dist/types/src/components/confirm/{indexType.d.ts → types/index.d.ts} +1 -1
  24. package/dist/types/src/components/drawer/config.d.ts +1 -1
  25. package/dist/types/src/components/drawer/index.d.ts +1 -1
  26. package/dist/types/src/components/drawer/{indexType.d.ts → types/index.d.ts} +1 -1
  27. package/dist/types/src/components/folder/config.d.ts +1 -1
  28. package/dist/types/src/components/folder/index.d.ts +1 -1
  29. package/dist/types/src/components/folder/{indexType.d.ts → types/index.d.ts} +1 -1
  30. package/dist/types/src/components/iframe/config.d.ts +1 -1
  31. package/dist/types/src/components/iframe/index.d.ts +1 -1
  32. package/dist/types/src/components/iframe/{indexType.d.ts → types/index.d.ts} +2 -2
  33. package/dist/types/src/components/loading/config.d.ts +1 -1
  34. package/dist/types/src/components/loading/index.d.ts +1 -1
  35. package/dist/types/src/components/loading/{indexType.d.ts → types/index.d.ts} +1 -1
  36. package/dist/types/src/components/panel/config.d.ts +1 -1
  37. package/dist/types/src/components/panel/{PanelHandleContentDetails.d.ts → handlerComponents.d.ts} +39 -28
  38. package/dist/types/src/components/panel/index.d.ts +16 -2
  39. package/dist/types/src/components/panel/{buttonType.d.ts → types/components-button.d.ts} +3 -3
  40. package/dist/types/src/components/panel/{commonType.d.ts → types/components-common.d.ts} +2 -2
  41. package/dist/types/src/components/panel/{deepMenuType.d.ts → types/components-deepMenu.d.ts} +3 -3
  42. package/dist/types/src/components/panel/{formsType.d.ts → types/components-forms.d.ts} +2 -2
  43. package/dist/types/src/components/panel/{inputType.d.ts → types/components-input.d.ts} +1 -1
  44. package/dist/types/src/components/panel/{ownType.d.ts → types/components-own.d.ts} +1 -1
  45. package/dist/types/src/components/panel/{selectType.d.ts → types/components-select.d.ts} +3 -3
  46. package/dist/types/src/components/panel/{selectMultipleType.d.ts → types/components-selectMultiple.d.ts} +2 -2
  47. package/dist/types/src/components/panel/{sliderType.d.ts → types/components-slider.d.ts} +1 -1
  48. package/dist/types/src/components/panel/{switchType.d.ts → types/components-switch.d.ts} +1 -1
  49. package/dist/types/src/components/panel/{textareaType.d.ts → types/components-textarea.d.ts} +1 -1
  50. package/dist/types/src/components/panel/{indexType.d.ts → types/index.d.ts} +26 -12
  51. package/dist/types/src/components/prompt/config.d.ts +1 -1
  52. package/dist/types/src/components/prompt/index.d.ts +1 -1
  53. package/dist/types/src/components/prompt/{indexType.d.ts → types/index.d.ts} +1 -1
  54. package/dist/types/src/components/rightClickMenu/config.d.ts +1 -1
  55. package/dist/types/src/components/rightClickMenu/index.d.ts +2 -2
  56. package/dist/types/src/components/rightClickMenu/{indexType.d.ts → types/index.d.ts} +2 -2
  57. package/dist/types/src/components/searchSuggestion/config.d.ts +1 -1
  58. package/dist/types/src/components/searchSuggestion/index.d.ts +2 -2
  59. package/dist/types/src/components/searchSuggestion/{indexType.d.ts → types/index.d.ts} +1 -1
  60. package/dist/types/src/components/tooltip/config.d.ts +1 -1
  61. package/dist/types/src/components/tooltip/index.d.ts +2 -2
  62. package/dist/types/src/components/tooltip/{indexType.d.ts → types/index.d.ts} +1 -1
  63. package/dist/types/src/handler/PopsHandler.d.ts +8 -8
  64. package/dist/types/src/types/PopsDOMUtilsEventType.d.ts +1 -1
  65. package/dist/types/src/types/button.d.ts +3 -2
  66. package/dist/types/src/types/event.d.ts +4 -3
  67. package/dist/types/src/types/global.d.ts +4 -4
  68. package/dist/types/src/types/main.d.ts +18 -10
  69. package/dist/types/src/types/mask.d.ts +8 -0
  70. package/dist/types/src/{Config.d.ts → utils/PopsDOMUtilsEventsConfig.d.ts} +3 -0
  71. package/dist/types/src/utils/PopsInstanceUtils.d.ts +8 -8
  72. package/package.json +9 -10
  73. package/src/GlobalConfig.ts +6 -5
  74. package/src/Pops.ts +17 -17
  75. package/src/{Core.ts → PopsCore.ts} +13 -14
  76. package/src/PopsIcon.ts +34 -32
  77. package/src/PopsLayer.ts +8 -7
  78. package/src/components/alert/config.ts +1 -1
  79. package/src/components/alert/index.ts +1 -1
  80. package/src/components/alert/{indexType.ts → types/index.ts} +2 -2
  81. package/src/components/confirm/config.ts +1 -1
  82. package/src/components/confirm/index.ts +1 -1
  83. package/src/components/confirm/{indexType.ts → types/index.ts} +1 -1
  84. package/src/components/drawer/config.ts +1 -1
  85. package/src/components/drawer/index.ts +1 -1
  86. package/src/components/drawer/{indexType.ts → types/index.ts} +1 -1
  87. package/src/components/folder/config.ts +1 -1
  88. package/src/components/folder/index.ts +1 -1
  89. package/src/components/folder/{indexType.ts → types/index.ts} +1 -1
  90. package/src/components/iframe/config.ts +1 -1
  91. package/src/components/iframe/index.ts +4 -4
  92. package/src/components/iframe/{indexType.ts → types/index.ts} +2 -2
  93. package/src/components/loading/config.ts +1 -1
  94. package/src/components/loading/index.ts +1 -1
  95. package/src/components/loading/{indexType.ts → types/index.ts} +1 -1
  96. package/src/components/panel/config.ts +1 -1
  97. package/src/components/panel/{PanelHandleContentDetails.ts → handlerComponents.ts} +287 -258
  98. package/src/components/panel/index.ts +23 -5
  99. package/src/components/panel/{buttonType.ts → types/components-button.ts} +5 -4
  100. package/src/components/panel/{commonType.ts → types/components-common.ts} +2 -2
  101. package/src/components/panel/{deepMenuType.ts → types/components-deepMenu.ts} +3 -3
  102. package/src/components/panel/{formsType.ts → types/components-forms.ts} +2 -2
  103. package/src/components/panel/{inputType.ts → types/components-input.ts} +1 -1
  104. package/src/components/panel/{ownType.ts → types/components-own.ts} +1 -1
  105. package/src/components/panel/{selectType.ts → types/components-select.ts} +3 -3
  106. package/src/components/panel/{selectMultipleType.ts → types/components-selectMultiple.ts} +2 -2
  107. package/src/components/panel/{sliderType.ts → types/components-slider.ts} +1 -1
  108. package/src/components/panel/{switchType.ts → types/components-switch.ts} +1 -1
  109. package/src/components/panel/{textareaType.ts → types/components-textarea.ts} +1 -1
  110. package/src/components/panel/{indexType.ts → types/index.ts} +28 -12
  111. package/src/components/prompt/config.ts +1 -1
  112. package/src/components/prompt/index.ts +1 -1
  113. package/src/components/prompt/{indexType.ts → types/index.ts} +1 -1
  114. package/src/components/rightClickMenu/config.ts +1 -1
  115. package/src/components/rightClickMenu/index.ts +2 -2
  116. package/src/components/rightClickMenu/{indexType.ts → types/index.ts} +2 -2
  117. package/src/components/searchSuggestion/config.ts +1 -1
  118. package/src/components/searchSuggestion/index.ts +1 -1
  119. package/src/components/searchSuggestion/{indexType.ts → types/index.ts} +1 -1
  120. package/src/components/tooltip/config.ts +1 -1
  121. package/src/components/tooltip/index.ts +1 -1
  122. package/src/components/tooltip/{indexType.ts → types/index.ts} +1 -1
  123. package/src/handler/PopsElementHandler.ts +3 -3
  124. package/src/handler/PopsHandler.ts +26 -26
  125. package/src/types/PopsDOMUtilsEventType.d.ts +1 -1
  126. package/src/types/button.d.ts +3 -2
  127. package/src/types/event.d.ts +4 -3
  128. package/src/types/global.d.ts +4 -4
  129. package/src/types/main.d.ts +18 -10
  130. package/src/types/mask.d.ts +8 -0
  131. package/src/utils/PopsDOMUtils.ts +2 -2
  132. package/src/{Config.ts → utils/PopsDOMUtilsEventsConfig.ts} +3 -0
  133. package/src/utils/PopsInstanceUtils.ts +12 -12
  134. package/src/utils/PopsUtils.ts +2 -5
package/dist/index.umd.js CHANGED
@@ -4,14 +4,18 @@
4
4
  (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.pops = factory());
5
5
  })(this, (function () { 'use strict';
6
6
 
7
+ /**
8
+ * 存储在元素属性上的事件名
9
+ */
7
10
  const SymbolEvents = Symbol("events_" + (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1));
8
11
 
9
- const PopsCoreEnv = {
12
+ const PopsCoreDefaultEnv = {
10
13
  document: document,
11
14
  window: window,
12
15
  globalThis: globalThis,
13
16
  self: self,
14
17
  };
18
+ const PopsCoreEnv = Object.assign({}, PopsCoreDefaultEnv);
15
19
  const PopsCore = {
16
20
  get document() {
17
21
  return PopsCoreEnv.document;
@@ -333,8 +337,7 @@
333
337
  if (target === PopsCore.self) {
334
338
  return true;
335
339
  }
336
- if (typeof unsafeWindow !== "undefined" &&
337
- target === unsafeWindow) {
340
+ if (typeof unsafeWindow !== "undefined" && target === unsafeWindow) {
338
341
  return true;
339
342
  }
340
343
  if (target?.Math?.toString() !== "[object Math]") {
@@ -2232,17 +2235,18 @@
2232
2235
  }
2233
2236
  const popsDOMUtils = new PopsDOMUtils();
2234
2237
 
2235
- const PopsLayer = {
2238
+ const PopsLayerData = {
2236
2239
  alert: [],
2237
2240
  confirm: [],
2238
- prompt: [],
2239
- loading: [],
2240
- iframe: [],
2241
- tooltip: [],
2242
2241
  drawer: [],
2243
2242
  folder: [],
2243
+ iframe: [],
2244
+ loading: [],
2244
2245
  panel: [],
2246
+ prompt: [],
2245
2247
  rightClickMenu: [],
2248
+ // 没有 searchSuggestion
2249
+ tooltip: [],
2246
2250
  };
2247
2251
 
2248
2252
  var indexCSS = "@charset \"utf-8\";\r\n.pops * {\r\n\t-webkit-box-sizing: border-box;\r\n\tbox-sizing: border-box;\r\n\tmargin: 0;\r\n\tpadding: 0;\r\n\t-webkit-tap-highlight-color: transparent;\r\n\t/* 代替::-webkit-scrollbar */\r\n\tscrollbar-width: thin;\r\n}\r\n.pops {\r\n\t--pops-bg-opacity: 1;\r\n\t--pops-bd-opacity: 1;\r\n\t--pops-font-size: 16px;\r\n\tinterpolate-size: allow-keywords;\r\n}\r\n.pops-mask {\r\n\t--pops-mask-bg-opacity: 0.4;\r\n}\r\n.pops {\r\n\tbackground-color: rgb(255, 255, 255, var(--pops-bg-opacity));\r\n\tborder-radius: 4px;\r\n\tborder: 1px solid rgb(235, 238, 245, var(--pops-bd-opacity));\r\n\tfont-size: var(--pops-font-size);\r\n\tline-height: normal;\r\n\tbox-shadow: 0 0 12px rgba(0, 0, 0, 0.12);\r\n\tbox-sizing: border-box;\r\n\toverflow: hidden;\r\n\ttransition: all 0.35s;\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n}\r\n.pops-anim {\r\n\tposition: fixed;\r\n\ttop: 0;\r\n\tright: 0;\r\n\tbottom: 0;\r\n\tleft: 0;\r\n\twidth: 100%;\r\n\theight: 100%;\r\n}\r\n.pops-anim[anim=\"\"] {\r\n\ttop: unset;\r\n\tright: unset;\r\n\tbottom: unset;\r\n\tleft: unset;\r\n\twidth: unset;\r\n\theight: unset;\r\n\ttransition: none;\r\n}\r\n/* 底部图标动画和样式 */\r\n.pops i.pops-bottom-icon[is-loading=\"true\"] {\r\n\tanimation: rotating 2s linear infinite;\r\n}\r\n.pops i.pops-bottom-icon {\r\n\theight: 1em;\r\n\twidth: 1em;\r\n\tline-height: normal;\r\n\tdisplay: inline-flex;\r\n\tjustify-content: center;\r\n\talign-items: center;\r\n\tposition: relative;\r\n\tfill: currentColor;\r\n\tcolor: inherit;\r\n\tfont-size: inherit;\r\n}\r\n\r\n/* 遮罩层样式 */\r\n.pops-mask {\r\n\tposition: fixed;\r\n\ttop: 0;\r\n\tright: 0;\r\n\tbottom: 0;\r\n\tleft: 0;\r\n\twidth: 100%;\r\n\theight: 100%;\r\n\tborder: 0;\r\n\tborder-radius: 0;\r\n\tbackground-color: rgba(0, 0, 0, var(--pops-mask-bg-opacity));\r\n\tbox-shadow: none;\r\n\ttransition: none;\r\n}\r\n\r\n.pops-header-controls button.pops-header-control[type][data-header] {\r\n\tfloat: right;\r\n\tmargin: 0 0;\r\n\toutline: 0;\r\n\tborder: 0;\r\n\tborder-color: rgb(136, 136, 136, var(--pops-bd-opacity));\r\n\tbackground-color: transparent;\r\n\tcolor: #888;\r\n\tcursor: pointer;\r\n}\r\n.pops-header-controls button.pops-header-control[type=\"max\"],\r\n.pops-header-controls button.pops-header-control[type=\"mise\"],\r\n.pops-header-controls button.pops-header-control[type=\"min\"] {\r\n\toutline: 0 !important;\r\n\tborder: 0;\r\n\tborder-color: rgb(136, 136, 136, var(--pops-bd-opacity));\r\n\tbackground-color: transparent;\r\n\tcolor: rgb(136, 136, 136);\r\n\tcursor: pointer;\r\n\ttransition: all 0.3s ease-in-out;\r\n}\r\nbutton.pops-header-control i {\r\n\tcolor: rgb(144, 147, 153);\r\n\tfont-size: inherit;\r\n\tdisplay: inline-flex;\r\n\tjustify-content: center;\r\n\talign-items: center;\r\n\tposition: relative;\r\n\tfill: currentColor;\r\n}\r\nbutton.pops-header-control svg {\r\n\theight: 1.25em;\r\n\twidth: 1.25em;\r\n}\r\nbutton.pops-header-control {\r\n\tright: 15px;\r\n\tpadding: 0;\r\n\tborder: none;\r\n\toutline: 0;\r\n\tbackground: 0 0;\r\n\tcursor: pointer;\r\n\tposition: unset;\r\n\tline-height: normal;\r\n}\r\nbutton.pops-header-control i:hover {\r\n\tcolor: rgb(64, 158, 255);\r\n}\r\n.pops-header-controls[data-margin] button.pops-header-control {\r\n\tmargin: 0 6px;\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n}\r\n.pops[type-value] .pops-header-controls {\r\n\tdisplay: flex;\r\n\tgap: 6px;\r\n}\r\n\r\n/* 标题禁止选中文字 */\r\n.pops [class^=\"pops\"][class*=\"-title\"] p[pops] {\r\n\t-webkit-user-select: none;\r\n\t-moz-user-select: none;\r\n\t-ms-user-select: none;\r\n\tuser-select: none;\r\n}\r\n\r\n/* <code> */\r\n.pops code {\r\n\tfont-family: Menlo, Monaco, Consolas, \"Courier New\", monospace;\r\n\tfont-size: 0.85em;\r\n\tcolor: #000;\r\n\tbackground-color: #f0f0f0;\r\n\tborder-radius: 3px;\r\n\tborder: 0;\r\n\tpadding: 0.2em 0;\r\n\twhite-space: normal;\r\n\tbackground: #f5f5f5;\r\n\ttext-wrap: wrap;\r\n\ttext-align: left;\r\n\tword-spacing: normal;\r\n\tword-break: normal;\r\n\tword-wrap: normal;\r\n\tline-height: 1.4;\r\n\t-moz-tab-size: 8;\r\n\t-o-tab-size: 8;\r\n\ttab-size: 8;\r\n\t-webkit-hyphens: none;\r\n\t-moz-hyphens: none;\r\n\t-ms-hyphens: none;\r\n\thyphens: none;\r\n\tdirection: ltr;\r\n}\r\n\r\n.pops code::before,\r\n.pops code::after {\r\n\tletter-spacing: -0.2em;\r\n\tcontent: \"\\00a0\";\r\n}\r\n";
@@ -2437,8 +2441,8 @@
2437
2441
  function isVisibleNode($css) {
2438
2442
  return $css.position !== "static" && $css.display !== "none";
2439
2443
  }
2440
- Object.keys(PopsLayer).forEach((layerName) => {
2441
- let layerList = PopsLayer[layerName];
2444
+ Object.keys(PopsLayerData).forEach((layerName) => {
2445
+ let layerList = PopsLayerData[layerName];
2442
2446
  for (let index = 0; index < layerList.length; index++) {
2443
2447
  const layer = layerList[index];
2444
2448
  let nodeStyle = window.getComputedStyle(layer.animElement);
@@ -2986,8 +2990,7 @@
2986
2990
  let style = configValue == null
2987
2991
  ? ""
2988
2992
  : typeof configValue === "function"
2989
- ? // @ts-ignore
2990
- configValue()
2993
+ ? configValue()
2991
2994
  : configValue;
2992
2995
  if (typeof style === "string") {
2993
2996
  result.style = style;
@@ -3001,7 +3004,7 @@
3001
3004
  ? configValue()
3002
3005
  : configValue;
3003
3006
  if (typeof zIndex === "string") {
3004
- let newIndex = (zIndex = parseInt(zIndex));
3007
+ let newIndex = (zIndex = Number(zIndex));
3005
3008
  if (!isNaN(newIndex)) {
3006
3009
  result.zIndex = newIndex;
3007
3010
  }
@@ -3082,37 +3085,38 @@
3082
3085
 
3083
3086
  var SVG_arrowLeft = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 1024 1024\">\r\n\t<path\r\n\t\td=\"M609.408 149.376 277.76 489.6a32 32 0 0 0 0 44.672l331.648 340.352a29.12 29.12 0 0 0 41.728 0 30.592 30.592 0 0 0 0-42.752L339.264 511.936l311.872-319.872a30.592 30.592 0 0 0 0-42.688 29.12 29.12 0 0 0-41.728 0z\"></path>\r\n</svg>\r\n";
3084
3087
 
3088
+ const PopsIconData = {
3089
+ min: SVG_min,
3090
+ mise: SVG_mise,
3091
+ max: SVG_max,
3092
+ close: SVG_close,
3093
+ edit: SVG_edit,
3094
+ share: SVG_share,
3095
+ delete: SVG_delete,
3096
+ search: SVG_search,
3097
+ upload: SVG_upload,
3098
+ loading: SVG_loading,
3099
+ next: SVG_next,
3100
+ prev: SVG_prev,
3101
+ eleme: SVG_eleme,
3102
+ elemePlus: SVG_elemePlus,
3103
+ chromeFilled: SVG_chromeFilled,
3104
+ cpu: SVG_cpu,
3105
+ videoPlay: SVG_videoPlay,
3106
+ videoPause: SVG_videoPause,
3107
+ headset: SVG_headset,
3108
+ monitor: SVG_monitor,
3109
+ documentCopy: SVG_documentCopy,
3110
+ picture: SVG_picture,
3111
+ circleClose: SVG_circleClose,
3112
+ view: SVG_view,
3113
+ hide: SVG_hide,
3114
+ keyboard: SVG_keyboard,
3115
+ arrowRight: SVG_arrowRight,
3116
+ arrowLeft: SVG_arrowLeft,
3117
+ };
3085
3118
  const PopsIcon = {
3086
- $data: {
3087
- min: SVG_min,
3088
- mise: SVG_mise,
3089
- max: SVG_max,
3090
- close: SVG_close,
3091
- edit: SVG_edit,
3092
- share: SVG_share,
3093
- delete: SVG_delete,
3094
- search: SVG_search,
3095
- upload: SVG_upload,
3096
- loading: SVG_loading,
3097
- next: SVG_next,
3098
- prev: SVG_prev,
3099
- eleme: SVG_eleme,
3100
- elemePlus: SVG_elemePlus,
3101
- chromeFilled: SVG_chromeFilled,
3102
- cpu: SVG_cpu,
3103
- videoPlay: SVG_videoPlay,
3104
- videoPause: SVG_videoPause,
3105
- headset: SVG_headset,
3106
- monitor: SVG_monitor,
3107
- documentCopy: SVG_documentCopy,
3108
- picture: SVG_picture,
3109
- circleClose: SVG_circleClose,
3110
- view: SVG_view,
3111
- hide: SVG_hide,
3112
- keyboard: SVG_keyboard,
3113
- arrowRight: SVG_arrowRight,
3114
- arrowLeft: SVG_arrowLeft,
3115
- },
3119
+ $data: PopsIconData,
3116
3120
  /**
3117
3121
  * 判断是否存在某个icon
3118
3122
  * @param iconName 图标名
@@ -3476,7 +3480,7 @@
3476
3480
  function clickEvent(event) {
3477
3481
  popsDOMUtils.preventEvent(event);
3478
3482
  // 获取该类型实例存储列表
3479
- let targetLayer = PopsLayer[details.type];
3483
+ let targetLayer = PopsLayerData[details.type];
3480
3484
  function originalRun() {
3481
3485
  if (details.config.mask.clickEvent.toClose) {
3482
3486
  /* 关闭 */
@@ -3663,13 +3667,13 @@
3663
3667
  mode: mode,
3664
3668
  guid: guid,
3665
3669
  close() {
3666
- return PopsInstanceUtils.close(mode, PopsLayer[mode], guid, config, animElement);
3670
+ return PopsInstanceUtils.close(mode, PopsLayerData[mode], guid, config, animElement);
3667
3671
  },
3668
3672
  hide() {
3669
- return PopsInstanceUtils.hide(mode, PopsLayer[mode], guid, config, animElement, maskElement);
3673
+ return PopsInstanceUtils.hide(mode, PopsLayerData[mode], guid, config, animElement, maskElement);
3670
3674
  },
3671
3675
  show() {
3672
- return PopsInstanceUtils.show(mode, PopsLayer[mode], guid, config, animElement, maskElement);
3676
+ return PopsInstanceUtils.show(mode, PopsLayerData[mode], guid, config, animElement, maskElement);
3673
3677
  },
3674
3678
  };
3675
3679
  },
@@ -3691,13 +3695,13 @@
3691
3695
  mode: mode,
3692
3696
  guid: guid,
3693
3697
  close() {
3694
- return PopsInstanceUtils.close(mode, PopsLayer[mode], guid, config, animElement);
3698
+ return PopsInstanceUtils.close(mode, PopsLayerData[mode], guid, config, animElement);
3695
3699
  },
3696
3700
  hide() {
3697
- return PopsInstanceUtils.hide(mode, PopsLayer[mode], guid, config, animElement, maskElement);
3701
+ return PopsInstanceUtils.hide(mode, PopsLayerData[mode], guid, config, animElement, maskElement);
3698
3702
  },
3699
3703
  show() {
3700
- return PopsInstanceUtils.show(mode, PopsLayer[mode], guid, config, animElement, maskElement);
3704
+ return PopsInstanceUtils.show(mode, PopsLayerData[mode], guid, config, animElement, maskElement);
3701
3705
  },
3702
3706
  };
3703
3707
  },
@@ -3809,20 +3813,20 @@
3809
3813
  if (type === "loading" ||
3810
3814
  type === "tooltip" ||
3811
3815
  type === "rightClickMenu") {
3812
- let layer = PopsLayer[type];
3816
+ let layer = PopsLayerData[type];
3813
3817
  if (layer) {
3814
3818
  PopsInstanceUtils.removeInstance([layer], "", true);
3815
3819
  }
3816
3820
  }
3817
3821
  else {
3818
3822
  PopsInstanceUtils.removeInstance([
3819
- PopsLayer.alert,
3820
- PopsLayer.confirm,
3821
- PopsLayer.prompt,
3822
- PopsLayer.iframe,
3823
- PopsLayer.drawer,
3824
- PopsLayer.folder,
3825
- PopsLayer.panel,
3823
+ PopsLayerData.alert,
3824
+ PopsLayerData.confirm,
3825
+ PopsLayerData.prompt,
3826
+ PopsLayerData.iframe,
3827
+ PopsLayerData.drawer,
3828
+ PopsLayerData.folder,
3829
+ PopsLayerData.panel,
3826
3830
  ], "", true);
3827
3831
  }
3828
3832
  }
@@ -3843,7 +3847,7 @@
3843
3847
  * @param value
3844
3848
  */
3845
3849
  handlePush(type, value) {
3846
- PopsLayer[type].push(value);
3850
+ PopsLayerData[type].push(value);
3847
3851
  },
3848
3852
  };
3849
3853
 
@@ -4765,7 +4769,7 @@
4765
4769
  popsDOMUtils.on(headerCloseBtnElement, "click", (event) => {
4766
4770
  event.preventDefault();
4767
4771
  event.stopPropagation();
4768
- PopsInstanceUtils.removeInstance([PopsLayer.iframe], guid, false);
4772
+ PopsInstanceUtils.removeInstance([PopsLayerData.iframe], guid, false);
4769
4773
  if (typeof config?.btn?.close?.callback === "function") {
4770
4774
  config.btn.close.callback(eventDetails, event);
4771
4775
  }
@@ -7063,7 +7067,10 @@
7063
7067
  },
7064
7068
  };
7065
7069
 
7066
- const PanelHandleContentDetails = () => {
7070
+ /**
7071
+ * 处理组件(把组件配置转为组件元素)
7072
+ */
7073
+ const PanelHandlerComponents = () => {
7067
7074
  return {
7068
7075
  /**
7069
7076
  * 左侧的ul容器
@@ -7081,6 +7088,8 @@
7081
7088
  * 元素
7082
7089
  */
7083
7090
  $el: {
7091
+ /** pops主元素 */
7092
+ $pops: null,
7084
7093
  /** 内容 */
7085
7094
  $content: null,
7086
7095
  /** 左侧容器 */
@@ -7093,8 +7102,6 @@
7093
7102
  * @param details
7094
7103
  */
7095
7104
  init(details) {
7096
- // @ts-ignore
7097
- this.$el = null;
7098
7105
  this.$el = {
7099
7106
  ...details.$el,
7100
7107
  };
@@ -7157,11 +7164,12 @@
7157
7164
  * 清空container容器的元素
7158
7165
  */
7159
7166
  clearContainer() {
7167
+ Reflect.deleteProperty(this.$el.$contentSectionContainer, "__formConfig__");
7160
7168
  PopsSafeUtils.setSafeHTML(this.sectionContainerHeaderULElement, "");
7161
7169
  PopsSafeUtils.setSafeHTML(this.sectionContainerULElement, "");
7162
7170
  this.$el.$content
7163
7171
  ?.querySelectorAll("section.pops-panel-deepMenu-container")
7164
- .forEach((ele) => ele.remove());
7172
+ .forEach(($el) => $el.remove());
7165
7173
  },
7166
7174
  /**
7167
7175
  * 清空左侧容器已访问记录
@@ -7169,8 +7177,8 @@
7169
7177
  clearAsideItemIsVisited() {
7170
7178
  this.$el.$contentAside
7171
7179
  .querySelectorAll(".pops-is-visited")
7172
- .forEach((element) => {
7173
- popsDOMUtils.removeClassName(element, "pops-is-visited");
7180
+ .forEach(($el) => {
7181
+ popsDOMUtils.removeClassName($el, "pops-is-visited");
7174
7182
  });
7175
7183
  },
7176
7184
  /**
@@ -7247,34 +7255,33 @@
7247
7255
  * @param asideConfig
7248
7256
  */
7249
7257
  createAsideItem(asideConfig) {
7250
- let liElement = document.createElement("li");
7251
- liElement.id = asideConfig.id;
7252
- // @ts-ignore
7253
- liElement["__forms__"] = asideConfig.forms;
7254
- PopsSafeUtils.setSafeHTML(liElement, asideConfig.title);
7258
+ let $li = document.createElement("li");
7259
+ $li.id = asideConfig.id;
7260
+ Reflect.set($li, "__forms__", asideConfig.forms);
7261
+ PopsSafeUtils.setSafeHTML($li, asideConfig.title);
7255
7262
  /* 处理className */
7256
- this.setElementClassName(liElement, asideConfig.className);
7257
- this.setElementAttributes(liElement, asideConfig.attributes);
7258
- this.setElementProps(liElement, asideConfig.props);
7259
- return liElement;
7263
+ this.setElementClassName($li, asideConfig.className);
7264
+ this.setElementAttributes($li, asideConfig.attributes);
7265
+ this.setElementProps($li, asideConfig.props);
7266
+ return $li;
7260
7267
  },
7261
7268
  /**
7262
- * 创建中间容器的元素<li>
7263
7269
  * type ==> switch
7270
+ * 创建中间容器的元素<li>
7264
7271
  * @param formConfig
7265
7272
  */
7266
7273
  createSectionContainerItem_switch(formConfig) {
7267
- let liElement = document.createElement("li");
7268
- liElement["__formConfig__"] = formConfig;
7269
- this.setElementClassName(liElement, formConfig.className);
7270
- this.setElementAttributes(liElement, formConfig.attributes);
7271
- this.setElementProps(liElement, formConfig.props);
7274
+ let $li = document.createElement("li");
7275
+ Reflect.set($li, "__formConfig__", formConfig);
7276
+ this.setElementClassName($li, formConfig.className);
7277
+ this.setElementAttributes($li, formConfig.attributes);
7278
+ this.setElementProps($li, formConfig.props);
7272
7279
  /* 左边底部的描述的文字 */
7273
7280
  let leftDescriptionText = "";
7274
7281
  if (Boolean(formConfig.description)) {
7275
7282
  leftDescriptionText = /*html*/ `<p class="pops-panel-item-left-desc-text">${formConfig.description}</p>`;
7276
7283
  }
7277
- PopsSafeUtils.setSafeHTML(liElement,
7284
+ PopsSafeUtils.setSafeHTML($li,
7278
7285
  /*html*/ `
7279
7286
  <div class="pops-panel-item-left-text">
7280
7287
  <p class="pops-panel-item-left-main-text">${formConfig.text}</p>${leftDescriptionText}</div>
@@ -7291,9 +7298,9 @@
7291
7298
  value: Boolean(formConfig.getValue()),
7292
7299
  },
7293
7300
  $ele: {
7294
- switch: liElement.querySelector(".pops-panel-switch"),
7295
- input: liElement.querySelector(".pops-panel-switch__input"),
7296
- core: liElement.querySelector(".pops-panel-switch__core"),
7301
+ switch: $li.querySelector(".pops-panel-switch"),
7302
+ input: $li.querySelector(".pops-panel-switch__input"),
7303
+ core: $li.querySelector(".pops-panel-switch__core"),
7297
7304
  },
7298
7305
  init() {
7299
7306
  this.setStatus(this.$data.value);
@@ -7355,26 +7362,26 @@
7355
7362
  },
7356
7363
  };
7357
7364
  PopsPanelSwitch.init();
7358
- liElement["data-switch"] = PopsPanelSwitch;
7359
- return liElement;
7365
+ Reflect.set($li, "data-switch", PopsPanelSwitch);
7366
+ return $li;
7360
7367
  },
7361
7368
  /**
7362
- * 获取中间容器的元素<li>
7363
7369
  * type ==> slider
7370
+ * 获取中间容器的元素<li>
7364
7371
  * @param formConfig
7365
7372
  */
7366
7373
  createSectionContainerItem_slider(formConfig) {
7367
- let liElement = document.createElement("li");
7368
- liElement["__formConfig__"] = formConfig;
7369
- this.setElementClassName(liElement, formConfig.className);
7370
- this.setElementAttributes(liElement, formConfig.attributes);
7371
- this.setElementProps(liElement, formConfig.props);
7374
+ let $li = document.createElement("li");
7375
+ Reflect.set($li, "__formConfig__", formConfig);
7376
+ this.setElementClassName($li, formConfig.className);
7377
+ this.setElementAttributes($li, formConfig.attributes);
7378
+ this.setElementProps($li, formConfig.props);
7372
7379
  /* 左边底部的描述的文字 */
7373
7380
  let leftDescriptionText = "";
7374
7381
  if (Boolean(formConfig.description)) {
7375
7382
  leftDescriptionText = `<p class="pops-panel-item-left-desc-text">${formConfig.description}</p>`;
7376
7383
  }
7377
- PopsSafeUtils.setSafeHTML(liElement,
7384
+ PopsSafeUtils.setSafeHTML($li,
7378
7385
  /*html*/ `
7379
7386
  <div class="pops-panel-item-left-text">
7380
7387
  <p class="pops-panel-item-left-main-text">${formConfig.text}</p>${leftDescriptionText}</div>
@@ -7382,11 +7389,11 @@
7382
7389
  <input type="range" min="${formConfig.min}" max="${formConfig.max}">
7383
7390
  </div>
7384
7391
  `);
7385
- let rangeInputElement = liElement.querySelector(".pops-panel-slider input[type=range]");
7392
+ let $rangeInput = $li.querySelector(".pops-panel-slider input[type=range]");
7386
7393
  if (formConfig.step) {
7387
- rangeInputElement.setAttribute("step", formConfig.step.toString());
7394
+ $rangeInput.setAttribute("step", formConfig.step.toString());
7388
7395
  }
7389
- rangeInputElement.value = formConfig.getValue().toString();
7396
+ $rangeInput.value = formConfig.getValue().toString();
7390
7397
  /**
7391
7398
  * 获取提示的内容
7392
7399
  * @param value
@@ -7400,9 +7407,9 @@
7400
7407
  }
7401
7408
  };
7402
7409
  let tooltip = PopsTooltip.init({
7403
- target: rangeInputElement.parentElement,
7410
+ target: $rangeInput.parentElement,
7404
7411
  content: () => {
7405
- return getToolTipContent(rangeInputElement.value);
7412
+ return getToolTipContent($rangeInput.value);
7406
7413
  },
7407
7414
  zIndex: () => {
7408
7415
  return PopsInstanceUtils.getPopsMaxZIndex().zIndex;
@@ -7413,32 +7420,31 @@
7413
7420
  position: "top",
7414
7421
  arrowDistance: 10,
7415
7422
  });
7416
- popsDOMUtils.on(rangeInputElement, ["input", "propertychange"], void 0, function (event) {
7417
- tooltip.toolTip.changeContent(getToolTipContent(rangeInputElement.value));
7423
+ popsDOMUtils.on($rangeInput, ["input", "propertychange"], void 0, function (event) {
7424
+ tooltip.toolTip.changeContent(getToolTipContent($rangeInput.value));
7418
7425
  if (typeof formConfig.callback === "function") {
7419
- formConfig.callback(event, event.target.value);
7426
+ formConfig.callback(event, $rangeInput.valueAsNumber);
7420
7427
  }
7421
7428
  });
7422
- return liElement;
7429
+ return $li;
7423
7430
  },
7424
7431
  /**
7425
- * 获取中间容器的元素<li>
7426
7432
  * type ==> slider
7433
+ * 获取中间容器的元素<li>
7427
7434
  * @param formConfig
7428
7435
  */
7429
7436
  createSectionContainerItem_slider_new(formConfig) {
7430
- let liElement = document.createElement("li");
7431
- // @ts-ignore
7432
- liElement["__formConfig__"] = formConfig;
7433
- this.setElementClassName(liElement, formConfig.className);
7434
- this.setElementAttributes(liElement, formConfig.attributes);
7435
- this.setElementProps(liElement, formConfig.props);
7437
+ let $li = document.createElement("li");
7438
+ Reflect.set($li, "__formConfig__", formConfig);
7439
+ this.setElementClassName($li, formConfig.className);
7440
+ this.setElementAttributes($li, formConfig.attributes);
7441
+ this.setElementProps($li, formConfig.props);
7436
7442
  /* 左边底部的描述的文字 */
7437
7443
  let leftDescriptionText = "";
7438
7444
  if (Boolean(formConfig.description)) {
7439
7445
  leftDescriptionText = /*html*/ `<p class="pops-panel-item-left-desc-text">${formConfig.description}</p>`;
7440
7446
  }
7441
- PopsSafeUtils.setSafeHTML(liElement,
7447
+ PopsSafeUtils.setSafeHTML($li,
7442
7448
  /*html*/ `
7443
7449
  <div class="pops-panel-item-left-text" style="flex: 1;">
7444
7450
  <p class="pops-panel-item-left-main-text">${formConfig.text}</p>${leftDescriptionText}</div>
@@ -7513,11 +7519,11 @@
7513
7519
  tooltip: null,
7514
7520
  },
7515
7521
  $ele: {
7516
- slider: liElement.querySelector(".pops-slider"),
7517
- runAway: liElement.querySelector(".pops-slider__runway"),
7518
- bar: liElement.querySelector(".pops-slider__bar"),
7519
- buttonWrapper: liElement.querySelector(".pops-slider__button-wrapper"),
7520
- button: liElement.querySelector(".pops-slider__button"),
7522
+ slider: $li.querySelector(".pops-slider"),
7523
+ runAway: $li.querySelector(".pops-slider__runway"),
7524
+ bar: $li.querySelector(".pops-slider__bar"),
7525
+ buttonWrapper: $li.querySelector(".pops-slider__button-wrapper"),
7526
+ button: $li.querySelector(".pops-slider__button"),
7521
7527
  },
7522
7528
  $interval: {
7523
7529
  isCheck: false,
@@ -7583,14 +7589,10 @@
7583
7589
  this.$ele.slider.setAttribute("data-max", this.max.toString());
7584
7590
  this.$ele.slider.setAttribute("data-value", this.value.toString());
7585
7591
  this.$ele.slider.setAttribute("data-step", this.step.toString());
7586
- // @ts-ignore
7587
- this.$ele.slider["data-min"] = this.min;
7588
- // @ts-ignore
7589
- this.$ele.slider["data-max"] = this.max;
7590
- // @ts-ignore
7591
- this.$ele.slider["data-value"] = this.value;
7592
- // @ts-ignore
7593
- this.$ele.slider["data-step"] = this.step;
7592
+ Reflect.set(this.$ele.slider, "data-min", this.min);
7593
+ Reflect.set(this.$ele.slider, "data-max", this.max);
7594
+ Reflect.set(this.$ele.slider, "data-value", this.value);
7595
+ Reflect.set(this.$ele.slider, "data-step", this.step);
7594
7596
  },
7595
7597
  /**
7596
7598
  * 初始化滑块的总长度的数据(px)
@@ -7610,7 +7612,7 @@
7610
7612
  let widthPx = 0;
7611
7613
  for (let stepValue = this.min; stepValue <= this.max; stepValue += this.step) {
7612
7614
  let value = this.formatValue(stepValue);
7613
- let info = {};
7615
+ let info;
7614
7616
  if (value === this.min) {
7615
7617
  /* 起始 */
7616
7618
  info = {
@@ -7653,7 +7655,7 @@
7653
7655
  let widthPx = 0;
7654
7656
  for (let stepValue = this.min; stepValue <= this.max; stepValue = PopsMathFloatUtils.add(stepValue, this.step)) {
7655
7657
  let value = this.formatValue(stepValue);
7656
- let info = {};
7658
+ let info;
7657
7659
  if (value === this.min) {
7658
7660
  /* 起始 */
7659
7661
  info = {
@@ -7811,7 +7813,7 @@
7811
7813
  event.target !== this.$ele.bar) {
7812
7814
  return;
7813
7815
  }
7814
- let clickX = parseFloat(event.offsetX);
7816
+ let clickX = parseFloat(event.offsetX.toString());
7815
7817
  this.dragStartCallBack();
7816
7818
  this.dragMoveCallBack(event, clickX, this.value);
7817
7819
  this.dragEndCallBack(clickX);
@@ -7964,7 +7966,7 @@
7964
7966
  return formConfig.getToolTipContent(PopsPanelSlider.value);
7965
7967
  }
7966
7968
  else {
7967
- return PopsPanelSlider.value;
7969
+ return PopsPanelSlider.value.toString();
7968
7970
  }
7969
7971
  }
7970
7972
  let tooltip = PopsTooltip.init({
@@ -8008,20 +8010,20 @@
8008
8010
  },
8009
8011
  };
8010
8012
  PopsPanelSlider.init();
8011
- liElement["data-slider"] = PopsPanelSlider;
8012
- return liElement;
8013
+ Reflect.set($li, "data-slider", PopsPanelSlider);
8014
+ return $li;
8013
8015
  },
8014
8016
  /**
8015
- * 获取中间容器的元素<li>
8016
8017
  * type ==> input
8018
+ * 获取中间容器的元素<li>
8017
8019
  * @param formConfig
8018
8020
  */
8019
8021
  createSectionContainerItem_input(formConfig) {
8020
- let liElement = document.createElement("li");
8021
- liElement["__formConfig__"] = formConfig;
8022
- this.setElementClassName(liElement, formConfig.className);
8023
- this.setElementAttributes(liElement, formConfig.attributes);
8024
- this.setElementProps(liElement, formConfig.props);
8022
+ let $li = document.createElement("li");
8023
+ Reflect.set($li, "__formConfig__", formConfig);
8024
+ this.setElementClassName($li, formConfig.className);
8025
+ this.setElementAttributes($li, formConfig.attributes);
8026
+ this.setElementProps($li, formConfig.props);
8025
8027
  let inputType = "text";
8026
8028
  if (formConfig.isPassword) {
8027
8029
  inputType = "password";
@@ -8034,7 +8036,7 @@
8034
8036
  if (Boolean(formConfig.description)) {
8035
8037
  leftDescriptionText = `<p class="pops-panel-item-left-desc-text">${formConfig.description}</p>`;
8036
8038
  }
8037
- PopsSafeUtils.setSafeHTML(liElement,
8039
+ PopsSafeUtils.setSafeHTML($li,
8038
8040
  /*html*/ `
8039
8041
  <div class="pops-panel-item-left-text">
8040
8042
  <p class="pops-panel-item-left-main-text">${formConfig.text}</p>${leftDescriptionText}</div>
@@ -8045,8 +8047,8 @@
8045
8047
  const PopsPanelInput = {
8046
8048
  [Symbol.toStringTag]: "PopsPanelInput",
8047
8049
  $ele: {
8048
- panelInput: liElement.querySelector(".pops-panel-input"),
8049
- input: liElement.querySelector("input"),
8050
+ panelInput: $li.querySelector(".pops-panel-input"),
8051
+ input: $li.querySelector("input"),
8050
8052
  inputSpanIcon: document.createElement("span"),
8051
8053
  inputSpanIconInner: null,
8052
8054
  icon: null,
@@ -8075,7 +8077,7 @@
8075
8077
  this.disable();
8076
8078
  }
8077
8079
  if (typeof formConfig.handlerCallBack === "function") {
8078
- formConfig.handlerCallBack(liElement, this.$ele.input);
8080
+ formConfig.handlerCallBack($li, this.$ele.input);
8079
8081
  }
8080
8082
  },
8081
8083
  /**
@@ -8210,26 +8212,26 @@
8210
8212
  },
8211
8213
  };
8212
8214
  PopsPanelInput.init();
8213
- liElement["data-input"] = PopsPanelInput;
8214
- return liElement;
8215
+ Reflect.set($li, "data-input", PopsPanelInput);
8216
+ return $li;
8215
8217
  },
8216
8218
  /**
8217
- * 获取中间容器的元素<li>
8218
8219
  * type ==> textarea
8220
+ * 获取中间容器的元素<li>
8219
8221
  * @param formConfig
8220
8222
  */
8221
8223
  createSectionContainerItem_textarea(formConfig) {
8222
- let liElement = document.createElement("li");
8223
- liElement["__formConfig__"] = formConfig;
8224
- this.setElementClassName(liElement, formConfig.className);
8225
- this.setElementAttributes(liElement, formConfig.attributes);
8226
- this.setElementProps(liElement, formConfig.props);
8224
+ let $li = document.createElement("li");
8225
+ Reflect.set($li, "__formConfig__", formConfig);
8226
+ this.setElementClassName($li, formConfig.className);
8227
+ this.setElementAttributes($li, formConfig.attributes);
8228
+ this.setElementProps($li, formConfig.props);
8227
8229
  /* 左边底部的描述的文字 */
8228
8230
  let leftDescriptionText = "";
8229
8231
  if (Boolean(formConfig.description)) {
8230
8232
  leftDescriptionText = `<p class="pops-panel-item-left-desc-text">${formConfig.description}</p>`;
8231
8233
  }
8232
- PopsSafeUtils.setSafeHTML(liElement,
8234
+ PopsSafeUtils.setSafeHTML($li,
8233
8235
  /*html*/ `
8234
8236
  <div class="pops-panel-item-left-text">
8235
8237
  <p class="pops-panel-item-left-main-text">${formConfig.text}</p>${leftDescriptionText}</div>
@@ -8240,8 +8242,8 @@
8240
8242
  const PopsPanelTextArea = {
8241
8243
  [Symbol.toStringTag]: "PopsPanelTextArea",
8242
8244
  $ele: {
8243
- panelTextarea: liElement.querySelector(".pops-panel-textarea"),
8244
- textarea: liElement.querySelector(".pops-panel-textarea textarea"),
8245
+ panelTextarea: $li.querySelector(".pops-panel-textarea"),
8246
+ textarea: $li.querySelector(".pops-panel-textarea textarea"),
8245
8247
  },
8246
8248
  $data: {
8247
8249
  value: formConfig.getValue(),
@@ -8273,35 +8275,36 @@
8273
8275
  */
8274
8276
  setChangeEvent() {
8275
8277
  popsDOMUtils.on(this.$ele.textarea, ["input", "propertychange"], void 0, (event) => {
8276
- this.$data.value = event.target.value;
8278
+ let value = this.$ele.textarea.value;
8279
+ this.$data.value = value;
8277
8280
  if (typeof formConfig.callback === "function") {
8278
- formConfig.callback(event, event.target.value);
8281
+ formConfig.callback(event, value);
8279
8282
  }
8280
8283
  });
8281
8284
  },
8282
8285
  };
8283
8286
  PopsPanelTextArea.init();
8284
- liElement["data-textarea"] = PopsPanelTextArea;
8285
- return liElement;
8287
+ Reflect.set($li, "data-textarea", PopsPanelTextArea);
8288
+ return $li;
8286
8289
  },
8287
8290
  /**
8288
- * 获取中间容器的元素<li>
8289
8291
  * type ==> select
8292
+ * 获取中间容器的元素<li>
8290
8293
  * @param formConfig
8291
8294
  */
8292
8295
  createSectionContainerItem_select(formConfig) {
8293
8296
  const that = this;
8294
- let liElement = document.createElement("li");
8295
- liElement["__formConfig__"] = formConfig;
8296
- this.setElementClassName(liElement, formConfig.className);
8297
- this.setElementAttributes(liElement, formConfig.attributes);
8298
- this.setElementProps(liElement, formConfig.props);
8297
+ let $li = document.createElement("li");
8298
+ Reflect.set($li, "__formConfig__", formConfig);
8299
+ this.setElementClassName($li, formConfig.className);
8300
+ this.setElementAttributes($li, formConfig.attributes);
8301
+ this.setElementProps($li, formConfig.props);
8299
8302
  /* 左边底部的描述的文字 */
8300
8303
  let leftDescriptionText = "";
8301
8304
  if (Boolean(formConfig.description)) {
8302
8305
  leftDescriptionText = /*html*/ `<p class="pops-panel-item-left-desc-text">${formConfig.description}</p>`;
8303
8306
  }
8304
- PopsSafeUtils.setSafeHTML(liElement,
8307
+ PopsSafeUtils.setSafeHTML($li,
8305
8308
  /*html*/ `
8306
8309
  <div class="pops-panel-item-left-text">
8307
8310
  <p class="pops-panel-item-left-main-text">${formConfig.text}</p>${leftDescriptionText}</div>
@@ -8312,8 +8315,8 @@
8312
8315
  const PopsPanelSelect = {
8313
8316
  [Symbol.toStringTag]: "PopsPanelSelect",
8314
8317
  $ele: {
8315
- panelSelect: liElement.querySelector(".pops-panel-select"),
8316
- select: liElement.querySelector(".pops-panel-select select"),
8318
+ panelSelect: $li.querySelector(".pops-panel-select"),
8319
+ select: $li.querySelector(".pops-panel-select select"),
8317
8320
  },
8318
8321
  $eleKey: {
8319
8322
  disable: "__disable__",
@@ -8433,7 +8436,7 @@
8433
8436
  */
8434
8437
  setChangeEvent() {
8435
8438
  popsDOMUtils.on(this.$ele.select, "change", void 0, (event) => {
8436
- let $isSelectedElement = event.target[event.target.selectedIndex];
8439
+ let $isSelectedElement = this.$ele.select[this.$ele.select.selectedIndex];
8437
8440
  let selectInfo = this.getSelectOptionInfo($isSelectedElement);
8438
8441
  this.setSelectOptionsDisableStatus();
8439
8442
  if (typeof formConfig.callback === "function") {
@@ -8446,9 +8449,9 @@
8446
8449
  /* 如果成功创建,加入到中间容器中 */
8447
8450
  let childUListClassName = "pops-panel-select-child-forms";
8448
8451
  // 移除旧的元素
8449
- while (liElement.nextElementSibling) {
8450
- if (liElement.nextElementSibling.classList.contains(childUListClassName)) {
8451
- liElement.nextElementSibling.remove();
8452
+ while ($li.nextElementSibling) {
8453
+ if ($li.nextElementSibling.classList.contains(childUListClassName)) {
8454
+ $li.nextElementSibling.remove();
8452
8455
  }
8453
8456
  else {
8454
8457
  break;
@@ -8456,7 +8459,7 @@
8456
8459
  }
8457
8460
  let $childUList = document.createElement("ul");
8458
8461
  $childUList.className = childUListClassName;
8459
- popsDOMUtils.after(liElement, $childUList);
8462
+ popsDOMUtils.after($li, $childUList);
8460
8463
  that.uListContainerAddItem(formConfig, {
8461
8464
  ulElement: $childUList,
8462
8465
  });
@@ -8476,26 +8479,26 @@
8476
8479
  },
8477
8480
  };
8478
8481
  PopsPanelSelect.init();
8479
- Reflect.set(liElement, "data-select", PopsPanelSelect);
8480
- return liElement;
8482
+ Reflect.set($li, "data-select", PopsPanelSelect);
8483
+ return $li;
8481
8484
  },
8482
8485
  /**
8483
- * 获取中间容器的元素<li>
8484
8486
  * type ==> select-multiple
8487
+ * 获取中间容器的元素<li>
8485
8488
  * @param formConfig
8486
8489
  */
8487
8490
  createSectionContainerItem_select_multiple_new(formConfig) {
8488
- let liElement = document.createElement("li");
8489
- Reflect.set(liElement, "__formConfig__", formConfig);
8490
- this.setElementClassName(liElement, formConfig.className);
8491
- this.setElementAttributes(liElement, formConfig.attributes);
8492
- this.setElementProps(liElement, formConfig.props);
8491
+ let $li = document.createElement("li");
8492
+ Reflect.set($li, "__formConfig__", formConfig);
8493
+ this.setElementClassName($li, formConfig.className);
8494
+ this.setElementAttributes($li, formConfig.attributes);
8495
+ this.setElementProps($li, formConfig.props);
8493
8496
  /* 左边底部的描述的文字 */
8494
8497
  let leftDescriptionText = "";
8495
8498
  if (Boolean(formConfig.description)) {
8496
8499
  leftDescriptionText = /*html*/ `<p class="pops-panel-item-left-desc-text">${formConfig.description}</p>`;
8497
8500
  }
8498
- PopsSafeUtils.setSafeHTML(liElement,
8501
+ PopsSafeUtils.setSafeHTML($li,
8499
8502
  /*html*/ `
8500
8503
  <div class="pops-panel-item-left-text">
8501
8504
  <p class="pops-panel-item-left-main-text">${formConfig.text}</p>${leftDescriptionText}</div>
@@ -8570,15 +8573,14 @@
8570
8573
  },
8571
8574
  /** 初始化$el变量 */
8572
8575
  inintEl() {
8573
- this.$el.$container = liElement.querySelector(".pops-panel-select-multiple");
8574
- this.$el.$wrapper = liElement.querySelector(".el-select__wrapper");
8575
- this.$el.$section = liElement.querySelector(".el-select__selection");
8576
- this.$el.$selectedInputWrapper = liElement.querySelector(".el-select__selected-item.el-select__input-wrapper");
8577
- this.$el.$selectedPlaceHolderWrapper =
8578
- liElement.querySelector(".el-select__selected-item.el-select__placeholder");
8576
+ this.$el.$container = $li.querySelector(".pops-panel-select-multiple");
8577
+ this.$el.$wrapper = $li.querySelector(".el-select__wrapper");
8578
+ this.$el.$section = $li.querySelector(".el-select__selection");
8579
+ this.$el.$selectedInputWrapper = $li.querySelector(".el-select__selected-item.el-select__input-wrapper");
8580
+ this.$el.$selectedPlaceHolderWrapper = $li.querySelector(".el-select__selected-item.el-select__placeholder");
8579
8581
  this.$el.$suffix =
8580
- liElement.querySelector(".el-select__suffix");
8581
- this.$el.$suffixIcon = liElement.querySelector(".el-select__suffix .el-icon");
8582
+ $li.querySelector(".el-select__suffix");
8583
+ this.$el.$suffixIcon = $li.querySelector(".el-select__suffix .el-icon");
8582
8584
  // 先把手动输入框隐藏
8583
8585
  this.hideInputWrapper();
8584
8586
  },
@@ -9136,26 +9138,26 @@
9136
9138
  },
9137
9139
  };
9138
9140
  PopsPanelSelectMultiple.init();
9139
- Reflect.set(liElement, "data-select-multiple", PopsPanelSelectMultiple);
9140
- return liElement;
9141
+ Reflect.set($li, "data-select-multiple", PopsPanelSelectMultiple);
9142
+ return $li;
9141
9143
  },
9142
9144
  /**
9143
- * 获取中间容器的元素<li>
9144
9145
  * type ==> button
9146
+ * 获取中间容器的元素<li>
9145
9147
  * @param formConfig
9146
9148
  */
9147
9149
  createSectionContainerItem_button(formConfig) {
9148
- let liElement = document.createElement("li");
9149
- liElement["__formConfig__"] = formConfig;
9150
- this.setElementClassName(liElement, formConfig.className);
9151
- this.setElementAttributes(liElement, formConfig.attributes);
9152
- this.setElementProps(liElement, formConfig.props);
9150
+ let $li = document.createElement("li");
9151
+ Reflect.set($li, "__formConfig__", formConfig);
9152
+ this.setElementClassName($li, formConfig.className);
9153
+ this.setElementAttributes($li, formConfig.attributes);
9154
+ this.setElementProps($li, formConfig.props);
9153
9155
  /* 左边底部的描述的文字 */
9154
9156
  let leftDescriptionText = "";
9155
9157
  if (Boolean(formConfig.description)) {
9156
9158
  leftDescriptionText = /*html*/ `<p class="pops-panel-item-left-desc-text">${formConfig.description}</p>`;
9157
9159
  }
9158
- PopsSafeUtils.setSafeHTML(liElement,
9160
+ PopsSafeUtils.setSafeHTML($li,
9159
9161
  /*html*/ `
9160
9162
  <div class="pops-panel-item-left-text">
9161
9163
  <p class="pops-panel-item-left-main-text">${formConfig.text}</p>${leftDescriptionText}</div>
@@ -9169,10 +9171,10 @@
9169
9171
  const PopsPanelButton = {
9170
9172
  [Symbol.toStringTag]: "PopsPanelButton",
9171
9173
  $ele: {
9172
- panelButton: liElement.querySelector(".pops-panel-button"),
9173
- button: liElement.querySelector(".pops-panel-button .pops-panel-button_inner"),
9174
- icon: liElement.querySelector(".pops-panel-button .pops-bottom-icon"),
9175
- spanText: liElement.querySelector(".pops-panel-button .pops-panel-button-text"),
9174
+ panelButton: $li.querySelector(".pops-panel-button"),
9175
+ button: $li.querySelector(".pops-panel-button .pops-panel-button_inner"),
9176
+ icon: $li.querySelector(".pops-panel-button .pops-bottom-icon"),
9177
+ spanText: $li.querySelector(".pops-panel-button .pops-panel-button-text"),
9176
9178
  },
9177
9179
  $data: {},
9178
9180
  init() {
@@ -9285,10 +9287,11 @@
9285
9287
  },
9286
9288
  };
9287
9289
  PopsPanelButton.init();
9288
- liElement["data-button"] = PopsPanelButton;
9289
- return liElement;
9290
+ Reflect.set($li, "data-button", PopsPanelButton);
9291
+ return $li;
9290
9292
  },
9291
9293
  /**
9294
+ * type ==> deepMenu
9292
9295
  * 获取深层容器的元素<li>
9293
9296
  * @param formConfig
9294
9297
  */
@@ -9296,7 +9299,7 @@
9296
9299
  let that = this;
9297
9300
  let $li = document.createElement("li");
9298
9301
  $li.classList.add("pops-panel-deepMenu-nav-item");
9299
- $li["__formConfig__"] = formConfig;
9302
+ Reflect.set($li, "__formConfig__", formConfig);
9300
9303
  this.setElementClassName($li, formConfig.className);
9301
9304
  // 设置属性
9302
9305
  this.setElementAttributes($li, formConfig.attributes);
@@ -9432,6 +9435,7 @@
9432
9435
  let $deepMenuContainer = popsDOMUtils.createElement("section", {
9433
9436
  className: "pops-panel-container pops-panel-deepMenu-container",
9434
9437
  });
9438
+ Reflect.set($deepMenuContainer, "__formConfig__", formConfig);
9435
9439
  let $deepMenuHeaderUL = popsDOMUtils.createElement("ul", {
9436
9440
  className: "pops-panel-deepMenu-container-header-ul",
9437
9441
  });
@@ -9446,13 +9450,13 @@
9446
9450
  className: "pops-panel-deepMenu-container-left-arrow-icon",
9447
9451
  innerHTML: PopsIcon.getIcon("arrowLeft"),
9448
9452
  });
9449
- popsDOMUtils.on($headerLeftArrow, "click", void 0, (event) => {
9450
- event?.preventDefault();
9451
- event?.stopPropagation();
9453
+ popsDOMUtils.on($headerLeftArrow, "click", (event) => {
9454
+ popsDOMUtils.preventEvent(event);
9452
9455
  // 返回上一层菜单
9453
- let $prev = $deepMenuContainer.previousElementSibling;
9456
+ let $prev = ($deepMenuContainer.previousElementSibling);
9454
9457
  popsDOMUtils.cssShow($prev);
9455
9458
  $deepMenuContainer.remove();
9459
+ that.triggerRenderRightContainer($prev);
9456
9460
  }, {
9457
9461
  once: true,
9458
9462
  });
@@ -9475,6 +9479,7 @@
9475
9479
  sectionBodyContainer: $deepMenuBodyUL,
9476
9480
  });
9477
9481
  }
9482
+ that.triggerRenderRightContainer($deepMenuContainer);
9478
9483
  },
9479
9484
  /** 设置项的点击事件 */
9480
9485
  setLiClickEvent() {
@@ -9490,22 +9495,22 @@
9490
9495
  },
9491
9496
  };
9492
9497
  PopsPanelDeepMenu.init();
9493
- $li["data-deepMenu"] = PopsPanelDeepMenu;
9498
+ Reflect.set($li, "data-deepMenu", PopsPanelDeepMenu);
9494
9499
  return $li;
9495
9500
  },
9496
9501
  /**
9497
- * 获取中间容器的元素<li>
9498
9502
  * type ===> own
9503
+ * 获取中间容器的元素<li>
9499
9504
  * @param formConfig
9500
9505
  */
9501
9506
  createSectionContainerItem_own(formConfig) {
9502
- let liElement = document.createElement("li");
9503
- liElement["__formConfig__"] = formConfig;
9507
+ let $li = document.createElement("li");
9508
+ Reflect.set($li, "__formConfig__", formConfig);
9504
9509
  if (formConfig.className) {
9505
- liElement.className = formConfig.className;
9510
+ $li.className = formConfig.className;
9506
9511
  }
9507
- liElement = formConfig.getLiElementCallBack(liElement);
9508
- return liElement;
9512
+ $li = formConfig.getLiElementCallBack($li);
9513
+ return $li;
9509
9514
  },
9510
9515
  /**
9511
9516
  * 获取中间容器的元素<li>
@@ -9626,6 +9631,17 @@
9626
9631
  });
9627
9632
  }
9628
9633
  },
9634
+ /**
9635
+ * 触发触发渲染右侧容器的事件
9636
+ */
9637
+ triggerRenderRightContainer($container) {
9638
+ let __formConfig__ = Reflect.get($container, "__formConfig__");
9639
+ this.$el.$pops.dispatchEvent(new CustomEvent("pops:renderRightContainer", {
9640
+ detail: {
9641
+ formConfig: __formConfig__,
9642
+ },
9643
+ }));
9644
+ },
9629
9645
  /**
9630
9646
  *
9631
9647
  * @param formConfig
@@ -9652,6 +9668,8 @@
9652
9668
  const that = this;
9653
9669
  popsDOMUtils.on(asideLiElement, "click", void 0, (event) => {
9654
9670
  this.clearContainer();
9671
+ let rightContainerFormConfig = Reflect.get(asideLiElement, "__forms__");
9672
+ Reflect.set(that.$el.$contentSectionContainer, "__formConfig__", rightContainerFormConfig);
9655
9673
  popsDOMUtils.cssShow(that.$el.$contentSectionContainer);
9656
9674
  this.clearAsideItemIsVisited();
9657
9675
  this.setAsideItemIsVisited(asideLiElement);
@@ -9659,20 +9677,19 @@
9659
9677
  let headerTitleText = asideConfig.headerTitle ?? asideConfig.title;
9660
9678
  if (typeof headerTitleText === "string" &&
9661
9679
  headerTitleText.trim() !== "") {
9662
- let containerHeaderTitleLIElement = document.createElement("li");
9663
- containerHeaderTitleLIElement["__asideConfig__"] =
9664
- asideConfig;
9665
- PopsSafeUtils.setSafeHTML(containerHeaderTitleLIElement, headerTitleText);
9666
- this.sectionContainerHeaderULElement.appendChild(containerHeaderTitleLIElement);
9667
- }
9668
- let __forms__ = asideLiElement["__forms__"];
9669
- __forms__.forEach((formConfig) => {
9680
+ let $containerHeaderTitle = document.createElement("li");
9681
+ Reflect.set($containerHeaderTitle, "__asideConfig__", asideConfig);
9682
+ PopsSafeUtils.setSafeHTML($containerHeaderTitle, headerTitleText);
9683
+ this.sectionContainerHeaderULElement.appendChild($containerHeaderTitle);
9684
+ }
9685
+ rightContainerFormConfig.forEach((formConfig) => {
9670
9686
  this.createSectionContainerItem_forms(formConfig);
9671
9687
  });
9672
9688
  if (typeof asideConfig.callback === "function") {
9673
9689
  /* 执行回调 */
9674
9690
  asideConfig.callback(event, this.sectionContainerHeaderULElement, this.sectionContainerULElement);
9675
9691
  }
9692
+ that.triggerRenderRightContainer(that.$el.$contentSectionContainer);
9676
9693
  });
9677
9694
  },
9678
9695
  };
@@ -9762,13 +9779,14 @@
9762
9779
  if ($mask != null) {
9763
9780
  $anim.after($mask);
9764
9781
  }
9765
- let panelHandleContentDetails = PanelHandleContentDetails();
9782
+ let panelHandlerComponents = PanelHandlerComponents();
9766
9783
  /**
9767
9784
  * 处理内部配置
9768
9785
  */
9769
- panelHandleContentDetails.init({
9786
+ panelHandlerComponents.init({
9770
9787
  config: config,
9771
9788
  $el: {
9789
+ $pops: $pops,
9772
9790
  $content: $content,
9773
9791
  $contentAside: $contentAside,
9774
9792
  $contentSectionContainer: $contentSectionContainer,
@@ -9793,7 +9811,15 @@
9793
9811
  });
9794
9812
  }
9795
9813
  let result = PopsHandler.handleResultDetails(eventDetails);
9796
- return result;
9814
+ return {
9815
+ ...result,
9816
+ addEventListener: (event, listener, options) => {
9817
+ $pops.addEventListener(event, listener, options);
9818
+ },
9819
+ removeEventListener: (event, listener, options) => {
9820
+ $pops.removeEventListener(event, listener, options);
9821
+ },
9822
+ };
9797
9823
  },
9798
9824
  };
9799
9825
 
@@ -11037,14 +11063,14 @@
11037
11063
  /** 配置 */
11038
11064
  config = {
11039
11065
  /** 版本号 */
11040
- version: "2025.6.18",
11066
+ version: "2025.7.1",
11041
11067
  cssText: PopsCSS,
11042
11068
  /** icon图标的svg代码 */
11043
11069
  iconSVG: PopsIcon.$data,
11044
11070
  /** 当前已配置的动画@keyframes名字映射(初始化时生成) */
11045
11071
  animation: PopsAnimation.$data,
11046
11072
  /** 存储已创建的元素 */
11047
- layer: PopsLayer,
11073
+ layer: PopsLayerData,
11048
11074
  /** 禁止滚动 */
11049
11075
  forbiddenScroll: {
11050
11076
  event(event) {
@@ -11060,7 +11086,7 @@
11060
11086
  /** pops处理float类型使用的工具类 */
11061
11087
  MathFloatUtils: PopsMathFloatUtils,
11062
11088
  /** pops.panel中用于处理各个类型的工具 */
11063
- panelHandleContentUtils: PanelHandleContentDetails,
11089
+ PanelHandlerComponents: PanelHandlerComponents,
11064
11090
  };
11065
11091
  init() { }
11066
11092
  /**