@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
@@ -3,14 +3,18 @@ System.register('pops', [], (function (exports) {
3
3
  return {
4
4
  execute: (function () {
5
5
 
6
+ /**
7
+ * 存储在元素属性上的事件名
8
+ */
6
9
  const SymbolEvents = Symbol("events_" + (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1));
7
10
 
8
- const PopsCoreEnv = {
11
+ const PopsCoreDefaultEnv = {
9
12
  document: document,
10
13
  window: window,
11
14
  globalThis: globalThis,
12
15
  self: self,
13
16
  };
17
+ const PopsCoreEnv = Object.assign({}, PopsCoreDefaultEnv);
14
18
  const PopsCore = {
15
19
  get document() {
16
20
  return PopsCoreEnv.document;
@@ -332,8 +336,7 @@ System.register('pops', [], (function (exports) {
332
336
  if (target === PopsCore.self) {
333
337
  return true;
334
338
  }
335
- if (typeof unsafeWindow !== "undefined" &&
336
- target === unsafeWindow) {
339
+ if (typeof unsafeWindow !== "undefined" && target === unsafeWindow) {
337
340
  return true;
338
341
  }
339
342
  if (target?.Math?.toString() !== "[object Math]") {
@@ -2231,17 +2234,18 @@ System.register('pops', [], (function (exports) {
2231
2234
  }
2232
2235
  const popsDOMUtils = new PopsDOMUtils();
2233
2236
 
2234
- const PopsLayer = {
2237
+ const PopsLayerData = {
2235
2238
  alert: [],
2236
2239
  confirm: [],
2237
- prompt: [],
2238
- loading: [],
2239
- iframe: [],
2240
- tooltip: [],
2241
2240
  drawer: [],
2242
2241
  folder: [],
2242
+ iframe: [],
2243
+ loading: [],
2243
2244
  panel: [],
2245
+ prompt: [],
2244
2246
  rightClickMenu: [],
2247
+ // 没有 searchSuggestion
2248
+ tooltip: [],
2245
2249
  };
2246
2250
 
2247
2251
  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";
@@ -2436,8 +2440,8 @@ System.register('pops', [], (function (exports) {
2436
2440
  function isVisibleNode($css) {
2437
2441
  return $css.position !== "static" && $css.display !== "none";
2438
2442
  }
2439
- Object.keys(PopsLayer).forEach((layerName) => {
2440
- let layerList = PopsLayer[layerName];
2443
+ Object.keys(PopsLayerData).forEach((layerName) => {
2444
+ let layerList = PopsLayerData[layerName];
2441
2445
  for (let index = 0; index < layerList.length; index++) {
2442
2446
  const layer = layerList[index];
2443
2447
  let nodeStyle = window.getComputedStyle(layer.animElement);
@@ -2985,8 +2989,7 @@ System.register('pops', [], (function (exports) {
2985
2989
  let style = configValue == null
2986
2990
  ? ""
2987
2991
  : typeof configValue === "function"
2988
- ? // @ts-ignore
2989
- configValue()
2992
+ ? configValue()
2990
2993
  : configValue;
2991
2994
  if (typeof style === "string") {
2992
2995
  result.style = style;
@@ -3000,7 +3003,7 @@ System.register('pops', [], (function (exports) {
3000
3003
  ? configValue()
3001
3004
  : configValue;
3002
3005
  if (typeof zIndex === "string") {
3003
- let newIndex = (zIndex = parseInt(zIndex));
3006
+ let newIndex = (zIndex = Number(zIndex));
3004
3007
  if (!isNaN(newIndex)) {
3005
3008
  result.zIndex = newIndex;
3006
3009
  }
@@ -3081,37 +3084,38 @@ System.register('pops', [], (function (exports) {
3081
3084
 
3082
3085
  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";
3083
3086
 
3087
+ const PopsIconData = {
3088
+ min: SVG_min,
3089
+ mise: SVG_mise,
3090
+ max: SVG_max,
3091
+ close: SVG_close,
3092
+ edit: SVG_edit,
3093
+ share: SVG_share,
3094
+ delete: SVG_delete,
3095
+ search: SVG_search,
3096
+ upload: SVG_upload,
3097
+ loading: SVG_loading,
3098
+ next: SVG_next,
3099
+ prev: SVG_prev,
3100
+ eleme: SVG_eleme,
3101
+ elemePlus: SVG_elemePlus,
3102
+ chromeFilled: SVG_chromeFilled,
3103
+ cpu: SVG_cpu,
3104
+ videoPlay: SVG_videoPlay,
3105
+ videoPause: SVG_videoPause,
3106
+ headset: SVG_headset,
3107
+ monitor: SVG_monitor,
3108
+ documentCopy: SVG_documentCopy,
3109
+ picture: SVG_picture,
3110
+ circleClose: SVG_circleClose,
3111
+ view: SVG_view,
3112
+ hide: SVG_hide,
3113
+ keyboard: SVG_keyboard,
3114
+ arrowRight: SVG_arrowRight,
3115
+ arrowLeft: SVG_arrowLeft,
3116
+ };
3084
3117
  const PopsIcon = {
3085
- $data: {
3086
- min: SVG_min,
3087
- mise: SVG_mise,
3088
- max: SVG_max,
3089
- close: SVG_close,
3090
- edit: SVG_edit,
3091
- share: SVG_share,
3092
- delete: SVG_delete,
3093
- search: SVG_search,
3094
- upload: SVG_upload,
3095
- loading: SVG_loading,
3096
- next: SVG_next,
3097
- prev: SVG_prev,
3098
- eleme: SVG_eleme,
3099
- elemePlus: SVG_elemePlus,
3100
- chromeFilled: SVG_chromeFilled,
3101
- cpu: SVG_cpu,
3102
- videoPlay: SVG_videoPlay,
3103
- videoPause: SVG_videoPause,
3104
- headset: SVG_headset,
3105
- monitor: SVG_monitor,
3106
- documentCopy: SVG_documentCopy,
3107
- picture: SVG_picture,
3108
- circleClose: SVG_circleClose,
3109
- view: SVG_view,
3110
- hide: SVG_hide,
3111
- keyboard: SVG_keyboard,
3112
- arrowRight: SVG_arrowRight,
3113
- arrowLeft: SVG_arrowLeft,
3114
- },
3118
+ $data: PopsIconData,
3115
3119
  /**
3116
3120
  * 判断是否存在某个icon
3117
3121
  * @param iconName 图标名
@@ -3475,7 +3479,7 @@ System.register('pops', [], (function (exports) {
3475
3479
  function clickEvent(event) {
3476
3480
  popsDOMUtils.preventEvent(event);
3477
3481
  // 获取该类型实例存储列表
3478
- let targetLayer = PopsLayer[details.type];
3482
+ let targetLayer = PopsLayerData[details.type];
3479
3483
  function originalRun() {
3480
3484
  if (details.config.mask.clickEvent.toClose) {
3481
3485
  /* 关闭 */
@@ -3662,13 +3666,13 @@ System.register('pops', [], (function (exports) {
3662
3666
  mode: mode,
3663
3667
  guid: guid,
3664
3668
  close() {
3665
- return PopsInstanceUtils.close(mode, PopsLayer[mode], guid, config, animElement);
3669
+ return PopsInstanceUtils.close(mode, PopsLayerData[mode], guid, config, animElement);
3666
3670
  },
3667
3671
  hide() {
3668
- return PopsInstanceUtils.hide(mode, PopsLayer[mode], guid, config, animElement, maskElement);
3672
+ return PopsInstanceUtils.hide(mode, PopsLayerData[mode], guid, config, animElement, maskElement);
3669
3673
  },
3670
3674
  show() {
3671
- return PopsInstanceUtils.show(mode, PopsLayer[mode], guid, config, animElement, maskElement);
3675
+ return PopsInstanceUtils.show(mode, PopsLayerData[mode], guid, config, animElement, maskElement);
3672
3676
  },
3673
3677
  };
3674
3678
  },
@@ -3690,13 +3694,13 @@ System.register('pops', [], (function (exports) {
3690
3694
  mode: mode,
3691
3695
  guid: guid,
3692
3696
  close() {
3693
- return PopsInstanceUtils.close(mode, PopsLayer[mode], guid, config, animElement);
3697
+ return PopsInstanceUtils.close(mode, PopsLayerData[mode], guid, config, animElement);
3694
3698
  },
3695
3699
  hide() {
3696
- return PopsInstanceUtils.hide(mode, PopsLayer[mode], guid, config, animElement, maskElement);
3700
+ return PopsInstanceUtils.hide(mode, PopsLayerData[mode], guid, config, animElement, maskElement);
3697
3701
  },
3698
3702
  show() {
3699
- return PopsInstanceUtils.show(mode, PopsLayer[mode], guid, config, animElement, maskElement);
3703
+ return PopsInstanceUtils.show(mode, PopsLayerData[mode], guid, config, animElement, maskElement);
3700
3704
  },
3701
3705
  };
3702
3706
  },
@@ -3808,20 +3812,20 @@ System.register('pops', [], (function (exports) {
3808
3812
  if (type === "loading" ||
3809
3813
  type === "tooltip" ||
3810
3814
  type === "rightClickMenu") {
3811
- let layer = PopsLayer[type];
3815
+ let layer = PopsLayerData[type];
3812
3816
  if (layer) {
3813
3817
  PopsInstanceUtils.removeInstance([layer], "", true);
3814
3818
  }
3815
3819
  }
3816
3820
  else {
3817
3821
  PopsInstanceUtils.removeInstance([
3818
- PopsLayer.alert,
3819
- PopsLayer.confirm,
3820
- PopsLayer.prompt,
3821
- PopsLayer.iframe,
3822
- PopsLayer.drawer,
3823
- PopsLayer.folder,
3824
- PopsLayer.panel,
3822
+ PopsLayerData.alert,
3823
+ PopsLayerData.confirm,
3824
+ PopsLayerData.prompt,
3825
+ PopsLayerData.iframe,
3826
+ PopsLayerData.drawer,
3827
+ PopsLayerData.folder,
3828
+ PopsLayerData.panel,
3825
3829
  ], "", true);
3826
3830
  }
3827
3831
  }
@@ -3842,7 +3846,7 @@ System.register('pops', [], (function (exports) {
3842
3846
  * @param value
3843
3847
  */
3844
3848
  handlePush(type, value) {
3845
- PopsLayer[type].push(value);
3849
+ PopsLayerData[type].push(value);
3846
3850
  },
3847
3851
  };
3848
3852
 
@@ -4764,7 +4768,7 @@ System.register('pops', [], (function (exports) {
4764
4768
  popsDOMUtils.on(headerCloseBtnElement, "click", (event) => {
4765
4769
  event.preventDefault();
4766
4770
  event.stopPropagation();
4767
- PopsInstanceUtils.removeInstance([PopsLayer.iframe], guid, false);
4771
+ PopsInstanceUtils.removeInstance([PopsLayerData.iframe], guid, false);
4768
4772
  if (typeof config?.btn?.close?.callback === "function") {
4769
4773
  config.btn.close.callback(eventDetails, event);
4770
4774
  }
@@ -7062,7 +7066,10 @@ System.register('pops', [], (function (exports) {
7062
7066
  },
7063
7067
  };
7064
7068
 
7065
- const PanelHandleContentDetails = () => {
7069
+ /**
7070
+ * 处理组件(把组件配置转为组件元素)
7071
+ */
7072
+ const PanelHandlerComponents = () => {
7066
7073
  return {
7067
7074
  /**
7068
7075
  * 左侧的ul容器
@@ -7080,6 +7087,8 @@ System.register('pops', [], (function (exports) {
7080
7087
  * 元素
7081
7088
  */
7082
7089
  $el: {
7090
+ /** pops主元素 */
7091
+ $pops: null,
7083
7092
  /** 内容 */
7084
7093
  $content: null,
7085
7094
  /** 左侧容器 */
@@ -7092,8 +7101,6 @@ System.register('pops', [], (function (exports) {
7092
7101
  * @param details
7093
7102
  */
7094
7103
  init(details) {
7095
- // @ts-ignore
7096
- this.$el = null;
7097
7104
  this.$el = {
7098
7105
  ...details.$el,
7099
7106
  };
@@ -7156,11 +7163,12 @@ System.register('pops', [], (function (exports) {
7156
7163
  * 清空container容器的元素
7157
7164
  */
7158
7165
  clearContainer() {
7166
+ Reflect.deleteProperty(this.$el.$contentSectionContainer, "__formConfig__");
7159
7167
  PopsSafeUtils.setSafeHTML(this.sectionContainerHeaderULElement, "");
7160
7168
  PopsSafeUtils.setSafeHTML(this.sectionContainerULElement, "");
7161
7169
  this.$el.$content
7162
7170
  ?.querySelectorAll("section.pops-panel-deepMenu-container")
7163
- .forEach((ele) => ele.remove());
7171
+ .forEach(($el) => $el.remove());
7164
7172
  },
7165
7173
  /**
7166
7174
  * 清空左侧容器已访问记录
@@ -7168,8 +7176,8 @@ System.register('pops', [], (function (exports) {
7168
7176
  clearAsideItemIsVisited() {
7169
7177
  this.$el.$contentAside
7170
7178
  .querySelectorAll(".pops-is-visited")
7171
- .forEach((element) => {
7172
- popsDOMUtils.removeClassName(element, "pops-is-visited");
7179
+ .forEach(($el) => {
7180
+ popsDOMUtils.removeClassName($el, "pops-is-visited");
7173
7181
  });
7174
7182
  },
7175
7183
  /**
@@ -7246,34 +7254,33 @@ System.register('pops', [], (function (exports) {
7246
7254
  * @param asideConfig
7247
7255
  */
7248
7256
  createAsideItem(asideConfig) {
7249
- let liElement = document.createElement("li");
7250
- liElement.id = asideConfig.id;
7251
- // @ts-ignore
7252
- liElement["__forms__"] = asideConfig.forms;
7253
- PopsSafeUtils.setSafeHTML(liElement, asideConfig.title);
7257
+ let $li = document.createElement("li");
7258
+ $li.id = asideConfig.id;
7259
+ Reflect.set($li, "__forms__", asideConfig.forms);
7260
+ PopsSafeUtils.setSafeHTML($li, asideConfig.title);
7254
7261
  /* 处理className */
7255
- this.setElementClassName(liElement, asideConfig.className);
7256
- this.setElementAttributes(liElement, asideConfig.attributes);
7257
- this.setElementProps(liElement, asideConfig.props);
7258
- return liElement;
7262
+ this.setElementClassName($li, asideConfig.className);
7263
+ this.setElementAttributes($li, asideConfig.attributes);
7264
+ this.setElementProps($li, asideConfig.props);
7265
+ return $li;
7259
7266
  },
7260
7267
  /**
7261
- * 创建中间容器的元素<li>
7262
7268
  * type ==> switch
7269
+ * 创建中间容器的元素<li>
7263
7270
  * @param formConfig
7264
7271
  */
7265
7272
  createSectionContainerItem_switch(formConfig) {
7266
- let liElement = document.createElement("li");
7267
- liElement["__formConfig__"] = formConfig;
7268
- this.setElementClassName(liElement, formConfig.className);
7269
- this.setElementAttributes(liElement, formConfig.attributes);
7270
- this.setElementProps(liElement, formConfig.props);
7273
+ let $li = document.createElement("li");
7274
+ Reflect.set($li, "__formConfig__", formConfig);
7275
+ this.setElementClassName($li, formConfig.className);
7276
+ this.setElementAttributes($li, formConfig.attributes);
7277
+ this.setElementProps($li, formConfig.props);
7271
7278
  /* 左边底部的描述的文字 */
7272
7279
  let leftDescriptionText = "";
7273
7280
  if (Boolean(formConfig.description)) {
7274
7281
  leftDescriptionText = /*html*/ `<p class="pops-panel-item-left-desc-text">${formConfig.description}</p>`;
7275
7282
  }
7276
- PopsSafeUtils.setSafeHTML(liElement,
7283
+ PopsSafeUtils.setSafeHTML($li,
7277
7284
  /*html*/ `
7278
7285
  <div class="pops-panel-item-left-text">
7279
7286
  <p class="pops-panel-item-left-main-text">${formConfig.text}</p>${leftDescriptionText}</div>
@@ -7290,9 +7297,9 @@ System.register('pops', [], (function (exports) {
7290
7297
  value: Boolean(formConfig.getValue()),
7291
7298
  },
7292
7299
  $ele: {
7293
- switch: liElement.querySelector(".pops-panel-switch"),
7294
- input: liElement.querySelector(".pops-panel-switch__input"),
7295
- core: liElement.querySelector(".pops-panel-switch__core"),
7300
+ switch: $li.querySelector(".pops-panel-switch"),
7301
+ input: $li.querySelector(".pops-panel-switch__input"),
7302
+ core: $li.querySelector(".pops-panel-switch__core"),
7296
7303
  },
7297
7304
  init() {
7298
7305
  this.setStatus(this.$data.value);
@@ -7354,26 +7361,26 @@ System.register('pops', [], (function (exports) {
7354
7361
  },
7355
7362
  };
7356
7363
  PopsPanelSwitch.init();
7357
- liElement["data-switch"] = PopsPanelSwitch;
7358
- return liElement;
7364
+ Reflect.set($li, "data-switch", PopsPanelSwitch);
7365
+ return $li;
7359
7366
  },
7360
7367
  /**
7361
- * 获取中间容器的元素<li>
7362
7368
  * type ==> slider
7369
+ * 获取中间容器的元素<li>
7363
7370
  * @param formConfig
7364
7371
  */
7365
7372
  createSectionContainerItem_slider(formConfig) {
7366
- let liElement = document.createElement("li");
7367
- liElement["__formConfig__"] = formConfig;
7368
- this.setElementClassName(liElement, formConfig.className);
7369
- this.setElementAttributes(liElement, formConfig.attributes);
7370
- this.setElementProps(liElement, formConfig.props);
7373
+ let $li = document.createElement("li");
7374
+ Reflect.set($li, "__formConfig__", formConfig);
7375
+ this.setElementClassName($li, formConfig.className);
7376
+ this.setElementAttributes($li, formConfig.attributes);
7377
+ this.setElementProps($li, formConfig.props);
7371
7378
  /* 左边底部的描述的文字 */
7372
7379
  let leftDescriptionText = "";
7373
7380
  if (Boolean(formConfig.description)) {
7374
7381
  leftDescriptionText = `<p class="pops-panel-item-left-desc-text">${formConfig.description}</p>`;
7375
7382
  }
7376
- PopsSafeUtils.setSafeHTML(liElement,
7383
+ PopsSafeUtils.setSafeHTML($li,
7377
7384
  /*html*/ `
7378
7385
  <div class="pops-panel-item-left-text">
7379
7386
  <p class="pops-panel-item-left-main-text">${formConfig.text}</p>${leftDescriptionText}</div>
@@ -7381,11 +7388,11 @@ System.register('pops', [], (function (exports) {
7381
7388
  <input type="range" min="${formConfig.min}" max="${formConfig.max}">
7382
7389
  </div>
7383
7390
  `);
7384
- let rangeInputElement = liElement.querySelector(".pops-panel-slider input[type=range]");
7391
+ let $rangeInput = $li.querySelector(".pops-panel-slider input[type=range]");
7385
7392
  if (formConfig.step) {
7386
- rangeInputElement.setAttribute("step", formConfig.step.toString());
7393
+ $rangeInput.setAttribute("step", formConfig.step.toString());
7387
7394
  }
7388
- rangeInputElement.value = formConfig.getValue().toString();
7395
+ $rangeInput.value = formConfig.getValue().toString();
7389
7396
  /**
7390
7397
  * 获取提示的内容
7391
7398
  * @param value
@@ -7399,9 +7406,9 @@ System.register('pops', [], (function (exports) {
7399
7406
  }
7400
7407
  };
7401
7408
  let tooltip = PopsTooltip.init({
7402
- target: rangeInputElement.parentElement,
7409
+ target: $rangeInput.parentElement,
7403
7410
  content: () => {
7404
- return getToolTipContent(rangeInputElement.value);
7411
+ return getToolTipContent($rangeInput.value);
7405
7412
  },
7406
7413
  zIndex: () => {
7407
7414
  return PopsInstanceUtils.getPopsMaxZIndex().zIndex;
@@ -7412,32 +7419,31 @@ System.register('pops', [], (function (exports) {
7412
7419
  position: "top",
7413
7420
  arrowDistance: 10,
7414
7421
  });
7415
- popsDOMUtils.on(rangeInputElement, ["input", "propertychange"], void 0, function (event) {
7416
- tooltip.toolTip.changeContent(getToolTipContent(rangeInputElement.value));
7422
+ popsDOMUtils.on($rangeInput, ["input", "propertychange"], void 0, function (event) {
7423
+ tooltip.toolTip.changeContent(getToolTipContent($rangeInput.value));
7417
7424
  if (typeof formConfig.callback === "function") {
7418
- formConfig.callback(event, event.target.value);
7425
+ formConfig.callback(event, $rangeInput.valueAsNumber);
7419
7426
  }
7420
7427
  });
7421
- return liElement;
7428
+ return $li;
7422
7429
  },
7423
7430
  /**
7424
- * 获取中间容器的元素<li>
7425
7431
  * type ==> slider
7432
+ * 获取中间容器的元素<li>
7426
7433
  * @param formConfig
7427
7434
  */
7428
7435
  createSectionContainerItem_slider_new(formConfig) {
7429
- let liElement = document.createElement("li");
7430
- // @ts-ignore
7431
- liElement["__formConfig__"] = formConfig;
7432
- this.setElementClassName(liElement, formConfig.className);
7433
- this.setElementAttributes(liElement, formConfig.attributes);
7434
- this.setElementProps(liElement, formConfig.props);
7436
+ let $li = document.createElement("li");
7437
+ Reflect.set($li, "__formConfig__", formConfig);
7438
+ this.setElementClassName($li, formConfig.className);
7439
+ this.setElementAttributes($li, formConfig.attributes);
7440
+ this.setElementProps($li, formConfig.props);
7435
7441
  /* 左边底部的描述的文字 */
7436
7442
  let leftDescriptionText = "";
7437
7443
  if (Boolean(formConfig.description)) {
7438
7444
  leftDescriptionText = /*html*/ `<p class="pops-panel-item-left-desc-text">${formConfig.description}</p>`;
7439
7445
  }
7440
- PopsSafeUtils.setSafeHTML(liElement,
7446
+ PopsSafeUtils.setSafeHTML($li,
7441
7447
  /*html*/ `
7442
7448
  <div class="pops-panel-item-left-text" style="flex: 1;">
7443
7449
  <p class="pops-panel-item-left-main-text">${formConfig.text}</p>${leftDescriptionText}</div>
@@ -7512,11 +7518,11 @@ System.register('pops', [], (function (exports) {
7512
7518
  tooltip: null,
7513
7519
  },
7514
7520
  $ele: {
7515
- slider: liElement.querySelector(".pops-slider"),
7516
- runAway: liElement.querySelector(".pops-slider__runway"),
7517
- bar: liElement.querySelector(".pops-slider__bar"),
7518
- buttonWrapper: liElement.querySelector(".pops-slider__button-wrapper"),
7519
- button: liElement.querySelector(".pops-slider__button"),
7521
+ slider: $li.querySelector(".pops-slider"),
7522
+ runAway: $li.querySelector(".pops-slider__runway"),
7523
+ bar: $li.querySelector(".pops-slider__bar"),
7524
+ buttonWrapper: $li.querySelector(".pops-slider__button-wrapper"),
7525
+ button: $li.querySelector(".pops-slider__button"),
7520
7526
  },
7521
7527
  $interval: {
7522
7528
  isCheck: false,
@@ -7582,14 +7588,10 @@ System.register('pops', [], (function (exports) {
7582
7588
  this.$ele.slider.setAttribute("data-max", this.max.toString());
7583
7589
  this.$ele.slider.setAttribute("data-value", this.value.toString());
7584
7590
  this.$ele.slider.setAttribute("data-step", this.step.toString());
7585
- // @ts-ignore
7586
- this.$ele.slider["data-min"] = this.min;
7587
- // @ts-ignore
7588
- this.$ele.slider["data-max"] = this.max;
7589
- // @ts-ignore
7590
- this.$ele.slider["data-value"] = this.value;
7591
- // @ts-ignore
7592
- this.$ele.slider["data-step"] = this.step;
7591
+ Reflect.set(this.$ele.slider, "data-min", this.min);
7592
+ Reflect.set(this.$ele.slider, "data-max", this.max);
7593
+ Reflect.set(this.$ele.slider, "data-value", this.value);
7594
+ Reflect.set(this.$ele.slider, "data-step", this.step);
7593
7595
  },
7594
7596
  /**
7595
7597
  * 初始化滑块的总长度的数据(px)
@@ -7609,7 +7611,7 @@ System.register('pops', [], (function (exports) {
7609
7611
  let widthPx = 0;
7610
7612
  for (let stepValue = this.min; stepValue <= this.max; stepValue += this.step) {
7611
7613
  let value = this.formatValue(stepValue);
7612
- let info = {};
7614
+ let info;
7613
7615
  if (value === this.min) {
7614
7616
  /* 起始 */
7615
7617
  info = {
@@ -7652,7 +7654,7 @@ System.register('pops', [], (function (exports) {
7652
7654
  let widthPx = 0;
7653
7655
  for (let stepValue = this.min; stepValue <= this.max; stepValue = PopsMathFloatUtils.add(stepValue, this.step)) {
7654
7656
  let value = this.formatValue(stepValue);
7655
- let info = {};
7657
+ let info;
7656
7658
  if (value === this.min) {
7657
7659
  /* 起始 */
7658
7660
  info = {
@@ -7810,7 +7812,7 @@ System.register('pops', [], (function (exports) {
7810
7812
  event.target !== this.$ele.bar) {
7811
7813
  return;
7812
7814
  }
7813
- let clickX = parseFloat(event.offsetX);
7815
+ let clickX = parseFloat(event.offsetX.toString());
7814
7816
  this.dragStartCallBack();
7815
7817
  this.dragMoveCallBack(event, clickX, this.value);
7816
7818
  this.dragEndCallBack(clickX);
@@ -7963,7 +7965,7 @@ System.register('pops', [], (function (exports) {
7963
7965
  return formConfig.getToolTipContent(PopsPanelSlider.value);
7964
7966
  }
7965
7967
  else {
7966
- return PopsPanelSlider.value;
7968
+ return PopsPanelSlider.value.toString();
7967
7969
  }
7968
7970
  }
7969
7971
  let tooltip = PopsTooltip.init({
@@ -8007,20 +8009,20 @@ System.register('pops', [], (function (exports) {
8007
8009
  },
8008
8010
  };
8009
8011
  PopsPanelSlider.init();
8010
- liElement["data-slider"] = PopsPanelSlider;
8011
- return liElement;
8012
+ Reflect.set($li, "data-slider", PopsPanelSlider);
8013
+ return $li;
8012
8014
  },
8013
8015
  /**
8014
- * 获取中间容器的元素<li>
8015
8016
  * type ==> input
8017
+ * 获取中间容器的元素<li>
8016
8018
  * @param formConfig
8017
8019
  */
8018
8020
  createSectionContainerItem_input(formConfig) {
8019
- let liElement = document.createElement("li");
8020
- liElement["__formConfig__"] = formConfig;
8021
- this.setElementClassName(liElement, formConfig.className);
8022
- this.setElementAttributes(liElement, formConfig.attributes);
8023
- this.setElementProps(liElement, formConfig.props);
8021
+ let $li = document.createElement("li");
8022
+ Reflect.set($li, "__formConfig__", formConfig);
8023
+ this.setElementClassName($li, formConfig.className);
8024
+ this.setElementAttributes($li, formConfig.attributes);
8025
+ this.setElementProps($li, formConfig.props);
8024
8026
  let inputType = "text";
8025
8027
  if (formConfig.isPassword) {
8026
8028
  inputType = "password";
@@ -8033,7 +8035,7 @@ System.register('pops', [], (function (exports) {
8033
8035
  if (Boolean(formConfig.description)) {
8034
8036
  leftDescriptionText = `<p class="pops-panel-item-left-desc-text">${formConfig.description}</p>`;
8035
8037
  }
8036
- PopsSafeUtils.setSafeHTML(liElement,
8038
+ PopsSafeUtils.setSafeHTML($li,
8037
8039
  /*html*/ `
8038
8040
  <div class="pops-panel-item-left-text">
8039
8041
  <p class="pops-panel-item-left-main-text">${formConfig.text}</p>${leftDescriptionText}</div>
@@ -8044,8 +8046,8 @@ System.register('pops', [], (function (exports) {
8044
8046
  const PopsPanelInput = {
8045
8047
  [Symbol.toStringTag]: "PopsPanelInput",
8046
8048
  $ele: {
8047
- panelInput: liElement.querySelector(".pops-panel-input"),
8048
- input: liElement.querySelector("input"),
8049
+ panelInput: $li.querySelector(".pops-panel-input"),
8050
+ input: $li.querySelector("input"),
8049
8051
  inputSpanIcon: document.createElement("span"),
8050
8052
  inputSpanIconInner: null,
8051
8053
  icon: null,
@@ -8074,7 +8076,7 @@ System.register('pops', [], (function (exports) {
8074
8076
  this.disable();
8075
8077
  }
8076
8078
  if (typeof formConfig.handlerCallBack === "function") {
8077
- formConfig.handlerCallBack(liElement, this.$ele.input);
8079
+ formConfig.handlerCallBack($li, this.$ele.input);
8078
8080
  }
8079
8081
  },
8080
8082
  /**
@@ -8209,26 +8211,26 @@ System.register('pops', [], (function (exports) {
8209
8211
  },
8210
8212
  };
8211
8213
  PopsPanelInput.init();
8212
- liElement["data-input"] = PopsPanelInput;
8213
- return liElement;
8214
+ Reflect.set($li, "data-input", PopsPanelInput);
8215
+ return $li;
8214
8216
  },
8215
8217
  /**
8216
- * 获取中间容器的元素<li>
8217
8218
  * type ==> textarea
8219
+ * 获取中间容器的元素<li>
8218
8220
  * @param formConfig
8219
8221
  */
8220
8222
  createSectionContainerItem_textarea(formConfig) {
8221
- let liElement = document.createElement("li");
8222
- liElement["__formConfig__"] = formConfig;
8223
- this.setElementClassName(liElement, formConfig.className);
8224
- this.setElementAttributes(liElement, formConfig.attributes);
8225
- this.setElementProps(liElement, formConfig.props);
8223
+ let $li = document.createElement("li");
8224
+ Reflect.set($li, "__formConfig__", formConfig);
8225
+ this.setElementClassName($li, formConfig.className);
8226
+ this.setElementAttributes($li, formConfig.attributes);
8227
+ this.setElementProps($li, formConfig.props);
8226
8228
  /* 左边底部的描述的文字 */
8227
8229
  let leftDescriptionText = "";
8228
8230
  if (Boolean(formConfig.description)) {
8229
8231
  leftDescriptionText = `<p class="pops-panel-item-left-desc-text">${formConfig.description}</p>`;
8230
8232
  }
8231
- PopsSafeUtils.setSafeHTML(liElement,
8233
+ PopsSafeUtils.setSafeHTML($li,
8232
8234
  /*html*/ `
8233
8235
  <div class="pops-panel-item-left-text">
8234
8236
  <p class="pops-panel-item-left-main-text">${formConfig.text}</p>${leftDescriptionText}</div>
@@ -8239,8 +8241,8 @@ System.register('pops', [], (function (exports) {
8239
8241
  const PopsPanelTextArea = {
8240
8242
  [Symbol.toStringTag]: "PopsPanelTextArea",
8241
8243
  $ele: {
8242
- panelTextarea: liElement.querySelector(".pops-panel-textarea"),
8243
- textarea: liElement.querySelector(".pops-panel-textarea textarea"),
8244
+ panelTextarea: $li.querySelector(".pops-panel-textarea"),
8245
+ textarea: $li.querySelector(".pops-panel-textarea textarea"),
8244
8246
  },
8245
8247
  $data: {
8246
8248
  value: formConfig.getValue(),
@@ -8272,35 +8274,36 @@ System.register('pops', [], (function (exports) {
8272
8274
  */
8273
8275
  setChangeEvent() {
8274
8276
  popsDOMUtils.on(this.$ele.textarea, ["input", "propertychange"], void 0, (event) => {
8275
- this.$data.value = event.target.value;
8277
+ let value = this.$ele.textarea.value;
8278
+ this.$data.value = value;
8276
8279
  if (typeof formConfig.callback === "function") {
8277
- formConfig.callback(event, event.target.value);
8280
+ formConfig.callback(event, value);
8278
8281
  }
8279
8282
  });
8280
8283
  },
8281
8284
  };
8282
8285
  PopsPanelTextArea.init();
8283
- liElement["data-textarea"] = PopsPanelTextArea;
8284
- return liElement;
8286
+ Reflect.set($li, "data-textarea", PopsPanelTextArea);
8287
+ return $li;
8285
8288
  },
8286
8289
  /**
8287
- * 获取中间容器的元素<li>
8288
8290
  * type ==> select
8291
+ * 获取中间容器的元素<li>
8289
8292
  * @param formConfig
8290
8293
  */
8291
8294
  createSectionContainerItem_select(formConfig) {
8292
8295
  const that = this;
8293
- let liElement = document.createElement("li");
8294
- liElement["__formConfig__"] = formConfig;
8295
- this.setElementClassName(liElement, formConfig.className);
8296
- this.setElementAttributes(liElement, formConfig.attributes);
8297
- this.setElementProps(liElement, formConfig.props);
8296
+ let $li = document.createElement("li");
8297
+ Reflect.set($li, "__formConfig__", formConfig);
8298
+ this.setElementClassName($li, formConfig.className);
8299
+ this.setElementAttributes($li, formConfig.attributes);
8300
+ this.setElementProps($li, formConfig.props);
8298
8301
  /* 左边底部的描述的文字 */
8299
8302
  let leftDescriptionText = "";
8300
8303
  if (Boolean(formConfig.description)) {
8301
8304
  leftDescriptionText = /*html*/ `<p class="pops-panel-item-left-desc-text">${formConfig.description}</p>`;
8302
8305
  }
8303
- PopsSafeUtils.setSafeHTML(liElement,
8306
+ PopsSafeUtils.setSafeHTML($li,
8304
8307
  /*html*/ `
8305
8308
  <div class="pops-panel-item-left-text">
8306
8309
  <p class="pops-panel-item-left-main-text">${formConfig.text}</p>${leftDescriptionText}</div>
@@ -8311,8 +8314,8 @@ System.register('pops', [], (function (exports) {
8311
8314
  const PopsPanelSelect = {
8312
8315
  [Symbol.toStringTag]: "PopsPanelSelect",
8313
8316
  $ele: {
8314
- panelSelect: liElement.querySelector(".pops-panel-select"),
8315
- select: liElement.querySelector(".pops-panel-select select"),
8317
+ panelSelect: $li.querySelector(".pops-panel-select"),
8318
+ select: $li.querySelector(".pops-panel-select select"),
8316
8319
  },
8317
8320
  $eleKey: {
8318
8321
  disable: "__disable__",
@@ -8432,7 +8435,7 @@ System.register('pops', [], (function (exports) {
8432
8435
  */
8433
8436
  setChangeEvent() {
8434
8437
  popsDOMUtils.on(this.$ele.select, "change", void 0, (event) => {
8435
- let $isSelectedElement = event.target[event.target.selectedIndex];
8438
+ let $isSelectedElement = this.$ele.select[this.$ele.select.selectedIndex];
8436
8439
  let selectInfo = this.getSelectOptionInfo($isSelectedElement);
8437
8440
  this.setSelectOptionsDisableStatus();
8438
8441
  if (typeof formConfig.callback === "function") {
@@ -8445,9 +8448,9 @@ System.register('pops', [], (function (exports) {
8445
8448
  /* 如果成功创建,加入到中间容器中 */
8446
8449
  let childUListClassName = "pops-panel-select-child-forms";
8447
8450
  // 移除旧的元素
8448
- while (liElement.nextElementSibling) {
8449
- if (liElement.nextElementSibling.classList.contains(childUListClassName)) {
8450
- liElement.nextElementSibling.remove();
8451
+ while ($li.nextElementSibling) {
8452
+ if ($li.nextElementSibling.classList.contains(childUListClassName)) {
8453
+ $li.nextElementSibling.remove();
8451
8454
  }
8452
8455
  else {
8453
8456
  break;
@@ -8455,7 +8458,7 @@ System.register('pops', [], (function (exports) {
8455
8458
  }
8456
8459
  let $childUList = document.createElement("ul");
8457
8460
  $childUList.className = childUListClassName;
8458
- popsDOMUtils.after(liElement, $childUList);
8461
+ popsDOMUtils.after($li, $childUList);
8459
8462
  that.uListContainerAddItem(formConfig, {
8460
8463
  ulElement: $childUList,
8461
8464
  });
@@ -8475,26 +8478,26 @@ System.register('pops', [], (function (exports) {
8475
8478
  },
8476
8479
  };
8477
8480
  PopsPanelSelect.init();
8478
- Reflect.set(liElement, "data-select", PopsPanelSelect);
8479
- return liElement;
8481
+ Reflect.set($li, "data-select", PopsPanelSelect);
8482
+ return $li;
8480
8483
  },
8481
8484
  /**
8482
- * 获取中间容器的元素<li>
8483
8485
  * type ==> select-multiple
8486
+ * 获取中间容器的元素<li>
8484
8487
  * @param formConfig
8485
8488
  */
8486
8489
  createSectionContainerItem_select_multiple_new(formConfig) {
8487
- let liElement = document.createElement("li");
8488
- Reflect.set(liElement, "__formConfig__", formConfig);
8489
- this.setElementClassName(liElement, formConfig.className);
8490
- this.setElementAttributes(liElement, formConfig.attributes);
8491
- this.setElementProps(liElement, formConfig.props);
8490
+ let $li = document.createElement("li");
8491
+ Reflect.set($li, "__formConfig__", formConfig);
8492
+ this.setElementClassName($li, formConfig.className);
8493
+ this.setElementAttributes($li, formConfig.attributes);
8494
+ this.setElementProps($li, formConfig.props);
8492
8495
  /* 左边底部的描述的文字 */
8493
8496
  let leftDescriptionText = "";
8494
8497
  if (Boolean(formConfig.description)) {
8495
8498
  leftDescriptionText = /*html*/ `<p class="pops-panel-item-left-desc-text">${formConfig.description}</p>`;
8496
8499
  }
8497
- PopsSafeUtils.setSafeHTML(liElement,
8500
+ PopsSafeUtils.setSafeHTML($li,
8498
8501
  /*html*/ `
8499
8502
  <div class="pops-panel-item-left-text">
8500
8503
  <p class="pops-panel-item-left-main-text">${formConfig.text}</p>${leftDescriptionText}</div>
@@ -8569,15 +8572,14 @@ System.register('pops', [], (function (exports) {
8569
8572
  },
8570
8573
  /** 初始化$el变量 */
8571
8574
  inintEl() {
8572
- this.$el.$container = liElement.querySelector(".pops-panel-select-multiple");
8573
- this.$el.$wrapper = liElement.querySelector(".el-select__wrapper");
8574
- this.$el.$section = liElement.querySelector(".el-select__selection");
8575
- this.$el.$selectedInputWrapper = liElement.querySelector(".el-select__selected-item.el-select__input-wrapper");
8576
- this.$el.$selectedPlaceHolderWrapper =
8577
- liElement.querySelector(".el-select__selected-item.el-select__placeholder");
8575
+ this.$el.$container = $li.querySelector(".pops-panel-select-multiple");
8576
+ this.$el.$wrapper = $li.querySelector(".el-select__wrapper");
8577
+ this.$el.$section = $li.querySelector(".el-select__selection");
8578
+ this.$el.$selectedInputWrapper = $li.querySelector(".el-select__selected-item.el-select__input-wrapper");
8579
+ this.$el.$selectedPlaceHolderWrapper = $li.querySelector(".el-select__selected-item.el-select__placeholder");
8578
8580
  this.$el.$suffix =
8579
- liElement.querySelector(".el-select__suffix");
8580
- this.$el.$suffixIcon = liElement.querySelector(".el-select__suffix .el-icon");
8581
+ $li.querySelector(".el-select__suffix");
8582
+ this.$el.$suffixIcon = $li.querySelector(".el-select__suffix .el-icon");
8581
8583
  // 先把手动输入框隐藏
8582
8584
  this.hideInputWrapper();
8583
8585
  },
@@ -9135,26 +9137,26 @@ System.register('pops', [], (function (exports) {
9135
9137
  },
9136
9138
  };
9137
9139
  PopsPanelSelectMultiple.init();
9138
- Reflect.set(liElement, "data-select-multiple", PopsPanelSelectMultiple);
9139
- return liElement;
9140
+ Reflect.set($li, "data-select-multiple", PopsPanelSelectMultiple);
9141
+ return $li;
9140
9142
  },
9141
9143
  /**
9142
- * 获取中间容器的元素<li>
9143
9144
  * type ==> button
9145
+ * 获取中间容器的元素<li>
9144
9146
  * @param formConfig
9145
9147
  */
9146
9148
  createSectionContainerItem_button(formConfig) {
9147
- let liElement = document.createElement("li");
9148
- liElement["__formConfig__"] = formConfig;
9149
- this.setElementClassName(liElement, formConfig.className);
9150
- this.setElementAttributes(liElement, formConfig.attributes);
9151
- this.setElementProps(liElement, formConfig.props);
9149
+ let $li = document.createElement("li");
9150
+ Reflect.set($li, "__formConfig__", formConfig);
9151
+ this.setElementClassName($li, formConfig.className);
9152
+ this.setElementAttributes($li, formConfig.attributes);
9153
+ this.setElementProps($li, formConfig.props);
9152
9154
  /* 左边底部的描述的文字 */
9153
9155
  let leftDescriptionText = "";
9154
9156
  if (Boolean(formConfig.description)) {
9155
9157
  leftDescriptionText = /*html*/ `<p class="pops-panel-item-left-desc-text">${formConfig.description}</p>`;
9156
9158
  }
9157
- PopsSafeUtils.setSafeHTML(liElement,
9159
+ PopsSafeUtils.setSafeHTML($li,
9158
9160
  /*html*/ `
9159
9161
  <div class="pops-panel-item-left-text">
9160
9162
  <p class="pops-panel-item-left-main-text">${formConfig.text}</p>${leftDescriptionText}</div>
@@ -9168,10 +9170,10 @@ System.register('pops', [], (function (exports) {
9168
9170
  const PopsPanelButton = {
9169
9171
  [Symbol.toStringTag]: "PopsPanelButton",
9170
9172
  $ele: {
9171
- panelButton: liElement.querySelector(".pops-panel-button"),
9172
- button: liElement.querySelector(".pops-panel-button .pops-panel-button_inner"),
9173
- icon: liElement.querySelector(".pops-panel-button .pops-bottom-icon"),
9174
- spanText: liElement.querySelector(".pops-panel-button .pops-panel-button-text"),
9173
+ panelButton: $li.querySelector(".pops-panel-button"),
9174
+ button: $li.querySelector(".pops-panel-button .pops-panel-button_inner"),
9175
+ icon: $li.querySelector(".pops-panel-button .pops-bottom-icon"),
9176
+ spanText: $li.querySelector(".pops-panel-button .pops-panel-button-text"),
9175
9177
  },
9176
9178
  $data: {},
9177
9179
  init() {
@@ -9284,10 +9286,11 @@ System.register('pops', [], (function (exports) {
9284
9286
  },
9285
9287
  };
9286
9288
  PopsPanelButton.init();
9287
- liElement["data-button"] = PopsPanelButton;
9288
- return liElement;
9289
+ Reflect.set($li, "data-button", PopsPanelButton);
9290
+ return $li;
9289
9291
  },
9290
9292
  /**
9293
+ * type ==> deepMenu
9291
9294
  * 获取深层容器的元素<li>
9292
9295
  * @param formConfig
9293
9296
  */
@@ -9295,7 +9298,7 @@ System.register('pops', [], (function (exports) {
9295
9298
  let that = this;
9296
9299
  let $li = document.createElement("li");
9297
9300
  $li.classList.add("pops-panel-deepMenu-nav-item");
9298
- $li["__formConfig__"] = formConfig;
9301
+ Reflect.set($li, "__formConfig__", formConfig);
9299
9302
  this.setElementClassName($li, formConfig.className);
9300
9303
  // 设置属性
9301
9304
  this.setElementAttributes($li, formConfig.attributes);
@@ -9431,6 +9434,7 @@ System.register('pops', [], (function (exports) {
9431
9434
  let $deepMenuContainer = popsDOMUtils.createElement("section", {
9432
9435
  className: "pops-panel-container pops-panel-deepMenu-container",
9433
9436
  });
9437
+ Reflect.set($deepMenuContainer, "__formConfig__", formConfig);
9434
9438
  let $deepMenuHeaderUL = popsDOMUtils.createElement("ul", {
9435
9439
  className: "pops-panel-deepMenu-container-header-ul",
9436
9440
  });
@@ -9445,13 +9449,13 @@ System.register('pops', [], (function (exports) {
9445
9449
  className: "pops-panel-deepMenu-container-left-arrow-icon",
9446
9450
  innerHTML: PopsIcon.getIcon("arrowLeft"),
9447
9451
  });
9448
- popsDOMUtils.on($headerLeftArrow, "click", void 0, (event) => {
9449
- event?.preventDefault();
9450
- event?.stopPropagation();
9452
+ popsDOMUtils.on($headerLeftArrow, "click", (event) => {
9453
+ popsDOMUtils.preventEvent(event);
9451
9454
  // 返回上一层菜单
9452
- let $prev = $deepMenuContainer.previousElementSibling;
9455
+ let $prev = ($deepMenuContainer.previousElementSibling);
9453
9456
  popsDOMUtils.cssShow($prev);
9454
9457
  $deepMenuContainer.remove();
9458
+ that.triggerRenderRightContainer($prev);
9455
9459
  }, {
9456
9460
  once: true,
9457
9461
  });
@@ -9474,6 +9478,7 @@ System.register('pops', [], (function (exports) {
9474
9478
  sectionBodyContainer: $deepMenuBodyUL,
9475
9479
  });
9476
9480
  }
9481
+ that.triggerRenderRightContainer($deepMenuContainer);
9477
9482
  },
9478
9483
  /** 设置项的点击事件 */
9479
9484
  setLiClickEvent() {
@@ -9489,22 +9494,22 @@ System.register('pops', [], (function (exports) {
9489
9494
  },
9490
9495
  };
9491
9496
  PopsPanelDeepMenu.init();
9492
- $li["data-deepMenu"] = PopsPanelDeepMenu;
9497
+ Reflect.set($li, "data-deepMenu", PopsPanelDeepMenu);
9493
9498
  return $li;
9494
9499
  },
9495
9500
  /**
9496
- * 获取中间容器的元素<li>
9497
9501
  * type ===> own
9502
+ * 获取中间容器的元素<li>
9498
9503
  * @param formConfig
9499
9504
  */
9500
9505
  createSectionContainerItem_own(formConfig) {
9501
- let liElement = document.createElement("li");
9502
- liElement["__formConfig__"] = formConfig;
9506
+ let $li = document.createElement("li");
9507
+ Reflect.set($li, "__formConfig__", formConfig);
9503
9508
  if (formConfig.className) {
9504
- liElement.className = formConfig.className;
9509
+ $li.className = formConfig.className;
9505
9510
  }
9506
- liElement = formConfig.getLiElementCallBack(liElement);
9507
- return liElement;
9511
+ $li = formConfig.getLiElementCallBack($li);
9512
+ return $li;
9508
9513
  },
9509
9514
  /**
9510
9515
  * 获取中间容器的元素<li>
@@ -9625,6 +9630,17 @@ System.register('pops', [], (function (exports) {
9625
9630
  });
9626
9631
  }
9627
9632
  },
9633
+ /**
9634
+ * 触发触发渲染右侧容器的事件
9635
+ */
9636
+ triggerRenderRightContainer($container) {
9637
+ let __formConfig__ = Reflect.get($container, "__formConfig__");
9638
+ this.$el.$pops.dispatchEvent(new CustomEvent("pops:renderRightContainer", {
9639
+ detail: {
9640
+ formConfig: __formConfig__,
9641
+ },
9642
+ }));
9643
+ },
9628
9644
  /**
9629
9645
  *
9630
9646
  * @param formConfig
@@ -9651,6 +9667,8 @@ System.register('pops', [], (function (exports) {
9651
9667
  const that = this;
9652
9668
  popsDOMUtils.on(asideLiElement, "click", void 0, (event) => {
9653
9669
  this.clearContainer();
9670
+ let rightContainerFormConfig = Reflect.get(asideLiElement, "__forms__");
9671
+ Reflect.set(that.$el.$contentSectionContainer, "__formConfig__", rightContainerFormConfig);
9654
9672
  popsDOMUtils.cssShow(that.$el.$contentSectionContainer);
9655
9673
  this.clearAsideItemIsVisited();
9656
9674
  this.setAsideItemIsVisited(asideLiElement);
@@ -9658,20 +9676,19 @@ System.register('pops', [], (function (exports) {
9658
9676
  let headerTitleText = asideConfig.headerTitle ?? asideConfig.title;
9659
9677
  if (typeof headerTitleText === "string" &&
9660
9678
  headerTitleText.trim() !== "") {
9661
- let containerHeaderTitleLIElement = document.createElement("li");
9662
- containerHeaderTitleLIElement["__asideConfig__"] =
9663
- asideConfig;
9664
- PopsSafeUtils.setSafeHTML(containerHeaderTitleLIElement, headerTitleText);
9665
- this.sectionContainerHeaderULElement.appendChild(containerHeaderTitleLIElement);
9666
- }
9667
- let __forms__ = asideLiElement["__forms__"];
9668
- __forms__.forEach((formConfig) => {
9679
+ let $containerHeaderTitle = document.createElement("li");
9680
+ Reflect.set($containerHeaderTitle, "__asideConfig__", asideConfig);
9681
+ PopsSafeUtils.setSafeHTML($containerHeaderTitle, headerTitleText);
9682
+ this.sectionContainerHeaderULElement.appendChild($containerHeaderTitle);
9683
+ }
9684
+ rightContainerFormConfig.forEach((formConfig) => {
9669
9685
  this.createSectionContainerItem_forms(formConfig);
9670
9686
  });
9671
9687
  if (typeof asideConfig.callback === "function") {
9672
9688
  /* 执行回调 */
9673
9689
  asideConfig.callback(event, this.sectionContainerHeaderULElement, this.sectionContainerULElement);
9674
9690
  }
9691
+ that.triggerRenderRightContainer(that.$el.$contentSectionContainer);
9675
9692
  });
9676
9693
  },
9677
9694
  };
@@ -9761,13 +9778,14 @@ System.register('pops', [], (function (exports) {
9761
9778
  if ($mask != null) {
9762
9779
  $anim.after($mask);
9763
9780
  }
9764
- let panelHandleContentDetails = PanelHandleContentDetails();
9781
+ let panelHandlerComponents = PanelHandlerComponents();
9765
9782
  /**
9766
9783
  * 处理内部配置
9767
9784
  */
9768
- panelHandleContentDetails.init({
9785
+ panelHandlerComponents.init({
9769
9786
  config: config,
9770
9787
  $el: {
9788
+ $pops: $pops,
9771
9789
  $content: $content,
9772
9790
  $contentAside: $contentAside,
9773
9791
  $contentSectionContainer: $contentSectionContainer,
@@ -9792,7 +9810,15 @@ System.register('pops', [], (function (exports) {
9792
9810
  });
9793
9811
  }
9794
9812
  let result = PopsHandler.handleResultDetails(eventDetails);
9795
- return result;
9813
+ return {
9814
+ ...result,
9815
+ addEventListener: (event, listener, options) => {
9816
+ $pops.addEventListener(event, listener, options);
9817
+ },
9818
+ removeEventListener: (event, listener, options) => {
9819
+ $pops.removeEventListener(event, listener, options);
9820
+ },
9821
+ };
9796
9822
  },
9797
9823
  };
9798
9824
 
@@ -11036,14 +11062,14 @@ System.register('pops', [], (function (exports) {
11036
11062
  /** 配置 */
11037
11063
  config = {
11038
11064
  /** 版本号 */
11039
- version: "2025.6.18",
11065
+ version: "2025.7.1",
11040
11066
  cssText: PopsCSS,
11041
11067
  /** icon图标的svg代码 */
11042
11068
  iconSVG: PopsIcon.$data,
11043
11069
  /** 当前已配置的动画@keyframes名字映射(初始化时生成) */
11044
11070
  animation: PopsAnimation.$data,
11045
11071
  /** 存储已创建的元素 */
11046
- layer: PopsLayer,
11072
+ layer: PopsLayerData,
11047
11073
  /** 禁止滚动 */
11048
11074
  forbiddenScroll: {
11049
11075
  event(event) {
@@ -11059,7 +11085,7 @@ System.register('pops', [], (function (exports) {
11059
11085
  /** pops处理float类型使用的工具类 */
11060
11086
  MathFloatUtils: PopsMathFloatUtils,
11061
11087
  /** pops.panel中用于处理各个类型的工具 */
11062
- panelHandleContentUtils: PanelHandleContentDetails,
11088
+ PanelHandlerComponents: PanelHandlerComponents,
11063
11089
  };
11064
11090
  init() { }
11065
11091
  /**