@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
@@ -1,19 +1,24 @@
1
1
  import { JSXInterface } from '../jsx';
2
- import { CSSResult, TemplateResult, BasicElement, PropertyValues } from '@refinitiv-ui/core';
2
+ import { CSSResultGroup, TemplateResult, BasicElement, PropertyValues } from '@refinitiv-ui/core';
3
3
  /**
4
4
  * Data visualisation component,
5
5
  * showing a simple percentage bar.
6
6
  * @slot label - Overrides the label property and places custom content. Useful for modifying the color, or, adding icons.
7
7
  */
8
8
  export declare class ProgressBar extends BasicElement {
9
+ /**
10
+ * Element version number
11
+ * @returns version number
12
+ */
13
+ static get version(): string;
9
14
  private valuePrevious;
10
15
  /**
11
- * A `CSSResult` that will be used
16
+ * A `CSSResultGroup` that will be used
12
17
  * to style the host, slotted children
13
18
  * and the internal template of the element.
14
19
  * @return CSS template
15
20
  */
16
- static get styles(): CSSResult;
21
+ static get styles(): CSSResultGroup;
17
22
  /**
18
23
  * The current value of the bar.
19
24
  * This can range from `0-100` and
@@ -30,22 +35,11 @@ export declare class ProgressBar extends BasicElement {
30
35
  * This is affixed to the end of the bar, so make sure to cater for this.
31
36
  */
32
37
  label: string;
33
- /**
34
- * Deprecation noticed, used to display a warning message
35
- * when deprecated features are used.
36
- */
37
- private deprecationNotice;
38
38
  /**
39
39
  * Converts value from string to number for calculations
40
40
  * @returns value of bar as a number
41
41
  */
42
42
  private get valueNumber();
43
- /**
44
- * Checks to see if any deprecated features are being used
45
- * and warns against them, providing an updated approach.
46
- * @returns {void}
47
- */
48
- private checkAndWarnAboutDeprecations;
49
43
  /**
50
44
  * Gets the current part names for the internal bar
51
45
  */
@@ -83,4 +77,6 @@ declare global {
83
77
  'ef-progress-bar': Partial<ProgressBar> | JSXInterface.HTMLAttributes<ProgressBar>;
84
78
  }
85
79
  }
86
- }
80
+ }
81
+
82
+ export {};
@@ -1,10 +1,9 @@
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 { css, html, property, customElement, styleMap, BasicElement, DeprecationNotice } from '@refinitiv-ui/core';
1
+ import { __decorate } from "tslib";
2
+ import { css, html, BasicElement } 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 { styleMap } from '@refinitiv-ui/core/lib/directives/style-map.js';
6
+ import { VERSION } from '../version.js';
8
7
  /**
9
8
  * Data visualisation component,
10
9
  * showing a simple percentage bar.
@@ -30,14 +29,16 @@ let ProgressBar = class ProgressBar extends BasicElement {
30
29
  * This is affixed to the end of the bar, so make sure to cater for this.
31
30
  */
32
31
  this.label = '';
33
- /**
34
- * Deprecation noticed, used to display a warning message
35
- * when deprecated features are used.
36
- */
37
- this.deprecationNotice = new DeprecationNotice('--bar-color variable has been deprecated in favour of using the standard color property.');
38
32
  }
39
33
  /**
40
- * A `CSSResult` that will be used
34
+ * Element version number
35
+ * @returns version number
36
+ */
37
+ static get version() {
38
+ return VERSION;
39
+ }
40
+ /**
41
+ * A `CSSResultGroup` that will be used
41
42
  * to style the host, slotted children
42
43
  * and the internal template of the element.
43
44
  * @return CSS template
@@ -89,16 +90,6 @@ let ProgressBar = class ProgressBar extends BasicElement {
89
90
  }
90
91
  return value;
91
92
  }
92
- /**
93
- * Checks to see if any deprecated features are being used
94
- * and warns against them, providing an updated approach.
95
- * @returns {void}
96
- */
97
- checkAndWarnAboutDeprecations() {
98
- if (!this.deprecationNotice.shown && this.getComputedVariable('--bar-color')) {
99
- this.deprecationNotice.show();
100
- }
101
- }
102
93
  /**
103
94
  * Gets the current part names for the internal bar
104
95
  */
