@refinitiv-ui/elements 5.12.0-alpha.0 → 5.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (513) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/README.md +4 -4
  3. package/lib/accordion/index.d.ts +76 -0
  4. package/lib/accordion/index.js +136 -0
  5. package/lib/accordion/themes/halo/dark/index.js +3 -0
  6. package/lib/accordion/themes/halo/light/index.js +3 -0
  7. package/lib/accordion/themes/solar/charcoal/index.js +3 -0
  8. package/lib/accordion/themes/solar/pearl/index.js +3 -0
  9. package/lib/appstate-bar/index.d.ts +65 -0
  10. package/lib/appstate-bar/index.js +100 -0
  11. package/lib/appstate-bar/themes/halo/dark/index.js +3 -0
  12. package/lib/appstate-bar/themes/halo/light/index.js +3 -0
  13. package/lib/appstate-bar/themes/solar/charcoal/index.js +3 -0
  14. package/lib/appstate-bar/themes/solar/pearl/index.js +3 -0
  15. package/lib/autosuggest/helpers/types.d.ts +54 -0
  16. package/lib/autosuggest/helpers/types.js +1 -0
  17. package/lib/autosuggest/helpers/utils.d.ts +39 -0
  18. package/lib/autosuggest/helpers/utils.js +75 -0
  19. package/lib/autosuggest/index.d.ts +538 -0
  20. package/lib/autosuggest/index.js +1255 -0
  21. package/lib/autosuggest/themes/halo/dark/index.js +5 -0
  22. package/lib/autosuggest/themes/halo/light/index.js +5 -0
  23. package/lib/autosuggest/themes/solar/charcoal/index.js +5 -0
  24. package/lib/autosuggest/themes/solar/pearl/index.js +5 -0
  25. package/lib/button/index.d.ts +138 -0
  26. package/lib/button/index.js +241 -0
  27. package/lib/button/themes/halo/dark/index.js +3 -0
  28. package/lib/button/themes/halo/light/index.js +3 -0
  29. package/lib/button/themes/solar/charcoal/index.js +3 -0
  30. package/lib/button/themes/solar/pearl/index.js +3 -0
  31. package/lib/button-bar/index.d.ts +125 -0
  32. package/lib/button-bar/index.js +295 -0
  33. package/lib/button-bar/themes/halo/dark/index.js +3 -0
  34. package/lib/button-bar/themes/halo/light/index.js +3 -0
  35. package/lib/button-bar/themes/solar/charcoal/index.js +3 -0
  36. package/lib/button-bar/themes/solar/pearl/index.js +3 -0
  37. package/lib/calendar/constants.d.ts +26 -0
  38. package/lib/calendar/constants.js +28 -0
  39. package/lib/calendar/index.d.ts +412 -0
  40. package/lib/calendar/index.js +1274 -0
  41. package/lib/calendar/locales.d.ts +1 -0
  42. package/lib/calendar/locales.js +41 -0
  43. package/lib/calendar/themes/halo/dark/index.js +3 -0
  44. package/lib/calendar/themes/halo/light/index.js +3 -0
  45. package/lib/calendar/themes/solar/charcoal/index.js +3 -0
  46. package/lib/calendar/themes/solar/pearl/index.js +3 -0
  47. package/lib/calendar/types.d.ts +32 -0
  48. package/lib/calendar/types.js +1 -0
  49. package/lib/calendar/utils.d.ts +42 -0
  50. package/lib/calendar/utils.js +120 -0
  51. package/lib/canvas/index.d.ts +101 -0
  52. package/lib/canvas/index.js +173 -0
  53. package/lib/canvas/themes/halo/dark/index.js +2 -0
  54. package/lib/canvas/themes/halo/light/index.js +2 -0
  55. package/lib/canvas/themes/solar/charcoal/index.js +2 -0
  56. package/lib/canvas/themes/solar/pearl/index.js +2 -0
  57. package/lib/card/helpers/types.d.ts +12 -0
  58. package/lib/card/helpers/types.js +1 -0
  59. package/lib/card/index.d.ts +142 -0
  60. package/lib/card/index.js +248 -0
  61. package/lib/card/themes/halo/dark/index.js +5 -0
  62. package/lib/card/themes/halo/light/index.js +5 -0
  63. package/lib/card/themes/solar/charcoal/index.js +5 -0
  64. package/lib/card/themes/solar/pearl/index.js +5 -0
  65. package/lib/chart/helpers/index.d.ts +2 -0
  66. package/lib/chart/helpers/index.js +2 -0
  67. package/lib/chart/helpers/legend.d.ts +5 -0
  68. package/lib/chart/helpers/legend.js +78 -0
  69. package/lib/chart/helpers/merge.d.ts +15 -0
  70. package/lib/chart/helpers/merge.js +28 -0
  71. package/lib/chart/helpers/types.d.ts +69 -0
  72. package/lib/chart/helpers/types.js +1 -0
  73. package/lib/chart/index.d.ts +187 -0
  74. package/lib/chart/index.js +491 -0
  75. package/lib/chart/plugins/doughnut-center-label.d.ts +3 -0
  76. package/lib/chart/plugins/doughnut-center-label.js +196 -0
  77. package/lib/chart/themes/halo/dark/index.js +4 -0
  78. package/lib/chart/themes/halo/light/index.js +4 -0
  79. package/lib/chart/themes/solar/charcoal/index.js +4 -0
  80. package/lib/chart/themes/solar/pearl/index.js +4 -0
  81. package/lib/checkbox/index.d.ts +97 -0
  82. package/lib/checkbox/index.js +194 -0
  83. package/lib/checkbox/themes/halo/dark/index.js +4 -0
  84. package/lib/checkbox/themes/halo/light/index.js +4 -0
  85. package/lib/checkbox/themes/solar/charcoal/index.js +4 -0
  86. package/lib/checkbox/themes/solar/pearl/index.js +4 -0
  87. package/lib/clock/index.d.ts +321 -0
  88. package/lib/clock/index.js +583 -0
  89. package/lib/clock/themes/halo/dark/index.js +2 -0
  90. package/lib/clock/themes/halo/light/index.js +2 -0
  91. package/lib/clock/themes/solar/charcoal/index.js +2 -0
  92. package/lib/clock/themes/solar/pearl/index.js +2 -0
  93. package/lib/clock/utils/TickManager.d.ts +14 -0
  94. package/lib/clock/utils/TickManager.js +66 -0
  95. package/lib/clock/utils/timestamps.d.ts +6 -0
  96. package/lib/clock/utils/timestamps.js +6 -0
  97. package/lib/collapse/custom-elements.json +4 -2
  98. package/lib/collapse/custom-elements.md +1 -1
  99. package/lib/collapse/index.d.ts +123 -0
  100. package/lib/collapse/index.js +227 -0
  101. package/lib/collapse/themes/halo/dark/index.js +5 -0
  102. package/lib/collapse/themes/halo/light/index.js +5 -0
  103. package/lib/collapse/themes/solar/charcoal/index.js +5 -0
  104. package/lib/collapse/themes/solar/pearl/index.js +5 -0
  105. package/lib/color-dialog/elements/color-palettes.d.ts +52 -0
  106. package/lib/color-dialog/elements/color-palettes.js +101 -0
  107. package/lib/color-dialog/elements/grayscale-palettes.d.ts +67 -0
  108. package/lib/color-dialog/elements/grayscale-palettes.js +161 -0
  109. package/lib/color-dialog/elements/palettes.d.ts +65 -0
  110. package/lib/color-dialog/elements/palettes.js +132 -0
  111. package/lib/color-dialog/helpers/color-helpers.d.ts +16 -0
  112. package/lib/color-dialog/helpers/color-helpers.js +161 -0
  113. package/lib/color-dialog/helpers/value-model.d.ts +75 -0
  114. package/lib/color-dialog/helpers/value-model.js +141 -0
  115. package/lib/color-dialog/index.d.ts +232 -0
  116. package/lib/color-dialog/index.js +459 -0
  117. package/lib/color-dialog/themes/halo/dark/index.js +7 -0
  118. package/lib/color-dialog/themes/halo/light/index.js +7 -0
  119. package/lib/color-dialog/themes/solar/charcoal/index.js +7 -0
  120. package/lib/color-dialog/themes/solar/pearl/index.js +7 -0
  121. package/lib/combo-box/helpers/filter.d.ts +10 -0
  122. package/lib/combo-box/helpers/filter.js +29 -0
  123. package/lib/combo-box/helpers/keyboard-event.d.ts +17 -0
  124. package/lib/combo-box/helpers/keyboard-event.js +19 -0
  125. package/lib/combo-box/helpers/renderer.d.ts +8 -0
  126. package/lib/combo-box/helpers/renderer.js +24 -0
  127. package/lib/combo-box/helpers/types.d.ts +11 -0
  128. package/lib/combo-box/helpers/types.js +1 -0
  129. package/lib/combo-box/index.d.ts +551 -0
  130. package/lib/combo-box/index.js +1183 -0
  131. package/lib/combo-box/themes/halo/dark/index.js +7 -0
  132. package/lib/combo-box/themes/halo/light/index.js +7 -0
  133. package/lib/combo-box/themes/solar/charcoal/index.js +7 -0
  134. package/lib/combo-box/themes/solar/pearl/index.js +7 -0
  135. package/lib/counter/index.d.ts +91 -0
  136. package/lib/counter/index.js +154 -0
  137. package/lib/counter/themes/halo/dark/index.js +3 -0
  138. package/lib/counter/themes/halo/light/index.js +3 -0
  139. package/lib/counter/themes/solar/charcoal/index.js +3 -0
  140. package/lib/counter/themes/solar/pearl/index.js +3 -0
  141. package/lib/counter/utils.d.ts +13 -0
  142. package/lib/counter/utils.js +52 -0
  143. package/lib/datetime-picker/index.d.ts +509 -0
  144. package/lib/datetime-picker/index.js +1175 -0
  145. package/lib/datetime-picker/locales.d.ts +8 -0
  146. package/lib/datetime-picker/locales.js +57 -0
  147. package/lib/datetime-picker/themes/halo/dark/index.js +7 -0
  148. package/lib/datetime-picker/themes/halo/light/index.js +7 -0
  149. package/lib/datetime-picker/themes/solar/charcoal/index.js +7 -0
  150. package/lib/datetime-picker/themes/solar/pearl/index.js +7 -0
  151. package/lib/datetime-picker/types.d.ts +3 -0
  152. package/lib/datetime-picker/types.js +1 -0
  153. package/lib/datetime-picker/utils.d.ts +55 -0
  154. package/lib/datetime-picker/utils.js +92 -0
  155. package/lib/dialog/custom-elements.json +11 -0
  156. package/lib/dialog/custom-elements.md +4 -3
  157. package/lib/dialog/draggable-element.d.ts +14 -0
  158. package/lib/dialog/draggable-element.js +221 -0
  159. package/lib/dialog/index.d.ts +213 -0
  160. package/lib/dialog/index.js +353 -0
  161. package/lib/dialog/themes/halo/dark/index.js +7 -0
  162. package/lib/dialog/themes/halo/light/index.js +7 -0
  163. package/lib/dialog/themes/solar/charcoal/index.js +7 -0
  164. package/lib/dialog/themes/solar/pearl/index.js +7 -0
  165. package/lib/email-field/index.d.ts +80 -0
  166. package/lib/email-field/index.js +86 -0
  167. package/lib/email-field/themes/halo/dark/index.js +3 -0
  168. package/lib/email-field/themes/halo/light/index.js +3 -0
  169. package/lib/email-field/themes/solar/charcoal/index.js +3 -0
  170. package/lib/email-field/themes/solar/pearl/index.js +3 -0
  171. package/lib/events.d.ts +121 -0
  172. package/lib/events.js +1 -0
  173. package/lib/flag/index.d.ts +96 -0
  174. package/lib/flag/index.js +168 -0
  175. package/lib/flag/themes/halo/dark/index.js +2 -0
  176. package/lib/flag/themes/halo/light/index.js +2 -0
  177. package/lib/flag/themes/solar/charcoal/index.js +2 -0
  178. package/lib/flag/themes/solar/pearl/index.js +2 -0
  179. package/lib/flag/utils/FlagLoader.d.ts +47 -0
  180. package/lib/flag/utils/FlagLoader.js +86 -0
  181. package/lib/header/index.d.ts +46 -0
  182. package/lib/header/index.js +73 -0
  183. package/lib/header/themes/halo/dark/index.js +2 -0
  184. package/lib/header/themes/halo/light/index.js +2 -0
  185. package/lib/header/themes/solar/charcoal/index.js +2 -0
  186. package/lib/header/themes/solar/pearl/index.js +2 -0
  187. package/lib/heatmap/helpers/color.d.ts +30 -0
  188. package/lib/heatmap/helpers/color.js +68 -0
  189. package/lib/heatmap/helpers/text.d.ts +26 -0
  190. package/lib/heatmap/helpers/text.js +91 -0
  191. package/lib/heatmap/helpers/track.d.ts +102 -0
  192. package/lib/heatmap/helpers/track.js +160 -0
  193. package/lib/heatmap/helpers/types.d.ts +40 -0
  194. package/lib/heatmap/helpers/types.js +1 -0
  195. package/lib/heatmap/index.d.ts +453 -0
  196. package/lib/heatmap/index.js +1103 -0
  197. package/lib/heatmap/themes/halo/dark/index.js +4 -0
  198. package/lib/heatmap/themes/halo/light/index.js +4 -0
  199. package/lib/heatmap/themes/solar/charcoal/index.js +4 -0
  200. package/lib/heatmap/themes/solar/pearl/index.js +4 -0
  201. package/lib/icon/index.d.ts +90 -0
  202. package/lib/icon/index.js +171 -0
  203. package/lib/icon/themes/halo/dark/index.js +2 -0
  204. package/lib/icon/themes/halo/light/index.js +2 -0
  205. package/lib/icon/themes/solar/charcoal/index.js +2 -0
  206. package/lib/icon/themes/solar/pearl/index.js +2 -0
  207. package/lib/icon/utils/IconLoader.d.ts +52 -0
  208. package/lib/icon/utils/IconLoader.js +93 -0
  209. package/lib/index.d.ts +3 -0
  210. package/lib/index.js +3 -0
  211. package/lib/interactive-chart/helpers/merge.d.ts +15 -0
  212. package/lib/interactive-chart/helpers/merge.js +28 -0
  213. package/lib/interactive-chart/helpers/types.d.ts +45 -0
  214. package/lib/interactive-chart/helpers/types.js +6 -0
  215. package/lib/interactive-chart/index.d.ts +383 -0
  216. package/lib/interactive-chart/index.js +1093 -0
  217. package/lib/interactive-chart/themes/halo/dark/index.js +3 -0
  218. package/lib/interactive-chart/themes/halo/light/index.js +3 -0
  219. package/lib/interactive-chart/themes/solar/charcoal/index.js +3 -0
  220. package/lib/interactive-chart/themes/solar/pearl/index.js +3 -0
  221. package/lib/item/helpers/types.d.ts +57 -0
  222. package/lib/item/helpers/types.js +1 -0
  223. package/lib/item/index.d.ts +159 -0
  224. package/lib/item/index.js +272 -0
  225. package/lib/item/themes/halo/dark/index.js +4 -0
  226. package/lib/item/themes/halo/light/index.js +4 -0
  227. package/lib/item/themes/solar/charcoal/index.js +4 -0
  228. package/lib/item/themes/solar/pearl/index.js +4 -0
  229. package/lib/label/index.d.ts +102 -0
  230. package/lib/label/index.js +245 -0
  231. package/lib/label/themes/halo/dark/index.js +3 -0
  232. package/lib/label/themes/halo/light/index.js +3 -0
  233. package/lib/label/themes/solar/charcoal/index.js +3 -0
  234. package/lib/label/themes/solar/pearl/index.js +3 -0
  235. package/lib/layout/index.d.ts +107 -0
  236. package/lib/layout/index.js +212 -0
  237. package/lib/layout/themes/halo/dark/index.js +2 -0
  238. package/lib/layout/themes/halo/light/index.js +2 -0
  239. package/lib/layout/themes/solar/charcoal/index.js +2 -0
  240. package/lib/layout/themes/solar/pearl/index.js +2 -0
  241. package/lib/led-gauge/index.d.ts +144 -0
  242. package/lib/led-gauge/index.js +438 -0
  243. package/lib/led-gauge/themes/halo/dark/index.js +3 -0
  244. package/lib/led-gauge/themes/halo/light/index.js +3 -0
  245. package/lib/led-gauge/themes/solar/charcoal/index.js +3 -0
  246. package/lib/led-gauge/themes/solar/pearl/index.js +3 -0
  247. package/lib/list/extensible-function.d.ts +8 -0
  248. package/lib/list/extensible-function.js +13 -0
  249. package/lib/list/helpers/list-renderer.d.ts +9 -0
  250. package/lib/list/helpers/list-renderer.js +37 -0
  251. package/lib/list/helpers/types.d.ts +3 -0
  252. package/lib/list/helpers/types.js +1 -0
  253. package/lib/list/index.d.ts +313 -0
  254. package/lib/list/index.js +640 -0
  255. package/lib/list/renderer.d.ts +36 -0
  256. package/lib/list/renderer.js +9 -0
  257. package/lib/list/themes/halo/dark/index.js +3 -0
  258. package/lib/list/themes/halo/light/index.js +3 -0
  259. package/lib/list/themes/solar/charcoal/index.js +3 -0
  260. package/lib/list/themes/solar/pearl/index.js +3 -0
  261. package/lib/loader/index.d.ts +41 -0
  262. package/lib/loader/index.js +61 -0
  263. package/lib/loader/themes/halo/dark/index.js +2 -0
  264. package/lib/loader/themes/halo/light/index.js +2 -0
  265. package/lib/loader/themes/solar/charcoal/index.js +2 -0
  266. package/lib/loader/themes/solar/pearl/index.js +2 -0
  267. package/lib/multi-input/helpers/types.d.ts +11 -0
  268. package/lib/multi-input/helpers/types.js +1 -0
  269. package/lib/multi-input/index.d.ts +301 -0
  270. package/lib/multi-input/index.js +594 -0
  271. package/lib/multi-input/themes/halo/dark/index.js +4 -0
  272. package/lib/multi-input/themes/halo/light/index.js +4 -0
  273. package/lib/multi-input/themes/solar/charcoal/index.js +4 -0
  274. package/lib/multi-input/themes/solar/pearl/index.js +4 -0
  275. package/lib/notification/elements/notification-tray.d.ts +97 -0
  276. package/lib/notification/elements/notification-tray.js +167 -0
  277. package/lib/notification/elements/notification.d.ts +90 -0
  278. package/lib/notification/elements/notification.js +154 -0
  279. package/lib/notification/helpers/status.d.ts +30 -0
  280. package/lib/notification/helpers/status.js +130 -0
  281. package/lib/notification/helpers/types.d.ts +10 -0
  282. package/lib/notification/helpers/types.js +1 -0
  283. package/lib/notification/index.d.ts +2 -0
  284. package/lib/notification/index.js +2 -0
  285. package/lib/notification/themes/halo/dark/index.js +5 -0
  286. package/lib/notification/themes/halo/light/index.js +5 -0
  287. package/lib/notification/themes/solar/charcoal/index.js +5 -0
  288. package/lib/notification/themes/solar/pearl/index.js +5 -0
  289. package/lib/number-field/index.d.ts +339 -0
  290. package/lib/number-field/index.js +741 -0
  291. package/lib/number-field/themes/halo/dark/index.js +3 -0
  292. package/lib/number-field/themes/halo/light/index.js +3 -0
  293. package/lib/number-field/themes/solar/charcoal/index.js +3 -0
  294. package/lib/number-field/themes/solar/pearl/index.js +3 -0
  295. package/lib/overlay/elements/overlay-backdrop.d.ts +46 -0
  296. package/lib/overlay/elements/overlay-backdrop.js +64 -0
  297. package/lib/overlay/elements/overlay-viewport.d.ts +40 -0
  298. package/lib/overlay/elements/overlay-viewport.js +52 -0
  299. package/lib/overlay/elements/overlay.d.ts +408 -0
  300. package/lib/overlay/elements/overlay.js +1426 -0
  301. package/lib/overlay/helpers/functions.d.ts +13 -0
  302. package/lib/overlay/helpers/functions.js +16 -0
  303. package/lib/overlay/helpers/types.d.ts +97 -0
  304. package/lib/overlay/helpers/types.js +16 -0
  305. package/lib/overlay/index.d.ts +2 -0
  306. package/lib/overlay/index.js +1 -0
  307. package/lib/overlay/managers/backdrop-manager.d.ts +45 -0
  308. package/lib/overlay/managers/backdrop-manager.js +96 -0
  309. package/lib/overlay/managers/close-manager.d.ts +54 -0
  310. package/lib/overlay/managers/close-manager.js +138 -0
  311. package/lib/overlay/managers/focus-manager.d.ts +71 -0
  312. package/lib/overlay/managers/focus-manager.js +228 -0
  313. package/lib/overlay/managers/interaction-lock-manager.d.ts +138 -0
  314. package/lib/overlay/managers/interaction-lock-manager.js +375 -0
  315. package/lib/overlay/managers/viewport-manager.d.ts +93 -0
  316. package/lib/overlay/managers/viewport-manager.js +211 -0
  317. package/lib/overlay/managers/zindex-manager.d.ts +80 -0
  318. package/lib/overlay/managers/zindex-manager.js +195 -0
  319. package/lib/overlay/themes/halo/dark/index.js +4 -0
  320. package/lib/overlay/themes/halo/light/index.js +4 -0
  321. package/lib/overlay/themes/solar/charcoal/index.js +4 -0
  322. package/lib/overlay/themes/solar/pearl/index.js +4 -0
  323. package/lib/overlay-menu/helpers/types.d.ts +8 -0
  324. package/lib/overlay-menu/helpers/types.js +1 -0
  325. package/lib/overlay-menu/index.d.ts +387 -0
  326. package/lib/overlay-menu/index.js +935 -0
  327. package/lib/overlay-menu/managers/menu-manager.d.ts +98 -0
  328. package/lib/overlay-menu/managers/menu-manager.js +240 -0
  329. package/lib/overlay-menu/themes/halo/dark/index.js +5 -0
  330. package/lib/overlay-menu/themes/halo/light/index.js +5 -0
  331. package/lib/overlay-menu/themes/solar/charcoal/index.js +5 -0
  332. package/lib/overlay-menu/themes/solar/pearl/index.js +5 -0
  333. package/lib/pagination/index.d.ts +275 -0
  334. package/lib/pagination/index.js +552 -0
  335. package/lib/pagination/themes/halo/dark/index.js +6 -0
  336. package/lib/pagination/themes/halo/light/index.js +6 -0
  337. package/lib/pagination/themes/solar/charcoal/index.js +6 -0
  338. package/lib/pagination/themes/solar/pearl/index.js +6 -0
  339. package/lib/panel/index.d.ts +48 -0
  340. package/lib/panel/index.js +74 -0
  341. package/lib/panel/themes/halo/dark/index.js +2 -0
  342. package/lib/panel/themes/halo/light/index.js +2 -0
  343. package/lib/panel/themes/solar/charcoal/index.js +2 -0
  344. package/lib/panel/themes/solar/pearl/index.js +2 -0
  345. package/lib/password-field/index.d.ts +89 -0
  346. package/lib/password-field/index.js +112 -0
  347. package/lib/password-field/themes/halo/dark/index.js +3 -0
  348. package/lib/password-field/themes/halo/light/index.js +3 -0
  349. package/lib/password-field/themes/solar/charcoal/index.js +3 -0
  350. package/lib/password-field/themes/solar/pearl/index.js +3 -0
  351. package/lib/pill/index.d.ts +97 -0
  352. package/lib/pill/index.js +160 -0
  353. package/lib/pill/themes/halo/dark/index.js +3 -0
  354. package/lib/pill/themes/halo/light/index.js +3 -0
  355. package/lib/pill/themes/solar/charcoal/index.js +3 -0
  356. package/lib/pill/themes/solar/pearl/index.js +3 -0
  357. package/lib/progress-bar/index.d.ts +82 -0
  358. package/lib/progress-bar/index.js +157 -0
  359. package/lib/progress-bar/themes/halo/dark/index.js +2 -0
  360. package/lib/progress-bar/themes/halo/light/index.js +2 -0
  361. package/lib/progress-bar/themes/solar/charcoal/index.js +2 -0
  362. package/lib/progress-bar/themes/solar/pearl/index.js +2 -0
  363. package/lib/radio-button/index.d.ts +123 -0
  364. package/lib/radio-button/index.js +261 -0
  365. package/lib/radio-button/radio-button-registry.d.ts +22 -0
  366. package/lib/radio-button/radio-button-registry.js +93 -0
  367. package/lib/radio-button/themes/halo/dark/index.js +3 -0
  368. package/lib/radio-button/themes/halo/light/index.js +3 -0
  369. package/lib/radio-button/themes/solar/charcoal/index.js +3 -0
  370. package/lib/radio-button/themes/solar/pearl/index.js +3 -0
  371. package/lib/rating/index.d.ts +91 -0
  372. package/lib/rating/index.js +157 -0
  373. package/lib/rating/themes/halo/dark/index.js +2 -0
  374. package/lib/rating/themes/halo/light/index.js +2 -0
  375. package/lib/rating/themes/solar/charcoal/index.js +2 -0
  376. package/lib/rating/themes/solar/pearl/index.js +2 -0
  377. package/lib/search-field/index.d.ts +77 -0
  378. package/lib/search-field/index.js +84 -0
  379. package/lib/search-field/themes/halo/dark/index.js +3 -0
  380. package/lib/search-field/themes/halo/light/index.js +3 -0
  381. package/lib/search-field/themes/solar/charcoal/index.js +3 -0
  382. package/lib/search-field/themes/solar/pearl/index.js +3 -0
  383. package/lib/select/helpers/types.d.ts +3 -0
  384. package/lib/select/helpers/types.js +1 -0
  385. package/lib/select/index.d.ts +396 -0
  386. package/lib/select/index.js +981 -0
  387. package/lib/select/themes/halo/dark/index.js +5 -0
  388. package/lib/select/themes/halo/light/index.js +5 -0
  389. package/lib/select/themes/solar/charcoal/index.js +5 -0
  390. package/lib/select/themes/solar/pearl/index.js +5 -0
  391. package/lib/sidebar-layout/index.d.ts +70 -0
  392. package/lib/sidebar-layout/index.js +134 -0
  393. package/lib/sidebar-layout/themes/halo/dark/index.js +3 -0
  394. package/lib/sidebar-layout/themes/halo/light/index.js +3 -0
  395. package/lib/sidebar-layout/themes/solar/charcoal/index.js +3 -0
  396. package/lib/sidebar-layout/themes/solar/pearl/index.js +3 -0
  397. package/lib/slider/index.d.ts +409 -0
  398. package/lib/slider/index.js +1197 -0
  399. package/lib/slider/themes/halo/dark/index.js +3 -0
  400. package/lib/slider/themes/halo/light/index.js +3 -0
  401. package/lib/slider/themes/solar/charcoal/index.js +3 -0
  402. package/lib/slider/themes/solar/pearl/index.js +3 -0
  403. package/lib/sparkline/index.d.ts +109 -0
  404. package/lib/sparkline/index.js +188 -0
  405. package/lib/sparkline/themes/halo/dark/index.js +2 -0
  406. package/lib/sparkline/themes/halo/light/index.js +2 -0
  407. package/lib/sparkline/themes/solar/charcoal/index.js +2 -0
  408. package/lib/sparkline/themes/solar/pearl/index.js +2 -0
  409. package/lib/swing-gauge/const.d.ts +22 -0
  410. package/lib/swing-gauge/const.js +26 -0
  411. package/lib/swing-gauge/helpers.d.ts +8 -0
  412. package/lib/swing-gauge/helpers.js +105 -0
  413. package/lib/swing-gauge/index.d.ts +296 -0
  414. package/lib/swing-gauge/index.js +764 -0
  415. package/lib/swing-gauge/themes/halo/dark/index.js +3 -0
  416. package/lib/swing-gauge/themes/halo/light/index.js +3 -0
  417. package/lib/swing-gauge/themes/solar/charcoal/index.js +3 -0
  418. package/lib/swing-gauge/themes/solar/pearl/index.js +3 -0
  419. package/lib/swing-gauge/types.d.ts +34 -0
  420. package/lib/swing-gauge/types.js +1 -0
  421. package/lib/tab/custom-elements.json +13 -0
  422. package/lib/tab/custom-elements.md +1 -0
  423. package/lib/tab/index.d.ts +136 -0
  424. package/lib/tab/index.js +236 -0
  425. package/lib/tab/themes/halo/dark/index.js +4 -0
  426. package/lib/tab/themes/halo/light/index.js +4 -0
  427. package/lib/tab/themes/solar/charcoal/index.js +4 -0
  428. package/lib/tab/themes/solar/pearl/index.js +4 -0
  429. package/lib/tab-bar/custom-elements.json +12 -0
  430. package/lib/tab-bar/custom-elements.md +7 -0
  431. package/lib/tab-bar/helpers/animate.d.ts +16 -0
  432. package/lib/tab-bar/helpers/animate.js +53 -0
  433. package/lib/tab-bar/index.d.ts +198 -0
  434. package/lib/tab-bar/index.js +428 -0
  435. package/lib/tab-bar/themes/halo/dark/index.js +4 -0
  436. package/lib/tab-bar/themes/halo/light/index.js +4 -0
  437. package/lib/tab-bar/themes/solar/charcoal/index.js +4 -0
  438. package/lib/tab-bar/themes/solar/pearl/index.js +4 -0
  439. package/lib/text-field/index.d.ts +151 -0
  440. package/lib/text-field/index.js +260 -0
  441. package/lib/text-field/themes/halo/dark/index.js +3 -0
  442. package/lib/text-field/themes/halo/light/index.js +3 -0
  443. package/lib/text-field/themes/solar/charcoal/index.js +3 -0
  444. package/lib/text-field/themes/solar/pearl/index.js +3 -0
  445. package/lib/time-picker/index.d.ts +412 -0
  446. package/lib/time-picker/index.js +898 -0
  447. package/lib/time-picker/themes/halo/dark/index.js +4 -0
  448. package/lib/time-picker/themes/halo/light/index.js +4 -0
  449. package/lib/time-picker/themes/solar/charcoal/index.js +4 -0
  450. package/lib/time-picker/themes/solar/pearl/index.js +4 -0
  451. package/lib/toggle/index.d.ts +87 -0
  452. package/lib/toggle/index.js +153 -0
  453. package/lib/toggle/themes/halo/dark/index.js +2 -0
  454. package/lib/toggle/themes/halo/light/index.js +2 -0
  455. package/lib/toggle/themes/solar/charcoal/index.js +2 -0
  456. package/lib/toggle/themes/solar/pearl/index.js +2 -0
  457. package/lib/tooltip/elements/title-tooltip.d.ts +1 -0
  458. package/lib/tooltip/elements/title-tooltip.js +18 -0
  459. package/lib/tooltip/elements/tooltip-element.d.ts +21 -0
  460. package/lib/tooltip/elements/tooltip-element.js +54 -0
  461. package/lib/tooltip/helpers/overflow-tooltip.d.ts +9 -0
  462. package/lib/tooltip/helpers/overflow-tooltip.js +19 -0
  463. package/lib/tooltip/helpers/renderer.d.ts +8 -0
  464. package/lib/tooltip/helpers/renderer.js +11 -0
  465. package/lib/tooltip/helpers/types.d.ts +23 -0
  466. package/lib/tooltip/helpers/types.js +1 -0
  467. package/lib/tooltip/index.d.ts +232 -0
  468. package/lib/tooltip/index.js +477 -0
  469. package/lib/tooltip/managers/tooltip-manager.d.ts +15 -0
  470. package/lib/tooltip/managers/tooltip-manager.js +140 -0
  471. package/lib/tooltip/themes/halo/dark/index.js +3 -0
  472. package/lib/tooltip/themes/halo/light/index.js +3 -0
  473. package/lib/tooltip/themes/solar/charcoal/index.js +3 -0
  474. package/lib/tooltip/themes/solar/pearl/index.js +3 -0
  475. package/lib/tornado-chart/elements/tornado-chart.d.ts +78 -0
  476. package/lib/tornado-chart/elements/tornado-chart.js +122 -0
  477. package/lib/tornado-chart/elements/tornado-item.d.ts +110 -0
  478. package/lib/tornado-chart/elements/tornado-item.js +207 -0
  479. package/lib/tornado-chart/index.d.ts +2 -0
  480. package/lib/tornado-chart/index.js +2 -0
  481. package/lib/tornado-chart/themes/halo/dark/index.js +6 -0
  482. package/lib/tornado-chart/themes/halo/light/index.js +6 -0
  483. package/lib/tornado-chart/themes/solar/charcoal/index.js +6 -0
  484. package/lib/tornado-chart/themes/solar/pearl/index.js +6 -0
  485. package/lib/tree/elements/tree-item.d.ts +129 -0
  486. package/lib/tree/elements/tree-item.js +238 -0
  487. package/lib/tree/elements/tree.d.ts +203 -0
  488. package/lib/tree/elements/tree.js +414 -0
  489. package/lib/tree/helpers/filter.d.ts +8 -0
  490. package/lib/tree/helpers/filter.js +33 -0
  491. package/lib/tree/helpers/renderer.d.ts +5 -0
  492. package/lib/tree/helpers/renderer.js +33 -0
  493. package/lib/tree/helpers/types.d.ts +25 -0
  494. package/lib/tree/helpers/types.js +1 -0
  495. package/lib/tree/index.d.ts +4 -0
  496. package/lib/tree/index.js +3 -0
  497. package/lib/tree/managers/tree-manager.d.ts +248 -0
  498. package/lib/tree/managers/tree-manager.js +395 -0
  499. package/lib/tree/themes/halo/dark/index.js +7 -0
  500. package/lib/tree/themes/halo/light/index.js +7 -0
  501. package/lib/tree/themes/solar/charcoal/index.js +7 -0
  502. package/lib/tree/themes/solar/pearl/index.js +7 -0
  503. package/lib/tree-select/helpers/types.d.ts +4 -0
  504. package/lib/tree-select/helpers/types.js +1 -0
  505. package/lib/tree-select/index.d.ts +404 -0
  506. package/lib/tree-select/index.js +891 -0
  507. package/lib/tree-select/themes/halo/dark/index.js +11 -0
  508. package/lib/tree-select/themes/halo/light/index.js +11 -0
  509. package/lib/tree-select/themes/solar/charcoal/index.js +11 -0
  510. package/lib/tree-select/themes/solar/pearl/index.js +11 -0
  511. package/lib/version.d.ts +1 -0
  512. package/lib/version.js +1 -0
  513. package/package.json +293 -24
