@refinitiv-ui/elements 5.0.0-beta.3 → 5.0.0-dev.204

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 (596) hide show
  1. package/CHANGELOG.md +325 -73
  2. package/README.md +13 -2
  3. package/lib/accordion/custom-elements.json +0 -13
  4. package/lib/accordion/custom-elements.md +18 -0
  5. package/lib/accordion/index.d.ts +13 -10
  6. package/lib/accordion/index.js +15 -18
  7. package/lib/appstate-bar/custom-elements.json +1 -1
  8. package/lib/appstate-bar/custom-elements.md +22 -0
  9. package/lib/appstate-bar/index.d.ts +15 -6
  10. package/lib/appstate-bar/index.js +17 -11
  11. package/lib/autosuggest/custom-elements.json +24 -4
  12. package/lib/autosuggest/custom-elements.md +54 -0
  13. package/lib/autosuggest/helpers/types.d.ts +22 -1
  14. package/lib/autosuggest/helpers/types.js +0 -1
  15. package/lib/autosuggest/helpers/utils.d.ts +2 -2
  16. package/lib/autosuggest/helpers/utils.js +1 -3
  17. package/lib/autosuggest/index.d.ts +21 -9
  18. package/lib/autosuggest/index.js +45 -31
  19. package/lib/button/custom-elements.json +3 -3
  20. package/lib/button/custom-elements.md +23 -0
  21. package/lib/button/index.d.ts +27 -20
  22. package/lib/button/index.js +92 -74
  23. package/lib/button/themes/halo/dark/index.js +1 -1
  24. package/lib/button/themes/halo/light/index.js +1 -1
  25. package/lib/button/themes/solar/charcoal/index.js +1 -1
  26. package/lib/button/themes/solar/pearl/index.js +1 -1
  27. package/lib/button-bar/custom-elements.md +9 -0
  28. package/lib/button-bar/index.d.ts +60 -4
  29. package/lib/button-bar/index.js +164 -19
  30. package/lib/calendar/constants.d.ts +26 -0
  31. package/lib/calendar/constants.js +28 -0
  32. package/lib/calendar/custom-elements.json +8 -6
  33. package/lib/calendar/custom-elements.md +35 -0
  34. package/lib/calendar/index.d.ts +119 -21
  35. package/lib/calendar/index.js +512 -157
  36. package/lib/calendar/locales.d.ts +1 -31
  37. package/lib/calendar/locales.js +3 -107
  38. package/lib/calendar/themes/halo/dark/index.js +1 -1
  39. package/lib/calendar/themes/halo/light/index.js +1 -1
  40. package/lib/calendar/themes/solar/charcoal/index.js +1 -1
  41. package/lib/calendar/themes/solar/pearl/index.js +1 -1
  42. package/lib/calendar/types.d.ts +12 -13
  43. package/lib/calendar/types.js +1 -7
  44. package/lib/calendar/utils.d.ts +31 -1
  45. package/lib/calendar/utils.js +105 -3
  46. package/lib/canvas/custom-elements.json +9 -7
  47. package/lib/canvas/custom-elements.md +27 -0
  48. package/lib/canvas/index.d.ts +14 -6
  49. package/lib/canvas/index.js +17 -12
  50. package/lib/card/custom-elements.json +21 -9
  51. package/lib/card/custom-elements.md +24 -0
  52. package/lib/card/helpers/types.d.ts +1 -1
  53. package/lib/card/helpers/types.js +0 -1
  54. package/lib/card/index.d.ts +67 -20
  55. package/lib/card/index.js +132 -35
  56. package/lib/card/themes/halo/dark/index.js +1 -1
  57. package/lib/card/themes/halo/light/index.js +1 -1
  58. package/lib/card/themes/solar/charcoal/index.js +1 -1
  59. package/lib/card/themes/solar/pearl/index.js +1 -1
  60. package/lib/chart/custom-elements.json +3 -3
  61. package/lib/chart/custom-elements.md +16 -0
  62. package/lib/chart/helpers/index.d.ts +2 -0
  63. package/lib/chart/helpers/index.js +2 -0
  64. package/lib/chart/helpers/legend.d.ts +2 -2
  65. package/lib/chart/helpers/legend.js +2 -3
  66. package/lib/chart/helpers/merge.d.ts +15 -0
  67. package/lib/chart/helpers/merge.js +28 -0
  68. package/lib/chart/helpers/types.d.ts +40 -12
  69. package/lib/chart/helpers/types.js +0 -1
  70. package/lib/chart/index.d.ts +34 -26
  71. package/lib/chart/index.js +58 -55
  72. package/lib/chart/plugins/doughnut-center-label.js +4 -5
  73. package/lib/checkbox/custom-elements.json +4 -4
  74. package/lib/checkbox/custom-elements.md +18 -0
  75. package/lib/checkbox/index.d.ts +29 -14
  76. package/lib/checkbox/index.js +65 -34
  77. package/lib/checkbox/themes/halo/dark/index.js +1 -1
  78. package/lib/checkbox/themes/halo/light/index.js +1 -1
  79. package/lib/clock/custom-elements.json +21 -4
  80. package/lib/clock/custom-elements.md +28 -0
  81. package/lib/clock/index.d.ts +25 -6
  82. package/lib/clock/index.js +44 -18
  83. package/lib/clock/themes/halo/dark/index.js +1 -1
  84. package/lib/clock/themes/halo/light/index.js +1 -1
  85. package/lib/clock/themes/solar/charcoal/index.js +1 -1
  86. package/lib/clock/themes/solar/pearl/index.js +1 -1
  87. package/lib/clock/utils/TickManager.js +2 -3
  88. package/lib/clock/utils/timestamps.js +0 -1
  89. package/lib/collapse/custom-elements.md +27 -0
  90. package/lib/collapse/index.d.ts +15 -8
  91. package/lib/collapse/index.js +18 -13
  92. package/lib/color-dialog/custom-elements.json +29 -16
  93. package/lib/color-dialog/custom-elements.md +39 -0
  94. package/lib/color-dialog/elements/color-palettes.d.ts +13 -6
  95. package/lib/color-dialog/elements/color-palettes.js +16 -13
  96. package/lib/color-dialog/elements/grayscale-palettes.d.ts +13 -6
  97. package/lib/color-dialog/elements/grayscale-palettes.js +17 -13
  98. package/lib/color-dialog/elements/palettes.d.ts +15 -3
  99. package/lib/color-dialog/elements/palettes.js +65 -45
  100. package/lib/color-dialog/helpers/color-helpers.d.ts +7 -53
  101. package/lib/color-dialog/helpers/color-helpers.js +12 -110
  102. package/lib/color-dialog/helpers/value-model.d.ts +1 -1
  103. package/lib/color-dialog/helpers/value-model.js +18 -17
  104. package/lib/color-dialog/index.d.ts +27 -20
  105. package/lib/color-dialog/index.js +54 -45
  106. package/lib/combo-box/custom-elements.json +51 -17
  107. package/lib/combo-box/custom-elements.md +42 -0
  108. package/lib/combo-box/helpers/filter.d.ts +4 -4
  109. package/lib/combo-box/helpers/filter.js +0 -1
  110. package/lib/combo-box/helpers/keyboard-event.js +0 -1
  111. package/lib/combo-box/helpers/renderer.d.ts +8 -0
  112. package/lib/combo-box/helpers/renderer.js +24 -0
  113. package/lib/combo-box/helpers/types.d.ts +2 -2
  114. package/lib/combo-box/helpers/types.js +0 -1
  115. package/lib/combo-box/index.d.ts +63 -32
  116. package/lib/combo-box/index.js +102 -60
  117. package/lib/combo-box/themes/halo/dark/index.js +2 -3
  118. package/lib/combo-box/themes/halo/light/index.js +2 -3
  119. package/lib/combo-box/themes/solar/charcoal/index.js +2 -3
  120. package/lib/combo-box/themes/solar/pearl/index.js +2 -3
  121. package/lib/counter/custom-elements.json +39 -0
  122. package/lib/counter/custom-elements.md +11 -0
  123. package/lib/counter/index.d.ts +91 -0
  124. package/lib/counter/index.js +154 -0
  125. package/lib/counter/themes/halo/dark/index.js +3 -0
  126. package/lib/counter/themes/halo/light/index.js +3 -0
  127. package/lib/counter/themes/solar/charcoal/index.js +3 -0
  128. package/lib/counter/themes/solar/pearl/index.js +3 -0
  129. package/lib/counter/utils.d.ts +13 -0
  130. package/lib/counter/utils.js +52 -0
  131. package/lib/datetime-picker/custom-elements.json +53 -24
  132. package/lib/datetime-picker/custom-elements.md +57 -0
  133. package/lib/datetime-picker/index.d.ts +34 -16
  134. package/lib/datetime-picker/index.js +56 -38
  135. package/lib/datetime-picker/locales.d.ts +1 -1
  136. package/lib/datetime-picker/locales.js +12 -2
  137. package/lib/datetime-picker/themes/solar/charcoal/index.js +1 -1
  138. package/lib/datetime-picker/themes/solar/pearl/index.js +1 -1
  139. package/lib/datetime-picker/types.d.ts +1 -1
  140. package/lib/datetime-picker/types.js +0 -1
  141. package/lib/datetime-picker/utils.js +1 -2
  142. package/lib/dialog/custom-elements.json +34 -12
  143. package/lib/dialog/custom-elements.md +47 -0
  144. package/lib/dialog/draggable-element.js +25 -16
  145. package/lib/dialog/index.d.ts +25 -21
  146. package/lib/dialog/index.js +36 -32
  147. package/lib/email-field/custom-elements.json +81 -94
  148. package/lib/email-field/custom-elements.md +37 -0
  149. package/lib/email-field/index.d.ts +47 -112
  150. package/lib/email-field/index.js +48 -241
  151. package/lib/email-field/themes/halo/dark/index.js +1 -1
  152. package/lib/email-field/themes/halo/light/index.js +1 -1
  153. package/lib/email-field/themes/solar/charcoal/index.js +1 -1
  154. package/lib/email-field/themes/solar/pearl/index.js +1 -1
  155. package/lib/events.d.ts +121 -0
  156. package/lib/events.js +1 -0
  157. package/lib/flag/custom-elements.md +10 -0
  158. package/lib/flag/index.d.ts +14 -5
  159. package/lib/flag/index.js +19 -12
  160. package/lib/flag/utils/FlagLoader.d.ts +1 -1
  161. package/lib/flag/utils/FlagLoader.js +1 -2
  162. package/lib/header/custom-elements.md +18 -0
  163. package/lib/header/index.d.ts +10 -3
  164. package/lib/header/index.js +12 -8
  165. package/lib/heatmap/custom-elements.json +13 -0
  166. package/lib/heatmap/custom-elements.md +26 -0
  167. package/lib/heatmap/helpers/color.d.ts +1 -1
  168. package/lib/heatmap/helpers/color.js +1 -2
  169. package/lib/heatmap/helpers/text.d.ts +1 -1
  170. package/lib/heatmap/helpers/text.js +0 -1
  171. package/lib/heatmap/helpers/track.js +2 -3
  172. package/lib/heatmap/helpers/types.js +0 -1
  173. package/lib/heatmap/index.d.ts +32 -13
  174. package/lib/heatmap/index.js +61 -35
  175. package/lib/icon/custom-elements.json +6 -4
  176. package/lib/icon/custom-elements.md +8 -0
  177. package/lib/icon/index.d.ts +17 -7
  178. package/lib/icon/index.js +36 -18
  179. package/lib/icon/utils/IconLoader.d.ts +6 -1
  180. package/lib/icon/utils/IconLoader.js +24 -18
  181. package/lib/index.d.ts +2 -0
  182. package/lib/index.js +2 -1
  183. package/lib/interactive-chart/custom-elements.json +5 -11
  184. package/lib/interactive-chart/custom-elements.md +31 -0
  185. package/lib/interactive-chart/helpers/merge.d.ts +15 -0
  186. package/lib/interactive-chart/helpers/merge.js +28 -0
  187. package/lib/interactive-chart/helpers/types.d.ts +10 -9
  188. package/lib/interactive-chart/helpers/types.js +6 -2
  189. package/lib/interactive-chart/index.d.ts +37 -18
  190. package/lib/interactive-chart/index.js +61 -51
  191. package/lib/item/custom-elements.json +4 -4
  192. package/lib/item/custom-elements.md +29 -0
  193. package/lib/item/helpers/types.d.ts +1 -1
  194. package/lib/item/helpers/types.js +0 -1
  195. package/lib/item/index.d.ts +26 -9
  196. package/lib/item/index.js +43 -16
  197. package/lib/label/custom-elements.json +7 -16
  198. package/lib/label/custom-elements.md +11 -0
  199. package/lib/label/index.d.ts +41 -73
  200. package/lib/label/index.js +150 -187
  201. package/lib/layout/custom-elements.md +26 -0
  202. package/lib/layout/index.d.ts +11 -4
  203. package/lib/layout/index.js +13 -9
  204. package/lib/led-gauge/custom-elements.json +4 -4
  205. package/lib/led-gauge/custom-elements.md +17 -0
  206. package/lib/led-gauge/index.d.ts +13 -5
  207. package/lib/led-gauge/index.js +16 -11
  208. package/lib/list/custom-elements.json +37 -5
  209. package/lib/list/custom-elements.md +33 -0
  210. package/lib/list/extensible-function.js +2 -1
  211. package/lib/list/helpers/list-renderer.d.ts +2 -2
  212. package/lib/list/helpers/list-renderer.js +4 -3
  213. package/lib/list/helpers/types.d.ts +2 -2
  214. package/lib/list/helpers/types.js +0 -1
  215. package/lib/list/index.d.ts +47 -12
  216. package/lib/list/index.js +100 -39
  217. package/lib/list/renderer.d.ts +2 -2
  218. package/lib/list/renderer.js +1 -2
  219. package/lib/loader/custom-elements.md +5 -0
  220. package/lib/loader/index.d.ts +8 -1
  221. package/lib/loader/index.js +11 -8
  222. package/lib/multi-input/custom-elements.json +7 -6
  223. package/lib/multi-input/custom-elements.md +43 -0
  224. package/lib/multi-input/helpers/types.d.ts +1 -1
  225. package/lib/multi-input/helpers/types.js +0 -1
  226. package/lib/multi-input/index.d.ts +19 -8
  227. package/lib/multi-input/index.js +28 -18
  228. package/lib/multi-input/themes/solar/charcoal/index.js +1 -1
  229. package/lib/multi-input/themes/solar/pearl/index.js +1 -1
  230. package/lib/notification/custom-elements.md +26 -0
  231. package/lib/notification/elements/notification-tray.d.ts +10 -4
  232. package/lib/notification/elements/notification-tray.js +15 -11
  233. package/lib/notification/elements/notification.d.ts +19 -7
  234. package/lib/notification/elements/notification.js +25 -13
  235. package/lib/notification/helpers/status.d.ts +1 -1
  236. package/lib/notification/helpers/status.js +1 -2
  237. package/lib/notification/helpers/types.d.ts +1 -1
  238. package/lib/notification/helpers/types.js +0 -1
  239. package/lib/notification/index.d.ts +2 -2
  240. package/lib/notification/index.js +2 -3
  241. package/lib/number-field/custom-elements.json +99 -54
  242. package/lib/number-field/custom-elements.md +42 -0
  243. package/lib/number-field/index.d.ts +104 -52
  244. package/lib/number-field/index.js +129 -88
  245. package/lib/number-field/themes/halo/dark/index.js +1 -1
  246. package/lib/number-field/themes/halo/light/index.js +1 -1
  247. package/lib/number-field/themes/solar/charcoal/index.js +1 -1
  248. package/lib/number-field/themes/solar/pearl/index.js +1 -1
  249. package/lib/overlay/custom-elements.json +26 -13
  250. package/lib/overlay/custom-elements.md +54 -0
  251. package/lib/overlay/elements/overlay-backdrop.d.ts +12 -5
  252. package/lib/overlay/elements/overlay-backdrop.js +13 -9
  253. package/lib/overlay/elements/overlay-viewport.d.ts +11 -4
  254. package/lib/overlay/elements/overlay-viewport.js +12 -9
  255. package/lib/overlay/elements/overlay.d.ts +18 -6
  256. package/lib/overlay/elements/overlay.js +35 -28
  257. package/lib/overlay/helpers/functions.js +0 -1
  258. package/lib/overlay/helpers/types.js +0 -1
  259. package/lib/overlay/index.d.ts +2 -2
  260. package/lib/overlay/index.js +1 -2
  261. package/lib/overlay/managers/backdrop-manager.d.ts +2 -2
  262. package/lib/overlay/managers/backdrop-manager.js +2 -3
  263. package/lib/overlay/managers/close-manager.d.ts +1 -1
  264. package/lib/overlay/managers/close-manager.js +1 -2
  265. package/lib/overlay/managers/focus-manager.d.ts +1 -1
  266. package/lib/overlay/managers/focus-manager.js +3 -5
  267. package/lib/overlay/managers/interaction-lock-manager.js +2 -3
  268. package/lib/overlay/managers/viewport-manager.d.ts +3 -3
  269. package/lib/overlay/managers/viewport-manager.js +6 -3
  270. package/lib/overlay/managers/zindex-manager.d.ts +1 -1
  271. package/lib/overlay/managers/zindex-manager.js +1 -4
  272. package/lib/overlay-menu/custom-elements.json +126 -12
  273. package/lib/overlay-menu/custom-elements.md +44 -0
  274. package/lib/overlay-menu/helpers/types.d.ts +3 -3
  275. package/lib/overlay-menu/helpers/types.js +0 -1
  276. package/lib/overlay-menu/index.d.ts +44 -12
  277. package/lib/overlay-menu/index.js +66 -35
  278. package/lib/overlay-menu/managers/menu-manager.d.ts +2 -2
  279. package/lib/overlay-menu/managers/menu-manager.js +8 -8
  280. package/lib/pagination/custom-elements.json +16 -33
  281. package/lib/pagination/custom-elements.md +26 -0
  282. package/lib/pagination/index.d.ts +156 -81
  283. package/lib/pagination/index.js +373 -214
  284. package/lib/pagination/themes/halo/dark/index.js +1 -1
  285. package/lib/pagination/themes/halo/light/index.js +1 -1
  286. package/lib/pagination/themes/solar/charcoal/index.js +1 -1
  287. package/lib/pagination/themes/solar/pearl/index.js +1 -1
  288. package/lib/panel/custom-elements.md +11 -0
  289. package/lib/panel/index.d.ts +11 -4
  290. package/lib/panel/index.js +13 -9
  291. package/lib/password-field/custom-elements.json +62 -67
  292. package/lib/password-field/custom-elements.md +39 -0
  293. package/lib/password-field/index.d.ts +46 -90
  294. package/lib/password-field/index.js +52 -190
  295. package/lib/password-field/themes/halo/dark/index.js +1 -1
  296. package/lib/password-field/themes/halo/light/index.js +1 -1
  297. package/lib/password-field/themes/solar/charcoal/index.js +1 -1
  298. package/lib/password-field/themes/solar/pearl/index.js +1 -1
  299. package/lib/pill/custom-elements.json +9 -7
  300. package/lib/pill/custom-elements.md +22 -0
  301. package/lib/pill/index.d.ts +15 -7
  302. package/lib/pill/index.js +21 -27
  303. package/lib/pill/themes/halo/dark/index.js +1 -1
  304. package/lib/pill/themes/halo/light/index.js +1 -1
  305. package/lib/progress-bar/custom-elements.md +18 -0
  306. package/lib/progress-bar/index.d.ts +11 -15
  307. package/lib/progress-bar/index.js +14 -25
  308. package/lib/radio-button/custom-elements.json +4 -4
  309. package/lib/radio-button/custom-elements.md +19 -0
  310. package/lib/radio-button/index.d.ts +33 -9
  311. package/lib/radio-button/index.js +97 -24
  312. package/lib/radio-button/radio-button-registry.d.ts +3 -2
  313. package/lib/radio-button/radio-button-registry.js +57 -5
  314. package/lib/radio-button/themes/halo/dark/index.js +1 -1
  315. package/lib/radio-button/themes/halo/light/index.js +1 -1
  316. package/lib/rating/custom-elements.md +17 -0
  317. package/lib/rating/index.d.ts +11 -4
  318. package/lib/rating/index.js +16 -10
  319. package/lib/search-field/custom-elements.json +70 -74
  320. package/lib/search-field/custom-elements.md +41 -0
  321. package/lib/search-field/index.d.ts +47 -97
  322. package/lib/search-field/index.js +50 -212
  323. package/lib/search-field/themes/halo/dark/index.js +1 -1
  324. package/lib/search-field/themes/halo/light/index.js +1 -1
  325. package/lib/search-field/themes/solar/charcoal/index.js +1 -1
  326. package/lib/search-field/themes/solar/pearl/index.js +1 -1
  327. package/lib/select/custom-elements.json +5 -4
  328. package/lib/select/custom-elements.md +24 -0
  329. package/lib/select/helpers/types.d.ts +1 -1
  330. package/lib/select/helpers/types.js +0 -1
  331. package/lib/select/index.d.ts +26 -11
  332. package/lib/select/index.js +93 -52
  333. package/lib/select/themes/halo/dark/index.js +1 -1
  334. package/lib/select/themes/halo/light/index.js +1 -1
  335. package/lib/sidebar-layout/custom-elements.json +2 -6
  336. package/lib/sidebar-layout/custom-elements.md +21 -0
  337. package/lib/sidebar-layout/index.d.ts +15 -7
  338. package/lib/sidebar-layout/index.js +16 -10
  339. package/lib/slider/custom-elements.json +4 -4
  340. package/lib/slider/custom-elements.md +28 -0
  341. package/lib/slider/index.d.ts +18 -5
  342. package/lib/slider/index.js +69 -16
  343. package/lib/sparkline/custom-elements.json +4 -4
  344. package/lib/sparkline/custom-elements.md +16 -0
  345. package/lib/sparkline/index.d.ts +14 -5
  346. package/lib/sparkline/index.js +17 -10
  347. package/lib/swing-gauge/const.d.ts +22 -0
  348. package/lib/swing-gauge/const.js +26 -0
  349. package/lib/swing-gauge/custom-elements.json +51 -22
  350. package/lib/swing-gauge/custom-elements.md +17 -0
  351. package/lib/swing-gauge/helpers.d.ts +8 -0
  352. package/lib/swing-gauge/helpers.js +105 -0
  353. package/lib/swing-gauge/index.d.ts +220 -72
  354. package/lib/swing-gauge/index.js +648 -168
  355. package/lib/swing-gauge/themes/halo/dark/index.js +1 -1
  356. package/lib/swing-gauge/themes/halo/light/index.js +1 -1
  357. package/lib/swing-gauge/themes/solar/charcoal/index.js +1 -1
  358. package/lib/swing-gauge/themes/solar/pearl/index.js +1 -1
  359. package/lib/swing-gauge/types.d.ts +34 -0
  360. package/lib/swing-gauge/types.js +1 -0
  361. package/lib/tab/custom-elements.json +10 -21
  362. package/lib/tab/custom-elements.md +22 -0
  363. package/lib/tab/index.d.ts +19 -14
  364. package/lib/tab/index.js +31 -40
  365. package/lib/tab/themes/halo/dark/index.js +1 -1
  366. package/lib/tab/themes/halo/light/index.js +1 -1
  367. package/lib/tab/themes/solar/charcoal/index.js +1 -1
  368. package/lib/tab/themes/solar/pearl/index.js +1 -1
  369. package/lib/tab-bar/custom-elements.json +0 -6
  370. package/lib/tab-bar/custom-elements.md +11 -0
  371. package/lib/tab-bar/helpers/animate.d.ts +1 -1
  372. package/lib/tab-bar/helpers/animate.js +5 -2
  373. package/lib/tab-bar/index.d.ts +12 -5
  374. package/lib/tab-bar/index.js +18 -21
  375. package/lib/tab-bar/themes/solar/charcoal/index.js +1 -1
  376. package/lib/tab-bar/themes/solar/pearl/index.js +1 -1
  377. package/lib/text-field/custom-elements.json +78 -89
  378. package/lib/text-field/custom-elements.md +35 -0
  379. package/lib/text-field/index.d.ts +67 -80
  380. package/lib/text-field/index.js +106 -157
  381. package/lib/text-field/themes/halo/dark/index.js +1 -1
  382. package/lib/text-field/themes/halo/light/index.js +1 -1
  383. package/lib/text-field/themes/solar/charcoal/index.js +1 -1
  384. package/lib/text-field/themes/solar/pearl/index.js +1 -1
  385. package/lib/time-picker/custom-elements.json +6 -8
  386. package/lib/time-picker/custom-elements.md +28 -0
  387. package/lib/time-picker/index.d.ts +105 -65
  388. package/lib/time-picker/index.js +297 -169
  389. package/lib/time-picker/themes/solar/charcoal/index.js +1 -1
  390. package/lib/time-picker/themes/solar/pearl/index.js +1 -1
  391. package/lib/toggle/custom-elements.json +4 -4
  392. package/lib/toggle/custom-elements.md +19 -0
  393. package/lib/toggle/index.d.ts +22 -5
  394. package/lib/toggle/index.js +58 -13
  395. package/lib/toggle/themes/halo/dark/index.js +1 -1
  396. package/lib/toggle/themes/halo/light/index.js +1 -1
  397. package/lib/toggle/themes/solar/charcoal/index.js +1 -1
  398. package/lib/toggle/themes/solar/pearl/index.js +1 -1
  399. package/lib/tooltip/custom-elements.md +14 -0
  400. package/lib/tooltip/elements/title-tooltip.js +2 -3
  401. package/lib/tooltip/elements/tooltip-element.d.ts +2 -3
  402. package/lib/tooltip/elements/tooltip-element.js +0 -2
  403. package/lib/tooltip/helpers/overflow-tooltip.d.ts +1 -1
  404. package/lib/tooltip/helpers/overflow-tooltip.js +1 -2
  405. package/lib/tooltip/helpers/renderer.d.ts +1 -1
  406. package/lib/tooltip/helpers/renderer.js +0 -1
  407. package/lib/tooltip/helpers/types.d.ts +1 -1
  408. package/lib/tooltip/helpers/types.js +0 -1
  409. package/lib/tooltip/index.d.ts +18 -11
  410. package/lib/tooltip/index.js +27 -23
  411. package/lib/tooltip/managers/tooltip-manager.d.ts +2 -2
  412. package/lib/tooltip/managers/tooltip-manager.js +17 -11
  413. package/lib/tornado-chart/custom-elements.md +18 -0
  414. package/lib/tornado-chart/elements/tornado-chart.d.ts +12 -5
  415. package/lib/tornado-chart/elements/tornado-chart.js +15 -11
  416. package/lib/tornado-chart/elements/tornado-item.d.ts +13 -6
  417. package/lib/tornado-chart/elements/tornado-item.js +17 -12
  418. package/lib/tornado-chart/index.d.ts +2 -2
  419. package/lib/tornado-chart/index.js +2 -3
  420. package/lib/tree/custom-elements.json +30 -2
  421. package/lib/tree/custom-elements.md +32 -0
  422. package/lib/tree/elements/tree-item.d.ts +53 -5
  423. package/lib/tree/elements/tree-item.js +114 -34
  424. package/lib/tree/elements/tree.d.ts +65 -20
  425. package/lib/tree/elements/tree.js +151 -34
  426. package/lib/tree/helpers/filter.d.ts +8 -0
  427. package/lib/tree/helpers/filter.js +33 -0
  428. package/lib/tree/helpers/renderer.d.ts +2 -2
  429. package/lib/tree/helpers/renderer.js +4 -4
  430. package/lib/tree/helpers/types.d.ts +13 -1
  431. package/lib/tree/helpers/types.js +0 -1
  432. package/lib/tree/index.d.ts +4 -4
  433. package/lib/tree/index.js +3 -4
  434. package/lib/tree/managers/tree-manager.d.ts +22 -10
  435. package/lib/tree/managers/tree-manager.js +56 -41
  436. package/lib/tree/themes/halo/dark/index.js +1 -1
  437. package/lib/tree/themes/halo/light/index.js +1 -1
  438. package/lib/tree/themes/solar/charcoal/index.js +1 -1
  439. package/lib/tree/themes/solar/pearl/index.js +1 -1
  440. package/lib/tree-select/custom-elements.json +14 -5
  441. package/lib/tree-select/custom-elements.md +26 -0
  442. package/lib/tree-select/helpers/types.d.ts +2 -2
  443. package/lib/tree-select/helpers/types.js +0 -1
  444. package/lib/tree-select/index.d.ts +55 -27
  445. package/lib/tree-select/index.js +107 -45
  446. package/lib/tree-select/themes/halo/dark/index.js +3 -2
  447. package/lib/tree-select/themes/halo/light/index.js +3 -2
  448. package/lib/tree-select/themes/solar/charcoal/index.js +3 -2
  449. package/lib/tree-select/themes/solar/pearl/index.js +3 -2
  450. package/lib/version.d.ts +1 -0
  451. package/lib/version.js +1 -0
  452. package/package.json +601 -25
  453. package/lib/accordion/index.js.map +0 -1
  454. package/lib/appstate-bar/index.js.map +0 -1
  455. package/lib/autosuggest/helpers/const.d.ts +0 -2
  456. package/lib/autosuggest/helpers/const.js +0 -4
  457. package/lib/autosuggest/helpers/const.js.map +0 -1
  458. package/lib/autosuggest/helpers/types.js.map +0 -1
  459. package/lib/autosuggest/helpers/utils.js.map +0 -1
  460. package/lib/autosuggest/index.js.map +0 -1
  461. package/lib/button/index.js.map +0 -1
  462. package/lib/button-bar/index.js.map +0 -1
  463. package/lib/calendar/index.js.map +0 -1
  464. package/lib/calendar/locales.js.map +0 -1
  465. package/lib/calendar/types.js.map +0 -1
  466. package/lib/calendar/utils.js.map +0 -1
  467. package/lib/canvas/index.js.map +0 -1
  468. package/lib/card/helpers/types.js.map +0 -1
  469. package/lib/card/index.js.map +0 -1
  470. package/lib/chart/helpers/legend.js.map +0 -1
  471. package/lib/chart/helpers/types.js.map +0 -1
  472. package/lib/chart/index.js.map +0 -1
  473. package/lib/chart/plugins/doughnut-center-label.js.map +0 -1
  474. package/lib/checkbox/index.js.map +0 -1
  475. package/lib/clock/index.js.map +0 -1
  476. package/lib/clock/utils/TickManager.js.map +0 -1
  477. package/lib/clock/utils/timestamps.js.map +0 -1
  478. package/lib/collapse/index.js.map +0 -1
  479. package/lib/color-dialog/elements/color-palettes.js.map +0 -1
  480. package/lib/color-dialog/elements/grayscale-palettes.js.map +0 -1
  481. package/lib/color-dialog/elements/palettes.js.map +0 -1
  482. package/lib/color-dialog/helpers/color-helpers.js.map +0 -1
  483. package/lib/color-dialog/helpers/value-model.js.map +0 -1
  484. package/lib/color-dialog/index.js.map +0 -1
  485. package/lib/combo-box/helpers/filter.js.map +0 -1
  486. package/lib/combo-box/helpers/keyboard-event.js.map +0 -1
  487. package/lib/combo-box/helpers/types.js.map +0 -1
  488. package/lib/combo-box/index.js.map +0 -1
  489. package/lib/datetime-picker/index.js.map +0 -1
  490. package/lib/datetime-picker/locales.js.map +0 -1
  491. package/lib/datetime-picker/types.js.map +0 -1
  492. package/lib/datetime-picker/utils.js.map +0 -1
  493. package/lib/dialog/draggable-element.js.map +0 -1
  494. package/lib/dialog/index.js.map +0 -1
  495. package/lib/email-field/index.js.map +0 -1
  496. package/lib/flag/index.js.map +0 -1
  497. package/lib/flag/utils/FlagLoader.js.map +0 -1
  498. package/lib/header/index.js.map +0 -1
  499. package/lib/heatmap/helpers/color.js.map +0 -1
  500. package/lib/heatmap/helpers/text.js.map +0 -1
  501. package/lib/heatmap/helpers/track.js.map +0 -1
  502. package/lib/heatmap/helpers/types.js.map +0 -1
  503. package/lib/heatmap/index.js.map +0 -1
  504. package/lib/icon/index.js.map +0 -1
  505. package/lib/icon/utils/IconLoader.js.map +0 -1
  506. package/lib/index.js.map +0 -1
  507. package/lib/interactive-chart/helpers/types.js.map +0 -1
  508. package/lib/interactive-chart/index.js.map +0 -1
  509. package/lib/item/helpers/types.js.map +0 -1
  510. package/lib/item/index.js.map +0 -1
  511. package/lib/label/helpers/text.d.ts +0 -35
  512. package/lib/label/helpers/text.js +0 -57
  513. package/lib/label/helpers/text.js.map +0 -1
  514. package/lib/label/index.js.map +0 -1
  515. package/lib/layout/index.js.map +0 -1
  516. package/lib/led-gauge/index.js.map +0 -1
  517. package/lib/list/extensible-function.js.map +0 -1
  518. package/lib/list/helpers/list-renderer.js.map +0 -1
  519. package/lib/list/helpers/types.js.map +0 -1
  520. package/lib/list/index.js.map +0 -1
  521. package/lib/list/renderer.js.map +0 -1
  522. package/lib/loader/index.js.map +0 -1
  523. package/lib/multi-input/helpers/types.js.map +0 -1
  524. package/lib/multi-input/index.js.map +0 -1
  525. package/lib/notification/elements/notification-tray.js.map +0 -1
  526. package/lib/notification/elements/notification.js.map +0 -1
  527. package/lib/notification/helpers/status.js.map +0 -1
  528. package/lib/notification/helpers/types.js.map +0 -1
  529. package/lib/notification/index.js.map +0 -1
  530. package/lib/number-field/index.js.map +0 -1
  531. package/lib/overlay/elements/overlay-backdrop.js.map +0 -1
  532. package/lib/overlay/elements/overlay-viewport.js.map +0 -1
  533. package/lib/overlay/elements/overlay.js.map +0 -1
  534. package/lib/overlay/helpers/functions.js.map +0 -1
  535. package/lib/overlay/helpers/types.js.map +0 -1
  536. package/lib/overlay/index.js.map +0 -1
  537. package/lib/overlay/managers/backdrop-manager.js.map +0 -1
  538. package/lib/overlay/managers/close-manager.js.map +0 -1
  539. package/lib/overlay/managers/focus-manager.js.map +0 -1
  540. package/lib/overlay/managers/interaction-lock-manager.js.map +0 -1
  541. package/lib/overlay/managers/viewport-manager.js.map +0 -1
  542. package/lib/overlay/managers/zindex-manager.js.map +0 -1
  543. package/lib/overlay-menu/helpers/types.js.map +0 -1
  544. package/lib/overlay-menu/helpers/uuid.d.ts +0 -7
  545. package/lib/overlay-menu/helpers/uuid.js +0 -14
  546. package/lib/overlay-menu/helpers/uuid.js.map +0 -1
  547. package/lib/overlay-menu/index.js.map +0 -1
  548. package/lib/overlay-menu/managers/menu-manager.js.map +0 -1
  549. package/lib/pagination/helpers/types.d.ts +0 -9
  550. package/lib/pagination/helpers/types.js +0 -2
  551. package/lib/pagination/helpers/types.js.map +0 -1
  552. package/lib/pagination/index.js.map +0 -1
  553. package/lib/panel/index.js.map +0 -1
  554. package/lib/password-field/index.js.map +0 -1
  555. package/lib/pill/index.js.map +0 -1
  556. package/lib/progress-bar/index.js.map +0 -1
  557. package/lib/radio-button/index.js.map +0 -1
  558. package/lib/radio-button/radio-button-registry.js.map +0 -1
  559. package/lib/rating/index.js.map +0 -1
  560. package/lib/search-field/index.js.map +0 -1
  561. package/lib/select/helpers/types.js.map +0 -1
  562. package/lib/select/index.js.map +0 -1
  563. package/lib/sidebar-layout/index.js.map +0 -1
  564. package/lib/slider/index.js.map +0 -1
  565. package/lib/sparkline/index.js.map +0 -1
  566. package/lib/swing-gauge/helpers/canvas.d.ts +0 -8
  567. package/lib/swing-gauge/helpers/canvas.js +0 -115
  568. package/lib/swing-gauge/helpers/canvas.js.map +0 -1
  569. package/lib/swing-gauge/helpers/types.d.ts +0 -33
  570. package/lib/swing-gauge/helpers/types.js +0 -2
  571. package/lib/swing-gauge/helpers/types.js.map +0 -1
  572. package/lib/swing-gauge/index.js.map +0 -1
  573. package/lib/tab/index.js.map +0 -1
  574. package/lib/tab-bar/helpers/animate.js.map +0 -1
  575. package/lib/tab-bar/index.js.map +0 -1
  576. package/lib/text-field/index.js.map +0 -1
  577. package/lib/time-picker/index.js.map +0 -1
  578. package/lib/toggle/index.js.map +0 -1
  579. package/lib/tooltip/elements/title-tooltip.js.map +0 -1
  580. package/lib/tooltip/elements/tooltip-element.js.map +0 -1
  581. package/lib/tooltip/helpers/overflow-tooltip.js.map +0 -1
  582. package/lib/tooltip/helpers/renderer.js.map +0 -1
  583. package/lib/tooltip/helpers/types.js.map +0 -1
  584. package/lib/tooltip/index.js.map +0 -1
  585. package/lib/tooltip/managers/tooltip-manager.js.map +0 -1
  586. package/lib/tornado-chart/elements/tornado-chart.js.map +0 -1
  587. package/lib/tornado-chart/elements/tornado-item.js.map +0 -1
  588. package/lib/tornado-chart/index.js.map +0 -1
  589. package/lib/tree/elements/tree-item.js.map +0 -1
  590. package/lib/tree/elements/tree.js.map +0 -1
  591. package/lib/tree/helpers/renderer.js.map +0 -1
  592. package/lib/tree/helpers/types.js.map +0 -1
  593. package/lib/tree/index.js.map +0 -1
  594. package/lib/tree/managers/tree-manager.js.map +0 -1
  595. package/lib/tree-select/helpers/types.js.map +0 -1
  596. package/lib/tree-select/index.js.map +0 -1
