@whitesev/pops 1.5.9 → 1.6.1

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 (62) hide show
  1. package/dist/index.amd.js +3666 -3088
  2. package/dist/index.amd.js.map +1 -1
  3. package/dist/index.cjs.js +3666 -3088
  4. package/dist/index.cjs.js.map +1 -1
  5. package/dist/index.esm.js +3666 -3088
  6. package/dist/index.esm.js.map +1 -1
  7. package/dist/index.iife.js +3666 -3088
  8. package/dist/index.iife.js.map +1 -1
  9. package/dist/index.system.js +3666 -3088
  10. package/dist/index.system.js.map +1 -1
  11. package/dist/index.umd.js +3666 -3088
  12. package/dist/index.umd.js.map +1 -1
  13. package/dist/types/src/Pops.d.ts +56 -7
  14. package/dist/types/src/components/alert/config.d.ts +2 -0
  15. package/dist/types/src/components/confirm/config.d.ts +2 -0
  16. package/dist/types/src/components/drawer/config.d.ts +2 -0
  17. package/dist/types/src/components/folder/config.d.ts +2 -0
  18. package/dist/types/src/components/iframe/config.d.ts +2 -0
  19. package/dist/types/src/components/loading/config.d.ts +2 -0
  20. package/dist/types/src/components/panel/PanelHandleContentDetails.d.ts +149 -0
  21. package/dist/types/src/components/panel/config.d.ts +2 -0
  22. package/dist/types/src/components/panel/selectMultipleType.d.ts +49 -24
  23. package/dist/types/src/components/prompt/config.d.ts +2 -0
  24. package/dist/types/src/components/rightClickMenu/config.d.ts +2 -0
  25. package/dist/types/src/components/searchSuggestion/config.d.ts +2 -0
  26. package/dist/types/src/components/searchSuggestion/indexType.d.ts +56 -32
  27. package/dist/types/src/components/tooltip/config.d.ts +2 -0
  28. package/dist/types/src/utils/PopsDOMUtils.d.ts +42 -13
  29. package/dist/types/src/utils/PopsInstanceUtils.d.ts +22 -0
  30. package/package.json +4 -1
  31. package/src/Pops.ts +8 -2
  32. package/src/components/alert/config.ts +59 -0
  33. package/src/components/alert/index.ts +2 -57
  34. package/src/components/confirm/config.ts +94 -0
  35. package/src/components/confirm/index.ts +4 -94
  36. package/src/components/drawer/config.ts +90 -0
  37. package/src/components/drawer/index.ts +2 -88
  38. package/src/components/folder/config.ts +130 -0
  39. package/src/components/folder/index.ts +3 -129
  40. package/src/components/iframe/config.ts +58 -0
  41. package/src/components/iframe/index.ts +2 -56
  42. package/src/components/loading/config.ts +27 -0
  43. package/src/components/loading/index.ts +2 -25
  44. package/src/components/panel/PanelHandleContentDetails.ts +2612 -0
  45. package/src/components/panel/config.ts +348 -0
  46. package/src/components/panel/index.css +191 -5
  47. package/src/components/panel/index.ts +10 -2475
  48. package/src/components/panel/selectMultipleType.ts +52 -25
  49. package/src/components/prompt/config.ts +102 -0
  50. package/src/components/prompt/index.ts +2 -100
  51. package/src/components/rightClickMenu/config.ts +122 -0
  52. package/src/components/rightClickMenu/index.css +78 -0
  53. package/src/components/rightClickMenu/index.ts +26 -202
  54. package/src/components/searchSuggestion/config.ts +55 -0
  55. package/src/components/searchSuggestion/index.ts +228 -205
  56. package/src/components/searchSuggestion/indexType.ts +56 -32
  57. package/src/components/tooltip/config.ts +29 -0
  58. package/src/components/tooltip/index.ts +2 -27
  59. package/src/css/animation.css +22 -0
  60. package/src/utils/PopsDOMUtils.ts +108 -29
  61. package/src/utils/PopsInstanceUtils.ts +80 -0
  62. package/src/components/searchSuggestion/index.css +0 -0