@@ -0,0 +1,15 @@
1
+ import type { Tooltip } from '../index.js';
2
+ import type { DocumentCallbacks } from '../helpers/types';
3
+ /**
4
+ * Register the new tooltip
5
+ * @param tooltip Tooltip
6
+ * @param documentCallbacks Callback to attach on document and body
7
+ * @returns {void}
8
+ */
9
+ export declare const register: (tooltip: Tooltip, documentCallbacks: DocumentCallbacks) => void;
10
+ /**
11
+ * Deregister the tooltip
12
+ * @param tooltip Tooltip
13
+ * @returns {void}
14
+ */
15
+ export declare const deregister: (tooltip: Tooltip) => void;
@@ -0,0 +1,140 @@
1
+ import { TimeoutTaskRunner } from '@refinitiv-ui/utils/lib/async.js';
2
+ import { isIE } from '@refinitiv-ui/utils/lib/browser.js';
3
+ /**
4
+ * Tooltip manager is here to avoid setting multiple
5
+ * events on document and do expensive pre-processing
6
+ * in a common way
7
+ */
8
+ class TooltipManager {
9
+ constructor() {
10
+ this.registry = new Map();
11
+ /* 5 is chosen randomly to give long enough delay to avoid performance issues, but
12
+ short enough for not showing the default title
13
+ */
14
+ this.titleThrottler = new TimeoutTaskRunner(5);
15
+ /**
16
+ * @param event Mouse move event
17
+ * @returns {void}
18
+ */
19
+ this.onMouseMove = (event) => {
20
+ const paths = event.composedPath(); /* paths may be lost if used in schedule */
21
+ this.registry.forEach(({ mousemove }) => mousemove(event, paths));
22
+ this.titleThrottler.schedule(() => {
23
+ TooltipManager.overrideTitle(paths);
24
+ this.registry.forEach(({ mousemoveThrottled }) => mousemoveThrottled(event, paths));
25
+ });
26
+ };
27
+ /**
28
+ * @param event Mouse click or contextmenu event
29
+ * @returns {void}
30
+ */
31
+ this.onClick = (event) => {
32
+ this.registry.forEach(({ click }) => click(event));
33
+ };
34
+ /**
35
+ * @param event Mouse out event
36
+ * @returns {void}
37
+ */
38
+ this.onMouseOut = (event) => {
39
+ this.registry.forEach(({ mouseout }) => mouseout(event));
40
+ };
41
+ /**
42
+ * @param event Mouse leave event
43
+ * @returns {void}
44
+ */
45
+ this.onMouseLeave = (event) => {
46
+ this.registry.forEach(({ mouseleave }) => mouseleave(event));
47
+ };
48
+ /**
49
+ * @param event Wheel event
50
+ * @returns {void}
51
+ */
52
+ this.onWheel = (event) => {
53
+ this.registry.forEach(({ wheel }) => wheel(event));
54
+ };
55
+ /**
56
+ * @param event Keyboard event
57
+ * @returns {void}
58
+ */
59
+ this.onKeyDown = (event) => {
60
+ this.registry.forEach(({ keydown }) => keydown(event));
61
+ };
62
+ /**
63
+ * @param event Focus event
64
+ * @returns {void}
65
+ */
66
+ this.onBlur = (event) => {
67
+ this.registry.forEach(({ blur }) => blur(event));
68
+ };
69
+ }
70
+ /**
71
+ * Override default title attribute
72
+ * @param paths Event paths
73
+ * @returns {void}
74
+ */
75
+ static overrideTitle(paths) {
76
+ const l = paths.length;
77
+ for (let i = 0; i < l; i += 1) {
78
+ const node = paths[i];
79
+ if (node.nodeType !== Node.ELEMENT_NODE) {
80
+ continue;
81
+ }
82
+ if (node === document.body || node === document.documentElement) {
83
+ break;
84
+ }
85
+ const element = node;
86
+ const title = element.getAttribute('title');
87
+ if (title) {
88
+ element.title = title;
89
+ }
90
+ }
91
+ }
92
+ register(tooltip, documentCallbacks) {
93
+ if (!this.registry.size) {
94
+ // IE11 does not support event options
95
+ const supportOptions = !isIE;
96
+ const eventOptions = supportOptions ? { passive: true } : undefined;
97
+ document.addEventListener('mousemove', this.onMouseMove, eventOptions);
98
+ document.addEventListener('mouseout', this.onMouseOut, eventOptions);
99
+ document.addEventListener('mouseleave', this.onMouseLeave, eventOptions);
100
+ document.addEventListener('wheel', this.onWheel, eventOptions);
101
+ document.addEventListener('keydown', this.onKeyDown, eventOptions);
102
+ document.body.addEventListener('blur', this.onBlur, eventOptions);
103
+ const clickEventOptions = supportOptions ? { passive: true, capture: true } : true;
104
+ document.addEventListener('click', this.onClick, clickEventOptions);
105
+ document.addEventListener('contextmenu', this.onClick, clickEventOptions);
106
+ }
107
+ this.registry.set(tooltip, documentCallbacks);
108
+ }
109
+ deregister(tooltip) {
110
+ this.registry.delete(tooltip);
111
+ if (!this.registry.size) {
112
+ document.removeEventListener('mousemove', this.onMouseMove);
113
+ document.removeEventListener('mouseout', this.onMouseOut);
114
+ document.removeEventListener('mouseleave', this.onMouseLeave);
115
+ document.removeEventListener('wheel', this.onWheel);
116
+ document.removeEventListener('keydown', this.onKeyDown);
117
+ document.body.removeEventListener('blur', this.onBlur);
118
+ document.removeEventListener('click', this.onClick, true);
119
+ document.removeEventListener('contextmenu', this.onClick, true);
120
+ }
121
+ }
122
+ }
123
+ const tooltipManager = new TooltipManager();
124
+ /**
125
+ * Register the new tooltip
126
+ * @param tooltip Tooltip
127
+ * @param documentCallbacks Callback to attach on document and body
128
+ * @returns {void}
129
+ */
130
+ export const register = (tooltip, documentCallbacks) => {
131
+ tooltipManager.register(tooltip, documentCallbacks);
132
+ };
133
+ /**
134
+ * Deregister the tooltip
135
+ * @param tooltip Tooltip
136
+ * @returns {void}
137
+ */
138
+ export const deregister = (tooltip) => {
139
+ tooltipManager.deregister(tooltip);
140
+ };
@@ -0,0 +1,3 @@
1
+ import '@refinitiv-ui/elements/lib/overlay/themes/halo/dark';
2
+
3
+ elf.customStyles.define('ef-tooltip', ':host [part=tooltip]{--panel-background-color:#FFFFFF;pointer-events:none;border:1px solid hsla(220,12%,75%,.15);padding:4px 8px;background-color:#fff;border-radius:0;overflow:hidden;max-width:320px;overflow-wrap:break-word;word-wrap:break-word;margin:4px;border:none;min-height:18px;line-height:18px;color:#0d0d0d}:host(:not([position])) [part=tooltip],:host([position=auto]) [part=tooltip]{margin-top:20px;margin-left:0}');
@@ -0,0 +1,3 @@
1
+ import '@refinitiv-ui/elements/lib/overlay/themes/halo/light';
2
+
3
+ elf.customStyles.define('ef-tooltip', ':host [part=tooltip]{--panel-background-color:#FFF4CC;pointer-events:none;border:1px solid hsla(220,12%,75%,.15);padding:4px 8px;background-color:#fff4cc;border-radius:0;overflow:hidden;max-width:320px;overflow-wrap:break-word;word-wrap:break-word;margin:4px;border:none;min-height:18px;line-height:18px;color:#0d0d0d}:host(:not([position])) [part=tooltip],:host([position=auto]) [part=tooltip]{margin-top:20px;margin-left:0}');
@@ -0,0 +1,3 @@
1
+ import '@refinitiv-ui/elements/lib/overlay/themes/solar/charcoal';
2
+
3
+ elf.customStyles.define('ef-tooltip', ':host [part=tooltip]{--panel-background-color:#3C3C42;pointer-events:none;border:1px solid #000;padding:5px 8px;background-color:#3c3c42;border-radius:0;overflow:hidden;max-width:250px;overflow-wrap:break-word;word-wrap:break-word;margin:7px}:host(:not([position])) [part=tooltip],:host([position=auto]) [part=tooltip]{margin-top:20px;margin-left:0}');
@@ -0,0 +1,3 @@
1
+ import '@refinitiv-ui/elements/lib/overlay/themes/solar/pearl';
2
+
3
+ elf.customStyles.define('ef-tooltip', ':host [part=tooltip]{--panel-background-color:#FFFFFF;pointer-events:none;border:1px solid #a9afba;padding:5px 8px;background-color:#fff;border-radius:0;overflow:hidden;max-width:250px;overflow-wrap:break-word;word-wrap:break-word;margin:7px}:host(:not([position])) [part=tooltip],:host([position=auto]) [part=tooltip]{margin-top:20px;margin-left:0}');
@@ -0,0 +1,78 @@
1
+ import { JSXInterface } from '../../jsx';
2
+ import { ResponsiveElement, TemplateResult, CSSResultGroup, ElementSize } from '@refinitiv-ui/core';
3
+ import './tornado-item.js';
4
+ /**
5
+ * A data visualization that helps to
6
+ * show the differences or similarities between values
7
+ * @slot header - Any HTML contents to display at chart header section
8
+ * @slot footer - Any HTML contents to display at chart footer section
9
+ */
10
+ export declare class TornadoChart extends ResponsiveElement {
11
+ /**
12
+ * Element version number
13
+ * @returns version number
14
+ */
15
+ static get version(): string;
16
+ /**
17
+ * Primary bar chart legend text
18
+ */
19
+ primary: string | null;
20
+ /**
21
+ * Secondary bar chart legend text
22
+ */
23
+ secondary: string | null;
24
+ /**
25
+ * A flag to keep component's responsive state
26
+ */
27
+ private isResponsive;
28
+ /**
29
+ * True if legend's alignment is vertical
30
+ */
31
+ private legendAlignment;
32
+ /**
33
+ * Set chart's legend alignment
34
+ * @param responsive true if items needs to be responsive
35
+ * @returns {void}
36
+ */
37
+ private setLegendAlignment;
38
+ /**
39
+ * Set ef-tornado-item's alignment
40
+ * @param responsive true if items needs to be responsive
41
+ * @returns {void}
42
+ */
43
+ private setItemAlignment;
44
+ /**
45
+ * Handles element's resize behavior
46
+ * @ignore
47
+ * @param {ElementSize} size size of the element
48
+ * @returns {void}
49
+ */
50
+ resizedCallback(size: ElementSize): void;
51
+ /**
52
+ * A `CSSResultGroup` that will be used
53
+ * to style the host, slotted children
54
+ * and the internal template of the element.
55
+ * @return CSS template
56
+ */
57
+ static get styles(): CSSResultGroup;
58
+ /**
59
+ * A `TemplateResult` that will be used
60
+ * to render the updated internal template.
61
+ * @return Render template
62
+ */
63
+ protected render(): TemplateResult;
64
+ }
65
+
66
+ declare global {
67
+ interface HTMLElementTagNameMap {
68
+ 'ef-tornado-chart': TornadoChart;
69
+ }
70
+
71
+ namespace JSX {
72
+ interface IntrinsicElements {
73
+ 'ef-tornado-chart': Partial<TornadoChart> | JSXInterface.HTMLAttributes<TornadoChart>;
74
+ }
75
+ }
76
+ }
77
+
78
+ export {};
@@ -0,0 +1,122 @@
1
+ import { __decorate } from "tslib";
2
+ import { ResponsiveElement, html, css } 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 './tornado-item.js';
7
+ /**
8
+ * A data visualization that helps to
9
+ * show the differences or similarities between values
10
+ * @slot header - Any HTML contents to display at chart header section
11
+ * @slot footer - Any HTML contents to display at chart footer section
12
+ */
13
+ let TornadoChart = class TornadoChart extends ResponsiveElement {
14
+ constructor() {
15
+ super(...arguments);
16
+ /**
17
+ * Primary bar chart legend text
18
+ */
19
+ this.primary = null;
20
+ /**
21
+ * Secondary bar chart legend text
22
+ */
23
+ this.secondary = null;
24
+ /**
25
+ * A flag to keep component's responsive state
26
+ */
27
+ this.isResponsive = false;
28
+ /**
29
+ * True if legend's alignment is vertical
30
+ */
31
+ this.legendAlignment = false;
32
+ }
33
+ /**
34
+ * Element version number
35
+ * @returns version number
36
+ */
37
+ static get version() {
38
+ return VERSION;
39
+ }
40
+ /**
41
+ * Set chart's legend alignment
42
+ * @param responsive true if items needs to be responsive
43
+ * @returns {void}
44
+ */
45
+ setLegendAlignment(responsive) {
46
+ this.legendAlignment = responsive;
47
+ this.requestUpdate();
48
+ }
49
+ /**
50
+ * Set ef-tornado-item's alignment
51
+ * @param responsive true if items needs to be responsive
52
+ * @returns {void}
53
+ */
54
+ setItemAlignment(responsive) {
55
+ this.querySelectorAll('ef-tornado-item').forEach((item) => {
56
+ item.vertical = responsive;
57
+ });
58
+ }
59
+ /**
60
+ * Handles element's resize behavior
61
+ * @ignore
62
+ * @param {ElementSize} size size of the element
63
+ * @returns {void}
64
+ */
65
+ resizedCallback(size) {
66
+ const previousResponsiveValue = this.isResponsive;
67
+ this.isResponsive = size.width < parseInt(this.getComputedVariable('--responsive-width'), 10);
68
+ // Make changes to DOM only when the responsive state changes
69
+ if (this.isResponsive !== previousResponsiveValue) {
70
+ this.setItemAlignment(this.isResponsive);
71
+ this.setLegendAlignment(this.isResponsive);
72
+ }
73
+ }
74
+ /**
75
+ * A `CSSResultGroup` that will be used
76
+ * to style the host, slotted children
77
+ * and the internal template of the element.
78
+ * @return CSS template
79
+ */
80
+ static get styles() {
81
+ return css `
82
+ :host {
83
+ display: block;
84
+ --responsive-width: 450;
85
+ }
86
+ `;
87
+ }
88
+ /**
89
+ * A `TemplateResult` that will be used
90
+ * to render the updated internal template.
91
+ * @return Render template
92
+ */
93
+ render() {
94
+ return html `
95
+ <slot name="header"></slot>
96
+ <div part="legend" ?vertical=${this.legendAlignment}>
97
+ <div part="legend-item">
98
+ <div part="primary-symbol"></div>
99
+ <div part="primary-label">${this.primary}</div>
100
+ </div>
101
+ <div part="legend-item">
102
+ <div part="secondary-symbol"></div>
103
+ <div part="secondary-label">${this.secondary}</div>
104
+ </div>
105
+ </div>
106
+ <slot></slot>
107
+ <slot name="footer"></slot>
108
+ `;
109
+ }
110
+ };
111
+ __decorate([
112
+ property({ type: String })
113
+ ], TornadoChart.prototype, "primary", void 0);
114
+ __decorate([
115
+ property({ type: String })
116
+ ], TornadoChart.prototype, "secondary", void 0);
117
+ TornadoChart = __decorate([
118
+ customElement('ef-tornado-chart', {
119
+ alias: 'sapphire-parity-chart'
120
+ })
121
+ ], TornadoChart);
122
+ export { TornadoChart };
@@ -0,0 +1,110 @@
1
+ import { JSXInterface } from '../../jsx';
2
+ import { BasicElement, TemplateResult, CSSResultGroup } from '@refinitiv-ui/core';
3
+ import '../../progress-bar/index.js';
4
+ import '../../layout/index.js';
5
+ /**
6
+ * A part of <ef-tornado-chart />,
7
+ * consists mainly of primary, secondary ef-progress-bar and labels.
8
+ */
9
+ export declare class TornadoItem extends BasicElement {
10
+ /**
11
+ * Element version number
12
+ * @returns version number
13
+ */
14
+ static get version(): string;
15
+ /**
16
+ * Internal vertical flag value, used only by its getter and setter
17
+ */
18
+ private _vertical;
19
+ /**
20
+ * Getter for toggling bar chart alignment
21
+ * @returns {boolean} true if component is in vertical mode
22
+ */
23
+ get vertical(): boolean;
24
+ /**
25
+ * Setter for toggling bar chart alignment
26
+ * @param {boolean} value vertical
27
+ */
28
+ set vertical(value: boolean);
29
+ /**
30
+ * Display highlight styles onto the item
31
+ */
32
+ highlighted: boolean;
33
+ /**
34
+ * Primary bar chart's value
35
+ */
36
+ primaryValue: string | null;
37
+ /**
38
+ * Primary bar chart's label
39
+ */
40
+ primaryLabel: string | null;
41
+ /**
42
+ * Secondary bar chart's value
43
+ */
44
+ secondaryValue: string | null;
45
+ /**
46
+ * Secondary bar chart's label
47
+ */
48
+ secondaryLabel: string | null;
49
+ /**
50
+ * A flag to determine container layout state
51
+ */
52
+ private isContainer;
53
+ /**
54
+ * Primary bar chart alignment
55
+ */
56
+ private primaryBarAlignment;
57
+ /**
58
+ * Secondary bar chart alignment
59
+ */
60
+ private secondaryBarAlignment;
61
+ /**
62
+ * Label container's size
63
+ */
64
+ private labelLayoutSize;
65
+ /**
66
+ * Primary layout flex basis size
67
+ */
68
+ private primaryLayoutFlexBasis;
69
+ /**
70
+ * Secondary layout flex basis size
71
+ */
72
+ private secondaryLayoutFlexBasis;
73
+ /**
74
+ * Triggers vertical layout mode
75
+ * @returns {void}
76
+ */
77
+ private showVerticalMode;
78
+ /**
79
+ * Triggers horizontal layout mode
80
+ * @returns {void}
81
+ */
82
+ private showHorizontalMode;
83
+ /**
84
+ * A `CSSResultGroup` that will be used
85
+ * to style the host, slotted children
86
+ * and the internal template of the element.
87
+ * @return CSS template
88
+ */
89
+ static get styles(): CSSResultGroup;
90
+ /**
91
+ * A `TemplateResult` that will be used
92
+ * to render the updated internal template.
93
+ * @return Render template
94
+ */
95
+ protected render(): TemplateResult;
96
+ }
97
+
98
+ declare global {
99
+ interface HTMLElementTagNameMap {
100
+ 'ef-tornado-item': TornadoItem;
101
+ }
102
+
103
+ namespace JSX {
104
+ interface IntrinsicElements {
105
+ 'ef-tornado-item': Partial<TornadoItem> | JSXInterface.HTMLAttributes<TornadoItem>;
106
+ }
107
+ }
108
+ }
109
+
110
+ export {};
@@ -0,0 +1,207 @@
1
+ import { __decorate } from "tslib";
2
+ import { BasicElement, html, css } 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 { ifDefined } from '@refinitiv-ui/core/lib/directives/if-defined.js';
6
+ import { VERSION } from '../../version.js';
7
+ import '../../progress-bar/index.js';
8
+ import '../../layout/index.js';
9
+ /**
10
+ * A part of <ef-tornado-chart />,
11
+ * consists mainly of primary, secondary ef-progress-bar and labels.
12
+ */
13
+ let TornadoItem = class TornadoItem extends BasicElement {
14
+ constructor() {
15
+ super(...arguments);
16
+ /**
17
+ * Internal vertical flag value, used only by its getter and setter
18
+ */
19
+ this._vertical = false;
20
+ /**
21
+ * Display highlight styles onto the item
22
+ */
23
+ this.highlighted = false;
24
+ /**
25
+ * Primary bar chart's value
26
+ */
27
+ this.primaryValue = null;
28
+ /**
29
+ * Primary bar chart's label
30
+ */
31
+ this.primaryLabel = null;
32
+ /**
33
+ * Secondary bar chart's value
34
+ */
35
+ this.secondaryValue = null;
36
+ /**
37
+ * Secondary bar chart's label
38
+ */
39
+ this.secondaryLabel = null;
40
+ /**
41
+ * A flag to determine container layout state
42
+ */
43
+ this.isContainer = false;
44
+ /**
45
+ * Primary bar chart alignment
46
+ */
47
+ this.primaryBarAlignment = 'right';
48
+ /**
49
+ * Secondary bar chart alignment
50
+ */
51
+ this.secondaryBarAlignment = 'left';
52
+ /**
53
+ * Label container's size
54
+ */
55
+ this.labelLayoutSize = '25%';
56
+ /**
57
+ * Primary layout flex basis size
58
+ */
59
+ this.primaryLayoutFlexBasis = '40%';
60
+ /**
61
+ * Secondary layout flex basis size
62
+ */
63
+ this.secondaryLayoutFlexBasis = '40%';
64
+ }
65
+ /**
66
+ * Element version number
67
+ * @returns version number
68
+ */
69
+ static get version() {
70
+ return VERSION;
71
+ }
72
+ /**
73
+ * Getter for toggling bar chart alignment
74
+ * @returns {boolean} true if component is in vertical mode
75
+ */
76
+ get vertical() {
77
+ return this._vertical;
78
+ }
79
+ /**
80
+ * Setter for toggling bar chart alignment
81
+ * @param {boolean} value vertical
82
+ */
83
+ set vertical(value) {
84
+ const previousValue = this._vertical;
85
+ if (value === previousValue) {
86
+ return;
87
+ }
88
+ this._vertical = value;
89
+ /**
90
+ * Observe when vertical property changes,
91
+ * then toggle between alignments
92
+ */
93
+ if (value) {
94
+ this.showVerticalMode();
95
+ }
96
+ else {
97
+ this.showHorizontalMode();
98
+ }
99
+ this.requestUpdate('vertical', previousValue);
100
+ }
101
+ /**
102
+ * Triggers vertical layout mode
103
+ * @returns {void}
104
+ */
105
+ showVerticalMode() {
106
+ this.isContainer = true;
107
+ this.labelLayoutSize = undefined;
108
+ this.primaryLayoutFlexBasis = undefined;
109
+ this.secondaryLayoutFlexBasis = undefined;
110
+ this.primaryBarAlignment = 'left';
111
+ this.secondaryBarAlignment = 'left';
112
+ }
113
+ /**
114
+ * Triggers horizontal layout mode
115
+ * @returns {void}
116
+ */
117
+ showHorizontalMode() {
118
+ this.isContainer = false;
119
+ this.labelLayoutSize = '25%';
120
+ this.primaryLayoutFlexBasis = '40%';
121
+ this.secondaryLayoutFlexBasis = '40%';
122
+ this.primaryBarAlignment = 'right';
123
+ this.secondaryBarAlignment = 'left';
124
+ }
125
+ /**
126
+ * A `CSSResultGroup` that will be used
127
+ * to style the host, slotted children
128
+ * and the internal template of the element.
129
+ * @return CSS template
130
+ */
131
+ static get styles() {
132
+ return css `
133
+ :host {
134
+ display: block;
135
+ }
136
+ :host([vertical]) [part=seperator] {
137
+ display: none;
138
+ }
139
+ :host([vertical]) [part=container] {
140
+ align-items: inherit;
141
+ }
142
+ [part=container] {
143
+ padding: 0;
144
+ align-items: center;
145
+ }
146
+ [part=primary-bar],
147
+ [part=secondary-bar] {
148
+ width: 100%;
149
+ }
150
+ `;
151
+ }
152
+ /**
153
+ * A `TemplateResult` that will be used
154
+ * to render the updated internal template.
155
+ * @return Render template
156
+ */
157
+ render() {
158
+ return html `
159
+ <ef-layout part="container" flex nowrap ?container="${this.isContainer}">
160
+ <ef-layout flex size="${ifDefined(this.labelLayoutSize)}">
161
+ <div part="label">
162
+ <slot></slot>
163
+ </div>
164
+ </ef-layout>
165
+ <ef-layout flex basis="${ifDefined(this.primaryLayoutFlexBasis)}">
166
+ <ef-progress-bar
167
+ part="primary-bar"
168
+ alignment=${this.primaryBarAlignment}
169
+ label="${ifDefined(this.primaryLabel || undefined)}"
170
+ value="${ifDefined(this.primaryValue || undefined)}">
171
+ </ef-progress-bar>
172
+ </ef-layout>
173
+ <div part="seperator"></div>
174
+ <ef-layout flex basis="${ifDefined(this.secondaryLayoutFlexBasis)}">
175
+ <ef-progress-bar
176
+ part="secondary-bar"
177
+ alignment="${this.secondaryBarAlignment}"
178
+ label="${ifDefined(this.secondaryLabel || undefined)}"
179
+ value="${ifDefined(this.secondaryValue || undefined)}">
180
+ </ef-progress-bar>
181
+ </ef-layout>
182
+ </ef-layout>
183
+ `;
184
+ }
185
+ };
186
+ __decorate([
187
+ property({ type: Boolean, reflect: true })
188
+ ], TornadoItem.prototype, "vertical", null);
189
+ __decorate([
190
+ property({ type: Boolean, reflect: true })
191
+ ], TornadoItem.prototype, "highlighted", void 0);
192
+ __decorate([
193
+ property({ type: String, attribute: 'primary-value' })
194
+ ], TornadoItem.prototype, "primaryValue", void 0);
195
+ __decorate([
196
+ property({ type: String, attribute: 'primary-label' })
197
+ ], TornadoItem.prototype, "primaryLabel", void 0);
198
+ __decorate([
199
+ property({ type: String, attribute: 'secondary-value' })
200
+ ], TornadoItem.prototype, "secondaryValue", void 0);
201
+ __decorate([
202
+ property({ type: String, attribute: 'secondary-label' })
203
+ ], TornadoItem.prototype, "secondaryLabel", void 0);
204
+ TornadoItem = __decorate([
205
+ customElement('ef-tornado-item')
206
+ ], TornadoItem);
207
+ export { TornadoItem };
@@ -0,0 +1,2 @@
1
+ export { TornadoChart } from './elements/tornado-chart.js';
2
+ export { TornadoItem } from './elements/tornado-item.js';