jb-select 6.4.2 → 7.0.0
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/README.md +6 -7
- package/dist/i18n.d.ts +17 -0
- package/dist/i18n.d.ts.map +1 -0
- package/dist/index.cjs.js +1 -1
- package/dist/index.cjs.js.br +0 -0
- package/dist/index.cjs.js.gz +0 -0
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.br +0 -0
- package/dist/index.js.gz +0 -0
- package/dist/index.js.map +1 -1
- package/dist/index.umd.js +1 -1
- package/dist/index.umd.js.br +0 -0
- package/dist/index.umd.js.gz +0 -0
- package/dist/index.umd.js.map +1 -1
- package/dist/jb-option/jb-option.d.ts.map +1 -1
- package/dist/jb-select.d.ts +6 -4
- package/dist/jb-select.d.ts.map +1 -1
- package/dist/render.d.ts.map +1 -1
- package/dist/types.d.ts +6 -1
- package/dist/types.d.ts.map +1 -1
- package/lib/global.d.ts +1 -1
- package/lib/i18n.ts +24 -0
- package/lib/jb-option/jb-option.ts +23 -17
- package/lib/jb-select.css +279 -0
- package/lib/jb-select.ts +64 -19
- package/lib/render.ts +20 -23
- package/lib/types.ts +6 -1
- package/lib/variables.css +6 -7
- package/package.json +5 -3
- package/react/README.md +3 -1
- package/lib/jb-select.scss +0 -354
- /package/lib/jb-option/{jb-option.scss → jb-option.css} +0 -0
package/lib/render.ts
CHANGED
|
@@ -1,18 +1,8 @@
|
|
|
1
1
|
export function renderHTML(): string {
|
|
2
|
-
|
|
2
|
+
return /* html */ `
|
|
3
3
|
<div class="jb-select-web-component">
|
|
4
4
|
<div class="label-wrapper">
|
|
5
5
|
<label class="--hide"><span class="label-value"></span></label>
|
|
6
|
-
<!-- close button will be visible on mobile modal -->
|
|
7
|
-
<div class="close-button">
|
|
8
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none">
|
|
9
|
-
<path class="close-btn-svg-bg" opacity="0.4"
|
|
10
|
-
d="M16.3399 1.9998H7.66988C4.27988 1.9998 1.99988 4.3798 1.99988 7.9198V16.0898C1.99988 19.6198 4.27988 21.9998 7.66988 21.9998H16.3399C19.7299 21.9998 21.9999 19.6198 21.9999 16.0898V7.9198C21.9999 4.3798 19.7299 1.9998 16.3399 1.9998Z" />
|
|
11
|
-
<path class="close-btn-svg-path"
|
|
12
|
-
d="M15.0156 13.7703L13.2366 11.9923L15.0146 10.2143C15.3566 9.8733 15.3566 9.3183 15.0146 8.9773C14.6726 8.6333 14.1196 8.6343 13.7776 8.9763L11.9986 10.7543L10.2196 8.9743C9.87758 8.6323 9.32358 8.6343 8.98158 8.9743C8.64058 9.3163 8.64058 9.8713 8.98158 10.2123L10.7616 11.9923L8.98558 13.7673C8.64358 14.1093 8.64358 14.6643 8.98558 15.0043C9.15658 15.1763 9.37958 15.2613 9.60358 15.2613C9.82858 15.2613 10.0516 15.1763 10.2226 15.0053L11.9986 13.2293L13.7786 15.0083C13.9496 15.1793 14.1726 15.2643 14.3966 15.2643C14.6206 15.2643 14.8446 15.1783 15.0156 15.0083C15.3576 14.6663 15.3576 14.1123 15.0156 13.7703Z"
|
|
13
|
-
fill="#200E32" />
|
|
14
|
-
</svg>
|
|
15
|
-
</div>
|
|
16
6
|
</div>
|
|
17
7
|
<div class="select-box">
|
|
18
8
|
<div class="start-section">
|
|
@@ -21,11 +11,16 @@ export function renderHTML(): string {
|
|
|
21
11
|
<div class="middle-section">
|
|
22
12
|
<div class="selected-value-wrapper"></div>
|
|
23
13
|
<div class="front-box">
|
|
24
|
-
<input class="input" />
|
|
25
|
-
|
|
14
|
+
<input class="search-input" />
|
|
26
15
|
</div>
|
|
27
16
|
</div>
|
|
28
17
|
<div class="end-section">
|
|
18
|
+
<jb-button class="clear-button" color="dark" variant="ghost" size="xs">
|
|
19
|
+
<svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
20
|
+
<path d="M2.11183 24C1.57504 24 1.03826 23.8023 0.614479 23.3786C-0.204826 22.5596 -0.204826 21.2039 0.614479 20.3848L20.3908 0.614298C21.2101 -0.204766 22.5662 -0.204766 23.3855 0.614298C24.2048 1.43336 24.2048 2.78905 23.3855 3.60811L3.60918 23.3786C3.1854 23.8023 2.64861 24 2.11183 24Z" fill="currentColor"/>
|
|
21
|
+
<path d="M21.8882 24C21.3514 24 20.8146 23.8023 20.3908 23.3786L0.614479 3.60811C-0.204826 2.78905 -0.204826 1.43336 0.614479 0.614298C1.43378 -0.204766 2.78987 -0.204766 3.60918 0.614298L23.3855 20.3848C24.2048 21.2039 24.2048 22.5596 23.3855 23.3786C22.9617 23.8023 22.425 24 21.8882 24Z" fill="currentColor"/>
|
|
22
|
+
</svg>
|
|
23
|
+
</jb-button>
|
|
29
24
|
<div class="arrow-icon" tabindex="-1">
|
|
30
25
|
<slot name="select-arrow-icon">
|
|
31
26
|
<svg width='8' height='8' id='Layer_1' x='0px' y='0px' viewBox='0 0 494.1 371.1'
|
|
@@ -37,16 +32,18 @@ export function renderHTML(): string {
|
|
|
37
32
|
</div>
|
|
38
33
|
</div>
|
|
39
34
|
</div>
|
|
40
|
-
<div class="
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
<
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
<
|
|
49
|
-
|
|
35
|
+
<div class="popover-wrapper">
|
|
36
|
+
<jb-popover class="select-list-wrapper">
|
|
37
|
+
<div class="mobile-search-input-wrapper">
|
|
38
|
+
<!-- Here we put search input in Mobile -->
|
|
39
|
+
</div>
|
|
40
|
+
<div class="select-list" tabindex="-1" role="listbox">
|
|
41
|
+
<slot></slot>
|
|
42
|
+
</div>
|
|
43
|
+
<div class="empty-list-placeholder">
|
|
44
|
+
<slot name="empty-list-message">no item available</slot>
|
|
45
|
+
</div>
|
|
46
|
+
</jb-popover>
|
|
50
47
|
</div>
|
|
51
48
|
<div class="message-box"></div>
|
|
52
49
|
</div>
|
package/lib/types.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import type { JBOptionWebComponent } from "./jb-option/jb-option";
|
|
2
2
|
import type {EventTypeWithTarget} from "jb-core";
|
|
3
3
|
import type{ JBSelectWebComponent } from "./jb-select";
|
|
4
|
+
import type {JBButtonWebComponent} from "jb-button";
|
|
5
|
+
import type { JBPopoverWebComponent } from "jb-popover";
|
|
4
6
|
export type JBSelectCallbacks<TValue> = {
|
|
5
7
|
getSelectedValueDOM?:(value:TValue,content:HTMLElement) => HTMLElement;
|
|
6
8
|
}
|
|
@@ -11,14 +13,17 @@ export type JBSelectElements = {
|
|
|
11
13
|
selectedValueWrapper: HTMLDivElement,
|
|
12
14
|
messageBox:HTMLDivElement,
|
|
13
15
|
optionList: HTMLDivElement,
|
|
14
|
-
optionListWrapper:
|
|
16
|
+
optionListWrapper: JBPopoverWebComponent,
|
|
15
17
|
optionListSlot:HTMLSlotElement,
|
|
16
18
|
arrowIcon: HTMLDivElement,
|
|
19
|
+
clearButton: JBButtonWebComponent,
|
|
17
20
|
label:{
|
|
18
21
|
wrapper: HTMLLabelElement,
|
|
19
22
|
text: HTMLSpanElement
|
|
20
23
|
},
|
|
21
24
|
emptyListPlaceholder: HTMLDivElement,
|
|
25
|
+
mobileSearchInputWrapper:HTMLDivElement,
|
|
26
|
+
frontBox:HTMLDivElement
|
|
22
27
|
}
|
|
23
28
|
export type ValidationValue<TValue> = {
|
|
24
29
|
selectedOption:JBOptionWebComponent<TValue> | null,
|
package/lib/variables.css
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
:host {
|
|
2
|
-
--
|
|
2
|
+
--height:var(--jb-select-height, 2.5rem);
|
|
3
|
+
/*its rounded because it's only one value and not all radius 4 part value and needed to be one vale due to change in different situation*/
|
|
4
|
+
--rounded:var(--jb-select-rounded, var(--jb-radius));
|
|
5
|
+
--box-border-radius:var(--jb-select-box-border-radius, var(--rounded));
|
|
6
|
+
--list-border-radius: 0 0 var(--rounded) var(--rounded);
|
|
3
7
|
--middle-div-height: var(--jb-select-middle-div-height, 0px);
|
|
4
8
|
--border-width: var(--jb-select-border-width, 1px);
|
|
5
9
|
--border-bottom-width: var(--jb-select-border-bottom-width, var(--jb-select-border-width, 3px));
|
|
6
10
|
--base-z-index: 1;
|
|
7
|
-
--mobile-modal-z-index: 900;
|
|
8
|
-
--mobile-modal-height: var(--jb-select-mobile-modal-height, 100vh);
|
|
9
11
|
/*colors*/
|
|
10
12
|
--border-color: var(--jb-select-border-color, var(--jb-neutral-10));
|
|
11
13
|
--message-color: var(--jb-select-message-color, var(--jb-text-secondary));
|
|
@@ -13,10 +15,7 @@
|
|
|
13
15
|
--value-color: var(--jb-select-value-color, var(--jb-text-primary));
|
|
14
16
|
--placeholder-color: var(--jb-select-placeholder-color, var(--jb-neutral-6));
|
|
15
17
|
--select-box-bg-color: var(--jb-select-bgcolor, var(--jb-neutral-10));
|
|
16
|
-
--overlay-bg-color:var(--jb-select-overlay-bg-color, oklch(from var(--jb-
|
|
17
|
-
--modal-label-color:var(--jb-select-modal-label-color, var(--jb-text-contrast));
|
|
18
|
-
--modal-close-color:var(--jb-select-modal-close-color, var(--jb-white));
|
|
19
|
-
--close-bg-color:var(--jb-select-close-bg-color, var(--jb-neutral-2));
|
|
18
|
+
--overlay-bg-color:var(--jb-select-overlay-bg-color, oklch(from var(--jb-black) l c h / calc(alpha - 0.5)));
|
|
20
19
|
--list-scroll-color:var(--jb-select-list-scroll-color, oklch(from var(--select-box-bg-color) calc(l - 0.2) c h));
|
|
21
20
|
--empty-list-placeholder-color:var(--jb-select-empty-list-placeholder-color, var(--jb-text-secondary))
|
|
22
21
|
}
|
package/package.json
CHANGED
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
"web component",
|
|
17
17
|
"react component"
|
|
18
18
|
],
|
|
19
|
-
"version": "
|
|
19
|
+
"version": "7.0.0",
|
|
20
20
|
"bugs": "https://github.com/javadbat/jb-select/issues",
|
|
21
21
|
"license": "MIT",
|
|
22
22
|
"files": [
|
|
@@ -35,9 +35,11 @@
|
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {
|
|
37
37
|
"jb-validation": ">=0.4.0",
|
|
38
|
-
"jb-
|
|
38
|
+
"jb-button": ">=3.7.0",
|
|
39
|
+
"jb-popover": ">=1.5.0",
|
|
40
|
+
"jb-core":">=0.22.0"
|
|
39
41
|
},
|
|
40
42
|
"devDependencies": {
|
|
41
|
-
"jb-form":">=0.
|
|
43
|
+
"jb-form":">=0.7.1"
|
|
42
44
|
}
|
|
43
45
|
}
|
package/react/README.md
CHANGED
package/lib/jb-select.scss
DELETED
|
@@ -1,354 +0,0 @@
|
|
|
1
|
-
@use "~jb-core/styles/medias.scss" as *;
|
|
2
|
-
@use './variables.css';
|
|
3
|
-
|
|
4
|
-
:host {
|
|
5
|
-
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
.jb-select-web-component {
|
|
9
|
-
width: var(--jb-select-width, 100%);
|
|
10
|
-
margin: var(--jb-select-margin, 0 0);
|
|
11
|
-
position: relative;
|
|
12
|
-
box-sizing: border-box;
|
|
13
|
-
|
|
14
|
-
&.--focused {
|
|
15
|
-
@include mobile-tablet {
|
|
16
|
-
position: fixed;
|
|
17
|
-
bottom: 0;
|
|
18
|
-
top: initial;
|
|
19
|
-
left: 0;
|
|
20
|
-
background-color: var(--overlay-bg-color);
|
|
21
|
-
width: 100vw;
|
|
22
|
-
height: var(--mobile-modal-height);
|
|
23
|
-
border-radius: var(--jb-select-mobile-modal-border-radius, 0) var(--jb-select-mobile-modal-border-radius, 0) 0 0;
|
|
24
|
-
margin: 0;
|
|
25
|
-
padding: 16px 8px;
|
|
26
|
-
z-index: var(--mobile-modal-z-index);
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
.select-box {
|
|
30
|
-
@include mobile-tablet {
|
|
31
|
-
height: var(--jb-select-mobile-search-input-height, var(--jb-select-height, 40px));
|
|
32
|
-
background-color: var(--jb-select-mobile-input-bgcolor, var(--select-box-bg-color));
|
|
33
|
-
border-width: var(--jb-select-mobile-search-border-width, var(--border-width));
|
|
34
|
-
border-color: var(--jb-select-mobile-search-border-color, var(--border-color));
|
|
35
|
-
border-bottom-width: var(--jb-select-mobile-search-border-bottom-width, var(--border-bottom-width));
|
|
36
|
-
border-bottom-color: var(--jb-select-mobile-search-border-bottom-color, var(--jb-select-border-bottom-color, var(--border-color)));
|
|
37
|
-
border-radius: var(--jb-select-mobile-search-border-radius, var(--border-radius));
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
.front-box {
|
|
41
|
-
.arrow-icon {
|
|
42
|
-
@include mobile-tablet {
|
|
43
|
-
display: none;
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
.selected-value-wrapper {
|
|
49
|
-
@include mobile-tablet {
|
|
50
|
-
opacity: 0;
|
|
51
|
-
transition: none;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
.selected-value {}
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
.middle-divider {
|
|
59
|
-
display: block;
|
|
60
|
-
|
|
61
|
-
@include mobile-tablet {
|
|
62
|
-
margin: var(--jb-select-middle-div-mobile-margin, 16px 0 0 0);
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
.select-list-wrapper {
|
|
67
|
-
@include mobile-tablet {
|
|
68
|
-
position: initial;
|
|
69
|
-
margin: var(--jb-select-mobile-item-list-margin, 16px 0);
|
|
70
|
-
border-radius: var(--jb-select-mobile-item-list-border-radius, var(--border-radius));
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
.label-wrapper {
|
|
75
|
-
@include mobile-tablet {
|
|
76
|
-
display: flex;
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
label {
|
|
80
|
-
@include mobile-tablet {
|
|
81
|
-
color: var(--modal-label-color);
|
|
82
|
-
font-size: 1.5em;
|
|
83
|
-
display: flex;
|
|
84
|
-
align-items: center;
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
.close-button {
|
|
89
|
-
display: none;
|
|
90
|
-
|
|
91
|
-
@include mobile-tablet {
|
|
92
|
-
display: flex;
|
|
93
|
-
width: 48px;
|
|
94
|
-
height: 48px;
|
|
95
|
-
justify-content: center;
|
|
96
|
-
align-items: center;
|
|
97
|
-
color: var(--modal-close-color);
|
|
98
|
-
|
|
99
|
-
.close-btn-svg-bg {
|
|
100
|
-
opacity: var(--jb-select-close-bg-opacity, 0.4);
|
|
101
|
-
fill: var(--close-bg-color);
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
.close-btn-svg-path {
|
|
105
|
-
fill: var(--modal-close-color);
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
&.--has-value {
|
|
113
|
-
|
|
114
|
-
//if user select a option and value is setted and not null
|
|
115
|
-
.select-box {
|
|
116
|
-
border-color: var(--jb-select-border-color-selected, var(--border-color));
|
|
117
|
-
background-color: var(--jb-select-bgcolor-selected, var(--select-box-bg-color));
|
|
118
|
-
@include mobile-tablet {
|
|
119
|
-
&:focus-within {
|
|
120
|
-
background-color: var(--jb-select-mobile-input-bgcolor, var(--select-box-bg-color));
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
.label-wrapper {
|
|
127
|
-
label {
|
|
128
|
-
width: 100%;
|
|
129
|
-
margin: 4px 0px;
|
|
130
|
-
display: block;
|
|
131
|
-
font-size: var(--jb-select-label-font-size, 0.8em);
|
|
132
|
-
font-weight: var(--jb-select-label-font-weight, normal);
|
|
133
|
-
color: var(--label-color);
|
|
134
|
-
|
|
135
|
-
&.--hide {
|
|
136
|
-
display: none;
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
.close-button {
|
|
141
|
-
display: none;
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
.select-box {
|
|
146
|
-
width: 100%;
|
|
147
|
-
box-sizing: border-box;
|
|
148
|
-
height: var(--jb-select-height, 2.5rem);
|
|
149
|
-
border: solid var(--border-width) var(--border-color);
|
|
150
|
-
border-bottom: solid var(--border-bottom-width) var(--border-color);
|
|
151
|
-
border-radius: var(--border-radius);
|
|
152
|
-
background-color: var(--select-box-bg-color);
|
|
153
|
-
margin: var(--jb-select-select-box-margin, 4px 0px 0px 0px);
|
|
154
|
-
overflow: hidden;
|
|
155
|
-
display: flex;
|
|
156
|
-
padding-inline-end: var(--jb-select-box-padding-end, 1rem);
|
|
157
|
-
gap: 0.5rem;
|
|
158
|
-
align-items: center;
|
|
159
|
-
|
|
160
|
-
&:focus-within {
|
|
161
|
-
border-color: var(--jb-select-border-color, var(--border-color));
|
|
162
|
-
border-bottom-color: var(--jb-select-border-color, var(--border-color));
|
|
163
|
-
border-radius: var(--border-radius) var(--border-radius) 0 0;
|
|
164
|
-
|
|
165
|
-
@include mobile-tablet {
|
|
166
|
-
border-radius: var(--jb-select-mobile-search-border-radius, var(--border-radius));
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
|
|
170
|
-
.start-section {
|
|
171
|
-
height: 100%;
|
|
172
|
-
width: auto;
|
|
173
|
-
display: flex;
|
|
174
|
-
justify-content: center;
|
|
175
|
-
align-items: center;
|
|
176
|
-
}
|
|
177
|
-
|
|
178
|
-
.middle-section {
|
|
179
|
-
position: relative;
|
|
180
|
-
width: 100%;
|
|
181
|
-
height: 100%;
|
|
182
|
-
flex: 1;
|
|
183
|
-
|
|
184
|
-
.selected-value-wrapper {
|
|
185
|
-
position: absolute;
|
|
186
|
-
top: 0;
|
|
187
|
-
left: 0;
|
|
188
|
-
width: 100%;
|
|
189
|
-
height: 100%;
|
|
190
|
-
border-radius: inherit;
|
|
191
|
-
overflow: hidden;
|
|
192
|
-
z-index: 1;
|
|
193
|
-
|
|
194
|
-
&.--search-typed {
|
|
195
|
-
opacity: 0;
|
|
196
|
-
}
|
|
197
|
-
|
|
198
|
-
.selected-value {
|
|
199
|
-
width: 100%;
|
|
200
|
-
box-sizing: border-box;
|
|
201
|
-
height: 100%;
|
|
202
|
-
background-color: transparent;
|
|
203
|
-
padding: 2px 12px 0 12px;
|
|
204
|
-
display: block;
|
|
205
|
-
font-family: inherit;
|
|
206
|
-
font-size: var(--jb-select-selected-value-font-size, 1.1em);
|
|
207
|
-
color: var(--value-color);
|
|
208
|
-
margin: 0;
|
|
209
|
-
border-radius: 0;
|
|
210
|
-
display: flex;
|
|
211
|
-
align-items: center;
|
|
212
|
-
}
|
|
213
|
-
}
|
|
214
|
-
|
|
215
|
-
.front-box {
|
|
216
|
-
position: absolute;
|
|
217
|
-
top: 0;
|
|
218
|
-
left: 0;
|
|
219
|
-
width: 100%;
|
|
220
|
-
height: 100%;
|
|
221
|
-
border-radius: inherit;
|
|
222
|
-
overflow: hidden;
|
|
223
|
-
z-index: 2;
|
|
224
|
-
|
|
225
|
-
input {
|
|
226
|
-
border: none;
|
|
227
|
-
width: 100%;
|
|
228
|
-
box-sizing: border-box;
|
|
229
|
-
height: 100%;
|
|
230
|
-
background-color: transparent;
|
|
231
|
-
padding: 2px 12px 0 12px;
|
|
232
|
-
display: block;
|
|
233
|
-
font-family: inherit;
|
|
234
|
-
font-size: var(--jb-select-value-font-size, 1.1rem);
|
|
235
|
-
color: var(--value-color);
|
|
236
|
-
margin: 0;
|
|
237
|
-
border-radius: 0;
|
|
238
|
-
|
|
239
|
-
&:focus {
|
|
240
|
-
outline: none;
|
|
241
|
-
}
|
|
242
|
-
|
|
243
|
-
&::placeholder {
|
|
244
|
-
color: var(--placeholder-color);
|
|
245
|
-
font-size: var(--jb-select-placeholder-font-size, 1.1em);
|
|
246
|
-
}
|
|
247
|
-
}
|
|
248
|
-
}
|
|
249
|
-
}
|
|
250
|
-
|
|
251
|
-
.end-section {
|
|
252
|
-
.arrow-icon {
|
|
253
|
-
margin: var(--jb-select-arrow-icon-margin, 0 0 0 0);
|
|
254
|
-
}
|
|
255
|
-
}
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
&:focus-within .selected-value {
|
|
259
|
-
opacity: 0.7;
|
|
260
|
-
transition: all 0.3s ease;
|
|
261
|
-
}
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
}
|
|
265
|
-
|
|
266
|
-
.middle-divider {
|
|
267
|
-
display: none;
|
|
268
|
-
position: relative;
|
|
269
|
-
z-index: calc(var(--base-z-index) + 3);
|
|
270
|
-
width: 100%;
|
|
271
|
-
height: var(--middle-div-height);
|
|
272
|
-
background-color: var(--jb-select-middle-div-color, var(--border-color));
|
|
273
|
-
margin: var(--jb-select-middle-div-margin, calc(-1 * var(--border-bottom-width)) 0);
|
|
274
|
-
border-radius: var(--jb-select-middle-div-radius, 0px);
|
|
275
|
-
}
|
|
276
|
-
|
|
277
|
-
.message-box {
|
|
278
|
-
font-size: var(--jb-select-message-font-size, 0.7em);
|
|
279
|
-
font-weight: var(--jb-select-message-font-weight, normal);
|
|
280
|
-
padding: 4px 8px;
|
|
281
|
-
color: var(--message-color);
|
|
282
|
-
|
|
283
|
-
&:empty {
|
|
284
|
-
padding: 0;
|
|
285
|
-
}
|
|
286
|
-
|
|
287
|
-
&.--error {
|
|
288
|
-
color: red;
|
|
289
|
-
}
|
|
290
|
-
}
|
|
291
|
-
|
|
292
|
-
.select-list-wrapper {
|
|
293
|
-
display: none;
|
|
294
|
-
position: absolute;
|
|
295
|
-
margin: calc(-1 * var(--border-bottom-width)) 0;
|
|
296
|
-
height: auto;
|
|
297
|
-
overflow: hidden;
|
|
298
|
-
width: 100%;
|
|
299
|
-
background-color: var(--select-box-bg-color);
|
|
300
|
-
border-radius: 0 0 var(--border-radius) var(--border-radius);
|
|
301
|
-
border: solid var(--jb-select-list-border-width, 1px) var(--border-color);
|
|
302
|
-
border-top: none;
|
|
303
|
-
border-bottom: solid var(--border-bottom-width) var(--border-color);
|
|
304
|
-
box-shadow: var(--jb-select-list-box-shadow);
|
|
305
|
-
box-sizing: border-box;
|
|
306
|
-
z-index: calc(var(--base-z-index) + 2);
|
|
307
|
-
|
|
308
|
-
&.--show {
|
|
309
|
-
display: block;
|
|
310
|
-
}
|
|
311
|
-
|
|
312
|
-
.select-list {
|
|
313
|
-
width: 100%;
|
|
314
|
-
max-height: var(--jb-select-list-max-height, 400px);
|
|
315
|
-
overflow-y: auto;
|
|
316
|
-
slot {
|
|
317
|
-
padding: var(--jb-select-list-padding, 16px 0);
|
|
318
|
-
&:empty {
|
|
319
|
-
padding: 0;
|
|
320
|
-
}
|
|
321
|
-
}
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
@include mobile-tablet {
|
|
325
|
-
max-height: calc(var(--mobile-modal-height) - 15rem);
|
|
326
|
-
}
|
|
327
|
-
|
|
328
|
-
/* option style places */
|
|
329
|
-
|
|
330
|
-
&::-webkit-scrollbar {
|
|
331
|
-
width: 9px;
|
|
332
|
-
background-color: transparent;
|
|
333
|
-
}
|
|
334
|
-
|
|
335
|
-
&::-webkit-scrollbar-thumb {
|
|
336
|
-
background-color: var(--list-scroll-color);
|
|
337
|
-
border-radius: var(--jb-select-list-scroll-border-radius, 4px);
|
|
338
|
-
}
|
|
339
|
-
}
|
|
340
|
-
|
|
341
|
-
.empty-list-placeholder {
|
|
342
|
-
display: none;
|
|
343
|
-
text-align: center;
|
|
344
|
-
color: var(--empty-list-placeholder-color);
|
|
345
|
-
font-style: italic;
|
|
346
|
-
padding: 8px 0;
|
|
347
|
-
|
|
348
|
-
&.--show {
|
|
349
|
-
display: block;
|
|
350
|
-
}
|
|
351
|
-
}
|
|
352
|
-
|
|
353
|
-
}
|
|
354
|
-
}
|
|
File without changes
|