@whitesev/pops 2.2.4 → 2.2.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.
@@ -65,7 +65,7 @@ export interface PopsPanelSelectMultipleDetails<T = any> extends PopsPanelCommon
65
65
  /**
66
66
  * (可选)是否禁用
67
67
  */
68
- disabled?: boolean | ((value: T) => boolean);
68
+ disabled?: boolean | (() => boolean);
69
69
  /**
70
70
  * 提示文字
71
71
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@whitesev/pops",
3
- "version": "2.2.4",
3
+ "version": "2.2.5",
4
4
  "type": "module",
5
5
  "description": "弹窗库",
6
6
  "main": "dist/index.cjs.js",
@@ -34,7 +34,6 @@ export const PopsPanelConfig = (): DeepRequired<PopsPanelDetails> => {
34
34
  type: "switch",
35
35
  // @ts-ignore
36
36
  props: {},
37
- disabled: false,
38
37
  attributes: [],
39
38
  getValue() {
40
39
  return true;
@@ -59,6 +58,21 @@ export const PopsPanelConfig = (): DeepRequired<PopsPanelDetails> => {
59
58
  min: 1,
60
59
  max: 100,
61
60
  },
61
+ {
62
+ className: "panel-button",
63
+ text: "button",
64
+ type: "button",
65
+ // @ts-ignore
66
+ props: {},
67
+ attributes: [],
68
+ buttonIcon: "view",
69
+ buttonIconIsLoading: true,
70
+ buttonType: "default",
71
+ buttonText: "default按钮",
72
+ callback(event) {
73
+ console.log("点击按钮", event);
74
+ },
75
+ },
62
76
  {
63
77
  className: "panel-button",
64
78
  text: "button",
@@ -173,6 +187,7 @@ export const PopsPanelConfig = (): DeepRequired<PopsPanelDetails> => {
173
187
  className: "panel-select",
174
188
  text: "select",
175
189
  type: "select",
190
+ disabled: true,
176
191
  // @ts-ignore
177
192
  props: {},
178
193
  attributes: [],
@@ -215,6 +230,7 @@ export const PopsPanelConfig = (): DeepRequired<PopsPanelDetails> => {
215
230
  className: "panel-select-multiple",
216
231
  type: "select-multiple",
217
232
  text: "select-multiple",
233
+ disabled: true,
218
234
  // @ts-ignore
219
235
  props: {},
220
236
 
@@ -317,14 +317,14 @@ export const PanelHandlerComponents = () => {
317
317
  value: Boolean(formConfig.getValue()),
318
318
  },
319
319
  $ele: {
320
+ itemLeftTextContainer: $li.querySelector<HTMLElement>(
321
+ ".pops-panel-item-left-text"
322
+ ),
320
323
  switch: $li.querySelector<HTMLDivElement>(".pops-panel-switch")!,
321
324
  input: $li.querySelector<HTMLInputElement>(
322
325
  ".pops-panel-switch__input"
323
326
  )!,
324
327
  core: $li.querySelector<HTMLSpanElement>(".pops-panel-switch__core")!,
325
- itemLeftTextContainer: $li.querySelector<HTMLDivElement>(
326
- ".pops-panel-item-left-text"
327
- ),
328
328
  },
329
329
  init() {
330
330
  this.setStatus(this.$data.value);
@@ -590,6 +590,9 @@ export const PanelHandlerComponents = () => {
590
590
  tooltip: null as any as ReturnType<typeof PopsTooltip.init>,
591
591
  },
592
592
  $ele: {
593
+ itemLeftTextContainer: $li.querySelector<HTMLElement>(
594
+ ".pops-panel-item-left-text"
595
+ ),
593
596
  slider: $li.querySelector<HTMLElement>(".pops-slider")!,
594
597
  runAway: $li.querySelector<HTMLElement>(".pops-slider__runway")!,
595
598
  bar: $li.querySelector<HTMLElement>(".pops-slider__bar")!,
@@ -855,19 +858,34 @@ export const PanelHandlerComponents = () => {
855
858
  * 禁止拖拽
856
859
  */
