@signalplus/params-about 1.0.8 → 1.0.9-alpha

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.
package/index.d.ts CHANGED
@@ -13,7 +13,10 @@ declare enum ParamType {
13
13
  Phone = 8,
14
14
  Text = 9,
15
15
  ExpiryValue = 10,
16
- InstrumentValue = 11
16
+ InstrumentValue = 11,
17
+ TextNumberList = 12,
18
+ TextPercentageList = 13,
19
+ HardLimitHandler = 15
17
20
  }
18
21
  interface BaseInputProps {
19
22
  value?: any;
@@ -0,0 +1,117 @@
1
+ @import './var';
2
+
3
+ .param-text-selector {
4
+ position: relative;
5
+ flex: 1;
6
+ max-width: 100%;
7
+ min-width: calc(7em + 24px + 2px);
8
+ padding: calc((#{$input-height} - 22px) / 2) calc(1em + 14px) calc((#{$input-height} - 22px) / 2)
9
+ 10px;
10
+ line-height: 0;
11
+ border: 1px solid $border-color;
12
+ border-radius: 2px;
13
+ cursor: pointer;
14
+ background: $bg;
15
+
16
+ &.readonly {
17
+ padding: calc((#{$input-readonly-height} - 20px) / 2) 0;
18
+ border-color: transparent;
19
+ overflow: initial;
20
+ white-space: initial;
21
+ cursor: default;
22
+ background: transparent;
23
+
24
+ &.multiple {
25
+ white-space: pre-wrap;
26
+ }
27
+ }
28
+
29
+ &.multiple {
30
+ text-overflow: ellipsis;
31
+ overflow: hidden;
32
+ white-space: nowrap;
33
+ }
34
+ }
35
+
36
+ .param-text-selector-arrow {
37
+ position: absolute;
38
+ top: 50%;
39
+ right: 7px;
40
+ margin: -0.5em 0 0;
41
+ color: $border-color !important;
42
+ }
43
+
44
+ .param-text-selector-val {
45
+ display: inline-block;
46
+ margin: 0 6px 0 0;
47
+ line-height: 20px;
48
+ white-space: initial;
49
+ vertical-align: middle;
50
+ }
51
+
52
+ .param-text-selector-placeholder {
53
+ display: inline-block;
54
+ margin: 0 6px 0 0;
55
+ line-height: 20px;
56
+ color: $placeholder-color;
57
+ max-width: 100%;
58
+ white-space: nowrap;
59
+ text-overflow: ellipsis;
60
+ overflow: hidden;
61
+ vertical-align: middle;
62
+ }
63
+
64
+ .param-text-selector-multi-val {
65
+ display: inline-block;
66
+ margin: 0 6px 0 0;
67
+ padding: 0 3px 0 8px;
68
+ line-height: 20px;
69
+ border-radius: 2px;
70
+ background: rgba(0, 0, 0, 0.1);
71
+ vertical-align: middle;
72
+
73
+ svg {
74
+ display: inline-block;
75
+ margin: 0 0 0 4px;
76
+ color: #999;
77
+ cursor: pointer;
78
+ }
79
+ }
80
+
81
+ .param-text-selector-popover {
82
+ .ant-popover-inner-content {
83
+ max-height: 50vh;
84
+ overflow-y: auto;
85
+ }
86
+ }
87
+
88
+ .param-text-selector-option {
89
+ display: flex;
90
+ align-items: center;
91
+ justify-content: space-between;
92
+ width: 240px;
93
+ margin: 0 -16px;
94
+ padding: 0 16px;
95
+ line-height: 30px;
96
+ color: rgba($text-color, 0.6);
97
+ cursor: pointer;
98
+
99
+ &.param-text-selector-option-checked {
100
+ font-weight: bold;
101
+ color: $text-color;
102
+ }
103
+
104
+ &.param-text-selector-option-disabled {
105
+ cursor: not-allowed;
106
+ opacity: 0.5;
107
+ }
108
+
109
+ &:hover {
110
+ color: $text-color;
111
+ background: rgba(0, 0, 0, 0.1);
112
+ }
113
+
114
+ svg {
115
+ color: #57be6a;
116
+ }
117
+ }
package/lib/css/index.css CHANGED
@@ -1 +1 @@
1
- .param-parent-selector.readonly .ant-select-selector{padding:0 !important;border-color:transparent !important;background:transparent !important;cursor:initial !important}.param-parent-selector.readonly .ant-select-selection-item{color:#333 !important}.param-parent-selector.readonly .ant-select-arrow{display:none !important}.param-form.param-value-editor .ant-form-item-label,.param-value-editor.param-value-editor .ant-form-item-label,.param-group-editor.param-value-editor .ant-form-item-label,.param-mover.param-value-editor .ant-form-item-label{width:150px}.param-form .ant-form-item-label,.param-value-editor .ant-form-item-label,.param-group-editor .ant-form-item-label,.param-mover .ant-form-item-label{width:80px;padding:0 15px 0 0}.param-form .ant-form-item-label>label,.param-value-editor .ant-form-item-label>label,.param-group-editor .ant-form-item-label>label,.param-mover .ant-form-item-label>label{height:40px}.param-form .ant-form-item-label>label:after,.param-value-editor .ant-form-item-label>label:after,.param-group-editor .ant-form-item-label>label:after,.param-mover .ant-form-item-label>label:after{content:none !important}.param-form input.ant-input.ant-input,.param-form .ant-select-selector.ant-select-selector,.param-form .ant-cascader.ant-cascader,.param-value-editor input.ant-input.ant-input,.param-value-editor .ant-select-selector.ant-select-selector,.param-value-editor .ant-cascader.ant-cascader,.param-group-editor input.ant-input.ant-input,.param-group-editor .ant-select-selector.ant-select-selector,.param-group-editor .ant-cascader.ant-cascader,.param-mover input.ant-input.ant-input,.param-mover .ant-select-selector.ant-select-selector,.param-mover .ant-cascader.ant-cascader{height:40px !important}.param-form input.ant-input.ant-input input,.param-form input.ant-input.ant-input .ant-select-selection-placeholder,.param-form input.ant-input.ant-input .ant-select-selection-item,.param-form .ant-select-selector.ant-select-selector input,.param-form .ant-select-selector.ant-select-selector .ant-select-selection-placeholder,.param-form .ant-select-selector.ant-select-selector .ant-select-selection-item,.param-form .ant-cascader.ant-cascader input,.param-form .ant-cascader.ant-cascader .ant-select-selection-placeholder,.param-form .ant-cascader.ant-cascader .ant-select-selection-item,.param-value-editor input.ant-input.ant-input input,.param-value-editor input.ant-input.ant-input .ant-select-selection-placeholder,.param-value-editor input.ant-input.ant-input .ant-select-selection-item,.param-value-editor .ant-select-selector.ant-select-selector input,.param-value-editor .ant-select-selector.ant-select-selector .ant-select-selection-placeholder,.param-value-editor .ant-select-selector.ant-select-selector .ant-select-selection-item,.param-value-editor .ant-cascader.ant-cascader input,.param-value-editor .ant-cascader.ant-cascader .ant-select-selection-placeholder,.param-value-editor .ant-cascader.ant-cascader .ant-select-selection-item,.param-group-editor input.ant-input.ant-input input,.param-group-editor input.ant-input.ant-input .ant-select-selection-placeholder,.param-group-editor input.ant-input.ant-input .ant-select-selection-item,.param-group-editor .ant-select-selector.ant-select-selector input,.param-group-editor .ant-select-selector.ant-select-selector .ant-select-selection-placeholder,.param-group-editor .ant-select-selector.ant-select-selector .ant-select-selection-item,.param-group-editor .ant-cascader.ant-cascader input,.param-group-editor .ant-cascader.ant-cascader .ant-select-selection-placeholder,.param-group-editor .ant-cascader.ant-cascader .ant-select-selection-item,.param-mover input.ant-input.ant-input input,.param-mover input.ant-input.ant-input .ant-select-selection-placeholder,.param-mover input.ant-input.ant-input .ant-select-selection-item,.param-mover .ant-select-selector.ant-select-selector input,.param-mover .ant-select-selector.ant-select-selector .ant-select-selection-placeholder,.param-mover .ant-select-selector.ant-select-selector .ant-select-selection-item,.param-mover .ant-cascader.ant-cascader input,.param-mover .ant-cascader.ant-cascader .ant-select-selection-placeholder,.param-mover .ant-cascader.ant-cascader .ant-select-selection-item{height:calc(40px - 2px) !important;line-height:calc(40px - 2px) !important}.param-form textarea.ant-input.ant-input,.param-value-editor textarea.ant-input.ant-input,.param-group-editor textarea.ant-input.ant-input,.param-mover textarea.ant-input.ant-input{height:100px;min-height:40px;padding:9px 10px}.param-form .ant-form-item.ant-form-item:not(.ant-form-item-with-help),.param-value-editor .ant-form-item.ant-form-item:not(.ant-form-item-with-help),.param-group-editor .ant-form-item.ant-form-item:not(.ant-form-item-with-help),.param-mover .ant-form-item.ant-form-item:not(.ant-form-item-with-help){margin:0 0 12px}.param-form .ant-form-item-explain.ant-form-item-explain,.param-value-editor .ant-form-item-explain.ant-form-item-explain,.param-group-editor .ant-form-item-explain.ant-form-item-explain,.param-mover .ant-form-item-explain.ant-form-item-explain{height:auto;min-height:auto;margin:0 0 12px;font-size:12px;line-height:14px}.param-form .react-file-name,.param-value-editor .react-file-name,.param-group-editor .react-file-name,.param-mover .react-file-name{display:none !important}.param-form .ant-row,.param-value-editor .ant-row,.param-group-editor .ant-row,.param-mover .ant-row{display:flex}.param-form .param-default-value,.param-form .param-value-before,.param-value-editor .param-default-value,.param-value-editor .param-value-before,.param-group-editor .param-default-value,.param-group-editor .param-value-before,.param-mover .param-default-value,.param-mover .param-value-before{padding:calc((40px - 30px) / 2) 0}.param-form .param-default-value .ant-form-item-label>label,.param-form .param-value-before .ant-form-item-label>label,.param-value-editor .param-default-value .ant-form-item-label>label,.param-value-editor .param-value-before .ant-form-item-label>label,.param-group-editor .param-default-value .ant-form-item-label>label,.param-group-editor .param-value-before .ant-form-item-label>label,.param-mover .param-default-value .ant-form-item-label>label,.param-mover .param-value-before .ant-form-item-label>label{height:30px}.param-image-upload.param-image-upload .react-file-input{border-color:#d9d9d9}.param-bool{flex:1;display:flex;align-items:center;height:40px}.param-bool.readonly{height:30px}.param-bool-option{display:inline-flex;align-items:center;margin:0 16px 0 0;cursor:pointer}.param-bool-option>svg{margin:0 5px 0 0}.active{color:#006fa7}.param-expiries{position:relative;flex:1;max-width:100%;min-width:calc(7em + 24px + 2px);padding:calc((40px - 22px) / 2) calc(1em + 14px) calc((40px - 22px) / 2) 10px;line-height:0;border:1px solid #d9d9d9;border-radius:2px;cursor:pointer;background:#fff}.param-expiries.readonly{padding:calc((30px - 20px) / 2) 0;border-color:transparent;overflow:initial;white-space:initial;cursor:default;background:transparent}.param-expiries.readonly.multiple{white-space:pre-wrap}.param-expiries.multiple{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.param-expiries-arrow{position:absolute;top:50%;right:7px;margin:-0.5em 0 0;color:#d9d9d9 !important}.param-expiries-val{display:inline-block;margin:0 6px 0 0;line-height:20px;white-space:initial;vertical-align:middle}.param-expiries-placeholder{display:inline-block;margin:0 6px 0 0;line-height:20px;color:rgba(0,0,0,0.25);max-width:100%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;vertical-align:middle}.param-expiries-multi-val{display:inline-block;margin:0 6px 0 0;padding:0 3px 0 8px;line-height:20px;border-radius:2px;background:rgba(0,0,0,0.1);vertical-align:middle}.param-expiries-multi-val svg{display:inline-block;margin:0 0 0 4px;color:#999;cursor:pointer}.param-expiries-popover .ant-popover-inner-content{max-height:50vh;overflow-y:auto}.param-expiries-option{display:flex;align-items:center;justify-content:space-between;width:240px;margin:0 -16px;padding:0 16px;line-height:30px;color:rgba(51,51,51,0.6);cursor:pointer}.param-expiries-option.param-expiries-option-checked{font-weight:bold;color:#333}.param-expiries-option.param-expiries-option-disabled{cursor:not-allowed;opacity:0.5}.param-expiries-option:hover{color:#333;background:rgba(0,0,0,0.1)}.param-expiries-option svg{color:#57be6a}.param-expiries-limit{padding:calc((40px - 20px) / 2) 0}.param-expiries-limit.readonly{padding:calc((30px - 20px) / 2) 0}.param-expiries-limit .param-number-range{margin:0 0 0 10px}.param-expiries-limit .param-number-range-prefix{display:none}.param-expiries-limit .param-number-suffix{padding:0 7px}.param-expiries-limit-val{display:block}.param-expiries-limit-val:after{content:';'}.param-expiries-limit-val-sep{padding:0 4px;color:#999}.param-expiries-limit-inputs{display:grid;grid-row-gap:10px;grid-column-gap:10px;grid-template-rows:auto;grid-template-columns:auto auto auto auto}.param-expiries-limit-inputs .param-expiries,.param-expiries-limit-inputs .param-number-range,.param-expiries-limit-inputs .param-arr-ops{height:30px;padding-top:0;padding-right:0;margin:0}.param-expiries-limit-inputs .param-expiries.readonly,.param-expiries-limit-inputs .param-number-range.readonly,.param-expiries-limit-inputs .param-arr-ops.readonly{height:20px;line-height:18px}.param-expiries-limit-inputs .param-expiries.readonly .param-expiries-val,.param-expiries-limit-inputs .param-number-range.readonly .param-expiries-val,.param-expiries-limit-inputs .param-arr-ops.readonly .param-expiries-val{margin-top:0}.param-expiries-limit-inputs .param-expiries .param-expiries-placeholder,.param-expiries-limit-inputs .param-expiries .param-expiries-val,.param-expiries-limit-inputs .param-number-range .param-expiries-placeholder,.param-expiries-limit-inputs .param-number-range .param-expiries-val,.param-expiries-limit-inputs .param-arr-ops .param-expiries-placeholder,.param-expiries-limit-inputs .param-arr-ops .param-expiries-val{margin-top:4px}.param-expiries-limit-inputs .param-expiries .param-number-range-sep,.param-expiries-limit-inputs .param-number-range .param-number-range-sep,.param-expiries-limit-inputs .param-arr-ops .param-number-range-sep{margin:0 6px}.param-expiries-limit-inputs .param-arr-ops{padding:0}.param-expiries-popover{padding:0 !important}.param-expiries-popover .ant-popover-arrow{display:none}.param-number{flex:1;display:flex;align-items:center;height:40px}.param-number.readonly{height:30px}.param-number.readonly .param-number-suffix{padding:0;margin:0 0 0 1px;border:none;background:none}.param-number-val{position:relative;z-index:1;margin:0}.param-number-suffix{display:flex;align-items:center;justify-content:center;position:relative;z-index:0;flex:none;height:100%;padding:0 14px;margin:0 0 0 -2px;border-radius:2px;border:1px solid #d9d9d9;background:#f2f2f2}.param-number-range{flex:1;display:flex;align-items:center;height:40px}.param-number-range .param-number{height:100%}.param-number-range.readonly{height:30px}.param-number-range.readonly .param-number{flex:none}.param-number-range .param-number-range-prefix{margin:0 8px 0 0}.param-number-range .param-number-range-sep{margin:0 10px}.param-text-array{padding:calc((40px - 30px) / 2) 0}.param-arr-item{display:flex;align-items:center;height:30px;margin:0 0 4px}.param-arr-item>input{flex:none;width:160px}.param-arr-ops{display:flex;align-items:center;justify-content:center;flex-wrap:nowrap;height:100%;padding:0 10px}.param-arr-ops .param-arr-ops-add,.param-arr-ops .param-arr-ops-del{display:flex;align-items:center;justify-content:center;width:30px;height:100%;border-radius:4px;color:#006FA7}.param-arr-ops .param-arr-ops-add:hover,.param-arr-ops .param-arr-ops-del:hover{background:rgba(0,0,0,0.1)}.param-arr-ops .param-arr-ops-del{color:#006FA7}.param-text{flex:1;display:flex;align-items:center;height:40px}.param-text.readonly{height:30px}.param-text-val{position:relative;z-index:1;margin:0}.param-expiries-value{padding:calc((40px - 20px) / 2) 0}.param-expiries-value.readonly{padding:calc((30px - 20px) / 2) 0}.param-expiries-value .param-number-range{margin:0 0 0 10px}.param-expiries-value .param-number-range-prefix{display:none}.param-expiries-value .param-number-suffix{padding:0 7px}.param-expiries-value-val{display:block}.param-expiries-value-val:after{content:';'}.param-expiries-value-inputs{display:grid;grid-row-gap:10px;grid-column-gap:10px;grid-template-rows:auto;grid-template-columns:auto auto auto auto}.param-expiries-value-inputs .param-expiries,.param-expiries-value-inputs .param-number-range,.param-expiries-value-inputs .param-arr-ops{height:30px;padding-top:0;padding-right:0;margin:0}.param-expiries-value-inputs .param-expiries.readonly,.param-expiries-value-inputs .param-number-range.readonly,.param-expiries-value-inputs .param-arr-ops.readonly{height:20px;line-height:18px}.param-expiries-value-inputs .param-expiries.readonly .param-expiries-val,.param-expiries-value-inputs .param-number-range.readonly .param-expiries-val,.param-expiries-value-inputs .param-arr-ops.readonly .param-expiries-val{margin-top:0}.param-expiries-value-inputs .param-expiries .param-expiries-placeholder,.param-expiries-value-inputs .param-expiries .param-expiries-val,.param-expiries-value-inputs .param-number-range .param-expiries-placeholder,.param-expiries-value-inputs .param-number-range .param-expiries-val,.param-expiries-value-inputs .param-arr-ops .param-expiries-placeholder,.param-expiries-value-inputs .param-arr-ops .param-expiries-val{margin-top:4px}.param-expiries-value-inputs .param-expiries .param-number-range-sep,.param-expiries-value-inputs .param-number-range .param-number-range-sep,.param-expiries-value-inputs .param-arr-ops .param-number-range-sep{margin:0 6px}.param-expiries-value-inputs .param-arr-ops{padding:0}.param-expiries-popover{padding:0 !important}.param-expiries-popover .ant-popover-arrow{display:none}.param-renderer{box-sizing:border-box;margin:0;line-height:20px;color:#333}.param-renderer.readonly input,.param-renderer.readonly select,.param-renderer.readonly .select{padding:0;border:none;box-shadow:none}.param-renderer.readonly textarea{padding:calc((30px - 20px - 2px) / 2) 10px}.param-renderer *{box-sizing:border-box}.param-renderer textarea,.param-renderer input,.param-renderer select,.param-renderer .select{flex:1;width:50px;height:100%;padding:0 10px;border:1px solid #d9d9d9;border-radius:2px;outline:none;box-shadow:none;background:#fff}.param-renderer textarea::placeholder,.param-renderer input::placeholder,.param-renderer select::placeholder,.param-renderer .select::placeholder{color:rgba(0,0,0,0.25)}.param-renderer textarea:hover,.param-renderer input:hover,.param-renderer select:hover,.param-renderer .select:hover{border-color:#006FA7}.param-renderer textarea:focus,.param-renderer input:focus,.param-renderer select:focus,.param-renderer .select:focus{border-color:#006FA7;box-shadow:0 0 0 2px rgba(0,111,167,0.1)}.param-renderer textarea{width:100%;padding:calc((40px - 20px - 2px) / 2) 10px}
1
+ .param-parent-selector.readonly .ant-select-selector{padding:0 !important;border-color:transparent !important;background:transparent !important;cursor:initial !important}.param-parent-selector.readonly .ant-select-selection-item{color:#333 !important}.param-parent-selector.readonly .ant-select-arrow{display:none !important}.param-form.param-value-editor .ant-form-item-label,.param-value-editor.param-value-editor .ant-form-item-label,.param-group-editor.param-value-editor .ant-form-item-label,.param-mover.param-value-editor .ant-form-item-label{width:150px}.param-form .ant-form-item-label,.param-value-editor .ant-form-item-label,.param-group-editor .ant-form-item-label,.param-mover .ant-form-item-label{width:80px;padding:0 15px 0 0}.param-form .ant-form-item-label>label,.param-value-editor .ant-form-item-label>label,.param-group-editor .ant-form-item-label>label,.param-mover .ant-form-item-label>label{height:40px}.param-form .ant-form-item-label>label:after,.param-value-editor .ant-form-item-label>label:after,.param-group-editor .ant-form-item-label>label:after,.param-mover .ant-form-item-label>label:after{content:none !important}.param-form input.ant-input.ant-input,.param-form .ant-select-selector.ant-select-selector,.param-form .ant-cascader.ant-cascader,.param-value-editor input.ant-input.ant-input,.param-value-editor .ant-select-selector.ant-select-selector,.param-value-editor .ant-cascader.ant-cascader,.param-group-editor input.ant-input.ant-input,.param-group-editor .ant-select-selector.ant-select-selector,.param-group-editor .ant-cascader.ant-cascader,.param-mover input.ant-input.ant-input,.param-mover .ant-select-selector.ant-select-selector,.param-mover .ant-cascader.ant-cascader{height:40px !important}.param-form input.ant-input.ant-input input,.param-form input.ant-input.ant-input .ant-select-selection-placeholder,.param-form input.ant-input.ant-input .ant-select-selection-item,.param-form .ant-select-selector.ant-select-selector input,.param-form .ant-select-selector.ant-select-selector .ant-select-selection-placeholder,.param-form .ant-select-selector.ant-select-selector .ant-select-selection-item,.param-form .ant-cascader.ant-cascader input,.param-form .ant-cascader.ant-cascader .ant-select-selection-placeholder,.param-form .ant-cascader.ant-cascader .ant-select-selection-item,.param-value-editor input.ant-input.ant-input input,.param-value-editor input.ant-input.ant-input .ant-select-selection-placeholder,.param-value-editor input.ant-input.ant-input .ant-select-selection-item,.param-value-editor .ant-select-selector.ant-select-selector input,.param-value-editor .ant-select-selector.ant-select-selector .ant-select-selection-placeholder,.param-value-editor .ant-select-selector.ant-select-selector .ant-select-selection-item,.param-value-editor .ant-cascader.ant-cascader input,.param-value-editor .ant-cascader.ant-cascader .ant-select-selection-placeholder,.param-value-editor .ant-cascader.ant-cascader .ant-select-selection-item,.param-group-editor input.ant-input.ant-input input,.param-group-editor input.ant-input.ant-input .ant-select-selection-placeholder,.param-group-editor input.ant-input.ant-input .ant-select-selection-item,.param-group-editor .ant-select-selector.ant-select-selector input,.param-group-editor .ant-select-selector.ant-select-selector .ant-select-selection-placeholder,.param-group-editor .ant-select-selector.ant-select-selector .ant-select-selection-item,.param-group-editor .ant-cascader.ant-cascader input,.param-group-editor .ant-cascader.ant-cascader .ant-select-selection-placeholder,.param-group-editor .ant-cascader.ant-cascader .ant-select-selection-item,.param-mover input.ant-input.ant-input input,.param-mover input.ant-input.ant-input .ant-select-selection-placeholder,.param-mover input.ant-input.ant-input .ant-select-selection-item,.param-mover .ant-select-selector.ant-select-selector input,.param-mover .ant-select-selector.ant-select-selector .ant-select-selection-placeholder,.param-mover .ant-select-selector.ant-select-selector .ant-select-selection-item,.param-mover .ant-cascader.ant-cascader input,.param-mover .ant-cascader.ant-cascader .ant-select-selection-placeholder,.param-mover .ant-cascader.ant-cascader .ant-select-selection-item{height:calc(40px - 2px) !important;line-height:calc(40px - 2px) !important}.param-form textarea.ant-input.ant-input,.param-value-editor textarea.ant-input.ant-input,.param-group-editor textarea.ant-input.ant-input,.param-mover textarea.ant-input.ant-input{height:100px;min-height:40px;padding:9px 10px}.param-form .ant-form-item.ant-form-item:not(.ant-form-item-with-help),.param-value-editor .ant-form-item.ant-form-item:not(.ant-form-item-with-help),.param-group-editor .ant-form-item.ant-form-item:not(.ant-form-item-with-help),.param-mover .ant-form-item.ant-form-item:not(.ant-form-item-with-help){margin:0 0 12px}.param-form .ant-form-item-explain.ant-form-item-explain,.param-value-editor .ant-form-item-explain.ant-form-item-explain,.param-group-editor .ant-form-item-explain.ant-form-item-explain,.param-mover .ant-form-item-explain.ant-form-item-explain{height:auto;min-height:auto;margin:0 0 12px;font-size:12px;line-height:14px}.param-form .react-file-name,.param-value-editor .react-file-name,.param-group-editor .react-file-name,.param-mover .react-file-name{display:none !important}.param-form .ant-row,.param-value-editor .ant-row,.param-group-editor .ant-row,.param-mover .ant-row{display:flex}.param-form .param-default-value,.param-form .param-value-before,.param-value-editor .param-default-value,.param-value-editor .param-value-before,.param-group-editor .param-default-value,.param-group-editor .param-value-before,.param-mover .param-default-value,.param-mover .param-value-before{padding:calc((40px - 30px) / 2) 0}.param-form .param-default-value .ant-form-item-label>label,.param-form .param-value-before .ant-form-item-label>label,.param-value-editor .param-default-value .ant-form-item-label>label,.param-value-editor .param-value-before .ant-form-item-label>label,.param-group-editor .param-default-value .ant-form-item-label>label,.param-group-editor .param-value-before .ant-form-item-label>label,.param-mover .param-default-value .ant-form-item-label>label,.param-mover .param-value-before .ant-form-item-label>label{height:30px}.param-image-upload.param-image-upload .react-file-input{border-color:#d9d9d9}.param-bool{flex:1;display:flex;align-items:center;height:40px}.param-bool.readonly{height:30px}.param-bool-option{display:inline-flex;align-items:center;margin:0 16px 0 0;cursor:pointer}.param-bool-option>svg{margin:0 5px 0 0}.active{color:#006fa7}.param-expiries{position:relative;flex:1;max-width:100%;min-width:calc(7em + 24px + 2px);padding:calc((40px - 22px) / 2) calc(1em + 14px) calc((40px - 22px) / 2) 10px;line-height:0;border:1px solid #d9d9d9;border-radius:2px;cursor:pointer;background:#fff}.param-expiries.readonly{padding:calc((30px - 20px) / 2) 0;border-color:transparent;overflow:initial;white-space:initial;cursor:default;background:transparent}.param-expiries.readonly.multiple{white-space:pre-wrap}.param-expiries.multiple{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.param-expiries-arrow{position:absolute;top:50%;right:7px;margin:-0.5em 0 0;color:#d9d9d9 !important}.param-expiries-val{display:inline-block;margin:0 6px 0 0;line-height:20px;white-space:initial;vertical-align:middle}.param-expiries-placeholder{display:inline-block;margin:0 6px 0 0;line-height:20px;color:rgba(0,0,0,0.25);max-width:100%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;vertical-align:middle}.param-expiries-multi-val{display:inline-block;margin:0 6px 0 0;padding:0 3px 0 8px;line-height:20px;border-radius:2px;background:rgba(0,0,0,0.1);vertical-align:middle}.param-expiries-multi-val svg{display:inline-block;margin:0 0 0 4px;color:#999;cursor:pointer}.param-expiries-popover .ant-popover-inner-content{max-height:50vh;overflow-y:auto}.param-expiries-option{display:flex;align-items:center;justify-content:space-between;width:240px;margin:0 -16px;padding:0 16px;line-height:30px;color:rgba(51,51,51,0.6);cursor:pointer}.param-expiries-option.param-expiries-option-checked{font-weight:bold;color:#333}.param-expiries-option.param-expiries-option-disabled{cursor:not-allowed;opacity:0.5}.param-expiries-option:hover{color:#333;background:rgba(0,0,0,0.1)}.param-expiries-option svg{color:#57be6a}.param-expiries-limit{padding:calc((40px - 20px) / 2) 0}.param-expiries-limit.readonly{padding:calc((30px - 20px) / 2) 0}.param-expiries-limit .param-number-range{margin:0 0 0 10px}.param-expiries-limit .param-number-range-prefix{display:none}.param-expiries-limit .param-number-suffix{padding:0 7px}.param-expiries-limit-val{display:block}.param-expiries-limit-val:after{content:';'}.param-expiries-limit-val-sep{padding:0 4px;color:#999}.param-expiries-limit-inputs{display:grid;grid-row-gap:10px;grid-column-gap:10px;grid-template-rows:auto;grid-template-columns:auto auto auto auto}.param-expiries-limit-inputs .param-expiries,.param-expiries-limit-inputs .param-number-range,.param-expiries-limit-inputs .param-arr-ops{height:30px;padding-top:0;padding-right:0;margin:0}.param-expiries-limit-inputs .param-expiries.readonly,.param-expiries-limit-inputs .param-number-range.readonly,.param-expiries-limit-inputs .param-arr-ops.readonly{height:20px;line-height:18px}.param-expiries-limit-inputs .param-expiries.readonly .param-expiries-val,.param-expiries-limit-inputs .param-number-range.readonly .param-expiries-val,.param-expiries-limit-inputs .param-arr-ops.readonly .param-expiries-val{margin-top:0}.param-expiries-limit-inputs .param-expiries .param-expiries-placeholder,.param-expiries-limit-inputs .param-expiries .param-expiries-val,.param-expiries-limit-inputs .param-number-range .param-expiries-placeholder,.param-expiries-limit-inputs .param-number-range .param-expiries-val,.param-expiries-limit-inputs .param-arr-ops .param-expiries-placeholder,.param-expiries-limit-inputs .param-arr-ops .param-expiries-val{margin-top:4px}.param-expiries-limit-inputs .param-expiries .param-number-range-sep,.param-expiries-limit-inputs .param-number-range .param-number-range-sep,.param-expiries-limit-inputs .param-arr-ops .param-number-range-sep{margin:0 6px}.param-expiries-limit-inputs .param-arr-ops{padding:0}.param-expiries-popover{padding:0 !important}.param-expiries-popover .ant-popover-arrow{display:none}.param-number{flex:1;display:flex;align-items:center;height:40px}.param-number.readonly{height:30px}.param-number.readonly .param-number-suffix{padding:0;margin:0 0 0 1px;border:none;background:none}.param-number-val{position:relative;z-index:1;margin:0}.param-number-suffix{display:flex;align-items:center;justify-content:center;position:relative;z-index:0;flex:none;height:100%;padding:0 14px;margin:0 0 0 -2px;border-radius:2px;border:1px solid #d9d9d9;background:#f2f2f2}.param-number-range{flex:1;display:flex;align-items:center;height:40px}.param-number-range .param-number{height:100%}.param-number-range.readonly{height:30px}.param-number-range.readonly .param-number{flex:none}.param-number-range .param-number-range-prefix{margin:0 8px 0 0}.param-number-range .param-number-range-sep{margin:0 10px}.param-text-array{padding:calc((40px - 30px) / 2) 0}.param-arr-item{display:flex;align-items:center;height:30px;margin:0 0 4px}.param-arr-item>input{flex:none;width:160px}.param-arr-ops{display:flex;align-items:center;justify-content:center;flex-wrap:nowrap;height:100%;padding:0 10px}.param-arr-ops .param-arr-ops-add,.param-arr-ops .param-arr-ops-del{display:flex;align-items:center;justify-content:center;width:30px;height:100%;border-radius:4px;color:#006FA7}.param-arr-ops .param-arr-ops-add:hover,.param-arr-ops .param-arr-ops-del:hover{background:rgba(0,0,0,0.1)}.param-arr-ops .param-arr-ops-del{color:#006FA7}.param-text{flex:1;display:flex;align-items:center;height:40px}.param-text.readonly{height:30px}.param-text-val{position:relative;z-index:1;margin:0}.param-expiries-value{padding:calc((40px - 20px) / 2) 0}.param-expiries-value.readonly{padding:calc((30px - 20px) / 2) 0}.param-expiries-value .param-number-range{margin:0 0 0 10px}.param-expiries-value .param-number-range-prefix{display:none}.param-expiries-value .param-number-suffix{padding:0 7px}.param-expiries-value-val{display:block}.param-expiries-value-val:after{content:';'}.param-expiries-value-inputs{display:grid;grid-row-gap:10px;grid-column-gap:10px;grid-template-rows:auto;grid-template-columns:auto auto auto auto}.param-expiries-value-inputs .param-expiries,.param-expiries-value-inputs .param-number-range,.param-expiries-value-inputs .param-arr-ops{height:30px;padding-top:0;padding-right:0;margin:0}.param-expiries-value-inputs .param-expiries.readonly,.param-expiries-value-inputs .param-number-range.readonly,.param-expiries-value-inputs .param-arr-ops.readonly{height:20px;line-height:18px}.param-expiries-value-inputs .param-expiries.readonly .param-expiries-val,.param-expiries-value-inputs .param-number-range.readonly .param-expiries-val,.param-expiries-value-inputs .param-arr-ops.readonly .param-expiries-val{margin-top:0}.param-expiries-value-inputs .param-expiries .param-expiries-placeholder,.param-expiries-value-inputs .param-expiries .param-expiries-val,.param-expiries-value-inputs .param-number-range .param-expiries-placeholder,.param-expiries-value-inputs .param-number-range .param-expiries-val,.param-expiries-value-inputs .param-arr-ops .param-expiries-placeholder,.param-expiries-value-inputs .param-arr-ops .param-expiries-val{margin-top:4px}.param-expiries-value-inputs .param-expiries .param-number-range-sep,.param-expiries-value-inputs .param-number-range .param-number-range-sep,.param-expiries-value-inputs .param-arr-ops .param-number-range-sep{margin:0 6px}.param-expiries-value-inputs .param-arr-ops{padding:0}.param-expiries-popover{padding:0 !important}.param-expiries-popover .ant-popover-arrow{display:none}.param-text-selector{position:relative;flex:1;max-width:100%;min-width:calc(7em + 24px + 2px);padding:calc((40px - 22px) / 2) calc(1em + 14px) calc((40px - 22px) / 2) 10px;line-height:0;border:1px solid #d9d9d9;border-radius:2px;cursor:pointer;background:#fff}.param-text-selector.readonly{padding:calc((30px - 20px) / 2) 0;border-color:transparent;overflow:initial;white-space:initial;cursor:default;background:transparent}.param-text-selector.readonly.multiple{white-space:pre-wrap}.param-text-selector.multiple{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.param-text-selector-arrow{position:absolute;top:50%;right:7px;margin:-0.5em 0 0;color:#d9d9d9 !important}.param-text-selector-val{display:inline-block;margin:0 6px 0 0;line-height:20px;white-space:initial;vertical-align:middle}.param-text-selector-placeholder{display:inline-block;margin:0 6px 0 0;line-height:20px;color:rgba(0,0,0,0.25);max-width:100%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;vertical-align:middle}.param-text-selector-multi-val{display:inline-block;margin:0 6px 0 0;padding:0 3px 0 8px;line-height:20px;border-radius:2px;background:rgba(0,0,0,0.1);vertical-align:middle}.param-text-selector-multi-val svg{display:inline-block;margin:0 0 0 4px;color:#999;cursor:pointer}.param-text-selector-popover .ant-popover-inner-content{max-height:50vh;overflow-y:auto}.param-text-selector-option{display:flex;align-items:center;justify-content:space-between;width:240px;margin:0 -16px;padding:0 16px;line-height:30px;color:rgba(51,51,51,0.6);cursor:pointer}.param-text-selector-option.param-text-selector-option-checked{font-weight:bold;color:#333}.param-text-selector-option.param-text-selector-option-disabled{cursor:not-allowed;opacity:0.5}.param-text-selector-option:hover{color:#333;background:rgba(0,0,0,0.1)}.param-text-selector-option svg{color:#57be6a}.param-renderer{box-sizing:border-box;margin:0;line-height:20px;color:#333}.param-renderer.readonly input,.param-renderer.readonly select,.param-renderer.readonly .select{padding:0;border:none;box-shadow:none}.param-renderer.readonly textarea{padding:calc((30px - 20px - 2px) / 2) 10px}.param-renderer *{box-sizing:border-box}.param-renderer textarea,.param-renderer input,.param-renderer select,.param-renderer .select{flex:1;width:50px;height:100%;padding:0 10px;border:1px solid #d9d9d9;border-radius:2px;outline:none;box-shadow:none;background:#fff}.param-renderer textarea::placeholder,.param-renderer input::placeholder,.param-renderer select::placeholder,.param-renderer .select::placeholder{color:rgba(0,0,0,0.25)}.param-renderer textarea:hover,.param-renderer input:hover,.param-renderer select:hover,.param-renderer .select:hover{border-color:#006FA7}.param-renderer textarea:focus,.param-renderer input:focus,.param-renderer select:focus,.param-renderer .select:focus{border-color:#006FA7;box-shadow:0 0 0 2px rgba(0,111,167,0.1)}.param-renderer textarea{width:100%;padding:calc((40px - 20px - 2px) / 2) 10px}
@@ -8,6 +8,7 @@
8
8
  @import './TextArray';
9
9
  @import './Text';
10
10
  @import './ExpiriesValue';
11
+ @import './TextSelector';
11
12
 
12
13
  .param-renderer {
13
14
  box-sizing: border-box;
package/lib/es/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Bundle of @signalplus/params-about
3
- * Generated: 2023-08-21
4
- * Version: 1.0.8
3
+ * Generated: 2024-01-10
4
+ * Version: 1.0.9-alpha
5
5
  * License: MIT
6
6
  * Author: 2631541504@qq.com
7
7
  */
@@ -12,8 +12,8 @@ import dayjs from 'dayjs';
12
12
  import Big from 'big.js';
13
13
  import { PlusOutlined, DeleteOutlined, CloseOutlined, CheckOutlined, DownOutlined } from '@ant-design/icons';
14
14
  import { Popover, Cascader, Input, Select, Form, Button, message, Modal } from 'antd';
15
+ import { isArray, isEqual } from 'lodash-es';
15
16
  import ReactGlobalComp from 'react-global-comp';
16
- import { isEqual } from 'lodash-es';
17
17
  import ReactFileInput from '@livelybone/react-file-input';
18
18
  import { useRequest } from 'ahooks';
19
19
 
@@ -195,6 +195,9 @@ var ParamType;
195
195
  ParamType[ParamType["Text"] = 9] = "Text";
196
196
  ParamType[ParamType["ExpiryValue"] = 10] = "ExpiryValue";
197
197
  ParamType[ParamType["InstrumentValue"] = 11] = "InstrumentValue";
198
+ ParamType[ParamType["TextNumberList"] = 12] = "TextNumberList";
199
+ ParamType[ParamType["TextPercentageList"] = 13] = "TextPercentageList";
200
+ ParamType[ParamType["HardLimitHandler"] = 15] = "HardLimitHandler";
198
201
  })(ParamType || (ParamType = {}));
199
202
 
200
203
  function _arrayWithHoles(arr) {
@@ -1581,6 +1584,390 @@ var Text = /*#__PURE__*/function (_PureComponent) {
1581
1584
  return Text;
1582
1585
  }(PureComponent);
1583
1586
 
1587
+ var TextValueList = /*#__PURE__*/function (_PureComponent) {
1588
+ _inherits(TextValueList, _PureComponent);
1589
+
1590
+ var _super = _createSuper(TextValueList);
1591
+
1592
+ function TextValueList() {
1593
+ var _this;
1594
+
1595
+ _classCallCheck(this, TextValueList);
1596
+
1597
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
1598
+ args[_key] = arguments[_key];
1599
+ }
1600
+
1601
+ _this = _super.call.apply(_super, [this].concat(args));
1602
+
1603
+ _defineProperty(_assertThisInitialized(_this), "value", []);
1604
+
1605
+ _defineProperty(_assertThisInitialized(_this), "isEmptyItem", function (item) {
1606
+ var _item$key;
1607
+
1608
+ return !((_item$key = item.key) === null || _item$key === void 0 ? void 0 : _item$key.trim()) && isNullLike(item.value);
1609
+ });
1610
+
1611
+ _defineProperty(_assertThisInitialized(_this), "onChange", function (i, val, key) {
1612
+ var _this$props$onChange, _this$props;
1613
+
1614
+ var value = _toConsumableArray(_this.value);
1615
+
1616
+ if (!value[i]) value[i] = {
1617
+ key: ''
1618
+ };
1619
+ if (key) value[i][key] = val;else value[i] = _objectSpread2(_objectSpread2({}, value[i]), val);
1620
+ (_this$props$onChange = (_this$props = _this.props).onChange) === null || _this$props$onChange === void 0 ? void 0 : _this$props$onChange.call(_this$props, value.length === 1 && _this.isEmptyItem(value[0]) ? [] : value);
1621
+ });
1622
+
1623
+ _defineProperty(_assertThisInitialized(_this), "onAdd", function (i) {
1624
+ var _this$props$onChange2, _this$props2, _this$props$onBlur, _this$props3;
1625
+
1626
+ var value = _toConsumableArray(_this.value);
1627
+
1628
+ value.splice(i + 1, 0, {
1629
+ key: ''
1630
+ });
1631
+ (_this$props$onChange2 = (_this$props2 = _this.props).onChange) === null || _this$props$onChange2 === void 0 ? void 0 : _this$props$onChange2.call(_this$props2, value);
1632
+ (_this$props$onBlur = (_this$props3 = _this.props).onBlur) === null || _this$props$onBlur === void 0 ? void 0 : _this$props$onBlur.call(_this$props3);
1633
+ });
1634
+
1635
+ _defineProperty(_assertThisInitialized(_this), "onDel", function (i) {
1636
+ var _this$props$onChange3, _this$props4, _this$props$onBlur2, _this$props5;
1637
+
1638
+ var value = _toConsumableArray(_this.value);
1639
+
1640
+ value.splice(i, 1);
1641
+ (_this$props$onChange3 = (_this$props4 = _this.props).onChange) === null || _this$props$onChange3 === void 0 ? void 0 : _this$props$onChange3.call(_this$props4, value.length === 1 && _this.isEmptyItem(value[0]) ? [] : value);
1642
+ (_this$props$onBlur2 = (_this$props5 = _this.props).onBlur) === null || _this$props$onBlur2 === void 0 ? void 0 : _this$props$onBlur2.call(_this$props5);
1643
+ });
1644
+
1645
+ return _this;
1646
+ }
1647
+
1648
+ _createClass(TextValueList, [{
1649
+ key: "render",
1650
+ value: function render() {
1651
+ var _this$props$value,
1652
+ _this2 = this;
1653
+
1654
+ this.value = this.props.value || [];
1655
+ if (!this.value.length) this.value.push({
1656
+ key: ''
1657
+ });
1658
+ return /*#__PURE__*/React.createElement("div", {
1659
+ className: classNames('param-expiries-limit', {
1660
+ readonly: this.props.readonly
1661
+ }, this.props.className),
1662
+ style: this.props.style
1663
+ }, this.props.readonly ? ((_this$props$value = this.props.value) === null || _this$props$value === void 0 ? void 0 : _this$props$value.length) ? this.value.filter(function (it) {
1664
+ return it.key;
1665
+ }).map(function (it, i) {
1666
+ return /*#__PURE__*/React.createElement("span", {
1667
+ className: "param-expiries-limit-val",
1668
+ key: i
1669
+ }, it.key, /*#__PURE__*/React.createElement("span", {
1670
+ className: "param-expiries-limit-val-sep"
1671
+ }, "/"), !isNullLike(it.value) ? it.value : '-');
1672
+ }) : '-' : /*#__PURE__*/React.createElement("div", {
1673
+ className: "param-expiries-limit-inputs"
1674
+ }, /*#__PURE__*/React.createElement("div", {
1675
+ className: "param-expiries readonly"
1676
+ }, /*#__PURE__*/React.createElement("span", {
1677
+ className: "param-expiries-val"
1678
+ }, "Text")), /*#__PURE__*/React.createElement("div", {
1679
+ className: "param-number-range readonly"
1680
+ }, "Value"), /*#__PURE__*/React.createElement("div", {
1681
+ className: "param-arr-ops readonly"
1682
+ }), /*#__PURE__*/React.createElement("div", {
1683
+ className: "param-arr-ops readonly"
1684
+ }), this.value.map(function (it, i) {
1685
+ return /*#__PURE__*/React.createElement(React.Fragment, {
1686
+ key: i
1687
+ }, /*#__PURE__*/React.createElement("input", {
1688
+ style: {
1689
+ width: 200
1690
+ },
1691
+ className: "param-text-val",
1692
+ type: "text",
1693
+ placeholder: _this2.props.placeholder || 'Text',
1694
+ value: it.key,
1695
+ onChange: function onChange(e) {
1696
+ return _this2.onChange(i, e.target.value, 'key');
1697
+ },
1698
+ onBlur: _this2.props.onBlur,
1699
+ autoComplete: "off"
1700
+ }), /*#__PURE__*/React.createElement(Num, {
1701
+ style: {
1702
+ height: 30,
1703
+ width: 180
1704
+ },
1705
+ value: it.value,
1706
+ onChange: function onChange(val) {
1707
+ return _this2.onChange(i, {
1708
+ value: val
1709
+ });
1710
+ },
1711
+ onBlur: _this2.props.onBlur,
1712
+ isPercentage: _this2.props.isPercentage
1713
+ }), /*#__PURE__*/React.createElement("div", {
1714
+ className: "param-arr-ops readonly"
1715
+ }), /*#__PURE__*/React.createElement("div", {
1716
+ className: "param-arr-ops"
1717
+ }, /*#__PURE__*/React.createElement(PlusOutlined, {
1718
+ className: "param-arr-ops-add",
1719
+ onClick: _this2.onAdd.bind(null, i)
1720
+ }), /*#__PURE__*/React.createElement(DeleteOutlined, {
1721
+ className: "param-arr-ops-del",
1722
+ onClick: _this2.onDel.bind(null, i)
1723
+ })));
1724
+ })));
1725
+ }
1726
+ }]);
1727
+
1728
+ return TextValueList;
1729
+ }(PureComponent);
1730
+
1731
+ var TextSelector = /*#__PURE__*/function (_PureComponent) {
1732
+ _inherits(TextSelector, _PureComponent);
1733
+
1734
+ var _super = _createSuper(TextSelector);
1735
+
1736
+ function TextSelector() {
1737
+ var _this;
1738
+
1739
+ _classCallCheck(this, TextSelector);
1740
+
1741
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
1742
+ args[_key] = arguments[_key];
1743
+ }
1744
+
1745
+ _this = _super.call.apply(_super, [this].concat(args));
1746
+
1747
+ _defineProperty(_assertThisInitialized(_this), "state", {
1748
+ visible: false
1749
+ });
1750
+
1751
+ _defineProperty(_assertThisInitialized(_this), "handleVisibleChange", function (visible) {
1752
+ return _this.setState({
1753
+ visible: visible
1754
+ });
1755
+ });
1756
+
1757
+ _defineProperty(_assertThisInitialized(_this), "onChange", function (val) {
1758
+ var _this$props$value, _this$props$onChange, _this$props, _this$props$onBlur, _this$props2;
1759
+
1760
+ var value = _toConsumableArray(((_this$props$value = _this.props.value) === null || _this$props$value === void 0 ? void 0 : _this$props$value.filter(function (item) {
1761
+ var _this$props$options;
1762
+
1763
+ return (_this$props$options = _this.props.options) === null || _this$props$options === void 0 ? void 0 : _this$props$options.includes(item);
1764
+ })) || []);
1765
+
1766
+ if (_this.props.multiple !== false) {
1767
+ var index = value.findIndex(function (it) {
1768
+ return it === val;
1769
+ });
1770
+ if (index > -1) value.splice(index, 1);else value.push(val);
1771
+ } else {
1772
+ value = [val];
1773
+ }
1774
+
1775
+ (_this$props$onChange = (_this$props = _this.props).onChange) === null || _this$props$onChange === void 0 ? void 0 : _this$props$onChange.call(_this$props, value);
1776
+ (_this$props$onBlur = (_this$props2 = _this.props).onBlur) === null || _this$props$onBlur === void 0 ? void 0 : _this$props$onBlur.call(_this$props2);
1777
+ if (_this.props.multiple === false) _this.handleVisibleChange(false);
1778
+ });
1779
+
1780
+ return _this;
1781
+ }
1782
+
1783
+ _createClass(TextSelector, [{
1784
+ key: "renderValue",
1785
+ value: function renderValue() {
1786
+ var _this$props$value2,
1787
+ _this2 = this;
1788
+
1789
+ var value = (_this$props$value2 = this.props.value) === null || _this$props$value2 === void 0 ? void 0 : _this$props$value2.filter(function (it) {
1790
+ return it && !isExpired(it);
1791
+ });
1792
+
1793
+ if (this.props.readonly) {
1794
+ return /*#__PURE__*/React.createElement("span", {
1795
+ className: "param-expiries-val"
1796
+ }, (value === null || value === void 0 ? void 0 : value.join(', ')) || '-');
1797
+ }
1798
+
1799
+ var placeholder = /*#__PURE__*/React.createElement("span", {
1800
+ className: "param-expiries-placeholder",
1801
+ style: {
1802
+ marginTop: 10
1803
+ }
1804
+ }, "Choose");
1805
+
1806
+ if (this.props.multiple === false) {
1807
+ var _this$props$value3;
1808
+
1809
+ var _val = (_this$props$value3 = this.props.value) === null || _this$props$value3 === void 0 ? void 0 : _this$props$value3[0];
1810
+
1811
+ return !_val || isExpired(_val) ? placeholder : /*#__PURE__*/React.createElement("span", {
1812
+ className: "param-expiries-val"
1813
+ }, _val);
1814
+ }
1815
+
1816
+ if (!(value === null || value === void 0 ? void 0 : value.length)) return placeholder;
1817
+ return value.map(function (it) {
1818
+ return /*#__PURE__*/React.createElement("span", {
1819
+ className: "param-expiries-multi-val",
1820
+ key: it,
1821
+ onClick: function onClick(e) {
1822
+ return e.stopPropagation();
1823
+ }
1824
+ }, it, /*#__PURE__*/React.createElement(CloseOutlined, {
1825
+ onClick: _this2.onChange.bind(null, it)
1826
+ }));
1827
+ });
1828
+ }
1829
+ }, {
1830
+ key: "render",
1831
+ value: function render() {
1832
+ var _this$props$options2,
1833
+ _this3 = this;
1834
+
1835
+ return /*#__PURE__*/React.createElement(Popover, {
1836
+ overlayClassName: "param-expiries-popover",
1837
+ trigger: 'click',
1838
+ placement: 'bottomLeft',
1839
+ visible: !this.props.readonly && this.state.visible,
1840
+ onVisibleChange: this.handleVisibleChange,
1841
+ content: (_this$props$options2 = this.props.options) === null || _this$props$options2 === void 0 ? void 0 : _this$props$options2.map(function (it) {
1842
+ var _this3$props$value, _this3$props$calcDisa, _this3$props, _this3$onChange;
1843
+
1844
+ var checked = (_this3$props$value = _this3.props.value) === null || _this3$props$value === void 0 ? void 0 : _this3$props$value.includes(it);
1845
+ var disabled = (_this3$props$calcDisa = (_this3$props = _this3.props).calcDisabled) === null || _this3$props$calcDisa === void 0 ? void 0 : _this3$props$calcDisa.call(_this3$props, it);
1846
+ return /*#__PURE__*/React.createElement("div", {
1847
+ className: classNames('param-expiries-option', {
1848
+ 'param-expiries-option-checked': checked,
1849
+ 'param-expiries-option-disabled': disabled
1850
+ }),
1851
+ key: it,
1852
+ onClick: disabled ? undefined : (_this3$onChange = _this3.onChange) === null || _this3$onChange === void 0 ? void 0 : _this3$onChange.bind(null, it)
1853
+ }, it, checked && /*#__PURE__*/React.createElement(CheckOutlined, null));
1854
+ })
1855
+ }, /*#__PURE__*/React.createElement("div", {
1856
+ className: classNames('param-expiries', {
1857
+ readonly: this.props.readonly,
1858
+ multiple: this.props.multiple !== false
1859
+ }, this.props.className),
1860
+ style: _objectSpread2(_objectSpread2({}, this.props.style), {}, {
1861
+ height: 40
1862
+ })
1863
+ }, this.renderValue(), !this.props.readonly && this.props.options && /*#__PURE__*/React.createElement(DownOutlined, {
1864
+ className: "param-expiries-arrow"
1865
+ })));
1866
+ }
1867
+ }]);
1868
+
1869
+ return TextSelector;
1870
+ }(PureComponent);
1871
+
1872
+ var HardLimitHandler = /*#__PURE__*/function (_PureComponent) {
1873
+ _inherits(HardLimitHandler, _PureComponent);
1874
+
1875
+ var _super = _createSuper(HardLimitHandler);
1876
+
1877
+ function HardLimitHandler() {
1878
+ var _this;
1879
+
1880
+ _classCallCheck(this, HardLimitHandler);
1881
+
1882
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
1883
+ args[_key] = arguments[_key];
1884
+ }
1885
+
1886
+ _this = _super.call.apply(_super, [this].concat(args));
1887
+
1888
+ _defineProperty(_assertThisInitialized(_this), "value", []);
1889
+
1890
+ _defineProperty(_assertThisInitialized(_this), "isEmptyItem", function (item) {
1891
+ var _item$name;
1892
+
1893
+ return !((_item$name = item.name) === null || _item$name === void 0 ? void 0 : _item$name.trim()) && isNullLike(item.protectThreshold) && isNullLike(item.wideningScaler);
1894
+ });
1895
+
1896
+ _defineProperty(_assertThisInitialized(_this), "onChange", function (key, val) {
1897
+ var _this$props$onChange, _this$props;
1898
+
1899
+ var value = _objectSpread2({}, _this.props.value);
1900
+
1901
+ value[key] = isArray(val) ? val[0] : val;
1902
+ (_this$props$onChange = (_this$props = _this.props).onChange) === null || _this$props$onChange === void 0 ? void 0 : _this$props$onChange.call(_this$props, value);
1903
+ });
1904
+
1905
+ return _this;
1906
+ }
1907
+
1908
+ _createClass(HardLimitHandler, [{
1909
+ key: "render",
1910
+ value: function render() {
1911
+ var _this$props$value,
1912
+ _this$props$value2,
1913
+ _this$props$value3,
1914
+ _this$props$value4,
1915
+ _this$props$value5,
1916
+ _this$props$value6,
1917
+ _this2 = this,
1918
+ _this$props$value7,
1919
+ _this$props$value8;
1920
+
1921
+ return /*#__PURE__*/React.createElement("div", {
1922
+ className: classNames('param-expiries-limit', {
1923
+ readonly: this.props.readonly
1924
+ }, this.props.className),
1925
+ style: this.props.style
1926
+ }, this.props.readonly ? /*#__PURE__*/React.createElement("span", {
1927
+ className: "param-expiries-limit-val"
1928
+ }, (_this$props$value = this.props.value) === null || _this$props$value === void 0 ? void 0 : _this$props$value.name, /*#__PURE__*/React.createElement("span", {
1929
+ className: "param-expiries-limit-val-sep"
1930
+ }, "/"), !isNullLike((_this$props$value2 = this.props.value) === null || _this$props$value2 === void 0 ? void 0 : _this$props$value2.protectThreshold) ? "".concat((_this$props$value3 = this.props.value) === null || _this$props$value3 === void 0 ? void 0 : _this$props$value3.protectThreshold, "%") : '-', /*#__PURE__*/React.createElement("span", {
1931
+ className: "param-expiries-limthis.props.value?-val-sep"
1932
+ }, "/"), !isNullLike((_this$props$value4 = this.props.value) === null || _this$props$value4 === void 0 ? void 0 : _this$props$value4.wideningScaler) ? "".concat((_this$props$value5 = this.props.value) === null || _this$props$value5 === void 0 ? void 0 : _this$props$value5.wideningScaler, "%") : '-') : /*#__PURE__*/React.createElement("div", {
1933
+ className: "param-expiries-limit-inputs"
1934
+ }, /*#__PURE__*/React.createElement("div", {
1935
+ className: "param-expiries readonly"
1936
+ }, /*#__PURE__*/React.createElement("span", {
1937
+ className: "param-expiries-val"
1938
+ }, "Name")), /*#__PURE__*/React.createElement("div", {
1939
+ className: "param-number-range readonly"
1940
+ }, "ProtectThreshold(%)"), /*#__PURE__*/React.createElement("div", {
1941
+ className: "param-number-range readonly"
1942
+ }, "WideningScaler(%)"), /*#__PURE__*/React.createElement("div", {
1943
+ className: "param-arr-ops readonly"
1944
+ }), /*#__PURE__*/React.createElement(TextSelector, {
1945
+ multiple: false,
1946
+ value: [((_this$props$value6 = this.props.value) === null || _this$props$value6 === void 0 ? void 0 : _this$props$value6.name) || ''],
1947
+ onChange: function onChange(val) {
1948
+ return _this2.onChange('name', val);
1949
+ } // onBlur={this.props.onBlur}
1950
+ ,
1951
+ options: ['OneWayQuote', 'OneWayWider', 'TwoWayWider', 'Nothing']
1952
+ }), /*#__PURE__*/React.createElement(Num, {
1953
+ value: (_this$props$value7 = this.props.value) === null || _this$props$value7 === void 0 ? void 0 : _this$props$value7.protectThreshold,
1954
+ onChange: function onChange(val) {
1955
+ return _this2.onChange('protectThreshold', val);
1956
+ },
1957
+ isPercentage: true
1958
+ }), /*#__PURE__*/React.createElement(Num, {
1959
+ value: (_this$props$value8 = this.props.value) === null || _this$props$value8 === void 0 ? void 0 : _this$props$value8.wideningScaler,
1960
+ onChange: function onChange(val) {
1961
+ return _this2.onChange('wideningScaler', val);
1962
+ },
1963
+ isPercentage: true
1964
+ })));
1965
+ }
1966
+ }]);
1967
+
1968
+ return HardLimitHandler;
1969
+ }(PureComponent);
1970
+
1584
1971
  var _ParamTypeConfig;
1585
1972
  var ParamTypeConfig = (_ParamTypeConfig = {}, _defineProperty(_ParamTypeConfig, ParamType.ParamGroup, {
1586
1973
  name: '参数组',
@@ -1744,6 +2131,76 @@ var ParamTypeConfig = (_ParamTypeConfig = {}, _defineProperty(_ParamTypeConfig,
1744
2131
  return '';
1745
2132
  },
1746
2133
  sort: 11
2134
+ }), _defineProperty(_ParamTypeConfig, ParamType.TextNumberList, {
2135
+ name: '文本列表+普通数值',
2136
+ key: 'textNumberList',
2137
+ Comp: TextValueList,
2138
+ validator: function validator($val) {
2139
+ if (!($val === null || $val === void 0 ? void 0 : $val.length)) return '';
2140
+
2141
+ for (var i = 0; i < $val.length; i++) {
2142
+ var val = $val[i];
2143
+ if (isNullLike(val.key) && isNullLike(val.value)) return '';
2144
+
2145
+ if (isNullLike(val.key) && !isNullLike(val.value)) {
2146
+ return "The ".concat(i + 1).concat(i === 0 ? 'st' : i === 1 ? 'nd' : i === 2 ? 'rd' : 'th', " item: key should not be empty");
2147
+ }
2148
+
2149
+ if (!isNullLike(val.key) && isNullLike(val.value)) {
2150
+ return "The ".concat(i + 1).concat(i === 0 ? 'st' : i === 1 ? 'nd' : i === 2 ? 'rd' : 'th', " item: value should not be empty");
2151
+ }
2152
+ }
2153
+
2154
+ return '';
2155
+ },
2156
+ sort: 12
2157
+ }), _defineProperty(_ParamTypeConfig, ParamType.TextPercentageList, {
2158
+ name: '文本列表+百分比数值',
2159
+ key: 'textPercentageList',
2160
+ Comp: function Comp(props) {
2161
+ return /*#__PURE__*/React.createElement(TextValueList, Object.assign({}, props, {
2162
+ isPercentage: true
2163
+ }));
2164
+ },
2165
+ validator: function validator($val) {
2166
+ if (!($val === null || $val === void 0 ? void 0 : $val.length)) return '';
2167
+
2168
+ for (var i = 0; i < $val.length; i++) {
2169
+ var val = $val[i];
2170
+ if (isNullLike(val.key) && isNullLike(val.value)) return '';
2171
+
2172
+ if (isNullLike(val.key) && !isNullLike(val.value)) {
2173
+ return "The ".concat(i + 1).concat(i === 0 ? 'st' : i === 1 ? 'nd' : i === 2 ? 'rd' : 'th', " item: key should not be empty");
2174
+ }
2175
+
2176
+ if (!isNullLike(val.key) && isNullLike(val.value)) {
2177
+ return "The ".concat(i + 1).concat(i === 0 ? 'st' : i === 1 ? 'nd' : i === 2 ? 'rd' : 'th', " item: value should not be empty");
2178
+ }
2179
+ }
2180
+
2181
+ return '';
2182
+ },
2183
+ sort: 13
2184
+ }), _defineProperty(_ParamTypeConfig, ParamType.HardLimitHandler, {
2185
+ name: 'HardLimitHandler',
2186
+ key: 'hardLimitHandler',
2187
+ Comp: HardLimitHandler,
2188
+ validator: function validator($val) {
2189
+ if (isNullLike($val.name)) {
2190
+ return "The Name should not be empty";
2191
+ }
2192
+
2193
+ if (isNullLike($val.protectThreshold)) {
2194
+ return "The ProtectThreshold should not be empty";
2195
+ }
2196
+
2197
+ if (isNullLike($val.wideningScaler)) {
2198
+ return "The WideningScaler should not be empty";
2199
+ }
2200
+
2201
+ return '';
2202
+ },
2203
+ sort: 14
1747
2204
  }), _ParamTypeConfig);
1748
2205
  function paramValidator(val, values, enableEmpty) {
1749
2206
  var _config$validator;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@signalplus/params-about",
3
- "version": "1.0.8",
3
+ "version": "1.0.9-alpha",
4
4
  "description": "A description for the module",
5
5
  "main": "./lib/umd/index.js",
6
6
  "module": "./lib/es/index.js",