@whitesev/pops 4.2.2 → 4.2.4

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 (44) hide show
  1. package/dist/index.amd.js +69 -6
  2. package/dist/index.amd.js.map +1 -1
  3. package/dist/index.amd.min.js +1 -1
  4. package/dist/index.amd.min.js.map +1 -1
  5. package/dist/index.cjs.js +69 -6
  6. package/dist/index.cjs.js.map +1 -1
  7. package/dist/index.cjs.min.js +1 -1
  8. package/dist/index.cjs.min.js.map +1 -1
  9. package/dist/index.esm.js +69 -6
  10. package/dist/index.esm.js.map +1 -1
  11. package/dist/index.esm.min.js +1 -1
  12. package/dist/index.esm.min.js.map +1 -1
  13. package/dist/index.iife.js +69 -6
  14. package/dist/index.iife.js.map +1 -1
  15. package/dist/index.iife.min.js +1 -1
  16. package/dist/index.iife.min.js.map +1 -1
  17. package/dist/index.system.js +69 -6
  18. package/dist/index.system.js.map +1 -1
  19. package/dist/index.system.min.js +1 -1
  20. package/dist/index.system.min.js.map +1 -1
  21. package/dist/index.umd.js +69 -6
  22. package/dist/index.umd.js.map +1 -1
  23. package/dist/index.umd.min.js +1 -1
  24. package/dist/index.umd.min.js.map +1 -1
  25. package/dist/types/src/Pops.d.ts +19 -0
  26. package/dist/types/src/PopsCSS.d.ts +12 -0
  27. package/dist/types/src/components/tooltip/index.d.ts +18 -0
  28. package/dist/types/src/utils/PopsUtils.d.ts +2 -2
  29. package/package.json +14 -14
  30. package/src/PopsCSS.ts +13 -0
  31. package/src/components/alert/index.ts +4 -0
  32. package/src/components/confirm/index.ts +4 -0
  33. package/src/components/drawer/index.ts +4 -0
  34. package/src/components/folder/index.ts +4 -0
  35. package/src/components/iframe/index.ts +4 -0
  36. package/src/components/loading/index.ts +1 -0
  37. package/src/components/panel/index.ts +4 -0
  38. package/src/components/prompt/index.ts +4 -0
  39. package/src/components/rightClickMenu/index.ts +4 -0
  40. package/src/components/searchSuggestion/index.ts +4 -0
  41. package/src/components/tooltip/index.ts +4 -0
  42. package/src/css/skeleton.css +43 -0
  43. package/src/utils/PopsInstanceUtils.ts +3 -4
  44. package/src/utils/PopsUtils.ts +13 -4
package/dist/index.esm.js CHANGED
@@ -1,4 +1,4 @@
1
- const version = "4.2.2";
1
+ const version = "4.2.4";
2
2
 
