@refinitiv-ui/elements 5.6.0 → 5.8.2-alpha.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.
Files changed (185) hide show
  1. package/CHANGELOG.md +51 -0
  2. package/lib/accordion/custom-elements.md +18 -0
  3. package/lib/appstate-bar/custom-elements.md +22 -0
  4. package/lib/autosuggest/custom-elements.json +24 -4
  5. package/lib/autosuggest/custom-elements.md +54 -0
  6. package/lib/autosuggest/index.d.ts +4 -0
  7. package/lib/autosuggest/index.js +4 -0
  8. package/lib/button/custom-elements.json +2 -2
  9. package/lib/button/custom-elements.md +23 -0
  10. package/lib/button-bar/custom-elements.md +9 -0
  11. package/lib/calendar/custom-elements.json +8 -6
  12. package/lib/calendar/custom-elements.md +35 -0
  13. package/lib/calendar/index.d.ts +2 -0
  14. package/lib/calendar/index.js +2 -0
  15. package/lib/canvas/custom-elements.json +7 -5
  16. package/lib/canvas/custom-elements.md +27 -0
  17. package/lib/canvas/index.d.ts +1 -0
  18. package/lib/canvas/index.js +1 -0
  19. package/lib/card/custom-elements.json +3 -1
  20. package/lib/card/custom-elements.md +24 -0
  21. package/lib/card/index.d.ts +2 -0
  22. package/lib/card/index.js +2 -0
  23. package/lib/chart/custom-elements.json +1 -1
  24. package/lib/chart/custom-elements.md +16 -0
  25. package/lib/checkbox/custom-elements.json +12 -8
  26. package/lib/checkbox/custom-elements.md +18 -0
  27. package/lib/checkbox/index.d.ts +3 -1
  28. package/lib/checkbox/index.js +2 -0
  29. package/lib/clock/custom-elements.json +8 -4
  30. package/lib/clock/custom-elements.md +28 -0
  31. package/lib/clock/index.d.ts +2 -0
  32. package/lib/clock/index.js +2 -0
  33. package/lib/clock/themes/halo/dark/index.js +1 -1
  34. package/lib/clock/themes/halo/light/index.js +1 -1
  35. package/lib/clock/themes/solar/charcoal/index.js +1 -1
  36. package/lib/clock/themes/solar/pearl/index.js +1 -1
  37. package/lib/collapse/custom-elements.md +27 -0
  38. package/lib/color-dialog/custom-elements.json +29 -16
  39. package/lib/color-dialog/custom-elements.md +39 -0
  40. package/lib/color-dialog/index.d.ts +8 -8
  41. package/lib/color-dialog/index.js +8 -8
  42. package/lib/combo-box/custom-elements.json +28 -16
  43. package/lib/combo-box/custom-elements.md +35 -0
  44. package/lib/combo-box/index.d.ts +10 -2
  45. package/lib/combo-box/index.js +10 -1
  46. package/lib/combo-box/themes/halo/dark/index.js +1 -1
  47. package/lib/combo-box/themes/halo/light/index.js +1 -1
  48. package/lib/combo-box/themes/solar/charcoal/index.js +1 -1
  49. package/lib/combo-box/themes/solar/pearl/index.js +1 -1
  50. package/lib/counter/custom-elements.json +8 -4
  51. package/lib/counter/custom-elements.md +11 -0
  52. package/lib/counter/index.d.ts +2 -0
  53. package/lib/counter/index.js +2 -0
  54. package/lib/datetime-picker/custom-elements.json +52 -23
  55. package/lib/datetime-picker/custom-elements.md +57 -0
  56. package/lib/datetime-picker/index.d.ts +15 -4
  57. package/lib/datetime-picker/index.js +15 -4
  58. package/lib/dialog/custom-elements.json +34 -12
  59. package/lib/dialog/custom-elements.md +47 -0
  60. package/lib/dialog/index.d.ts +7 -10
  61. package/lib/dialog/index.js +7 -10
  62. package/lib/email-field/custom-elements.json +81 -94
  63. package/lib/email-field/custom-elements.md +37 -0
  64. package/lib/email-field/index.d.ts +43 -115
  65. package/lib/email-field/index.js +44 -244
  66. package/lib/flag/custom-elements.md +10 -0
  67. package/lib/flag/index.d.ts +2 -0
  68. package/lib/flag/index.js +2 -0
  69. package/lib/header/custom-elements.md +18 -0
  70. package/lib/heatmap/custom-elements.md +26 -0
  71. package/lib/icon/custom-elements.md +8 -0
  72. package/lib/icon/index.d.ts +2 -0
  73. package/lib/icon/index.js +2 -0
  74. package/lib/interactive-chart/custom-elements.json +6 -10
  75. package/lib/interactive-chart/custom-elements.md +31 -0
  76. package/lib/interactive-chart/index.d.ts +5 -2
  77. package/lib/interactive-chart/index.js +5 -2
  78. package/lib/item/custom-elements.json +4 -4
  79. package/lib/item/custom-elements.md +29 -0
  80. package/lib/item/index.d.ts +11 -2
  81. package/lib/item/index.js +25 -4
  82. package/lib/label/custom-elements.md +11 -0
  83. package/lib/layout/custom-elements.md +26 -0
  84. package/lib/led-gauge/custom-elements.json +4 -4
  85. package/lib/led-gauge/custom-elements.md +17 -0
  86. package/lib/led-gauge/index.d.ts +1 -0
  87. package/lib/led-gauge/index.js +1 -0
  88. package/lib/list/custom-elements.json +18 -5
  89. package/lib/list/custom-elements.md +32 -0
  90. package/lib/list/helpers/list-renderer.js +2 -0
  91. package/lib/list/index.d.ts +19 -2
  92. package/lib/list/index.js +34 -1
  93. package/lib/loader/custom-elements.md +5 -0
  94. package/lib/multi-input/custom-elements.json +7 -6
  95. package/lib/multi-input/custom-elements.md +43 -0
  96. package/lib/multi-input/index.d.ts +4 -0
  97. package/lib/multi-input/index.js +4 -0
  98. package/lib/notification/custom-elements.md +26 -0
  99. package/lib/number-field/custom-elements.json +99 -54
  100. package/lib/number-field/custom-elements.md +42 -0
  101. package/lib/number-field/index.d.ts +92 -47
  102. package/lib/number-field/index.js +113 -80
  103. package/lib/overlay/custom-elements.json +26 -13
  104. package/lib/overlay/custom-elements.md +54 -0
  105. package/lib/overlay/elements/overlay.d.ts +5 -0
  106. package/lib/overlay-menu/custom-elements.json +70 -20
  107. package/lib/overlay-menu/custom-elements.md +44 -0
  108. package/lib/overlay-menu/index.d.ts +13 -11
  109. package/lib/overlay-menu/index.js +13 -11
  110. package/lib/pagination/custom-elements.md +27 -0
  111. package/lib/panel/custom-elements.md +11 -0
  112. package/lib/password-field/custom-elements.json +62 -67
  113. package/lib/password-field/custom-elements.md +39 -0
  114. package/lib/password-field/index.d.ts +42 -94
  115. package/lib/password-field/index.js +48 -194
  116. package/lib/pill/custom-elements.json +8 -6
  117. package/lib/pill/custom-elements.md +22 -0
  118. package/lib/pill/index.d.ts +1 -1
  119. package/lib/pill/index.js +1 -1
  120. package/lib/progress-bar/custom-elements.md +18 -0
  121. package/lib/radio-button/custom-elements.json +8 -6
  122. package/lib/radio-button/custom-elements.md +19 -0
  123. package/lib/radio-button/index.d.ts +6 -5
  124. package/lib/radio-button/index.js +5 -4
  125. package/lib/rating/custom-elements.md +17 -0
  126. package/lib/search-field/custom-elements.json +70 -74
  127. package/lib/search-field/custom-elements.md +41 -0
  128. package/lib/search-field/index.d.ts +43 -100
  129. package/lib/search-field/index.js +46 -215
  130. package/lib/select/custom-elements.json +5 -4
  131. package/lib/select/custom-elements.md +24 -0
  132. package/lib/select/index.d.ts +11 -3
  133. package/lib/select/index.js +65 -26
  134. package/lib/sidebar-layout/custom-elements.json +2 -6
  135. package/lib/sidebar-layout/custom-elements.md +21 -0
  136. package/lib/sidebar-layout/index.d.ts +2 -1
  137. package/lib/slider/custom-elements.json +4 -4
  138. package/lib/slider/custom-elements.md +28 -0
  139. package/lib/slider/index.d.ts +1 -1
  140. package/lib/slider/index.js +1 -1
  141. package/lib/sparkline/custom-elements.json +4 -4
  142. package/lib/sparkline/custom-elements.md +16 -0
  143. package/lib/sparkline/index.d.ts +3 -1
  144. package/lib/sparkline/index.js +2 -0
  145. package/lib/swing-gauge/custom-elements.json +5 -3
  146. package/lib/swing-gauge/custom-elements.md +17 -0
  147. package/lib/swing-gauge/index.d.ts +3 -1
  148. package/lib/swing-gauge/index.js +3 -1
  149. package/lib/tab/custom-elements.json +2 -2
  150. package/lib/tab/custom-elements.md +22 -0
  151. package/lib/tab-bar/custom-elements.md +11 -0
  152. package/lib/text-field/custom-elements.json +78 -89
  153. package/lib/text-field/custom-elements.md +35 -0
  154. package/lib/text-field/index.d.ts +50 -92
  155. package/lib/text-field/index.js +81 -230
  156. package/lib/time-picker/custom-elements.json +4 -4
  157. package/lib/time-picker/custom-elements.md +28 -0
  158. package/lib/time-picker/index.d.ts +3 -0
  159. package/lib/time-picker/index.js +3 -0
  160. package/lib/toggle/custom-elements.json +8 -6
  161. package/lib/toggle/custom-elements.md +19 -0
  162. package/lib/toggle/index.d.ts +2 -1
  163. package/lib/toggle/index.js +1 -0
  164. package/lib/tooltip/custom-elements.md +14 -0
  165. package/lib/tornado-chart/custom-elements.md +18 -0
  166. package/lib/tree/custom-elements.json +4 -3
  167. package/lib/tree/custom-elements.md +32 -0
  168. package/lib/tree/elements/tree.d.ts +1 -0
  169. package/lib/tree/elements/tree.js +1 -0
  170. package/lib/tree/managers/tree-manager.d.ts +20 -2
  171. package/lib/tree/managers/tree-manager.js +55 -28
  172. package/lib/tree/themes/halo/dark/index.js +1 -1
  173. package/lib/tree/themes/halo/light/index.js +1 -1
  174. package/lib/tree/themes/solar/charcoal/index.js +1 -1
  175. package/lib/tree/themes/solar/pearl/index.js +1 -1
  176. package/lib/tree-select/custom-elements.json +10 -6
  177. package/lib/tree-select/custom-elements.md +26 -0
  178. package/lib/tree-select/index.d.ts +5 -3
  179. package/lib/tree-select/index.js +3 -2
  180. package/lib/tree-select/themes/halo/dark/index.js +1 -1
  181. package/lib/tree-select/themes/halo/light/index.js +1 -1
  182. package/lib/tree-select/themes/solar/charcoal/index.js +1 -1
  183. package/lib/tree-select/themes/solar/pearl/index.js +1 -1
  184. package/lib/version.js +1 -1
  185. package/package.json +293 -12
