@refinitiv-ui/elements 5.3.4 → 5.8.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 (352) hide show
  1. package/CHANGELOG.md +89 -0
  2. package/lib/accordion/custom-elements.md +18 -0
  3. package/lib/accordion/index.d.ts +5 -5
  4. package/lib/accordion/index.js +8 -11
  5. package/lib/appstate-bar/custom-elements.md +22 -0
  6. package/lib/appstate-bar/index.d.ts +5 -5
  7. package/lib/appstate-bar/index.js +8 -11
  8. package/lib/autosuggest/custom-elements.json +24 -4
  9. package/lib/autosuggest/custom-elements.md +54 -0
  10. package/lib/autosuggest/helpers/types.d.ts +1 -1
  11. package/lib/autosuggest/helpers/utils.d.ts +2 -2
  12. package/lib/autosuggest/helpers/utils.js +1 -2
  13. package/lib/autosuggest/index.d.ts +13 -8
  14. package/lib/autosuggest/index.js +38 -31
  15. package/lib/button/custom-elements.json +2 -2
  16. package/lib/button/custom-elements.md +23 -0
  17. package/lib/button/index.d.ts +13 -13
  18. package/lib/button/index.js +41 -31
  19. package/lib/button-bar/custom-elements.md +9 -0
  20. package/lib/button-bar/index.d.ts +3 -3
  21. package/lib/button-bar/index.js +8 -10
  22. package/lib/calendar/constants.d.ts +22 -0
  23. package/lib/calendar/constants.js +23 -0
  24. package/lib/calendar/custom-elements.json +8 -6
  25. package/lib/calendar/custom-elements.md +35 -0
  26. package/lib/calendar/index.d.ts +9 -7
  27. package/lib/calendar/index.js +20 -38
  28. package/lib/calendar/locales.d.ts +1 -31
  29. package/lib/calendar/locales.js +0 -104
  30. package/lib/calendar/types.d.ts +1 -5
  31. package/lib/calendar/types.js +1 -6
  32. package/lib/calendar/utils.d.ts +31 -1
  33. package/lib/calendar/utils.js +104 -2
  34. package/lib/canvas/custom-elements.json +7 -5
  35. package/lib/canvas/custom-elements.md +27 -0
  36. package/lib/canvas/index.d.ts +4 -3
  37. package/lib/canvas/index.js +8 -10
  38. package/lib/card/custom-elements.json +3 -1
  39. package/lib/card/custom-elements.md +24 -0
  40. package/lib/card/helpers/types.d.ts +1 -1
  41. package/lib/card/index.d.ts +10 -8
  42. package/lib/card/index.js +14 -13
  43. package/lib/chart/custom-elements.json +1 -1
  44. package/lib/chart/custom-elements.md +16 -0
  45. package/lib/chart/helpers/index.d.ts +2 -2
  46. package/lib/chart/helpers/index.js +2 -2
  47. package/lib/chart/index.d.ts +6 -6
  48. package/lib/chart/index.js +12 -14
  49. package/lib/checkbox/custom-elements.json +4 -4
  50. package/lib/checkbox/custom-elements.md +18 -0
  51. package/lib/checkbox/index.d.ts +21 -13
  52. package/lib/checkbox/index.js +56 -31
  53. package/lib/clock/custom-elements.json +21 -4
  54. package/lib/clock/custom-elements.md +28 -0
  55. package/lib/clock/index.d.ts +17 -5
  56. package/lib/clock/index.js +37 -18
  57. package/lib/clock/themes/halo/dark/index.js +1 -1
  58. package/lib/clock/themes/halo/light/index.js +1 -1
  59. package/lib/clock/themes/solar/charcoal/index.js +1 -1
  60. package/lib/clock/themes/solar/pearl/index.js +1 -1
  61. package/lib/clock/utils/TickManager.js +2 -2
  62. package/lib/collapse/custom-elements.md +27 -0
  63. package/lib/collapse/index.d.ts +7 -7
  64. package/lib/collapse/index.js +11 -13
  65. package/lib/color-dialog/custom-elements.json +29 -16
  66. package/lib/color-dialog/custom-elements.md +39 -0
  67. package/lib/color-dialog/elements/color-palettes.d.ts +5 -5
  68. package/lib/color-dialog/elements/color-palettes.js +9 -13
  69. package/lib/color-dialog/elements/grayscale-palettes.d.ts +5 -5
  70. package/lib/color-dialog/elements/grayscale-palettes.js +10 -13
  71. package/lib/color-dialog/elements/palettes.d.ts +10 -3
  72. package/lib/color-dialog/elements/palettes.js +58 -45
  73. package/lib/color-dialog/helpers/color-helpers.d.ts +7 -53
  74. package/lib/color-dialog/helpers/color-helpers.js +12 -109
  75. package/lib/color-dialog/helpers/value-model.d.ts +1 -1
  76. package/lib/color-dialog/helpers/value-model.js +18 -16
  77. package/lib/color-dialog/index.d.ts +19 -19
  78. package/lib/color-dialog/index.js +47 -45
  79. package/lib/combo-box/custom-elements.json +28 -16
  80. package/lib/combo-box/custom-elements.md +35 -0
  81. package/lib/combo-box/helpers/filter.d.ts +4 -4
  82. package/lib/combo-box/helpers/types.d.ts +2 -2
  83. package/lib/combo-box/index.d.ts +26 -18
  84. package/lib/combo-box/index.js +36 -27
  85. package/lib/combo-box/themes/halo/dark/index.js +1 -1
  86. package/lib/combo-box/themes/halo/light/index.js +1 -1
  87. package/lib/combo-box/themes/solar/charcoal/index.js +1 -1
  88. package/lib/combo-box/themes/solar/pearl/index.js +1 -1
  89. package/lib/counter/custom-elements.json +8 -4
  90. package/lib/counter/custom-elements.md +11 -0
  91. package/lib/counter/index.d.ts +5 -3
  92. package/lib/counter/index.js +11 -12
  93. package/lib/datetime-picker/custom-elements.json +52 -23
  94. package/lib/datetime-picker/custom-elements.md +57 -0
  95. package/lib/datetime-picker/index.d.ts +25 -14
  96. package/lib/datetime-picker/index.js +46 -35
  97. package/lib/datetime-picker/locales.d.ts +1 -1
  98. package/lib/datetime-picker/locales.js +12 -1
  99. package/lib/datetime-picker/themes/solar/charcoal/index.js +1 -1
  100. package/lib/datetime-picker/themes/solar/pearl/index.js +1 -1
  101. package/lib/datetime-picker/types.d.ts +1 -1
  102. package/lib/datetime-picker/utils.js +1 -1
  103. package/lib/dialog/custom-elements.json +34 -12
  104. package/lib/dialog/custom-elements.md +47 -0
  105. package/lib/dialog/index.d.ts +17 -20
  106. package/lib/dialog/index.js +28 -31
  107. package/lib/email-field/custom-elements.json +81 -94
  108. package/lib/email-field/custom-elements.md +37 -0
  109. package/lib/email-field/index.d.ts +44 -116
  110. package/lib/email-field/index.js +48 -249
  111. package/lib/email-field/themes/solar/charcoal/index.js +1 -1
  112. package/lib/email-field/themes/solar/pearl/index.js +1 -1
  113. package/lib/events.d.ts +2 -2
  114. package/lib/events.js +1 -2
  115. package/lib/flag/custom-elements.md +10 -0
  116. package/lib/flag/index.d.ts +6 -4
  117. package/lib/flag/index.js +12 -12
  118. package/lib/flag/utils/FlagLoader.d.ts +1 -1
  119. package/lib/flag/utils/FlagLoader.js +1 -1
  120. package/lib/header/custom-elements.md +18 -0
  121. package/lib/header/index.d.ts +2 -2
  122. package/lib/header/index.js +5 -8
  123. package/lib/heatmap/custom-elements.md +26 -0
  124. package/lib/heatmap/helpers/color.d.ts +1 -1
  125. package/lib/heatmap/helpers/color.js +1 -1
  126. package/lib/heatmap/helpers/text.d.ts +1 -1
  127. package/lib/heatmap/index.d.ts +7 -7
  128. package/lib/heatmap/index.js +15 -16
  129. package/lib/icon/custom-elements.json +6 -4
  130. package/lib/icon/custom-elements.md +8 -0
  131. package/lib/icon/index.d.ts +9 -6
  132. package/lib/icon/index.js +28 -18
  133. package/lib/icon/utils/IconLoader.d.ts +6 -1
  134. package/lib/icon/utils/IconLoader.js +24 -17
  135. package/lib/index.d.ts +2 -1
  136. package/lib/index.js +2 -1
  137. package/lib/interactive-chart/custom-elements.json +6 -10
  138. package/lib/interactive-chart/custom-elements.md +31 -0
  139. package/lib/interactive-chart/helpers/types.d.ts +2 -2
  140. package/lib/interactive-chart/index.d.ts +11 -8
  141. package/lib/interactive-chart/index.js +17 -17
  142. package/lib/item/custom-elements.json +4 -4
  143. package/lib/item/custom-elements.md +29 -0
  144. package/lib/item/helpers/types.d.ts +1 -1
  145. package/lib/item/index.d.ts +18 -8
  146. package/lib/item/index.js +36 -16
  147. package/lib/label/custom-elements.md +11 -0
  148. package/lib/label/index.d.ts +3 -3
  149. package/lib/label/index.js +12 -20
  150. package/lib/layout/custom-elements.md +26 -0
  151. package/lib/layout/index.d.ts +3 -3
  152. package/lib/layout/index.js +6 -9
  153. package/lib/led-gauge/custom-elements.json +4 -4
  154. package/lib/led-gauge/custom-elements.md +17 -0
  155. package/lib/led-gauge/index.d.ts +5 -4
  156. package/lib/led-gauge/index.js +9 -11
  157. package/lib/list/custom-elements.json +18 -5
  158. package/lib/list/custom-elements.md +32 -0
  159. package/lib/list/helpers/list-renderer.d.ts +2 -2
  160. package/lib/list/helpers/list-renderer.js +4 -2
  161. package/lib/list/helpers/types.d.ts +2 -2
  162. package/lib/list/index.d.ts +27 -10
  163. package/lib/list/index.js +54 -25
  164. package/lib/list/renderer.d.ts +2 -2
  165. package/lib/list/renderer.js +1 -1
  166. package/lib/loader/custom-elements.md +5 -0
  167. package/lib/loader/index.js +4 -8
  168. package/lib/multi-input/custom-elements.json +7 -6
  169. package/lib/multi-input/custom-elements.md +43 -0
  170. package/lib/multi-input/helpers/types.d.ts +1 -1
  171. package/lib/multi-input/index.d.ts +11 -7
  172. package/lib/multi-input/index.js +20 -17
  173. package/lib/multi-input/themes/solar/charcoal/index.js +1 -1
  174. package/lib/multi-input/themes/solar/pearl/index.js +1 -1
  175. package/lib/notification/custom-elements.md +26 -0
  176. package/lib/notification/elements/notification-tray.d.ts +2 -2
  177. package/lib/notification/elements/notification-tray.js +6 -9
  178. package/lib/notification/elements/notification.d.ts +5 -5
  179. package/lib/notification/elements/notification.js +8 -11
  180. package/lib/notification/helpers/status.d.ts +1 -1
  181. package/lib/notification/helpers/status.js +1 -1
  182. package/lib/notification/helpers/types.d.ts +1 -1
  183. package/lib/notification/index.d.ts +2 -2
  184. package/lib/notification/index.js +2 -2
  185. package/lib/number-field/custom-elements.json +99 -54
  186. package/lib/number-field/custom-elements.md +42 -0
  187. package/lib/number-field/index.d.ts +96 -51
  188. package/lib/number-field/index.js +121 -89
  189. package/lib/number-field/themes/solar/charcoal/index.js +1 -1
  190. package/lib/number-field/themes/solar/pearl/index.js +1 -1
  191. package/lib/overlay/custom-elements.json +26 -13
  192. package/lib/overlay/custom-elements.md +54 -0
  193. package/lib/overlay/elements/overlay-backdrop.d.ts +4 -4
  194. package/lib/overlay/elements/overlay-backdrop.js +6 -9
  195. package/lib/overlay/elements/overlay-viewport.d.ts +3 -3
  196. package/lib/overlay/elements/overlay-viewport.js +5 -9
  197. package/lib/overlay/elements/overlay.d.ts +10 -5
  198. package/lib/overlay/elements/overlay.js +27 -28
  199. package/lib/overlay/index.d.ts +2 -2
  200. package/lib/overlay/index.js +1 -1
  201. package/lib/overlay/managers/backdrop-manager.d.ts +1 -1
  202. package/lib/overlay/managers/backdrop-manager.js +2 -2
  203. package/lib/overlay/managers/close-manager.js +1 -1
  204. package/lib/overlay/managers/focus-manager.js +2 -2
  205. package/lib/overlay/managers/interaction-lock-manager.js +2 -2
  206. package/lib/overlay/managers/viewport-manager.d.ts +2 -2
  207. package/lib/overlay/managers/viewport-manager.js +6 -2
  208. package/lib/overlay/managers/zindex-manager.js +1 -1
  209. package/lib/overlay-menu/custom-elements.json +70 -20
  210. package/lib/overlay-menu/custom-elements.md +44 -0
  211. package/lib/overlay-menu/helpers/types.d.ts +3 -3
  212. package/lib/overlay-menu/index.d.ts +26 -19
  213. package/lib/overlay-menu/index.js +47 -33
  214. package/lib/overlay-menu/managers/menu-manager.d.ts +2 -2
  215. package/lib/overlay-menu/managers/menu-manager.js +3 -3
  216. package/lib/pagination/custom-elements.md +27 -0
  217. package/lib/pagination/index.d.ts +8 -8
  218. package/lib/pagination/index.js +13 -15
  219. package/lib/panel/custom-elements.md +11 -0
  220. package/lib/panel/index.d.ts +3 -3
  221. package/lib/panel/index.js +6 -9
  222. package/lib/password-field/custom-elements.json +62 -67
  223. package/lib/password-field/custom-elements.md +39 -0
  224. package/lib/password-field/index.d.ts +43 -94
  225. package/lib/password-field/index.js +52 -198
  226. package/lib/password-field/themes/solar/charcoal/index.js +1 -1
  227. package/lib/password-field/themes/solar/pearl/index.js +1 -1
  228. package/lib/pill/custom-elements.json +8 -6
  229. package/lib/pill/custom-elements.md +22 -0
  230. package/lib/pill/index.d.ts +5 -5
  231. package/lib/pill/index.js +9 -11
  232. package/lib/progress-bar/custom-elements.md +18 -0
  233. package/lib/progress-bar/index.d.ts +3 -3
  234. package/lib/progress-bar/index.js +7 -9
  235. package/lib/radio-button/custom-elements.json +4 -4
  236. package/lib/radio-button/custom-elements.md +19 -0
  237. package/lib/radio-button/index.d.ts +25 -8
  238. package/lib/radio-button/index.js +84 -21
  239. package/lib/radio-button/radio-button-registry.d.ts +3 -2
  240. package/lib/radio-button/radio-button-registry.js +57 -4
  241. package/lib/rating/custom-elements.md +17 -0
  242. package/lib/rating/index.d.ts +3 -3
  243. package/lib/rating/index.js +9 -10
  244. package/lib/search-field/custom-elements.json +70 -74
  245. package/lib/search-field/custom-elements.md +41 -0
  246. package/lib/search-field/index.d.ts +44 -101
  247. package/lib/search-field/index.js +50 -220
  248. package/lib/search-field/themes/solar/charcoal/index.js +1 -1
  249. package/lib/search-field/themes/solar/pearl/index.js +1 -1
  250. package/lib/select/custom-elements.json +5 -4
  251. package/lib/select/custom-elements.md +24 -0
  252. package/lib/select/helpers/types.d.ts +1 -1
  253. package/lib/select/index.d.ts +18 -10
  254. package/lib/select/index.js +84 -45
  255. package/lib/sidebar-layout/custom-elements.json +2 -6
  256. package/lib/sidebar-layout/custom-elements.md +21 -0
  257. package/lib/sidebar-layout/index.d.ts +7 -6
  258. package/lib/sidebar-layout/index.js +9 -10
  259. package/lib/slider/custom-elements.json +4 -4
  260. package/lib/slider/custom-elements.md +28 -0
  261. package/lib/slider/index.d.ts +4 -4
  262. package/lib/slider/index.js +9 -10
  263. package/lib/sparkline/custom-elements.json +4 -4
  264. package/lib/sparkline/custom-elements.md +16 -0
  265. package/lib/sparkline/index.d.ts +6 -4
  266. package/lib/sparkline/index.js +10 -10
  267. package/lib/swing-gauge/custom-elements.json +5 -3
  268. package/lib/swing-gauge/custom-elements.md +17 -0
  269. package/lib/swing-gauge/helpers.d.ts +1 -1
  270. package/lib/swing-gauge/helpers.js +1 -1
  271. package/lib/swing-gauge/index.d.ts +9 -7
  272. package/lib/swing-gauge/index.js +17 -15
  273. package/lib/tab/custom-elements.json +2 -2
  274. package/lib/tab/custom-elements.md +22 -0
  275. package/lib/tab/index.d.ts +5 -5
  276. package/lib/tab/index.js +9 -12
  277. package/lib/tab/themes/solar/charcoal/index.js +1 -1
  278. package/lib/tab/themes/solar/pearl/index.js +1 -1
  279. package/lib/tab-bar/custom-elements.md +11 -0
  280. package/lib/tab-bar/index.d.ts +4 -4
  281. package/lib/tab-bar/index.js +9 -11
  282. package/lib/tab-bar/themes/solar/charcoal/index.js +1 -1
  283. package/lib/tab-bar/themes/solar/pearl/index.js +1 -1
  284. package/lib/text-field/custom-elements.json +78 -89
  285. package/lib/text-field/custom-elements.md +35 -0
  286. package/lib/text-field/index.d.ts +59 -79
  287. package/lib/text-field/index.js +99 -158
  288. package/lib/text-field/themes/solar/charcoal/index.js +1 -1
  289. package/lib/text-field/themes/solar/pearl/index.js +1 -1
  290. package/lib/time-picker/custom-elements.json +4 -4
  291. package/lib/time-picker/custom-elements.md +28 -0
  292. package/lib/time-picker/index.d.ts +7 -4
  293. package/lib/time-picker/index.js +15 -14
  294. package/lib/time-picker/themes/solar/charcoal/index.js +1 -1
  295. package/lib/time-picker/themes/solar/pearl/index.js +1 -1
  296. package/lib/toggle/custom-elements.json +4 -4
  297. package/lib/toggle/custom-elements.md +19 -0
  298. package/lib/toggle/index.d.ts +14 -4
  299. package/lib/toggle/index.js +31 -12
  300. package/lib/tooltip/custom-elements.md +14 -0
  301. package/lib/tooltip/elements/title-tooltip.js +2 -2
  302. package/lib/tooltip/elements/tooltip-element.d.ts +1 -1
  303. package/lib/tooltip/helpers/overflow-tooltip.d.ts +1 -1
  304. package/lib/tooltip/helpers/overflow-tooltip.js +1 -1
  305. package/lib/tooltip/helpers/renderer.d.ts +1 -1
  306. package/lib/tooltip/helpers/types.d.ts +1 -1
  307. package/lib/tooltip/index.d.ts +9 -9
  308. package/lib/tooltip/index.js +18 -20
  309. package/lib/tooltip/managers/tooltip-manager.d.ts +2 -2
  310. package/lib/tooltip/managers/tooltip-manager.js +3 -7
  311. package/lib/tornado-chart/custom-elements.md +18 -0
  312. package/lib/tornado-chart/elements/tornado-chart.d.ts +4 -4
  313. package/lib/tornado-chart/elements/tornado-chart.js +8 -11
  314. package/lib/tornado-chart/elements/tornado-item.d.ts +5 -5
  315. package/lib/tornado-chart/elements/tornado-item.js +10 -12
  316. package/lib/tornado-chart/index.d.ts +2 -2
  317. package/lib/tornado-chart/index.js +2 -2
  318. package/lib/tree/custom-elements.json +17 -3
  319. package/lib/tree/custom-elements.md +32 -0
  320. package/lib/tree/elements/tree-item.d.ts +4 -4
  321. package/lib/tree/elements/tree-item.js +10 -13
  322. package/lib/tree/elements/tree.d.ts +51 -5
  323. package/lib/tree/elements/tree.js +138 -11
  324. package/lib/tree/helpers/filter.d.ts +8 -0
  325. package/lib/tree/helpers/filter.js +33 -0
  326. package/lib/tree/helpers/renderer.d.ts +2 -2
  327. package/lib/tree/helpers/renderer.js +3 -3
  328. package/lib/tree/helpers/types.d.ts +9 -1
  329. package/lib/tree/index.d.ts +4 -4
  330. package/lib/tree/index.js +3 -3
  331. package/lib/tree/managers/tree-manager.d.ts +22 -10
  332. package/lib/tree/managers/tree-manager.js +56 -40
  333. package/lib/tree/themes/halo/dark/index.js +1 -1
  334. package/lib/tree/themes/halo/light/index.js +1 -1
  335. package/lib/tree/themes/solar/charcoal/index.js +1 -1
  336. package/lib/tree/themes/solar/pearl/index.js +1 -1
  337. package/lib/tree-select/custom-elements.json +10 -6
  338. package/lib/tree-select/custom-elements.md +26 -0
  339. package/lib/tree-select/helpers/types.d.ts +2 -2
  340. package/lib/tree-select/index.d.ts +32 -28
  341. package/lib/tree-select/index.js +54 -44
  342. package/lib/tree-select/themes/halo/dark/index.js +1 -1
  343. package/lib/tree-select/themes/halo/light/index.js +1 -1
  344. package/lib/tree-select/themes/solar/charcoal/index.js +1 -1
  345. package/lib/tree-select/themes/solar/pearl/index.js +1 -1
  346. package/lib/version.d.ts +1 -0
  347. package/lib/version.js +1 -0
  348. package/package.json +298 -15
  349. package/lib/autosuggest/helpers/const.d.ts +0 -2
  350. package/lib/autosuggest/helpers/const.js +0 -3
  351. package/lib/overlay-menu/helpers/uuid.d.ts +0 -7
  352. package/lib/overlay-menu/helpers/uuid.js +0 -13