3
3
  const GlobalConfig = {
4
4
  config: {},
@@ -673,6 +673,10 @@ class PopsUtils {
673
673
  if (typeof deviation !== "number" || Number.isNaN(deviation)) {
674
674
  deviation = 10;
675
675
  }
676
+ // 最大值 2147483647
677
+ // const maxZIndex = Math.pow(2, 31) - 1;
678
+ // 比较值 2000000000
679
+ const maxZIndexCompare = 2 * Math.pow(10, 9);
676
680
  /** 坐标偏移 */
677
681
  const positionDistance = 10;
678
682
  const defaultCalcPostion = [];
@@ -767,9 +771,14 @@ class PopsUtils {
767
771
  left: maxRect.left,
768
772
  };
769
773
  }
774
+ const calcZIndex = zIndex + deviation;
775
+ if (calcZIndex >= maxZIndexCompare) {
776
+ // 不要超过最大值
777
+ return;
778
+ }
770
779
  return {
771
780
  /** 计算偏移量后的z-index值 */
772
- zIndex: zIndex + deviation,
781
+ zIndex: calcZIndex,
773
782
  /** 获取到的最大的z-index值 */
774
783
  originZIndex: zIndex,
775
784
  /** 拥有最大z-index的元素 */
@@ -2992,6 +3001,8 @@ var rightClickMenuCSS = ".pops-rightClickMenu {\n --pops-right-context-color: #
2992
3001
 
2993
3002
  var panelComponents_Select_CSS = ".pops {\n max-height: 300px;\n}\n.select-container {\n --el-font-size-base: 14px;\n --el-text-color-regular: #606266;\n --el-color-primary: #409eff;\n --el-fill-color-light: #f5f7fa;\n --el-disable-color: #a8abb2;\n}\n.select-item {\n cursor: pointer;\n font-size: var(--el-font-size-base);\n padding: 0 20px 0 20px;\n position: relative;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n color: var(--el-text-color-regular);\n min-height: 34px;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: flex-start;\n box-sizing: border-box;\n}\n.select-item[aria-disabled],\n.select-item[disabled] {\n cursor: not-allowed;\n color: var(--el-disable-color);\n background: unset;\n}\n.select-item:hover {\n background-color: var(--el-fill-color-light);\n}\n.select-item.select-item-is-selected:has(.pops-panel-input input) {\n background-color: #e7e7e7;\n}\n.select-item.select-item-is-selected {\n color: var(--el-color-primary);\n font-weight: 700;\n}\n.select-item.select-item-is-selected:not(:has(.pops-panel-input))::after {\n content: \"\";\n position: absolute;\n top: 50%;\n right: 12px;\n border-top: none;\n border-right: none;\n background-repeat: no-repeat;\n background-position: center;\n background-color: var(--el-color-primary);\n mask: url(\"data:image/svg+xml;utf8,%3Csvg class='icon' width='200' height='200' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='currentColor' d='M406.656 706.944L195.84 496.256a32 32 0 10-45.248 45.248l256 256 512-512a32 32 0 00-45.248-45.248L406.592 706.944z'%3E%3C/path%3E%3C/svg%3E\")\n no-repeat;\n mask-size: 100% 100%;\n -webkit-mask: url(\"data:image/svg+xml;utf8,%3Csvg class='icon' width='200' height='200' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='currentColor' d='M406.656 706.944L195.84 496.256a32 32 0 10-45.248 45.248l256 256 512-512a32 32 0 00-45.248-45.248L406.592 706.944z'%3E%3C/path%3E%3C/svg%3E\")\n no-repeat;\n -webkit-mask-size: 100% 100%;\n transform: translateY(-50%);\n width: 12px;\n height: 12px;\n}\n\n.select-item .pops-panel-input {\n width: 100%;\n margin: 5px 0px;\n}\n.select-item .pops-panel-input:has(.pops-panel-input-valid-error) {\n margin-bottom: 0px;\n}\n\n.select-item .select-item-text {\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n}\n\n@media (prefers-color-scheme: dark) {\n .select-container {\n --el-text-color-regular: #f2f2f2;\n --el-disable-color: #8d9095;\n --el-fill-color-light: #262727;\n }\n}\n";
2994
3003
 
3004
+ var skeletonCSS = ".pops-skeleton-item {\n --el-skeleton-color: #f0f2f5;\n --el-skeleton-to-color: #e6e8eb;\n width: 100%;\n height: 18px;\n border-radius: 4px;\n background: var(--el-skeleton-color);\n display: inline-block;\n}\n.pops-skeleton-item[data-circle] {\n border-radius: 50%;\n}\n.pops-skeleton-item[data-img] {\n width: unset;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 0px;\n}\n.pops-skeleton-item[data-img] svg {\n color: #dcdfe6;\n fill: currentcolor;\n width: 22%;\n height: 22%;\n}\n.pops-skeleton-item[data-animated] {\n background: linear-gradient(\n 90deg,\n var(--el-skeleton-color) 25%,\n var(--el-skeleton-to-color) 37%,\n var(--el-skeleton-color) 63%\n );\n background-size: 400% 100%;\n animation: pops-el-skeleton-loading 1.4s ease infinite;\n}\n@keyframes pops-el-skeleton-loading {\n 0% {\n background-position: 100% 50%;\n }\n 100% {\n background-position: 0 50%;\n }\n}\n";
3005
+
2995
3006
  const PopsCSS = {
2996
3007
  /** 主CSS */
2997
3008
  index: indexCSS,
@@ -3027,6 +3038,18 @@ const PopsCSS = {
3027
3038
  rightClickMenu: rightClickMenuCSS,
3028
3039
  /** pops.panel的select组件 */
3029
3040
  panelComponents_Select: panelComponents_Select_CSS,
3041
+ /**
3042
+ * pops.skeleton
3043
+ *
3044
+ * 需要设置元素className为`pops-skeleton-item`
3045
+ *
3046
+ * 支持以下属性
3047
+ *
3048
+ * + `data-animated`: 加载中的动画
3049
+ * + `data-circle`: 圆形
3050
+ * + `data-img`: 头像图片,需要在它内部添加图片的svg `PopsIcon.getIcon("picture")`
3051
+ */
3052
+ skeletonCSS: skeletonCSS,
3030
3053
  };
3031
3054
 
3032
3055
  const PopsAnimation = {
@@ -3179,8 +3202,8 @@ const PopsInstanceUtils = {
3179
3202
  * 获取pops所有弹窗中的最大的z-index
3180
3203
  * @param deviation
3181
3204
  */
3182
- getPopsMaxZIndex(deviation = 1) {
3183
- deviation = Number.isNaN(deviation) ? 1 : deviation;
3205
+ getPopsMaxZIndex(deviation = 10) {
3206
+ deviation = Number.isNaN(deviation) ? 10 : deviation;
3184
3207
  // 最大值 2147483647
3185
3208
  // const browserMaxZIndex = Math.pow(2, 31) - 1;
3186
3209
  // 比较值 2000000000
@@ -3195,8 +3218,7 @@ const PopsInstanceUtils = {
3195
3218
  const inst = instData[index];
3196
3219
  // 不对position为static和display为none的元素进行获取它们的z-index
3197
3220
  const $elList = [inst.$anim, inst.$pops, inst.$mask].filter((it) => it instanceof HTMLElement);
3198
- const nodeZIndexInfoList = popsUtils.getMaxZIndexNodeInfoFromPoint($elList);
3199
- const maxNodeZIndexInfo = nodeZIndexInfoList[0];
3221
+ const maxNodeZIndexInfo = popsUtils.getMaxZIndexNodeInfoFromPoint($elList)[0];
3200
3222
  if (maxNodeZIndexInfo) {
3201
3223
  const nodeZIndex = maxNodeZIndexInfo.zIndex;
3202
3224
  if (nodeZIndex > zIndex) {
@@ -4401,6 +4423,10 @@ const PopsAlert = {
4401
4423
  name: "common",
4402
4424
  css: PopsCSS.common,
4403
4425
  },
4426
+ {
4427
+ name: "skeleton",
4428
+ css: PopsCSS.skeletonCSS,
4429
+ },
4404
4430
  {
4405
4431
  name: "alertCSS",
4406
4432
  css: PopsCSS.alertCSS,
@@ -4609,6 +4635,10 @@ const PopsConfirm = {
4609
4635
  name: "common",
4610
4636
  css: PopsCSS.common,
4611
4637
  },
4638
+ {
4639
+ name: "skeleton",
4640
+ css: PopsCSS.skeletonCSS,
4641
+ },
4612
4642
  {
4613
4643
  name: "confirmCSS",
4614
4644
  css: PopsCSS.confirmCSS,
@@ -4817,6 +4847,10 @@ const PopsDrawer = {
4817
4847
  name: "common",
4818
4848
  css: PopsCSS.common,
4819
4849
  },
4850
+ {
4851
+ name: "skeleton",
4852
+ css: PopsCSS.skeletonCSS,
4853
+ },
4820
4854
  {
4821
4855
  name: "drawerCSS",
4822
4856
  css: PopsCSS.drawerCSS,
@@ -5026,6 +5060,7 @@ const PopsLoading = {
5026
5060
  <style data-model-name="index">${PopsCSS.index}</style>
5027
5061
  <style data-model-name="anim">${PopsCSS.anim}</style>
5028
5062
  <style data-model-name="common">${PopsCSS.common}</style>
5063
+ <style data-model-name="skeleton">${PopsCSS.skeletonCSS}</style>
5029
5064
  `
5030
5065
  : ""}
5031
5066
  <style data-model-name="loadingCSS">
@@ -5302,6 +5337,10 @@ const PopsFolder = {
5302
5337
  name: "common",
5303
5338
  css: PopsCSS.common,
5304
5339
  },
5340
+ {
5341
+ name: "skeleton",
5342
+ css: PopsCSS.skeletonCSS,
5343
+ },
5305
5344
  {
5306
5345
  name: "folderCSS",
5307
5346
  css: PopsCSS.folderCSS,
@@ -6239,6 +6278,10 @@ const PopsIframe = {
6239
6278
  name: "common",
6240
6279
  css: PopsCSS.common,
6241
6280
  },
6281
+ {
6282
+ name: "skeleton",
6283
+ css: PopsCSS.skeletonCSS,
6284
+ },
6242
6285
  {
6243
6286
  name: "iframeCSS",
6244
6287
  css: PopsCSS.iframeCSS,
@@ -7938,6 +7981,10 @@ const PopsTooltip = {
7938
7981
  name: "common",
7939
7982
  css: PopsCSS.common,
7940
7983
  },
7984
+ {
7985
+ name: "skeleton",
7986
+ css: PopsCSS.skeletonCSS,
7987
+ },
7941
7988
  {
7942
7989
  name: "tooltipCSS",
7943
7990
  css: PopsCSS.tooltipCSS,
@@ -11820,6 +11867,10 @@ const PopsPanel = {
11820
11867
  name: "common",
11821
11868
  css: PopsCSS.common,
11822
11869
  },
11870
+ {
11871
+ name: "skeleton",
11872
+ css: PopsCSS.skeletonCSS,
11873
+ },
11823
11874
  {
11824
11875
  name: "panelCSS",
11825
11876
  css: PopsCSS.panelCSS,
@@ -12084,6 +12135,10 @@ const PopsPrompt = {
12084
12135
  name: "common",
12085
12136
  css: PopsCSS.common,
12086
12137
  },
12138
+ {
12139
+ name: "skeleton",
12140
+ css: PopsCSS.skeletonCSS,
12141
+ },
12087
12142
  {
12088
12143
  name: "promptCSS",
12089
12144
  css: PopsCSS.promptCSS,
@@ -12309,6 +12364,10 @@ const PopsRightClickMenu = {
12309
12364
  name: "common",
12310
12365
  css: PopsCSS.common,
12311
12366
  },
12367
+ {
12368
+ name: "skeleton",
12369
+ css: PopsCSS.skeletonCSS,
12370
+ },
12312
12371
  {
12313
12372
  name: "rightClickMenu",
12314
12373
  css: PopsCSS.rightClickMenu,
@@ -12947,6 +13006,10 @@ const PopsSearchSuggestion = {
12947
13006
  name: "common",
12948
13007
  css: PopsCSS.common,
12949
13008
  },
13009
+ {
13010
+ name: "skeleton",
13011
+ css: PopsCSS.skeletonCSS,
13012
+ },
12950
13013
  ]);
12951
13014
  // 添加自定义style
12952
13015
  PopsElementHandler.addStyle($shadowRoot, config.style);