@@ -0,0 +1,27 @@
1
+ # ef-collapse
2
+
3
+ Allows users to hide non-critical information
4
+ or areas of the screen, maximizing the amount of real estate
5
+ for their primary displays.
6
+
7
+ ## Properties
8
+
9
+ | Property | Attribute | Type | Default | Description |
10
+ |------------|------------|---------------------|---------|--------------------------------------------------|
11
+ | `expanded` | `expanded` | `boolean` | false | Set to expand the item |
12
+ | `header` | `header` | `string \| null` | null | Set text on the header |
13
+ | `level` | `level` | `"1" \| "2" \| "3"` | "3" | Use level styling from theme |
14
+ | `spacing` | `spacing` | `boolean` | false | Set to apply padding from theme to content section |
15
+
16
+ ## Events
17
+
18
+ | Event | Description |
19
+ |--------------------|---------------------------------------------|
20
+ | `expanded-changed` | Fired when the `expanded` property changes. |
21
+
22
+ ## Slots
23
+
24
+ | Name | Description |
25
+ |----------------|--------------------------------------------------|
26
+ | `header-left` | Slot to add custom contents to the left side of header e.g. ef-icon, ef-checkbox |
27
+ | `header-right` | Slot to add custom contents to the right side of header e.g. ef-icon, ef-checkbox |
@@ -44,34 +44,45 @@
44
44
  {
45
45
  "name": "header",
46
46
  "description": "Set Header/Title of the color dialog",
47
- "type": "string|null"
47
+ "type": "string | null"
48
48
  },
