@harjs/react-ui 1.1.10 → 1.1.11
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/dist/assets/css/components/data-display/chip/styles.css +1 -0
- package/dist/assets/css/components/form/checkbox/color.checked.css +1020 -1024
- package/dist/assets/css/components/form/checkbox/color.radio-checked.css +1150 -1154
- package/dist/assets/css/components/form/checkbox/color.radio-unchecked.css +727 -735
- package/dist/assets/css/components/form/checkbox/color.unchecked.css +727 -735
- package/dist/assets/css/components/form/checkbox/css.cjs +4 -4
- package/dist/assets/css/components/form/input/addon.css +19 -15
- package/dist/assets/css/components/form/input/color.addon.css +511 -0
- package/dist/assets/css/components/form/input/css.cjs +4 -0
- package/dist/assets/css/components/form/input/styles.css +7 -0
- package/dist/assets/css/components/form/input/templates/color.addon.template.css +50 -0
- package/dist/assets/css/components/form/select/color.css +635 -0
- package/dist/assets/css/components/form/select/css.cjs +43 -0
- package/dist/assets/css/components/form/select/options.css +121 -100
- package/dist/assets/css/components/form/select/radius.css +45 -0
- package/dist/assets/css/components/form/select/size.css +35 -0
- package/dist/assets/css/components/form/select/styles.css +8 -6
- package/dist/assets/css/components/form/select/templates/color.template.css +62 -0
- package/dist/assets/css/components/form/select/templates/radius.template.css +3 -0
- package/dist/assets/css/components/form/select/templates/size.template.css +4 -0
- package/dist/components/form/checkbox/index.js +1 -3
- package/dist/components/form/input/index.js +1 -1
- package/dist/components/form/select/index.js +33 -24
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
.
|
|
1
|
+
.har-select-options {
|
|
2
2
|
visibility: hidden;
|
|
3
3
|
opacity: 0;
|
|
4
4
|
position: absolute;
|
|
@@ -13,108 +13,129 @@
|
|
|
13
13
|
visibility 250ms,
|
|
14
14
|
opacity 250ms,
|
|
15
15
|
transform 250ms ease-in-out;
|
|
16
|
-
}
|
|
17
|
-
.ar-select-options.top {
|
|
18
|
-
box-shadow: 0 5px 15px -2.5px var(--black-10);
|
|
19
|
-
}
|
|
20
|
-
.ar-select-options.bottom {
|
|
21
|
-
box-shadow: 0 -5px 15px -2.5px var(--black-10);
|
|
22
|
-
}
|
|
23
16
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
}
|
|
17
|
+
&.top {
|
|
18
|
+
box-shadow: 0 5px 15px -2.5px var(--black-10);
|
|
19
|
+
}
|
|
28
20
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
overflow-x: hidden;
|
|
33
|
-
overflow-y: auto;
|
|
34
|
-
}
|
|
35
|
-
.ar-select-options > ul > li {
|
|
36
|
-
display: flex;
|
|
37
|
-
align-items: center;
|
|
38
|
-
gap: 0 0.5rem;
|
|
39
|
-
padding: 0 1rem;
|
|
40
|
-
height: var(--input-height);
|
|
41
|
-
cursor: pointer;
|
|
42
|
-
}
|
|
43
|
-
.ar-select-options > ul > li:hover {
|
|
44
|
-
background-color: var(--gray-200);
|
|
45
|
-
}
|
|
46
|
-
.ar-select-options > ul > li.selectedItem {
|
|
47
|
-
/* background-color: rgba(var(--success-rgb), 0.1); */
|
|
48
|
-
}
|
|
49
|
-
.ar-select-options > ul > li.navigate-with-arrow-keys {
|
|
50
|
-
background-color: var(--gray-100);
|
|
51
|
-
}
|
|
21
|
+
&.bottom {
|
|
22
|
+
box-shadow: 0 -5px 15px -2.5px var(--black-10);
|
|
23
|
+
}
|
|
52
24
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
}
|
|
58
|
-
.ar-select-options > ul > li > .no-options-field {
|
|
59
|
-
padding: 0 !important;
|
|
60
|
-
}
|
|
61
|
-
.ar-select-options > .no-options-field > .text,
|
|
62
|
-
.ar-select-options > ul > li > .no-options-field > .text {
|
|
63
|
-
color: var(--gray-500);
|
|
64
|
-
}
|
|
65
|
-
.ar-select-options > .no-options-field > .add-item,
|
|
66
|
-
.ar-select-options > ul > li > .no-options-field > .add-item {
|
|
67
|
-
display: flex;
|
|
68
|
-
align-items: center;
|
|
69
|
-
position: relative;
|
|
70
|
-
background-color: rgba(var(--primary-rgb), 0.05);
|
|
71
|
-
padding: 0.25rem 0.5rem;
|
|
72
|
-
border-radius: var(--radius-4);
|
|
73
|
-
border-left: solid 2px var(--primary);
|
|
74
|
-
color: var(--primary);
|
|
75
|
-
cursor: pointer;
|
|
76
|
-
}
|
|
77
|
-
.ar-select-options > .no-options-field > .add-item::before,
|
|
78
|
-
.ar-select-options > ul > li > .no-options-field > .add-item::before {
|
|
79
|
-
position: absolute;
|
|
80
|
-
top: 50%;
|
|
81
|
-
transform: translateY(-50%);
|
|
82
|
-
left: 0;
|
|
83
|
-
content: "";
|
|
84
|
-
border: solid 5px transparent;
|
|
85
|
-
border-left-color: var(--primary);
|
|
86
|
-
}
|
|
87
|
-
.ar-select-options > .no-options-field > .add-item > .plus,
|
|
88
|
-
.ar-select-options > ul > li > .no-options-field > .add-item > .plus {
|
|
89
|
-
display: inline-block;
|
|
90
|
-
position: relative;
|
|
91
|
-
background-color: var(--primary);
|
|
92
|
-
min-width: 1rem;
|
|
93
|
-
height: 1rem;
|
|
94
|
-
margin-right: 0.25rem;
|
|
95
|
-
border-radius: var(--radius-full);
|
|
96
|
-
color: var(--white-100);
|
|
97
|
-
text-align: center;
|
|
98
|
-
line-height: 1rem;
|
|
99
|
-
}
|
|
25
|
+
> .search-field {
|
|
26
|
+
padding: 0.5rem;
|
|
27
|
+
border-bottom: solid 1px var(--gray-200);
|
|
28
|
+
}
|
|
100
29
|
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
30
|
+
> .no-options-field {
|
|
31
|
+
width: 100%;
|
|
32
|
+
padding: 0.5rem 1rem;
|
|
33
|
+
|
|
34
|
+
> .text {
|
|
35
|
+
color: var(--gray-500);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
> .add-item {
|
|
39
|
+
display: flex;
|
|
40
|
+
align-items: center;
|
|
41
|
+
position: relative;
|
|
42
|
+
background-color: rgba(var(--primary-rgb), 0.05);
|
|
43
|
+
padding: 0.25rem 0.5rem;
|
|
44
|
+
border-radius: var(--radius-4);
|
|
45
|
+
border-left: solid 2px var(--primary);
|
|
46
|
+
color: var(--primary);
|
|
47
|
+
cursor: pointer;
|
|
48
|
+
|
|
49
|
+
&::before {
|
|
50
|
+
position: absolute;
|
|
51
|
+
top: 50%;
|
|
52
|
+
transform: translateY(-50%);
|
|
53
|
+
left: 0;
|
|
54
|
+
content: "";
|
|
55
|
+
border: solid 5px transparent;
|
|
56
|
+
border-left-color: var(--primary);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
> .plus {
|
|
60
|
+
display: inline-block;
|
|
61
|
+
position: relative;
|
|
62
|
+
background-color: var(--primary);
|
|
63
|
+
min-width: 1rem;
|
|
64
|
+
height: 1rem;
|
|
65
|
+
margin-right: 0.25rem;
|
|
66
|
+
border-radius: var(--radius-full);
|
|
67
|
+
color: var(--white-100);
|
|
68
|
+
text-align: center;
|
|
69
|
+
line-height: 1rem;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
> ul {
|
|
75
|
+
width: 100%;
|
|
76
|
+
max-height: calc(var(--input-height) * 5);
|
|
77
|
+
overflow-x: hidden;
|
|
78
|
+
overflow-y: auto;
|
|
79
|
+
|
|
80
|
+
> li {
|
|
81
|
+
display: flex;
|
|
82
|
+
align-items: center;
|
|
83
|
+
gap: 0 0.5rem;
|
|
84
|
+
padding: 0 1rem;
|
|
85
|
+
height: var(--input-height);
|
|
86
|
+
cursor: pointer;
|
|
87
|
+
|
|
88
|
+
&:hover {
|
|
89
|
+
background-color: var(--gray-200);
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
&.navigate-with-arrow-keys {
|
|
93
|
+
background-color: var(--gray-100);
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
> .no-options-field {
|
|
97
|
+
width: 100%;
|
|
98
|
+
padding: 0;
|
|
99
|
+
|
|
100
|
+
> .text {
|
|
101
|
+
color: var(--gray-500);
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
> .add-item {
|
|
105
|
+
display: flex;
|
|
106
|
+
align-items: center;
|
|
107
|
+
position: relative;
|
|
108
|
+
background-color: rgba(var(--primary-rgb), 0.05);
|
|
109
|
+
padding: 0.25rem 0.5rem;
|
|
110
|
+
border-radius: var(--radius-4);
|
|
111
|
+
border-left: solid 2px var(--primary);
|
|
112
|
+
color: var(--primary);
|
|
113
|
+
cursor: pointer;
|
|
114
|
+
|
|
115
|
+
&::before {
|
|
116
|
+
position: absolute;
|
|
117
|
+
top: 50%;
|
|
118
|
+
transform: translateY(-50%);
|
|
119
|
+
left: 0;
|
|
120
|
+
content: "";
|
|
121
|
+
border: solid 5px transparent;
|
|
122
|
+
border-left-color: var(--primary);
|
|
123
|
+
}
|
|
112
124
|
|
|
113
|
-
.
|
|
114
|
-
|
|
115
|
-
|
|
125
|
+
> .plus {
|
|
126
|
+
display: inline-block;
|
|
127
|
+
position: relative;
|
|
128
|
+
background-color: var(--primary);
|
|
129
|
+
min-width: 1rem;
|
|
130
|
+
height: 1rem;
|
|
131
|
+
margin-right: 0.25rem;
|
|
132
|
+
border-radius: var(--radius-full);
|
|
133
|
+
color: var(--white-100);
|
|
134
|
+
text-align: center;
|
|
135
|
+
line-height: 1rem;
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
}
|
|
116
141
|
}
|
|
117
|
-
.ar-select-options.bottom:is(.opened, .closed),
|
|
118
|
-
.ar-select-options.bottom:is(.opened, .closed) {
|
|
119
|
-
transform-origin: bottom;
|
|
120
|
-
} */
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
.har-select {
|
|
2
|
+
> .wrapper {
|
|
3
|
+
> .selections {
|
|
4
|
+
&.radius-0 {
|
|
5
|
+
border-radius: var(--radius-0);
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
&.radius-2 {
|
|
9
|
+
border-radius: var(--radius-2);
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
&.radius-4 {
|
|
13
|
+
border-radius: var(--radius-4);
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
&.radius-6 {
|
|
17
|
+
border-radius: var(--radius-6);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
&.radius-8 {
|
|
21
|
+
border-radius: var(--radius-8);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
&.radius-12 {
|
|
25
|
+
border-radius: var(--radius-12);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
&.radius-16 {
|
|
29
|
+
border-radius: var(--radius-16);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
&.radius-20 {
|
|
33
|
+
border-radius: var(--radius-20);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
&.radius-40 {
|
|
37
|
+
border-radius: var(--radius-40);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
&.radius-full {
|
|
41
|
+
border-radius: var(--radius-full);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
.har-select {
|
|
2
|
+
> .wrapper {
|
|
3
|
+
> .selections {
|
|
4
|
+
&.size-xs {
|
|
5
|
+
min-height: 2rem !important;
|
|
6
|
+
font-size: 0.75rem;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
&.size-sm {
|
|
10
|
+
min-height: 2.25rem !important;
|
|
11
|
+
font-size: 0.875rem;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
&.size-md {
|
|
15
|
+
min-height: 2.5rem !important;
|
|
16
|
+
font-size: 0.875rem;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
&.size-lg {
|
|
20
|
+
min-height: 2.75rem !important;
|
|
21
|
+
font-size: 1rem;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
&.size-xl {
|
|
25
|
+
min-height: 3rem !important;
|
|
26
|
+
font-size: 1rem;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
&.size-2xl {
|
|
30
|
+
min-height: 3.25rem !important;
|
|
31
|
+
font-size: 1.25rem;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
@@ -1,11 +1,14 @@
|
|
|
1
|
+
@import url("./color.css");
|
|
1
2
|
@import url("./options.css");
|
|
3
|
+
@import url("./radius.css");
|
|
4
|
+
@import url("./size.css");
|
|
2
5
|
|
|
3
|
-
.
|
|
6
|
+
.har-select-wrapper {
|
|
4
7
|
position: relative;
|
|
5
8
|
width: 100%;
|
|
6
9
|
user-select: none;
|
|
7
10
|
|
|
8
|
-
> .
|
|
11
|
+
> .har-select {
|
|
9
12
|
display: flex;
|
|
10
13
|
flex-direction: column;
|
|
11
14
|
gap: 0.25rem;
|
|
@@ -77,11 +80,11 @@
|
|
|
77
80
|
}
|
|
78
81
|
}
|
|
79
82
|
|
|
80
|
-
> .
|
|
83
|
+
> .har-input-wrapper {
|
|
81
84
|
white-space: nowrap;
|
|
82
85
|
text-overflow: ellipsis;
|
|
83
86
|
|
|
84
|
-
> .
|
|
87
|
+
> .har-input {
|
|
85
88
|
white-space: nowrap;
|
|
86
89
|
text-overflow: ellipsis;
|
|
87
90
|
|
|
@@ -148,7 +151,6 @@
|
|
|
148
151
|
top: calc(var(--input-height) / 2);
|
|
149
152
|
transform: translateY(-50%);
|
|
150
153
|
right: 2rem;
|
|
151
|
-
background-color: var(--black-30);
|
|
152
154
|
backdrop-filter: blur(5px);
|
|
153
155
|
width: 1rem;
|
|
154
156
|
height: 1rem;
|
|
@@ -169,7 +171,7 @@
|
|
|
169
171
|
|
|
170
172
|
&::before {
|
|
171
173
|
content: "x";
|
|
172
|
-
color: var(--
|
|
174
|
+
color: var(--red-500);
|
|
173
175
|
font-size: 0.75rem;
|
|
174
176
|
}
|
|
175
177
|
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
&.__COLOR__ {
|
|
2
|
+
&.filled {
|
|
3
|
+
background-color: var(--__COLOR__-100);
|
|
4
|
+
border: var(--stroke-1) solid var(--__COLOR__-300);
|
|
5
|
+
|
|
6
|
+
&:focus {
|
|
7
|
+
border: var(--stroke-1) solid var(--__COLOR__-500);
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
&::placeholder {
|
|
11
|
+
color: var(--__COLOR__-400);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
&.surface-borderless {
|
|
16
|
+
background-color: var(--__COLOR__-100);
|
|
17
|
+
|
|
18
|
+
&:focus {
|
|
19
|
+
background-color: transparent;
|
|
20
|
+
box-shadow: 0 0 0 2.5px var(--__COLOR__-200);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
&::placeholder {
|
|
24
|
+
color: var(--__COLOR__-400);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
&.outlined {
|
|
29
|
+
background-color: transparent;
|
|
30
|
+
border: var(--stroke-1) solid var(--__COLOR__-300);
|
|
31
|
+
|
|
32
|
+
&:focus {
|
|
33
|
+
box-shadow: 0 0 0 2.5px var(--__COLOR__-200);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
&::placeholder {
|
|
37
|
+
color: var(--__COLOR__-400);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
&.dashed {
|
|
42
|
+
background-color: transparent;
|
|
43
|
+
border: var(--stroke-1) dashed var(--__COLOR__-300);
|
|
44
|
+
|
|
45
|
+
&:focus {
|
|
46
|
+
box-shadow: 0 0 0 2.5px var(--__COLOR__-200);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
&::placeholder {
|
|
50
|
+
color: var(--__COLOR__-400);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
&.borderless {
|
|
55
|
+
background-color: transparent;
|
|
56
|
+
border: var(--stroke-1) solid transparent;
|
|
57
|
+
|
|
58
|
+
&::placeholder {
|
|
59
|
+
color: var(--__COLOR__-400);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
@@ -7,9 +7,7 @@ const Checkbox = forwardRef(({ label, variant, color = "blue", border = { radius
|
|
|
7
7
|
const _checkbox = useRef(null);
|
|
8
8
|
const _checkboxClassName = ["har-checkbox"];
|
|
9
9
|
const _innerRef = useRef(null);
|
|
10
|
-
_checkboxClassName.push(...Utils.GetClassName(variant ?? "outlined", undefined, validation?.text ? "red" : (color ?? "blue"), border ?? { radius: "4" },
|
|
11
|
-
if (size)
|
|
12
|
-
_checkboxClassName.push(size);
|
|
10
|
+
_checkboxClassName.push(...Utils.GetClassName(variant ?? "outlined", undefined, validation?.text ? "red" : (color ?? "blue"), border ?? { radius: "4" }, size, undefined, attributes.className));
|
|
13
11
|
if (attributes.disabled)
|
|
14
12
|
_checkboxClassName.push("disabled");
|
|
15
13
|
// hooks
|
|
@@ -100,7 +100,7 @@ const BaseInput = forwardRef(({ children, variant = "outlined", color = "gray",
|
|
|
100
100
|
setLabelWidth(width);
|
|
101
101
|
}
|
|
102
102
|
}, [value, attributes.placeholder]);
|
|
103
|
-
return (React.createElement("div", { className: _wrapperClassName.map((c) => c).join(" ") },
|
|
103
|
+
return (React.createElement("div", { className: _wrapperClassName.map((c) => c).join(" "), ...(validation?.text ? { style: { marginBottom: "var(--space-20)" } } : {}) },
|
|
104
104
|
renderAddon("before"),
|
|
105
105
|
React.createElement("div", { className: "har-input" },
|
|
106
106
|
renderIcon() && React.createElement("div", { className: "icon-element" }, renderIcon()),
|
|
@@ -6,7 +6,9 @@ import Chip from "../../data-display/chip";
|
|
|
6
6
|
import Checkbox from "../checkbox";
|
|
7
7
|
import Utils from "../../../libs/infrastructure/shared/Utils";
|
|
8
8
|
import ReactDOM from "react-dom";
|
|
9
|
-
|
|
9
|
+
import Button from "../button";
|
|
10
|
+
const Select = ({ variant = "outlined", status, color = "gray", border = { radius: "4" }, size, style, options, value, onChange, onSearch, onClick, onCreate, multiple, placeholder, validation, upperCase, disabled, readOnly, config = { clear: true, validation: { text: "visible" } }, }) => {
|
|
11
|
+
const _mWrapperClassName = ["wrapper"];
|
|
10
12
|
const _selectionClassName = ["selections"];
|
|
11
13
|
// refs
|
|
12
14
|
const _arSelect = useRef(null);
|
|
@@ -28,7 +30,7 @@ const Select = ({ variant = "outlined", status, color = "gray", border = { radiu
|
|
|
28
30
|
// options referans kararlılığı için JSON key
|
|
29
31
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
30
32
|
const optionsKey = useMemo(() => JSON.stringify(options), [options]);
|
|
31
|
-
_selectionClassName.push(...Utils.GetClassName(variant, undefined, validation?.text ? "red" : "gray", border,
|
|
33
|
+
_selectionClassName.push(...Utils.GetClassName(variant, undefined, validation?.text ? "red" : "gray", border, size, undefined, undefined));
|
|
32
34
|
// methods
|
|
33
35
|
const handleClickOutSide = (event) => {
|
|
34
36
|
const target = event.target;
|
|
@@ -188,7 +190,6 @@ const Select = ({ variant = "outlined", status, color = "gray", border = { radiu
|
|
|
188
190
|
};
|
|
189
191
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
190
192
|
}, [optionsOpen]);
|
|
191
|
-
// arama metni değiştiğinde filtrele
|
|
192
193
|
useEffect(() => {
|
|
193
194
|
if (searchText.length > 0 && onSearch) {
|
|
194
195
|
onSearch(searchText);
|
|
@@ -227,9 +228,9 @@ const Select = ({ variant = "outlined", status, color = "gray", border = { radiu
|
|
|
227
228
|
});
|
|
228
229
|
}, [navigationIndex]);
|
|
229
230
|
const handleBlur = () => setOptionsOpen(false);
|
|
230
|
-
return (React.createElement("div", { ref: _arSelect, className: "
|
|
231
|
-
React.createElement("div", { ref: _multipleInput, className: "
|
|
232
|
-
multiple ? (React.createElement("div", { className: "
|
|
231
|
+
return (React.createElement("div", { ref: _arSelect, className: "har-select-wrapper" },
|
|
232
|
+
React.createElement("div", { ref: _multipleInput, className: "har-select" },
|
|
233
|
+
multiple ? (React.createElement("div", { className: _mWrapperClassName.map((c) => c).join(" ") },
|
|
233
234
|
React.createElement("div", { ...(value.length > 0
|
|
234
235
|
? {
|
|
235
236
|
style: {
|
|
@@ -249,13 +250,13 @@ const Select = ({ variant = "outlined", status, color = "gray", border = { radiu
|
|
|
249
250
|
onClick && onClick();
|
|
250
251
|
setOptionsOpen((prev) => !prev);
|
|
251
252
|
} },
|
|
252
|
-
React.createElement("div", { className: "items" }, value.map((_value, index) => (React.createElement(Chip, { key: index, variant: status?.selected?.variant || "filled", color: status?.selected?.color || status?.color, text: _value.text }))))),
|
|
253
|
+
React.createElement("div", { className: "items" }, value.map((_value, index) => (React.createElement(Chip, { key: index, variant: status?.selected?.variant || "filled", color: status?.selected?.color || status?.color, text: _value.text, size: size }))))),
|
|
253
254
|
React.createElement("span", { ref: _placeholder, className: `placeholder ${value.length > 0 ? "visible" : "hidden"}`, onClick: () => {
|
|
254
255
|
onClick && onClick();
|
|
255
256
|
setOptionsOpen((prev) => !prev);
|
|
256
257
|
} },
|
|
257
258
|
validation ? "* " : "",
|
|
258
|
-
placeholder))) : (React.createElement(Input, { ref: _singleInput, style: { ...style
|
|
259
|
+
placeholder))) : (React.createElement(Input, { ref: _singleInput, style: { ...style }, variant: variant, color: !Utils.IsNullOrEmpty(validation?.text) ? "red" : color, border: { radius: border.radius }, size: size, value: singleInputText, onClick: () => {
|
|
259
260
|
onClick && onClick();
|
|
260
261
|
setOptionsOpen((prev) => !prev);
|
|
261
262
|
}, onChange: (event) => {
|
|
@@ -270,25 +271,33 @@ const Select = ({ variant = "outlined", status, color = "gray", border = { radiu
|
|
|
270
271
|
}, placeholder: placeholder, validation: {
|
|
271
272
|
...validation,
|
|
272
273
|
text: config.validation?.text === "visible" ? validation?.text : "",
|
|
273
|
-
}, disabled: disabled, readOnly: readOnly }
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
event
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
274
|
+
}, disabled: disabled, readOnly: readOnly },
|
|
275
|
+
config?.clear === true && (React.createElement(Input.AddonAfter, null,
|
|
276
|
+
React.createElement(Button, { variant: "borderless", color: "red", border: border, size: size, shape: "square", icon: {
|
|
277
|
+
element: (React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", width: "16", height: "16", fill: "var(--red-500)", viewBox: "0 0 256 256" },
|
|
278
|
+
React.createElement("path", { d: "M204.24,195.76a6,6,0,1,1-8.48,8.48L128,136.49,60.24,204.24a6,6,0,0,1-8.48-8.48L119.51,128,51.76,60.24a6,6,0,0,1,8.48-8.48L128,119.51l67.76-67.75a6,6,0,0,1,8.48,8.48L136.49,128Z" }))),
|
|
279
|
+
}, onClick: (event) => {
|
|
280
|
+
if (disabled)
|
|
281
|
+
return;
|
|
282
|
+
event.stopPropagation();
|
|
283
|
+
handleCleanSelection();
|
|
284
|
+
} }))),
|
|
285
|
+
React.createElement(Input.AddonAfter, null,
|
|
286
|
+
React.createElement(Button, { variant: "borderless", color: color, border: border, size: size, shape: "square", icon: {
|
|
287
|
+
element: optionsOpen ? (React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", width: "16", height: "16", fill: "var(--black-100)", viewBox: "0 0 256 256" },
|
|
288
|
+
React.createElement("path", { d: "M212.24,164.24a6,6,0,0,1-8.48,0L128,88.49,52.24,164.24a6,6,0,0,1-8.48-8.48l80-80a6,6,0,0,1,8.48,0l80,80A6,6,0,0,1,212.24,164.24Z" }))) : (React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", width: "16", height: "16", fill: "var(--black-100)", viewBox: "0 0 256 256" },
|
|
289
|
+
React.createElement("path", { d: "M212.24,100.24l-80,80a6,6,0,0,1-8.48,0l-80-80a6,6,0,0,1,8.48-8.48L128,167.51l75.76-75.75a6,6,0,0,1,8.48,8.48Z" }))),
|
|
290
|
+
}, onClick: (event) => {
|
|
291
|
+
if (disabled)
|
|
292
|
+
return;
|
|
293
|
+
onClick && onClick();
|
|
294
|
+
event.stopPropagation();
|
|
295
|
+
setOptionsOpen((prev) => !prev);
|
|
296
|
+
} })))),
|
|
288
297
|
multiple && validation && config.validation?.text === "visible" && (React.createElement("span", { className: "har-validation-text" }, validation.text))),
|
|
289
298
|
!disabled &&
|
|
290
299
|
optionsOpen &&
|
|
291
|
-
ReactDOM.createPortal(React.createElement("div", { ref: _options, className: "
|
|
300
|
+
ReactDOM.createPortal(React.createElement("div", { ref: _options, className: "har-select-options" },
|
|
292
301
|
multiple && (React.createElement("div", { className: "search-field" },
|
|
293
302
|
React.createElement(Input, { ref: _searchField, variant: "outlined", placeholder: "Search...", value: searchText, onChange: (event) => setSearchText(event.target.value), onClick: (event) => event.stopPropagation() }))),
|
|
294
303
|
filteredOptions.length > 0 ? (React.createElement("ul", null,
|