@refinitiv-ui/elements 5.3.3 → 5.3.4

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 (558) hide show
  1. package/lib/accordion/custom-elements.json +49 -0
  2. package/lib/accordion/index.d.ts +76 -0
  3. package/lib/accordion/index.js +139 -0
  4. package/lib/accordion/themes/halo/dark/index.js +3 -0
  5. package/lib/accordion/themes/halo/light/index.js +3 -0
  6. package/lib/accordion/themes/solar/charcoal/index.js +3 -0
  7. package/lib/accordion/themes/solar/pearl/index.js +3 -0
  8. package/lib/appstate-bar/custom-elements.json +49 -0
  9. package/lib/appstate-bar/index.d.ts +65 -0
  10. package/lib/appstate-bar/index.js +103 -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/custom-elements.json +223 -0
  16. package/lib/autosuggest/helpers/const.d.ts +2 -0
  17. package/lib/autosuggest/helpers/const.js +3 -0
  18. package/lib/autosuggest/helpers/types.d.ts +54 -0
  19. package/lib/autosuggest/helpers/types.js +1 -0
  20. package/lib/autosuggest/helpers/utils.d.ts +39 -0
  21. package/lib/autosuggest/helpers/utils.js +76 -0
  22. package/lib/autosuggest/index.d.ts +533 -0
  23. package/lib/autosuggest/index.js +1248 -0
  24. package/lib/autosuggest/themes/halo/dark/index.js +5 -0
  25. package/lib/autosuggest/themes/halo/light/index.js +5 -0
  26. package/lib/autosuggest/themes/solar/charcoal/index.js +5 -0
  27. package/lib/autosuggest/themes/solar/pearl/index.js +5 -0
  28. package/lib/button/custom-elements.json +119 -0
  29. package/lib/button/index.d.ts +132 -0
  30. package/lib/button/index.js +213 -0
  31. package/lib/button/themes/halo/dark/index.js +3 -0
  32. package/lib/button/themes/halo/light/index.js +3 -0
  33. package/lib/button/themes/solar/charcoal/index.js +3 -0
  34. package/lib/button/themes/solar/pearl/index.js +3 -0
  35. package/lib/button-bar/custom-elements.json +26 -0
  36. package/lib/button-bar/index.d.ts +76 -0
  37. package/lib/button-bar/index.js +157 -0
  38. package/lib/button-bar/themes/halo/dark/index.js +3 -0
  39. package/lib/button-bar/themes/halo/light/index.js +3 -0
  40. package/lib/button-bar/themes/solar/charcoal/index.js +3 -0
  41. package/lib/button-bar/themes/solar/pearl/index.js +3 -0
  42. package/lib/calendar/custom-elements.json +199 -0
  43. package/lib/calendar/index.d.ts +321 -0
  44. package/lib/calendar/index.js +926 -0
  45. package/lib/calendar/locales.d.ts +31 -0
  46. package/lib/calendar/locales.js +144 -0
  47. package/lib/calendar/themes/halo/dark/index.js +3 -0
  48. package/lib/calendar/themes/halo/light/index.js +3 -0
  49. package/lib/calendar/themes/solar/charcoal/index.js +3 -0
  50. package/lib/calendar/themes/solar/pearl/index.js +3 -0
  51. package/lib/calendar/types.d.ts +33 -0
  52. package/lib/calendar/types.js +6 -0
  53. package/lib/calendar/utils.d.ts +12 -0
  54. package/lib/calendar/utils.js +17 -0
  55. package/lib/canvas/custom-elements.json +69 -0
  56. package/lib/canvas/index.d.ts +100 -0
  57. package/lib/canvas/index.js +175 -0
  58. package/lib/canvas/themes/halo/dark/index.js +2 -0
  59. package/lib/canvas/themes/halo/light/index.js +2 -0
  60. package/lib/canvas/themes/solar/charcoal/index.js +2 -0
  61. package/lib/canvas/themes/solar/pearl/index.js +2 -0
  62. package/lib/card/custom-elements.json +59 -0
  63. package/lib/card/helpers/types.d.ts +12 -0
  64. package/lib/card/helpers/types.js +1 -0
  65. package/lib/card/index.d.ts +140 -0
  66. package/lib/card/index.js +247 -0
  67. package/lib/card/themes/halo/dark/index.js +5 -0
  68. package/lib/card/themes/halo/light/index.js +5 -0
  69. package/lib/card/themes/solar/charcoal/index.js +5 -0
  70. package/lib/card/themes/solar/pearl/index.js +5 -0
  71. package/lib/chart/custom-elements.json +42 -0
  72. package/lib/chart/helpers/index.d.ts +2 -0
  73. package/lib/chart/helpers/index.js +2 -0
  74. package/lib/chart/helpers/legend.d.ts +5 -0
  75. package/lib/chart/helpers/legend.js +78 -0
  76. package/lib/chart/helpers/merge.d.ts +15 -0
  77. package/lib/chart/helpers/merge.js +28 -0
  78. package/lib/chart/helpers/types.d.ts +69 -0
  79. package/lib/chart/helpers/types.js +1 -0
  80. package/lib/chart/index.d.ts +187 -0
  81. package/lib/chart/index.js +493 -0
  82. package/lib/chart/plugins/doughnut-center-label.d.ts +3 -0
  83. package/lib/chart/plugins/doughnut-center-label.js +196 -0
  84. package/lib/chart/themes/halo/dark/index.js +4 -0
  85. package/lib/chart/themes/halo/light/index.js +4 -0
  86. package/lib/chart/themes/solar/charcoal/index.js +4 -0
  87. package/lib/chart/themes/solar/pearl/index.js +4 -0
  88. package/lib/checkbox/custom-elements.json +71 -0
  89. package/lib/checkbox/index.d.ts +89 -0
  90. package/lib/checkbox/index.js +170 -0
  91. package/lib/checkbox/themes/halo/dark/index.js +4 -0
  92. package/lib/checkbox/themes/halo/light/index.js +4 -0
  93. package/lib/checkbox/themes/solar/charcoal/index.js +4 -0
  94. package/lib/checkbox/themes/solar/pearl/index.js +4 -0
  95. package/lib/clock/custom-elements.json +108 -0
  96. package/lib/clock/index.d.ts +309 -0
  97. package/lib/clock/index.js +564 -0
  98. package/lib/clock/themes/halo/dark/index.js +2 -0
  99. package/lib/clock/themes/halo/light/index.js +2 -0
  100. package/lib/clock/themes/solar/charcoal/index.js +2 -0
  101. package/lib/clock/themes/solar/pearl/index.js +2 -0
  102. package/lib/clock/utils/TickManager.d.ts +14 -0
  103. package/lib/clock/utils/TickManager.js +66 -0
  104. package/lib/clock/utils/timestamps.d.ts +6 -0
  105. package/lib/clock/utils/timestamps.js +6 -0
  106. package/lib/collapse/custom-elements.json +79 -0
  107. package/lib/collapse/index.d.ts +119 -0
  108. package/lib/collapse/index.js +199 -0
  109. package/lib/collapse/themes/halo/dark/index.js +5 -0
  110. package/lib/collapse/themes/halo/light/index.js +5 -0
  111. package/lib/collapse/themes/solar/charcoal/index.js +5 -0
  112. package/lib/collapse/themes/solar/pearl/index.js +5 -0
  113. package/lib/color-dialog/custom-elements.json +193 -0
  114. package/lib/color-dialog/elements/color-palettes.d.ts +52 -0
  115. package/lib/color-dialog/elements/color-palettes.js +105 -0
  116. package/lib/color-dialog/elements/grayscale-palettes.d.ts +67 -0
  117. package/lib/color-dialog/elements/grayscale-palettes.js +164 -0
  118. package/lib/color-dialog/elements/palettes.d.ts +58 -0
  119. package/lib/color-dialog/elements/palettes.js +119 -0
  120. package/lib/color-dialog/helpers/color-helpers.d.ts +62 -0
  121. package/lib/color-dialog/helpers/color-helpers.js +258 -0
  122. package/lib/color-dialog/helpers/value-model.d.ts +75 -0
  123. package/lib/color-dialog/helpers/value-model.js +139 -0
  124. package/lib/color-dialog/index.d.ts +232 -0
  125. package/lib/color-dialog/index.js +457 -0
  126. package/lib/color-dialog/themes/halo/dark/index.js +7 -0
  127. package/lib/color-dialog/themes/halo/light/index.js +7 -0
  128. package/lib/color-dialog/themes/solar/charcoal/index.js +7 -0
  129. package/lib/color-dialog/themes/solar/pearl/index.js +7 -0
  130. package/lib/combo-box/custom-elements.json +207 -0
  131. package/lib/combo-box/helpers/filter.d.ts +10 -0
  132. package/lib/combo-box/helpers/filter.js +29 -0
  133. package/lib/combo-box/helpers/keyboard-event.d.ts +17 -0
  134. package/lib/combo-box/helpers/keyboard-event.js +19 -0
  135. package/lib/combo-box/helpers/types.d.ts +11 -0
  136. package/lib/combo-box/helpers/types.js +1 -0
  137. package/lib/combo-box/index.d.ts +523 -0
  138. package/lib/combo-box/index.js +1146 -0
  139. package/lib/combo-box/themes/halo/dark/index.js +8 -0
  140. package/lib/combo-box/themes/halo/light/index.js +8 -0
  141. package/lib/combo-box/themes/solar/charcoal/index.js +8 -0
  142. package/lib/combo-box/themes/solar/pearl/index.js +8 -0
  143. package/lib/counter/custom-elements.json +35 -0
  144. package/lib/counter/index.d.ts +89 -0
  145. package/lib/counter/index.js +155 -0
  146. package/lib/counter/themes/halo/dark/index.js +3 -0
  147. package/lib/counter/themes/halo/light/index.js +3 -0
  148. package/lib/counter/themes/solar/charcoal/index.js +3 -0
  149. package/lib/counter/themes/solar/pearl/index.js +3 -0
  150. package/lib/counter/utils.d.ts +13 -0
  151. package/lib/counter/utils.js +52 -0
  152. package/lib/datetime-picker/custom-elements.json +333 -0
  153. package/lib/datetime-picker/index.d.ts +498 -0
  154. package/lib/datetime-picker/index.js +1164 -0
  155. package/lib/datetime-picker/locales.d.ts +8 -0
  156. package/lib/datetime-picker/locales.js +46 -0
  157. package/lib/datetime-picker/themes/halo/dark/index.js +7 -0
  158. package/lib/datetime-picker/themes/halo/light/index.js +7 -0
  159. package/lib/datetime-picker/themes/solar/charcoal/index.js +7 -0
  160. package/lib/datetime-picker/themes/solar/pearl/index.js +7 -0
  161. package/lib/datetime-picker/types.d.ts +3 -0
  162. package/lib/datetime-picker/types.js +1 -0
  163. package/lib/datetime-picker/utils.d.ts +55 -0
  164. package/lib/datetime-picker/utils.js +92 -0
  165. package/lib/dialog/custom-elements.json +136 -0
  166. package/lib/dialog/draggable-element.d.ts +14 -0
  167. package/lib/dialog/draggable-element.js +221 -0
  168. package/lib/dialog/index.d.ts +199 -0
  169. package/lib/dialog/index.js +331 -0
  170. package/lib/dialog/themes/halo/dark/index.js +7 -0
  171. package/lib/dialog/themes/halo/light/index.js +7 -0
  172. package/lib/dialog/themes/solar/charcoal/index.js +7 -0
  173. package/lib/dialog/themes/solar/pearl/index.js +7 -0
  174. package/lib/email-field/custom-elements.json +199 -0
  175. package/lib/email-field/index.d.ts +152 -0
  176. package/lib/email-field/index.js +287 -0
  177. package/lib/email-field/themes/halo/dark/index.js +3 -0
  178. package/lib/email-field/themes/halo/light/index.js +3 -0
  179. package/lib/email-field/themes/solar/charcoal/index.js +3 -0
  180. package/lib/email-field/themes/solar/pearl/index.js +3 -0
  181. package/lib/events.d.ts +121 -0
  182. package/lib/events.js +2 -0
  183. package/lib/flag/custom-elements.json +35 -0
  184. package/lib/flag/index.d.ts +94 -0
  185. package/lib/flag/index.js +168 -0
  186. package/lib/flag/themes/halo/dark/index.js +2 -0
  187. package/lib/flag/themes/halo/light/index.js +2 -0
  188. package/lib/flag/themes/solar/charcoal/index.js +2 -0
  189. package/lib/flag/themes/solar/pearl/index.js +2 -0
  190. package/lib/flag/utils/FlagLoader.d.ts +47 -0
  191. package/lib/flag/utils/FlagLoader.js +86 -0
  192. package/lib/header/custom-elements.json +36 -0
  193. package/lib/header/index.d.ts +46 -0
  194. package/lib/header/index.js +76 -0
  195. package/lib/header/themes/halo/dark/index.js +2 -0
  196. package/lib/header/themes/halo/light/index.js +2 -0
  197. package/lib/header/themes/solar/charcoal/index.js +2 -0
  198. package/lib/header/themes/solar/pearl/index.js +2 -0
  199. package/lib/heatmap/custom-elements.json +151 -0
  200. package/lib/heatmap/helpers/color.d.ts +30 -0
  201. package/lib/heatmap/helpers/color.js +68 -0
  202. package/lib/heatmap/helpers/text.d.ts +26 -0
  203. package/lib/heatmap/helpers/text.js +91 -0
  204. package/lib/heatmap/helpers/track.d.ts +102 -0
  205. package/lib/heatmap/helpers/track.js +160 -0
  206. package/lib/heatmap/helpers/types.d.ts +40 -0
  207. package/lib/heatmap/helpers/types.js +1 -0
  208. package/lib/heatmap/index.d.ts +453 -0
  209. package/lib/heatmap/index.js +1104 -0
  210. package/lib/heatmap/themes/halo/dark/index.js +4 -0
  211. package/lib/heatmap/themes/halo/light/index.js +4 -0
  212. package/lib/heatmap/themes/solar/charcoal/index.js +4 -0
  213. package/lib/heatmap/themes/solar/pearl/index.js +4 -0
  214. package/lib/icon/custom-elements.json +34 -0
  215. package/lib/icon/index.d.ts +87 -0
  216. package/lib/icon/index.js +161 -0
  217. package/lib/icon/themes/halo/dark/index.js +2 -0
  218. package/lib/icon/themes/halo/light/index.js +2 -0
  219. package/lib/icon/themes/solar/charcoal/index.js +2 -0
  220. package/lib/icon/themes/solar/pearl/index.js +2 -0
  221. package/lib/icon/utils/IconLoader.d.ts +47 -0
  222. package/lib/icon/utils/IconLoader.js +86 -0
  223. package/lib/index.d.ts +2 -0
  224. package/lib/index.js +2 -0
  225. package/lib/interactive-chart/custom-elements.json +86 -0
  226. package/lib/interactive-chart/helpers/merge.d.ts +15 -0
  227. package/lib/interactive-chart/helpers/merge.js +28 -0
  228. package/lib/interactive-chart/helpers/types.d.ts +45 -0
  229. package/lib/interactive-chart/helpers/types.js +6 -0
  230. package/lib/interactive-chart/index.d.ts +380 -0
  231. package/lib/interactive-chart/index.js +1093 -0
  232. package/lib/interactive-chart/themes/halo/dark/index.js +3 -0
  233. package/lib/interactive-chart/themes/halo/light/index.js +3 -0
  234. package/lib/interactive-chart/themes/solar/charcoal/index.js +3 -0
  235. package/lib/interactive-chart/themes/solar/pearl/index.js +3 -0
  236. package/lib/item/custom-elements.json +153 -0
  237. package/lib/item/helpers/types.d.ts +57 -0
  238. package/lib/item/helpers/types.js +1 -0
  239. package/lib/item/index.d.ts +149 -0
  240. package/lib/item/index.js +252 -0
  241. package/lib/item/themes/halo/dark/index.js +4 -0
  242. package/lib/item/themes/halo/light/index.js +4 -0
  243. package/lib/item/themes/solar/charcoal/index.js +4 -0
  244. package/lib/item/themes/solar/pearl/index.js +4 -0
  245. package/lib/jsx.d.ts +223 -0
  246. package/lib/label/custom-elements.json +52 -0
  247. package/lib/label/index.d.ts +102 -0
  248. package/lib/label/index.js +252 -0
  249. package/lib/label/themes/halo/dark/index.js +3 -0
  250. package/lib/label/themes/halo/light/index.js +3 -0
  251. package/lib/label/themes/solar/charcoal/index.js +3 -0
  252. package/lib/label/themes/solar/pearl/index.js +3 -0
  253. package/lib/layout/custom-elements.json +163 -0
  254. package/lib/layout/index.d.ts +107 -0
  255. package/lib/layout/index.js +215 -0
  256. package/lib/layout/themes/halo/dark/index.js +2 -0
  257. package/lib/layout/themes/halo/light/index.js +2 -0
  258. package/lib/layout/themes/solar/charcoal/index.js +2 -0
  259. package/lib/layout/themes/solar/pearl/index.js +2 -0
  260. package/lib/led-gauge/custom-elements.json +113 -0
  261. package/lib/led-gauge/index.d.ts +143 -0
  262. package/lib/led-gauge/index.js +440 -0
  263. package/lib/led-gauge/themes/halo/dark/index.js +3 -0
  264. package/lib/led-gauge/themes/halo/light/index.js +3 -0
  265. package/lib/led-gauge/themes/solar/charcoal/index.js +3 -0
  266. package/lib/led-gauge/themes/solar/pearl/index.js +3 -0
  267. package/lib/list/custom-elements.json +111 -0
  268. package/lib/list/extensible-function.d.ts +8 -0
  269. package/lib/list/extensible-function.js +13 -0
  270. package/lib/list/helpers/list-renderer.d.ts +9 -0
  271. package/lib/list/helpers/list-renderer.js +35 -0
  272. package/lib/list/helpers/types.d.ts +3 -0
  273. package/lib/list/helpers/types.js +1 -0
  274. package/lib/list/index.d.ts +292 -0
  275. package/lib/list/index.js +604 -0
  276. package/lib/list/renderer.d.ts +36 -0
  277. package/lib/list/renderer.js +9 -0
  278. package/lib/list/themes/halo/dark/index.js +3 -0
  279. package/lib/list/themes/halo/light/index.js +3 -0
  280. package/lib/list/themes/solar/charcoal/index.js +3 -0
  281. package/lib/list/themes/solar/pearl/index.js +3 -0
  282. package/lib/loader/custom-elements.json +9 -0
  283. package/lib/loader/index.d.ts +41 -0
  284. package/lib/loader/index.js +65 -0
  285. package/lib/loader/themes/halo/dark/index.js +2 -0
  286. package/lib/loader/themes/halo/light/index.js +2 -0
  287. package/lib/loader/themes/solar/charcoal/index.js +2 -0
  288. package/lib/loader/themes/solar/pearl/index.js +2 -0
  289. package/lib/multi-input/custom-elements.json +238 -0
  290. package/lib/multi-input/helpers/types.d.ts +11 -0
  291. package/lib/multi-input/helpers/types.js +1 -0
  292. package/lib/multi-input/index.d.ts +297 -0
  293. package/lib/multi-input/index.js +591 -0
  294. package/lib/multi-input/themes/halo/dark/index.js +4 -0
  295. package/lib/multi-input/themes/halo/light/index.js +4 -0
  296. package/lib/multi-input/themes/solar/charcoal/index.js +4 -0
  297. package/lib/multi-input/themes/solar/pearl/index.js +4 -0
  298. package/lib/notification/custom-elements.json +95 -0
  299. package/lib/notification/elements/notification-tray.d.ts +97 -0
  300. package/lib/notification/elements/notification-tray.js +170 -0
  301. package/lib/notification/elements/notification.d.ts +90 -0
  302. package/lib/notification/elements/notification.js +157 -0
  303. package/lib/notification/helpers/status.d.ts +30 -0
  304. package/lib/notification/helpers/status.js +130 -0
  305. package/lib/notification/helpers/types.d.ts +10 -0
  306. package/lib/notification/helpers/types.js +1 -0
  307. package/lib/notification/index.d.ts +2 -0
  308. package/lib/notification/index.js +2 -0
  309. package/lib/notification/themes/halo/dark/index.js +5 -0
  310. package/lib/notification/themes/halo/light/index.js +5 -0
  311. package/lib/notification/themes/solar/charcoal/index.js +5 -0
  312. package/lib/notification/themes/solar/pearl/index.js +5 -0
  313. package/lib/number-field/custom-elements.json +200 -0
  314. package/lib/number-field/index.d.ts +294 -0
  315. package/lib/number-field/index.js +708 -0
  316. package/lib/number-field/themes/halo/dark/index.js +3 -0
  317. package/lib/number-field/themes/halo/light/index.js +3 -0
  318. package/lib/number-field/themes/solar/charcoal/index.js +3 -0
  319. package/lib/number-field/themes/solar/pearl/index.js +3 -0
  320. package/lib/overlay/custom-elements.json +342 -0
  321. package/lib/overlay/elements/overlay-backdrop.d.ts +46 -0
  322. package/lib/overlay/elements/overlay-backdrop.js +67 -0
  323. package/lib/overlay/elements/overlay-viewport.d.ts +40 -0
  324. package/lib/overlay/elements/overlay-viewport.js +56 -0
  325. package/lib/overlay/elements/overlay.d.ts +403 -0
  326. package/lib/overlay/elements/overlay.js +1427 -0
  327. package/lib/overlay/helpers/functions.d.ts +13 -0
  328. package/lib/overlay/helpers/functions.js +16 -0
  329. package/lib/overlay/helpers/types.d.ts +97 -0
  330. package/lib/overlay/helpers/types.js +16 -0
  331. package/lib/overlay/index.d.ts +2 -0
  332. package/lib/overlay/index.js +1 -0
  333. package/lib/overlay/managers/backdrop-manager.d.ts +45 -0
  334. package/lib/overlay/managers/backdrop-manager.js +96 -0
  335. package/lib/overlay/managers/close-manager.d.ts +54 -0
  336. package/lib/overlay/managers/close-manager.js +138 -0
  337. package/lib/overlay/managers/focus-manager.d.ts +71 -0
  338. package/lib/overlay/managers/focus-manager.js +228 -0
  339. package/lib/overlay/managers/interaction-lock-manager.d.ts +138 -0
  340. package/lib/overlay/managers/interaction-lock-manager.js +375 -0
  341. package/lib/overlay/managers/viewport-manager.d.ts +93 -0
  342. package/lib/overlay/managers/viewport-manager.js +207 -0
  343. package/lib/overlay/managers/zindex-manager.d.ts +80 -0
  344. package/lib/overlay/managers/zindex-manager.js +195 -0
  345. package/lib/overlay/themes/halo/dark/index.js +4 -0
  346. package/lib/overlay/themes/halo/light/index.js +4 -0
  347. package/lib/overlay/themes/solar/charcoal/index.js +4 -0
  348. package/lib/overlay/themes/solar/pearl/index.js +4 -0
  349. package/lib/overlay-menu/custom-elements.json +196 -0
  350. package/lib/overlay-menu/helpers/types.d.ts +8 -0
  351. package/lib/overlay-menu/helpers/types.js +1 -0
  352. package/lib/overlay-menu/helpers/uuid.d.ts +7 -0
  353. package/lib/overlay-menu/helpers/uuid.js +13 -0
  354. package/lib/overlay-menu/index.d.ts +380 -0
  355. package/lib/overlay-menu/index.js +921 -0
  356. package/lib/overlay-menu/managers/menu-manager.d.ts +98 -0
  357. package/lib/overlay-menu/managers/menu-manager.js +240 -0
  358. package/lib/overlay-menu/themes/halo/dark/index.js +5 -0
  359. package/lib/overlay-menu/themes/halo/light/index.js +5 -0
  360. package/lib/overlay-menu/themes/solar/charcoal/index.js +5 -0
  361. package/lib/overlay-menu/themes/solar/pearl/index.js +5 -0
  362. package/lib/pagination/custom-elements.json +93 -0
  363. package/lib/pagination/helpers/types.d.ts +9 -0
  364. package/lib/pagination/helpers/types.js +1 -0
  365. package/lib/pagination/index.d.ts +207 -0
  366. package/lib/pagination/index.js +400 -0
  367. package/lib/pagination/themes/halo/dark/index.js +6 -0
  368. package/lib/pagination/themes/halo/light/index.js +6 -0
  369. package/lib/pagination/themes/solar/charcoal/index.js +6 -0
  370. package/lib/pagination/themes/solar/pearl/index.js +6 -0
  371. package/lib/panel/custom-elements.json +39 -0
  372. package/lib/panel/index.d.ts +48 -0
  373. package/lib/panel/index.js +77 -0
  374. package/lib/panel/themes/halo/dark/index.js +2 -0
  375. package/lib/panel/themes/halo/light/index.js +2 -0
  376. package/lib/panel/themes/solar/charcoal/index.js +2 -0
  377. package/lib/panel/themes/solar/pearl/index.js +2 -0
  378. package/lib/password-field/custom-elements.json +156 -0
  379. package/lib/password-field/index.d.ts +140 -0
  380. package/lib/password-field/index.js +258 -0
  381. package/lib/password-field/themes/halo/dark/index.js +3 -0
  382. package/lib/password-field/themes/halo/light/index.js +3 -0
  383. package/lib/password-field/themes/solar/charcoal/index.js +3 -0
  384. package/lib/password-field/themes/solar/pearl/index.js +3 -0
  385. package/lib/pill/custom-elements.json +95 -0
  386. package/lib/pill/index.d.ts +97 -0
  387. package/lib/pill/index.js +162 -0
  388. package/lib/pill/themes/halo/dark/index.js +3 -0
  389. package/lib/pill/themes/halo/light/index.js +3 -0
  390. package/lib/pill/themes/solar/charcoal/index.js +3 -0
  391. package/lib/pill/themes/solar/pearl/index.js +3 -0
  392. package/lib/progress-bar/custom-elements.json +58 -0
  393. package/lib/progress-bar/index.d.ts +82 -0
  394. package/lib/progress-bar/index.js +159 -0
  395. package/lib/progress-bar/themes/halo/dark/index.js +2 -0
  396. package/lib/progress-bar/themes/halo/light/index.js +2 -0
  397. package/lib/progress-bar/themes/solar/charcoal/index.js +2 -0
  398. package/lib/progress-bar/themes/solar/pearl/index.js +2 -0
  399. package/lib/radio-button/custom-elements.json +84 -0
  400. package/lib/radio-button/index.d.ts +106 -0
  401. package/lib/radio-button/index.js +195 -0
  402. package/lib/radio-button/radio-button-registry.d.ts +21 -0
  403. package/lib/radio-button/radio-button-registry.js +40 -0
  404. package/lib/radio-button/themes/halo/dark/index.js +3 -0
  405. package/lib/radio-button/themes/halo/light/index.js +3 -0
  406. package/lib/radio-button/themes/solar/charcoal/index.js +3 -0
  407. package/lib/radio-button/themes/solar/pearl/index.js +3 -0
  408. package/lib/rating/custom-elements.json +58 -0
  409. package/lib/rating/index.d.ts +91 -0
  410. package/lib/rating/index.js +158 -0
  411. package/lib/rating/themes/halo/dark/index.js +2 -0
  412. package/lib/rating/themes/halo/light/index.js +2 -0
  413. package/lib/rating/themes/solar/charcoal/index.js +2 -0
  414. package/lib/rating/themes/solar/pearl/index.js +2 -0
  415. package/lib/search-field/custom-elements.json +173 -0
  416. package/lib/search-field/index.d.ts +134 -0
  417. package/lib/search-field/index.js +254 -0
  418. package/lib/search-field/themes/halo/dark/index.js +3 -0
  419. package/lib/search-field/themes/halo/light/index.js +3 -0
  420. package/lib/search-field/themes/solar/charcoal/index.js +3 -0
  421. package/lib/search-field/themes/solar/pearl/index.js +3 -0
  422. package/lib/select/custom-elements.json +103 -0
  423. package/lib/select/helpers/types.d.ts +3 -0
  424. package/lib/select/helpers/types.js +1 -0
  425. package/lib/select/index.d.ts +388 -0
  426. package/lib/select/index.js +942 -0
  427. package/lib/select/themes/halo/dark/index.js +5 -0
  428. package/lib/select/themes/halo/light/index.js +5 -0
  429. package/lib/select/themes/solar/charcoal/index.js +5 -0
  430. package/lib/select/themes/solar/pearl/index.js +5 -0
  431. package/lib/sidebar-layout/custom-elements.json +72 -0
  432. package/lib/sidebar-layout/index.d.ts +69 -0
  433. package/lib/sidebar-layout/index.js +135 -0
  434. package/lib/sidebar-layout/themes/halo/dark/index.js +3 -0
  435. package/lib/sidebar-layout/themes/halo/light/index.js +3 -0
  436. package/lib/sidebar-layout/themes/solar/charcoal/index.js +3 -0
  437. package/lib/sidebar-layout/themes/solar/pearl/index.js +3 -0
  438. package/lib/slider/custom-elements.json +181 -0
  439. package/lib/slider/index.d.ts +409 -0
  440. package/lib/slider/index.js +1188 -0
  441. package/lib/slider/themes/halo/dark/index.js +3 -0
  442. package/lib/slider/themes/halo/light/index.js +3 -0
  443. package/lib/slider/themes/solar/charcoal/index.js +3 -0
  444. package/lib/slider/themes/solar/pearl/index.js +3 -0
  445. package/lib/sparkline/custom-elements.json +59 -0
  446. package/lib/sparkline/index.d.ts +107 -0
  447. package/lib/sparkline/index.js +188 -0
  448. package/lib/sparkline/themes/halo/dark/index.js +2 -0
  449. package/lib/sparkline/themes/halo/light/index.js +2 -0
  450. package/lib/sparkline/themes/solar/charcoal/index.js +2 -0
  451. package/lib/sparkline/themes/solar/pearl/index.js +2 -0
  452. package/lib/swing-gauge/const.d.ts +22 -0
  453. package/lib/swing-gauge/const.js +26 -0
  454. package/lib/swing-gauge/custom-elements.json +109 -0
  455. package/lib/swing-gauge/helpers.d.ts +8 -0
  456. package/lib/swing-gauge/helpers.js +105 -0
  457. package/lib/swing-gauge/index.d.ts +294 -0
  458. package/lib/swing-gauge/index.js +762 -0
  459. package/lib/swing-gauge/themes/halo/dark/index.js +3 -0
  460. package/lib/swing-gauge/themes/halo/light/index.js +3 -0
  461. package/lib/swing-gauge/themes/solar/charcoal/index.js +3 -0
  462. package/lib/swing-gauge/themes/solar/pearl/index.js +3 -0
  463. package/lib/swing-gauge/types.d.ts +34 -0
  464. package/lib/swing-gauge/types.js +1 -0
  465. package/lib/tab/custom-elements.json +123 -0
  466. package/lib/tab/index.d.ts +118 -0
  467. package/lib/tab/index.js +211 -0
  468. package/lib/tab/themes/halo/dark/index.js +4 -0
  469. package/lib/tab/themes/halo/light/index.js +4 -0
  470. package/lib/tab/themes/solar/charcoal/index.js +4 -0
  471. package/lib/tab/themes/solar/pearl/index.js +4 -0
  472. package/lib/tab-bar/custom-elements.json +52 -0
  473. package/lib/tab-bar/helpers/animate.d.ts +16 -0
  474. package/lib/tab-bar/helpers/animate.js +53 -0
  475. package/lib/tab-bar/index.d.ts +108 -0
  476. package/lib/tab-bar/index.js +220 -0
  477. package/lib/tab-bar/themes/halo/dark/index.js +4 -0
  478. package/lib/tab-bar/themes/halo/light/index.js +4 -0
  479. package/lib/tab-bar/themes/solar/charcoal/index.js +4 -0
  480. package/lib/tab-bar/themes/solar/pearl/index.js +4 -0
  481. package/lib/text-field/custom-elements.json +210 -0
  482. package/lib/text-field/index.d.ts +171 -0
  483. package/lib/text-field/index.js +319 -0
  484. package/lib/text-field/themes/halo/dark/index.js +3 -0
  485. package/lib/text-field/themes/halo/light/index.js +3 -0
  486. package/lib/text-field/themes/solar/charcoal/index.js +3 -0
  487. package/lib/text-field/themes/solar/pearl/index.js +3 -0
  488. package/lib/time-picker/custom-elements.json +124 -0
  489. package/lib/time-picker/index.d.ts +379 -0
  490. package/lib/time-picker/index.js +777 -0
  491. package/lib/time-picker/themes/halo/dark/index.js +4 -0
  492. package/lib/time-picker/themes/halo/light/index.js +4 -0
  493. package/lib/time-picker/themes/solar/charcoal/index.js +4 -0
  494. package/lib/time-picker/themes/solar/pearl/index.js +4 -0
  495. package/lib/toggle/custom-elements.json +84 -0
  496. package/lib/toggle/index.d.ts +77 -0
  497. package/lib/toggle/index.js +134 -0
  498. package/lib/toggle/themes/halo/dark/index.js +2 -0
  499. package/lib/toggle/themes/halo/light/index.js +2 -0
  500. package/lib/toggle/themes/solar/charcoal/index.js +2 -0
  501. package/lib/toggle/themes/solar/pearl/index.js +2 -0
  502. package/lib/tooltip/custom-elements.json +62 -0
  503. package/lib/tooltip/elements/title-tooltip.d.ts +1 -0
  504. package/lib/tooltip/elements/title-tooltip.js +18 -0
  505. package/lib/tooltip/elements/tooltip-element.d.ts +21 -0
  506. package/lib/tooltip/elements/tooltip-element.js +54 -0
  507. package/lib/tooltip/helpers/overflow-tooltip.d.ts +9 -0
  508. package/lib/tooltip/helpers/overflow-tooltip.js +19 -0
  509. package/lib/tooltip/helpers/renderer.d.ts +8 -0
  510. package/lib/tooltip/helpers/renderer.js +11 -0
  511. package/lib/tooltip/helpers/types.d.ts +23 -0
  512. package/lib/tooltip/helpers/types.js +1 -0
  513. package/lib/tooltip/index.d.ts +232 -0
  514. package/lib/tooltip/index.js +479 -0
  515. package/lib/tooltip/managers/tooltip-manager.d.ts +15 -0
  516. package/lib/tooltip/managers/tooltip-manager.js +144 -0
  517. package/lib/tooltip/themes/halo/dark/index.js +3 -0
  518. package/lib/tooltip/themes/halo/light/index.js +3 -0
  519. package/lib/tooltip/themes/solar/charcoal/index.js +3 -0
  520. package/lib/tooltip/themes/solar/pearl/index.js +3 -0
  521. package/lib/tornado-chart/custom-elements.json +45 -0
  522. package/lib/tornado-chart/elements/tornado-chart.d.ts +78 -0
  523. package/lib/tornado-chart/elements/tornado-chart.js +125 -0
  524. package/lib/tornado-chart/elements/tornado-item.d.ts +110 -0
  525. package/lib/tornado-chart/elements/tornado-item.js +209 -0
  526. package/lib/tornado-chart/index.d.ts +2 -0
  527. package/lib/tornado-chart/index.js +2 -0
  528. package/lib/tornado-chart/themes/halo/dark/index.js +6 -0
  529. package/lib/tornado-chart/themes/halo/light/index.js +6 -0
  530. package/lib/tornado-chart/themes/solar/charcoal/index.js +6 -0
  531. package/lib/tornado-chart/themes/solar/pearl/index.js +6 -0
  532. package/lib/tree/custom-elements.json +100 -0
  533. package/lib/tree/elements/tree-item.d.ts +96 -0
  534. package/lib/tree/elements/tree-item.js +182 -0
  535. package/lib/tree/elements/tree.d.ts +156 -0
  536. package/lib/tree/elements/tree.js +286 -0
  537. package/lib/tree/helpers/renderer.d.ts +5 -0
  538. package/lib/tree/helpers/renderer.js +33 -0
  539. package/lib/tree/helpers/types.d.ts +17 -0
  540. package/lib/tree/helpers/types.js +1 -0
  541. package/lib/tree/index.d.ts +4 -0
  542. package/lib/tree/index.js +3 -0
  543. package/lib/tree/managers/tree-manager.d.ts +236 -0
  544. package/lib/tree/managers/tree-manager.js +379 -0
  545. package/lib/tree/themes/halo/dark/index.js +7 -0
  546. package/lib/tree/themes/halo/light/index.js +7 -0
  547. package/lib/tree/themes/solar/charcoal/index.js +7 -0
  548. package/lib/tree/themes/solar/pearl/index.js +7 -0
  549. package/lib/tree-select/custom-elements.json +107 -0
  550. package/lib/tree-select/helpers/types.d.ts +4 -0
  551. package/lib/tree-select/helpers/types.js +1 -0
  552. package/lib/tree-select/index.d.ts +400 -0
  553. package/lib/tree-select/index.js +881 -0
  554. package/lib/tree-select/themes/halo/dark/index.js +12 -0
  555. package/lib/tree-select/themes/halo/light/index.js +12 -0
  556. package/lib/tree-select/themes/solar/charcoal/index.js +12 -0
  557. package/lib/tree-select/themes/solar/pearl/index.js +12 -0
  558. package/package.json +9 -9