@@ -127,7 +118,6 @@ let ProgressBar = class ProgressBar extends BasicElement {
127
118
  * @returns {void}
128
119
  */
129
120
  updated(changedProperties) {
130
- this.checkAndWarnAboutDeprecations();
131
121
  changedProperties.forEach((oldValue, propName) => {
132
122
  if (propName === 'value') {
133
123
  this.valuePrevious = oldValue;
@@ -165,4 +155,3 @@ ProgressBar = __decorate([
165
155
  })
166
156
  ], ProgressBar);
167
157
  export { ProgressBar };
168
- //# sourceMappingURL=index.js.map
@@ -27,13 +27,13 @@
27
27
  "name": "readonly",
28
28
  "description": "Set readonly state",
29
29
  "type": "boolean",
30
- "default": "\"false\""
30
+ "default": "false"
31
31
  },
32
32
  {
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": [
@@ -63,14 +63,14 @@
63
63
  "attribute": "readonly",
64
64
  "description": "Set readonly state",
65
65
  "type": "boolean",
66
- "default": "\"false\""
66
+ "default": "false"
67
67
  },
68
68
  {
69
69
  "name": "disabled",
70
70
  "attribute": "disabled",
71
71
  "description": "Set disabled state",
72
72
  "type": "boolean",
73
- "default": "\"false\""
73
+ "default": "false"
74
74
  }
75
75
  ],
76
76
  "events": [
@@ -0,0 +1,19 @@
1
+ # ef-radio-button
2
+
3
+ Basic radio button
4
+
5
+ ## Properties
6
+
7
+ | Property | Attribute | Type | Default | Description |
8
+ |------------|------------|-----------|---------|--------------------------------------------------|
9
+ | `checked` | `checked` | `boolean` | false | Radio button checked state |
10
+ | `disabled` | `disabled` | `boolean` | false | Set disabled state |
11
+ | `name` | `name` | `string` | "" | Group multiple radio buttons by assigning the same name |
12
+ | `readonly` | `readonly` | `boolean` | false | Set readonly state |
13
+ | `value` | `value` | `string` | "" | Value of the radio button |
14
+
15
+ ## Events
16
+
17
+ | Event | Description |
18
+ |-------------------|--------------------------------------------|
19
+ | `checked-changed` | Fired when the `checked` property changes. |
@@ -1,15 +1,15 @@
1
1
  import { JSXInterface } from '../jsx';
2
- import { CSSResult, ControlElement, TemplateResult, PropertyValues } from '@refinitiv-ui/core';
2
+ import { CSSResultGroup, ControlElement, TemplateResult, PropertyValues } from '@refinitiv-ui/core';
3
3
  /**
4
4
  * Basic radio button
5
5
  *
6
6
  * @fires checked-changed - Fired when the `checked` property changes.
7
7
  *
8
- * @attr {string} [value=] - Value of the radio button
9
- * @prop {string} [value=] - Value of the radio button
8
+ * @attr {string} value - Value of the radio button
9
+ * @prop {string} [value=""] - Value of the radio button
10
10
  *
11
- * @attr {string} [name=] - Group multiple radio buttons by assigning the same name
12
- * @prop {string} [name=] - Group multiple radio buttons by assigning the same name
11
+ * @attr {string} name - Group multiple radio buttons by assigning the same name
12
+ * @prop {string} [name=""] - Group multiple radio buttons by assigning the same name
13
13
  *
14
14
  * @attr {boolean} readonly - Set readonly state
15
15
  * @prop {boolean} [readonly=false] - Set readonly state
@@ -19,16 +19,32 @@ import { CSSResult, ControlElement, TemplateResult, PropertyValues } from '@refi
19
19
  */
20
20
  export declare class RadioButton extends ControlElement {
21
21
  /**
22
- * A `CSSResult` that will be used
22
+ * Element version number
23
+ * @returns version number
24
+ */
25
+ static get version(): string;
26
+ protected readonly defaultRole: string | null;
27
+ /**
28
+ * A `CSSResultGroup` that will be used
23
29
  * to style the host, slotted children
24
30
  * and the internal template of the element.
25
31
  * @return CSS template
26
32
  */
27
- static get styles(): CSSResult | CSSResult[];
33
+ static get styles(): CSSResultGroup;
34
+ private _checked;
28
35
  /**
29
36
  * Radio button checked state
37
+ * @param value checked state
38
+ * @default false
39
+ * @returns {void}
40
+ */
41
+ set checked(value: boolean);
42
+ get checked(): boolean;
43
+ /**
44
+ * Aria indicating checked state
45
+ * @ignore
30
46
  */
31
- checked: boolean;
47
+ ariaChecked: string;
32
48
  /**
33
49
  * Getter for label
34
50
  */
@@ -78,6 +94,12 @@ export declare class RadioButton extends ControlElement {
78
94
  * @return {void}
79
95
  */
80
96
  private handleChangeChecked;
97
+ /**
98
+ * Navigate to next or previous checkable sibling in the same group if present
99
+ * @param direction up/next; down/previous
100
+ * @returns {void}
101
+ */
102
+ private navigateToSibling;
81
103
  /**
82
104
  * A `TemplateResult` that will be used
83
105
  * to render the updated internal template.
@@ -96,4 +118,6 @@ declare global {
96
118
  'ef-radio-button': Partial<RadioButton> | JSXInterface.ControlHTMLAttributes<RadioButton>;
97
119
  }
98
120
  }
99
- }
121
+ }
122
+
123
+ export {};
@@ -1,22 +1,21 @@
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 { html, css, customElement, property, ControlElement, query } from '@refinitiv-ui/core';
8
- import { registerOverflowTooltip } from '../tooltip';
9
- import { applyRegistry, removeFromRegistry, getRadioGroup } from './radio-button-registry';
1
+ import { __decorate } from "tslib";
2
+ import { html, css, ControlElement } 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 { VERSION } from '../version.js';
7
+ import { registerOverflowTooltip } from '../tooltip/index.js';
8
+ import { applyRegistry, removeFromRegistry, getRadioGroup } from './radio-button-registry.js';
10
9
  /**
11
10
  * Basic radio button
12
11
  *
13
12
  * @fires checked-changed - Fired when the `checked` property changes.
14
13
  *
15
- * @attr {string} [value=] - Value of the radio button
16
- * @prop {string} [value=] - Value of the radio button
14
+ * @attr {string} value - Value of the radio button
15
+ * @prop {string} [value=""] - Value of the radio button
17
16
  *
18
- * @attr {string} [name=] - Group multiple radio buttons by assigning the same name
19
- * @prop {string} [name=] - Group multiple radio buttons by assigning the same name
17
+ * @attr {string} name - Group multiple radio buttons by assigning the same name
18
+ * @prop {string} [name=""] - Group multiple radio buttons by assigning the same name
20
19
  *
21
20
  * @attr {boolean} readonly - Set readonly state
22
21
  * @prop {boolean} [readonly=false] - Set readonly state
@@ -27,13 +26,23 @@ import { applyRegistry, removeFromRegistry, getRadioGroup } from './radio-button
27
26
  let RadioButton = class RadioButton extends ControlElement {
28
27
  constructor() {
29
28
  super(...arguments);
29
+ this.defaultRole = 'radio';
30
+ this._checked = false;
30
31
  /**
31
- * Radio button checked state
32
+ * Aria indicating checked state
33
+ * @ignore
32
34
  */
33
- this.checked = false;
35
+ this.ariaChecked = String(this.checked);
36
+ }
37
+ /**
38
+ * Element version number
39
+ * @returns version number
40
+ */
41
+ static get version() {
42
+ return VERSION;
34
43
  }
35
44
  /**
36
- * A `CSSResult` that will be used
45
+ * A `CSSResultGroup` that will be used
37
46
  * to style the host, slotted children
38
47
  * and the internal template of the element.
39
48
  * @return CSS template
@@ -62,6 +71,23 @@ let RadioButton = class RadioButton extends ControlElement {
62
71
  }
63
72
  `;
64
73
  }
74
+ /**
75
+ * Radio button checked state
76
+ * @param value checked state
77
+ * @default false
78
+ * @returns {void}
79
+ */
80
+ set checked(value) {
81
+ const oldValue = this._checked;
82
+ if (oldValue !== value) {
83
+ this._checked = value;
84
+ this.ariaChecked = String(value);
85
+ void this.requestUpdate('checked', oldValue);
86
+ }
87
+ }
88
+ get checked() {
89
+ return this._checked;
90
+ }
65
91
  /**
66
92
  * Called when connected to DOM
67
93
  * @returns {void}
@@ -86,7 +112,7 @@ let RadioButton = class RadioButton extends ControlElement {
86
112
  */
87
113
  update(changedProperties) {
88
114
  if (this.isConnected && this.hasUpdated && changedProperties.has('name')) {
89
- applyRegistry(this);
115
+ applyRegistry(this, changedProperties.get('name'));
90
116
  }
91
117
  // Ensure only one radio button is checked
92
118
  if (this.isConnected && this.hasUpdated && (changedProperties.has('checked') || (changedProperties.has('name')))) {
@@ -101,8 +127,8 @@ let RadioButton = class RadioButton extends ControlElement {
101
127
  */
102
128
  firstUpdated(changedProperties) {
103
129
  super.firstUpdated(changedProperties);
104
- this.addEventListener('tap', event => this.onTap(event));
105
- this.addEventListener('keydown', event => this.onKeyDown(event));
130
+ this.addEventListener('tap', this.onTap);
131
+ this.addEventListener('keydown', this.onKeyDown);
106
132
  registerOverflowTooltip(this.labelEl, () => this.textContent);
107
133
  }
108
134
  /**
@@ -111,8 +137,12 @@ let RadioButton = class RadioButton extends ControlElement {
111
137
  */
112
138
  manageGroupState() {
113
139
  if (this.checked && this.name) {
140
+ // restore tab index when checked
141
+ this.tabIndex = 0;
114
142
  getRadioGroup(this).filter(radio => radio !== this).forEach(radio => {
115
- radio.checked = false; // unchecking the rest of the group members
143
+ // uncheck and hide the rest of the group members from focusability
144
+ radio.checked = false;
145
+ radio.tabIndex = -1;
116
146
  });
117
147
  }
118
148
  }
@@ -133,15 +163,29 @@ let RadioButton = class RadioButton extends ControlElement {
133
163
  * @returns {void}
134
164
  */
135
165
  onKeyDown(event) {
136
- if (this.disabled || this.readonly || event.defaultPrevented) {
166
+ if (this.disabled || event.defaultPrevented) {
137
167
  return;
138
168
  }
139
169
  switch (event.key) {
140
- case 'Enter':
141
170
  case ' ':
142
171
  case 'Spacebar':
172
+ if (this.readonly) {
173
+ return;
174
+ }
143
175
  this.handleChangeChecked();
144
176
  break;
177
+ case 'Right':
178
+ case 'Down':
179
+ case 'ArrowRight':
180
+ case 'ArrowDown':
181
+ this.navigateToSibling('next');
182
+ break;
183
+ case 'Left':
184
+ case 'Up':
185
+ case 'ArrowLeft':
186
+ case 'ArrowUp':
187
+ this.navigateToSibling('previous');
188
+ break;
145
189
  default:
146
190
  return;
147
191
  }
@@ -159,6 +203,33 @@ let RadioButton = class RadioButton extends ControlElement {
159
203
  this.notifyPropertyChange('checked', this.checked);
160
204
  }
161
205
  }
206
+ /**
207
+ * Navigate to next or previous checkable sibling in the same group if present
208
+ * @param direction up/next; down/previous
209
+ * @returns {void}
210
+ */
211
+ navigateToSibling(direction) {
212
+ if (!this.name) {
213
+ return;
214
+ }
215
+ const group = getRadioGroup(this).filter(radio => !radio.disabled);
216
+ const index = group.indexOf(this);
217
+ let element;
218
+ if (direction === 'next') {
219
+ element = index === -1 ? group[0] : group[index + 1];
220
+ }
221
+ else {
222
+ element = index === -1 ? group[group.length - 1] : group[index - 1];
223
+ }
224
+ if (!element) {
225
+ element = direction === 'next' ? group[0] : group[group.length - 1];
226
+ }
227
+ if (!element.readonly) {
228
+ this.checked = false;
229
+ element.checked = true;
230
+ }
231
+ element.focus();
232
+ }
162
233
  /**
163
234
  * A `TemplateResult` that will be used
164
235
  * to render the updated internal template.
@@ -175,7 +246,10 @@ let RadioButton = class RadioButton extends ControlElement {
175
246
  };
176
247
  __decorate([
177
248
  property({ type: Boolean, reflect: true })
178
- ], RadioButton.prototype, "checked", void 0);
249
+ ], RadioButton.prototype, "checked", null);
250
+ __decorate([
251
+ property({ type: String, reflect: true, attribute: 'aria-checked' })
252
+ ], RadioButton.prototype, "ariaChecked", void 0);
179
253
  __decorate([
180
254
  query('[part=label]', true)
181
255
  ], RadioButton.prototype, "labelEl", void 0);
@@ -185,4 +259,3 @@ RadioButton = __decorate([
185
259
  })
186
260
  ], RadioButton);
187
261
  export { RadioButton };
188
- //# sourceMappingURL=index.js.map
@@ -1,4 +1,4 @@
1
- import { RadioButton } from './index';
1
+ import type { RadioButton } from './index';
2
2
  /**
3
3
  * Remove radio button from registry
4
4
  * @param radio Radio button to remove
@@ -9,9 +9,10 @@ declare const removeFromRegistry: (radio: RadioButton) => void;
9
9
  * Add radio button to registry group of radio has a name
10
10
  * If radio does not have the name, remove from the group
11
11
  * @param radio Radio button to add
12
+ * @param oldGroupName group name of radio button before changed
12
13
  * @returns {void}
13
14
  */
14
- declare const applyRegistry: (radio: RadioButton) => void;
15
+ declare const applyRegistry: (radio: RadioButton, oldGroupName?: string) => void;
15
16
  /**
16
17
  * Get the group of same name radio buttons
17
18
  * @param radio A radio to get a group for
@@ -14,16 +14,69 @@ const removeFromRegistry = (radio) => {
14
14
  * Add radio button to registry group of radio has a name
15
15
  * If radio does not have the name, remove from the group
16
16
  * @param radio Radio button to add
17
+ * @param oldGroupName group name of radio button before changed
17
18
  * @returns {void}
18
19
  */
19
- const applyRegistry = (radio) => {
20
- const idx = registry.indexOf(radio);
21
- if (radio.name && idx === -1) {
20
+ const applyRegistry = (radio, oldGroupName = '') => {
21
+ const isNewRadioButton = registry.indexOf(radio) === -1;
22
+ if (radio.name && isNewRadioButton) {
22
23
  registry.push(radio);
24
+ if (registry.length === 1) {
25
+ return;
26
+ }
27
+ // Set tabIndex to -1 if radio either uncheck or not the first radio button in the group.
28
+ const radioGroup = getRadioGroup(radio);
29
+ if (!radio.checked && radioGroup.length > 1) {
30
+ radio.tabIndex = -1;
31
+ }
23
32
  }
24
- else if (!radio.name && idx !== -1) {
33
+ // Removed from the group
34
+ else if (!radio.name && !isNewRadioButton) {
25
35
  removeFromRegistry(radio);
36
+ radio.tabIndex = 0; // Restores tabIndex and switch to single mode
37
+ // Re-compute tabIndex for old radio group
38
+ const oldRadioGroup = registry.filter(radio => radio.name === oldGroupName);
39
+ restoreTabIndex(oldRadioGroup);
40
+ }
41
+ // Changes group
42
+ else if (radio.name && !isNewRadioButton) {
43
+ // Re-compute tabIndex for new radio group when name attribute has changed
44
+ const newRadioGroup = getRadioGroup(radio);
45
+ if (radio.checked) {
46
+ radio.tabIndex = 0;
47
+ // uncheck and hide the rest of the group members from focusability
48
+ newRadioGroup.filter((newRadio) => newRadio !== radio).forEach(newRadio => {
49
+ newRadio.checked = false;
50
+ newRadio.tabIndex = -1;
51
+ });
52
+ }
53
+ else {
54
+ radio.tabIndex = -1;
55
+ restoreTabIndex(newRadioGroup);
56
+ }
57
+ // Re-compute tabIndex for old radio group when name attribute has changed.
58
+ const oldRadioGroup = registry.filter(radio => radio.name === oldGroupName);
59
+ restoreTabIndex(oldRadioGroup);
60
+ }
61
+ };
62
+ /**
63
+ * Re-compute tabIndex for the radio group
64
+ * Set tabIndex to 0 for first radio button in the group.
65
+ * Set tabIndex to -1 for the rest of button in group.
66
+ * @param radioGroup collection of radio buttons
67
+ * @returns {void}
68
+ */
69
+ const restoreTabIndex = (radioGroup) => {
70
+ if (!radioGroup.length) {
71
+ return;
72
+ }
73
+ const checkedRadio = radioGroup.filter(radio => radio.checked);
74
+ if (checkedRadio.length) {
75
+ return;
26
76
  }
77
+ radioGroup.forEach((radio, index) => {
78
+ radio.tabIndex = index === 0 ? 0 : -1;
79
+ });
27
80
  };
28
81
  /**
29
82
  * Get the group of same name radio buttons
@@ -38,4 +91,3 @@ const getRadioGroup = (radio) => {
38
91
  return registry.filter(radio => radio.name === groupName);
39
92
  };
40
93
  export { applyRegistry, removeFromRegistry, getRadioGroup };
41
- //# sourceMappingURL=radio-button-registry.js.map
@@ -1,3 +1,3 @@
1
1
  import '@refinitiv-ui/elements/lib/tooltip/themes/halo/dark';
2
2
 
3
- elf.customStyles.define('ef-radio-button', ':host{margin:1px 0;vertical-align:middle;display:inline-flex;align-items:center;flex-wrap:nowrap;font-size:inherit;font-weight:inherit;touch-action:manipulation;--check-color:#6678FF;color:#ccc}:host(:focus){outline:0}:host [part=container]{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border-radius:100%;background-color:#0d0d0d;transition:box-shadow 150ms,border-color 150ms;box-shadow:inset 0 0 0 rgba(0,0,0,.5);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative;border:1px solid #404040;width:14px;height:14px}:host [part=check]{display:flex;justify-content:center;align-items:center;box-sizing:border-box;color:var(--check-color,#6678ff);border:none;background-color:currentColor;transform:none;border-radius:100%;margin:0;width:8px;height:8px}:host [part=label]{margin:0 7px;cursor:default}:host([disabled]) [part=check],:host([readonly]) [part=check]{color:var(--check-color,#ccc)}:host([disabled]) [part=check]{opacity:.5}:host([disabled][checked]) [part=check]{opacity:.5}:host([disabled]) [part=label]{opacity:.65}@media (-ms-high-contrast:none),(pointer:fine){:host(:focus) [part=container]{border-color:#334bff;box-shadow:0 0 0 #334bff}}:host(:not([readonly])){cursor:pointer}:host(:hover:not([checked]):not([readonly])) [part=container]{border-color:grey}:host(:hover:not([readonly])){color:#fff}:host([disabled]),:host([disabled]) [part=label]{opacity:.5}:host([checked]) [part=container]{border:1px solid #334bff}:host(:focus[readonly]:not([checked])) [part=container]{border-color:#404040}:host([focused=visible]){outline:#334bff solid 1px;outline-offset:2px}');
3
+ elf.customStyles.define('ef-radio-button', ':host{margin:1px 0;vertical-align:middle;display:inline-flex;align-items:center;flex-wrap:nowrap;font-size:inherit;font-weight:inherit;touch-action:manipulation;--check-color:#6678FF;color:#ccc}:host(:focus){outline:0}:host [part=container]{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border-radius:100%;background-color:#0d0d0d;transition:box-shadow 150ms,border-color 150ms;box-shadow:inset 0 0 0 rgba(0,0,0,.5);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative;border:1px solid #404040;width:14px;height:14px}:host [part=check]{display:flex;justify-content:center;align-items:center;box-sizing:border-box;color:var(--check-color,#6678ff);border:none;background-color:currentColor;transform:none;border-radius:100%;margin:0;width:8px;height:8px}:host [part=label]{margin:0 7px;cursor:default}:host([disabled]) [part=check],:host([readonly]) [part=check]{color:var(--check-color,#ccc)}:host([disabled]) [part=check]{opacity:.5}:host([disabled][checked]) [part=check]{opacity:.5}:host([disabled]) [part=label]{opacity:.65}@media (-ms-high-contrast:none),(pointer:fine){:host(:focus) [part=container]{border-color:#334bff;box-shadow:0 0 0 #334bff}}:host(:not([readonly])) [part=container]{cursor:pointer}:host(:hover:not([checked]):not([indeterminate]):not([readonly])) [part=container]{border-color:grey}:host(:hover:not([readonly])){color:#fff}:host([disabled]),:host([disabled]) [part=label]{opacity:.5}:host([checked]) [part=container]{border:1px solid #334bff}:host(:focus[readonly]:not([checked])) [part=container]{border-color:#404040}:host([focused=visible]){outline:#334bff solid 1px;outline-offset:2px}');
@@ -1,3 +1,3 @@
1
1
  import '@refinitiv-ui/elements/lib/tooltip/themes/halo/light';
2
2
 
3
- elf.customStyles.define('ef-radio-button', ':host{margin:1px 0;vertical-align:middle;display:inline-flex;align-items:center;flex-wrap:nowrap;font-size:inherit;font-weight:inherit;touch-action:manipulation;--check-color:#334BFF;color:#404040}:host(:focus){outline:0}:host [part=container]{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border-radius:100%;background-color:#fff;transition:box-shadow 150ms,border-color 150ms;box-shadow:inset 0 0 0 rgba(0,0,0,.25);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative;border:1px solid #595959;width:14px;height:14px}:host [part=check]{display:flex;justify-content:center;align-items:center;box-sizing:border-box;color:var(--check-color,#334bff);border:none;background-color:currentColor;transform:none;border-radius:100%;margin:0;width:8px;height:8px}:host [part=label]{margin:0 7px;cursor:default}:host([disabled]) [part=check],:host([readonly]) [part=check]{color:var(--check-color,#404040)}:host([disabled]) [part=check]{opacity:.5}:host([disabled][checked]) [part=check]{opacity:.5}:host([disabled]) [part=label]{opacity:.65}@media (-ms-high-contrast:none),(pointer:fine){:host(:focus) [part=container]{border-color:#334bff;box-shadow:0 0 0 #334bff}}:host(:not([readonly])){cursor:pointer}:host(:hover:not([checked]):not([readonly])) [part=container]{border-color:#0d0d0d}:host(:hover:not([readonly])){color:#0d0d0d}:host([disabled]),:host([disabled]) [part=label]{opacity:.5}:host([checked]) [part=container]{border:1px solid #334bff}:host(:focus[readonly]:not([checked])) [part=container]{border-color:#595959}:host([focused=visible]){outline:#334bff solid 1px;outline-offset:2px}');
3
+ elf.customStyles.define('ef-radio-button', ':host{margin:1px 0;vertical-align:middle;display:inline-flex;align-items:center;flex-wrap:nowrap;font-size:inherit;font-weight:inherit;touch-action:manipulation;--check-color:#334BFF;color:#404040}:host(:focus){outline:0}:host [part=container]{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border-radius:100%;background-color:#fff;transition:box-shadow 150ms,border-color 150ms;box-shadow:inset 0 0 0 rgba(0,0,0,.25);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative;border:1px solid #595959;width:14px;height:14px}:host [part=check]{display:flex;justify-content:center;align-items:center;box-sizing:border-box;color:var(--check-color,#334bff);border:none;background-color:currentColor;transform:none;border-radius:100%;margin:0;width:8px;height:8px}:host [part=label]{margin:0 7px;cursor:default}:host([disabled]) [part=check],:host([readonly]) [part=check]{color:var(--check-color,#404040)}:host([disabled]) [part=check]{opacity:.5}:host([disabled][checked]) [part=check]{opacity:.5}:host([disabled]) [part=label]{opacity:.65}@media (-ms-high-contrast:none),(pointer:fine){:host(:focus) [part=container]{border-color:#334bff;box-shadow:0 0 0 #334bff}}:host(:not([readonly])) [part=container]{cursor:pointer}:host(:hover:not([checked]):not([indeterminate]):not([readonly])) [part=container]{border-color:#0d0d0d}:host(:hover:not([readonly])){color:#0d0d0d}:host([disabled]),:host([disabled]) [part=label]{opacity:.5}:host([checked]) [part=container]{border:1px solid #334bff}:host(:focus[readonly]:not([checked])) [part=container]{border-color:#595959}:host([focused=visible]){outline:#334bff solid 1px;outline-offset:2px}');
@@ -0,0 +1,17 @@
1
+ # ef-rating
2
+
3
+ Star visualisation component that is generally used for ranking
4
+
5
+ ## Properties
6
+
7
+ | Property | Attribute | Type | Default | Description |
8
+ |---------------|---------------|-----------|---------|--------------------------------------------------|
9
+ | `interactive` | `interactive` | `boolean` | false | Make it possible to interact with rating control and change the value |
10
+ | `max` | `max` | `string` | "5" | Set number of total stars |
11
+ | `value` | `value` | `string` | "0" | Set number of selected stars. Value can be any number between 0 and `max`.<br />Decimal values are calculated to empty star (0 - .25); half-star (.25 - .75) and full star (.75 - 1) |
12
+
13
+ ## Events
14
+
15
+ | Event | Description |
16
+ |-----------------|---------------------------------|
17
+ | `value-changed` | Fired when the `value` changes. |
@@ -1,10 +1,15 @@
1
1
  import { JSXInterface } from '../jsx';
2
- import { BasicElement, TemplateResult, CSSResult, PropertyValues } from '@refinitiv-ui/core';
2
+ import { BasicElement, TemplateResult, CSSResultGroup, PropertyValues } from '@refinitiv-ui/core';
3
3
  /**
4
4
  * Star visualisation component that is generally used for ranking
5
5
  * @fires value-changed - Fired when the `value` changes.
6
6
  */
7
7
  export declare class Rating extends BasicElement {
8
+ /**
9
+ * Element version number
10
+ * @returns version number
11
+ */
12
+ static get version(): string;
8
13
  private items;
9
14
  private valuePrevious;
10
15
  /**
@@ -57,12 +62,12 @@ export declare class Rating extends BasicElement {
57
62
  */
58
63
  protected updated(changedProperties: PropertyValues): void;
59
64
  /**
60
- * A `CSSResult` that will be used
65
+ * A `CSSResultGroup` that will be used
61
66
  * to style the host, slotted children
62
67
  * and the internal template of the element.
63
68
  * @returns CSS template
64
69
  */
65
- static get styles(): CSSResult | CSSResult[];
70
+ static get styles(): CSSResultGroup;
66
71
  /**
67
72
  * A `TemplateResult` that will be used
68
73
  * to render the updated internal template.
@@ -81,4 +86,6 @@ declare global {
81
86
  'ef-rating': Partial<Rating> | JSXInterface.HTMLAttributes<Rating>;
82
87
  }
83
88
  }
84
- }
89
+ }
90
+
91
+ export {};