49
49
  {
50
50
  "name": "opened",
51
51
  "description": "Set dialog to open",
52
52
  "type": "boolean",
53
- "default": "\"false\""
53
+ "default": "false"
54
+ },
55
+ {
56
+ "name": "no-cancel-on-esc-key",
57
+ "description": "Prevents dialog to close when user presses ESC key",
58
+ "type": "boolean",
59
+ "default": "false"
54
60
  },
55
61
  {
56
62
  "name": "x",
57
63
  "description": "Set a specific x coordinate of dialog",
58
- "type": "string"
64
+ "type": "string | undefined"
59
65
  },
60
66
  {
61
67
  "name": "y",
62
68
  "description": "Set a specific y coordinate of dialog",
63
- "type": "string"
69
+ "type": "string | undefined"
70
+ },
71
+ {
72
+ "name": "position-target",
73
+ "description": "Set position of dialog i.e. `top`, `right`, `left`, `bottom`, `center` or combination of theme e.g. `top right`.",
74
+ "type": "string | undefined"
64
75
  },
65
76
  {
66
77
  "name": "no-cancel-on-esc-key",
67
78
  "description": "Prevents dialog to close when user presses ESC key",
68
79
  "type": "boolean",
69
- "default": "\"false\""
80
+ "default": "false"
70
81
  },
