@refinitiv-ui/elements 5.8.0 → 5.9.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/CHANGELOG.md +21 -0
- package/lib/calendar/constants.d.ts +4 -0
- package/lib/calendar/constants.js +5 -0
- package/lib/calendar/index.d.ts +106 -17
- package/lib/calendar/index.js +486 -120
- package/lib/calendar/locales.js +2 -1
- package/lib/calendar/themes/halo/dark/index.js +1 -1
- package/lib/calendar/themes/halo/light/index.js +1 -1
- package/lib/calendar/themes/solar/charcoal/index.js +1 -1
- package/lib/calendar/themes/solar/pearl/index.js +1 -1
- package/lib/calendar/types.d.ts +11 -8
- package/lib/calendar/utils.js +2 -1
- package/lib/combo-box/custom-elements.json +23 -1
- package/lib/combo-box/custom-elements.md +8 -1
- package/lib/combo-box/helpers/renderer.d.ts +8 -0
- package/lib/combo-box/helpers/renderer.js +24 -0
- package/lib/combo-box/index.d.ts +36 -16
- package/lib/combo-box/index.js +60 -32
- package/lib/combo-box/themes/halo/dark/index.js +1 -2
- package/lib/combo-box/themes/halo/light/index.js +1 -2
- package/lib/combo-box/themes/solar/charcoal/index.js +1 -2
- package/lib/combo-box/themes/solar/pearl/index.js +1 -2
- package/lib/time-picker/custom-elements.json +2 -4
- package/lib/time-picker/custom-elements.md +3 -3
- package/lib/time-picker/index.d.ts +92 -62
- package/lib/time-picker/index.js +278 -158
- package/lib/tree-select/themes/halo/dark/index.js +1 -2
- package/lib/tree-select/themes/halo/light/index.js +1 -2
- package/lib/tree-select/themes/solar/charcoal/index.js +1 -2
- package/lib/tree-select/themes/solar/pearl/index.js +1 -2
- package/lib/version.js +1 -1
- package/package.json +291 -10
package/lib/calendar/locales.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Phrasebook } from '@refinitiv-ui/phrasebook';
|
|
2
|
+
import { CalendarLocaleScope } from './constants.js';
|
|
2
3
|
// While Intl can support literally all world languages
|
|
3
4
|
// for safety still limit the number of locales, for the following reasons
|
|
4
5
|
// 1) different browsers and OS support different locales, and the result might be different.
|
|
@@ -22,7 +23,7 @@ const ru = globals;
|
|
|
22
23
|
const th = Object.assign(Object.assign({}, globals), { FIRST_DAY_OF_WEEK: '0' });
|
|
23
24
|
const zh = globals;
|
|
24
25
|
const ar = Object.assign(Object.assign({}, globals), { FIRST_DAY_OF_WEEK: '6' });
|
|
25
|
-
const scope =
|
|
26
|
+
const scope = CalendarLocaleScope;
|
|
26
27
|
Phrasebook.define('en', scope, en);
|
|
27
28
|
Phrasebook.define('en-CA', scope, enCA);
|
|
28
29
|
Phrasebook.define('en-US', scope, enUS);
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import '@refinitiv-ui/elements/lib/button/themes/halo/dark';
|
|
2
2
|
|
|
3
|
-
elf.customStyles.define('ef-calendar', ':host{font-style:normal;font-variant:normal;font-weight:400;line-height:normal;text-align:left;text-indent:0;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;outline:0;font-size:12rem;color:#ccc;min-width:196px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background:#262626;padding:4px 3px}:host [part=navigation]{padding-bottom:3px}:host [part=btn-next],:host [part=btn-prev],:host [part=btn-view]{margin:0}:host [part=btn-view]{background:0 0;margin-left:16px;border:none;color:inherit;padding:0}:host [part=btn-view]:hover,:host [part=btn-view][focused=visible]{opacity:.8}:host [part=table]{width:100%;background:#262626}:host [part~=row]:not(:first-of-type) [part~=cell] [part~=cell-content]{top:1px}:host [part~=day-name-row]{background-color:#333}:host [part~=cell]
|
|
3
|
+
elf.customStyles.define('ef-calendar', ':host{font-style:normal;font-variant:normal;font-weight:400;line-height:normal;text-align:left;text-indent:0;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;outline:0;font-size:12rem;color:#ccc;min-width:196px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background:#262626;padding:4px 3px}:host [part=navigation]{padding-bottom:3px}:host [part=btn-next],:host [part=btn-prev],:host [part=btn-view]{margin:0}:host [part=btn-view]{background:0 0;margin-left:16px;border:none;color:inherit;padding:0}:host [part=btn-view]:hover,:host [part=btn-view][focused=visible]{opacity:.8}:host [part=table]{width:100%;background:#262626}:host [part~=row]:not(:first-of-type) [part~=cell] [part~=cell-content]{top:1px}:host [part~=day-name-row]{background-color:#333}:host [part~=cell][disabled] [part~=selection]{opacity:.4}:host [part~=cell][today]{color:#fff}:host [part~=cell][today] [part~=selection]{background:#404040}:host [part~=cell]:not([selected]):not([range]):not([disabled])[idle] [part~=selection]{opacity:.6}:host [part~=cell]:not([today]):not([range]) [part~=selection]:hover{color:#fff}:host [part~=cell]:not(:active) [part~=selection]:hover{border-color:#334bff}:host [part~=cell]:not([selected]):not([range]):not([today]) [part~=selection]:hover{background:#334bff}:host [part~=cell]:not([selected]):not([range]):not([today]):not(:active) [part~=selection]:hover{border-color:#334bff}:host [part~=cell]:not([selected]):not([range]):not([today]):active [part~=selection]{color:#fff;background-color:#0f1e8a}:host [part~=cell][range]:not(:active) [part~=selection]:hover,:host [part~=cell][selected]:not(:active) [part~=selection]:hover,:host [part~=cell][today]:not(:active) [part~=selection]:hover{border-color:#334bff}:host [part~=cell][range]:active [part~=selection],:host [part~=cell][selected]:active [part~=selection],:host [part~=cell][today]:active [part~=selection]{color:#fff;background-color:#0f1e8a}:host [part~=cell][range] [part~=selection]{background:rgba(51,75,255,.2)}:host [part~=cell][range][today]{color:#fff}:host [part~=cell][selected]{color:#fff}:host [part~=cell][selected] [part~=selection]{background:#334bff}:host [part~=cell]:not(:first-of-type) [part~=cell-content]{left:1px}:host [part~=day-name]{color:#999;font-weight:500}:host [part~=day-name] [part~=cell-content]{background-color:#1a1a1a}:host [part~=cell-content]{background:#0d0d0d;top:0;bottom:0;right:0;left:0}:host [part~=selection]{outline:0;border:1px solid #0d0d0d}:host([focused=visible]) [part~=cell] [part~=selection]:focus{outline:#334bff solid 1px}:host([disabled]){opacity:.4}');
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import '@refinitiv-ui/elements/lib/button/themes/halo/light';
|
|
2
2
|
|
|
3
|
-
elf.customStyles.define('ef-calendar', ':host{font-style:normal;font-variant:normal;font-weight:400;line-height:normal;text-align:left;text-indent:0;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;outline:0;font-size:12rem;color:#0d0d0d;min-width:196px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background:#f2f2f2;padding:4px 3px}:host [part=navigation]{padding-bottom:3px}:host [part=btn-next],:host [part=btn-prev],:host [part=btn-view]{margin:0}:host [part=btn-next]:not(:hover):not(:focus):not(:active),:host [part=btn-prev]:not(:hover):not(:focus):not(:active){color:#595959}:host [part=btn-view]{background:0 0;margin-left:16px;border:none;color:inherit;padding:0}:host [part=btn-view]:hover,:host [part=btn-view][focused=visible]{opacity:.8}:host [part=table]{width:100%;background:#e6e6e6}:host [part~=row]:not(:first-of-type) [part~=cell] [part~=cell-content]{top:1px}:host [part~=day-name-row]{background-color:#e6e6e6}:host [part~=cell]
|
|
3
|
+
elf.customStyles.define('ef-calendar', ':host{font-style:normal;font-variant:normal;font-weight:400;line-height:normal;text-align:left;text-indent:0;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;outline:0;font-size:12rem;color:#0d0d0d;min-width:196px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background:#f2f2f2;padding:4px 3px}:host [part=navigation]{padding-bottom:3px}:host [part=btn-next],:host [part=btn-prev],:host [part=btn-view]{margin:0}:host [part=btn-next]:not(:hover):not(:focus):not(:active),:host [part=btn-prev]:not(:hover):not(:focus):not(:active){color:#595959}:host [part=btn-view]{background:0 0;margin-left:16px;border:none;color:inherit;padding:0}:host [part=btn-view]:hover,:host [part=btn-view][focused=visible]{opacity:.8}:host [part=table]{width:100%;background:#e6e6e6}:host [part~=row]:not(:first-of-type) [part~=cell] [part~=cell-content]{top:1px}:host [part~=day-name-row]{background-color:#e6e6e6}:host [part~=cell][disabled] [part~=selection]{opacity:.4}:host [part~=cell][today]{color:#0d0d0d}:host [part~=cell][today] [part~=selection]{background:#d9d9d9}:host [part~=cell]:not([selected]):not([range]):not([disabled])[idle] [part~=selection]{opacity:.6}:host [part~=cell]:not([today]):not([range]) [part~=selection]:hover{color:#fff}:host [part~=cell]:not(:active) [part~=selection]:hover{border-color:#334bff}:host [part~=cell]:not([selected]):not([range]):not([today]) [part~=selection]:hover{background:#334bff}:host [part~=cell]:not([selected]):not([range]):not([today]):not(:active) [part~=selection]:hover{border-color:#334bff}:host [part~=cell]:not([selected]):not([range]):not([today]):active [part~=selection]{color:#fff;background-color:#0f1e8a}:host [part~=cell][range]:not(:active) [part~=selection]:hover,:host [part~=cell][selected]:not(:active) [part~=selection]:hover,:host [part~=cell][today]:not(:active) [part~=selection]:hover{border-color:#334bff}:host [part~=cell][range]:active [part~=selection],:host [part~=cell][selected]:active [part~=selection],:host [part~=cell][today]:active [part~=selection]{color:#fff;background-color:#0f1e8a}:host [part~=cell][range] [part~=selection]{background:rgba(51,75,255,.2)}:host [part~=cell][range][today]{color:#fff}:host [part~=cell][selected]{color:#fff}:host [part~=cell][selected] [part~=selection]{background:#334bff}:host [part~=cell]:not(:first-of-type) [part~=cell-content]{left:1px}:host [part~=day-name]{color:#737373;font-weight:500}:host [part~=day-name] [part~=cell-content]{background-color:#fafafa}:host [part~=cell-content]{background:#fff;top:0;bottom:0;right:0;left:0}:host [part~=selection]{outline:0;border:1px solid #fff}:host([focused=visible]) [part~=cell] [part~=selection]:focus{outline:#334bff solid 1px}:host([disabled]){opacity:.4}');
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import '@refinitiv-ui/elements/lib/button/themes/solar/charcoal';
|
|
2
2
|
|
|
3
|
-
elf.customStyles.define('ef-calendar', ':host{font-style:normal;font-variant:normal;font-weight:400;line-height:normal;text-align:left;text-indent:0;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;outline:0;font-size:13rem;color:#c2c2c2;min-width:224px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background:#3c3c42;padding:4px}:host [part=navigation]{padding-bottom:4px}:host [part=btn-next],:host [part=btn-prev],:host [part=btn-view]{margin:0}:host [part=btn-view]{background:0 0;color:inherit;box-shadow:none;margin-left:15px;padding:0}:host [part=btn-view]:not([focused=visible]){border:none}:host [part=table]{width:100%;box-shadow:0 0 0 1px #000;background:#212124}:host [part~=row]:not(:last-of-type){box-shadow:0 1px 0 0 #0a0a0a}:host [part~=row]:not(:first-of-type) [part~=cell] [part~=selection]{top:1px}:host [part~=cell]
|
|
3
|
+
elf.customStyles.define('ef-calendar', ':host{font-style:normal;font-variant:normal;font-weight:400;line-height:normal;text-align:left;text-indent:0;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;outline:0;font-size:13rem;color:#c2c2c2;min-width:224px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background:#3c3c42;padding:4px}:host [part=navigation]{padding-bottom:4px}:host [part=btn-next],:host [part=btn-prev],:host [part=btn-view]{margin:0}:host [part=btn-view]{background:0 0;color:inherit;box-shadow:none;margin-left:15px;padding:0}:host [part=btn-view]:not([focused=visible]){border:none}:host [part=table]{width:100%;box-shadow:0 0 0 1px #000;background:#212124}:host [part~=row]:not(:last-of-type){box-shadow:0 1px 0 0 #0a0a0a}:host [part~=row]:not(:first-of-type) [part~=cell] [part~=selection]{top:1px}:host [part~=cell]:not(:last-of-type){box-shadow:1px 0 0 0 #0a0a0a}:host [part~=cell][disabled] [part~=selection]{opacity:.4}:host [part~=cell][today]{color:#f93}:host [part~=cell][today] [part~=selection]{background:#3c3c42}:host [part~=cell]:not([selected]):not([range]):not([disabled])[idle] [part~=selection]{opacity:.6}:host [part~=cell]:not([selected]):not([range]) [part~=selection]:focus,:host [part~=cell]:not([selected]):not([range]) [part~=selection]:hover{background:#3c3c42;color:#e2e2e2}:host [part~=cell]:not([selected]):not([range]) [part~=selection]:focus{outline:#f93 dotted 1px}:host [part~=cell][range] [part~=selection]{background:rgba(255,153,51,.2)}:host [part~=cell][range][today]{color:#f93}:host [part~=cell][selected]{color:#000}:host [part~=cell][selected] [part~=selection]{background:#f93}:host [part~=cell]:not(:first-of-type) [part~=selection]{left:1px}:host [part~=day-name]{background-color:#151516;color:#666570;font-size:10px;font-weight:700}:host [part~=selection]{outline:0;top:0;bottom:0;right:0;left:0}:host([disabled]){opacity:.4}');
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import '@refinitiv-ui/elements/lib/button/themes/solar/pearl';
|
|
2
2
|
|
|
3
|
-
elf.customStyles.define('ef-calendar', ':host{font-style:normal;font-variant:normal;font-weight:400;line-height:normal;text-align:left;text-indent:0;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;outline:0;font-size:13rem;color:#484848;min-width:224px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background:#fff;padding:4px}:host [part=navigation]{padding-bottom:4px}:host [part=btn-next],:host [part=btn-prev],:host [part=btn-view]{margin:0}:host [part=btn-view]{background:0 0;color:inherit;box-shadow:none;margin-left:15px;padding:0}:host [part=btn-view]:not([focused=visible]){border:none}:host [part=table]{width:100%;box-shadow:0 0 0 1px #a9afba;background:#fff}:host [part~=row]:not(:last-of-type){box-shadow:0 1px 0 0 #d5d8db}:host [part~=row]:not(:first-of-type) [part~=cell] [part~=selection]{top:1px}:host [part~=cell]
|
|
3
|
+
elf.customStyles.define('ef-calendar', ':host{font-style:normal;font-variant:normal;font-weight:400;line-height:normal;text-align:left;text-indent:0;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;outline:0;font-size:13rem;color:#484848;min-width:224px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background:#fff;padding:4px}:host [part=navigation]{padding-bottom:4px}:host [part=btn-next],:host [part=btn-prev],:host [part=btn-view]{margin:0}:host [part=btn-view]{background:0 0;color:inherit;box-shadow:none;margin-left:15px;padding:0}:host [part=btn-view]:not([focused=visible]){border:none}:host [part=table]{width:100%;box-shadow:0 0 0 1px #a9afba;background:#fff}:host [part~=row]:not(:last-of-type){box-shadow:0 1px 0 0 #d5d8db}:host [part~=row]:not(:first-of-type) [part~=cell] [part~=selection]{top:1px}:host [part~=cell]:not(:last-of-type){box-shadow:1px 0 0 0 #d5d8db}:host [part~=cell][disabled] [part~=selection]{opacity:.4}:host [part~=cell][today]{color:#fff}:host [part~=cell][today] [part~=selection]{background:#acafb5}:host [part~=cell]:not([selected]):not([range]):not([disabled])[idle] [part~=selection]{opacity:.6}:host [part~=cell]:not([selected]):not([range]) [part~=selection]:focus,:host [part~=cell]:not([selected]):not([range]) [part~=selection]:hover{background:#e4e8ed;color:#000}:host [part~=cell]:not([selected]):not([range]) [part~=selection]:focus{outline:#ee7600 dotted 1px}:host [part~=cell][range] [part~=selection]{background:rgba(255,153,51,.2)}:host [part~=cell][range][today]{color:#f93}:host [part~=cell][selected]{color:#fff}:host [part~=cell][selected] [part~=selection]{background:#f93}:host [part~=cell]:not(:first-of-type) [part~=selection]{left:1px}:host [part~=day-name]{background-color:#e4e8ed;color:#6e6e78;font-size:10px;font-weight:700}:host [part~=selection]{outline:0;top:0;bottom:0;right:0;left:0}:host([disabled]){opacity:.4}');
|
package/lib/calendar/types.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { CellIndex } from '@refinitiv-ui/utils/lib/navigation.js';
|
|
1
2
|
import { RenderView } from './constants.js';
|
|
2
3
|
export interface CellSelectionModel {
|
|
3
4
|
selected?: boolean;
|
|
@@ -10,20 +11,22 @@ export interface CellSelectionModel {
|
|
|
10
11
|
export interface Cell extends CellSelectionModel {
|
|
11
12
|
view: RenderView;
|
|
12
13
|
text?: string;
|
|
14
|
+
active?: boolean;
|
|
13
15
|
value?: string;
|
|
14
16
|
disabled?: boolean;
|
|
15
17
|
idle?: boolean;
|
|
16
18
|
now?: boolean;
|
|
19
|
+
index: CellIndex;
|
|
17
20
|
}
|
|
18
21
|
export declare type CalendarFilter = (value: string) => boolean;
|
|
19
22
|
export declare type Comparator = (value: string, compare: string) => boolean;
|
|
20
|
-
export interface
|
|
21
|
-
value
|
|
22
|
-
|
|
23
|
-
idle?: boolean;
|
|
24
|
-
selected?: boolean;
|
|
25
|
-
range?: boolean;
|
|
23
|
+
export interface DateButtonElement extends HTMLDivElement {
|
|
24
|
+
value: string;
|
|
25
|
+
index: CellIndex;
|
|
26
26
|
}
|
|
27
|
-
export declare type
|
|
28
|
-
|
|
27
|
+
export declare type NavigationDirection = 'ArrowLeft' | 'ArrowRight' | 'ArrowUp' | 'ArrowDown' | 'Home' | 'End';
|
|
28
|
+
export declare type Row = Cell[];
|
|
29
|
+
export declare type WeekdayName = {
|
|
30
|
+
narrow: string;
|
|
31
|
+
long: string;
|
|
29
32
|
};
|
package/lib/calendar/utils.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { toDateSegment, getDaysInMonth, utcParse } from '@refinitiv-ui/utils/lib/date.js';
|
|
2
2
|
import { DEFAULT_LOCALE, resolveLocale } from '@refinitiv-ui/i18n';
|
|
3
|
+
import { CalendarLocaleScope } from './constants.js';
|
|
3
4
|
/**
|
|
4
5
|
* Get information about number of days, month number and year from date object
|
|
5
6
|
* @param value Date string
|
|
@@ -38,7 +39,7 @@ const DateMessageFormats = {
|
|
|
38
39
|
* @returns resolved locale
|
|
39
40
|
*/
|
|
40
41
|
const getLocale = (locale) => {
|
|
41
|
-
return resolveLocale(
|
|
42
|
+
return resolveLocale(CalendarLocaleScope, locale) || DEFAULT_LOCALE;
|
|
42
43
|
};
|
|
43
44
|
/**
|
|
44
45
|
* Get a list of weekday abbreviations based on locale
|
|
@@ -166,7 +166,7 @@
|
|
|
166
166
|
},
|
|
167
167
|
{
|
|
168
168
|
"name": "query",
|
|
169
|
-
"description": "Query string applied to combo-box\nSet via internal
|
|
169
|
+
"description": "Query string applied to combo-box\nSet via internal input",
|
|
170
170
|
"type": "string | null"
|
|
171
171
|
},
|
|
172
172
|
{
|
|
@@ -213,6 +213,28 @@
|
|
|
213
213
|
{
|
|
214
214
|
"name": "animationiteration"
|
|
215
215
|
}
|
|
216
|
+
],
|
|
217
|
+
"methods": [
|
|
218
|
+
{
|
|
219
|
+
"name": "onInputInput",
|
|
220
|
+
"description": "",
|
|
221
|
+
"params": [
|
|
222
|
+
{
|
|
223
|
+
"name": "event",
|
|
224
|
+
"type": "InputEvent"
|
|
225
|
+
}
|
|
226
|
+
]
|
|
227
|
+
},
|
|
228
|
+
{
|
|
229
|
+
"name": "onInputChange",
|
|
230
|
+
"description": "",
|
|
231
|
+
"params": [
|
|
232
|
+
{
|
|
233
|
+
"name": "event",
|
|
234
|
+
"type": "InputEvent"
|
|
235
|
+
}
|
|
236
|
+
]
|
|
237
|
+
}
|
|
216
238
|
]
|
|
217
239
|
}
|
|
218
240
|
]
|
|
@@ -17,7 +17,7 @@ Combines a popup with a filterable selection list
|
|
|
17
17
|
| `name` | `name` | `string` | "" | Set name of the element |
|
|
18
18
|
| `opened` | `opened` | `boolean` | false | Track opened state of popup |
|
|
19
19
|
| `placeholder` | `placeholder` | `string` | "" | Placeholder for input field |
|
|
20
|
-
| `query` | | `string \| null` | null | Query string applied to combo-box<br />Set via internal
|
|
20
|
+
| `query` | | `string \| null` | null | Query string applied to combo-box<br />Set via internal input |
|
|
21
21
|
| `queryDebounceRate` | `query-debounce-rate` | `number` | | Control query rate, defaults to 0 |
|
|
22
22
|
| `readonly` | `readonly` | `boolean` | false | Set readonly state |
|
|
23
23
|
| `renderer` | | `ComboBoxRenderer` | "new ComboBoxRenderer(this)" | Renderer used to render list item elements |
|
|
@@ -25,6 +25,13 @@ Combines a popup with a filterable selection list
|
|
|
25
25
|
| `values` | | `string[]` | [] | Returns a values collection of the currently<br />selected item values |
|
|
26
26
|
| `warning` | `warning` | `boolean` | false | Set state to warning |
|
|
27
27
|
|
|
28
|
+
## Methods
|
|
29
|
+
|
|
30
|
+
| Method | Type |
|
|
31
|
+
|-----------------|----------------------|
|
|
32
|
+
| `onInputChange` | `(event: any): void` |
|
|
33
|
+
| `onInputInput` | `(event: any): void` |
|
|
34
|
+
|
|
28
35
|
## Events
|
|
29
36
|
|
|
30
37
|
| Event | Description |
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { ListRenderer } from '../../list/index.js';
|
|
2
|
+
import { Renderer } from '../../list/renderer.js';
|
|
3
|
+
/**
|
|
4
|
+
* Renders list items as `ef-item` elements.
|
|
5
|
+
* Extends its behaviour from ListRenderer.
|
|
6
|
+
*/
|
|
7
|
+
export class ComboBoxRenderer extends Renderer {
|
|
8
|
+
constructor(context) {
|
|
9
|
+
const listRenderer = new ListRenderer(context);
|
|
10
|
+
super((item, composer, element) => {
|
|
11
|
+
// Extending renderer from listRenderer
|
|
12
|
+
element = listRenderer(item, composer, element);
|
|
13
|
+
const value = composer.getItemPropertyValue(item, 'value');
|
|
14
|
+
// Using value as id for `aria-activedescendant` in combobox
|
|
15
|
+
if (value && element.id !== value) {
|
|
16
|
+
element.id = value;
|
|
17
|
+
}
|
|
18
|
+
else if (!value && element.id) {
|
|
19
|
+
element.removeAttribute('id');
|
|
20
|
+
}
|
|
21
|
+
return element;
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
}
|
package/lib/combo-box/index.d.ts
CHANGED
|
@@ -1,18 +1,17 @@
|
|
|
1
1
|
import { JSXInterface } from '../jsx';
|
|
2
|
-
import {
|
|
2
|
+
import { FormFieldElement, CSSResultGroup, PropertyValues, TapEvent, TemplateResult, StyleMap } from '@refinitiv-ui/core';
|
|
3
|
+
import { TemplateMap } from '@refinitiv-ui/core/lib/directives/template-map.js';
|
|
3
4
|
import { CollectionComposer, DataItem } from '@refinitiv-ui/utils/lib/collection.js';
|
|
4
5
|
import { AnimationTaskRunner } from '@refinitiv-ui/utils/lib/async.js';
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import type {
|
|
8
|
-
import
|
|
9
|
-
import { List, ListRenderer as ComboBoxRenderer } from '../list/index.js';
|
|
6
|
+
import { ItemData } from '../item';
|
|
7
|
+
import { ComboBoxData, ComboBoxFilter } from './helpers/types';
|
|
8
|
+
import type { List } from '../list/index.js';
|
|
9
|
+
import { ComboBoxRenderer } from './helpers/renderer.js';
|
|
10
10
|
import { CustomKeyboardEvent } from './helpers/keyboard-event.js';
|
|
11
11
|
import '../icon/index.js';
|
|
12
12
|
import '../overlay/index.js';
|
|
13
13
|
import '../list/index.js';
|
|
14
14
|
import '../counter/index.js';
|
|
15
|
-
import '../text-field/index.js';
|
|
16
15
|
import { TranslateDirective } from '@refinitiv-ui/translate';
|
|
17
16
|
import '@refinitiv-ui/phrasebook/lib/locale/en/combo-box.js';
|
|
18
17
|
export type { ComboBoxFilter, ComboBoxData };
|
|
@@ -33,7 +32,7 @@ export { ComboBoxRenderer };
|
|
|
33
32
|
* @fires query-changed - Dispatched when query changes
|
|
34
33
|
* @fires opened-changed - Dispatched when opened state changes
|
|
35
34
|
*/
|
|
36
|
-
export declare class ComboBox<T extends DataItem = ItemData> extends
|
|
35
|
+
export declare class ComboBox<T extends DataItem = ItemData> extends FormFieldElement {
|
|
37
36
|
/**
|
|
38
37
|
* Element version number
|
|
39
38
|
* @returns version number
|
|
@@ -137,7 +136,7 @@ export declare class ComboBox<T extends DataItem = ItemData> extends ControlElem
|
|
|
137
136
|
private _query;
|
|
138
137
|
/**
|
|
139
138
|
* Query string applied to combo-box
|
|
140
|
-
* Set via internal
|
|
139
|
+
* Set via internal input
|
|
141
140
|
* @readonly
|
|
142
141
|
* @default null
|
|
143
142
|
*/
|
|
@@ -176,10 +175,6 @@ export declare class ComboBox<T extends DataItem = ItemData> extends ControlElem
|
|
|
176
175
|
* Hold popup styling applied on open
|
|
177
176
|
*/
|
|
178
177
|
protected popupDynamicStyles: StyleMap;
|
|
179
|
-
/**
|
|
180
|
-
* Internal reference to text-field element
|
|
181
|
-
*/
|
|
182
|
-
protected inputEl: TextField;
|
|
183
178
|
/**
|
|
184
179
|
* Internal reference to list element
|
|
185
180
|
*/
|
|
@@ -218,6 +213,10 @@ export declare class ComboBox<T extends DataItem = ItemData> extends ControlElem
|
|
|
218
213
|
* The the values from composer ignoring freeTextValue
|
|
219
214
|
*/
|
|
220
215
|
protected get composerValues(): string[];
|
|
216
|
+
/**
|
|
217
|
+
* Get the first value of highlighted item
|
|
218
|
+
*/
|
|
219
|
+
protected get highlightedItemValue(): string | null;
|
|
221
220
|
/**
|
|
222
221
|
* Mark combobox with loading flag
|
|
223
222
|
* Used in conjunction with data promise
|
|
@@ -322,6 +321,10 @@ export declare class ComboBox<T extends DataItem = ItemData> extends ControlElem
|
|
|
322
321
|
* @returns {void}
|
|
323
322
|
*/
|
|
324
323
|
protected scrollToSelected(): void;
|
|
324
|
+
/**
|
|
325
|
+
* Get a list of highlighted items
|
|
326
|
+
*/
|
|
327
|
+
protected get highlightedItems(): readonly T[];
|
|
325
328
|
/**
|
|
326
329
|
* Highlights the item
|
|
327
330
|
* @param item data item to highlight
|
|
@@ -384,11 +387,23 @@ export declare class ComboBox<T extends DataItem = ItemData> extends ControlElem
|
|
|
384
387
|
*/
|
|
385
388
|
protected shiftFocus(): void;
|
|
386
389
|
/**
|
|
387
|
-
*
|
|
388
|
-
* @param event
|
|
390
|
+
* Runs on input element `input` event
|
|
391
|
+
* @param event `input` event
|
|
392
|
+
* @returns {void}
|
|
393
|
+
*/
|
|
394
|
+
protected onInputInput(event: InputEvent): void;
|
|
395
|
+
/**
|
|
396
|
+
* Runs on input element `change` event
|
|
397
|
+
* @param event `change` event
|
|
389
398
|
* @returns {void}
|
|
390
399
|
*/
|
|
391
|
-
protected
|
|
400
|
+
protected onInputChange(event: InputEvent): void;
|
|
401
|
+
/**
|
|
402
|
+
* Handle text value change from input field
|
|
403
|
+
* @param event Custom Event fired from input field
|
|
404
|
+
* @returns {void}
|
|
405
|
+
*/
|
|
406
|
+
protected onInputValueChanged(event: InputEvent): void;
|
|
392
407
|
/**
|
|
393
408
|
* Handle list value changed
|
|
394
409
|
* @returns {void}
|
|
@@ -503,6 +518,11 @@ export declare class ComboBox<T extends DataItem = ItemData> extends ControlElem
|
|
|
503
518
|
* @returns Popup template or undefined
|
|
504
519
|
*/
|
|
505
520
|
protected get popupTemplate(): TemplateResult | undefined;
|
|
521
|
+
/**
|
|
522
|
+
* Decorate `<input>` element with common properties extended from combobox input
|
|
523
|
+
* @returns template map
|
|
524
|
+
*/
|
|
525
|
+
protected get decorateInputMap(): TemplateMap;
|
|
506
526
|
/**
|
|
507
527
|
* Returns a template for input field
|
|
508
528
|
* @returns Input template
|
package/lib/combo-box/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { __decorate } from "tslib";
|
|
2
|
-
import {
|
|
2
|
+
import { FormFieldElement, css, html, WarningNotice, FocusedPropertyKey } from '@refinitiv-ui/core';
|
|
3
3
|
import { customElement } from '@refinitiv-ui/core/lib/decorators/custom-element.js';
|
|
4
4
|
import { property } from '@refinitiv-ui/core/lib/decorators/property.js';
|
|
5
5
|
import { query } from '@refinitiv-ui/core/lib/decorators/query.js';
|
|
@@ -9,14 +9,13 @@ import { ifDefined } from '@refinitiv-ui/core/lib/directives/if-defined.js';
|
|
|
9
9
|
import { VERSION } from '../version.js';
|
|
10
10
|
import { CollectionComposer } from '@refinitiv-ui/utils/lib/collection.js';
|
|
11
11
|
import { AnimationTaskRunner, TimeoutTaskRunner } from '@refinitiv-ui/utils/lib/async.js';
|
|
12
|
-
import {
|
|
12
|
+
import { ComboBoxRenderer } from './helpers/renderer.js';
|
|
13
13
|
import { defaultFilter } from './helpers/filter.js';
|
|
14
14
|
import { CustomKeyboardEvent } from './helpers/keyboard-event.js';
|
|
15
15
|
import '../icon/index.js';
|
|
16
16
|
import '../overlay/index.js';
|
|
17
17
|
import '../list/index.js';
|
|
18
18
|
import '../counter/index.js';
|
|
19
|
-
import '../text-field/index.js';
|
|
20
19
|
import { translate } from '@refinitiv-ui/translate';
|
|
21
20
|
import '@refinitiv-ui/phrasebook/lib/locale/en/combo-box.js';
|
|
22
21
|
export { ComboBoxRenderer };
|
|
@@ -45,7 +44,7 @@ const freeTextMultipleWarning = new WarningNotice('"free-text" mode is not compa
|
|
|
45
44
|
* @fires query-changed - Dispatched when query changes
|
|
46
45
|
* @fires opened-changed - Dispatched when opened state changes
|
|
47
46
|
*/
|
|
48
|
-
let ComboBox = class ComboBox extends
|
|
47
|
+
let ComboBox = class ComboBox extends FormFieldElement {
|
|
49
48
|
constructor() {
|
|
50
49
|
super(...arguments);
|
|
51
50
|
/**
|
|
@@ -153,13 +152,13 @@ let ComboBox = class ComboBox extends ControlElement {
|
|
|
153
152
|
user-select: none;
|
|
154
153
|
outline: none;
|
|
155
154
|
}
|
|
156
|
-
[part
|
|
155
|
+
[part~=input-wrapper] {
|
|
157
156
|
cursor: pointer;
|
|
158
157
|
}
|
|
159
|
-
[part
|
|
158
|
+
[part~=input] {
|
|
160
159
|
cursor: text;
|
|
161
160
|
}
|
|
162
|
-
[part
|
|
161
|
+
[part~=input]::-ms-clear {
|
|
163
162
|
display: none;
|
|
164
163
|
}
|
|
165
164
|
[hidden] {
|
|
@@ -296,7 +295,7 @@ let ComboBox = class ComboBox extends ControlElement {
|
|
|
296
295
|
}
|
|
297
296
|
/**
|
|
298
297
|
* Query string applied to combo-box
|
|
299
|
-
* Set via internal
|
|
298
|
+
* Set via internal input
|
|
300
299
|
* @readonly
|
|
301
300
|
* @default null
|
|
302
301
|
*/
|
|
@@ -392,6 +391,15 @@ let ComboBox = class ComboBox extends ControlElement {
|
|
|
392
391
|
return this.queryItemsByPropertyValue('selected', true)
|
|
393
392
|
.map(item => this.getItemPropertyValue(item, 'value'));
|
|
394
393
|
}
|
|
394
|
+
/**
|
|
395
|
+
* Get the first value of highlighted item
|
|
396
|
+
*/
|
|
397
|
+
get highlightedItemValue() {
|
|
398
|
+
if (!this.opened) {
|
|
399
|
+
return null;
|
|
400
|
+
}
|
|
401
|
+
return this.highlightedItems.map(item => this.getItemPropertyValue(item, 'value'))[0] || '';
|
|
402
|
+
}
|
|
395
403
|
/**
|
|
396
404
|
* Return currently selected items
|
|
397
405
|
* This is distinct from values as for controls with persistence features
|
|
@@ -479,9 +487,9 @@ let ComboBox = class ComboBox extends ControlElement {
|
|
|
479
487
|
}
|
|
480
488
|
// If label is defined it means that there is an actual value
|
|
481
489
|
// Select input text to simplify clearing the value
|
|
482
|
-
if (focusedChanged && this.focused && this.label) {
|
|
483
|
-
this.
|
|
484
|
-
this.
|
|
490
|
+
if (focusedChanged && this.focused && this.label && this.inputElement) {
|
|
491
|
+
this.inputElement.focus();
|
|
492
|
+
this.inputElement.select();
|
|
485
493
|
}
|
|
486
494
|
// Make sure that the first item is always highlighted
|
|
487
495
|
if (this.opened && (changedProperties.has('opened') || changedProperties.has('data') || changedProperties.has('query'))) {
|
|
@@ -578,6 +586,12 @@ let ComboBox = class ComboBox extends ControlElement {
|
|
|
578
586
|
(_a = this.listEl) === null || _a === void 0 ? void 0 : _a.scrollToItem(item);
|
|
579
587
|
}
|
|
580
588
|
}
|
|
589
|
+
/**
|
|
590
|
+
* Get a list of highlighted items
|
|
591
|
+
*/
|
|
592
|
+
get highlightedItems() {
|
|
593
|
+
return this.queryItemsByPropertyValue('highlighted', true);
|
|
594
|
+
}
|
|
581
595
|
/**
|
|
582
596
|
* Highlights the item
|
|
583
597
|
* @param item data item to highlight
|
|
@@ -592,8 +606,7 @@ let ComboBox = class ComboBox extends ControlElement {
|
|
|
592
606
|
* @returns {void}
|
|
593
607
|
*/
|
|
594
608
|
clearHighlighted() {
|
|
595
|
-
this.
|
|
596
|
-
.forEach(item => this.setItemPropertyValue(item, 'highlighted', false));
|
|
609
|
+
this.highlightedItems.forEach(item => this.setItemPropertyValue(item, 'highlighted', false));
|
|
597
610
|
}
|
|
598
611
|
/**
|
|
599
612
|
* Popup has to use max width if --list-max-width specified
|
|
@@ -738,12 +751,29 @@ let ComboBox = class ComboBox extends ControlElement {
|
|
|
738
751
|
});
|
|
739
752
|
}
|
|
740
753
|
/**
|
|
741
|
-
*
|
|
742
|
-
* @param event
|
|
754
|
+
* Runs on input element `input` event
|
|
755
|
+
* @param event `input` event
|
|
756
|
+
* @returns {void}
|
|
757
|
+
*/
|
|
758
|
+
onInputInput(event) {
|
|
759
|
+
this.onInputValueChanged(event);
|
|
760
|
+
}
|
|
761
|
+
/**
|
|
762
|
+
* Runs on input element `change` event
|
|
763
|
+
* @param event `change` event
|
|
764
|
+
* @returns {void}
|
|
765
|
+
*/
|
|
766
|
+
onInputChange(event) {
|
|
767
|
+
this.onInputValueChanged(event);
|
|
768
|
+
}
|
|
769
|
+
/**
|
|
770
|
+
* Handle text value change from input field
|
|
771
|
+
* @param event Custom Event fired from input field
|
|
743
772
|
* @returns {void}
|
|
744
773
|
*/
|
|
774
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
745
775
|
onInputValueChanged(event) {
|
|
746
|
-
const inputText =
|
|
776
|
+
const inputText = this.inputValue;
|
|
747
777
|
/**
|
|
748
778
|
* Query is used to track if there is a query
|
|
749
779
|
* We always use it so the absence of it can be used to reapply the
|
|
@@ -866,8 +896,8 @@ let ComboBox = class ComboBox extends ControlElement {
|
|
|
866
896
|
* @returns {void}
|
|
867
897
|
*/
|
|
868
898
|
onKeyDown(event) {
|
|
869
|
-
// Check if the event is already handle by list
|
|
870
|
-
if (event.defaultPrevented) {
|
|
899
|
+
// Check if the event is already handle by list or it set to 'readonly'
|
|
900
|
+
if (event.defaultPrevented || this.readonly) {
|
|
871
901
|
return;
|
|
872
902
|
}
|
|
873
903
|
switch (event.key) {
|
|
@@ -902,8 +932,10 @@ let ComboBox = class ComboBox extends ControlElement {
|
|
|
902
932
|
// and the cursor is positioned at the end of input
|
|
903
933
|
// Wait before the update cycle completes
|
|
904
934
|
void this.updateComplete.then(() => {
|
|
905
|
-
this.
|
|
906
|
-
|
|
935
|
+
if (this.inputElement) {
|
|
936
|
+
this.inputElement.focus();
|
|
937
|
+
this.inputElement.setSelectionRange(label.length, label.length);
|
|
938
|
+
}
|
|
907
939
|
});
|
|
908
940
|
}
|
|
909
941
|
}
|
|
@@ -1050,21 +1082,20 @@ let ComboBox = class ComboBox extends ControlElement {
|
|
|
1050
1082
|
>${hasVisibleItems ? this.listTemplate : this.noItemsTemplate}</ef-overlay>`;
|
|
1051
1083
|
}
|
|
1052
1084
|
}
|
|
1085
|
+
/**
|
|
1086
|
+
* Decorate `<input>` element with common properties extended from combobox input
|
|
1087
|
+
* @returns template map
|
|
1088
|
+
*/
|
|
1089
|
+
get decorateInputMap() {
|
|
1090
|
+
return Object.assign(Object.assign({}, super.decorateInputMap), { 'part': 'input', 'type': 'text', 'role': 'combobox', '.value': this.focused ? this.inputText : this.freeTextValue || this.label, 'aria-expanded': this.opened ? 'true' : 'false', 'aria-haspopup': 'listbox', 'aria-autocomplete': 'list', 'aria-owns': 'internal-list', 'aria-activedescendant': this.highlightedItemValue });
|
|
1091
|
+
}
|
|
1053
1092
|
/**
|
|
1054
1093
|
* Returns a template for input field
|
|
1055
1094
|
* @returns Input template
|
|
1056
1095
|
*/
|
|
1057
1096
|
get inputTemplate() {
|
|
1058
|
-
const inputValue = this.focused ? this.inputText : this.freeTextValue || this.label;
|
|
1059
1097
|
return html `<div part="input-wrapper">
|
|
1060
|
-
|
|
1061
|
-
part="input"
|
|
1062
|
-
transparent
|
|
1063
|
-
.placeholder="${this.placeholder}"
|
|
1064
|
-
.readonly="${this.readonly}"
|
|
1065
|
-
.disabled="${this.disabled}"
|
|
1066
|
-
.value="${inputValue}"
|
|
1067
|
-
@value-changed="${this.onInputValueChanged}"></ef-text-field>
|
|
1098
|
+
${this.renderInput()}
|
|
1068
1099
|
${this.selectionBadgeTemplate}
|
|
1069
1100
|
${this.clearButtonTemplate}
|
|
1070
1101
|
<div id="toggle-button" part="button button-toggle">
|
|
@@ -1126,9 +1157,6 @@ __decorate([
|
|
|
1126
1157
|
__decorate([
|
|
1127
1158
|
property({ type: String, attribute: false })
|
|
1128
1159
|
], ComboBox.prototype, "query", null);
|
|
1129
|
-
__decorate([
|
|
1130
|
-
query('[part=input]')
|
|
1131
|
-
], ComboBox.prototype, "inputEl", void 0);
|
|
1132
1160
|
__decorate([
|
|
1133
1161
|
query('#internal-list')
|
|
1134
1162
|
], ComboBox.prototype, "listEl", void 0);
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import '@refinitiv-ui/elements/lib/overlay/themes/halo/dark';
|
|
2
2
|
import '@refinitiv-ui/elements/lib/list/themes/halo/dark';
|
|
3
3
|
import '@refinitiv-ui/elements/lib/counter/themes/halo/dark';
|
|
4
|
-
import '@refinitiv-ui/elements/lib/text-field/themes/halo/dark';
|
|
5
4
|
import '@refinitiv-ui/elements/lib/item/themes/halo/dark';
|
|
6
5
|
import '@refinitiv-ui/elements/lib/icon/themes/halo/dark';
|
|
7
6
|
|
|
8
|
-
elf.customStyles.define('ef-combo-box', ':host{display:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;text-align:left;font-family:inherit;font-size:12rem;font-weight:400;height:24px;width:152px;max-width:100%;margin:1px 0;outline:0;box-sizing:border-box;display:inline-flex;align-items:center;position:relative;vertical-align:middle;border-radius:0;background-color:#0d0d0d;text-overflow:ellipsis;border:1px solid #404040;scrollbar-face-color:#595959;scrollbar-shadow-color:#595959;scrollbar-highlight-color:#595959;scrollbar-arrow-color:#595959;scrollbar-track-color:#1a1a1a;scrollbar-3dlight-color:#1a1a1a;scrollbar-darkshadow-color:#1a1a1a;scrollbar-color:#595959 #1a1a1a;scrollbar-width:thin;color:#ccc;cursor:pointer;scrollbar-face-color:#595959;scrollbar-shadow-color:#595959;scrollbar-highlight-color:#595959;scrollbar-arrow-color:#595959;scrollbar-track-color:#1a1a1a;scrollbar-3dlight-color:#1a1a1a;scrollbar-darkshadow-color:#1a1a1a;scrollbar-color:#595959 #1a1a1a;scrollbar-width:thin;padding:0}:host([type=number]){padding-right:0}:host([warning]){border:1px solid #ffc800}:host([warning][disabled]){color:rgba(204,204,204,.5);border:1px solid rgba(127,100,0,.5)}:host([error]),:host([error][warning]){border:1px solid #f5475b}:host([error][disabled]),:host([error][warning][disabled]){color:rgba(204,204,204,.5);border:1px solid rgba(160,28,43,.5)}:host ::-ms-clear{display:none}:host(:not([readonly])[focused]),:host([focused]){background-size:100% 2px,100% 1px!important;background-position:center bottom!important;border-color:#334bff}:host [part=input]{color:inherit;margin:0;flex:1 1 auto;min-width:0;height:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;text-overflow:ellipsis;touch-action:manipulation;width:100%;padding:0 8px}:host [part=input]::-webkit-clear-button,:host [part=input]::-webkit-inner-spin-button,:host [part=input]::-webkit-search-cancel-button,:host [part=input]::-webkit-search-decoration{-webkit-appearance:none}:host [part=input]:invalid{box-shadow:none}:host([disabled]) [part=input]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}:host([readonly]){cursor:default}:host [part=placeholder]{opacity:.5;opacity:.7}:host [part=label],:host [part=placeholder]{margin-right:3px}:host [part~=icon]{color:#ccc;opacity:.7}:host(:not([readonly]):hover) [part~=icon],:host(:not([readonly])[focused]) [part~=icon]{opacity:1}:host(:not([readonly])[focused]) [part~=icon]{color:#334bff}:host([disabled]) [part~=icon]{color:rgba(64,64,64,.5)}:host [part=input-wrapper]{touch-action:manipulation;display:flex;align-items:center;width:100%;height:100%}:host [part~=button]{display:flex;justify-content:center;align-items:center;flex:none;height:100%;width:24px}:host [part=list]{max-width:var(--list-max-width,300px);max-height:var(--list-max-height);display:flex;flex-flow:column nowrap;color:#ccc;max-width:var(--list-max-width,300px);max-height:var(--list-max-height);border:1px solid #334bff;margin:2px 0;background-color:#262626}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){:host [part=list] ::slotted(ef-list){max-height:inherit}}:host [part=selection-badge]{min-width:21px;flex-shrink:0;height:16px;min-width:20px}:host([disabled]) [part~=selection-badge]{opacity:.4}:host ::-moz-selection{color:#fff;background-color:#334bff}:host ::selection{color:#fff;background-color:#334bff}:host [part=icon]{color:#ccc;min-width:1em;padding-left:2px;color:inherit}:host(:not([readonly]):not([error]):not([warning]):not([focused]):hover){border-color:grey;color:#fff}:host(:not([readonly]):not([error]):not([warning]):not([focused]):hover) [part=icon]{color:#6678ff}:host([warning]:hover:not([readonly]):not([focused])){color:#fff;border-color:#ffe999}:host([warning][disabled]),:host([warning][readonly]:not([focused])){border-color:rgba(255,233,153,.5)}:host([error]:hover:not([readonly]):not([focused])){color:#fff;border-color:#faa8b1}:host([error][disabled]),:host([error][readonly]:not([focused])),:host([error][warning][disabled]){border-color:rgba(250,168,177,.5)}:host([disabled]){border:1px solid rgba(64,64,64,.5);color:rgba(204,204,204,.5);background-color:rgba(13,13,13,.5)}:host([readonly]:not([focused])){border-color:rgba(64,64,64,.5);background-color:rgba(13,13,13,.5)}:host([readonly]:not([focused])) [part=icon]{color:rgba(204,204,204,.5)}:host(:not([readonly])[focused]),:host([focused]),:host([focused][error][warning]){border-color:#334bff;color:#fff}:host([focused]) [part=icon],:host([focused][error][warning]) [part=icon]{color:#6678ff}:host [part=list] ::slotted(ef-item:not(:first-child):not([type=divider])),:host [part=list] ef-item:not(:first-child):not([type=divider]){box-shadow:0 -1px 0 #404040}:host [part=list] ::slotted(:not(ef-item)){display:none}::-webkit-scrollbar-corner{background:0 0}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#595959;border-radius:0;border:1px solid transparent}::-webkit-scrollbar-thumb:hover{background:#334bff}::-webkit-scrollbar-thumb:active{background:#0f1e8a}::-webkit-scrollbar-track{background:#1a1a1a}::-webkit-scrollbar-thumb:horizontal{background-size:auto 6px;background-repeat:repeat-x;background-image:linear-gradient(to bottom,#595959,#595959);background-color:transparent;background-position:center}::-webkit-scrollbar-thumb:horizontal:hover{background-image:linear-gradient(to bottom,#334bff,#334bff);background-color:transparent;background-position:center}::-webkit-scrollbar-thumb:horizontal:active{background-image:linear-gradient(to bottom,#0f1e8a,#0f1e8a);background-color:transparent;background-position:center}::-webkit-scrollbar-thumb:vertical{background-size:6px auto;background-repeat:repeat-y;background-image:linear-gradient(to right,#595959,#595959);background-color:transparent;background-position:center}::-webkit-scrollbar-thumb:vertical:hover{background-image:linear-gradient(to right,#334bff,#334bff);background-color:transparent;background-position:center}::-webkit-scrollbar-thumb:vertical:active{background-image:linear-gradient(to right,#0f1e8a,#0f1e8a);background-color:transparent;background-position:center}::-webkit-scrollbar-track:horizontal{border-top:1px solid #0d0d0d;border-bottom:1px solid #0d0d0d}::-webkit-scrollbar-track:vertical{border-left:1px solid #0d0d0d;border-right:1px solid #0d0d0d}::-webkit-scrollbar-button{background:0 0/1px 2px no-repeat #1a1a1a;height:16px;width:16px;display:none;border:1px solid #0d0d0d}::-webkit-scrollbar-button:end:decrement,::-webkit-scrollbar-button:start:increment{display:none}::-webkit-scrollbar-button:hover{background-color:#334bff;border:1px solid #334bff}::-webkit-scrollbar-button:active{background-color:#0f1e8a;border:1px solid #0d0d0d}::-webkit-scrollbar-button:horizontal{background-size:2px 1px}::-webkit-scrollbar-button:vertical:start:decrement{border-bottom-color:#0d0d0d;background-image:linear-gradient(#ccc,#ccc),linear-gradient(#ccc,#ccc),linear-gradient(#ccc,#ccc),linear-gradient(#ccc,#ccc),linear-gradient(#ccc,#ccc),linear-gradient(#ccc,#ccc),linear-gradient(#ccc,#ccc),linear-gradient(#ccc,#ccc),linear-gradient(#ccc,#ccc);background-position:10.55px 8px,9.55px 7px,8.55px 6px,7.55px 5px,6.55px 4px,5.55px 5px,4.55px 6px,3.55px 7px,2.55px 8px}::-webkit-scrollbar-button:vertical:start:decrement:hover{background-image:linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff);background-position:10.55px 8px,9.55px 7px,8.55px 6px,7.55px 5px,6.55px 4px,5.55px 5px,4.55px 6px,3.55px 7px,2.55px 8px;border-bottom-color:#334bff}::-webkit-scrollbar-button:vertical:start:decrement:active{background-image:linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff);background-position:10.55px 8px,9.55px 7px,8.55px 6px,7.55px 5px,6.55px 4px,5.55px 5px,4.55px 6px,3.55px 7px,2.55px 8px;border-bottom-color:#0d0d0d}::-webkit-scrollbar-button:vertical:end:increment{border-top-color:#0d0d0d;background-image:linear-gradient(#ccc,#ccc),linear-gradient(#ccc,#ccc),linear-gradient(#ccc,#ccc),linear-gradient(#ccc,#ccc),linear-gradient(#ccc,#ccc),linear-gradient(#ccc,#ccc),linear-gradient(#ccc,#ccc),linear-gradient(#ccc,#ccc),linear-gradient(#ccc,#ccc);background-position:10.55px 4px,9.55px 5px,8.55px 6px,7.55px 7px,6.55px 8px,5.55px 7px,4.55px 6px,3.55px 5px,2.55px 4px}::-webkit-scrollbar-button:vertical:end:increment:hover{background-image:linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff);background-position:10.55px 4px,9.55px 5px,8.55px 6px,7.55px 7px,6.55px 8px,5.55px 7px,4.55px 6px,3.55px 5px,2.55px 4px;border-top-color:#334bff}::-webkit-scrollbar-button:vertical:end:increment:active{background-image:linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff);background-position:10.55px 4px,9.55px 5px,8.55px 6px,7.55px 7px,6.55px 8px,5.55px 7px,4.55px 6px,3.55px 5px,2.55px 4px;border-top-color:#0d0d0d}::-webkit-scrollbar-button:horizontal:start:decrement{border-right-color:#0d0d0d;background-image:linear-gradient(#ccc,#ccc),linear-gradient(#ccc,#ccc),linear-gradient(#ccc,#ccc),linear-gradient(#ccc,#ccc),linear-gradient(#ccc,#ccc),linear-gradient(#ccc,#ccc),linear-gradient(#ccc,#ccc),linear-gradient(#ccc,#ccc),linear-gradient(#ccc,#ccc);background-position:7.5px 10.55px,6.5px 9.55px,5.5px 8.55px,4.5px 7.55px,3.5px 6.55px,4.5px 5.55px,5.5px 4.55px,6.5px 3.55px,7.5px 2.55px}::-webkit-scrollbar-button:horizontal:start:decrement:hover{background-image:linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff);background-position:7.5px 10.55px,6.5px 9.55px,5.5px 8.55px,4.5px 7.55px,3.5px 6.55px,4.5px 5.55px,5.5px 4.55px,6.5px 3.55px,7.5px 2.55px;border-right-color:#334bff}::-webkit-scrollbar-button:horizontal:start:decrement:active{background-image:linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff);background-position:7.5px 10.55px,6.5px 9.55px,5.5px 8.55px,4.5px 7.55px,3.5px 6.55px,4.5px 5.55px,5.5px 4.55px,6.5px 3.55px,7.5px 2.55px;border-right-color:#0d0d0d}::-webkit-scrollbar-button:horizontal:end:increment{border-left-color:#0d0d0d;background-image:linear-gradient(#ccc,#ccc),linear-gradient(#ccc,#ccc),linear-gradient(#ccc,#ccc),linear-gradient(#ccc,#ccc),linear-gradient(#ccc,#ccc),linear-gradient(#ccc,#ccc),linear-gradient(#ccc,#ccc),linear-gradient(#ccc,#ccc),linear-gradient(#ccc,#ccc);background-position:5px 10.55px,6px 9.55px,7px 8.55px,8px 7.55px,9px 6.55px,8px 5.55px,7px 4.55px,6px 3.55px,5px 2.55px}::-webkit-scrollbar-button:horizontal:end:increment:hover{background-image:linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff);background-position:5px 10.55px,6px 9.55px,7px 8.55px,8px 7.55px,9px 6.55px,8px 5.55px,7px 4.55px,6px 3.55px,5px 2.55px;border-left-color:#334bff}::-webkit-scrollbar-button:horizontal:end:increment:active{background-image:linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff);background-position:5px 10.55px,6px 9.55px,7px 8.55px,8px 7.55px,9px 6.55px,8px 5.55px,7px 4.55px,6px 3.55px,5px 2.55px;border-left-color:#0d0d0d}:host [part=input-wrapper]{border-left-color:inherit}:host [part~=button-toggle]{border-left:1px solid #404040;border-left-color:inherit}:host [part~=button-toggle]::before{content:\'\';display:block;position:absolute;top:-1px;right:-1px;bottom:-1px;width:24px;border:1px solid transparent}:host(:not([readonly])) [part~=button-clear]:hover{color:#334bff}:host(:not([readonly]):hover) [part~=button-toggle]{color:#334bff}:host(:not([readonly])[focused]) [part~=button-toggle]{border-left-color:#334bff;color:#334bff}:host(:not([readonly])) [part~=button-toggle]:hover{border-left-color:#334bff;color:#fff;background:#334bff}:host(:not([readonly])) [part~=button-toggle]:hover::after{content:\'\';display:block;position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border:1px solid #334bff;pointer-events:none}:host(:not([readonly])) [part~=button-toggle]:active{background:#0f1e8a}:host(:not([readonly])) [part~=button]:active{color:#fff}:host(:not([readonly])) [part~=icon]{color:inherit!important}:host([disabled]) [part~=button-toggle],:host([readonly]) [part~=button-toggle]{border-left-color:rgba(64,64,64,.5)}:host([readonly]) [part~=button-toggle]{color:rgba(204,204,204,.5);cursor:default}:host([focused][readonly]) [part~=button-toggle]{border-left-color:#334bff}:host [part=list] ::slotted(ef-list){display:block}:host [part=selection-badge]:hover{background-color:#334bff;color:#fff}');
|
|
7
|
+
elf.customStyles.define('ef-combo-box', ':host{display:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;text-align:left;font-family:inherit;font-size:12rem;font-weight:400;height:24px;width:152px;max-width:100%;margin:1px 0;outline:0;box-sizing:border-box;display:inline-flex;align-items:center;position:relative;vertical-align:middle;border-radius:0;background-color:#0d0d0d;text-overflow:ellipsis;border:1px solid #404040;scrollbar-face-color:#595959;scrollbar-shadow-color:#595959;scrollbar-highlight-color:#595959;scrollbar-arrow-color:#595959;scrollbar-track-color:#1a1a1a;scrollbar-3dlight-color:#1a1a1a;scrollbar-darkshadow-color:#1a1a1a;scrollbar-color:#595959 #1a1a1a;scrollbar-width:thin;color:#ccc;cursor:pointer;scrollbar-face-color:#595959;scrollbar-shadow-color:#595959;scrollbar-highlight-color:#595959;scrollbar-arrow-color:#595959;scrollbar-track-color:#1a1a1a;scrollbar-3dlight-color:#1a1a1a;scrollbar-darkshadow-color:#1a1a1a;scrollbar-color:#595959 #1a1a1a;scrollbar-width:thin;padding:0}:host([disabled]){border:1px solid rgba(64,64,64,.5)}:host([type=number]){padding-right:0}:host([warning]){border:1px solid #7f6400}:host([warning][disabled]){color:rgba(204,204,204,.5);border:1px solid rgba(127,100,0,.5)}:host([error]),:host([error][warning]){border:1px solid #a01c2b}:host([error][disabled]),:host([error][warning][disabled]){color:rgba(204,204,204,.5);border:1px solid rgba(160,28,43,.5)}:host ::-ms-clear{display:none}:host(:not([readonly])[focused]),:host([focused]){background-size:100% 2px,100% 1px!important;background-position:center bottom!important;border-color:#334bff}:host [part=input]{color:inherit;padding:0;margin:0;flex:1 1 auto;min-width:0;width:100%;height:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;text-overflow:ellipsis;touch-action:manipulation}:host [part=input]::-webkit-clear-button,:host [part=input]::-webkit-inner-spin-button,:host [part=input]::-webkit-search-cancel-button,:host [part=input]::-webkit-search-decoration{-webkit-appearance:none}:host [part=input]:invalid{box-shadow:none}:host [part=icon]{color:#ccc;min-width:1em}:host([disabled]) [part=input]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}:host([readonly]){cursor:default}:host [part=placeholder]{opacity:.5;opacity:.7}:host [part=label],:host [part=placeholder]{margin-right:3px}:host [part~=icon]{color:#ccc;opacity:.7}:host(:not([readonly]):hover) [part~=icon],:host(:not([readonly])[focused]) [part~=icon]{opacity:1}:host(:not([readonly])[focused]) [part~=icon]{color:#334bff}:host([disabled]) [part~=icon]{color:rgba(64,64,64,.5)}:host [part=list]{max-width:var(--list-max-width,300px);max-height:var(--list-max-height)}:host [part~=input-wrapper]{touch-action:manipulation;display:flex;align-items:center;width:100%;height:100%}:host [part~=input]{display:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;text-align:left;font-family:inherit;font-size:12rem;font-weight:400;height:24px;max-width:100%;margin:1px 0;outline:0;box-sizing:border-box;display:inline-flex;align-items:center;position:relative;vertical-align:middle;color:#ccc;border-radius:0;text-overflow:ellipsis;border:1px solid #404040;width:100%;background:0 0;border:none}:host [part~=input][disabled]{color:rgba(204,204,204,.5);border:1px solid rgba(64,64,64,.5)}:host [part~=input][type=number]{padding-right:0}:host [part~=input][warning]{border:1px solid #7f6400}:host [part~=input][warning][disabled]{color:rgba(204,204,204,.5);border:1px solid rgba(127,100,0,.5)}:host [part~=input][error],:host [part~=input][error][warning]{border:1px solid #a01c2b}:host [part~=input][error][disabled],:host [part~=input][error][warning][disabled]{color:rgba(204,204,204,.5);border:1px solid rgba(160,28,43,.5)}:host [part~=input] ::-ms-clear{display:none}:host [part~=button]{display:flex;justify-content:center;align-items:center;flex:none;height:100%;width:24px}:host [part~=list]{display:flex;flex-flow:column nowrap}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){:host [part~=list] ::slotted(ef-list){max-height:inherit}}:host [part~=selection-badge]{min-width:21px;flex-shrink:0;height:16px;min-width:20px}:host([disabled]) [part~=selection-badge]{opacity:.4}:host ::-moz-selection{color:#fff;background-color:#334bff}:host ::selection{color:#fff;background-color:#334bff}:host [part=icon]{padding-left:2px;color:inherit}:host(:not([readonly]):not([error]):not([warning]):not([focused]):hover){border-color:grey;color:#fff}:host(:not([readonly]):not([error]):not([warning]):not([focused]):hover) [part=icon]{color:#6678ff}:host([warning]){border-color:#ffc800}:host([error]),:host([error][warning]){border-color:#f5475b}:host([warning]:hover:not([readonly]):not([focused])){color:#fff;border-color:#ffe999}:host([warning][disabled]),:host([warning][readonly]:not([focused])){border-color:rgba(255,233,153,.5)}:host([error]:hover:not([readonly]):not([focused])){color:#fff;border-color:#faa8b1}:host([error][disabled]),:host([error][readonly]:not([focused])),:host([error][warning][disabled]){border-color:rgba(250,168,177,.5)}:host([disabled]){color:rgba(204,204,204,.5);border-color:rgba(64,64,64,.5);background-color:rgba(13,13,13,.5)}:host([readonly]:not([focused])){border-color:rgba(64,64,64,.5);background-color:rgba(13,13,13,.5)}:host([readonly]:not([focused])) [part=icon]{color:rgba(204,204,204,.5)}:host(:not([readonly])[focused]),:host([focused]),:host([focused][error][warning]){border-color:#334bff;color:#fff}:host([focused]) [part=icon],:host([focused][error][warning]) [part=icon]{color:#6678ff}:host [part=list]{color:#ccc;max-width:var(--list-max-width,300px);max-height:var(--list-max-height);border:1px solid #334bff;margin:2px 0;background-color:#262626}:host [part=list] ::slotted(ef-item:not(:first-child):not([type=divider])),:host [part=list] ef-item:not(:first-child):not([type=divider]){box-shadow:0 -1px 0 #404040}:host [part=list] ::slotted(:not(ef-item)){display:none}::-webkit-scrollbar-corner{background:0 0}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#595959;border-radius:0;border:1px solid transparent}::-webkit-scrollbar-thumb:hover{background:#334bff}::-webkit-scrollbar-thumb:active{background:#0f1e8a}::-webkit-scrollbar-track{background:#1a1a1a}::-webkit-scrollbar-thumb:horizontal{background-size:auto 6px;background-repeat:repeat-x;background-image:linear-gradient(to bottom,#595959,#595959);background-color:transparent;background-position:center}::-webkit-scrollbar-thumb:horizontal:hover{background-image:linear-gradient(to bottom,#334bff,#334bff);background-color:transparent;background-position:center}::-webkit-scrollbar-thumb:horizontal:active{background-image:linear-gradient(to bottom,#0f1e8a,#0f1e8a);background-color:transparent;background-position:center}::-webkit-scrollbar-thumb:vertical{background-size:6px auto;background-repeat:repeat-y;background-image:linear-gradient(to right,#595959,#595959);background-color:transparent;background-position:center}::-webkit-scrollbar-thumb:vertical:hover{background-image:linear-gradient(to right,#334bff,#334bff);background-color:transparent;background-position:center}::-webkit-scrollbar-thumb:vertical:active{background-image:linear-gradient(to right,#0f1e8a,#0f1e8a);background-color:transparent;background-position:center}::-webkit-scrollbar-track:horizontal{border-top:1px solid #0d0d0d;border-bottom:1px solid #0d0d0d}::-webkit-scrollbar-track:vertical{border-left:1px solid #0d0d0d;border-right:1px solid #0d0d0d}::-webkit-scrollbar-button{background:0 0/1px 2px no-repeat #1a1a1a;height:16px;width:16px;display:none;border:1px solid #0d0d0d}::-webkit-scrollbar-button:end:decrement,::-webkit-scrollbar-button:start:increment{display:none}::-webkit-scrollbar-button:hover{background-color:#334bff;border:1px solid #334bff}::-webkit-scrollbar-button:active{background-color:#0f1e8a;border:1px solid #0d0d0d}::-webkit-scrollbar-button:horizontal{background-size:2px 1px}::-webkit-scrollbar-button:vertical:start:decrement{border-bottom-color:#0d0d0d;background-image:linear-gradient(#ccc,#ccc),linear-gradient(#ccc,#ccc),linear-gradient(#ccc,#ccc),linear-gradient(#ccc,#ccc),linear-gradient(#ccc,#ccc),linear-gradient(#ccc,#ccc),linear-gradient(#ccc,#ccc),linear-gradient(#ccc,#ccc),linear-gradient(#ccc,#ccc);background-position:10.55px 8px,9.55px 7px,8.55px 6px,7.55px 5px,6.55px 4px,5.55px 5px,4.55px 6px,3.55px 7px,2.55px 8px}::-webkit-scrollbar-button:vertical:start:decrement:hover{background-image:linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff);background-position:10.55px 8px,9.55px 7px,8.55px 6px,7.55px 5px,6.55px 4px,5.55px 5px,4.55px 6px,3.55px 7px,2.55px 8px;border-bottom-color:#334bff}::-webkit-scrollbar-button:vertical:start:decrement:active{background-image:linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff);background-position:10.55px 8px,9.55px 7px,8.55px 6px,7.55px 5px,6.55px 4px,5.55px 5px,4.55px 6px,3.55px 7px,2.55px 8px;border-bottom-color:#0d0d0d}::-webkit-scrollbar-button:vertical:end:increment{border-top-color:#0d0d0d;background-image:linear-gradient(#ccc,#ccc),linear-gradient(#ccc,#ccc),linear-gradient(#ccc,#ccc),linear-gradient(#ccc,#ccc),linear-gradient(#ccc,#ccc),linear-gradient(#ccc,#ccc),linear-gradient(#ccc,#ccc),linear-gradient(#ccc,#ccc),linear-gradient(#ccc,#ccc);background-position:10.55px 4px,9.55px 5px,8.55px 6px,7.55px 7px,6.55px 8px,5.55px 7px,4.55px 6px,3.55px 5px,2.55px 4px}::-webkit-scrollbar-button:vertical:end:increment:hover{background-image:linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff);background-position:10.55px 4px,9.55px 5px,8.55px 6px,7.55px 7px,6.55px 8px,5.55px 7px,4.55px 6px,3.55px 5px,2.55px 4px;border-top-color:#334bff}::-webkit-scrollbar-button:vertical:end:increment:active{background-image:linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff);background-position:10.55px 4px,9.55px 5px,8.55px 6px,7.55px 7px,6.55px 8px,5.55px 7px,4.55px 6px,3.55px 5px,2.55px 4px;border-top-color:#0d0d0d}::-webkit-scrollbar-button:horizontal:start:decrement{border-right-color:#0d0d0d;background-image:linear-gradient(#ccc,#ccc),linear-gradient(#ccc,#ccc),linear-gradient(#ccc,#ccc),linear-gradient(#ccc,#ccc),linear-gradient(#ccc,#ccc),linear-gradient(#ccc,#ccc),linear-gradient(#ccc,#ccc),linear-gradient(#ccc,#ccc),linear-gradient(#ccc,#ccc);background-position:7.5px 10.55px,6.5px 9.55px,5.5px 8.55px,4.5px 7.55px,3.5px 6.55px,4.5px 5.55px,5.5px 4.55px,6.5px 3.55px,7.5px 2.55px}::-webkit-scrollbar-button:horizontal:start:decrement:hover{background-image:linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff);background-position:7.5px 10.55px,6.5px 9.55px,5.5px 8.55px,4.5px 7.55px,3.5px 6.55px,4.5px 5.55px,5.5px 4.55px,6.5px 3.55px,7.5px 2.55px;border-right-color:#334bff}::-webkit-scrollbar-button:horizontal:start:decrement:active{background-image:linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff);background-position:7.5px 10.55px,6.5px 9.55px,5.5px 8.55px,4.5px 7.55px,3.5px 6.55px,4.5px 5.55px,5.5px 4.55px,6.5px 3.55px,7.5px 2.55px;border-right-color:#0d0d0d}::-webkit-scrollbar-button:horizontal:end:increment{border-left-color:#0d0d0d;background-image:linear-gradient(#ccc,#ccc),linear-gradient(#ccc,#ccc),linear-gradient(#ccc,#ccc),linear-gradient(#ccc,#ccc),linear-gradient(#ccc,#ccc),linear-gradient(#ccc,#ccc),linear-gradient(#ccc,#ccc),linear-gradient(#ccc,#ccc),linear-gradient(#ccc,#ccc);background-position:5px 10.55px,6px 9.55px,7px 8.55px,8px 7.55px,9px 6.55px,8px 5.55px,7px 4.55px,6px 3.55px,5px 2.55px}::-webkit-scrollbar-button:horizontal:end:increment:hover{background-image:linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff);background-position:5px 10.55px,6px 9.55px,7px 8.55px,8px 7.55px,9px 6.55px,8px 5.55px,7px 4.55px,6px 3.55px,5px 2.55px;border-left-color:#334bff}::-webkit-scrollbar-button:horizontal:end:increment:active{background-image:linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff);background-position:5px 10.55px,6px 9.55px,7px 8.55px,8px 7.55px,9px 6.55px,8px 5.55px,7px 4.55px,6px 3.55px,5px 2.55px;border-left-color:#0d0d0d}:host [part~=input-wrapper]{border-left-color:inherit}:host [part~=input]{padding:0 8px}:host [part~=button-toggle]{border-left:1px solid #404040;border-left-color:inherit}:host [part~=button-toggle]::before{content:\'\';display:block;position:absolute;top:-1px;right:-1px;bottom:-1px;width:24px;border:1px solid transparent}:host(:not([readonly])) [part~=button-clear]:hover{color:#334bff}:host(:not([readonly]):hover) [part~=button-toggle]{color:#334bff}:host(:not([readonly])[focused]) [part~=button-toggle]{border-left-color:#334bff;color:#334bff}:host(:not([readonly])) [part~=button-toggle]:hover{border-left-color:#334bff;color:#fff;background:#334bff}:host(:not([readonly])) [part~=button-toggle]:hover::after{content:\'\';display:block;position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border:1px solid #334bff;pointer-events:none}:host(:not([readonly])) [part~=button-toggle]:active{background:#0f1e8a}:host(:not([readonly])) [part~=button]:active{color:#fff}:host(:not([readonly])) [part~=icon]{color:inherit!important}:host([disabled]) [part~=button-toggle],:host([readonly]) [part~=button-toggle]{border-left-color:rgba(64,64,64,.5)}:host([readonly]) [part~=button-toggle]{color:rgba(204,204,204,.5);cursor:default}:host([focused][readonly]) [part~=button-toggle]{border-left-color:#334bff}:host [part=list] ::slotted(ef-list){display:block}:host [part~=selection-badge]:hover{background-color:#334bff;color:#fff}');
|