@@ -0,0 +1,348 @@
1
+ import type { PopsPanelDetails } from "./indexType";
2
+
3
+ export const PopsPanelConfig: Required<PopsPanelDetails> = {
4
+ title: {
5
+ text: "默认标题",
6
+ position: "center",
7
+ html: false,
8
+ style: "",
9
+ },
10
+ content: [
11
+ {
12
+ id: "whitesev-panel-config-1",
13
+ title: "菜单配置1",
14
+ headerTitle: "菜单配置1",
15
+ isDefault: false,
16
+ attributes: [
17
+ {
18
+ "data-test": "test",
19
+ "data-test-2": "test2",
20
+ },
21
+ ],
22
+ forms: [
23
+ {
24
+ className: "forms-1",
25
+ text: "区域设置",
26
+ type: "forms",
27
+ attributes: [],
28
+ forms: [
29
+ {
30
+ className: "panel-switch",
31
+ text: "switch",
32
+ type: "switch",
33
+ attributes: [],
34
+ getValue() {
35
+ return true;
36
+ },
37
+ callback(event, value) {
38
+ console.log("按钮开启状态:", value);
39
+ },
40
+ },
41
+ {
42
+ className: "panel-slider",
43
+ text: "slider",
44
+ type: "slider",
45
+ attributes: [],
46
+ getValue() {
47
+ return 50;
48
+ },
49
+ callback(event, value) {
50
+ console.log("滑块当前数值:", value);
51
+ },
52
+ min: 1,
53
+ max: 100,
54
+ },
55
+ {
56
+ className: "panel-button",
57
+ text: "button",
58
+ type: "button",
59
+ attributes: [],
60
+ buttonIcon: "eleme",
61
+ buttonIconIsLoading: true,
62
+ buttonType: "warning",
63
+ buttonText: "warning按钮",
64
+ callback(event) {
65
+ console.log("点击按钮", event);
66
+ },
67
+ },
68
+ {
69
+ className: "panel-button",
70
+ text: "button",
71
+ type: "button",
72
+ attributes: [],
73
+ buttonIcon: "chromeFilled",
74
+ buttonIconIsLoading: true,
75
+ buttonType: "danger",
76
+ buttonText: "danger按钮",
77
+ callback(event) {
78
+ console.log("点击按钮", event);
79
+ },
80
+ },
81
+ {
82
+ className: "panel-button",
83
+ text: "button",
84
+ type: "button",
85
+ attributes: [],
86
+ buttonIcon: "upload",
87
+ buttonIconIsLoading: false,
88
+ buttonType: "info",
89
+ buttonText: "info按钮",
90
+ callback(event) {
91
+ console.log("点击按钮", event);
92
+ },
93
+ },
94
+ ],
95
+ },
96
+ ],
97
+ },
98
+ {
99
+ id: "whitesev-panel-config-2",
100
+ title: "菜单配置2",
101
+ headerTitle: "菜单配置2",
102
+ isDefault: true,
103
+ attributes: [
104
+ {
105
+ "data-value": "value",
106
+ "data-value-2": "value2",
107
+ },
108
+ ],
109
+ forms: [
110
+ {
111
+ className: "panel-input",
112
+ text: "input",
113
+ type: "input",
114
+ attributes: [],
115
+ getValue() {
116
+ return "50";
117
+ },
118
+ callback(event, value) {
119
+ console.log("输入框内容改变:", value);
120
+ },
121
+ placeholder: "请输入内容",
122
+ },
123
+ {
124
+ className: "panel-input-password",
125
+ text: "input-password",
126
+ type: "input",
127
+ attributes: [],
128
+ getValue() {
129
+ return "123456";
130
+ },
131
+ callback(event, value) {
132
+ console.log("密码输入框内容改变:", value);
133
+ },
134
+ isPassword: true,
135
+ placeholder: "请输入密码",
136
+ },
137
+ {
138
+ className: "panel-textarea",
139
+ text: "textarea",
140
+ type: "textarea",
141
+ attributes: [],
142
+ getValue() {
143
+ return "50";
144
+ },
145
+ callback(event, value) {
146
+ console.log("textarea输入框内容改变:", value);
147
+ },
148
+ placeholder: "请输入内容",
149
+ },
150
+ {
151
+ className: "panel-select",
152
+ text: "select",
153
+ type: "select",
154
+ attributes: [],
155
+ getValue() {
156
+ return 50;
157
+ },
158
+ callback(event, isSelectedValue, isSelectedText) {
159
+ console.log(
160
+ `select当前选项:${isSelectedValue},当前选项文本:${isSelectedText}`
161
+ );
162
+ },
163
+ data: [
164
+ {
165
+ value: "all",
166
+ text: "所有",
167
+ },
168
+ {
169
+ value: "text",
170
+ text: "文本",
171
+ },
172
+ {
173
+ value: "html",
174
+ text: "超文本",
175
+ },
176
+ ],
177
+ },
178
+ {
179
+ className: "panel-select-multiple",
180
+ type: "select-multiple",
181
+ text: "select-multiple",
182
+
183
+ attributes: [],
184
+ placeholder: "请至少选择一个选项",
185
+ getValue() {
186
+ return ["select-1", "select-2"];
187
+ },
188
+ callback(selectInfo) {
189
+ console.log(`select值改变,多选信息`, selectInfo);
190
+ },
191
+ clickCallBack(event, isSelectedInfo) {
192
+ console.log("点击", event, isSelectedInfo);
193
+ },
194
+ closeIconClickCallBack(event, data) {
195
+ console.log("点击关闭图标的事件", data);
196
+ },
197
+ data: [
198
+ {
199
+ value: "select-1",
200
+ text: "单选1",
201
+ },
202
+ {
203
+ value: "select-2",
204
+ text: "单选2",
205
+ },
206
+ {
207
+ value: "select-3",
208
+ text: "单选3",
209
+ },
210
+ {
211
+ value: "select-4",
212
+ text: "单选4",
213
+ },
214
+ {
215
+ value: "select-5",
216
+ text: "单选5",
217
+ },
218
+ ],
219
+ },
220
+ {
221
+ type: "forms",
222
+ text: "deep菜单",
223
+ forms: [
224
+ {
225
+ type: "deepMenu",
226
+ className: "panel-deepMenu",
227
+ text: "deepMenu",
228
+ description: "二级菜单",
229
+ rightText: "自定义配置",
230
+ arrowRightIcon: true,
231
+ clickCallBack(event, formConfig) {
232
+ console.log("进入子配置", event, formConfig);
233
+ },
234
+ forms: [
235
+ {
236
+ className: "forms-1",
237
+ text: "区域设置",
238
+ type: "forms",
239
+ attributes: [],
240
+ forms: [
241
+ {
242
+ className: "panel-switch",
243
+ text: "switch",
244
+ type: "switch",
245
+ attributes: [],
246
+ getValue() {
247
+ return true;
248
+ },
249
+ callback(event, value) {
250
+ console.log("按钮开启状态:", value);
251
+ },
252
+ },
253
+ {
254
+ className: "panel-slider",
255
+ text: "slider",
256
+ type: "slider",
257
+ attributes: [],
258
+ getValue() {
259
+ return 50;
260
+ },
261
+ callback(event, value) {
262
+ console.log("滑块当前数值:", value);
263
+ },
264
+ min: 1,
265
+ max: 100,
266
+ },
267
+ {
268
+ className: "panel-button",
269
+ text: "button",
270
+ type: "button",
271
+ attributes: [],
272
+ buttonIcon: "eleme",
273
+ buttonIconIsLoading: true,
274
+ buttonType: "warning",
275
+ buttonText: "warning按钮",
276
+ callback(event) {
277
+ console.log("点击按钮", event);
278
+ },
279
+ },
280
+ {
281
+ className: "panel-button",
282
+ text: "button",
283
+ type: "button",
284
+ attributes: [],
285
+ buttonIcon: "chromeFilled",
286
+ buttonIconIsLoading: true,
287
+ buttonType: "danger",
288
+ buttonText: "danger按钮",
289
+ callback(event) {
290
+ console.log("点击按钮", event);
291
+ },
292
+ },
293
+ {
294
+ className: "panel-button",
295
+ text: "button",
296
+ type: "button",
297
+ attributes: [],
298
+ buttonIcon: "upload",
299
+ buttonIconIsLoading: false,
300
+ buttonType: "info",
301
+ buttonText: "info按钮",
302
+ callback(event) {
303
+ console.log("点击按钮", event);
304
+ },
305
+ },
306
+ ],
307
+ },
308
+ ],
309
+ },
310
+ ],
311
+ },
312
+ ],
313
+ },
314
+ ],
315
+ btn: {
316
+ close: {
317
+ enable: true,
318
+ callback(event) {
319
+ event.close();
320
+ },
321
+ },
322
+ },
323
+ mask: {
324
+ enable: false,
325
+ clickEvent: {
326
+ toClose: false,
327
+ toHide: false,
328
+ },
329
+ clickCallBack: void 0,
330
+ },
331
+ class: "",
332
+ mobileClassName: "pops-panel-is-mobile",
333
+ isMobile: false,
334
+ only: false,
335
+ width: "700px",
336
+ height: "500px",
337
+ position: "center",
338
+ animation: "pops-anim-fadein-zoom",
339
+ zIndex: 10000,
340
+ drag: false,
341
+ dragLimit: true,
342
+ dragExtraDistance: 3,
343
+ dragMoveCallBack() {},
344
+ dragEndCallBack() {},
345
+ forbiddenScroll: false,
346
+ style: null,
347
+ beforeAppendToPageCallBack() {},
348
+ };
@@ -661,7 +661,7 @@ section.pops-panel-container
661
661
  /* textarea的CSS */