71
82
  {
72
83
  "name": "position-target",
73
84
  "description": "Set position of dialog i.e. `top`, `right`, `left`, `bottom`, `center` or combination of theme e.g. `top right`.",
74
- "type": "string"
85
+ "type": "string | undefined"
75
86
  }
76
87
  ],
77
88
  "properties": [
@@ -121,61 +132,63 @@
121
132
  "name": "header",
122
133
  "attribute": "header",
123
134
  "description": "Set Header/Title of the color dialog",
124
- "type": "string|null"
135
+ "type": "string | null"
125
136
  },
126
137
  {
127
138
  "name": "opened",
128
139
  "attribute": "opened",
129
140
  "description": "Set dialog to open",
130
141
  "type": "boolean",
131
- "default": "\"false\""
142
+ "default": "false"
132
143
  },
133
144
  {
134
145
  "name": "noCancelOnEscKey",
146
+ "attribute": "no-cancel-on-esc-key",
135
147
  "description": "Prevents dialog to close when user presses ESC key",
136
148
  "type": "boolean",
137
- "default": "\"false\""
149
+ "default": "false"
138
150
  },
139
151
  {
140
152
  "name": "x",
141
153
  "attribute": "x",
142
154
  "description": "Set a specific x coordinate of dialog",
143
- "type": "string"
155
+ "type": "string | undefined"
144
156
  },
145
157
  {
146
158
  "name": "y",
147
159
  "attribute": "y",
148
160
  "description": "Set a specific y coordinate of dialog",
149
- "type": "string"
161
+ "type": "string | undefined"
150
162
  },
151
163
  {
152
164
  "name": "positionTarget",
165
+ "attribute": "position-target",
153
166
  "description": "Set position of dialog i.e. `top`, `right`, `left`, `bottom`, `center` or combination of theme e.g. `top right`.",
154
- "type": "string"
167
+ "type": "string | undefined"
155
168
  },
156
169
  {
157
170
  "name": "noCancelOnOutsideClick",
158
171
  "description": "Prevents dialog to close when user clicks outside the dialog.",
159
172
  "type": "boolean",
160
- "default": "\"true\""
173
+ "default": "true"
161
174
  },
162
175
  {
163
176
  "name": "withBackdrop",
164
177
  "description": "False to hide backdrop.",
165
178
  "type": "boolean",
166
- "default": "\"true\""
179
+ "default": "true"
167
180
  },
168
181
  {
169
182
  "name": "draggable",
170
183
  "description": "False to make the dialog not draggable.",
171
184
  "type": "boolean",
172
- "default": "\"true\""
185
+ "default": "true"
173
186
  },
174
187
  {
175
188
  "name": "withShadow",
176
189
  "description": "False to remove shadow for dialog component.",
177
190
  "type": "boolean",
178
- "default": "\"true\""
191
+ "default": "true"
179
192
  }
180
193
  ],