@@ -0,0 +1,143 @@
1
+ import { JSXInterface } from '../jsx';
2
+ import { BasicElement, TemplateResult, CSSResult, PropertyValues } from '@refinitiv-ui/core';
3
+ import '../canvas';
4
+ /**
5
+ * A component used to show data in a LED-like
6
+ * horizontal bar visualization.
7
+ */
8
+ export declare class LedGauge extends BasicElement {
9
+ /**
10
+ * Element version number
11
+ * @returns version number
12
+ */
13
+ static get version(): string;
14
+ private _zero;
15
+ constructor();
16
+ /**
17
+ * A `CSSResult` that will be used
18
+ * to style the host, slotted children
19
+ * and the internal template of the element.
20
+ * @return CSS template
21
+ */
22
+ static get styles(): CSSResult;
23
+ /**
24
+ * Value of bar for top legend position
25
+ * Value can be -100 to 100
26
+ */
27
+ topValue: number | null;
28
+ /**
29
+ * Value of bar for bottom legend position
30
+ * Value can be -100 to 100
31
+ */
32
+ bottomValue: number | null;
33
+ /**
34
+ * Value of range. eg [-20, 70]
35
+ */
36
+ range: number[];
37
+ /**
38
+ * Label to be displayed in the top legend
39
+ */
40
+ topLabel: string;
41
+ /**
42
+ * Label to be displayed in the bottom legend
43
+ */
44
+ bottomLabel: string;
45
+ /**
46
+ * Label to be displayed in the bottom legend
47
+ * when a range is displayed
48
+ * and no bottom text is already set.
49
+ */
50
+ rangeLabel: string;
51
+ /**
52
+ * Turn off background color and use grey
53
+ * @default false
54
+ */
55
+ neutralColor: boolean;
56
+ /**
57
+ * Sets the zero scale position. [center, left, right]
58
+ * @default center
59
+ */
60
+ get zero(): string;
61
+ set zero(val: string);
62
+ private get _shadowRoot();
63
+ /**
64
+ * Canvas in ef-canvas
65
+ */
66
+ private get canvas();
67
+ /**
68
+ * The 2 dimensional context of the canvas, used for drawing
69
+ */
70
+ private get ctx();
71
+ /**
72
+ * Min value of gauge
73
+ * @default 0
74
+ */
75
+ private get min();
76
+ /**
77
+ * Max value of gauge
78
+ * @default 100
79
+ */
80
+ private get max();
81
+ /**
82
+ * Invoked whenever the element is update
83
+ * @param changedProperties changed properties
84
+ * @returns {void}
85
+ */
86
+ protected update(changedProperties: PropertyValues): void;
87
+ /**
88
+ * @param barCount bar count for calculate positions
89
+ * @param val value for calculate positions
90
+ * @returns value bar index
91
+ */
92
+ private getValueBarIndex;
93
+ /**
94
+ * @param varName css variable name
95
+ * @returns {void}
96
+ */
97
+ private fillBarColor;
98
+ /**
99
+ * @param idx index of bar for find what section it belongs
100
+ * @param sectionLength length of section for find section color
101
+ * @param barAmount bar amount
102
+ * @returns color variable name
103
+ */
104
+ private getBarColor;
105
+ /**
106
+ * @param id id of the label can be top, bottom or range
107
+ * @param labelPos position of label in pixel
108
+ * @returns {void}
109
+ */
110
+ private updateLabelPosition;
111
+ /**
112
+ * Render a led-gauge bar in canvas
113
+ * @returns {void}
114
+ */
115
+ private renderBarGauge;
116
+ /**
117
+ * @param value value of gauge bar
118
+ * @param label user label
119
+ * @param id id of template
120
+ * @returns template to render
121
+ */
122
+ private createLabelTemplate;
123
+ /**
124
+ * A `TemplateResult` that will be used
125
+ * to render the updated internal template.
126
+ * @return Render template
127
+ */
128
+ protected render(): TemplateResult;
129
+ }
130
+
131
+ declare global {
132
+ interface HTMLElementTagNameMap {
133
+ 'ef-led-gauge': LedGauge;
134
+ }
135
+
136
+ namespace JSX {
137
+ interface IntrinsicElements {
138
+ 'ef-led-gauge': Partial<LedGauge> | JSXInterface.HTMLAttributes<LedGauge>;
139
+ }
140
+ }
141
+ }
142
+
143
+ export {};
@@ -0,0 +1,440 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { BasicElement, html, css, customElement, property } from '@refinitiv-ui/core';
8
+ import { VERSION } from '../';
9
+ import '../canvas';
10
+ const ZERO_MAP = {
11
+ LEFT: 'left',
12
+ CENTER: 'center',
13
+ RIGHT: 'right'
14
+ };
15
+ const MAX_VALUE = 100; // Max value of led-gauge can't be changed by user
16
+ const SECTION_DIVIDER = 5; // To separate led-gauge to 5 sections
17
+ /**
18
+ * A component used to show data in a LED-like
19
+ * horizontal bar visualization.
20
+ */
21
+ let LedGauge = class LedGauge extends BasicElement {
22
+ constructor() {
23
+ super();
24
+ /**
25
+ * Value of bar for top legend position
26
+ * Value can be -100 to 100
27
+ */
28
+ this.topValue = null;
29
+ /**
30
+ * Value of bar for bottom legend position
31
+ * Value can be -100 to 100
32
+ */
33
+ this.bottomValue = null;
34
+ /**
35
+ * Value of range. eg [-20, 70]
36
+ */
37
+ this.range = [];
38
+ /**
39
+ * Label to be displayed in the top legend
40
+ */
41
+ this.topLabel = '';
42
+ /**
43
+ * Label to be displayed in the bottom legend
44
+ */
45
+ this.bottomLabel = '';
46
+ /**
47
+ * Label to be displayed in the bottom legend
48
+ * when a range is displayed
49
+ * and no bottom text is already set.
50
+ */
51
+ this.rangeLabel = '';
52
+ /**
53
+ * Turn off background color and use grey
54
+ * @default false
55
+ */
56
+ this.neutralColor = false;
57
+ this._zero = ZERO_MAP.CENTER;
58
+ }
59
+ /**
60
+ * Element version number
61
+ * @returns version number
62
+ */
63
+ static get version() {
64
+ return VERSION;
65
+ }
66
+ /**
67
+ * A `CSSResult` that will be used
68
+ * to style the host, slotted children
69
+ * and the internal template of the element.
70
+ * @return CSS template
71
+ */
72
+ static get styles() {
73
+ return css `
74
+
75
+ :host {
76
+ display: block;
77
+ position: relative;
78
+ overflow: hidden;
79
+ padding: 20px;
80
+ box-sizing: border-box;
81
+ }
82
+
83
+ [part=label] {
84
+ display: block;
85
+ position: absolute;
86
+ left: 0;
87
+ bottom: 100%;
88
+ width: 100%;
89
+ margin-left: -50%;
90
+ text-align: center;
91
+ box-sizing: border-box;
92
+ user-select: none;
93
+ pointer-events: none;
94
+ white-space: nowrap;
95
+ overflow: hidden;
96
+ text-overflow: ellipsis;
97
+ }
98
+
99
+ #top {
100
+ color: var(--top-selected-color, transparent);
101
+ }
102
+
103
+ #bottom, #range {
104
+ top: 100%;
105
+ bottom: auto;
106
+ color: var(--bottom-selected-color, transparent);
107
+ }
108
+
109
+ #range {
110
+ color: var(--range-color, transparent);
111
+ }
112
+
113
+ section {
114
+ position: relative;
115
+ height: 100%;
116
+ }
117
+
118
+ ef-canvas {
119
+ width: 100%;
120
+ height: 100%;
121
+ display: block;
122
+ }
123
+ `;
124
+ }
125
+ /**
126
+ * Sets the zero scale position. [center, left, right]
127
+ * @default center
128
+ */
129
+ get zero() {
130
+ return this._zero;
131
+ }
132
+ set zero(val) {
133
+ const oldValue = this._zero;
134
+ const value = val.toLowerCase();
135
+ const pos = [ZERO_MAP.LEFT, ZERO_MAP.CENTER, ZERO_MAP.RIGHT];
136
+ if (pos.includes(value)) {
137
+ this._zero = value;
138
+ }
139
+ else {
140
+ this._zero = ZERO_MAP.CENTER;
141
+ }
142
+ void this.requestUpdate('zero', oldValue);
143
+ }
144
+ get _shadowRoot() {
145
+ if (!this.shadowRoot) {
146
+ throw new Error('Your browser not support Shadow DOM or your Shadow DOM is closed.');
147
+ }
148
+ return this.shadowRoot;
149
+ }
150
+ /**
151
+ * Canvas in ef-canvas
152
+ */
153
+ get canvas() {
154
+ const efCanvas = this._shadowRoot.querySelector('ef-canvas');
155
+ if (efCanvas && efCanvas.shadowRoot) {
156
+ return efCanvas.shadowRoot.getElementById('canvas');
157
+ }
158
+ else {
159
+ throw new Error('ef-canvas is not defined.');
160
+ }
161
+ }
162
+ /**
163
+ * The 2 dimensional context of the canvas, used for drawing
164
+ */
165
+ get ctx() {
166
+ return this.canvas.getContext('2d');
167
+ }
168
+ /**
169
+ * Min value of gauge
170
+ * @default 0
171
+ */
172
+ get min() {
173
+ return this.zero !== ZERO_MAP.CENTER ? 0 : -this.max;
174
+ }
175
+ /**
176
+ * Max value of gauge
177
+ * @default 100
178
+ */
179
+ get max() {
180
+ return MAX_VALUE;
181
+ }
182
+ /**
183
+ * Invoked whenever the element is update
184
+ * @param changedProperties changed properties
185
+ * @returns {void}
186
+ */
187
+ update(changedProperties) {
188
+ super.update(changedProperties);
189
+ // re-render canvas every time properties, has been updated
190
+ this.renderBarGauge();
191
+ }
192
+ /**
193
+ * @param barCount bar count for calculate positions
194
+ * @param val value for calculate positions
195
+ * @returns value bar index
196
+ */
197
+ getValueBarIndex(barCount, val) {
198
+ if (val === null) {
199
+ return null;
200
+ }
201
+ if (val < this.min) {
202
+ val = this.min;
203
+ }
204
+ else if (val > this.max) {
205
+ val = this.max;
206
+ }
207
+ const positions = (barCount - 1);
208
+ if (this.zero === ZERO_MAP.LEFT) {
209
+ return Math.round(positions * val / this.max);
210
+ }
211
+ if (this.zero === ZERO_MAP.RIGHT) {
212
+ return Math.round(positions - positions * val / this.max);
213
+ }
214
+ return Math.round(positions * (val / 2 + this.max / 2) / this.max);
215
+ }
216
+ /**
217
+ * @param varName css variable name
218
+ * @returns {void}
219
+ */
220
+ fillBarColor(varName) {
221
+ if (this.ctx) {
222
+ this.ctx.fillStyle = this.getComputedVariable(varName);
223
+ }
224
+ }
225
+ /**
226
+ * @param idx index of bar for find what section it belongs
227
+ * @param sectionLength length of section for find section color
228
+ * @param barAmount bar amount
229
+ * @returns color variable name
230
+ */
231
+ getBarColor(idx, sectionLength, barAmount) {
232
+ let barColor = '';
233
+ if (this.neutralColor) {
234
+ barColor = '--neutral-color';
235
+ }
236
+ else if (idx < Math.floor(sectionLength)) {
237
+ barColor = '--left-segment-color';
238
+ }
239
+ else if (idx < Math.floor(sectionLength * 2)) {
240
+ barColor = '--center-left-segment-color';
241
+ }
242
+ else if (idx < Math.floor(sectionLength * 2) + Math.ceil(sectionLength)) {
243
+ barColor = '--center-segment-color';
244
+ }
245
+ else if (idx >= barAmount - Math.floor(sectionLength)) {
246
+ barColor = '--right-segment-color';
247
+ }
248
+ else if (idx >= barAmount - Math.floor(sectionLength * 2)) {
249
+ barColor = '--center-right-segment-color';
250
+ }
251
+ else {
252
+ barColor = '--center-segment-color';
253
+ }
254
+ return barColor;
255
+ }
256
+ /**
257
+ * @param id id of the label can be top, bottom or range
258
+ * @param labelPos position of label in pixel
259
+ * @returns {void}
260
+ */
261
+ updateLabelPosition(id, labelPos) {
262
+ if (!labelPos) {
263
+ return;
264
+ }
265
+ const elem = this._shadowRoot.getElementById(id);
266
+ if (elem) {
267
+ elem.style.left = labelPos;
268
+ }
269
+ }
270
+ /**
271
+ * Render a led-gauge bar in canvas
272
+ * @returns {void}
273
+ */
274
+ renderBarGauge() {
275
+ if (!this.isConnected || !this.canvas) {
276
+ return;
277
+ }
278
+ const barWidth = parseInt(this.getComputedVariable('--led-width', '9px'), 10);
279
+ const barSpacing = parseInt(this.getComputedVariable('--led-spacing', '4px'), 10);
280
+ const barTotalWidth = barWidth + barSpacing;
281
+ const width = parseInt(this.canvas.style.width, 10);
282
+ const height = parseInt(this.canvas.style.height, 10);
283
+ let barAmount = Math.floor(width / barTotalWidth);
284
+ // To ensure we have middle bar
285
+ if (barAmount % 2 === 0) {
286
+ barAmount--;
287
+ }
288
+ const topValueBarIndex = this.getValueBarIndex(barAmount, this.topValue);
289
+ const bottomValueBarIndex = this.getValueBarIndex(barAmount, this.bottomValue);
290
+ const sectionLength = barAmount / SECTION_DIVIDER; // devided gauge to 5 sections
291
+ const spacingOffset = barSpacing / 2;
292
+ const basePos = width / 2 - barAmount / 2 * barTotalWidth + spacingOffset; // starter point
293
+ const rangeValueBarIndexes = [];
294
+ let rangeMidIndex = 0;
295
+ // Find value bar indexes and mid position of bar gauge
296
+ if (this.range && this.range.length === 2) {
297
+ this.neutralColor = true;
298
+ const range = [];
299
+ for (let i = 0; i < this.range.length; i++) {
300
+ const index = this.getValueBarIndex(barAmount, this.range[i]);
301
+ if (index !== null) {
302
+ range.push(index);
303
+ }
304
+ }
305
+ for (let val = range[0]; val <= range[1]; val++) {
306
+ rangeValueBarIndexes.push(val);
307
+ }
308
+ const midPos = Math.floor(rangeValueBarIndexes.length / 2);
309
+ rangeMidIndex = rangeValueBarIndexes[midPos];
310
+ }
311
+ // Reset canvas before starting painted
312
+ this.ctx.clearRect(0, 0, width, height);
313
+ // Start painting
314
+ for (let i = 0; i < barAmount; i++) {
315
+ this.ctx.fillStyle = 'transparent';
316
+ let isHitValue = false;
317
+ // Found top value position
318
+ if (i === topValueBarIndex) {
319
+ this.fillBarColor('--top-selected-color');
320
+ isHitValue = true;
321
+ }
322
+ // Found bottom value position
323
+ if (i === bottomValueBarIndex) {
324
+ // In case top & bottom value are in the same position
325
+ if (i === topValueBarIndex) {
326
+ this.fillBarColor('--clash-color');
327
+ }
328
+ else {
329
+ this.fillBarColor('--bottom-selected-color');
330
+ }
331
+ isHitValue = true;
332
+ }
333
+ // Get section color and fill the bar color
334
+ if (!isHitValue) {
335
+ // Painted range color first to allow override bar color
336
+ if (rangeValueBarIndexes.includes(i)) {
337
+ this.fillBarColor('--range-color');
338
+ }
339
+ else {
340
+ const barColor = this.getBarColor(i, sectionLength, barAmount);
341
+ this.fillBarColor(barColor);
342
+ }
343
+ }
344
+ const barHeight = isHitValue ? height : Math.round(height * 0.47);
345
+ // Draw a bar
346
+ this.ctx.fillRect(Math.round(basePos + i * barTotalWidth), // x
347
+ Math.round(height / 2 - barHeight / 2), // y
348
+ barWidth, // width
349
+ barHeight // height
350
+ );
351
+ }
352
+ const labelOffset = barWidth / 2;
353
+ // Calculate label position
354
+ const getLabelPos = (idx) => {
355
+ if (idx === null) {
356
+ return '';
357
+ }
358
+ return `${Math.round(basePos + idx * barTotalWidth + labelOffset)}px`;
359
+ };
360
+ // Updated top label position
361
+ if (this.topValue !== null) {
362
+ this.updateLabelPosition('top', getLabelPos(topValueBarIndex));
363
+ }
364
+ // Updated bottom label position
365
+ if (this.bottomValue !== null) {
366
+ this.updateLabelPosition('bottom', getLabelPos(bottomValueBarIndex));
367
+ }
368
+ // Updated range label position
369
+ if (this.range && this.range.length === 2) {
370
+ this.updateLabelPosition('range', getLabelPos(rangeMidIndex));
371
+ }
372
+ }
373
+ /**
374
+ * @param value value of gauge bar
375
+ * @param label user label
376
+ * @param id id of template
377
+ * @returns template to render
378
+ */
379
+ createLabelTemplate(value, label, id) {
380
+ if (value === null) {
381
+ return null;
382
+ }
383
+ const template = html `<span part="label" id=${id}>${label}</span>`;
384
+ if (typeof value === 'number') {
385
+ return template;
386
+ }
387
+ // Value is a range type
388
+ else {
389
+ if (value && value.length === 2 && !(this.bottomLabel && typeof this.bottomValue === 'number')) {
390
+ return template;
391
+ }
392
+ return null;
393
+ }
394
+ }
395
+ /**
396
+ * A `TemplateResult` that will be used
397
+ * to render the updated internal template.
398
+ * @return Render template
399
+ */
400
+ render() {
401
+ return html `
402
+ <section>
403
+ <ef-canvas @resize=${this.renderBarGauge.bind(this)}></ef-canvas>
404
+ ${this.createLabelTemplate(this.topValue, this.topLabel, 'top')}
405
+ ${this.createLabelTemplate(this.bottomValue, this.bottomLabel, 'bottom')}
406
+ ${this.createLabelTemplate(this.range, this.rangeLabel, 'range')}
407
+ </section>
408
+ `;
409
+ }
410
+ };
411
+ __decorate([
412
+ property({ type: Number, attribute: 'top-value' })
413
+ ], LedGauge.prototype, "topValue", void 0);
414
+ __decorate([
415
+ property({ type: Number, attribute: 'bottom-value' })
416
+ ], LedGauge.prototype, "bottomValue", void 0);
417
+ __decorate([
418
+ property({ type: Array })
419
+ ], LedGauge.prototype, "range", void 0);
420
+ __decorate([
421
+ property({ type: String, attribute: 'top-label' })
422
+ ], LedGauge.prototype, "topLabel", void 0);
423
+ __decorate([
424
+ property({ type: String, attribute: 'bottom-label' })
425
+ ], LedGauge.prototype, "bottomLabel", void 0);
426
+ __decorate([
427
+ property({ type: String, attribute: 'range-label' })
428
+ ], LedGauge.prototype, "rangeLabel", void 0);
429
+ __decorate([
430
+ property({ type: Boolean, attribute: 'neutral-color' })
431
+ ], LedGauge.prototype, "neutralColor", void 0);
432
+ __decorate([
433
+ property({ type: String })
434
+ ], LedGauge.prototype, "zero", null);
435
+ LedGauge = __decorate([
436
+ customElement('ef-led-gauge', {
437
+ alias: 'sapphire-led-gauge'
438
+ })
439
+ ], LedGauge);
440
+ export { LedGauge };
@@ -0,0 +1,3 @@
1
+ import '@refinitiv-ui/elements/lib/canvas/themes/halo/dark';
2
+
3
+ elf.customStyles.define('ef-led-gauge', ':host{font-size:12px;--led-width:8px;--led-spacing:3px;--top-selected-color:#6678FF;--bottom-selected-color:#6678FF;--clash-color:#ffffff;--range-color:#c948a2;--neutral-color:#7a7a7a;--left-segment-color:#932b37;--center-left-segment-color:#60111a;--center-segment-color:#7a7a7a;--center-right-segment-color:#144628;--right-segment-color:#227642;height:68px;--led-width:5px;--led-spacing:1px;--left-segment-color:#B72536;--center-left-segment-color:#F5475B;--center-segment-color:#808080;--center-right-segment-color:#39C46E;--right-segment-color:#227542;--range-color:#6678FF;--top-selected-color:#6678FF;--bottom-selected-color:#F5475B}:host [part=label]{padding:3px}');
@@ -0,0 +1,3 @@
1
+ import '@refinitiv-ui/elements/lib/canvas/themes/halo/light';
2
+
3
+ elf.customStyles.define('ef-led-gauge', ':host{font-size:12px;--led-width:8px;--led-spacing:3px;--top-selected-color:#334BFF;--bottom-selected-color:#334BFF;--clash-color:#000000;--range-color:#fc73d2;--neutral-color:#b8b8b8;--left-segment-color:#B63243;--center-left-segment-color:#f3c5cb;--center-segment-color:#b8b8b8;--center-right-segment-color:#a8e2be;--right-segment-color:#246B3E;height:68px;--led-width:5px;--led-spacing:1px;--left-segment-color:#B63243;--center-left-segment-color:#D94255;--center-segment-color:#808080;--center-right-segment-color:#309054;--right-segment-color:#246B3E;--range-color:#334BFF;--top-selected-color:#334BFF;--bottom-selected-color:#F5475B}:host [part=label]{padding:3px}');
@@ -0,0 +1,3 @@
1
+ import '@refinitiv-ui/elements/lib/canvas/themes/solar/charcoal';
2
+
3
+ elf.customStyles.define('ef-led-gauge', ':host{--led-width:8px;--led-spacing:3px;--top-selected-color:#FF9933;--bottom-selected-color:#FF9933;--clash-color:#ffffff;--range-color:#c948a2;--neutral-color:#747474;--left-segment-color:#932b37;--center-left-segment-color:#521822;--center-segment-color:#747474;--center-right-segment-color:#11472d;--right-segment-color:#227642;height:68px;font-size:10px;--led-width:5px;--led-spacing:4px;--top-selected-color:#FF9933;--bottom-selected-color:#46A0F0;--range-color:#2277AA}:host [part=label]{padding:2px}');
@@ -0,0 +1,3 @@
1
+ import '@refinitiv-ui/elements/lib/canvas/themes/solar/pearl';
2
+
3
+ elf.customStyles.define('ef-led-gauge', ':host{--led-width:8px;--led-spacing:3px;--top-selected-color:#EE7600;--bottom-selected-color:#EE7600;--clash-color:#000000;--range-color:#fc73d2;--neutral-color:#e2e4e6;--left-segment-color:#D94255;--center-left-segment-color:#f4b0bc;--center-segment-color:#e2e4e6;--center-right-segment-color:#a7e7c9;--right-segment-color:#309054;height:68px;font-size:10px;--led-width:5px;--led-spacing:4px;--top-selected-color:#EE7600;--bottom-selected-color:#0080F0;--range-color:#00B0FF}:host [part=label]{padding:2px}');