@refinitiv-ui/elements 5.3.3 → 5.7.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 (617) hide show
  1. package/CHANGELOG.md +70 -0
  2. package/lib/accordion/custom-elements.json +49 -0
  3. package/lib/accordion/custom-elements.md +18 -0
  4. package/lib/accordion/index.d.ts +76 -0
  5. package/lib/accordion/index.js +136 -0
  6. package/lib/accordion/themes/halo/dark/index.js +3 -0
  7. package/lib/accordion/themes/halo/light/index.js +3 -0
  8. package/lib/accordion/themes/solar/charcoal/index.js +3 -0
  9. package/lib/accordion/themes/solar/pearl/index.js +3 -0
  10. package/lib/appstate-bar/custom-elements.json +49 -0
  11. package/lib/appstate-bar/custom-elements.md +22 -0
  12. package/lib/appstate-bar/index.d.ts +65 -0
  13. package/lib/appstate-bar/index.js +100 -0
  14. package/lib/appstate-bar/themes/halo/dark/index.js +3 -0
  15. package/lib/appstate-bar/themes/halo/light/index.js +3 -0
  16. package/lib/appstate-bar/themes/solar/charcoal/index.js +3 -0
  17. package/lib/appstate-bar/themes/solar/pearl/index.js +3 -0
  18. package/lib/autosuggest/custom-elements.json +233 -0
  19. package/lib/autosuggest/custom-elements.md +47 -0
  20. package/lib/autosuggest/helpers/types.d.ts +54 -0
  21. package/lib/autosuggest/helpers/types.js +1 -0
  22. package/lib/autosuggest/helpers/utils.d.ts +39 -0
  23. package/lib/autosuggest/helpers/utils.js +75 -0
  24. package/lib/autosuggest/index.d.ts +534 -0
  25. package/lib/autosuggest/index.js +1251 -0
  26. package/lib/autosuggest/themes/halo/dark/index.js +5 -0
  27. package/lib/autosuggest/themes/halo/light/index.js +5 -0
  28. package/lib/autosuggest/themes/solar/charcoal/index.js +5 -0
  29. package/lib/autosuggest/themes/solar/pearl/index.js +5 -0
  30. package/lib/button/custom-elements.json +119 -0
  31. package/lib/button/custom-elements.md +23 -0
  32. package/lib/button/index.d.ts +132 -0
  33. package/lib/button/index.js +223 -0
  34. package/lib/button/themes/halo/dark/index.js +3 -0
  35. package/lib/button/themes/halo/light/index.js +3 -0
  36. package/lib/button/themes/solar/charcoal/index.js +3 -0
  37. package/lib/button/themes/solar/pearl/index.js +3 -0
  38. package/lib/button-bar/custom-elements.json +26 -0
  39. package/lib/button-bar/custom-elements.md +9 -0
  40. package/lib/button-bar/index.d.ts +76 -0
  41. package/lib/button-bar/index.js +155 -0
  42. package/lib/button-bar/themes/halo/dark/index.js +3 -0
  43. package/lib/button-bar/themes/halo/light/index.js +3 -0
  44. package/lib/button-bar/themes/solar/charcoal/index.js +3 -0
  45. package/lib/button-bar/themes/solar/pearl/index.js +3 -0
  46. package/lib/calendar/constants.d.ts +22 -0
  47. package/lib/calendar/constants.js +23 -0
  48. package/lib/calendar/custom-elements.json +199 -0
  49. package/lib/calendar/custom-elements.md +35 -0
  50. package/lib/calendar/index.d.ts +321 -0
  51. package/lib/calendar/index.js +906 -0
  52. package/lib/calendar/locales.d.ts +1 -0
  53. package/lib/calendar/locales.js +40 -0
  54. package/lib/calendar/themes/halo/dark/index.js +3 -0
  55. package/lib/calendar/themes/halo/light/index.js +3 -0
  56. package/lib/calendar/themes/solar/charcoal/index.js +3 -0
  57. package/lib/calendar/themes/solar/pearl/index.js +3 -0
  58. package/lib/calendar/types.d.ts +29 -0
  59. package/lib/calendar/types.js +1 -0
  60. package/lib/calendar/utils.d.ts +42 -0
  61. package/lib/calendar/utils.js +119 -0
  62. package/lib/canvas/custom-elements.json +69 -0
  63. package/lib/canvas/custom-elements.md +27 -0
  64. package/lib/canvas/index.d.ts +100 -0
  65. package/lib/canvas/index.js +172 -0
  66. package/lib/canvas/themes/halo/dark/index.js +2 -0
  67. package/lib/canvas/themes/halo/light/index.js +2 -0
  68. package/lib/canvas/themes/solar/charcoal/index.js +2 -0
  69. package/lib/canvas/themes/solar/pearl/index.js +2 -0
  70. package/lib/card/custom-elements.json +59 -0
  71. package/lib/card/custom-elements.md +24 -0
  72. package/lib/card/helpers/types.d.ts +12 -0
  73. package/lib/card/helpers/types.js +1 -0
  74. package/lib/card/index.d.ts +140 -0
  75. package/lib/card/index.js +246 -0
  76. package/lib/card/themes/halo/dark/index.js +5 -0
  77. package/lib/card/themes/halo/light/index.js +5 -0
  78. package/lib/card/themes/solar/charcoal/index.js +5 -0
  79. package/lib/card/themes/solar/pearl/index.js +5 -0
  80. package/lib/chart/custom-elements.json +42 -0
  81. package/lib/chart/custom-elements.md +16 -0
  82. package/lib/chart/helpers/index.d.ts +2 -0
  83. package/lib/chart/helpers/index.js +2 -0
  84. package/lib/chart/helpers/legend.d.ts +5 -0
  85. package/lib/chart/helpers/legend.js +78 -0
  86. package/lib/chart/helpers/merge.d.ts +15 -0
  87. package/lib/chart/helpers/merge.js +28 -0
  88. package/lib/chart/helpers/types.d.ts +69 -0
  89. package/lib/chart/helpers/types.js +1 -0
  90. package/lib/chart/index.d.ts +187 -0
  91. package/lib/chart/index.js +491 -0
  92. package/lib/chart/plugins/doughnut-center-label.d.ts +3 -0
  93. package/lib/chart/plugins/doughnut-center-label.js +196 -0
  94. package/lib/chart/themes/halo/dark/index.js +4 -0
  95. package/lib/chart/themes/halo/light/index.js +4 -0
  96. package/lib/chart/themes/solar/charcoal/index.js +4 -0
  97. package/lib/chart/themes/solar/pearl/index.js +4 -0
  98. package/lib/checkbox/custom-elements.json +67 -0
  99. package/lib/checkbox/custom-elements.md +18 -0
  100. package/lib/checkbox/index.d.ts +95 -0
  101. package/lib/checkbox/index.js +193 -0
  102. package/lib/checkbox/themes/halo/dark/index.js +4 -0
  103. package/lib/checkbox/themes/halo/light/index.js +4 -0
  104. package/lib/checkbox/themes/solar/charcoal/index.js +4 -0
  105. package/lib/checkbox/themes/solar/pearl/index.js +4 -0
  106. package/lib/clock/custom-elements.json +121 -0
  107. package/lib/clock/custom-elements.md +28 -0
  108. package/lib/clock/index.d.ts +319 -0
  109. package/lib/clock/index.js +581 -0
  110. package/lib/clock/themes/halo/dark/index.js +2 -0
  111. package/lib/clock/themes/halo/light/index.js +2 -0
  112. package/lib/clock/themes/solar/charcoal/index.js +2 -0
  113. package/lib/clock/themes/solar/pearl/index.js +2 -0
  114. package/lib/clock/utils/TickManager.d.ts +14 -0
  115. package/lib/clock/utils/TickManager.js +66 -0
  116. package/lib/clock/utils/timestamps.d.ts +6 -0
  117. package/lib/clock/utils/timestamps.js +6 -0
  118. package/lib/collapse/custom-elements.json +79 -0
  119. package/lib/collapse/custom-elements.md +27 -0
  120. package/lib/collapse/index.d.ts +119 -0
  121. package/lib/collapse/index.js +197 -0
  122. package/lib/collapse/themes/halo/dark/index.js +5 -0
  123. package/lib/collapse/themes/halo/light/index.js +5 -0
  124. package/lib/collapse/themes/solar/charcoal/index.js +5 -0
  125. package/lib/collapse/themes/solar/pearl/index.js +5 -0
  126. package/lib/color-dialog/custom-elements.json +193 -0
  127. package/lib/color-dialog/custom-elements.md +39 -0
  128. package/lib/color-dialog/elements/color-palettes.d.ts +52 -0
  129. package/lib/color-dialog/elements/color-palettes.js +101 -0
  130. package/lib/color-dialog/elements/grayscale-palettes.d.ts +67 -0
  131. package/lib/color-dialog/elements/grayscale-palettes.js +161 -0
  132. package/lib/color-dialog/elements/palettes.d.ts +65 -0
  133. package/lib/color-dialog/elements/palettes.js +132 -0
  134. package/lib/color-dialog/helpers/color-helpers.d.ts +16 -0
  135. package/lib/color-dialog/helpers/color-helpers.js +161 -0
  136. package/lib/color-dialog/helpers/value-model.d.ts +75 -0
  137. package/lib/color-dialog/helpers/value-model.js +141 -0
  138. package/lib/color-dialog/index.d.ts +232 -0
  139. package/lib/color-dialog/index.js +459 -0
  140. package/lib/color-dialog/themes/halo/dark/index.js +7 -0
  141. package/lib/color-dialog/themes/halo/light/index.js +7 -0
  142. package/lib/color-dialog/themes/solar/charcoal/index.js +7 -0
  143. package/lib/color-dialog/themes/solar/pearl/index.js +7 -0
  144. package/lib/combo-box/custom-elements.json +210 -0
  145. package/lib/combo-box/custom-elements.md +35 -0
  146. package/lib/combo-box/helpers/filter.d.ts +10 -0
  147. package/lib/combo-box/helpers/filter.js +29 -0
  148. package/lib/combo-box/helpers/keyboard-event.d.ts +17 -0
  149. package/lib/combo-box/helpers/keyboard-event.js +19 -0
  150. package/lib/combo-box/helpers/types.d.ts +11 -0
  151. package/lib/combo-box/helpers/types.js +1 -0
  152. package/lib/combo-box/index.d.ts +523 -0
  153. package/lib/combo-box/index.js +1146 -0
  154. package/lib/combo-box/themes/halo/dark/index.js +8 -0
  155. package/lib/combo-box/themes/halo/light/index.js +8 -0
  156. package/lib/combo-box/themes/solar/charcoal/index.js +8 -0
  157. package/lib/combo-box/themes/solar/pearl/index.js +8 -0
  158. package/lib/counter/custom-elements.json +35 -0
  159. package/lib/counter/custom-elements.md +11 -0
  160. package/lib/counter/index.d.ts +89 -0
  161. package/lib/counter/index.js +152 -0
  162. package/lib/counter/themes/halo/dark/index.js +3 -0
  163. package/lib/counter/themes/halo/light/index.js +3 -0
  164. package/lib/counter/themes/solar/charcoal/index.js +3 -0
  165. package/lib/counter/themes/solar/pearl/index.js +3 -0
  166. package/lib/counter/utils.d.ts +13 -0
  167. package/lib/counter/utils.js +52 -0
  168. package/lib/datetime-picker/custom-elements.json +333 -0
  169. package/lib/datetime-picker/custom-elements.md +49 -0
  170. package/lib/datetime-picker/index.d.ts +498 -0
  171. package/lib/datetime-picker/index.js +1164 -0
  172. package/lib/datetime-picker/locales.d.ts +8 -0
  173. package/lib/datetime-picker/locales.js +57 -0
  174. package/lib/datetime-picker/themes/halo/dark/index.js +7 -0
  175. package/lib/datetime-picker/themes/halo/light/index.js +7 -0
  176. package/lib/datetime-picker/themes/solar/charcoal/index.js +7 -0
  177. package/lib/datetime-picker/themes/solar/pearl/index.js +7 -0
  178. package/lib/datetime-picker/types.d.ts +3 -0
  179. package/lib/datetime-picker/types.js +1 -0
  180. package/lib/datetime-picker/utils.d.ts +55 -0
  181. package/lib/datetime-picker/utils.js +92 -0
  182. package/lib/dialog/custom-elements.json +136 -0
  183. package/lib/dialog/custom-elements.md +47 -0
  184. package/lib/dialog/draggable-element.d.ts +14 -0
  185. package/lib/dialog/draggable-element.js +221 -0
  186. package/lib/dialog/index.d.ts +199 -0
  187. package/lib/dialog/index.js +331 -0
  188. package/lib/dialog/themes/halo/dark/index.js +7 -0
  189. package/lib/dialog/themes/halo/light/index.js +7 -0
  190. package/lib/dialog/themes/solar/charcoal/index.js +7 -0
  191. package/lib/dialog/themes/solar/pearl/index.js +7 -0
  192. package/lib/email-field/custom-elements.json +199 -0
  193. package/lib/email-field/custom-elements.md +35 -0
  194. package/lib/email-field/index.d.ts +152 -0
  195. package/lib/email-field/index.js +286 -0
  196. package/lib/email-field/themes/halo/dark/index.js +3 -0
  197. package/lib/email-field/themes/halo/light/index.js +3 -0
  198. package/lib/email-field/themes/solar/charcoal/index.js +3 -0
  199. package/lib/email-field/themes/solar/pearl/index.js +3 -0
  200. package/lib/events.d.ts +121 -0
  201. package/lib/events.js +1 -0
  202. package/lib/flag/custom-elements.json +35 -0
  203. package/lib/flag/custom-elements.md +10 -0
  204. package/lib/flag/index.d.ts +94 -0
  205. package/lib/flag/index.js +166 -0
  206. package/lib/flag/themes/halo/dark/index.js +2 -0
  207. package/lib/flag/themes/halo/light/index.js +2 -0
  208. package/lib/flag/themes/solar/charcoal/index.js +2 -0
  209. package/lib/flag/themes/solar/pearl/index.js +2 -0
  210. package/lib/flag/utils/FlagLoader.d.ts +47 -0
  211. package/lib/flag/utils/FlagLoader.js +86 -0
  212. package/lib/header/custom-elements.json +36 -0
  213. package/lib/header/custom-elements.md +18 -0
  214. package/lib/header/index.d.ts +46 -0
  215. package/lib/header/index.js +73 -0
  216. package/lib/header/themes/halo/dark/index.js +2 -0
  217. package/lib/header/themes/halo/light/index.js +2 -0
  218. package/lib/header/themes/solar/charcoal/index.js +2 -0
  219. package/lib/header/themes/solar/pearl/index.js +2 -0
  220. package/lib/heatmap/custom-elements.json +151 -0
  221. package/lib/heatmap/custom-elements.md +26 -0
  222. package/lib/heatmap/helpers/color.d.ts +30 -0
  223. package/lib/heatmap/helpers/color.js +68 -0
  224. package/lib/heatmap/helpers/text.d.ts +26 -0
  225. package/lib/heatmap/helpers/text.js +91 -0
  226. package/lib/heatmap/helpers/track.d.ts +102 -0
  227. package/lib/heatmap/helpers/track.js +160 -0
  228. package/lib/heatmap/helpers/types.d.ts +40 -0
  229. package/lib/heatmap/helpers/types.js +1 -0
  230. package/lib/heatmap/index.d.ts +453 -0
  231. package/lib/heatmap/index.js +1103 -0
  232. package/lib/heatmap/themes/halo/dark/index.js +4 -0
  233. package/lib/heatmap/themes/halo/light/index.js +4 -0
  234. package/lib/heatmap/themes/solar/charcoal/index.js +4 -0
  235. package/lib/heatmap/themes/solar/pearl/index.js +4 -0
  236. package/lib/icon/custom-elements.json +36 -0
  237. package/lib/icon/custom-elements.md +8 -0
  238. package/lib/icon/index.d.ts +88 -0
  239. package/lib/icon/index.js +169 -0
  240. package/lib/icon/themes/halo/dark/index.js +2 -0
  241. package/lib/icon/themes/halo/light/index.js +2 -0
  242. package/lib/icon/themes/solar/charcoal/index.js +2 -0
  243. package/lib/icon/themes/solar/pearl/index.js +2 -0
  244. package/lib/icon/utils/IconLoader.d.ts +52 -0
  245. package/lib/icon/utils/IconLoader.js +93 -0
  246. package/lib/index.d.ts +3 -0
  247. package/lib/index.js +3 -0
  248. package/lib/interactive-chart/custom-elements.json +86 -0
  249. package/lib/interactive-chart/custom-elements.md +32 -0
  250. package/lib/interactive-chart/helpers/merge.d.ts +15 -0
  251. package/lib/interactive-chart/helpers/merge.js +28 -0
  252. package/lib/interactive-chart/helpers/types.d.ts +45 -0
  253. package/lib/interactive-chart/helpers/types.js +6 -0
  254. package/lib/interactive-chart/index.d.ts +380 -0
  255. package/lib/interactive-chart/index.js +1090 -0
  256. package/lib/interactive-chart/themes/halo/dark/index.js +3 -0
  257. package/lib/interactive-chart/themes/halo/light/index.js +3 -0
  258. package/lib/interactive-chart/themes/solar/charcoal/index.js +3 -0
  259. package/lib/interactive-chart/themes/solar/pearl/index.js +3 -0
  260. package/lib/item/custom-elements.json +151 -0
  261. package/lib/item/custom-elements.md +29 -0
  262. package/lib/item/helpers/types.d.ts +57 -0
  263. package/lib/item/helpers/types.js +1 -0
  264. package/lib/item/index.d.ts +158 -0
  265. package/lib/item/index.js +271 -0
  266. package/lib/item/themes/halo/dark/index.js +4 -0
  267. package/lib/item/themes/halo/light/index.js +4 -0
  268. package/lib/item/themes/solar/charcoal/index.js +4 -0
  269. package/lib/item/themes/solar/pearl/index.js +4 -0
  270. package/lib/jsx.d.ts +223 -0
  271. package/lib/label/custom-elements.json +52 -0
  272. package/lib/label/custom-elements.md +11 -0
  273. package/lib/label/index.d.ts +102 -0
  274. package/lib/label/index.js +244 -0
  275. package/lib/label/themes/halo/dark/index.js +3 -0
  276. package/lib/label/themes/halo/light/index.js +3 -0
  277. package/lib/label/themes/solar/charcoal/index.js +3 -0
  278. package/lib/label/themes/solar/pearl/index.js +3 -0
  279. package/lib/layout/custom-elements.json +163 -0
  280. package/lib/layout/custom-elements.md +26 -0
  281. package/lib/layout/index.d.ts +107 -0
  282. package/lib/layout/index.js +212 -0
  283. package/lib/layout/themes/halo/dark/index.js +2 -0
  284. package/lib/layout/themes/halo/light/index.js +2 -0
  285. package/lib/layout/themes/solar/charcoal/index.js +2 -0
  286. package/lib/layout/themes/solar/pearl/index.js +2 -0
  287. package/lib/led-gauge/custom-elements.json +113 -0
  288. package/lib/led-gauge/custom-elements.md +17 -0
  289. package/lib/led-gauge/index.d.ts +143 -0
  290. package/lib/led-gauge/index.js +437 -0
  291. package/lib/led-gauge/themes/halo/dark/index.js +3 -0
  292. package/lib/led-gauge/themes/halo/light/index.js +3 -0
  293. package/lib/led-gauge/themes/solar/charcoal/index.js +3 -0
  294. package/lib/led-gauge/themes/solar/pearl/index.js +3 -0
  295. package/lib/list/custom-elements.json +111 -0
  296. package/lib/list/custom-elements.md +30 -0
  297. package/lib/list/extensible-function.d.ts +8 -0
  298. package/lib/list/extensible-function.js +13 -0
  299. package/lib/list/helpers/list-renderer.d.ts +9 -0
  300. package/lib/list/helpers/list-renderer.js +35 -0
  301. package/lib/list/helpers/types.d.ts +3 -0
  302. package/lib/list/helpers/types.js +1 -0
  303. package/lib/list/index.d.ts +292 -0
  304. package/lib/list/index.js +600 -0
  305. package/lib/list/renderer.d.ts +36 -0
  306. package/lib/list/renderer.js +9 -0
  307. package/lib/list/themes/halo/dark/index.js +3 -0
  308. package/lib/list/themes/halo/light/index.js +3 -0
  309. package/lib/list/themes/solar/charcoal/index.js +3 -0
  310. package/lib/list/themes/solar/pearl/index.js +3 -0
  311. package/lib/loader/custom-elements.json +9 -0
  312. package/lib/loader/custom-elements.md +5 -0
  313. package/lib/loader/index.d.ts +41 -0
  314. package/lib/loader/index.js +61 -0
  315. package/lib/loader/themes/halo/dark/index.js +2 -0
  316. package/lib/loader/themes/halo/light/index.js +2 -0
  317. package/lib/loader/themes/solar/charcoal/index.js +2 -0
  318. package/lib/loader/themes/solar/pearl/index.js +2 -0
  319. package/lib/multi-input/custom-elements.json +238 -0
  320. package/lib/multi-input/custom-elements.md +43 -0
  321. package/lib/multi-input/helpers/types.d.ts +11 -0
  322. package/lib/multi-input/helpers/types.js +1 -0
  323. package/lib/multi-input/index.d.ts +297 -0
  324. package/lib/multi-input/index.js +590 -0
  325. package/lib/multi-input/themes/halo/dark/index.js +4 -0
  326. package/lib/multi-input/themes/halo/light/index.js +4 -0
  327. package/lib/multi-input/themes/solar/charcoal/index.js +4 -0
  328. package/lib/multi-input/themes/solar/pearl/index.js +4 -0
  329. package/lib/notification/custom-elements.json +95 -0
  330. package/lib/notification/custom-elements.md +26 -0
  331. package/lib/notification/elements/notification-tray.d.ts +97 -0
  332. package/lib/notification/elements/notification-tray.js +167 -0
  333. package/lib/notification/elements/notification.d.ts +90 -0
  334. package/lib/notification/elements/notification.js +154 -0
  335. package/lib/notification/helpers/status.d.ts +30 -0
  336. package/lib/notification/helpers/status.js +130 -0
  337. package/lib/notification/helpers/types.d.ts +10 -0
  338. package/lib/notification/helpers/types.js +1 -0
  339. package/lib/notification/index.d.ts +2 -0
  340. package/lib/notification/index.js +2 -0
  341. package/lib/notification/themes/halo/dark/index.js +5 -0
  342. package/lib/notification/themes/halo/light/index.js +5 -0
  343. package/lib/notification/themes/solar/charcoal/index.js +5 -0
  344. package/lib/notification/themes/solar/pearl/index.js +5 -0
  345. package/lib/number-field/custom-elements.json +200 -0
  346. package/lib/number-field/custom-elements.md +37 -0
  347. package/lib/number-field/index.d.ts +294 -0
  348. package/lib/number-field/index.js +707 -0
  349. package/lib/number-field/themes/halo/dark/index.js +3 -0
  350. package/lib/number-field/themes/halo/light/index.js +3 -0
  351. package/lib/number-field/themes/solar/charcoal/index.js +3 -0
  352. package/lib/number-field/themes/solar/pearl/index.js +3 -0
  353. package/lib/overlay/custom-elements.json +345 -0
  354. package/lib/overlay/custom-elements.md +54 -0
  355. package/lib/overlay/elements/overlay-backdrop.d.ts +46 -0
  356. package/lib/overlay/elements/overlay-backdrop.js +64 -0
  357. package/lib/overlay/elements/overlay-viewport.d.ts +40 -0
  358. package/lib/overlay/elements/overlay-viewport.js +52 -0
  359. package/lib/overlay/elements/overlay.d.ts +403 -0
  360. package/lib/overlay/elements/overlay.js +1426 -0
  361. package/lib/overlay/helpers/functions.d.ts +13 -0
  362. package/lib/overlay/helpers/functions.js +16 -0
  363. package/lib/overlay/helpers/types.d.ts +97 -0
  364. package/lib/overlay/helpers/types.js +16 -0
  365. package/lib/overlay/index.d.ts +2 -0
  366. package/lib/overlay/index.js +1 -0
  367. package/lib/overlay/managers/backdrop-manager.d.ts +45 -0
  368. package/lib/overlay/managers/backdrop-manager.js +96 -0
  369. package/lib/overlay/managers/close-manager.d.ts +54 -0
  370. package/lib/overlay/managers/close-manager.js +138 -0
  371. package/lib/overlay/managers/focus-manager.d.ts +71 -0
  372. package/lib/overlay/managers/focus-manager.js +228 -0
  373. package/lib/overlay/managers/interaction-lock-manager.d.ts +138 -0
  374. package/lib/overlay/managers/interaction-lock-manager.js +375 -0
  375. package/lib/overlay/managers/viewport-manager.d.ts +93 -0
  376. package/lib/overlay/managers/viewport-manager.js +211 -0
  377. package/lib/overlay/managers/zindex-manager.d.ts +80 -0
  378. package/lib/overlay/managers/zindex-manager.js +195 -0
  379. package/lib/overlay/themes/halo/dark/index.js +4 -0
  380. package/lib/overlay/themes/halo/light/index.js +4 -0
  381. package/lib/overlay/themes/solar/charcoal/index.js +4 -0
  382. package/lib/overlay/themes/solar/pearl/index.js +4 -0
  383. package/lib/overlay-menu/custom-elements.json +194 -0
  384. package/lib/overlay-menu/custom-elements.md +44 -0
  385. package/lib/overlay-menu/helpers/types.d.ts +8 -0
  386. package/lib/overlay-menu/helpers/types.js +1 -0
  387. package/lib/overlay-menu/index.d.ts +385 -0
  388. package/lib/overlay-menu/index.js +933 -0
  389. package/lib/overlay-menu/managers/menu-manager.d.ts +98 -0
  390. package/lib/overlay-menu/managers/menu-manager.js +240 -0
  391. package/lib/overlay-menu/themes/halo/dark/index.js +5 -0
  392. package/lib/overlay-menu/themes/halo/light/index.js +5 -0
  393. package/lib/overlay-menu/themes/solar/charcoal/index.js +5 -0
  394. package/lib/overlay-menu/themes/solar/pearl/index.js +5 -0
  395. package/lib/pagination/custom-elements.json +93 -0
  396. package/lib/pagination/custom-elements.md +27 -0
  397. package/lib/pagination/helpers/types.d.ts +9 -0
  398. package/lib/pagination/helpers/types.js +1 -0
  399. package/lib/pagination/index.d.ts +207 -0
  400. package/lib/pagination/index.js +398 -0
  401. package/lib/pagination/themes/halo/dark/index.js +6 -0
  402. package/lib/pagination/themes/halo/light/index.js +6 -0
  403. package/lib/pagination/themes/solar/charcoal/index.js +6 -0
  404. package/lib/pagination/themes/solar/pearl/index.js +6 -0
  405. package/lib/panel/custom-elements.json +39 -0
  406. package/lib/panel/custom-elements.md +11 -0
  407. package/lib/panel/index.d.ts +48 -0
  408. package/lib/panel/index.js +74 -0
  409. package/lib/panel/themes/halo/dark/index.js +2 -0
  410. package/lib/panel/themes/halo/light/index.js +2 -0
  411. package/lib/panel/themes/solar/charcoal/index.js +2 -0
  412. package/lib/panel/themes/solar/pearl/index.js +2 -0
  413. package/lib/password-field/custom-elements.json +156 -0
  414. package/lib/password-field/custom-elements.md +31 -0
  415. package/lib/password-field/index.d.ts +141 -0
  416. package/lib/password-field/index.js +258 -0
  417. package/lib/password-field/themes/halo/dark/index.js +3 -0
  418. package/lib/password-field/themes/halo/light/index.js +3 -0
  419. package/lib/password-field/themes/solar/charcoal/index.js +3 -0
  420. package/lib/password-field/themes/solar/pearl/index.js +3 -0
  421. package/lib/pill/custom-elements.json +95 -0
  422. package/lib/pill/custom-elements.md +22 -0
  423. package/lib/pill/index.d.ts +97 -0
  424. package/lib/pill/index.js +160 -0
  425. package/lib/pill/themes/halo/dark/index.js +3 -0
  426. package/lib/pill/themes/halo/light/index.js +3 -0
  427. package/lib/pill/themes/solar/charcoal/index.js +3 -0
  428. package/lib/pill/themes/solar/pearl/index.js +3 -0
  429. package/lib/progress-bar/custom-elements.json +58 -0
  430. package/lib/progress-bar/custom-elements.md +18 -0
  431. package/lib/progress-bar/index.d.ts +82 -0
  432. package/lib/progress-bar/index.js +157 -0
  433. package/lib/progress-bar/themes/halo/dark/index.js +2 -0
  434. package/lib/progress-bar/themes/halo/light/index.js +2 -0
  435. package/lib/progress-bar/themes/solar/charcoal/index.js +2 -0
  436. package/lib/progress-bar/themes/solar/pearl/index.js +2 -0
  437. package/lib/radio-button/custom-elements.json +82 -0
  438. package/lib/radio-button/custom-elements.md +19 -0
  439. package/lib/radio-button/index.d.ts +122 -0
  440. package/lib/radio-button/index.js +257 -0
  441. package/lib/radio-button/radio-button-registry.d.ts +22 -0
  442. package/lib/radio-button/radio-button-registry.js +93 -0
  443. package/lib/radio-button/themes/halo/dark/index.js +3 -0
  444. package/lib/radio-button/themes/halo/light/index.js +3 -0
  445. package/lib/radio-button/themes/solar/charcoal/index.js +3 -0
  446. package/lib/radio-button/themes/solar/pearl/index.js +3 -0
  447. package/lib/rating/custom-elements.json +58 -0
  448. package/lib/rating/custom-elements.md +17 -0
  449. package/lib/rating/index.d.ts +91 -0
  450. package/lib/rating/index.js +157 -0
  451. package/lib/rating/themes/halo/dark/index.js +2 -0
  452. package/lib/rating/themes/halo/light/index.js +2 -0
  453. package/lib/rating/themes/solar/charcoal/index.js +2 -0
  454. package/lib/rating/themes/solar/pearl/index.js +2 -0
  455. package/lib/search-field/custom-elements.json +173 -0
  456. package/lib/search-field/custom-elements.md +33 -0
  457. package/lib/search-field/index.d.ts +134 -0
  458. package/lib/search-field/index.js +253 -0
  459. package/lib/search-field/themes/halo/dark/index.js +3 -0
  460. package/lib/search-field/themes/halo/light/index.js +3 -0
  461. package/lib/search-field/themes/solar/charcoal/index.js +3 -0
  462. package/lib/search-field/themes/solar/pearl/index.js +3 -0
  463. package/lib/select/custom-elements.json +103 -0
  464. package/lib/select/custom-elements.md +24 -0
  465. package/lib/select/helpers/types.d.ts +3 -0
  466. package/lib/select/helpers/types.js +1 -0
  467. package/lib/select/index.d.ts +388 -0
  468. package/lib/select/index.js +942 -0
  469. package/lib/select/themes/halo/dark/index.js +5 -0
  470. package/lib/select/themes/halo/light/index.js +5 -0
  471. package/lib/select/themes/solar/charcoal/index.js +5 -0
  472. package/lib/select/themes/solar/pearl/index.js +5 -0
  473. package/lib/sidebar-layout/custom-elements.json +72 -0
  474. package/lib/sidebar-layout/custom-elements.md +22 -0
  475. package/lib/sidebar-layout/index.d.ts +69 -0
  476. package/lib/sidebar-layout/index.js +134 -0
  477. package/lib/sidebar-layout/themes/halo/dark/index.js +3 -0
  478. package/lib/sidebar-layout/themes/halo/light/index.js +3 -0
  479. package/lib/sidebar-layout/themes/solar/charcoal/index.js +3 -0
  480. package/lib/sidebar-layout/themes/solar/pearl/index.js +3 -0
  481. package/lib/slider/custom-elements.json +181 -0
  482. package/lib/slider/custom-elements.md +28 -0
  483. package/lib/slider/index.d.ts +409 -0
  484. package/lib/slider/index.js +1187 -0
  485. package/lib/slider/themes/halo/dark/index.js +3 -0
  486. package/lib/slider/themes/halo/light/index.js +3 -0
  487. package/lib/slider/themes/solar/charcoal/index.js +3 -0
  488. package/lib/slider/themes/solar/pearl/index.js +3 -0
  489. package/lib/sparkline/custom-elements.json +59 -0
  490. package/lib/sparkline/custom-elements.md +16 -0
  491. package/lib/sparkline/index.d.ts +107 -0
  492. package/lib/sparkline/index.js +186 -0
  493. package/lib/sparkline/themes/halo/dark/index.js +2 -0
  494. package/lib/sparkline/themes/halo/light/index.js +2 -0
  495. package/lib/sparkline/themes/solar/charcoal/index.js +2 -0
  496. package/lib/sparkline/themes/solar/pearl/index.js +2 -0
  497. package/lib/swing-gauge/const.d.ts +22 -0
  498. package/lib/swing-gauge/const.js +26 -0
  499. package/lib/swing-gauge/custom-elements.json +109 -0
  500. package/lib/swing-gauge/custom-elements.md +17 -0
  501. package/lib/swing-gauge/helpers.d.ts +8 -0
  502. package/lib/swing-gauge/helpers.js +105 -0
  503. package/lib/swing-gauge/index.d.ts +294 -0
  504. package/lib/swing-gauge/index.js +762 -0
  505. package/lib/swing-gauge/themes/halo/dark/index.js +3 -0
  506. package/lib/swing-gauge/themes/halo/light/index.js +3 -0
  507. package/lib/swing-gauge/themes/solar/charcoal/index.js +3 -0
  508. package/lib/swing-gauge/themes/solar/pearl/index.js +3 -0
  509. package/lib/swing-gauge/types.d.ts +34 -0
  510. package/lib/swing-gauge/types.js +1 -0
  511. package/lib/tab/custom-elements.json +123 -0
  512. package/lib/tab/custom-elements.md +22 -0
  513. package/lib/tab/index.d.ts +118 -0
  514. package/lib/tab/index.js +208 -0
  515. package/lib/tab/themes/halo/dark/index.js +4 -0
  516. package/lib/tab/themes/halo/light/index.js +4 -0
  517. package/lib/tab/themes/solar/charcoal/index.js +4 -0
  518. package/lib/tab/themes/solar/pearl/index.js +4 -0
  519. package/lib/tab-bar/custom-elements.json +52 -0
  520. package/lib/tab-bar/custom-elements.md +11 -0
  521. package/lib/tab-bar/helpers/animate.d.ts +16 -0
  522. package/lib/tab-bar/helpers/animate.js +53 -0
  523. package/lib/tab-bar/index.d.ts +108 -0
  524. package/lib/tab-bar/index.js +218 -0
  525. package/lib/tab-bar/themes/halo/dark/index.js +4 -0
  526. package/lib/tab-bar/themes/halo/light/index.js +4 -0
  527. package/lib/tab-bar/themes/solar/charcoal/index.js +4 -0
  528. package/lib/tab-bar/themes/solar/pearl/index.js +4 -0
  529. package/lib/text-field/custom-elements.json +210 -0
  530. package/lib/text-field/custom-elements.md +37 -0
  531. package/lib/text-field/index.d.ts +193 -0
  532. package/lib/text-field/index.js +409 -0
  533. package/lib/text-field/themes/halo/dark/index.js +3 -0
  534. package/lib/text-field/themes/halo/light/index.js +3 -0
  535. package/lib/text-field/themes/solar/charcoal/index.js +3 -0
  536. package/lib/text-field/themes/solar/pearl/index.js +3 -0
  537. package/lib/time-picker/custom-elements.json +124 -0
  538. package/lib/time-picker/custom-elements.md +28 -0
  539. package/lib/time-picker/index.d.ts +379 -0
  540. package/lib/time-picker/index.js +775 -0
  541. package/lib/time-picker/themes/halo/dark/index.js +4 -0
  542. package/lib/time-picker/themes/halo/light/index.js +4 -0
  543. package/lib/time-picker/themes/solar/charcoal/index.js +4 -0
  544. package/lib/time-picker/themes/solar/pearl/index.js +4 -0
  545. package/lib/toggle/custom-elements.json +82 -0
  546. package/lib/toggle/custom-elements.md +19 -0
  547. package/lib/toggle/index.d.ts +86 -0
  548. package/lib/toggle/index.js +152 -0
  549. package/lib/toggle/themes/halo/dark/index.js +2 -0
  550. package/lib/toggle/themes/halo/light/index.js +2 -0
  551. package/lib/toggle/themes/solar/charcoal/index.js +2 -0
  552. package/lib/toggle/themes/solar/pearl/index.js +2 -0
  553. package/lib/tooltip/custom-elements.json +62 -0
  554. package/lib/tooltip/custom-elements.md +14 -0
  555. package/lib/tooltip/elements/title-tooltip.d.ts +1 -0
  556. package/lib/tooltip/elements/title-tooltip.js +18 -0
  557. package/lib/tooltip/elements/tooltip-element.d.ts +21 -0
  558. package/lib/tooltip/elements/tooltip-element.js +54 -0
  559. package/lib/tooltip/helpers/overflow-tooltip.d.ts +9 -0
  560. package/lib/tooltip/helpers/overflow-tooltip.js +19 -0
  561. package/lib/tooltip/helpers/renderer.d.ts +8 -0
  562. package/lib/tooltip/helpers/renderer.js +11 -0
  563. package/lib/tooltip/helpers/types.d.ts +23 -0
  564. package/lib/tooltip/helpers/types.js +1 -0
  565. package/lib/tooltip/index.d.ts +232 -0
  566. package/lib/tooltip/index.js +477 -0
  567. package/lib/tooltip/managers/tooltip-manager.d.ts +15 -0
  568. package/lib/tooltip/managers/tooltip-manager.js +140 -0
  569. package/lib/tooltip/themes/halo/dark/index.js +3 -0
  570. package/lib/tooltip/themes/halo/light/index.js +3 -0
  571. package/lib/tooltip/themes/solar/charcoal/index.js +3 -0
  572. package/lib/tooltip/themes/solar/pearl/index.js +3 -0
  573. package/lib/tornado-chart/custom-elements.json +45 -0
  574. package/lib/tornado-chart/custom-elements.md +18 -0
  575. package/lib/tornado-chart/elements/tornado-chart.d.ts +78 -0
  576. package/lib/tornado-chart/elements/tornado-chart.js +122 -0
  577. package/lib/tornado-chart/elements/tornado-item.d.ts +110 -0
  578. package/lib/tornado-chart/elements/tornado-item.js +207 -0
  579. package/lib/tornado-chart/index.d.ts +2 -0
  580. package/lib/tornado-chart/index.js +2 -0
  581. package/lib/tornado-chart/themes/halo/dark/index.js +6 -0
  582. package/lib/tornado-chart/themes/halo/light/index.js +6 -0
  583. package/lib/tornado-chart/themes/solar/charcoal/index.js +6 -0
  584. package/lib/tornado-chart/themes/solar/pearl/index.js +6 -0
  585. package/lib/tree/custom-elements.json +113 -0
  586. package/lib/tree/custom-elements.md +32 -0
  587. package/lib/tree/elements/tree-item.d.ts +96 -0
  588. package/lib/tree/elements/tree-item.js +179 -0
  589. package/lib/tree/elements/tree.d.ts +201 -0
  590. package/lib/tree/elements/tree.js +412 -0
  591. package/lib/tree/helpers/filter.d.ts +8 -0
  592. package/lib/tree/helpers/filter.js +33 -0
  593. package/lib/tree/helpers/renderer.d.ts +5 -0
  594. package/lib/tree/helpers/renderer.js +33 -0
  595. package/lib/tree/helpers/types.d.ts +25 -0
  596. package/lib/tree/helpers/types.js +1 -0
  597. package/lib/tree/index.d.ts +4 -0
  598. package/lib/tree/index.js +3 -0
  599. package/lib/tree/managers/tree-manager.d.ts +248 -0
  600. package/lib/tree/managers/tree-manager.js +395 -0
  601. package/lib/tree/themes/halo/dark/index.js +7 -0
  602. package/lib/tree/themes/halo/light/index.js +7 -0
  603. package/lib/tree/themes/solar/charcoal/index.js +7 -0
  604. package/lib/tree/themes/solar/pearl/index.js +7 -0
  605. package/lib/tree-select/custom-elements.json +107 -0
  606. package/lib/tree-select/custom-elements.md +26 -0
  607. package/lib/tree-select/helpers/types.d.ts +4 -0
  608. package/lib/tree-select/helpers/types.js +1 -0
  609. package/lib/tree-select/index.d.ts +402 -0
  610. package/lib/tree-select/index.js +890 -0
  611. package/lib/tree-select/themes/halo/dark/index.js +12 -0
  612. package/lib/tree-select/themes/halo/light/index.js +12 -0
  613. package/lib/tree-select/themes/solar/charcoal/index.js +12 -0
  614. package/lib/tree-select/themes/solar/pearl/index.js +12 -0
  615. package/lib/version.d.ts +1 -0
  616. package/lib/version.js +1 -0
  617. package/package.json +298 -15