181
194
  "events": [
@@ -0,0 +1,39 @@
1
+ # ef-color-dialog
2
+
3
+ Displays a colour picker dialog,
4
+ for selecting a predefined range of colours.
5
+
6
+ ## Attributes
7
+
8
+ | Attribute | Type | Default | Description |
9
+ |------------------------|-----------------------|---------|--------------------------------------------------|
10
+ | `no-cancel-on-esc-key` | `boolean` | false | Prevents dialog to close when user presses ESC key |
11
+ | `position-target` | `string \| undefined` | | Set position of dialog i.e. `top`, `right`, `left`, `bottom`, `center` or combination of theme e.g. `top right`. |
12
+
13
+ ## Properties
14
+
15
+ | Property | Attribute | Type | Default | Description |
16
+ |--------------------------|------------------------|-----------------------|---------|--------------------------------------------------|
17
+ | `allowNocolor` | `allow-nocolor` | `boolean` | false | Set the palettes to activate no-color option |
18
+ | `blue` | `blue` | `string` | "" | Blue value from 0 to 255 |
19
+ | `draggable` | | `boolean` | true | False to make the dialog not draggable. |
20
+ | `green` | `green` | `string` | "" | Green value from 0 to 255 |
21
+ | `header` | `header` | `string \| null` | null | Set Header/Title of the color dialog |
22
+ | `hex` | `hex` | `string` | "" | Value of hex without # sign, supports both 3-digits shorthand hex and regular 6-digits hex |
23
+ | `noCancelOnEscKey` | `no-cancel-on-esc-key` | `boolean` | false | Prevents dialog to close when user presses ESC key |
24
+ | `noCancelOnOutsideClick` | | `boolean` | true | Prevents dialog to close when user clicks outside the dialog. |
25
+ | `opened` | `opened` | `boolean` | false | Set dialog to open |
26
+ | `positionTarget` | `position-target` | `string \| undefined` | | Set position of dialog i.e. `top`, `right`, `left`, `bottom`, `center` or combination of theme e.g. `top right`. |
27
+ | `red` | `red` | `string` | "" | Red value from 0 to 255 |
28
+ | `value` | `value` | `string` | "" | Value of selected color from color dialog will be written here as hex value<br />e.g. "#00f" or "#0000ff" |
29
+ | `withBackdrop` | | `boolean` | true | False to hide backdrop. |
30
+ | `withShadow` | | `boolean` | true | False to remove shadow for dialog component. |
31
+ | `x` | `x` | `string \| undefined` | | Set a specific x coordinate of dialog |
32
+ | `y` | `y` | `string \| undefined` | | Set a specific y coordinate of dialog |
33
+
34
+ ## Events
35
+
36
+ | Event | Description |
37
+ |------------------|-------------------------------------------|
38
+ | `opened-changed` | Fired when the `opened` property changes. |
39
+ | `value-changed` | Fired when the `value` property changes. |
@@ -15,8 +15,8 @@ import '@refinitiv-ui/phrasebook/lib/locale/en/color-dialog.js';
15
15
  * @fires value-changed - Fired when the `value` property changes.
16
16
  * @fires opened-changed - Fired when the `opened` property changes.
17
17
  *
18
- * @attr {string|null} header - Set Header/Title of the color dialog
19
- * @prop {string|null} header - Set Header/Title of the color dialog
18
+ * @attr {string | null} header - Set Header/Title of the color dialog
19
+ * @prop {string | null} [header=null] - Set Header/Title of the color dialog
20
20
  *
21
21
  * @attr {boolean} [opened=false] - Set dialog to open
22
22
  * @prop {boolean} [opened=false] - Set dialog to open
@@ -24,14 +24,14 @@ import '@refinitiv-ui/phrasebook/lib/locale/en/color-dialog.js';
24
24
  * @attr {boolean} [no-cancel-on-esc-key=false] - Prevents dialog to close when user presses ESC key
25
25
  * @prop {boolean} [noCancelOnEscKey=false] - Prevents dialog to close when user presses ESC key
26
26
  *
27
- * @attr {string} x - Set a specific x coordinate of dialog
28
- * @prop {string} x - Set a specific x coordinate of dialog
27
+ * @attr {string | undefined} x - Set a specific x coordinate of dialog
28
+ * @prop {string | undefined} x - Set a specific x coordinate of dialog
29
29
  *
30
- * @attr {string} y - Set a specific y coordinate of dialog
31
- * @prop {string} y - Set a specific y coordinate of dialog
30
+ * @attr {string | undefined} y - Set a specific y coordinate of dialog
31
+ * @prop {string | undefined} y - Set a specific y coordinate of dialog
32
32
  *
33
- * @attr {string} position-target - Set position of dialog i.e. `top`, `right`, `left`, `bottom`, `center` or combination of theme e.g. `top right`.
34
- * @prop {string} positionTarget - Set position of dialog i.e. `top`, `right`, `left`, `bottom`, `center` or combination of theme e.g. `top right`.
33
+ * @attr {string | undefined} position-target - Set position of dialog i.e. `top`, `right`, `left`, `bottom`, `center` or combination of theme e.g. `top right`.
34
+ * @prop {string | undefined} positionTarget - Set position of dialog i.e. `top`, `right`, `left`, `bottom`, `center` or combination of theme e.g. `top right`.
35
35
  *
36
36
  * @prop {boolean} [noCancelOnOutsideClick=true] - Prevents dialog to close when user clicks outside the dialog.
37
37
  *
@@ -23,8 +23,8 @@ import '@refinitiv-ui/phrasebook/lib/locale/en/color-dialog.js';
23
23
  * @fires value-changed - Fired when the `value` property changes.
24
24
  * @fires opened-changed - Fired when the `opened` property changes.
25
25
  *
26
- * @attr {string|null} header - Set Header/Title of the color dialog
27
- * @prop {string|null} header - Set Header/Title of the color dialog
26
+ * @attr {string | null} header - Set Header/Title of the color dialog
27
+ * @prop {string | null} [header=null] - Set Header/Title of the color dialog
28
28
  *
29
29
  * @attr {boolean} [opened=false] - Set dialog to open
30
30
  * @prop {boolean} [opened=false] - Set dialog to open
@@ -32,14 +32,14 @@ import '@refinitiv-ui/phrasebook/lib/locale/en/color-dialog.js';
32
32
  * @attr {boolean} [no-cancel-on-esc-key=false] - Prevents dialog to close when user presses ESC key
33
33
  * @prop {boolean} [noCancelOnEscKey=false] - Prevents dialog to close when user presses ESC key
34
34
  *
35
- * @attr {string} x - Set a specific x coordinate of dialog
36
- * @prop {string} x - Set a specific x coordinate of dialog
35
+ * @attr {string | undefined} x - Set a specific x coordinate of dialog
36
+ * @prop {string | undefined} x - Set a specific x coordinate of dialog
37
37
  *
38
- * @attr {string} y - Set a specific y coordinate of dialog
39
- * @prop {string} y - Set a specific y coordinate of dialog
38
+ * @attr {string | undefined} y - Set a specific y coordinate of dialog
39
+ * @prop {string | undefined} y - Set a specific y coordinate of dialog
40
40
  *
41
- * @attr {string} position-target - Set position of dialog i.e. `top`, `right`, `left`, `bottom`, `center` or combination of theme e.g. `top right`.
42
- * @prop {string} positionTarget - Set position of dialog i.e. `top`, `right`, `left`, `bottom`, `center` or combination of theme e.g. `top right`.
41
+ * @attr {string | undefined} position-target - Set position of dialog i.e. `top`, `right`, `left`, `bottom`, `center` or combination of theme e.g. `top right`.
42
+ * @prop {string | undefined} positionTarget - Set position of dialog i.e. `top`, `right`, `left`, `bottom`, `center` or combination of theme e.g. `top right`.
43
43
  *
44
44
  * @prop {boolean} [noCancelOnOutsideClick=true] - Prevents dialog to close when user clicks outside the dialog.
45
45
  *
@@ -8,7 +8,8 @@
8
8
  {
9
9
  "name": "multiple",
10
10
  "description": "Multiple selection mode",
11
- "type": "boolean"
11
+ "type": "boolean",
12
+ "default": "false"
12
13
  },
13
14
  {
14
15
  "name": "opened",
@@ -31,7 +32,8 @@
31
32
  {
32
33
  "name": "free-text",
33
34
  "description": "Allow to enter any value",
34
- "type": "boolean"
35
+ "type": "boolean",
36
+ "default": "false"
35
37
  },
36
38
  {
37
39
  "name": "error",
@@ -53,25 +55,26 @@
53
55
  {
54
56
  "name": "value",
55
57
  "description": "Returns the first selected item value.\nUse `values` when multiple selection mode is enabled.",
56
- "type": "string"
58
+ "type": "string",
59
+ "default": "\"\""
57
60
  },
58
61
  {
59
62
  "name": "readonly",
60
63
  "description": "Set readonly state",
61
64
  "type": "boolean",
62
- "default": "\"false\""
65
+ "default": "false"
63
66
  },
64
67
  {
65
68
  "name": "disabled",
66
69
  "description": "Set disabled state",
67
70
  "type": "boolean",
68
- "default": "\"false\""
71
+ "default": "false"
69
72
  },
70
73
  {
71
74
  "name": "name",
72
75
  "description": "Set name of the element",
73
76
  "type": "string",
74
- "default": "\"''\""
77
+ "default": "\"\""
75
78
  }
76
79
  ],
77
80
  "properties": [
@@ -91,7 +94,8 @@
91
94
  "name": "multiple",
92
95
  "attribute": "multiple",
93
96
  "description": "Multiple selection mode",
94
- "type": "boolean"
97
+ "type": "boolean",
98
+ "default": "false"
95
99
  },
96
100
  {
97
101
  "name": "opened",
@@ -118,7 +122,8 @@
118
122
  "name": "freeText",
119
123
  "attribute": "free-text",
120
124
  "description": "Allow to enter any value",
121
- "type": "boolean"
125
+ "type": "boolean",
126
+ "default": "false"
122
127
  },
123
128
  {
124
129
  "name": "error",
@@ -143,18 +148,21 @@
143
148
  {
144
149
  "name": "data",
145
150
  "description": "Data array to be displayed",
146
- "type": "ComboBoxData<T>"
151
+ "type": "ComboBoxData<T>",
152
+ "default": "[]"
147
153
  },
148
154
  {
149
155
  "name": "value",
150
156
  "attribute": "value",
151
157
  "description": "Returns the first selected item value.\nUse `values` when multiple selection mode is enabled.",
152
- "type": "string"
158
+ "type": "string",
159
+ "default": "\"\""
153
160
  },
154
161
  {
155
162
  "name": "values",
156
163
  "description": "Returns a values collection of the currently\nselected item values",
157
- "type": "string[]"
164
+ "type": "string[]",
165
+ "default": "[]"
158
166
  },
159
167
  {
160
168
  "name": "query",
@@ -162,30 +170,31 @@
162
170
  "type": "string | null"
163
171
  },
164
172
  {
165
- "name": "label",
173
+ "name": "label (readonly)",
166
174
  "description": "Label of selected value",
167
- "type": "string"
175
+ "type": "string",
176
+ "default": "\"\""
168
177
  },
169
178
  {
170
179
  "name": "readonly",
171
180
  "attribute": "readonly",
172
181
  "description": "Set readonly state",
173
182
  "type": "boolean",
174
- "default": "\"false\""
183
+ "default": "false"
175
184
  },
176
185
  {
177
186
  "name": "disabled",
178
187
  "attribute": "disabled",
179
188
  "description": "Set disabled state",
180
189
  "type": "boolean",
181
- "default": "\"false\""
190
+ "default": "false"
182
191
  },
183
192
  {
184
193
  "name": "name",
185
194
  "attribute": "name",
186
195
  "description": "Set name of the element",
187
196
  "type": "string",
188
- "default": "\"''\""
197
+ "default": "\"\""
189
198
  }
190
199
  ],
191
200
  "events": [
@@ -200,6 +209,9 @@
200
209
  {
201
210
  "name": "opened-changed",
202
211
  "description": "Dispatched when opened state changes"
212
+ },
213
+ {
214
+ "name": "animationiteration"
203
215
  }
204
216
  ]
205
217
  }
@@ -0,0 +1,35 @@
1
+ # ef-combo-box
2
+
3
+ Combines a popup with a filterable selection list
4
+
5
+ ## Properties
6
+
7
+ | Property | Attribute | Type | Default | Description |
8
+ |---------------------|-----------------------|-----------------------------|------------------------------|--------------------------------------------------|
9
+ | `clears` | `clears` | `boolean` | false | Show clears button |
10
+ | `data` | | `ComboBoxData<T>` | [] | Data array to be displayed |
11
+ | `disabled` | `disabled` | `boolean` | false | Set disabled state |
12
+ | `error` | `error` | `boolean` | false | Set state to error |
13
+ | `filter` | | `ComboBoxFilter<T> \| null` | "defaultFilter<T>(this)" | Custom filter for static data<br />Set this to null when data is filtered externally, eg XHR |
14
+ | `freeText` | `free-text` | `boolean` | false | Allow to enter any value |
15
+ | `label (readonly)` | | `string` | "" | Label of selected value |
16
+ | `multiple` | `multiple` | `boolean` | false | Multiple selection mode |
17
+ | `name` | `name` | `string` | "" | Set name of the element |
18
+ | `opened` | `opened` | `boolean` | false | Track opened state of popup |
19
+ | `placeholder` | `placeholder` | `string` | "" | Placeholder for input field |
20
+ | `query` | | `string \| null` | null | Query string applied to combo-box<br />Set via internal text-field input |
21
+ | `queryDebounceRate` | `query-debounce-rate` | `number` | | Control query rate, defaults to 0 |
22
+ | `readonly` | `readonly` | `boolean` | false | Set readonly state |
23
+ | `renderer` | | `ComboBoxRenderer` | "new ComboBoxRenderer(this)" | Renderer used to render list item elements |
24
+ | `value` | `value` | `string` | "" | Returns the first selected item value.<br />Use `values` when multiple selection mode is enabled. |
25
+ | `values` | | `string[]` | [] | Returns a values collection of the currently<br />selected item values |
26
+ | `warning` | `warning` | `boolean` | false | Set state to warning |
27
+
28
+ ## Events
29
+
30
+ | Event | Description |
31
+ |----------------------|--------------------------------------|
32
+ | `animationiteration` | |
33
+ | `opened-changed` | Dispatched when opened state changes |
34
+ | `query-changed` | Dispatched when query changes |
35
+ | `value-changed` | Dispatched when value changes |
@@ -11,11 +11,12 @@ 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
- import '../pill/index.js';
14
+ import '../counter/index.js';
15
15
  import '../text-field/index.js';
16
16
  import { TranslateDirective } from '@refinitiv-ui/translate';
17
17
  import '@refinitiv-ui/phrasebook/lib/locale/en/combo-box.js';
18
- export type { ComboBoxRenderer, ComboBoxFilter, ComboBoxData };
18
+ export type { ComboBoxFilter, ComboBoxData };
19
+ export { ComboBoxRenderer };
19
20
  /**
20
21
  * Combines a popup with a filterable selection list
21
22
  *
@@ -60,6 +61,7 @@ export declare class ComboBox<T extends DataItem = ItemData> extends ControlElem
60
61
  /**
61
62
  * Multiple selection mode
62
63
  * @param multiple true to set multiple mode
64
+ * @default false
63
65
  */
64
66
  set multiple(multiple: boolean);
65
67
  get multiple(): boolean;
@@ -79,6 +81,7 @@ export declare class ComboBox<T extends DataItem = ItemData> extends ControlElem
79
81
  /**
80
82
  * Allow to enter any value
81
83
  * @param freeText true to set freeText mode
84
+ * @default false
82
85
  */
83
86
  set freeText(freeText: boolean);
84
87
  get freeText(): boolean;
@@ -101,6 +104,7 @@ export declare class ComboBox<T extends DataItem = ItemData> extends ControlElem
101
104
  /**
102
105
  * Data array to be displayed
103
106
  * @type {ComboBoxData<T>}
107
+ * @default []
104
108
  */
105
109
  get data(): ComboBoxData<T>;
106
110
  set data(value: ComboBoxData<T>);
@@ -112,6 +116,7 @@ export declare class ComboBox<T extends DataItem = ItemData> extends ControlElem
112
116
  /**
113
117
  * Returns the first selected item value.
114
118
  * Use `values` when multiple selection mode is enabled.
119
+ * @default -
115
120
  */
116
121
  get value(): string;
117
122
  set value(value: string);
@@ -119,6 +124,7 @@ export declare class ComboBox<T extends DataItem = ItemData> extends ControlElem
119
124
  * Returns a values collection of the currently
120
125
  * selected item values
121
126
  * @type {string[]}
127
+ * @default []
122
128
  */
123
129
  get values(): string[];
124
130
  set values(values: string[]);
@@ -133,12 +139,14 @@ export declare class ComboBox<T extends DataItem = ItemData> extends ControlElem
133
139
  * Query string applied to combo-box
134
140
  * Set via internal text-field input
135
141
  * @readonly
142
+ * @default null
136
143
  */
137
144
  get query(): string | null;
138
145
  set query(query: string | null);
139
146
  /**
140
147
  * Label of selected value
141
148
  * @returns Label to use, defaults to empty string
149
+ * @default -
142
150
  * @readonly
143
151
  */
144
152
  get label(): string;
@@ -15,10 +15,11 @@ 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
- import '../pill/index.js';
18
+ import '../counter/index.js';
19
19
  import '../text-field/index.js';
20
20
  import { translate } from '@refinitiv-ui/translate';
21
21
  import '@refinitiv-ui/phrasebook/lib/locale/en/combo-box.js';
22
+ export { ComboBoxRenderer };
22
23
  const QUERY_DEBOUNCE_RATE = 0;
23
24
  // Maximum number of characters to display in multiple mode
24
25
  const MULTIPLE_LABEL_MAX_SIZE = 250;
@@ -169,6 +170,7 @@ let ComboBox = class ComboBox extends ControlElement {
169
170
  /**
170
171
  * Multiple selection mode
171
172
  * @param multiple true to set multiple mode
173
+ * @default false
172
174
  */
173
175
  set multiple(multiple) {
174
176
  if (multiple && this.freeText) {
@@ -185,6 +187,7 @@ let ComboBox = class ComboBox extends ControlElement {
185
187
  /**
186
188
  * Allow to enter any value
187
189
  * @param freeText true to set freeText mode
190
+ * @default false
188
191
  */
189
192
  set freeText(freeText) {
190
193
  if (this.multiple && freeText) {
@@ -218,6 +221,7 @@ let ComboBox = class ComboBox extends ControlElement {
218
221
  /**
219
222
  * Data array to be displayed
220
223
  * @type {ComboBoxData<T>}
224
+ * @default []
221
225
  */
222
226
  get data() {
223
227
  return this._data;
@@ -229,6 +233,7 @@ let ComboBox = class ComboBox extends ControlElement {
229
233
  /**
230
234
  * Returns the first selected item value.
231
235
  * Use `values` when multiple selection mode is enabled.
236
+ * @default -
232
237
  */
233
238
  get value() {
234
239
  return this.values[0] || '';
@@ -249,6 +254,7 @@ let ComboBox = class ComboBox extends ControlElement {
249
254
  * Returns a values collection of the currently
250
255
  * selected item values
251
256
  * @type {string[]}
257
+ * @default []
252
258
  */
253
259
  get values() {
254
260
  // In free text mode, compare selected to values
@@ -292,6 +298,7 @@ let ComboBox = class ComboBox extends ControlElement {
292
298
  * Query string applied to combo-box
293
299
  * Set via internal text-field input
294
300
  * @readonly
301
+ * @default null
295
302
  */
296
303
  get query() {
297
304
  return this._query;
@@ -309,6 +316,7 @@ let ComboBox = class ComboBox extends ControlElement {
309
316
  /**
310
317
  * Label of selected value
311
318
  * @returns Label to use, defaults to empty string
319
+ * @default -
312
320
  * @readonly
313
321
  */
314
322
  get label() {
@@ -1054,6 +1062,7 @@ let ComboBox = class ComboBox extends ControlElement {
1054
1062
  transparent
1055
1063
  .placeholder="${this.placeholder}"
1056
1064
  .readonly="${this.readonly}"
1065
+ .disabled="${this.disabled}"
1057
1066
  .value="${inputValue}"
1058
1067
  @value-changed="${this.onInputValueChanged}"></ef-text-field>
1059
1068
  ${this.selectionBadgeTemplate}
@@ -5,4 +5,4 @@ import '@refinitiv-ui/elements/lib/text-field/themes/halo/dark';
5
5
  import '@refinitiv-ui/elements/lib/item/themes/halo/dark';
6
6
  import '@refinitiv-ui/elements/lib/icon/themes/halo/dark';
7
7
 
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 ::-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}');
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}');