package/lib/list/index.js CHANGED
@@ -1,13 +1,11 @@
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, property, WarningNotice } from '@refinitiv-ui/core';
8
- import { CollectionComposer } from '@refinitiv-ui/utils';
9
- import '../item';
10
- import { ListRenderer } from './helpers/list-renderer';
1
+ import { __decorate } from "tslib";
2
+ import { ControlElement, css, html, WarningNotice } from '@refinitiv-ui/core';
3
+ import { customElement } from '@refinitiv-ui/core/lib/decorators/custom-element.js';
4
+ import { property } from '@refinitiv-ui/core/lib/decorators/property.js';
5
+ import { VERSION } from '../version.js';
6
+ import { CollectionComposer } from '@refinitiv-ui/utils/lib/collection.js';
7
+ import { ListRenderer } from './helpers/list-renderer.js';
8
+ import '../item/index.js';
11
9
  export { ListRenderer };
12
10
  /**
13
11
  * Key direction
@@ -20,10 +18,12 @@ var Direction;
20
18
  const valueFormatWarning = new WarningNotice('The specified \'values\' format does not conform to the required format.');
21
19
  /**
22
20
  * Provides listing and immutable selection
21
+ * @fires value-changed - Dispatched when value changes
23
22
  */
24
23
  let List = class List extends ControlElement {
25
24
  constructor() {
26
25
  super(...arguments);
26
+ this.defaultRole = 'listbox';
27
27
  /**
28
28
  * Used to timestamp renders.
29
29
  * This enables diff checking against item updates,
@@ -35,7 +35,7 @@ let List = class List extends ControlElement {
35
35
  * @returns Update promise.
36
36
  */
37
37
  this.modificationUpdate = () => {
38
- void this.requestUpdate();
38
+ this.requestUpdate();
39
39
  };
40
40
  /**
41
41
  * Item map; used to link element nodes to data items.
@@ -67,15 +67,27 @@ let List = class List extends ControlElement {
67
67
  * Disable selections
68
68
  */
69
69
  this.stateless = false;
70
+ /**
71
+ * Aria indicating that list supports multiple selection
72
+ */
73
+ this.ariaMultiselectable = 'false';
70
74
  /**
71
75
  * Allow multiple selections
72
76
  */
73
77
  this.multiple = false;
74
78
  this._data = null;
75
79
  }
80
+ /**
81
+ * Element version number
82
+ * @returns version number
83
+ */
84
+ static get version() {
85
+ return VERSION;
86
+ }
76
87
  /**
77
88
  * The data object, used to render the list.
78
89
  * @type {ListData}
90
+ * @default null
79
91
  */
80
92
  get data() {
81
93
  return this._data;
@@ -99,11 +111,12 @@ let List = class List extends ControlElement {
99
111
  );
100
112
  this.clearMaps();
101
113
  this._data = value;
102
- void this.requestUpdate('data', oldValue);
114
+ this.requestUpdate('data', oldValue);
103
115
  }
104
116
  /**
105
117
  * Returns the first selected item value.
106
118
  * Use `values` when multiple selection mode is enabled.
119
+ * @default -
107
120
  */
108
121
  get value() {
109
122
  return this.values[0] || '';
@@ -116,12 +129,14 @@ let List = class List extends ControlElement {
116
129
  if (item) {
117
130
  this.composer.setItemPropertyValue(item, 'selected', true);
118
131
  }
119
- void this.requestUpdate('value', oldValue);
132
+ this.requestUpdate('value', oldValue);
120
133
  }
121
134
  }
122
135
  /**
123
136
  * Returns a values collection of the currently
124
137
  * selected item values
138
+ * @type {string[]}
139
+ * @default []
125
140
  * @readonly
126
141
  */
127
142
  get values() {
@@ -148,7 +163,7 @@ let List = class List extends ControlElement {
148
163
  matches.forEach((match) => this.composer.setItemPropertyValue(match, 'selected', true));
149
164
  return !this.multiple; // Only set the fist value if multiple is not enabled
150
165
  });
151
- void this.requestUpdate('values', oldValue);
166
+ this.requestUpdate('values', oldValue);
152
167
  }