@@ -0,0 +1,41 @@
1
+ # ef-search-field
2
+
3
+ Form control to get a search input from users.
4
+
5
+ ## Attributes
6
+
7
+ | Attribute | Type | Description |
8
+ |-------------------|-----------|----------------------------------------|
9
+ | `icon-has-action` | `boolean` | Specify when icon need to be clickable |
10
+ | `maxlength` | `number` | Set character max limit |
11
+ | `minlength` | `number` | Set character min limit |
12
+
13
+ ## Properties
14
+
15
+ | Property | Attribute | Type | Default | Description |
16
+ |-----------------|-------------------|------------------|---------|--------------------------------------------------|
17
+ | `disabled` | `disabled` | `boolean` | false | Set disabled state |
18
+ | `error` | `error` | `boolean` | false | Set error state |
19
+ | `iconHasAction` | `icon-has-action` | `boolean` | false | Specify when icon need to be clickable |
20
+ | `maxLength` | | `number \| null` | null | Set character max limit |
21
+ | `minLength` | | `number \| null` | null | Set character min limit |
22
+ | `pattern` | | `string` | "" | Set regular expression for input validation |
23
+ | `placeholder` | `placeholder` | `string` | "" | Set placeholder text |
24
+ | `readonly` | `readonly` | `boolean` | false | Set readonly state |
25
+ | `transparent` | `transparent` | `boolean` | false | Disables all other states and border/background styles. |
26
+ | `value` | `value` | `string` | "" | Input's value |
27
+ | `warning` | `warning` | `boolean` | false | Set warning state |
28
+
29
+ ## Methods
30
+
31
+ | Method | Type |
32
+ |--------------|-----------|
33
+ | `renderIcon` | `(): any` |
34
+
35
+ ## Events
36
+
37
+ | Event | Description |
38
+ |-----------------|-------------------------------------|
39
+ | `error-changed` | Dispatched when error state changes |
40
+ | `icon-click` | Dispatched when icon is clicked |
41
+ | `value-changed` | Dispatched when value changes |
@@ -1,122 +1,65 @@
1
1
  import { JSXInterface } from '../jsx';
