@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,437 @@
1
+ import { __decorate } from "tslib";
2
+ import { BasicElement, html, css } from '@refinitiv-ui/core';
3
+ import { customElement } from '@refinitiv-ui/core/lib/decorators/custom-element.js';
4
+ import { property } from '@refinitiv-ui/core/lib/decorators/property.js';
5
+ import { VERSION } from '../version.js';
6
+ import '../canvas/index.js';
7
+ const ZERO_MAP = {
8
+ LEFT: 'left',
9
+ CENTER: 'center',
10
+ RIGHT: 'right'
11
+ };
12
+ const MAX_VALUE = 100; // Max value of led-gauge can't be changed by user
13
+ const SECTION_DIVIDER = 5; // To separate led-gauge to 5 sections
14
+ /**
15
+ * A component used to show data in a LED-like
16
+ * horizontal bar visualization.
17
+ */
18
+ let LedGauge = class LedGauge extends BasicElement {
19
+ constructor() {
20
+ super();
21
+ /**
22
+ * Value of bar for top legend position
23
+ * Value can be -100 to 100
24
+ */
25
+ this.topValue = null;
26
+ /**
27
+ * Value of bar for bottom legend position
28
+ * Value can be -100 to 100
29
+ */
30
+ this.bottomValue = null;
31
+ /**
32
+ * Value of range. eg [-20, 70]
33
+ */
34
+ this.range = [];
35
+ /**
36
+ * Label to be displayed in the top legend
37
+ */
38
+ this.topLabel = '';
39
+ /**
40
+ * Label to be displayed in the bottom legend
41
+ */
42
+ this.bottomLabel = '';
43
+ /**
44
+ * Label to be displayed in the bottom legend
45
+ * when a range is displayed
46
+ * and no bottom text is already set.
47
+ */
48
+ this.rangeLabel = '';
49
+ /**
50
+ * Turn off background color and use grey
51
+ * @default false
52
+ */
53
+ this.neutralColor = false;
54
+ this._zero = ZERO_MAP.CENTER;
55
+ }
56
+ /**
57
+ * Element version number
58
+ * @returns version number
59
+ */
60
+ static get version() {
61
+ return VERSION;
62
+ }
63
+ /**
64
+ * A `CSSResultGroup` that will be used
65
+ * to style the host, slotted children
66
+ * and the internal template of the element.
67
+ * @return CSS template
68
+ */
69
+ static get styles() {
70
+ return css `
71
+
72
+ :host {
73
+ display: block;
74
+ position: relative;
75
+ overflow: hidden;
76
+ padding: 20px;
77
+ box-sizing: border-box;
78
+ }
79
+
80
+ [part=label] {
81
+ display: block;
82
+ position: absolute;
83
+ left: 0;
84
+ bottom: 100%;
85
+ width: 100%;
86
+ margin-left: -50%;
87
+ text-align: center;
88
+ box-sizing: border-box;
89
+ user-select: none;
90
+ pointer-events: none;
91
+ white-space: nowrap;
92
+ overflow: hidden;
93
+ text-overflow: ellipsis;
94
+ }
95
+
96
+ #top {
97
+ color: var(--top-selected-color, transparent);
98
+ }
99
+
100
+ #bottom, #range {
101
+ top: 100%;
102
+ bottom: auto;
103
+ color: var(--bottom-selected-color, transparent);
104
+ }
105
+
106
+ #range {
107
+ color: var(--range-color, transparent);
108
+ }
109
+
110
+ section {
111
+ position: relative;
112
+ height: 100%;
113
+ }
114
+
115
+ ef-canvas {
116
+ width: 100%;
117
+ height: 100%;
118
+ display: block;
119
+ }
120
+ `;
121
+ }
122
+ /**
123
+ * Sets the zero scale position. [center, left, right]
124
+ * @default center
125
+ */
126
+ get zero() {
127
+ return this._zero;
128
+ }
129
+ set zero(val) {
130
+ const oldValue = this._zero;
131
+ const value = val.toLowerCase();
132
+ const pos = [ZERO_MAP.LEFT, ZERO_MAP.CENTER, ZERO_MAP.RIGHT];
133
+ if (pos.includes(value)) {
134
+ this._zero = value;
135
+ }
136
+ else {
137
+ this._zero = ZERO_MAP.CENTER;
138
+ }
139
+ this.requestUpdate('zero', oldValue);
140
+ }
141
+ get _shadowRoot() {
142
+ if (!this.shadowRoot) {
143
+ throw new Error('Your browser not support Shadow DOM or your Shadow DOM is closed.');
144
+ }
145
+ return this.shadowRoot;
146
+ }
147
+ /**
148
+ * Canvas in ef-canvas
149
+ */
150
+ get canvas() {
151
+ const efCanvas = this._shadowRoot.querySelector('ef-canvas');
152
+ if (efCanvas && efCanvas.shadowRoot) {
153
+ return efCanvas.shadowRoot.getElementById('canvas');
154
+ }
155
+ else {
156
+ throw new Error('ef-canvas is not defined.');
157
+ }
158
+ }
159
+ /**
160
+ * The 2 dimensional context of the canvas, used for drawing
161
+ */
162
+ get ctx() {
163
+ return this.canvas.getContext('2d');
164
+ }
165
+ /**
166
+ * Min value of gauge
167
+ * @default 0
168
+ */
169
+ get min() {
170
+ return this.zero !== ZERO_MAP.CENTER ? 0 : -this.max;
171
+ }
172
+ /**
173
+ * Max value of gauge
174
+ * @default 100
175
+ */
176
+ get max() {
177
+ return MAX_VALUE;
178
+ }
179
+ /**
180
+ * Invoked whenever the element is update
181
+ * @param changedProperties changed properties
182
+ * @returns {void}
183
+ */
184
+ update(changedProperties) {
185
+ super.update(changedProperties);
186
+ // re-render canvas every time properties, has been updated
187
+ this.renderBarGauge();
188
+ }
189
+ /**
190
+ * @param barCount bar count for calculate positions
191
+ * @param val value for calculate positions
192
+ * @returns value bar index
193
+ */
194
+ getValueBarIndex(barCount, val) {
195
+ if (val === null) {
196
+ return null;
197
+ }
198
+ if (val < this.min) {
199
+ val = this.min;
200
+ }
201
+ else if (val > this.max) {
202
+ val = this.max;
203
+ }
204
+ const positions = (barCount - 1);
205
+ if (this.zero === ZERO_MAP.LEFT) {
206
+ return Math.round(positions * val / this.max);
207
+ }
208
+ if (this.zero === ZERO_MAP.RIGHT) {
209
+ return Math.round(positions - positions * val / this.max);
210
+ }
211
+ return Math.round(positions * (val / 2 + this.max / 2) / this.max);
212
+ }
213
+ /**
214
+ * @param varName css variable name
215
+ * @returns {void}
216
+ */
217
+ fillBarColor(varName) {
218
+ if (this.ctx) {
219
+ this.ctx.fillStyle = this.getComputedVariable(varName);
220
+ }
221
+ }
222
+ /**
223
+ * @param idx index of bar for find what section it belongs
224
+ * @param sectionLength length of section for find section color
225
+ * @param barAmount bar amount
226
+ * @returns color variable name
227
+ */
228
+ getBarColor(idx, sectionLength, barAmount) {
229
+ let barColor = '';
230
+ if (this.neutralColor) {
231
+ barColor = '--neutral-color';
232
+ }
233
+ else if (idx < Math.floor(sectionLength)) {
234
+ barColor = '--left-segment-color';
235
+ }
236
+ else if (idx < Math.floor(sectionLength * 2)) {
237
+ barColor = '--center-left-segment-color';
238
+ }
239
+ else if (idx < Math.floor(sectionLength * 2) + Math.ceil(sectionLength)) {
240
+ barColor = '--center-segment-color';
241
+ }
242
+ else if (idx >= barAmount - Math.floor(sectionLength)) {
243
+ barColor = '--right-segment-color';
244
+ }
245
+ else if (idx >= barAmount - Math.floor(sectionLength * 2)) {
246
+ barColor = '--center-right-segment-color';
247
+ }
248
+ else {
249
+ barColor = '--center-segment-color';
250
+ }
251
+ return barColor;
252
+ }
253
+ /**
254
+ * @param id id of the label can be top, bottom or range
255
+ * @param labelPos position of label in pixel
256
+ * @returns {void}
257
+ */
258
+ updateLabelPosition(id, labelPos) {
259
+ if (!labelPos) {
260
+ return;
261
+ }
262
+ const elem = this._shadowRoot.getElementById(id);
263
+ if (elem) {
264
+ elem.style.left = labelPos;
265
+ }
266
+ }
267
+ /**
268
+ * Render a led-gauge bar in canvas
269
+ * @returns {void}
270
+ */
271
+ renderBarGauge() {
272
+ if (!this.isConnected || !this.canvas) {
273
+ return;
274
+ }
275
+ const barWidth = parseInt(this.getComputedVariable('--led-width', '9px'), 10);
276
+ const barSpacing = parseInt(this.getComputedVariable('--led-spacing', '4px'), 10);
277
+ const barTotalWidth = barWidth + barSpacing;
278
+ const width = parseInt(this.canvas.style.width, 10);
279
+ const height = parseInt(this.canvas.style.height, 10);
280
+ let barAmount = Math.floor(width / barTotalWidth);
281
+ // To ensure we have middle bar
282
+ if (barAmount % 2 === 0) {
283
+ barAmount--;
284
+ }
285
+ const topValueBarIndex = this.getValueBarIndex(barAmount, this.topValue);
286
+ const bottomValueBarIndex = this.getValueBarIndex(barAmount, this.bottomValue);
287
+ const sectionLength = barAmount / SECTION_DIVIDER; // devided gauge to 5 sections
288
+ const spacingOffset = barSpacing / 2;
289
+ const basePos = width / 2 - barAmount / 2 * barTotalWidth + spacingOffset; // starter point
290
+ const rangeValueBarIndexes = [];
291
+ let rangeMidIndex = 0;
292
+ // Find value bar indexes and mid position of bar gauge
293
+ if (this.range && this.range.length === 2) {
294
+ this.neutralColor = true;
295
+ const range = [];
296
+ for (let i = 0; i < this.range.length; i++) {
297
+ const index = this.getValueBarIndex(barAmount, this.range[i]);
298
+ if (index !== null) {
299
+ range.push(index);
300
+ }
301
+ }
302
+ for (let val = range[0]; val <= range[1]; val++) {
303
+ rangeValueBarIndexes.push(val);
304
+ }
305
+ const midPos = Math.floor(rangeValueBarIndexes.length / 2);
306
+ rangeMidIndex = rangeValueBarIndexes[midPos];
307
+ }
308
+ // Reset canvas before starting painted
309
+ this.ctx.clearRect(0, 0, width, height);
310
+ // Start painting
311
+ for (let i = 0; i < barAmount; i++) {
312
+ this.ctx.fillStyle = 'transparent';
313
+ let isHitValue = false;
314
+ // Found top value position
315
+ if (i === topValueBarIndex) {
316
+ this.fillBarColor('--top-selected-color');
317
+ isHitValue = true;
318
+ }
319
+ // Found bottom value position
320
+ if (i === bottomValueBarIndex) {
321
+ // In case top & bottom value are in the same position
322
+ if (i === topValueBarIndex) {
323
+ this.fillBarColor('--clash-color');
324
+ }
325
+ else {
326
+ this.fillBarColor('--bottom-selected-color');
327
+ }
328
+ isHitValue = true;
329
+ }
330
+ // Get section color and fill the bar color
331
+ if (!isHitValue) {
332
+ // Painted range color first to allow override bar color
333
+ if (rangeValueBarIndexes.includes(i)) {
334
+ this.fillBarColor('--range-color');
335
+ }
336
+ else {
337
+ const barColor = this.getBarColor(i, sectionLength, barAmount);
338
+ this.fillBarColor(barColor);
339
+ }
340
+ }
341
+ const barHeight = isHitValue ? height : Math.round(height * 0.47);
342
+ // Draw a bar
343
+ this.ctx.fillRect(Math.round(basePos + i * barTotalWidth), // x
344
+ Math.round(height / 2 - barHeight / 2), // y
345
+ barWidth, // width
346
+ barHeight // height
347
+ );
348
+ }
349
+ const labelOffset = barWidth / 2;
350
+ // Calculate label position
351
+ const getLabelPos = (idx) => {
352
+ if (idx === null) {
353
+ return '';
354
+ }
355
+ return `${Math.round(basePos + idx * barTotalWidth + labelOffset)}px`;
356
+ };
357
+ // Updated top label position
358
+ if (this.topValue !== null) {
359
+ this.updateLabelPosition('top', getLabelPos(topValueBarIndex));
360
+ }
361
+ // Updated bottom label position
362
+ if (this.bottomValue !== null) {
363
+ this.updateLabelPosition('bottom', getLabelPos(bottomValueBarIndex));
364
+ }
365
+ // Updated range label position
366
+ if (this.range && this.range.length === 2) {
367
+ this.updateLabelPosition('range', getLabelPos(rangeMidIndex));
368
+ }
369
+ }
370
+ /**
371
+ * @param value value of gauge bar
372
+ * @param label user label
373
+ * @param id id of template
374
+ * @returns template to render
375
+ */
376
+ createLabelTemplate(value, label, id) {
377
+ if (value === null) {
378
+ return null;
379
+ }
380
+ const template = html `<span part="label" id=${id}>${label}</span>`;
381
+ if (typeof value === 'number') {
382
+ return template;
383
+ }
384
+ // Value is a range type
385
+ else {
386
+ if (value && value.length === 2 && !(this.bottomLabel && typeof this.bottomValue === 'number')) {
387
+ return template;
388
+ }
389
+ return null;
390
+ }
391
+ }
392
+ /**
393
+ * A `TemplateResult` that will be used
394
+ * to render the updated internal template.
395
+ * @return Render template
396
+ */
397
+ render() {
398
+ return html `
399
+ <section>
400
+ <ef-canvas @resize=${this.renderBarGauge.bind(this)}></ef-canvas>
401
+ ${this.createLabelTemplate(this.topValue, this.topLabel, 'top')}
402
+ ${this.createLabelTemplate(this.bottomValue, this.bottomLabel, 'bottom')}
403
+ ${this.createLabelTemplate(this.range, this.rangeLabel, 'range')}
404
+ </section>
405
+ `;
406
+ }
407
+ };
408
+ __decorate([
409
+ property({ type: Number, attribute: 'top-value' })
410
+ ], LedGauge.prototype, "topValue", void 0);
411
+ __decorate([
412
+ property({ type: Number, attribute: 'bottom-value' })
413
+ ], LedGauge.prototype, "bottomValue", void 0);
414
+ __decorate([
415
+ property({ type: Array })
416
+ ], LedGauge.prototype, "range", void 0);
417
+ __decorate([
418
+ property({ type: String, attribute: 'top-label' })
419
+ ], LedGauge.prototype, "topLabel", void 0);
420
+ __decorate([
421
+ property({ type: String, attribute: 'bottom-label' })
422
+ ], LedGauge.prototype, "bottomLabel", void 0);
423
+ __decorate([
424
+ property({ type: String, attribute: 'range-label' })
425
+ ], LedGauge.prototype, "rangeLabel", void 0);
426
+ __decorate([
427
+ property({ type: Boolean, attribute: 'neutral-color' })
428
+ ], LedGauge.prototype, "neutralColor", void 0);
429
+ __decorate([
430
+ property({ type: String })
431
+ ], LedGauge.prototype, "zero", null);
432
+ LedGauge = __decorate([
433
+ customElement('ef-led-gauge', {
434
+ alias: 'sapphire-led-gauge'
435
+ })
436
+ ], LedGauge);
437
+ 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}');
@@ -0,0 +1,111 @@
1
+ {
2
+ "version": "experimental",
3
+ "tags": [
4
+ {
5
+ "name": "ef-list",
6
+ "description": "Provides listing and immutable selection",
7
+ "attributes": [
8
+ {
9
+ "name": "stateless",
10
+ "description": "Disable selections",
11
+ "type": "boolean",
12
+ "default": "false"
13
+ },
14
+ {
15
+ "name": "multiple",
16
+ "description": "Allow multiple selections",
17
+ "type": "boolean",
18
+ "default": "false"
19
+ },
20
+ {
21
+ "name": "value",
22
+ "description": "Returns the first selected item value.\nUse `values` when multiple selection mode is enabled.",
23
+ "type": "string"
24
+ }
25
+ ],
26
+ "properties": [
27
+ {
28
+ "name": "delegatesFocus",
29
+ "description": "Element focus delegation.\nSet to `false` and relies on native focusing.",
30
+ "type": "false",
31
+ "default": "false"
32
+ },
33
+ {
34
+ "name": "renderer",
35
+ "description": "Renderer used to render list item elements",
36
+ "type": "ListRenderer",
37
+ "default": "\"new ListRenderer(this)\""
38
+ },
39
+ {
40
+ "name": "stateless",
41
+ "attribute": "stateless",
42
+ "description": "Disable selections",
43
+ "type": "boolean",
44
+ "default": "false"
45
+ },
46
+ {
47
+ "name": "multiple",
48
+ "attribute": "multiple",
49
+ "description": "Allow multiple selections",
50
+ "type": "boolean",
51
+ "default": "false"
52
+ },
53
+ {
54
+ "name": "data",
55
+ "description": "The data object, used to render the list.",
56
+ "type": "ListData"
57
+ },
58
+ {
59
+ "name": "value",
60
+ "attribute": "value",
61
+ "description": "Returns the first selected item value.\nUse `values` when multiple selection mode is enabled.",
62
+ "type": "string"
63
+ },
64
+ {
65
+ "name": "values",
66
+ "description": "Returns a values collection of the currently\nselected item values",
67
+ "type": "object"
68
+ }
69
+ ],
70
+ "events": [
71
+ {
72
+ "name": "value-changed",
73
+ "description": "Dispatched when value changes"
74
+ }
75
+ ],
76
+ "methods": [
77
+ {
78
+ "name": "selectItem",
79
+ "description": "Selects an item in the list",
80
+ "params": [
81
+ {
82
+ "name": "item",
83
+ "description": "Data Item or Item Element"
84
+ }
85
+ ]
86
+ },
87
+ {
88
+ "name": "up",
89
+ "description": "Navigate up through the list items",
90
+ "params": []
91
+ },
92
+ {
93
+ "name": "down",
94
+ "description": "Navigate up through the list items",
95
+ "params": []
96
+ },
97
+ {
98
+ "name": "scrollToItem",
99
+ "description": "Scroll to list item element",
100
+ "params": [
101
+ {
102
+ "name": "item",
103
+ "description": "Data item to scroll to",
104
+ "type": "T"
105
+ }
106
+ ]
107
+ }
108
+ ]
109
+ }
110
+ ]
111
+ }
@@ -0,0 +1,30 @@
1
+ # ef-list
2
+
3
+ Provides listing and immutable selection
4
+
5
+ ## Properties
6
+
7
+ | Property | Attribute | Modifiers | Type | Default | Description |
8
+ |------------------|-------------|-----------|----------------|--------------------------|--------------------------------------------------|
9
+ | `data` | | | `ListData` | | The data object, used to render the list. |
10
+ | `delegatesFocus` | | readonly | `false` | false | Element focus delegation.<br />Set to `false` and relies on native focusing. |
11
+ | `multiple` | `multiple` | | `boolean` | false | Allow multiple selections |
12
+ | `renderer` | | | `ListRenderer` | "new ListRenderer(this)" | Renderer used to render list item elements |
13
+ | `stateless` | `stateless` | | `boolean` | false | Disable selections |
14
+ | `value` | `value` | | `string` | | Returns the first selected item value.<br />Use `values` when multiple selection mode is enabled. |
15
+ | `values` | | | `object` | | Returns a values collection of the currently<br />selected item values |
16
+
17
+ ## Methods
18
+
19
+ | Method | Type | Description |
20
+ |----------------|-------------------------|--------------------------------------------------|
21
+ | `down` | `(): void` | Navigate up through the list items |
22
+ | `scrollToItem` | `(item: T): void` | Scroll to list item element<br /><br />**item**: Data item to scroll to |
23
+ | `selectItem` | `(item?: any): boolean` | Selects an item in the list<br /><br />**item**: Data Item or Item Element |
24
+ | `up` | `(): void` | Navigate up through the list items |
25
+
26
+ ## Events
27
+
28
+ | Event | Description |
29
+ |-----------------|-------------------------------|
30
+ | `value-changed` | Dispatched when value changes |
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Extensible function class
3
+ * TODO: Move this to @refinitiv-ui/utils
4
+ * ! Do not import this module !
5
+ */
6
+ export declare abstract class ExtensibleFunction extends Function {
7
+ constructor(fn: Function);
8
+ }
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Extensible function class
3
+ * TODO: Move this to @refinitiv-ui/utils
4
+ * ! Do not import this module !
5
+ */
6
+ export class ExtensibleFunction extends Function {
7
+ // eslint-disable-next-line @typescript-eslint/ban-types
8
+ constructor(fn) {
9
+ super();
10
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-return
11
+ return Object.setPrototypeOf(fn, new.target.prototype);
12
+ }
13
+ }
@@ -0,0 +1,9 @@
1
+ import '../../item/index.js';
2
+ import { Renderer } from '../renderer.js';
3
+ /**
4
+ * Renders list items as `ef-item` elements.
5
+ * This is the default renderer for lists.
6
+ */
7
+ export declare class ListRenderer extends Renderer {
8
+ constructor(context?: unknown);
9
+ }
@@ -0,0 +1,35 @@
1
+ import '../../item/index.js';
2
+ import { Renderer } from '../renderer.js';
3
+ /**
4
+ * Renders list items as `ef-item` elements.
5
+ * This is the default renderer for lists.
6
+ */
7
+ export class ListRenderer extends Renderer {
8
+ constructor(context) {
9
+ /**
10
+ * Create and return render function
11
+ */
12
+ super((item, composer, element) => {
13
+ /**
14
+ * Element to render
15
+ */
16
+ const el = (element || document.createElement('ef-item'));
17
+ /**
18
+ * Tooltip value to be used, if any.
19
+ */
20
+ const tooltip = composer.getItemPropertyValue(item, 'tooltip');
21
+ el.label = composer.getItemPropertyValue(item, 'label');
22
+ el.subLabel = composer.getItemPropertyValue(item, 'subLabel');
23
+ el.value = composer.getItemPropertyValue(item, 'value');
24
+ el.icon = composer.getItemPropertyValue(item, 'icon');
25
+ el.highlighted = composer.getItemPropertyValue(item, 'highlighted') === true;
26
+ el.selected = composer.getItemPropertyValue(item, 'selected') === true;
27
+ el.disabled = composer.getItemPropertyValue(item, 'disabled') === true;
28
+ el.hidden = composer.getItemPropertyValue(item, 'hidden') === true;
29
+ el.type = composer.getItemPropertyValue(item, 'type');
30
+ el.multiple = !!context && context.multiple === true;
31
+ tooltip ? el.setAttribute('title', tooltip) : el.removeAttribute('title');
32
+ return el;
33
+ });
34
+ }
35
+ }
@@ -0,0 +1,3 @@
1
+ import type { CollectionComposer, DataItem } from '@refinitiv-ui/utils/lib/collection.js';
2
+ import type { ItemData } from '../../item';
3
+ export declare type ListData<T extends DataItem = ItemData> = T[] | CollectionComposer<T> | null;
@@ -0,0 +1 @@
1
+ export {};