153
168
  }
154
169
  }
@@ -183,12 +198,28 @@ let List = class List extends ControlElement {
183
198
  this.highlightItem(this.getNextHighlightItem(Direction.UP), true);
184
199
  }
185
200
  /**
186
- * Navigate up through the list items
201
+ * Navigate down through the list items
187
202
  * @returns {void}
188
203
  */
189
204
  down() {
190
205
  this.highlightItem(this.getNextHighlightItem(Direction.DOWN), true);
191
206
  }
207
+ /**
208
+ * Navigate to first focusable item of the list
209
+ * @returns {void}
210
+ */
211
+ first() {
212
+ const firstItem = this.itemMap.get(this.tabbableElements[0]);
213
+ this.highlightItem(firstItem, true);
214
+ }
215
+ /**
216
+ * Navigate to first focusable item of the list
217
+ * @returns {void}
218
+ */
219
+ last() {
220
+ const lastItem = this.itemMap.get(this.tabbableElements[this.tabbableElements.length - 1]);
221
+ this.highlightItem(lastItem, true);
222
+ }
192
223
  /**
193
224
  * Proxy for querying the composer
194
225
  * @param engine composer querying engine
@@ -346,6 +377,12 @@ let List = class List extends ControlElement {
346
377
  case 'ArrowDown':
347
378
  this.down();
348
379
  break;
380
+ case 'Home':
381
+ this.first();
382
+ break;
383
+ case 'End':
384
+ this.last();
385
+ break;
349
386
  default:
350
387
  return;
351
388
  }
@@ -430,7 +467,7 @@ let List = class List extends ControlElement {
430
467
  clearSelection() {
431
468
  this.queryItemsByPropertyValue('selected', true)
432
469
  .forEach((item) => this.composer.setItemPropertyValue(item, 'selected', false));
433
- void this.requestUpdate();
470
+ this.requestUpdate();
434
471
  }
435
472
  /**
436
473
  * Queries and returns all renderable items.
@@ -446,21 +483,22 @@ let List = class List extends ControlElement {
446
483
  * Allows for a mapping to be created between
447
484
  * Data Item and Item Element.
448
485
  * @param item Data item context
449
- * @param reusableElement Child element available for reuse
486
+ * @param recyclableElements Child elements available for reuse
450
487
  * @returns List item element
451
488
  */