2
- import { ControlElement, CSSResult, PropertyValues, TemplateResult } from '@refinitiv-ui/core';
3
- import '../icon';
2
+ import { TemplateResult } from '@refinitiv-ui/core';
3
+ import { TemplateMap } from '@refinitiv-ui/core/lib/directives/template-map.js';
4
+ import '../icon/index.js';
5
+ import { TextField } from '../text-field/index.js';
6
+ import { Translate } from '@refinitiv-ui/translate';
7
+ import '@refinitiv-ui/phrasebook/lib/locale/en/search-field.js';
4
8
  /**
5
9
  * Form control to get a search input from users.
6
10
  *
7
11
  * @fires value-changed - Dispatched when value changes
8
12
  * @fires error-changed - Dispatched when error state changes
13
+ * @fires icon-click - Dispatched when icon is clicked
9
14
  *
10
- * @attr {string} value - Input's value
11
- * @prop {string} [value=] - Input's value
15
+ * @attr {boolean} disabled - Set disabled state
16
+ * @prop {boolean} [disabled=false] - Set disabled state
17
+ *
18
+ * @attr {boolean} error - Set error state
19
+ * @prop {boolean} [error=false] - Set error state
20
+ *
21
+ * @attr {boolean} icon-has-action - Specify when icon need to be clickable
22
+ * @prop {boolean} [iconHasAction=false] - Specify when icon need to be clickable
23
+ *
24
+ * @attr {number} maxlength - Set character max limit
25
+ * @prop {number | null} [maxLength=null] - Set character max limit
26
+ *
27
+ * @attr {number} minlength - Set character min limit
28
+ * @prop {number | null} [minLength=null] - Set character min limit
29
+ *
30
+ * @prop {string} [pattern=""] - Set regular expression for input validation
31
+ *
32
+ * @attr {string} placeholder - Set placeholder text
33
+ * @prop {string} [placeholder=""] - Set placeholder text
12
34
  *
13
35
  * @attr {boolean} readonly - Set readonly state
14
36
  * @prop {boolean} [readonly=false] - Set readonly state
15
37
  *
16
- * @attr {boolean} disabled - Set disabled state
17
- * @prop {boolean} [disabled=false] - Set disabled state
38
+ * @attr {boolean} transparent - Disables all other states and border/background styles.
39
+ * @prop {boolean} [transparent=false] - Disables all other states and border/background styles.
40
+ *
41
+ * @attr {boolean} warning - Set warning state
42
+ * @prop {boolean} [warning=false] - Set warning state
43
+ *
44
+ * @attr {string} value - Input's value
45
+ * @prop {string} [value=""] - Input's value
18
46
  */