662
662
  .pops-panel-textarea textarea {
663
663
  width: 100%;
664
- vertical-align: bottom;
664
+ /*vertical-align: bottom;*/
665
665
  position: relative;
666
666
  display: block;
667
667
  resize: none;
@@ -715,11 +715,197 @@ section.pops-panel-container
715
715
  }
716
716
  /* select的CSS */
717
717
 
718
- /* select-multiple的CSS */
719
- .pops-panel-select-multiple select {
720
- height: auto;
718
+ /* select-multiple的CSS*/
719
+ .pops-panel-select-multiple {
720
+ --el-border-radius-base: 4px;
721
+ --el-fill-color-blank: #ffffff;
722
+ --el-transition-duration: 0.3s;
723
+ --el-border-color: #dcdfe6;
724
+ --el-text-color-placeholder: #a8abb2;
725
+ --color: inherit;
726
+ --el-select-input-color: #a8abb2;
727
+ --el-select-input-font-size: 14px;
728
+ --el-text-color-regular: #606266;
729
+ --el-color-info: #909399;
730
+ --el-color-info-light-9: #f4f4f5;
731
+ --el-color-info-light-8: #e9e9eb;
732
+ --el-color-primary-light-9: #ecf5ff;
733
+ --el-color-primary-light-8: #d9ecff;
734
+ --el-color-primary: #409eff;
735
+ --el-color-white: #ffffff;
736
+ width: 200px;
737
+ /* 左侧内容*/
738
+ /* 左侧内容*/
739
+ /* 右侧箭头图标*/
740
+ /* 右侧箭头图标*/
741
+ /* tag*/
742
+ }
743
+ .pops-panel-select-multiple .el-select__wrapper {
744
+ display: flex;
745
+ align-items: center;
746
+ position: relative;
747
+ box-sizing: border-box;
748
+ cursor: pointer;
749
+ text-align: left;
750
+ font-size: 14px;
751
+ padding: 4px 12px;
752
+ gap: 6px;
753
+ min-height: 32px;
754
+ line-height: 24px;
755
+ border-radius: var(--el-border-radius-base);
756
+ background-color: var(--el-fill-color-blank);
757
+ transition: var(--el-transition-duration);
758
+ transform: translateZ(0);
759
+ box-shadow: 0 0 0 1px var(--el-border-color) inset;
760
+ }
761
+ .pops-panel-select-multiple .el-select__wrapper.is-focused {
762
+ box-shadow: 0 0 0 1px var(--el-color-primary) inset;
763
+ }
764
+ .pops-panel-select-multiple .el-select__selection {
765
+ position: relative;
766
+ display: flex;
767
+ flex-wrap: wrap;
768
+ align-items: center;
769
+ flex: 1;
770
+ min-width: 0;
771
+ gap: 6px;
772
+ }
773
+ .pops-panel-select-multiple .el-select__selected-item {
774
+ display: flex;
775
+ flex-wrap: wrap;
776
+ -webkit-user-select: none;
777
+ user-select: none;
778
+ }
779
+ .pops-panel-select-multiple
780
+ .el-select__selected-item.el-select__choose_tag
781
+ .el-tag {
782
+ max-width: 200px;
783
+ }
784
+ .pops-panel-select-multiple .el-select__input-wrapper {
785
+ max-width: 100%;
786
+ }
787
+ .pops-panel-select-multiple .el-select__selection.is-near {
788
+ margin-left: -8px;
789
+ }
790
+ .pops-panel-select-multiple .el-select__placeholder {
791
+ position: absolute;
792
+ display: block;
793
+ top: 50%;
794
+ transform: translateY(-50%);
795
+ width: 100%;
796
+ overflow: hidden;
797
+ text-overflow: ellipsis;
798
+ white-space: nowrap;
799
+ color: var(--el-input-text-color, var(--el-text-color-regular));
800
+ }
801
+ .pops-panel-select-multiple .el-select__placeholder.is-transparent {
802
+ -webkit-user-select: none;
803
+ user-select: none;
804
+ color: var(--el-text-color-placeholder);
805
+ }
806
+ .pops-panel-select-multiple .el-select__prefix,
807
+ .pops-panel-select-multiple .el-select__suffix {
808
+ display: flex;
809
+ align-items: center;
810
+ flex-shrink: 0;
811
+ gap: 6px;
812
+ color: var(--el-input-icon-color, var(--el-text-color-placeholder));
813
+ }
814
+ .pops-panel-select-multiple .el-icon {
815
+ --color: inherit;
816
+ height: 1em;
817
+ width: 1em;
818
+ line-height: 1em;
819
+ display: inline-flex;
820
+ justify-content: center;
821
+ align-items: center;
822
+ position: relative;
823
+ fill: currentColor;
824
+ color: var(--color);
825
+ font-size: inherit;
826
+ }
827
+ .pops-panel-select-multiple .el-icon svg {
828
+ height: 1em;
829
+ width: 1em;
830
+ }
831
+ .pops-panel-select-multiple .el-select__caret {
832
+ color: var(--el-select-input-color);
833
+ font-size: var(--el-select-input-font-size);
834
+ transition: var(--el-transition-duration);
835
+ transform: rotate(0);
836
+ cursor: pointer;
837
+ }
838
+ .pops-panel-select-multiple .el-tag {
839
+ --el-tag-font-size: 12px;
840
+ --el-tag-border-radius: 4px;
841
+ --el-tag-border-radius-rounded: 9999px;
842
+ }
843
+ .pops-panel-select-multiple .el-tag {
844
+ background-color: var(--el-tag-bg-color);
845
+ border-color: var(--el-tag-border-color);
846
+ color: var(--el-tag-text-color);
847
+ display: inline-flex;
848
+ justify-content: center;
849
+ align-items: center;
850
+ vertical-align: middle;
851
+ height: 24px;
852
+ padding: 0 9px;
853
+ font-size: var(--el-tag-font-size);
854
+ line-height: 1;
855
+ border-width: 1px;
856
+ border-style: solid;
857
+ border-radius: var(--el-tag-border-radius);
858
+ box-sizing: border-box;
859
+ white-space: nowrap;
860
+ --el-icon-size: 14px;
861
+ --el-tag-bg-color: var(--el-color-primary-light-9);
862
+ --el-tag-border-color: var(--el-color-primary-light-8);
863
+ --el-tag-hover-color: var(--el-color-primary);
864
+ }
865
+ .pops-panel-select-multiple .el-select__selection .el-tag {
866
+ cursor: pointer;
867
+ border-color: transparent;
868
+ }
869
+ .pops-panel-select-multiple .el-tag.el-tag--info {
870
+ --el-tag-bg-color: var(--el-color-info-light-9);
871
+ --el-tag-border-color: var(--el-color-info-light-8);
872
+ --el-tag-hover-color: var(--el-color-info);
873
+ }
874
+ .pops-panel-select-multiple .el-tag.el-tag--info {
875
+ --el-tag-text-color: var(--el-color-info);
876
+ }
877
+ .pops-panel-select-multiple .el-tag.is-closable {
878
+ padding-right: 5px;
879
+ }
880
+ .pops-panel-select-multiple .el-select__selection .el-tag .el-tag__content {
881
+ min-width: 0;
882
+ }
883
+ .pops-panel-select-multiple .el-tag .el-tag__close {
884
+ flex-shrink: 0;
885
+ color: var(--el-tag-text-color);
886
+ }
887
+ .pops-panel-select-multiple .el-tag .el-tag__close:hover {
888
+ color: var(--el-color-white);
889
+ background-color: var(--el-tag-hover-color);
890
+ }
891
+ .pops-panel-select-multiple .el-tag .el-icon {
892
+ border-radius: 50%;
893
+ cursor: pointer;
894
+ font-size: calc(var(--el-icon-size) - 2px);
895
+ height: var(--el-icon-size);
896
+ width: var(--el-icon-size);
897
+ }
898
+ .pops-panel-select-multiple .el-tag .el-tag__close {
899
+ margin-left: 6px;
900
+ }
901
+ .pops-panel-select-multiple .el-select__tags-text {
902
+ display: block;
903
+ line-height: normal;
904
+ overflow: hidden;
905
+ text-overflow: ellipsis;
906
+ white-space: nowrap;
721
907
  }
722
- /* select-multiple的CSS */
908
+ /* select-multiple的CSS*/
723
909
 
724
910
  /* deepMenu的css */
725
911
  .pops-panel-deepMenu-nav-item {