857
860
  disableDrag() {
858
- this.$ele.runAway.classList.add("pops-slider-is-disabled");
861
+ popsDOMUtils.addClassName(
862
+ this.$ele.runAway,
863
+ "pops-slider-is-disabled"
864
+ );
865
+ popsDOMUtils.addClassName(
866
+ this.$ele.runAway,
867
+ PopsCommonCSSClassName.textIsDisabled
868
+ );
859
869
  },
860
870
  /**
861
871
  * 允许拖拽
862
872
  */
863
873
  allowDrag() {
864
- this.$ele.runAway.classList.remove("pops-slider-is-disabled");
874
+ popsDOMUtils.removeClassName(
875
+ this.$ele.runAway,
876
+ "pops-slider-is-disabled"
877
+ );
878
+ popsDOMUtils.removeClassName(
879
+ this.$ele.runAway,
880
+ PopsCommonCSSClassName.textIsDisabled
881
+ );
865
882
  },
866
883
  /**
867
884
  * 判断当前滑块是否被禁用
868
885
  */
869
886
  isDisabledDrag() {
870
- return this.$ele.runAway.classList.contains(
887
+ return popsDOMUtils.containsClassName(
888
+ this.$ele.runAway,
871
889
  "pops-slider-is-disabled"
872
890
  );
873
891
  },
@@ -875,14 +893,11 @@ export const PanelHandlerComponents = () => {
875
893
  * 判断当前滑块是否被禁用(配置中判断)
876
894
  */
877
895
  isFormConfigDisabledDrag() {
878
- if (
879
- typeof formConfig.disabled === "function" ||
880
- typeof formConfig.disabled === "boolean"
881
- ) {
882
- let isDisabled =
883
- typeof formConfig.disabled === "function"
884
- ? formConfig.disabled()
885
- : formConfig.disabled;
896
+ let isDisabled =
897
+ typeof formConfig.disabled === "function"
898
+ ? formConfig.disabled()
899
+ : formConfig.disabled;
900
+ if (typeof isDisabled === "boolean") {
886
901
  return isDisabled;
887
902
  } else {
888
903
  return false;
@@ -895,7 +910,6 @@ export const PanelHandlerComponents = () => {
895
910
  popsDOMUtils.on<PointerEvent | MouseEvent>(
896
911
  this.$ele.runAway,
897
912
  "click",
898
- void 0,
899
913
  (event) => {
900
914
  if (
901
915
  event.target !== this.$ele.runAway &&
@@ -904,7 +918,10 @@ export const PanelHandlerComponents = () => {
904
918
  return;
905
919
  }
906
920
  let clickX = parseFloat(event.offsetX.toString());
907
- this.dragStartCallBack();
921
+ let dragStartResult = this.dragStartCallBack();
922
+ if (!dragStartResult) {
923
+ return;
924
+ }
908
925
  this.dragMoveCallBack(event, clickX, this.value);
909
926
  this.dragEndCallBack(clickX);
910
927
  },
@@ -917,17 +934,18 @@ export const PanelHandlerComponents = () => {
917
934
  * 拖拽开始的回调,如果返回false,禁止拖拽
918
935
  */
919
936
  dragStartCallBack() {
937
+ if (this.isFormConfigDisabledDrag()) {
938
+ // 禁止
939
+ this.disableDrag();
940
+ return false;
941
+ }
920
942
  if (!this.$data.isMove) {
921
- if (this.isFormConfigDisabledDrag()) {
922
- // 禁止
923
- this.disableDrag();
924
- return false;
925
- } else {
943
+ // 非移动中
944
+ if (this.isDisabledDrag()) {
926
945
  // 允许
927
- if (this.isDisabledDrag()) {
928
- this.allowDrag();
929
- }
946
+ this.allowDrag();
930
947
  }
948
+
931
949
  this.$data.isMove = true;
932
950
  }
933
951
  return true;
@@ -1139,6 +1157,9 @@ export const PanelHandlerComponents = () => {
1139
1157
  const PopsPanelInput = {
1140
1158
  [Symbol.toStringTag]: "PopsPanelInput",
1141
1159
  $ele: {
1160
+ itemLeftTextContainer: $li.querySelector<HTMLElement>(
1161
+ ".pops-panel-item-left-text"
1162
+ ),
1142
1163
  panelInput: $li.querySelector<HTMLDivElement>(".pops-panel-input")!,
1143
1164
  input: $li.querySelector<HTMLInputElement>("input")!,
1144
1165
  inputSpanIcon: document.createElement("span"),
@@ -1212,14 +1233,28 @@ export const PanelHandlerComponents = () => {
1212
1233
  */
1213
1234
  disable() {
1214
1235
  this.$ele.input.disabled = true;
1215
- this.$ele.panelInput.classList.add("pops-input-disabled");
1236
+ popsDOMUtils.addClassName(
1237
+ this.$ele.panelInput,
1238
+ "pops-input-disabled"
1239
+ );
1240
+ popsDOMUtils.addClassName(
1241
+ this.$ele.itemLeftTextContainer,
1242
+ PopsCommonCSSClassName.textIsDisabled
1243
+ );
1216
1244
  },
1217
1245
  /**
1218
1246
  * 取消禁用
1219
1247
  */
1220
1248
  notDisable() {
1221
1249
  this.$ele.input.disabled = false;
1222
- this.$ele.panelInput.classList.remove("pops-input-disabled");
1250
+ popsDOMUtils.removeClassName(
1251
+ this.$ele.panelInput,
1252
+ "pops-input-disabled"
1253
+ );
1254
+ popsDOMUtils.removeClassName(
1255
+ this.$ele.itemLeftTextContainer,
1256
+ PopsCommonCSSClassName.textIsDisabled
1257
+ );
1223
1258
  },
1224
1259
  /**
1225
1260
  * 判断是否已被禁用
@@ -1365,6 +1400,9 @@ export const PanelHandlerComponents = () => {
1365
1400
  const PopsPanelTextArea = {
1366
1401
  [Symbol.toStringTag]: "PopsPanelTextArea",
1367
1402
  $ele: {
1403
+ itemLeftTextContainer: $li.querySelector<HTMLElement>(
1404
+ ".pops-panel-item-left-text"
1405
+ ),
1368
1406
  panelTextarea: $li.querySelector<HTMLDivElement>(
1369
1407
  ".pops-panel-textarea"
1370
1408
  )!,
@@ -1388,18 +1426,31 @@ export const PanelHandlerComponents = () => {
1388
1426
  },
1389
1427
  disable() {
1390
1428
  this.$ele.textarea.setAttribute("disabled", "true");
1391
- this.$ele.panelTextarea.classList.add("pops-panel-textarea-disable");
1429
+ popsDOMUtils.addClassName(
1430
+ this.$ele.panelTextarea,
1431
+ "pops-panel-textarea-disable"
1432
+ );
1433
+ popsDOMUtils.addClassName(
1434
+ this.$ele.itemLeftTextContainer,
1435
+ PopsCommonCSSClassName.textIsDisabled
1436
+ );
1392
1437
  },
1393
1438
  notDisable() {
1394
1439
  this.$ele.textarea.removeAttribute("disabled");
1395
- this.$ele.panelTextarea.classList.remove(
1440
+ popsDOMUtils.removeClassName(
1441
+ this.$ele.panelTextarea,
1396
1442
  "pops-panel-textarea-disable"
1397
1443
  );
1444
+ popsDOMUtils.removeClassName(
1445
+ this.$ele.itemLeftTextContainer,
1446
+ PopsCommonCSSClassName.textIsDisabled
1447
+ );
1398
1448
  },
1399
1449
  isDisabled() {
1400
1450
  return (
1401
1451
  this.$ele.textarea.hasAttribute("disabled") ||
1402
- this.$ele.panelTextarea.classList.contains(
1452
+ popsDOMUtils.containsClassName(
1453
+ this.$ele.panelTextarea,
1403
1454
  "pops-panel-textarea-disable"
1404
1455
  )
1405
1456
  );
@@ -1414,7 +1465,6 @@ export const PanelHandlerComponents = () => {
1414
1465
  popsDOMUtils.on<InputEvent>(
1415
1466
  this.$ele.textarea,
1416
1467
  ["input", "propertychange"],
1417
- void 0,
1418
1468
  (event) => {
1419
1469
  let value = this.$ele.textarea.value;
1420
1470
  this.$data.value = value;
@@ -1467,6 +1517,9 @@ export const PanelHandlerComponents = () => {
1467
1517
  const PopsPanelSelect = {
1468
1518
  [Symbol.toStringTag]: "PopsPanelSelect",
1469
1519
  $ele: {
1520
+ itemLeftTextContainer: $li.querySelector<HTMLElement>(
1521
+ ".pops-panel-item-left-text"
1522
+ ),
1470
1523
  panelSelect: $li.querySelector<HTMLDivElement>(".pops-panel-select")!,
1471
1524
  select: $li.querySelector<HTMLSelectElement>(
1472
1525
  ".pops-panel-select select"
@@ -1519,14 +1572,28 @@ export const PanelHandlerComponents = () => {
1519
1572
  */
1520
1573
  disable() {
1521
1574
  this.$ele.select.setAttribute("disabled", "true");
1522
- this.$ele.panelSelect.classList.add("pops-panel-select-disable");
1575
+ popsDOMUtils.addClassName(
1576
+ this.$ele.panelSelect,
1577
+ "pops-panel-select-disable"
1578
+ );
1579
+ popsDOMUtils.addClassName(
1580
+ this.$ele.itemLeftTextContainer,
1581
+ PopsCommonCSSClassName.textIsDisabled
1582
+ );
1523
1583
  },
1524
1584
  /**
1525
1585
  * 取消禁用
1526
1586
  */
1527
1587
  notDisable() {
1528
1588
  this.$ele.select.removeAttribute("disabled");
1529
- this.$ele.panelSelect.classList.remove("pops-panel-select-disable");
1589
+ popsDOMUtils.removeClassName(
1590
+ this.$ele.panelSelect,
1591
+ "pops-panel-select-disable"
1592
+ );
1593
+ popsDOMUtils.removeClassName(
1594
+ this.$ele.itemLeftTextContainer,
1595
+ PopsCommonCSSClassName.textIsDisabled
1596
+ );
1530
1597
  },
1531
1598
  /**
1532
1599
  * 判断是否禁用
@@ -1534,7 +1601,8 @@ export const PanelHandlerComponents = () => {
1534
1601
  isDisabled() {
1535
1602
  return (
1536
1603
  this.$ele.select.hasAttribute("disabled") ||
1537
- this.$ele.panelSelect.classList.contains(
1604
+ popsDOMUtils.containsClassName(
1605
+ this.$ele.panelSelect,
1538
1606
  "pops-panel-select-disable"
1539
1607
  )
1540
1608
  );
@@ -1726,6 +1794,10 @@ export const PanelHandlerComponents = () => {
1726
1794
  const PopsPanelSelectMultiple = {
1727
1795
  [Symbol.toStringTag]: "PopsPanelSelectMultiple",
1728
1796
  $el: {
1797
+ /** 左侧文本容器 */
1798
+ itemLeftTextContainer: $li.querySelector<HTMLElement>(
1799
+ ".pops-panel-item-left-text"
1800
+ ),
1729
1801
  /** 容器 */
1730
1802
  $container: void 0 as any as HTMLElement,
1731
1803
  /** 包括的容器 */
@@ -1755,6 +1827,14 @@ export const PanelHandlerComponents = () => {
1755
1827
  this.initPlaceHolder();
1756
1828
  this.initTagElement();
1757
1829
  this.setSelectContainerClickEvent();
1830
+
1831
+ let disabled =
1832
+ typeof formConfig.disabled === "function"
1833
+ ? formConfig.disabled()
1834
+ : formConfig.disabled;
1835
+ if (disabled) {
1836
+ this.disable();
1837
+ }
1758
1838
  },
1759
1839
  /** 初始化默认值 */
1760
1840
  initDefault() {
@@ -2184,6 +2264,9 @@ export const PanelHandlerComponents = () => {
2184
2264
  setSelectContainerClickEvent() {
2185
2265
  const that = this;
2186
2266
  popsDOMUtils.on(this.$el.$container, "click", (event) => {
2267
+ if (this.isDisabled()) {
2268
+ return;
2269
+ }
2187
2270
  /** 弹窗的选中的值 */
2188
2271
  let selectedInfo = that.$data.selectInfo;
2189
2272
  let { style, ...userConfirmDetails } =
@@ -2334,6 +2417,9 @@ export const PanelHandlerComponents = () => {
2334
2417
  "click",
2335
2418
  (event) => {
2336
2419
  popsDOMUtils.preventEvent(event);
2420
+ if (this.isDisabled()) {
2421
+ return;
2422
+ }
2337
2423
  if (typeof formConfig.closeIconClickCallBack === "function") {
2338
2424
  let result = formConfig.closeIconClickCallBack(event, {
2339
2425
  $tag: data.$tag,
@@ -2423,6 +2509,41 @@ export const PanelHandlerComponents = () => {
2423
2509
  removeSectionIsNear() {
2424
2510
  this.$el.$section.classList.remove("is-near");
2425
2511
  },
2512
+ /**
2513
+ * 禁用标签
2514
+ */
2515
+ disable() {
2516
+ popsDOMUtils.addClassName(
2517
+ this.$el.itemLeftTextContainer,
2518
+ PopsCommonCSSClassName.textIsDisabled
2519
+ );
2520
+ popsDOMUtils.addClassName(
2521
+ this.$el.$container,
2522
+ "pops-panel-select-multiple-disable"
2523
+ );
2524
+ },
2525
+ /**
2526
+ * 判断是否被禁用
2527
+ */
2528
+ isDisabled() {
2529
+ return popsDOMUtils.containsClassName(
2530
+ this.$el.$container,
2531
+ "pops-panel-select-multiple-disable"
2532
+ );
2533
+ },
2534
+ /**
2535
+ * 取消禁用标签
2536
+ */
2537
+ cancleDisable() {
2538
+ popsDOMUtils.removeClassName(
2539
+ this.$el.itemLeftTextContainer,
2540
+ PopsCommonCSSClassName.textIsDisabled
2541
+ );
2542
+ popsDOMUtils.removeClassName(
2543
+ this.$el.$container,
2544
+ "pops-panel-select-multiple-disable"
2545
+ );
2546
+ },
2426
2547
  };
2427
2548
 
2428
2549
  PopsPanelSelectMultiple.init();
@@ -2978,7 +3099,7 @@ export const PanelHandlerComponents = () => {
2978
3099
  );
2979
3100
  formContainerListElement.setAttribute("data-fold-enable", "");
2980
3101
  popsDOMUtils.addClassName(
2981
- formHeaderDivElement,
3102
+ formContainerListElement,
2982
3103
  "pops-panel-forms-fold"
2983
3104
  );
2984
3105
  formContainerListElement.appendChild(formHeaderDivElement);
@@ -24,12 +24,7 @@
24
24
  --pops-panel-forms-container-item-margin-left-right: var(
25
25
  --pops-panel-forms-margin-left-right
26
26
  );
27
- --pops-panel-forms-container-li-border-color: rgb(
28
- 229,
29
- 229,
30
- 229,
31
- var(--pops-bd-opacity)
32
- );
27
+ --pops-panel-forms-container-li-border-color: var(--pops-bd-color);
33
28
  --pops-panel-forms-container-li-padding-top-bottom: 12px;
34
29
  --pops-panel-forms-container-li-padding-left-right: 16px;
35
30
  }
@@ -82,7 +77,7 @@ section.pops-panel-container {
82
77
  }
83
78
  section.pops-panel-container .pops-panel-container-header-ul,
84
79
  section.pops-panel-container .pops-panel-deepMenu-container-header-ul {
85
- border-bottom: 1px solid rgb(229, 229, 229, var(--pops-bd-opacity));
80
+ border-bottom: 1px solid rgba(223, 223, 223, var(--pops-bg-opacity));
86
81
  flex: 0 auto;
87
82
  }
88
83
  section.pops-panel-container .pops-panel-container-header-ul li,
@@ -139,6 +134,7 @@ section.pops-panel-container .pops-panel-forms-container-item-header-text {
139
134
  color: var(--pops-panel-forms-container-item-title-color);
140
135
  }
141
136
  section.pops-panel-container li.pops-panel-forms-container-item {
137
+ /* 去除<li>左侧的圆点 */
142
138
  display: block;
143
139
  }
144
140
  section.pops-panel-container
@@ -194,7 +190,6 @@ section.pops-panel-container .pops-panel-item-left-desc-text {
194
190
  }
195
191
 
196
192
  /* 折叠面板 */
197
-
198
193
  section.pops-panel-container .pops-panel-forms-fold {
199
194
  border-radius: var(--pops-panel-forms-container-item-border-radius);
200
195
  background: var(--pops-panel-forms-container-item-bg-color);
@@ -226,11 +221,18 @@ section.pops-panel-container
226
221
  transform: rotate(-90deg);
227
222
  transition: transform 0.3s;
228
223
  }
224
+ /* 折叠状态 */
229
225
  section.pops-panel-container
230
226
  .pops-panel-forms-fold[data-fold-enable]
231
227
  .pops-panel-forms-container-item-formlist {
232
228
  height: 0;
233
229
  }
230
+ /* 非折叠状态 */
231
+ section.pops-panel-container
232
+ .pops-panel-forms-fold
233
+ ul.pops-panel-forms-container-item-formlist {
234
+ margin: 0;
235
+ }
234
236
  section.pops-panel-container
235
237
  .pops-panel-forms-fold
236
238
  .pops-panel-forms-container-item-formlist {
@@ -239,7 +241,6 @@ section.pops-panel-container
239
241
  border-radius: unset;
240
242
  background: unset;
241
243
  margin: 0;
242
- height: auto;
243
244
  height: calc-size(auto, size);
244
245
  }
245
246
  /* 折叠面板 */
@@ -771,10 +772,7 @@ section.pops-panel-container
771
772
  }
772
773
 
773
774
  .pops-input-disabled {
774
- background-color: var(--el-disabled-bg-color);
775
- }
776
- .pops-panel-input.pops-input-disabled {
777
- border: none;
775
+ background-color: var(--pops-components-is-disabled-bg-color);
778
776
  }
779
777
  .pops-panel-input.pops-input-disabled:hover {
780
778
  --pops-panel-components-input-hover-bd-color: var(
@@ -833,8 +831,16 @@ section.pops-panel-container
833
831
  --pops-panel-components-textarea-bd-color
834
832
  );
835
833
  }
836
- .pops-panel-textarea-disable .pops-panel-textarea textarea:hover {
837
- box-shadow: none;
834
+ .pops-panel-textarea-disable {
835
+ --pops-panel-components-textarea-text-bg-color: var(
836
+ --pops-components-is-disabled-bg-color
837
+ ) !important;
838
+ --pops-panel-components-textarea-text-color: var(
839
+ --pops-components-is-disabled-text-color
840
+ );
841
+ }
842
+ .pops-panel-textarea-disable textarea {
843
+ cursor: not-allowed;
838
844
  }
839
845
  .pops-panel-textarea textarea:focus {
840
846
  outline: 0;
@@ -851,13 +857,18 @@ section.pops-panel-container
851
857
  184,
852
858
  var(--pops-bd-opacity)
853
859
  );
860
+ --pops-panel-components-select-hover-bd-color: rgb(
861
+ 184,
862
+ 184,
863
+ 184,
864
+ var(--pops-bd-opacity)
865
+ );
854
866
  --pops-panel-components-select-bg-color: rgb(
855
867
  255,
856
868
  255,
857
869
  255,
858
870
  var(--pops-bg-opacity)
859
871
  );
860
- --pops-panel-components-select-hover-bd-color: #c0c4cc;
861
872
  }
862
873
  .pops-panel-select {
863
874
  border: 0;
@@ -876,12 +887,24 @@ section.pops-panel-container
876
887
  box-shadow: none;
877
888
  }
878
889
  .pops-panel-select select:hover {
879
- --pops-panel-components-select-bd-color: var(
880
- --pops-panel-components-select-hover-bd-color
890
+ border: 1px solid var(--pops-panel-components-select-hover-bd-color);
891
+ }
892
+ .pops-panel-select-disable {
893
+ --pops-panel-components-select-text-color: var(
894
+ --pops-components-is-disabled-text-color
895
+ );
896
+ --pops-panel-components-select-bg-color: var(
897
+ --pops-components-is-disabled-bg-color
881
898
  );
882
899
  }
883
- .pops-panel-select-disable .pops-panel-select select:hover {
900
+ .pops-panel-select-disable select {
901
+ cursor: not-allowed;
902
+ }
903
+ .pops-panel-select-disable select:hover {
884
904
  box-shadow: none;
905
+ --pops-panel-components-select-hover-bd-color: var(
906
+ --pops-panel-components-select-bd-color
907
+ );
885
908
  }
886
909
  .pops-panel-select select:focus {
887
910
  border: 1px solid rgb(64, 158, 255, var(--pops-bd-opacity));
@@ -894,7 +917,7 @@ section.pops-panel-container
894
917
  --el-border-radius-base: 4px;
895
918
  --el-fill-color-blank: #ffffff;
896
919
  --el-transition-duration: 0.3s;
897
- --el-border-color: #dcdfe6;
920
+ --el-border-color: #cbcbcb;
898
921
  --el-text-color-placeholder: #a8abb2;
899
922
  --color: inherit;
900
923
  --el-select-input-color: #a8abb2;
@@ -926,10 +949,10 @@ section.pops-panel-container
926
949
  background-color: var(--el-fill-color-blank);
927
950
  transition: var(--el-transition-duration);
928
951
  transform: translateZ(0);
929
- box-shadow: 0 0 0 1px var(--el-border-color) inset;
952
+ border: 1px solid var(--el-border-color);
930
953
  }
931
954
  .pops-panel-select-multiple .el-select__wrapper.is-focused {
932
- box-shadow: 0 0 0 1px var(--el-color-primary) inset;
955
+ --el-border-color: var(--el-color-primary);
933
956
  }
934
957
  .pops-panel-select-multiple .el-select__selection {
935
958
  position: relative;
@@ -1078,6 +1101,21 @@ section.pops-panel-container
1078
1101
  text-overflow: ellipsis;
1079
1102
  white-space: nowrap;
1080
1103
  }
1104
+ .pops-panel-select-multiple-disable {
1105
+ --el-fill-color-blank: #f5f7fa;
1106
+ --color: #a8abb2;
1107
+ --el-border-color: #cbcbcb;
1108
+ }
1109
+ .pops-panel-select-multiple-disable .el-tag.el-tag--info {
1110
+ --el-tag-bg-color: #e7e7e7;
1111
+ --el-tag-text-color: var(--pops-components-is-disabled-text-color);
1112
+ }
1113
+ .pops-panel-select-multiple-disable .el-select__selection .el-tag,
1114
+ .pops-panel-select-multiple-disable .el-tag .el-tag__close:hover,
1115
+ .pops-panel-select-multiple-disable .el-select__wrapper,
1116
+ .pops-panel-select-multiple-disable .el-select__caret {
1117
+ cursor: not-allowed;
1118
+ }
1081
1119
  /* select-multiple的CSS*/
1082
1120
 
1083
1121
  /* deepMenu的css */
@@ -1208,10 +1246,16 @@ section.pops-panel-deepMenu-container
1208
1246
  --el-color-primary: #409eff;
1209
1247
  --el-color-white: #ffffff;
1210
1248
  }
1211
- /* select-multiple的CSS*/
1212
1249
  .pops-panel-select-multiple .el-tag {
1213
1250
  --el-color-info-light-9: #202121;
1214
1251
  }
1252
+ .pops-panel-select-multiple-disable {
1253
+ --el-border-color: rgb(51, 51, 51, var(--pops-bd-opacity));
1254
+ }
1255
+ .pops-panel-select-multiple-disable .el-tag.el-tag--info {
1256
+ --el-tag-bg-color: #2f2f2f;
1257
+ }
1258
+ /* select-multiple的CSS*/
1215
1259
  /* slider的CSS */
1216
1260
  .pops-slider {
1217
1261
  --pops-slider-border-color-light: #414243;
@@ -1233,4 +1277,16 @@ section.pops-panel-deepMenu-container
1233
1277
  --pops-panel-components-textarea-hover-bd-color: #6f7175;
1234
1278
  --pops-panel-components-textarea-focus-bd-color: #409eff;
1235
1279
  }
1280
+ .pops-panel-textarea-disable {
1281
+ --pops-panel-components-textarea-text-color: var(
1282
+ --pops-components-is-disabled-text-color
1283
+ );
1284
+ --pops-panel-components-textarea-text-bg-color: var(
1285
+ --pops-components-is-disabled-bg-color
1286
+ );
1287
+ }
1288
+ /* slider */
1289
+ .pops-slider {
1290
+ --pops-slider-text-color-placeholder: #8d9095;
1291
+ }
1236
1292
  }
@@ -75,7 +75,7 @@ export interface PopsPanelSelectMultipleDetails<T = any>
75
75
  /**
76
76
  * (可选)是否禁用
77
77
  */
78
- disabled?: boolean | ((value: T) => boolean);
78
+ disabled?: boolean | (() => boolean);
79
79
  /**
80
80
  * 提示文字
81
81
  */
package/src/css/index.css CHANGED
@@ -18,14 +18,11 @@
18
18
  --pops-bd-color: rgb(235, 238, 245, var(--pops-bd-opacity));
19
19
  --pops-box-shadow-color: rgba(0, 0, 0, 0.12);
20
20
  --pops-title-color: #000000;
21
- --pops-title-border-color: rgb(229, 229, 229, var(--pops-bd-opacity));
21
+ --pops-title-border-color: var(--pops-bd-color);
22
22
  --pops-content-color: #000000;
23
- --pops-bottom-btn-controls-border-color: rgb(
24
- 229,
25
- 229,
26
- 229,
27
- var(--pops-bd-opacity)
28
- );
23
+ --pops-bottom-btn-controls-border-color: var(--pops-bd-color);
24
+ --pops-components-is-disabled-text-color: #a8abb2;
25
+ --pops-components-is-disabled-bg-color: #f5f7fa;
29
26
  }
30
27
  @media (prefers-color-scheme: dark) {
31
28
  .pops {
@@ -35,8 +32,10 @@
35
32
  --pops-bd-color: rgb(55, 55, 55, var(--pops-bd-opacity));
36
33
  --pops-box-shadow-color: rgba(81, 81, 81, 0.12);
37
34
  --pops-title-color: #e8e8e8;
38
- --pops-title-border-color: rgb(229, 229, 229, var(--pops-bd-opacity));
35
+ --pops-title-border-color: var(--pops-bd-color);
39
36
  --pops-content-color: #e5e5e5;
37
+ --pops-components-is-disabled-text-color: #a8abb2;
38
+ --pops-components-is-disabled-bg-color: #262727;
40
39
  }
41
40
  }
42
41
  .pops {