19
- export declare class SearchField extends ControlElement {
20
- /**
21
- * Element version number
22
- * @returns version number
23
- */
24
- static get version(): string;
25
- /**
26
- * A `CSSResult` that will be used
27
- * to style the host, slotted children
28
- * and the internal template of the element.
29
- * @return CSS template
30
- */
31
- static get styles(): CSSResult | CSSResult[];
32
- /**
33
- * Set regular expression for input validation
34
- */
35
- pattern: string;
36
- /**
37
- * Set place holder text
38
- */
39
- placeholder: string;
40
- /**
41
- * Set state to error
42
- */
43
- error: boolean;
44
- /**
45
- * Set state to warning
46
- */
47
- warning: boolean;
47
+ export declare class SearchField extends TextField {
48
48
  /**
49
- * Disables all other states and border/background styles.
50
- * Use with advanced composite elements requiring e.g. multi selection in
51
- * combo-box when parent container handles element states.
49
+ * Used for translations
52
50
  */
53
- transparent: boolean;
51
+ protected t: Translate;
54
52
  /**
55
- * Set character max limit
56
- */
57
- maxLength: number | null;
58
- /**
59
- * Set character min limit
60
- */
61
- minLength: number | null;
62
- /**
63
- * Specify when icon need to be clickable
64
- */
65
- iconHasAction: boolean;
66
- /**
67
- * Get native input element from shadow roots
68
- */
69
- private inputElement;
70
- /**
71
- * Select the contents of input
72
- * @returns void
73
- */
74
- select(): void;
75
- /**
76
- * A `TemplateResult` that will be used
77
- * to render the updated internal template.
78
- * @return Render template
79
- */
80
- protected render(): TemplateResult;
81
- /**
82
- * Called when the element’s DOM has been updated and rendered
83
- * @param changedProperties Properties that has changed
84
- * @returns {void}
85
- */
86
- protected updated(changedProperties: PropertyValues): void;
87
- /**
88
- * Check if input should be re-validated
89
- * @param changedProperties Properties that has changed
90
- * @returns True if input should be re-validated
91
- */
92
- private shouldValidateInput;
93
- /**
94
- * validate input according `pattern`, `minLength` and `maxLength` properties
95
- * change state of `error` property according pattern validation
96
- * @returns {void}
97
- */
98
- private validateInput;
99
- /**
100
- * @param error existing state of error
101
- * @returns true if there is no error and browser is IE11 and minLength more than 0 and value exists
102
- */
103
- private shouldValidateForMinLength;
104
- /**
105
- * Check if value is changed
106
- * @returns {void}
107
- */
108
- private onPossibleValueChange;
109
- /**
110
- * Detect `enter` and `space` keydown and fire
111
- * @param event keydown event
112
- * @returns {void}
53
+ * Decorate `<input>` element with common properties extended from text-field:
54
+ * type="search" - always `search`
55
+ * @returns template map
113
56
  */
114
- private handleKeyDown;
57
+ protected get decorateInputMap(): TemplateMap;
115
58
  /**
116
- * Fire event on icon click
59
+ * Renders icon element
117
60
  * @returns {void}
118
61
  */
119
- private notifyIcon;
62
+ protected renderIcon(): TemplateResult | null;
120
63
  }
121
64
 
122
65
  declare global {
@@ -126,7 +69,7 @@ declare global {
126
69
 
127
70
  namespace JSX {
128
71
  interface IntrinsicElements {
129
- 'ef-search-field': Partial<SearchField> | JSXInterface.ControlHTMLAttributes<SearchField>;
72
+ 'ef-search-field': Partial<SearchField> | JSXInterface.HTMLAttributes<SearchField>;
130
73
  }
131
74
  }
132
75
  }
@@ -1,251 +1,81 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- import { ControlElement, css, customElement, html, ifDefined, property, query } from '@refinitiv-ui/core';
8
- import { VERSION } from '../';
9
- import '../icon';
10
- const hasChanged = (newVal, oldVal) => oldVal === undefined ? false : newVal !== oldVal;
11
- const isIE = (/Trident/g).test(navigator.userAgent);
1
+ import { __decorate } from "tslib";
2
+ import { html } from '@refinitiv-ui/core';
3
+ import { customElement } from '@refinitiv-ui/core/lib/decorators/custom-element.js';
4
+ import { ifDefined } from '@refinitiv-ui/core/lib/directives/if-defined.js';
5
+ import '../icon/index.js';
6
+ import { TextField } from '../text-field/index.js';
7
+ import { translate } from '@refinitiv-ui/translate';
8
+ import '@refinitiv-ui/phrasebook/lib/locale/en/search-field.js';
12
9
  /**
13
10
  * Form control to get a search input from users.
14
11
  *
15
12
  * @fires value-changed - Dispatched when value changes
16
13
  * @fires error-changed - Dispatched when error state changes
14
+ * @fires icon-click - Dispatched when icon is clicked
17
15
  *
18
- * @attr {string} value - Input's value
19
- * @prop {string} [value=] - Input's value
16
+ * @attr {boolean} disabled - Set disabled state
17
+ * @prop {boolean} [disabled=false] - Set disabled state
18
+ *
19
+ * @attr {boolean} error - Set error state
20
+ * @prop {boolean} [error=false] - Set error state
21
+ *
22
+ * @attr {boolean} icon-has-action - Specify when icon need to be clickable
23
+ * @prop {boolean} [iconHasAction=false] - Specify when icon need to be clickable
24
+ *
25
+ * @attr {number} maxlength - Set character max limit
26
+ * @prop {number | null} [maxLength=null] - Set character max limit
27
+ *
28
+ * @attr {number} minlength - Set character min limit
29
+ * @prop {number | null} [minLength=null] - Set character min limit
30
+ *
31
+ * @prop {string} [pattern=""] - Set regular expression for input validation
32
+ *
33
+ * @attr {string} placeholder - Set placeholder text
34
+ * @prop {string} [placeholder=""] - Set placeholder text
20
35
  *
21
36
  * @attr {boolean} readonly - Set readonly state
22
37
  * @prop {boolean} [readonly=false] - Set readonly state
23
38
  *
24
- * @attr {boolean} disabled - Set disabled state
25
- * @prop {boolean} [disabled=false] - Set disabled state
39
+ * @attr {boolean} transparent - Disables all other states and border/background styles.
40
+ * @prop {boolean} [transparent=false] - Disables all other states and border/background styles.
41
+ *
42
+ * @attr {boolean} warning - Set warning state
43
+ * @prop {boolean} [warning=false] - Set warning state
44
+ *
45
+ * @attr {string} value - Input's value
46
+ * @prop {string} [value=""] - Input's value
26
47
  */
27
- let SearchField = class SearchField extends ControlElement {
28
- constructor() {
29
- super(...arguments);
30
- /**
31
- * Set regular expression for input validation
32
- */
33
- this.pattern = '';
34
- /**
35
- * Set place holder text
36
- */
37
- this.placeholder = '';
38
- /**
39
- * Set state to error
40
- */
41
- this.error = false;
42
- /**
43
- * Set state to warning
44
- */
45
- this.warning = false;
46
- /**
47
- * Disables all other states and border/background styles.
48
- * Use with advanced composite elements requiring e.g. multi selection in
49
- * combo-box when parent container handles element states.
50
- */
51
- this.transparent = false;
52
- /**
53
- * Set character max limit
54
- */
55
- this.maxLength = null;
56
- /**
57
- * Set character min limit
58
- */
59
- this.minLength = null;
60
- /**
61
- * Specify when icon need to be clickable
62
- */
63
- this.iconHasAction = false;
64
- }
65
- /**
66
- * Element version number
67
- * @returns version number
68
- */
69
- static get version() {
70
- return VERSION;
71
- }
72
- /**
73
- * A `CSSResult` that will be used
74
- * to style the host, slotted children
75
- * and the internal template of the element.
76
- * @return CSS template
77
- */
78
- static get styles() {
79
- return css `
80
- :host {
81
- display: inline-block;
82
- }
83
- :host(:focus), :host input:focus {
84
- outline: none;
85
- }
86
- [part=input] {
87
- font: inherit;
88
- background: none;
89
- color: currentColor;
90
- border: none;
91
- text-align: inherit;
92
- }
93
- :host [part=icon]{
94
- display: flex;
95
- outline: none;
96
- }
97
- :host([transparent]) {
98
- background: none !important;
99
- border: none !important;
100
- }
101
- :host([icon-has-action]) [part=icon] {
102
- cursor: pointer;
103
- }
104
- `;
105
- }
48
+ let SearchField = class SearchField extends TextField {
106
49
  /**
107
- * Select the contents of input
108
- * @returns void
50
+ * Decorate `<input>` element with common properties extended from text-field:
51
+ * type="search" - always `search`
52
+ * @returns template map
109
53
  */
110
- select() {
111
- if (!this.disabled && !this.readonly) {
112
- this.inputElement.select();
113
- }
54
+ get decorateInputMap() {
55
+ return Object.assign(Object.assign({}, super.decorateInputMap), { 'type': 'search', 'inputmode': 'search' });
114
56
  }
115
57
  /**
116
- * A `TemplateResult` that will be used
117
- * to render the updated internal template.
118
- * @return Render template
58
+ * Renders icon element
59
+ * @returns {void}
119
60
  */
120
- render() {
61
+ renderIcon() {
121
62
  return html `
122
- <input
123
- type="search"
124
- part="input"
125
- ?readonly="${this.readonly}"
126
- ?disabled="${this.disabled}"
127
- placeholder="${ifDefined(this.placeholder || undefined)}"
128
- maxlength="${ifDefined(this.maxLength || undefined)}"
129
- minlength="${ifDefined(this.minLength || undefined)}"
130
- @input="${this.onPossibleValueChange}"
131
- @change="${this.onPossibleValueChange}"
132
- pattern="${ifDefined(this.pattern || undefined)}"
133
- autocomplete="off"
134
- />
135
63
  <ef-icon
136
64
  part="icon"
65
+ role="${ifDefined(this.iconHasAction ? 'button' : undefined)}"
137
66
  icon="search"
67
+ aria-label="${this.t('SEARCH')}"
138
68
  ?readonly="${this.readonly}"
139
69
  ?disabled="${this.disabled}"
140
- @tap="${this.notifyIcon}"
141
- @keydown="${this.handleKeyDown}"
70
+ @tap="${this.iconClick}"
142
71
  tabindex="${ifDefined(this.iconHasAction ? '0' : undefined)}"
143
72
  ></ef-icon>
144
73
  `;
145
74
  }
146
- /**
147
- * Called when the element’s DOM has been updated and rendered
148
- * @param changedProperties Properties that has changed
149
- * @returns {void}
150
- */
151
- updated(changedProperties) {
152
- super.updated(changedProperties);
153
- if (this.inputElement.value !== this.value) {
154
- this.inputElement.value = this.value;
155
- }
156
- if (this.shouldValidateInput(changedProperties)) {
157
- this.validateInput();
158
- }
159
- }
160
- /**
161
- * Check if input should be re-validated
162
- * @param changedProperties Properties that has changed
163
- * @returns True if input should be re-validated
164
- */
165
- shouldValidateInput(changedProperties) {
166
- return (changedProperties.has('pattern') || !!(this.pattern && changedProperties.has('value')))
167
- || (changedProperties.has('minLength') || !!(this.minLength && changedProperties.has('value')));
168
- }
169
- /**
170
- * validate input according `pattern`, `minLength` and `maxLength` properties
171
- * change state of `error` property according pattern validation
172
- * @returns {void}
173
- */
174
- validateInput() {
175
- let error = !this.inputElement.checkValidity();
176
- if (this.shouldValidateForMinLength(error)) {
177
- error = !!this.minLength && (this.minLength > this.value.length);
178
- }
179
- if (this.error !== error) {
180
- this.error = error;
181
- this.notifyPropertyChange('error', this.error);
182
- }
183
- }
184
- /**
185
- * @param error existing state of error
186
- * @returns true if there is no error and browser is IE11 and minLength more than 0 and value exists
187
- */
188
- shouldValidateForMinLength(error) {
189
- return !!(!error && isIE && this.minLength && !!this.value);
190
- }
191
- /**
192
- * Check if value is changed
193
- * @returns {void}
194
- */
195
- onPossibleValueChange() {
196
- const value = this.inputElement.value;
197
- this.setValueAndNotify(value);
198
- }
199
- /**
200
- * Detect `enter` and `space` keydown and fire
201
- * @param event keydown event
202
- * @returns {void}
203
- */
204
- handleKeyDown(event) {
205
- if (event.key === 'Spacebar' || event.key === ' ' || event.key === 'Enter') {
206
- this.notifyIcon();
207
- }
208
- }
209
- /**
210
- * Fire event on icon click
211
- * @returns {void}
212
- */
213
- notifyIcon() {
214
- if (this.iconHasAction) {
215
- /**
216
- * Dispatched only when element has icon-has-action attribute and icon is clicked
217
- */
218
- this.dispatchEvent(new CustomEvent('icon-click', { bubbles: false }));
219
- }
220
- }
221
75
  };
222
76
  __decorate([
223
- property({ type: String, hasChanged })
224
- ], SearchField.prototype, "pattern", void 0);
225
- __decorate([
226
- property({ type: String })
227
- ], SearchField.prototype, "placeholder", void 0);
228
- __decorate([
229
- property({ type: Boolean, reflect: true })
230
- ], SearchField.prototype, "error", void 0);
231
- __decorate([
232
- property({ type: Boolean, reflect: true })
233
- ], SearchField.prototype, "warning", void 0);
234
- __decorate([
235
- property({ type: Boolean, reflect: true })
236
- ], SearchField.prototype, "transparent", void 0);
237
- __decorate([
238
- property({ type: Number, attribute: 'maxlength', reflect: true })
239
- ], SearchField.prototype, "maxLength", void 0);
240
- __decorate([
241
- property({ type: Number, attribute: 'minlength', reflect: true, hasChanged })
242
- ], SearchField.prototype, "minLength", void 0);
243
- __decorate([
244
- property({ type: Boolean, reflect: true, attribute: 'icon-has-action' })
245
- ], SearchField.prototype, "iconHasAction", void 0);
246
- __decorate([
247
- query('[part="input"]')
248
- ], SearchField.prototype, "inputElement", void 0);
77
+ translate({ scope: 'ef-search-field' })
78
+ ], SearchField.prototype, "t", void 0);
249
79
  SearchField = __decorate([
250
80
  customElement('ef-search-field', {
251
81
  alias: 'coral-search-field'
@@ -1,3 +1,3 @@
1
1
  import '@refinitiv-ui/elements/lib/icon/themes/solar/charcoal';
2
2
 
3
- elf.customStyles.define('ef-search-field', ':host{display:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;text-align:left;font-family:inherit;font-size:13rem;font-weight:400;height:23px;width:140px;max-width:100%;padding:0 5px;margin:1px 0;outline:0;box-sizing:border-box;display:inline-flex;align-items:center;position:relative;vertical-align:middle;color:#c2c2c2;border-radius:0;text-overflow:ellipsis;background-color:#000;border:1px solid #4a4a52}:host([type=number]){padding-right:0}:host([error]),:host([error][warning]){border:1px solid #f5475b}:host([error][disabled]),:host([error][warning][disabled]){color:rgba(194,194,194,.6);border:1px solid rgba(245,71,91,.6)}:host ::-ms-clear{display:none}: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:#e2e2e2;min-width:1em}:host([disabled]) [part=input]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}:host([disabled]){border:1px solid rgba(74,74,82,.6);color:rgba(194,194,194,.6)}:host([readonly]){border:1px solid rgba(74,74,82,.6)}:host(:not([focused]):not(:focus):hover){border:1px solid #77777d}:host([warning]){background-color:#000;border:1px solid #f93}:host([warning][disabled]){border:1px solid rgba(255,153,51,.6);color:rgba(194,194,194,.6)}:host([warning][readonly]){border:1px solid rgba(255,153,51,.6)}:host([warning]:not([focused]):not(:focus):hover){border:1px solid #ffb366}:host([error]),:host([error][warning]:not([focused])){background-color:#000;border:1px solid #f5475b}:host([error][disabled]),:host([error][warning]:not([focused])[disabled]){border:1px solid rgba(245,71,91,.6);color:rgba(194,194,194,.6)}:host([error][readonly]),:host([error][warning]:not([focused])[readonly]){border:1px solid rgba(245,71,91,.6)}:host([error]:not([focused]):not(:focus):hover),:host([error][warning]:not([focused]):not([focused]):not(:focus):hover){border:1px solid #f87584}:host([highlight]){background-color:#1b252f;border:1px solid #4a4a52}:host([highlight][disabled]){border:1px solid rgba(74,74,82,.6);color:rgba(194,194,194,.6);background-color:rgba(27,37,47,.6)}:host([highlight][readonly]){border:1px solid rgba(74,74,82,.6)}:host([highlight]:not([focused]):not(:focus):hover){border:1px solid #77777d}:host([indirect]){color:#0fd;background-color:#000;border:1px solid #898623}:host([indirect][disabled]){border:1px solid rgba(137,134,35,.6);color:rgba(0,255,221,.6)}:host([indirect][readonly]){border:1px solid rgba(137,134,35,.6)}:host([indirect]:not([focused]):not(:focus):hover){border:1px solid #a7a45a}:host([focused]){background-size:100% 2px,100% 1px!important;background-position:center bottom!important;border-color:#f93;border-style:dotted}:host([disabled]) [part=input]::-webkit-input-placeholder{color:rgba(102,101,112,.6)}:host([disabled]) [part=input]::-moz-placeholder{color:rgba(102,101,112,.6)}:host([disabled]) [part=input]:-ms-input-placeholder{color:rgba(102,101,112,.6)}');
3
+ elf.customStyles.define('ef-search-field', ':host{display:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;text-align:left;font-family:inherit;font-size:13rem;font-weight:400;height:23px;width:140px;max-width:100%;padding:0 5px;margin:1px 0;outline:0;box-sizing:border-box;display:inline-flex;align-items:center;position:relative;vertical-align:middle;color:#c2c2c2;border-radius:0;text-overflow:ellipsis;background-color:#000;border:1px solid #4a4a52}:host([type=number]){padding-right:0}:host([error]),:host([error][warning]){border:1px solid #f5475b}:host([error][disabled]),:host([error][warning][disabled]){color:rgba(194,194,194,.6);border:1px solid rgba(245,71,91,.6)}:host ::-ms-clear{display:none}: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:#e2e2e2;min-width:1em}:host([disabled]) [part=input]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}:host([disabled]){border:1px solid rgba(74,74,82,.6);color:rgba(194,194,194,.6)}:host([readonly]){border:1px solid rgba(74,74,82,.6)}:host(:not([focused]):not(:focus):not([disabled]):not([readonly]):hover){border:1px solid #77777d}:host([warning]){background-color:#000;border:1px solid #f93}:host([warning][disabled]){border:1px solid rgba(255,153,51,.6);color:rgba(194,194,194,.6)}:host([warning][readonly]){border:1px solid rgba(255,153,51,.6)}:host([warning]:not([focused]):not(:focus):not([disabled]):not([readonly]):hover){border:1px solid #ffb366}:host([error]),:host([error][warning]:not([focused])){background-color:#000;border:1px solid #f5475b}:host([error][disabled]),:host([error][warning]:not([focused])[disabled]){border:1px solid rgba(245,71,91,.6);color:rgba(194,194,194,.6)}:host([error][readonly]),:host([error][warning]:not([focused])[readonly]){border:1px solid rgba(245,71,91,.6)}:host([error]:not([focused]):not(:focus):not([disabled]):not([readonly]):hover),:host([error][warning]:not([focused]):not([focused]):not(:focus):not([disabled]):not([readonly]):hover){border:1px solid #f87584}:host([highlight]){background-color:#1b252f;border:1px solid #4a4a52}:host([highlight][disabled]){border:1px solid rgba(74,74,82,.6);color:rgba(194,194,194,.6);background-color:rgba(27,37,47,.6)}:host([highlight][readonly]){border:1px solid rgba(74,74,82,.6)}:host([highlight]:not([focused]):not(:focus):not([disabled]):not([readonly]):hover){border:1px solid #77777d}:host([indirect]){color:#0fd;background-color:#000;border:1px solid #898623}:host([indirect][disabled]){border:1px solid rgba(137,134,35,.6);color:rgba(0,255,221,.6)}:host([indirect][readonly]){border:1px solid rgba(137,134,35,.6)}:host([indirect]:not([focused]):not(:focus):not([disabled]):not([readonly]):hover){border:1px solid #a7a45a}:host([focused]){background-size:100% 2px,100% 1px!important;background-position:center bottom!important;border-color:#f93;border-style:dotted}:host([disabled]) [part=input]::-webkit-input-placeholder{color:rgba(102,101,112,.6)}:host([disabled]) [part=input]::-moz-placeholder{color:rgba(102,101,112,.6)}:host([disabled]) [part=input]:-ms-input-placeholder{color:rgba(102,101,112,.6)}');
@@ -1,3 +1,3 @@
1
1
  import '@refinitiv-ui/elements/lib/icon/themes/solar/pearl';
2
2
 
3
- elf.customStyles.define('ef-search-field', ':host{display:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;text-align:left;font-family:inherit;font-size:13rem;font-weight:400;height:23px;width:140px;max-width:100%;padding:0 5px;margin:1px 0;outline:0;box-sizing:border-box;display:inline-flex;align-items:center;position:relative;vertical-align:middle;color:#484848;border-radius:0;text-overflow:ellipsis;background-color:#fff;border:1px solid #a9afba}:host([type=number]){padding-right:0}:host([error]),:host([error][warning]){border:1px solid #d94255}:host([error][disabled]),:host([error][warning][disabled]){color:rgba(72,72,72,.6);border:1px solid rgba(217,66,85,.6)}:host ::-ms-clear{display:none}: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:#acafb5;min-width:1em}:host([disabled]) [part=input]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}:host([disabled]){border:1px solid rgba(169,175,186,.6);color:rgba(72,72,72,.6)}:host([readonly]){border:1px solid rgba(169,175,186,.6)}:host(:not([focused]):not(:focus):hover){border:1px solid #bfc3cb}:host([warning]){background-color:#fff;border:1px solid #f93}:host([warning][disabled]){border:1px solid rgba(255,153,51,.6);color:rgba(72,72,72,.6)}:host([warning][readonly]){border:1px solid rgba(255,153,51,.6)}:host([warning]:not([focused]):not(:focus):hover){border:1px solid #ffb366}:host([error]),:host([error][warning]:not([focused])){background-color:#fff;border:1px solid #d94255}:host([error][disabled]),:host([error][warning]:not([focused])[disabled]){border:1px solid rgba(217,66,85,.6);color:rgba(72,72,72,.6)}:host([error][readonly]),:host([error][warning]:not([focused])[readonly]){border:1px solid rgba(217,66,85,.6)}:host([error]:not([focused]):not(:focus):hover),:host([error][warning]:not([focused]):not([focused]):not(:focus):hover){border:1px solid #e37180}:host([highlight]){background-color:#b0ffff;border:1px solid #a9afba}:host([highlight][disabled]){border:1px solid rgba(169,175,186,.6);color:rgba(72,72,72,.6);background-color:rgba(176,255,255,.6)}:host([highlight][readonly]){border:1px solid rgba(169,175,186,.6)}:host([highlight]:not([focused]):not(:focus):hover){border:1px solid #bfc3cb}:host([indirect]){color:#009494;background-color:#effefe;border:1px solid #898623}:host([indirect][disabled]){border:1px solid rgba(137,134,35,.6);color:rgba(0,148,148,.6)}:host([indirect][readonly]){border:1px solid rgba(137,134,35,.6)}:host([indirect]:not([focused]):not(:focus):hover){border:1px solid #a7a45a}:host([focused]){background-size:100% 2px,100% 1px!important;background-position:center bottom!important;border-color:#ffb266;border-style:dotted}:host([disabled]) [part=input]::-webkit-input-placeholder{color:rgba(102,101,112,.6)}:host([disabled]) [part=input]::-moz-placeholder{color:rgba(102,101,112,.6)}:host([disabled]) [part=input]:-ms-input-placeholder{color:rgba(102,101,112,.6)}');
3
+ elf.customStyles.define('ef-search-field', ':host{display:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;text-align:left;font-family:inherit;font-size:13rem;font-weight:400;height:23px;width:140px;max-width:100%;padding:0 5px;margin:1px 0;outline:0;box-sizing:border-box;display:inline-flex;align-items:center;position:relative;vertical-align:middle;color:#484848;border-radius:0;text-overflow:ellipsis;background-color:#fff;border:1px solid #a9afba}:host([type=number]){padding-right:0}:host([error]),:host([error][warning]){border:1px solid #d94255}:host([error][disabled]),:host([error][warning][disabled]){color:rgba(72,72,72,.6);border:1px solid rgba(217,66,85,.6)}:host ::-ms-clear{display:none}: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:#acafb5;min-width:1em}:host([disabled]) [part=input]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}:host([disabled]){border:1px solid rgba(169,175,186,.6);color:rgba(72,72,72,.6)}:host([readonly]){border:1px solid rgba(169,175,186,.6)}:host(:not([focused]):not(:focus):not([disabled]):not([readonly]):hover){border:1px solid #bfc3cb}:host([warning]){background-color:#fff;border:1px solid #f93}:host([warning][disabled]){border:1px solid rgba(255,153,51,.6);color:rgba(72,72,72,.6)}:host([warning][readonly]){border:1px solid rgba(255,153,51,.6)}:host([warning]:not([focused]):not(:focus):not([disabled]):not([readonly]):hover){border:1px solid #ffb366}:host([error]),:host([error][warning]:not([focused])){background-color:#fff;border:1px solid #d94255}:host([error][disabled]),:host([error][warning]:not([focused])[disabled]){border:1px solid rgba(217,66,85,.6);color:rgba(72,72,72,.6)}:host([error][readonly]),:host([error][warning]:not([focused])[readonly]){border:1px solid rgba(217,66,85,.6)}:host([error]:not([focused]):not(:focus):not([disabled]):not([readonly]):hover),:host([error][warning]:not([focused]):not([focused]):not(:focus):not([disabled]):not([readonly]):hover){border:1px solid #e37180}:host([highlight]){background-color:#b0ffff;border:1px solid #a9afba}:host([highlight][disabled]){border:1px solid rgba(169,175,186,.6);color:rgba(72,72,72,.6);background-color:rgba(176,255,255,.6)}:host([highlight][readonly]){border:1px solid rgba(169,175,186,.6)}:host([highlight]:not([focused]):not(:focus):not([disabled]):not([readonly]):hover){border:1px solid #bfc3cb}:host([indirect]){color:#009494;background-color:#effefe;border:1px solid #898623}:host([indirect][disabled]){border:1px solid rgba(137,134,35,.6);color:rgba(0,148,148,.6)}:host([indirect][readonly]){border:1px solid rgba(137,134,35,.6)}:host([indirect]:not([focused]):not(:focus):not([disabled]):not([readonly]):hover){border:1px solid #a7a45a}:host([focused]){background-size:100% 2px,100% 1px!important;background-position:center bottom!important;border-color:#ffb266;border-style:dotted}:host([disabled]) [part=input]::-webkit-input-placeholder{color:rgba(102,101,112,.6)}:host([disabled]) [part=input]::-moz-placeholder{color:rgba(102,101,112,.6)}:host([disabled]) [part=input]:-ms-input-placeholder{color:rgba(102,101,112,.6)}');
@@ -33,12 +33,12 @@
33
33
  "name": "disabled",
34
34
  "description": "Set disabled state",
35
35
  "type": "boolean",
36
- "default": "\"false\""
36
+ "default": "false"
37
37
  }
38
38
  ],
39
39
  "properties": [
40
40
  {
41
- "name": "label",
41
+ "name": "label (readonly)",
42
42
  "description": "Current text content of the selected value",
43
43
  "type": "string"
44
44
  },
@@ -78,14 +78,15 @@
78
78
  {
79
79
  "name": "value",
80
80
  "description": "Value of the element",
81
- "type": "string"
81
+ "type": "string",
82
+ "default": "\"\""
82
83
  },
83
84
  {
84
85
  "name": "disabled",
85
86
  "attribute": "disabled",
86
87
  "description": "Set disabled state",
87
88
  "type": "boolean",
88
- "default": "\"false\""
89
+ "default": "false"
89
90
  }
90
91
  ],
91
92
  "events": [
@@ -0,0 +1,24 @@
1
+ # ef-select
2
+
3
+ Expands upon the native select element,
4
+ providing a fully themeable dropdown element.
5
+
6
+ ## Properties
7
+
8
+ | Property | Attribute | Type | Default | Description |
9
+ |--------------------|---------------|----------------------|---------|--------------------------------------------------|
10
+ | `data` | | `SelectData \| null` | null | Construct the menu from data object. Cannot be used with slotted content |
11
+ | `disabled` | `disabled` | `boolean` | false | Set disabled state |
12
+ | `error` | `error` | `boolean` | false | Set state to error |
13
+ | `label (readonly)` | | `string` | | Current text content of the selected value |
14
+ | `opened` | `opened` | `boolean` | false | Toggles the opened state of the list |
15
+ | `placeholder` | `placeholder` | `string` | "" | Placeholder to display when no value is set |
16
+ | `value` | | `string` | "" | Value of the element |
17
+ | `warning` | `warning` | `boolean` | false | Set state to warning |
18
+
19
+ ## Events
20
+
21
+ | Event | Description |
22
+ |------------------|-----------------------------------------|
23
+ | `opened-changed` | Fired when the opened property changes. |
24
+ | `value-changed` | Fired when the value property changes. |
@@ -1,3 +1,3 @@
1
- import { ItemData } from '../../item';
1
+ import type { ItemData } from '../../item';
2
2
  export declare type SelectData = ItemData[];
3
3
  export declare type SelectDataItem = ItemData;