452
- createListItem(item, reusableElement) {
489
+ createListItem(item, recyclableElements) {
453
490
  const cachedElement = this.elementFromItem(item);
454
491
  const previousTimestamp = this.renderTimestamp.get(item) || NaN;
455
492
  if (cachedElement && previousTimestamp > this.composer.getItemTimestamp(item)) {
456
493
  return cachedElement; // don't re-render if the item hasn't changed
457
494
  }
458
- if (!cachedElement && reusableElement) {
495
+ if (!cachedElement && recyclableElements.length) {
459
496
  // Remove any old ties with the reusable element.
460
- const previousItem = this.itemFromElement(reusableElement);
461
- this.itemMap.delete(reusableElement);
497
+ const recycledElement = recyclableElements.pop();
498
+ const previousItem = this.itemFromElement(recycledElement);
499
+ this.itemMap.delete(recycledElement);
462
500
  previousItem && this.elementMap.delete(previousItem);
463
- this.elementMap.set(item, reusableElement);
501
+ this.elementMap.set(item, recycledElement);
464
502
  }
465
503
  const freshElement = this.renderer(item, this.composer, this.elementFromItem(item));
466
504
  if (cachedElement && cachedElement !== freshElement) {
@@ -491,34 +529,49 @@ let List = class List extends ControlElement {
491
529
  */
492
530
  this.notifyPropertyChange('value', this.value);
493
531
  }
532
+ /**
533
+ * Calculates what elements can be recycled safely
534
+ * @param renderItems Current items to render
535
+ * @returns Collection of elements to be recycled
536
+ */
537
+ calculateRecyclableElements(renderItems) {
538
+ const result = [];
539
+ for (const element of this.children) {
540
+ const item = this.itemFromElement(element);
541
+ if (item && !renderItems.includes(item)) {
542
+ result.push(element);
543
+ }
544
+ }
545
+ return result;
546
+ }
494
547
  /**
495
548
  * Renders updates to light DOM
496
549
  * @returns {void}
497
550
  */
498
551
  renderLightDOM() {
552
+ const renderItems = this.renderItems;
499
553
  const currentChildren = Array.from(this.children);
500
- const renderChildren = this.renderItems.map((item, index) => this.createListItem(item, currentChildren[index]));
501
- const additions = renderChildren.filter(item => !currentChildren.includes(item));
502
- const deletions = currentChildren.filter(item => !renderChildren.includes(item));
503
- deletions.forEach(item => this.removeChild(item));
504
- additions.forEach(item => {
505
- const index = renderChildren.indexOf(item);
554
+ const recyclableElements = this.calculateRecyclableElements(renderItems);
555
+ const renderChildren = renderItems.map((item) => this.createListItem(item, recyclableElements));
556
+ const deletions = currentChildren.filter(element => !renderChildren.includes(element));
557
+ deletions.forEach(element => this.removeChild(element));
558
+ renderChildren.forEach((element, index) => {
506
559
  if (this.children.length === index) {
507
- this.appendChild(item);
560
+ this.appendChild(element);
508
561
  }
509
- else {
510
- this.insertBefore(item, this.children[index]);
562
+ else if (element !== this.children[index]) {
563
+ this.insertBefore(element, this.children[index]);
511
564
  }
512
565
  });
513
566
  }
514
567
  firstUpdated(changeProperties) {
515
568
  super.firstUpdated(changeProperties);
516
- this.addEventListener('keydown', event => this.onKeyDown(event));
517
- this.addEventListener('tap', event => this.onTap(event));
518
- this.addEventListener('mousemove', event => this.onMouse(event));
519
- this.addEventListener('mouseleave', () => this.clearHighlighted());
520
- this.addEventListener('focusin', event => this.onFocus(event));
521
- this.addEventListener('focusout', () => this.onBlur());
569
+ this.addEventListener('keydown', this.onKeyDown);
570
+ this.addEventListener('tap', this.onTap);
571
+ this.addEventListener('mousemove', this.onMouse);
572
+ this.addEventListener('mouseleave', this.clearHighlighted);
573
+ this.addEventListener('focusin', this.onFocus);
574
+ this.addEventListener('focusout', this.onBlur);
522
575
  }
523
576
  update(changeProperties) {
524
577
  if (changeProperties.has('multiple')) {
@@ -526,8 +579,14 @@ let List = class List extends ControlElement {
526
579
  }
527
580
  return super.update(changeProperties);
528
581
  }
582
+ updated(changedProperties) {
583
+ super.updated(changedProperties);
584
+ if (changedProperties.has('multiple')) {
585
+ this.setAttribute('aria-multiselectable', this.multiple ? 'true' : 'false');
586
+ }
587
+ }
529
588
  /**
530
- * A `CSSResult` that will be used
589
+ * A `CSSResultGroup` that will be used
531
590
  * to style the host, slotted children
532
591
  * and the internal template of the element.
533
592
  * @return CSS template
@@ -558,6 +617,9 @@ __decorate([
558
617
  __decorate([
559
618
  property({ type: Boolean })
560
619
  ], List.prototype, "stateless", void 0);
620
+ __decorate([
621
+ property({ type: String, reflect: true, attribute: 'aria-multiselectable' })
622
+ ], List.prototype, "ariaMultiselectable", void 0);
561
623
  __decorate([
562
624
  property({ type: Boolean })
563
625
  ], List.prototype, "multiple", void 0);
@@ -576,4 +638,3 @@ List = __decorate([
576
638
  })
577
639
  ], List);
578
640
  export { List };
579
- //# sourceMappingURL=index.js.map
@@ -1,5 +1,5 @@
1
- import { ExtensibleFunction } from './extensible-function';
2
- import { DataItem, CollectionComposer } from '@refinitiv-ui/utils';
1
+ import { ExtensibleFunction } from './extensible-function.js';
2
+ import type { DataItem, CollectionComposer } from '@refinitiv-ui/utils/lib/collection.js';
3
3
  /**
4
4
  * Render function interface
5
5
  * TODO: Move this to @refinitiv-ui/utils
@@ -1,4 +1,4 @@
1
- import { ExtensibleFunction } from './extensible-function';
1
+ import { ExtensibleFunction } from './extensible-function.js';
2
2
  /**
3
3
  * Renderer base class.
4
4
  * Used for creating renderers to render data items.
@@ -7,4 +7,3 @@ import { ExtensibleFunction } from './extensible-function';
7
7
  */
8
8
  export class Renderer extends ExtensibleFunction {
9
9
  }
10
- //# sourceMappingURL=renderer.js.map
@@ -0,0 +1,5 @@
1
+ # ef-loader
2
+
3
+ An animated graphical component,
4
+ used to show that an app is performing an action
5
+ in the background such as downloading content.
@@ -6,6 +6,11 @@ import { BasicElement, PropertyValues, TemplateResult } from '@refinitiv-ui/core
6
6
  * in the background such as downloading content.
7
7
  */
8
8
  export declare class Loader extends BasicElement {
9
+ /**
10
+ * Element version number
11
+ * @returns version number
12
+ */
13
+ static get version(): string;
9
14
  /**
10
15
  * Collection of template part names,
11
16
  * used to create and theme different loader styles
@@ -31,4 +36,6 @@ declare global {
31
36
  'ef-loader': Partial<Loader> | JSXInterface.HTMLAttributes<Loader>;
32
37
  }
33
38
  }
34
- }
39
+ }
40
+
41
+ export {};
@@ -1,10 +1,7 @@
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 { BasicElement, customElement, html } from '@refinitiv-ui/core';
1
+ import { __decorate } from "tslib";
2
+ import { BasicElement, html } from '@refinitiv-ui/core';
3
+ import { customElement } from '@refinitiv-ui/core/lib/decorators/custom-element.js';
4
+ import { VERSION } from '../version.js';
8
5
  /**
9
6
  * Global cache for loader template parts
10
7
  */
@@ -15,6 +12,13 @@ let cachedParts;
15
12
  * in the background such as downloading content.
16
13
  */
17
14
  let Loader = class Loader extends BasicElement {
15
+ /**
16
+ * Element version number
17
+ * @returns version number
18
+ */
19
+ static get version() {
20
+ return VERSION;
21
+ }
18
22
  /**
19
23
  * Collection of template part names,
20
24
  * used to create and theme different loader styles
@@ -55,4 +59,3 @@ Loader = __decorate([
55
59
  })
56
60
  ], Loader);
57
61
  export { Loader };
58
- //# sourceMappingURL=index.js.map
@@ -49,13 +49,13 @@
49
49
  "name": "readonly",
50
50
  "description": "Hides text field and clear icon from all pills",
51
51
  "type": "boolean",
52
- "default": "\"false\""
52
+ "default": "false"
53
53
  },
54
54
  {
55
55
  "name": "disabled",
56
56
  "description": "Set disabled state",
57
57
  "type": "boolean",
58
- "default": "\"false\""
58
+ "default": "false"
59
59
  },
60
60
  {
61
61
  "name": "value",
@@ -66,9 +66,10 @@
66
66
  ],
67
67
  "properties": [
68
68
  {
69
- "name": "values",
69
+ "name": "values (readonly)",
70
70
  "description": "Array of item's values ( readonly )",
71
- "type": "string[]"
71
+ "type": "string[]",
72
+ "default": "[]"
72
73
  },
73
74
  {
74
75
  "name": "pillsOnly",
@@ -137,14 +138,14 @@
137
138
  "attribute": "readonly",
138
139
  "description": "Hides text field and clear icon from all pills",
139
140
  "type": "boolean",
140
- "default": "\"false\""
141
+ "default": "false"
141
142
  },
142
143
  {
143
144
  "name": "disabled",
144
145
  "attribute": "disabled",
145
146
  "description": "Set disabled state",
146
147
  "type": "boolean",
147
- "default": "\"false\""
148
+ "default": "false"
148
149
  },
149
150
  {
150
151
  "name": "value",
@@ -0,0 +1,43 @@
1
+ # ef-multi-input
2
+
3
+ An input control component to display a selection of pills
4
+
5
+ ## Properties
6
+
7
+ | Property | Attribute | Type | Default | Description |
8
+ |---------------------|---------------|--------------------------|---------|------------------------------------------------|
9
+ | `data` | | `MultiInputData \| null` | null | The data object, used to render the list. |
10
+ | `disabled` | `disabled` | `boolean` | false | Set disabled state |
11
+ | `error` | `error` | `boolean` | false | Set state to error |
12
+ | `icon` | `icon` | `string` | "" | Specify icon to display inside input box |
13
+ | `maxLength` | `maxlength` | `number \| null` | null | Set character max limit |
14
+ | `minLength` | `minlength` | `number \| null` | null | Set character min limit |
15
+ | `pillsOnly` | `pills-only` | `boolean` | false | Hide text input box |
16
+ | `placeholder` | `placeholder` | `string` | "" | Placeholder text to display in input box |
17
+ | `readonly` | `readonly` | `boolean` | false | Hides text field and clear icon from all pills |
18
+ | `selectionEnd` | | `number \| null` | null | Selection end index |
19
+ | `selectionStart` | | `number \| null` | null | Selection start index |
20
+ | `value` | `value` | `string` | "" | Current value of text field |
21
+ | `values (readonly)` | | `string[]` | [] | Array of item's values ( readonly ) |
22
+ | `warning` | `warning` | `boolean` | false | Set state to warning |
23
+
24
+ ## Methods
25
+
26
+ | Method | Type | Description |
27
+ |---------------------|--------------------------------------------------|--------------------------------------------------|
28
+ | `add` | `(item: any): MultiInputDataItem \| null` | Add a new item to the input. Return newly added object or null if added invalid object.<br /><br />**item**: to add. Object must have at least value and label |
29
+ | `removeByIndex` | `(index: number): MultiInputDataItem \| null` | Removes pill by index. Returns item that removed or null if list was empty<br /><br />**index**: of pill to be removed |
30
+ | `removeByValue` | `(value: string): string` | Removes the item by the value and returns array of removed items<br /><br />**value**: Value of item to remove |
31
+ | `removeLastItem` | `(): MultiInputDataItem \| null` | Removes last item. Returns item that removed or null if list was empty |
32
+ | `select` | `(): void` | Select the contents of input |
33
+ | `setSelectionRange` | `(startSelection: number, endSelection: number): void` | Set the selection range<br /><br />**startSelection**: Start of selection<br />**endSelection**: End of the selection |
34
+
35
+ ## Events
36
+
37
+ | Event | Description |
38
+ |-----------------|--------------------------------------------------|
39
+ | `error-changed` | Dispatched when error state changes.<br />Property `detail.error` is error from validation. |
40
+ | `item-added` | Fired when new pill is added.<br />Property `detail.item` is new added pill.<br />Property `detail.items` is new list of all pills. |
41
+ | `item-error` | Fired when item that attempt to add is invalid.<br />Property `detail.item` is item with an error.<br />Property `detail.items` a current list of pills. |
42
+ | `item-removed` | Fired when item is removed.<br />Property `detail.item` is pill that removed.<br />Property `detail.items` is new list of all pills. |
43
+ | `value-changed` | Fired when new value of text field is changed.<br />Property `detail.value` will be the new value. |
@@ -1,4 +1,4 @@
1
- import { CollectionItem } from '@refinitiv-ui/utils';
1
+ import type { CollectionItem } from '@refinitiv-ui/utils/lib/collection.js';
2
2
  export declare type SelectionIndex = number | null;
3
3
  export declare type MultiInputEvents = 'item-added' | 'item-removed' | 'item-error';
4
4
  export declare type MultiInputData = MultiInputDataItem[];
@@ -1,2 +1 @@
1
1
  export {};
2
- //# sourceMappingURL=types.js.map
@@ -1,9 +1,9 @@
1
1
  import { JSXInterface } from '../jsx';
2
- import { ControlElement, CSSResult, MultiValue, TemplateResult, PropertyValues } from '@refinitiv-ui/core';
3
- import '../pill';
4
- import '../text-field';
5
- import { MultiInputData, MultiInputDataItem, SelectionIndex } from './helpers/types';
6
- export { MultiInputData, MultiInputDataItem };
2
+ import { ControlElement, CSSResultGroup, MultiValue, TemplateResult, PropertyValues } from '@refinitiv-ui/core';
3
+ import type { MultiInputData, MultiInputDataItem, SelectionIndex } from './helpers/types';
4
+ import '../pill/index.js';
5
+ import '../text-field/index.js';
6
+ export type { MultiInputData, MultiInputDataItem };
7
7
  /**
8
8
  * An input control component to display a selection of pills
9
9
  *
@@ -37,16 +37,22 @@ export { MultiInputData, MultiInputDataItem };
37
37
  */
38
38
  export declare class MultiInput extends ControlElement implements MultiValue {
39
39
  /**
40
- * A `CSSResult` that will be used
40
+ * Element version number
41
+ * @returns version number
42
+ */
43
+ static get version(): string;
44
+ /**
45
+ * A `CSSResultGroup` that will be used
41
46
  * to style the host, slotted children
42
47
  * and the internal template of the element.
43
48
  * @return CSS template
44
49
  */
45
- static get styles(): CSSResult | CSSResult[];
50
+ static get styles(): CSSResultGroup;
46
51
  /**
47
52
  * Array of item's values ( readonly )
48
53
  * @readonly
49
54
  * @type {string[]}
55
+ * @default []
50
56
  */
51
57
  get values(): string[];
52
58
  /**
@@ -79,17 +85,20 @@ export declare class MultiInput extends ControlElement implements MultiValue {
79
85
  minLength: number | null;
80
86
  /**
81
87
  * Selection start index
88
+ * @default null
82
89
  */
83
90
  get selectionStart(): number | null;
84
91
  set selectionStart(index: SelectionIndex);
85
92
  /**
86
93
  * Selection end index
94
+ * @default null
87
95
  */
88
96
  get selectionEnd(): number | null;
89
97
  set selectionEnd(index: SelectionIndex);
90
98
  /**
91
99
  * The data object, used to render the list.
92
100
  * @type {MultiInputData | null}
101
+ * @default null
93
102
  */
94
103
  get data(): MultiInputData | null;
95
104
  set data(value: MultiInputData | null);
@@ -287,4 +296,6 @@ declare global {
287
296
  'ef-multi-input': Partial<MultiInput> | JSXInterface.ControlHTMLAttributes<MultiInput>;
288
297
  }
289
298
  }
290
- }
299
+ }
300
+
301
+ export {};
@@ -1,13 +1,13 @@
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, property, query, ifDefined } from '@refinitiv-ui/core';
8
- import { CollectionComposer } from '@refinitiv-ui/utils';
9
- import '../pill';
10
- import '../text-field';
1
+ import { __decorate } from "tslib";
2
+ import { ControlElement, css, html } from '@refinitiv-ui/core';
3
+ import { customElement } from '@refinitiv-ui/core/lib/decorators/custom-element.js';
4
+ import { property } from '@refinitiv-ui/core/lib/decorators/property.js';
5
+ import { query } from '@refinitiv-ui/core/lib/decorators/query.js';
6
+ import { ifDefined } from '@refinitiv-ui/core/lib/directives/if-defined.js';
7
+ import { VERSION } from '../version.js';
8
+ import { CollectionComposer } from '@refinitiv-ui/utils/lib/collection.js';
9
+ import '../pill/index.js';
10
+ import '../text-field/index.js';
11
11
  const hasChanged = (newVal, oldVal) => oldVal === undefined ? false : newVal !== oldVal;
12
12
  /**
13
13
  * An input control component to display a selection of pills
@@ -101,7 +101,14 @@ let MultiInput = class MultiInput extends ControlElement {
101
101
  };
102
102
  }
103
103
  /**
104
- * A `CSSResult` that will be used
104
+ * Element version number
105
+ * @returns version number
106
+ */
107
+ static get version() {
108
+ return VERSION;
109
+ }
110
+ /**
111
+ * A `CSSResultGroup` that will be used
105
112
  * to style the host, slotted children
106
113
  * and the internal template of the element.
107
114
  * @return CSS template
@@ -138,12 +145,14 @@ let MultiInput = class MultiInput extends ControlElement {
138
145
  * Array of item's values ( readonly )
139
146
  * @readonly
140
147
  * @type {string[]}
148
+ * @default []
141
149
  */
142
150
  get values() {
143
151
  return this.composer.queryItems(() => true).map(({ value }) => value);
144
152
  }
145
153
  /**
146
154
  * Selection start index
155
+ * @default null
147
156
  */
148
157
  get selectionStart() {
149
158
  if (this.search) {
@@ -158,6 +167,7 @@ let MultiInput = class MultiInput extends ControlElement {
158
167
  }
159
168
  /**
160
169
  * Selection end index
170
+ * @default null
161
171
  */
162
172
  get selectionEnd() {
163
173
  if (this.search) {
@@ -173,6 +183,7 @@ let MultiInput = class MultiInput extends ControlElement {
173
183
  /**
174
184
  * The data object, used to render the list.
175
185
  * @type {MultiInputData | null}
186
+ * @default null
176
187
  */
177
188
  get data() {
178
189
  return this._data;
@@ -189,7 +200,7 @@ let MultiInput = class MultiInput extends ControlElement {
189
200
  this.composer = new CollectionComposer([]);
190
201
  }
191
202
  this._data = value;
192
- void this.requestUpdate('data', oldValue);
203
+ this.requestUpdate('data', oldValue);
193
204
  }
194
205
  /**
195
206
  * Removes the item by the value and returns array of removed items
@@ -247,8 +258,7 @@ let MultiInput = class MultiInput extends ControlElement {
247
258
  }
248
259
  if (process) {
249
260
  this.composer.removeItem(item);
250
- void this.requestUpdate();
251
- this.focus(); /* keep focus on multi-input */
261
+ this.requestUpdate();
252
262
  return item;
253
263
  }
254
264
  return null;
@@ -281,7 +291,7 @@ let MultiInput = class MultiInput extends ControlElement {
281
291
  }
282
292
  if (process) {
283
293
  this.composer.addItem(item);
284
- void this.requestUpdate();
294
+ this.requestUpdate();
285
295
  return item;
286
296
  }
287
297
  return null;
@@ -324,7 +334,7 @@ let MultiInput = class MultiInput extends ControlElement {
324
334
  }
325
335
  if (oldValue !== value) {
326
336
  this.oldValue = value;
327
- void this.requestUpdate('value', oldValue);
337
+ this.requestUpdate('value', oldValue);
328
338
  }
329
339
  }
330
340
  get value() {
@@ -435,12 +445,13 @@ let MultiInput = class MultiInput extends ControlElement {
435
445
  onPillClearsHandler(event) {
436
446
  const pill = event.target;
437
447
  const index = pill.getAttribute('index');
438
- if (index == null) {
448
+ if (index === null) {
439
449
  return;
440
450
  }
441
451
  const items = this.composer.queryItems(() => true);
442
452
  const item = items[Number(index)];
443
453
  this.removeItem(item, true);
454
+ this.focus(); // keep focus on multi-input
444
455
  }
445
456
  /**
446
457
  * the wrapper for item events
@@ -581,4 +592,3 @@ MultiInput = __decorate([
581
592
  })
582
593
  ], MultiInput);
583
594
  export { MultiInput };
584
- //# sourceMappingURL=index.js.map