@@ -0,0 +1,4 @@
1
+ import '@refinitiv-ui/elements/lib/canvas/themes/halo/dark';
2
+ import '@refinitiv-ui/elements/lib/tooltip/themes/halo/dark';
3
+
4
+ elf.customStyles.define('ef-heatmap', ':host{--spacing:2;--below-point-color:#F5475B;--mid-point-color:#1A1A1A;--above-point-color:#39C46E;background-color:#1a1a1a;--below-point-color:#F5475B;--mid-point-color:#FFFFFF;--above-point-color:#39C46E}:host .x-axis-item{padding:4px 0}:host .y-axis-item{padding:0 4px}:host .x-axis-item,:host .y-axis-item,:host [part=cross-box]{color:#ccc;background-color:#262626}:host [part=canvas]{color:#000}');
@@ -0,0 +1,4 @@
1
+ import '@refinitiv-ui/elements/lib/canvas/themes/halo/light';
2
+ import '@refinitiv-ui/elements/lib/tooltip/themes/halo/light';
3
+
4
+ elf.customStyles.define('ef-heatmap', ':host{--spacing:2;--below-point-color:#B63243;--mid-point-color:#FAFAFA;--above-point-color:#246B3E;background-color:#fafafa;--below-point-color:#D94255;--mid-point-color:#FFFFFF;--above-point-color:#309054}:host .x-axis-item{padding:4px 0}:host .y-axis-item{padding:0 4px}:host .x-axis-item,:host .y-axis-item,:host [part=cross-box]{color:#404040;background-color:#f2f2f2}:host [part=canvas]{color:#fff}');
@@ -0,0 +1,4 @@
1
+ import '@refinitiv-ui/elements/lib/canvas/themes/solar/charcoal';
2
+ import '@refinitiv-ui/elements/lib/tooltip/themes/solar/charcoal';
3
+
4
+ elf.customStyles.define('ef-heatmap', ':host{--spacing:2;--below-point-color:#F5475B;--mid-point-color:#1A1A1C;--above-point-color:#39C46E;background-color:#1a1a1c}:host [part=canvas]{color:rgba(255,255,255,.8)}:host .x-axis-item{padding:4px 0}:host .y-axis-item{padding:0 4px}:host .x-axis-item,:host .y-axis-item,:host [part=cross-box]{background-color:#212124;color:#c2c2c2}');
@@ -0,0 +1,4 @@
1
+ import '@refinitiv-ui/elements/lib/canvas/themes/solar/pearl';
2
+ import '@refinitiv-ui/elements/lib/tooltip/themes/solar/pearl';
3
+
4
+ elf.customStyles.define('ef-heatmap', ':host{--spacing:2;--below-point-color:#D94255;--mid-point-color:#FFFFFF;--above-point-color:#309054;background-color:#fff}:host [part=canvas]{color:rgba(0,0,0,.8)}:host .x-axis-item{padding:4px 0}:host .y-axis-item{padding:0 4px}:host .x-axis-item,:host .y-axis-item,:host [part=cross-box]{background-color:#e4e8ed;color:#484848}');
@@ -0,0 +1,36 @@
1
+ {
2
+ "version": "experimental",
3
+ "tags": [
4
+ {
5
+ "name": "ef-icon",
6
+ "attributes": [
7
+ {
8
+ "name": "icon",
9
+ "description": "Name of a known icon to render or URL of SVG icon.",
10
+ "type": "string | null"
11
+ },
12
+ {
13
+ "name": "src",
14
+ "description": "Src location of an svg icon.",
15
+ "type": "string | null",
16
+ "deprecatedMessage": "Use `icon` instead"
17
+ }
18
+ ],
19
+ "properties": [
20
+ {
21
+ "name": "icon",
22
+ "attribute": "icon",
23
+ "description": "Name of a known icon to render or URL of SVG icon.",
24
+ "type": "string | null"
25
+ },
26
+ {
27
+ "name": "src",
28
+ "attribute": "src",
29
+ "description": "Src location of an svg icon.",
30
+ "type": "string | null",
31
+ "deprecatedMessage": "Use `icon` instead"
32
+ }
33
+ ]
34
+ }
35
+ ]
36
+ }
@@ -0,0 +1,8 @@
1
+ # ef-icon
2
+
3
+ ## Properties
4
+
5
+ | Property | Attribute | Type | Description |
6
+ |----------|-----------|------------------|--------------------------------------------------|
7
+ | `icon` | `icon` | `string \| null` | Name of a known icon to render or URL of SVG icon. |
8
+ | `src` | `src` | `string \| null` | Src location of an svg icon. |
@@ -0,0 +1,88 @@
1
+ import { JSXInterface } from '../jsx';
2
+ import { BasicElement, CSSResultGroup, TemplateResult, PropertyValues } from '@refinitiv-ui/core';
3
+ export { preload } from './utils/IconLoader.js';
4
+ export declare class Icon extends BasicElement {
5
+ /**
6
+ * Element version number
7
+ * @returns version number
8
+ */
9
+ static get version(): string;
10
+ /**
11
+ * A `CSSResultGroup` that will be used
12
+ * to style the host, slotted children
13
+ * and the internal template of the element.
14
+ * @return CSS template
15
+ */
16
+ static get styles(): CSSResultGroup;
17
+ private _icon;
18
+ /**
19
+ * Name of a known icon to render or URL of SVG icon.
20
+ * @example heart | https://cdn.io/icons/heart.svg
21
+ */
22
+ get icon(): string | null;
23
+ set icon(value: string | null);
24
+ private _src;
25
+ /**
26
+ * Src location of an svg icon.
27
+ * @example https://cdn.io/icons/heart.svg
28
+ * @deprecated Use `icon` instead
29
+ */
30
+ get src(): string | null;
31
+ set src(value: string | null);
32
+ private _template;
33
+ /**
34
+ * The icon template to render
35
+ */
36
+ private get template();
37
+ private set template(value);
38
+ /**
39
+ * Called after the component is first rendered
40
+ * @param changedProperties Properties which have changed
41
+ * @returns {void}
42
+ */
43
+ protected firstUpdated(changedProperties: PropertyValues): void;
44
+ /**
45
+ * Helper method, used to set the icon src.
46
+ * @returns {void}
47
+ */
48
+ private setIconSrc;
49
+ /**
50
+ * Tries to load an icon from the url provided
51
+ * and the renders this into the icon template.
52
+ * @param src Source location of the svg icon.
53
+ * @returns {void}
54
+ */
55
+ private loadAndRenderIcon;
56
+ /**
57
+ * Get and cache CDN prefix
58
+ * This is a private URL which is set in the theme
59
+ * and should not be configured again via the variable.
60
+ * @returns {void}
61
+ */
62
+ private setPrefix;
63
+ /**
64
+ * Clears SVG body from the icon template
65
+ * @returns {void}
66
+ */
67
+ private clearIcon;
68
+ /**
69
+ * A `TemplateResult` that will be used
70
+ * to render the updated internal template.
71
+ * @return Render template
72
+ */
73
+ protected render(): TemplateResult;
74
+ }
75
+
76
+ declare global {
77
+ interface HTMLElementTagNameMap {
78
+ 'ef-icon': Icon;
79
+ }
80
+
81
+ namespace JSX {
82
+ interface IntrinsicElements {
83
+ 'ef-icon': Partial<Icon> | JSXInterface.HTMLAttributes<Icon>;
84
+ }
85
+ }
86
+ }
87
+
88
+ export {};
@@ -0,0 +1,169 @@
1
+ import { __decorate } from "tslib";
2
+ import { BasicElement, svg, 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 { unsafeSVG } from '@refinitiv-ui/core/lib/directives/unsafe-svg.js';
6
+ import { VERSION } from '../version.js';
7
+ import { IconLoader } from './utils/IconLoader.js';
8
+ export { preload } from './utils/IconLoader.js';
9
+ const EmptyTemplate = svg ``;
10
+ /**
11
+ * Cache for reusing SVG template results across multiple icons.
12
+ * Reusing these templates increases performance dramatically when many icons are rendered.
13
+ * As the cache key is an absolute URL, we can assume no clashes will occur.
14
+ */
15
+ const iconTemplateCache = new Map();
16
+ let Icon = class Icon extends BasicElement {
17
+ constructor() {
18
+ super(...arguments);
19
+ this._icon = null;
20
+ this._src = null;
21
+ this._template = EmptyTemplate;
22
+ }
23
+ /**
24
+ * Element version number
25
+ * @returns version number
26
+ */
27
+ static get version() {
28
+ return VERSION;
29
+ }
30
+ /**
31
+ * A `CSSResultGroup` that will be used
32
+ * to style the host, slotted children
33
+ * and the internal template of the element.
34
+ * @return CSS template
35
+ */
36
+ static get styles() {
37
+ return css `
38
+ :host {
39
+ display: inline-block;
40
+ line-height: 1;
41
+ width: 1em;
42
+ height: 1em;
43
+ }
44
+ svg {
45
+ width: 100%;
46
+ height: 100%;
47
+ }
48
+ `;
49
+ }
50
+ /**
51
+ * Name of a known icon to render or URL of SVG icon.
52
+ * @example heart | https://cdn.io/icons/heart.svg
53
+ */
54
+ get icon() {
55
+ return this._icon;
56
+ }
57
+ set icon(value) {
58
+ const oldValue = this._icon;
59
+ if (oldValue !== value) {
60
+ this._icon = value;
61
+ void this.setIconSrc();
62
+ this.requestUpdate('icon', oldValue);
63
+ }
64
+ }
65
+ /**
66
+ * Src location of an svg icon.
67
+ * @example https://cdn.io/icons/heart.svg
68
+ * @deprecated Use `icon` instead
69
+ */
70
+ get src() {
71
+ return this._src;
72
+ }
73
+ set src(value) {
74
+ if (this.src !== value) {
75
+ this._src = value;
76
+ this.clearIcon();
77
+ if (value) {
78
+ void this.loadAndRenderIcon(value);
79
+ }
80
+ }
81
+ }
82
+ /**
83
+ * The icon template to render
84
+ */
85
+ get template() {
86
+ return this._template;
87
+ }
88
+ set template(value) {
89
+ if (this._template !== value) {
90
+ this._template = value;
91
+ this.requestUpdate();
92
+ }
93
+ }
94
+ /**
95
+ * Called after the component is first rendered
96
+ * @param changedProperties Properties which have changed
97
+ * @returns {void}
98
+ */
99
+ firstUpdated(changedProperties) {
100
+ super.firstUpdated(changedProperties);
101
+ /**
102
+ * We have to call this here because
103
+ * polyfilled browsers only get variables at this point.
104
+ */
105
+ this.setPrefix();
106
+ }
107
+ /**
108
+ * Helper method, used to set the icon src.
109
+ * @returns {void}
110
+ */
111
+ async setIconSrc() {
112
+ this.src = this.icon ? await IconLoader.getSrc(this.icon) : null;
113
+ }
114
+ /**
115
+ * Tries to load an icon from the url provided
116
+ * and the renders this into the icon template.
117
+ * @param src Source location of the svg icon.
118
+ * @returns {void}
119
+ */
120
+ async loadAndRenderIcon(src) {
121
+ const iconTemplateCacheItem = iconTemplateCache.get(src);
122
+ if (!iconTemplateCacheItem) {
123
+ iconTemplateCache.set(src, IconLoader.loadSVG(src)
124
+ .then(body => svg `${unsafeSVG(body)}`));
125
+ return this.loadAndRenderIcon(src); // Load again and await cache result
126
+ }
127
+ this.template = await iconTemplateCacheItem;
128
+ }
129
+ /**
130
+ * Get and cache CDN prefix
131
+ * This is a private URL which is set in the theme
132
+ * and should not be configured again via the variable.
133
+ * @returns {void}
134
+ */
135
+ setPrefix() {
136
+ if (!IconLoader.isPrefixSet) {
137
+ const CDNPrefix = this.getComputedVariable('--cdn-prefix')
138
+ .replace(/^('|")|('|")$/g, '');
139
+ IconLoader.setCdnPrefix(CDNPrefix);
140
+ }
141
+ }
142
+ /**
143
+ * Clears SVG body from the icon template
144
+ * @returns {void}
145
+ */
146
+ clearIcon() {
147
+ this.template = EmptyTemplate;
148
+ }
149
+ /**
150
+ * A `TemplateResult` that will be used
151
+ * to render the updated internal template.
152
+ * @return Render template
153
+ */
154
+ render() {
155
+ return this.template;
156
+ }
157
+ };
158
+ __decorate([
159
+ property({ type: String, reflect: true })
160
+ ], Icon.prototype, "icon", null);
161
+ __decorate([
162
+ property({ type: String })
163
+ ], Icon.prototype, "src", null);
164
+ Icon = __decorate([
165
+ customElement('ef-icon', {
166
+ alias: 'coral-icon'
167
+ })
168
+ ], Icon);
169
+ export { Icon };
@@ -0,0 +1,2 @@
1
+
2
+ elf.customStyles.define('ef-icon', ':host{--cdn-prefix:\'https://cdn.refinitiv.net/public/libs/elf/assets/elf-theme-halo/resources/icons/\';--cdn-prefix:\'https://cdn.refinitiv.net/public/libs/elf/assets/elf-theme-halo/resources/icons/\';font-size:16px}:host svg{pointer-events:none}:host circle[fill]:not([fill=none]),:host ellipse[fill]:not([fill=none]),:host g[fill]:not([fill=none]),:host line[fill]:not([fill=none]),:host path[fill]:not([fill=none]),:host polygon[fill]:not([fill=none]),:host polyline[fill]:not([fill=none]),:host rect[fill]:not([fill=none]){fill:currentColor}:host circle[stroke]:not([stroke=none]),:host ellipse[stroke]:not([stroke=none]),:host g[stroke]:not([stroke=none]),:host line[stroke]:not([stroke=none]),:host path[stroke]:not([stroke=none]),:host polygon[stroke]:not([stroke=none]),:host polyline[stroke]:not([stroke=none]),:host rect[stroke]:not([stroke=none]){stroke:currentColor}:host([icon=powerpoint]){color:#ff3535}:host([icon=excel]){color:#00a626}:host([icon=pdf]){color:#ff3535}:host([icon=word]){color:#0094c4}:host([icon=twitter]){color:#1da1f2}:host([icon]) circle,:host([icon]) ellipse,:host([icon]) g,:host([icon]) line,:host([icon]) path,:host([icon]) polygon,:host([icon]) polyline,:host([icon]) rect{vector-effect:non-scaling-stroke}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){:host([icon]) circle,:host([icon]) ellipse,:host([icon]) g,:host([icon]) line,:host([icon]) path,:host([icon]) polygon,:host([icon]) polyline,:host([icon]) rect{vector-effect:none;stroke-width:calc(16px/.01em)}}');
@@ -0,0 +1,2 @@
1
+
2
+ elf.customStyles.define('ef-icon', ':host{--cdn-prefix:\'https://cdn.refinitiv.net/public/libs/elf/assets/elf-theme-halo/resources/icons/\';--cdn-prefix:\'https://cdn.refinitiv.net/public/libs/elf/assets/elf-theme-halo/resources/icons/\';font-size:16px}:host svg{pointer-events:none}:host circle[fill]:not([fill=none]),:host ellipse[fill]:not([fill=none]),:host g[fill]:not([fill=none]),:host line[fill]:not([fill=none]),:host path[fill]:not([fill=none]),:host polygon[fill]:not([fill=none]),:host polyline[fill]:not([fill=none]),:host rect[fill]:not([fill=none]){fill:currentColor}:host circle[stroke]:not([stroke=none]),:host ellipse[stroke]:not([stroke=none]),:host g[stroke]:not([stroke=none]),:host line[stroke]:not([stroke=none]),:host path[stroke]:not([stroke=none]),:host polygon[stroke]:not([stroke=none]),:host polyline[stroke]:not([stroke=none]),:host rect[stroke]:not([stroke=none]){stroke:currentColor}:host([icon=powerpoint]){color:#ff3535}:host([icon=excel]){color:#00a626}:host([icon=pdf]){color:#ff3535}:host([icon=word]){color:#0094c4}:host([icon=twitter]){color:#1da1f2}:host([icon]) circle,:host([icon]) ellipse,:host([icon]) g,:host([icon]) line,:host([icon]) path,:host([icon]) polygon,:host([icon]) polyline,:host([icon]) rect{vector-effect:non-scaling-stroke}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){:host([icon]) circle,:host([icon]) ellipse,:host([icon]) g,:host([icon]) line,:host([icon]) path,:host([icon]) polygon,:host([icon]) polyline,:host([icon]) rect{vector-effect:none;stroke-width:calc(16px/.01em)}}');
@@ -0,0 +1,2 @@
1
+
2
+ elf.customStyles.define('ef-icon', ':host{--cdn-prefix:\'https://cdn.refinitiv.net/public/libs/elf/assets/elf-theme-halo/resources/icons/\';--cdn-prefix:\'https://cdn.refinitiv.net/public/libs/elf/assets/elf-theme-solar/resources/icons/\'}:host svg{pointer-events:none}:host circle[fill]:not([fill=none]),:host ellipse[fill]:not([fill=none]),:host g[fill]:not([fill=none]),:host line[fill]:not([fill=none]),:host path[fill]:not([fill=none]),:host polygon[fill]:not([fill=none]),:host polyline[fill]:not([fill=none]),:host rect[fill]:not([fill=none]){fill:currentColor}:host circle[stroke]:not([stroke=none]),:host ellipse[stroke]:not([stroke=none]),:host g[stroke]:not([stroke=none]),:host line[stroke]:not([stroke=none]),:host path[stroke]:not([stroke=none]),:host polygon[stroke]:not([stroke=none]),:host polyline[stroke]:not([stroke=none]),:host rect[stroke]:not([stroke=none]){stroke:currentColor}:host([icon=powerpoint]){color:#ff3535}:host([icon=excel]){color:#00a626}:host([icon=pdf]){color:#ff3535}:host([icon=word]){color:#0094c4}:host([icon=twitter]){color:#1da1f2}');
@@ -0,0 +1,2 @@
1
+
2
+ elf.customStyles.define('ef-icon', ':host{--cdn-prefix:\'https://cdn.refinitiv.net/public/libs/elf/assets/elf-theme-halo/resources/icons/\';--cdn-prefix:\'https://cdn.refinitiv.net/public/libs/elf/assets/elf-theme-solar/resources/icons/\'}:host svg{pointer-events:none}:host circle[fill]:not([fill=none]),:host ellipse[fill]:not([fill=none]),:host g[fill]:not([fill=none]),:host line[fill]:not([fill=none]),:host path[fill]:not([fill=none]),:host polygon[fill]:not([fill=none]),:host polyline[fill]:not([fill=none]),:host rect[fill]:not([fill=none]){fill:currentColor}:host circle[stroke]:not([stroke=none]),:host ellipse[stroke]:not([stroke=none]),:host g[stroke]:not([stroke=none]),:host line[stroke]:not([stroke=none]),:host path[stroke]:not([stroke=none]),:host polygon[stroke]:not([stroke=none]),:host polyline[stroke]:not([stroke=none]),:host rect[stroke]:not([stroke=none]){stroke:currentColor}:host([icon=powerpoint]){color:#ff3535}:host([icon=excel]){color:#00a626}:host([icon=pdf]){color:#ff3535}:host([icon=word]){color:#0094c4}:host([icon=twitter]){color:#1da1f2}');
@@ -0,0 +1,52 @@
1
+ import { CdnLoader } from '@refinitiv-ui/utils/lib/loader.js';
2
+ /**
3
+ * Caches and provides icon SVGs, Loaded either by name from CDN or directly by URL.
4
+ * Uses singleton pattern
5
+ */
6
+ declare class IconLoader extends CdnLoader {
7
+ private cdnPrefix;
8
+ private _isPrefixSet;
9
+ /**
10
+ * @returns {boolean} clarify whether prefix has been set or not.
11
+ */
12
+ get isPrefixSet(): boolean;
13
+ /**
14
+ * Sets clarify whether prefix has been set or not
15
+ * @param value - new value that is going to set.
16
+ */
17
+ set isPrefixSet(value: boolean);
18
+ /**
19
+ * @returns promise, which will be resolved with CDN prefix, once set.
20
+ */
21
+ getCdnPrefix(): Promise<string>;
22
+ /**
23
+ * Sets CDN prefix to load source.
24
+ * Resolves deferred promise with CDN prefix and sets src used to check whether prefix is already set or not.
25
+ * @param prefix - CDN prefix.
26
+ * @returns {void}
27
+ */
28
+ setCdnPrefix(prefix: string): void;
29
+ /**
30
+ * Creates complete source using CDN prefix and src.
31
+ * Waits for CDN prefix to be set.
32
+ * @param iconName - resource path for download
33
+ * @returns Promise, which will be resolved with complete source.
34
+ */
35
+ getSrc(iconName: string): Promise<string>;
36
+ /**
37
+ * Loads icon and returns the body of the SVG
38
+ * @param icon Icon name to load
39
+ * @returns SVG body of the response
40
+ */
41
+ loadSVG(icon: string): Promise<string | undefined>;
42
+ }
43
+ declare const iconLoaderInstance: IconLoader;
44
+ export { iconLoaderInstance as IconLoader };
45
+ /**
46
+ * Helper function to preload set of icons.
47
+ * It could help to reduce icon loading delay when ef-icon has a known set of icons that it can use.
48
+ * @param attrs - list of arguments, representing icons.
49
+ * Could be icon names, complete icon URLs or mix of both.
50
+ * @returns Array of promises, which will be resolved with SVG bodies.
51
+ */
52
+ export declare const preload: (...attrs: string[]) => Promise<string | undefined>[];
@@ -0,0 +1,93 @@
1
+ import { CdnLoader, Deferred } from '@refinitiv-ui/utils/lib/loader.js';
2
+ const isUrl = (str) => (/^(https?:\/{2}|\.?\/)/i).test(str);
3
+ /**
4
+ * Caches and provides icon SVGs, Loaded either by name from CDN or directly by URL.
5
+ * Uses singleton pattern
6
+ */
7
+ class IconLoader extends CdnLoader {
8
+ constructor() {
9
+ super(...arguments);
10
+ this.cdnPrefix = new Deferred();
11
+ this._isPrefixSet = false;
12
+ }
13
+ /**
14
+ * @returns {boolean} clarify whether prefix has been set or not.
15
+ */
16
+ get isPrefixSet() {
17
+ return this._isPrefixSet;
18
+ }
19
+ /**
20
+ * Sets clarify whether prefix has been set or not
21
+ * @param value - new value that is going to set.
22
+ */
23
+ set isPrefixSet(value) {
24
+ if (this._isPrefixSet !== value) {
25
+ this._isPrefixSet = value;
26
+ }
27
+ }
28
+ /**
29
+ * @returns promise, which will be resolved with CDN prefix, once set.
30
+ */
31
+ getCdnPrefix() {
32
+ return this.cdnPrefix.promise;
33
+ }
34
+ /**
35
+ * Sets CDN prefix to load source.
36
+ * Resolves deferred promise with CDN prefix and sets src used to check whether prefix is already set or not.
37
+ * @param prefix - CDN prefix.
38
+ * @returns {void}
39
+ */
40
+ setCdnPrefix(prefix) {
41
+ if (prefix) {
42
+ this.cdnPrefix.resolve(prefix);
43
+ this.isPrefixSet = true;
44
+ }
45
+ }
46
+ /**
47
+ * Creates complete source using CDN prefix and src.
48
+ * Waits for CDN prefix to be set.
49
+ * @param iconName - resource path for download
50
+ * @returns Promise, which will be resolved with complete source.
51
+ */
52
+ async getSrc(iconName) {
53
+ if (isUrl(iconName)) {
54
+ return iconName;
55
+ }
56
+ return iconName ? `${await this.getCdnPrefix()}${iconName}.svg` : '';
57
+ }
58
+ /**
59
+ * Loads icon and returns the body of the SVG
60
+ * @param icon Icon name to load
61
+ * @returns SVG body of the response
62
+ */
63
+ async loadSVG(icon) {
64
+ if (!icon) {
65
+ return;
66
+ }
67
+ icon = await this.getSrc(icon);
68
+ const response = await this.load(icon);
69
+ if (response && response.status === 200 && response.getResponseHeader('content-type') === 'image/svg+xml') {
70
+ const container = document.createElement('svg');
71
+ container.innerHTML = response.responseText;
72
+ this.stripUnsafeNodes(...container.children);
73
+ const svgRoot = container.firstElementChild;
74
+ if (svgRoot) {
75
+ svgRoot.setAttribute('focusable', 'false'); /* disable IE11 focus on SVG root element */
76
+ }
77
+ return container.innerHTML;
78
+ }
79
+ return '';
80
+ }
81
+ }
82
+ const iconLoaderInstance = new IconLoader();
83
+ export { iconLoaderInstance as IconLoader };
84
+ /**
85
+ * Helper function to preload set of icons.
86
+ * It could help to reduce icon loading delay when ef-icon has a known set of icons that it can use.
87
+ * @param attrs - list of arguments, representing icons.
88
+ * Could be icon names, complete icon URLs or mix of both.
89
+ * @returns Array of promises, which will be resolved with SVG bodies.
90
+ */
91
+ export const preload = (...attrs) => {
92
+ return attrs.map(icon => iconLoaderInstance.loadSVG(icon));
93
+ };
package/lib/index.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ export { VERSION } from './version.js';
2
+ export * from './events';
3
+ export * from '@refinitiv-ui/core';
package/lib/index.js ADDED
@@ -0,0 +1,3 @@
1
+ export { VERSION } from './version.js';
2
+ export * from './events';
3
+ export * from '@refinitiv-ui/core';
@@ -0,0 +1,86 @@
1
+ {
2
+ "version": "experimental",
3
+ "tags": [
4
+ {
5
+ "name": "ef-interactive-chart",
6
+ "description": "A charting component that allows you to create several use cases of financial chart.\nBy lightweight-charts library.",
7
+ "attributes": [
8
+ {
9
+ "name": "config",
10
+ "description": "Chart configurations for init chart",
11
+ "type": "InteractiveChartConfig"
12
+ },
13
+ {
14
+ "name": "disabled-legend",
15
+ "description": "Hide legend",
16
+ "type": "boolean",
17
+ "default": "false"
18
+ },
19
+ {
20
+ "name": "disabled-jump-button",
21
+ "description": "Hide jump to latest data button",
22
+ "type": "boolean",
23
+ "default": "false"
24
+ },
25
+ {
26
+ "name": "legend-style",
27
+ "description": "Set legend style i.e. `horizontal`, `vertical`.\nDefault is `vertical`.",
28
+ "type": "\"vertical\" | \"horizontal\""
29
+ }
30
+ ],
31
+ "properties": [
32
+ {
33
+ "name": "config",
34
+ "attribute": "config",
35
+ "description": "Chart configurations for init chart",
36
+ "type": "InteractiveChartConfig"
37
+ },
38
+ {
39
+ "name": "disabledLegend",
40
+ "attribute": "disabled-legend",
41
+ "description": "Hide legend",
42
+ "type": "boolean",
43
+ "default": "false"
44
+ },
45
+ {
46
+ "name": "disabledJumpButton",
47
+ "attribute": "disabled-jump-button",
48
+ "description": "Hide jump to latest data button",
49
+ "type": "boolean",
50
+ "default": "false"
51
+ },
52
+ {
53
+ "name": "legendStyle",
54
+ "attribute": "legend-style",
55
+ "description": "Set legend style i.e. `horizontal`, `vertical`.\nDefault is `vertical`.",
56
+ "type": "\"vertical\" | \"horizontal\""
57
+ },
58
+ {
59
+ "name": "seriesList",
60
+ "description": "Array of series instances in chart",
61
+ "type": "object",
62
+ "default": "[]"
63
+ }
64
+ ],
65
+ "events": [
66
+ {
67
+ "name": "initialized",
68
+ "description": "Dispatched when chart is initialized"
69
+ }
70
+ ],
71
+ "slots": [
72
+ {
73
+ "name": "legend",
74
+ "description": "Slot to use for implementing custom legend."
75
+ }
76
+ ],
77
+ "methods": [
78
+ {
79
+ "name": "colors",
80
+ "description": "List of available chart colors from the theme.",
81
+ "params": []
82
+ }
83
+ ]
84
+ }
85
+ ]
86
+ }
@@ -0,0 +1,32 @@
1
+ # ef-interactive-chart
2
+
3
+ A charting component that allows you to create several use cases of financial chart.
4
+ By lightweight-charts library.
5
+
6
+ ## Properties
7
+
8
+ | Property | Attribute | Type | Default | Description |
9
+ |----------------------|------------------------|------------------------------|---------|--------------------------------------------------|
10
+ | `config` | `config` | `InteractiveChartConfig` | null | Chart configurations for init chart |
11
+ | `disabledJumpButton` | `disabled-jump-button` | `boolean` | false | Hide jump to latest data button |
12
+ | `disabledLegend` | `disabled-legend` | `boolean` | false | Hide legend |
13
+ | `legendStyle` | `legend-style` | `"vertical" \| "horizontal"` | | Set legend style i.e. `horizontal`, `vertical`.<br />Default is `vertical`. |
14
+ | `seriesList` | | `object` | [] | Array of series instances in chart |
15
+
16
+ ## Methods
17
+
18
+ | Method | Type | Description |
19
+ |----------|--------------|------------------------------------------------|
20
+ | `colors` | `(): object` | List of available chart colors from the theme. |
21
+
22
+ ## Events
23
+
24
+ | Event | Description |
25
+ |---------------|--------------------------------------|
26
+ | `initialized` | Dispatched when chart is initialized |
27
+
28
+ ## Slots
29
+
30
+ | Name | Description |
31
+ |----------|---------------------------------------------|
32
+ | `legend` | Slot to use for implementing custom legend. |
@@ -0,0 +1,15 @@
1
+ declare type UnknownObject = {
2
+ [key: string]: unknown;
3
+ };
4
+ declare type MergeObject = UnknownObject | Array<unknown>;
5
+ /**
6
+ * Merge objects recursively
7
+ *
8
+ * @param {MergeObject} object The destination object.
9
+ * @param {MergeObject} sources The source objects.
10
+ * @param {boolean} force Force merge if a key of destination object is already exists and a value is not object
11
+ * @param {MergeObject[]} record The record object which record merged objects recursively
12
+ * @returns voids
13
+ */
14
+ declare const merge: (object: MergeObject, sources: MergeObject, force?: boolean, record?: Array<unknown>) => void;
15
+ export { merge, MergeObject };
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Merge objects recursively
3
+ *
4
+ * @param {MergeObject} object The destination object.
5
+ * @param {MergeObject} sources The source objects.
6
+ * @param {boolean} force Force merge if a key of destination object is already exists and a value is not object
7
+ * @param {MergeObject[]} record The record object which record merged objects recursively
8
+ * @returns voids
9
+ */
10
+ const merge = (object, sources, force = false, record = []) => {
11
+ let value;
12
+ let isObject;
13
+ Object.keys(sources).forEach((key, i) => {
14
+ // Get value and info from merging object
15
+ value = Array.isArray(sources) ? sources[i] : sources[key];
16
+ isObject = (value && typeof value === 'object' && value.toString() === '[object Object]');
17
+ // Merge if found a new key from source or has a force command
18
+ if (!(key in object) || (force && !isObject)) {
19
+ object[key] = value;
20
+ }
21
+ // Deep merge objects
22
+ if (isObject && !record.includes(value)) {
23
+ record.push(value);
24
+ merge(object[key], value, force, record);
25
+ }
26
+ });
27
+ };
28
+ export { merge };