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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (513) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/README.md +4 -4
  3. package/lib/accordion/index.d.ts +76 -0
  4. package/lib/accordion/index.js +136 -0
  5. package/lib/accordion/themes/halo/dark/index.js +3 -0
  6. package/lib/accordion/themes/halo/light/index.js +3 -0
  7. package/lib/accordion/themes/solar/charcoal/index.js +3 -0
  8. package/lib/accordion/themes/solar/pearl/index.js +3 -0
  9. package/lib/appstate-bar/index.d.ts +65 -0
  10. package/lib/appstate-bar/index.js +100 -0
  11. package/lib/appstate-bar/themes/halo/dark/index.js +3 -0
  12. package/lib/appstate-bar/themes/halo/light/index.js +3 -0
  13. package/lib/appstate-bar/themes/solar/charcoal/index.js +3 -0
  14. package/lib/appstate-bar/themes/solar/pearl/index.js +3 -0
  15. package/lib/autosuggest/helpers/types.d.ts +54 -0
  16. package/lib/autosuggest/helpers/types.js +1 -0
  17. package/lib/autosuggest/helpers/utils.d.ts +39 -0
  18. package/lib/autosuggest/helpers/utils.js +75 -0
  19. package/lib/autosuggest/index.d.ts +538 -0
  20. package/lib/autosuggest/index.js +1255 -0
  21. package/lib/autosuggest/themes/halo/dark/index.js +5 -0
  22. package/lib/autosuggest/themes/halo/light/index.js +5 -0
  23. package/lib/autosuggest/themes/solar/charcoal/index.js +5 -0
  24. package/lib/autosuggest/themes/solar/pearl/index.js +5 -0
  25. package/lib/button/index.d.ts +138 -0
  26. package/lib/button/index.js +241 -0
  27. package/lib/button/themes/halo/dark/index.js +3 -0
  28. package/lib/button/themes/halo/light/index.js +3 -0
  29. package/lib/button/themes/solar/charcoal/index.js +3 -0
  30. package/lib/button/themes/solar/pearl/index.js +3 -0
  31. package/lib/button-bar/index.d.ts +125 -0
  32. package/lib/button-bar/index.js +295 -0
  33. package/lib/button-bar/themes/halo/dark/index.js +3 -0
  34. package/lib/button-bar/themes/halo/light/index.js +3 -0
  35. package/lib/button-bar/themes/solar/charcoal/index.js +3 -0
  36. package/lib/button-bar/themes/solar/pearl/index.js +3 -0
  37. package/lib/calendar/constants.d.ts +26 -0
  38. package/lib/calendar/constants.js +28 -0
  39. package/lib/calendar/index.d.ts +412 -0
  40. package/lib/calendar/index.js +1274 -0
  41. package/lib/calendar/locales.d.ts +1 -0
  42. package/lib/calendar/locales.js +41 -0
  43. package/lib/calendar/themes/halo/dark/index.js +3 -0
  44. package/lib/calendar/themes/halo/light/index.js +3 -0
  45. package/lib/calendar/themes/solar/charcoal/index.js +3 -0
  46. package/lib/calendar/themes/solar/pearl/index.js +3 -0
  47. package/lib/calendar/types.d.ts +32 -0
  48. package/lib/calendar/types.js +1 -0
  49. package/lib/calendar/utils.d.ts +42 -0
  50. package/lib/calendar/utils.js +120 -0
  51. package/lib/canvas/index.d.ts +101 -0
  52. package/lib/canvas/index.js +173 -0
  53. package/lib/canvas/themes/halo/dark/index.js +2 -0
  54. package/lib/canvas/themes/halo/light/index.js +2 -0
  55. package/lib/canvas/themes/solar/charcoal/index.js +2 -0
  56. package/lib/canvas/themes/solar/pearl/index.js +2 -0
  57. package/lib/card/helpers/types.d.ts +12 -0
  58. package/lib/card/helpers/types.js +1 -0
  59. package/lib/card/index.d.ts +142 -0
  60. package/lib/card/index.js +248 -0
  61. package/lib/card/themes/halo/dark/index.js +5 -0
  62. package/lib/card/themes/halo/light/index.js +5 -0
  63. package/lib/card/themes/solar/charcoal/index.js +5 -0
  64. package/lib/card/themes/solar/pearl/index.js +5 -0
  65. package/lib/chart/helpers/index.d.ts +2 -0
  66. package/lib/chart/helpers/index.js +2 -0
  67. package/lib/chart/helpers/legend.d.ts +5 -0
  68. package/lib/chart/helpers/legend.js +78 -0
  69. package/lib/chart/helpers/merge.d.ts +15 -0
  70. package/lib/chart/helpers/merge.js +28 -0
  71. package/lib/chart/helpers/types.d.ts +69 -0
  72. package/lib/chart/helpers/types.js +1 -0
  73. package/lib/chart/index.d.ts +187 -0
  74. package/lib/chart/index.js +491 -0
  75. package/lib/chart/plugins/doughnut-center-label.d.ts +3 -0
  76. package/lib/chart/plugins/doughnut-center-label.js +196 -0
  77. package/lib/chart/themes/halo/dark/index.js +4 -0
  78. package/lib/chart/themes/halo/light/index.js +4 -0
  79. package/lib/chart/themes/solar/charcoal/index.js +4 -0
  80. package/lib/chart/themes/solar/pearl/index.js +4 -0
  81. package/lib/checkbox/index.d.ts +97 -0
  82. package/lib/checkbox/index.js +194 -0
  83. package/lib/checkbox/themes/halo/dark/index.js +4 -0
  84. package/lib/checkbox/themes/halo/light/index.js +4 -0
  85. package/lib/checkbox/themes/solar/charcoal/index.js +4 -0
  86. package/lib/checkbox/themes/solar/pearl/index.js +4 -0
  87. package/lib/clock/index.d.ts +321 -0
  88. package/lib/clock/index.js +583 -0
  89. package/lib/clock/themes/halo/dark/index.js +2 -0
  90. package/lib/clock/themes/halo/light/index.js +2 -0
  91. package/lib/clock/themes/solar/charcoal/index.js +2 -0
  92. package/lib/clock/themes/solar/pearl/index.js +2 -0
  93. package/lib/clock/utils/TickManager.d.ts +14 -0
  94. package/lib/clock/utils/TickManager.js +66 -0
  95. package/lib/clock/utils/timestamps.d.ts +6 -0
  96. package/lib/clock/utils/timestamps.js +6 -0
  97. package/lib/collapse/custom-elements.json +4 -2
  98. package/lib/collapse/custom-elements.md +1 -1
  99. package/lib/collapse/index.d.ts +123 -0
  100. package/lib/collapse/index.js +227 -0
  101. package/lib/collapse/themes/halo/dark/index.js +5 -0
  102. package/lib/collapse/themes/halo/light/index.js +5 -0
  103. package/lib/collapse/themes/solar/charcoal/index.js +5 -0
  104. package/lib/collapse/themes/solar/pearl/index.js +5 -0
  105. package/lib/color-dialog/elements/color-palettes.d.ts +52 -0
  106. package/lib/color-dialog/elements/color-palettes.js +101 -0
  107. package/lib/color-dialog/elements/grayscale-palettes.d.ts +67 -0
  108. package/lib/color-dialog/elements/grayscale-palettes.js +161 -0
  109. package/lib/color-dialog/elements/palettes.d.ts +65 -0
  110. package/lib/color-dialog/elements/palettes.js +132 -0
  111. package/lib/color-dialog/helpers/color-helpers.d.ts +16 -0
  112. package/lib/color-dialog/helpers/color-helpers.js +161 -0
  113. package/lib/color-dialog/helpers/value-model.d.ts +75 -0
  114. package/lib/color-dialog/helpers/value-model.js +141 -0
  115. package/lib/color-dialog/index.d.ts +232 -0
  116. package/lib/color-dialog/index.js +459 -0
  117. package/lib/color-dialog/themes/halo/dark/index.js +7 -0
  118. package/lib/color-dialog/themes/halo/light/index.js +7 -0
  119. package/lib/color-dialog/themes/solar/charcoal/index.js +7 -0
  120. package/lib/color-dialog/themes/solar/pearl/index.js +7 -0
  121. package/lib/combo-box/helpers/filter.d.ts +10 -0
  122. package/lib/combo-box/helpers/filter.js +29 -0
  123. package/lib/combo-box/helpers/keyboard-event.d.ts +17 -0
  124. package/lib/combo-box/helpers/keyboard-event.js +19 -0
  125. package/lib/combo-box/helpers/renderer.d.ts +8 -0
  126. package/lib/combo-box/helpers/renderer.js +24 -0
  127. package/lib/combo-box/helpers/types.d.ts +11 -0
  128. package/lib/combo-box/helpers/types.js +1 -0
  129. package/lib/combo-box/index.d.ts +551 -0
  130. package/lib/combo-box/index.js +1183 -0
  131. package/lib/combo-box/themes/halo/dark/index.js +7 -0
  132. package/lib/combo-box/themes/halo/light/index.js +7 -0
  133. package/lib/combo-box/themes/solar/charcoal/index.js +7 -0
  134. package/lib/combo-box/themes/solar/pearl/index.js +7 -0
  135. package/lib/counter/index.d.ts +91 -0
  136. package/lib/counter/index.js +154 -0
  137. package/lib/counter/themes/halo/dark/index.js +3 -0
  138. package/lib/counter/themes/halo/light/index.js +3 -0
  139. package/lib/counter/themes/solar/charcoal/index.js +3 -0
  140. package/lib/counter/themes/solar/pearl/index.js +3 -0
  141. package/lib/counter/utils.d.ts +13 -0
  142. package/lib/counter/utils.js +52 -0
  143. package/lib/datetime-picker/index.d.ts +509 -0
  144. package/lib/datetime-picker/index.js +1175 -0
  145. package/lib/datetime-picker/locales.d.ts +8 -0
  146. package/lib/datetime-picker/locales.js +57 -0
  147. package/lib/datetime-picker/themes/halo/dark/index.js +7 -0
  148. package/lib/datetime-picker/themes/halo/light/index.js +7 -0
  149. package/lib/datetime-picker/themes/solar/charcoal/index.js +7 -0
  150. package/lib/datetime-picker/themes/solar/pearl/index.js +7 -0
  151. package/lib/datetime-picker/types.d.ts +3 -0
  152. package/lib/datetime-picker/types.js +1 -0
  153. package/lib/datetime-picker/utils.d.ts +55 -0
  154. package/lib/datetime-picker/utils.js +92 -0
  155. package/lib/dialog/custom-elements.json +11 -0
  156. package/lib/dialog/custom-elements.md +4 -3
  157. package/lib/dialog/draggable-element.d.ts +14 -0
  158. package/lib/dialog/draggable-element.js +221 -0
  159. package/lib/dialog/index.d.ts +213 -0
  160. package/lib/dialog/index.js +353 -0
  161. package/lib/dialog/themes/halo/dark/index.js +7 -0
  162. package/lib/dialog/themes/halo/light/index.js +7 -0
  163. package/lib/dialog/themes/solar/charcoal/index.js +7 -0
  164. package/lib/dialog/themes/solar/pearl/index.js +7 -0
  165. package/lib/email-field/index.d.ts +80 -0
  166. package/lib/email-field/index.js +86 -0
  167. package/lib/email-field/themes/halo/dark/index.js +3 -0
  168. package/lib/email-field/themes/halo/light/index.js +3 -0
  169. package/lib/email-field/themes/solar/charcoal/index.js +3 -0
  170. package/lib/email-field/themes/solar/pearl/index.js +3 -0
  171. package/lib/events.d.ts +121 -0
  172. package/lib/events.js +1 -0
  173. package/lib/flag/index.d.ts +96 -0
  174. package/lib/flag/index.js +168 -0
  175. package/lib/flag/themes/halo/dark/index.js +2 -0
  176. package/lib/flag/themes/halo/light/index.js +2 -0
  177. package/lib/flag/themes/solar/charcoal/index.js +2 -0
  178. package/lib/flag/themes/solar/pearl/index.js +2 -0
  179. package/lib/flag/utils/FlagLoader.d.ts +47 -0
  180. package/lib/flag/utils/FlagLoader.js +86 -0
  181. package/lib/header/index.d.ts +46 -0
  182. package/lib/header/index.js +73 -0
  183. package/lib/header/themes/halo/dark/index.js +2 -0
  184. package/lib/header/themes/halo/light/index.js +2 -0
  185. package/lib/header/themes/solar/charcoal/index.js +2 -0
  186. package/lib/header/themes/solar/pearl/index.js +2 -0
  187. package/lib/heatmap/helpers/color.d.ts +30 -0
  188. package/lib/heatmap/helpers/color.js +68 -0
  189. package/lib/heatmap/helpers/text.d.ts +26 -0
  190. package/lib/heatmap/helpers/text.js +91 -0
  191. package/lib/heatmap/helpers/track.d.ts +102 -0
  192. package/lib/heatmap/helpers/track.js +160 -0
  193. package/lib/heatmap/helpers/types.d.ts +40 -0
  194. package/lib/heatmap/helpers/types.js +1 -0
  195. package/lib/heatmap/index.d.ts +453 -0
  196. package/lib/heatmap/index.js +1103 -0
  197. package/lib/heatmap/themes/halo/dark/index.js +4 -0
  198. package/lib/heatmap/themes/halo/light/index.js +4 -0
  199. package/lib/heatmap/themes/solar/charcoal/index.js +4 -0
  200. package/lib/heatmap/themes/solar/pearl/index.js +4 -0
  201. package/lib/icon/index.d.ts +90 -0
  202. package/lib/icon/index.js +171 -0
  203. package/lib/icon/themes/halo/dark/index.js +2 -0
  204. package/lib/icon/themes/halo/light/index.js +2 -0
  205. package/lib/icon/themes/solar/charcoal/index.js +2 -0
  206. package/lib/icon/themes/solar/pearl/index.js +2 -0
  207. package/lib/icon/utils/IconLoader.d.ts +52 -0
  208. package/lib/icon/utils/IconLoader.js +93 -0
  209. package/lib/index.d.ts +3 -0
  210. package/lib/index.js +3 -0
  211. package/lib/interactive-chart/helpers/merge.d.ts +15 -0
  212. package/lib/interactive-chart/helpers/merge.js +28 -0
  213. package/lib/interactive-chart/helpers/types.d.ts +45 -0
  214. package/lib/interactive-chart/helpers/types.js +6 -0
  215. package/lib/interactive-chart/index.d.ts +383 -0
  216. package/lib/interactive-chart/index.js +1093 -0
  217. package/lib/interactive-chart/themes/halo/dark/index.js +3 -0
  218. package/lib/interactive-chart/themes/halo/light/index.js +3 -0
  219. package/lib/interactive-chart/themes/solar/charcoal/index.js +3 -0
  220. package/lib/interactive-chart/themes/solar/pearl/index.js +3 -0
  221. package/lib/item/helpers/types.d.ts +57 -0
  222. package/lib/item/helpers/types.js +1 -0
  223. package/lib/item/index.d.ts +159 -0
  224. package/lib/item/index.js +272 -0
  225. package/lib/item/themes/halo/dark/index.js +4 -0
  226. package/lib/item/themes/halo/light/index.js +4 -0
  227. package/lib/item/themes/solar/charcoal/index.js +4 -0
  228. package/lib/item/themes/solar/pearl/index.js +4 -0
  229. package/lib/label/index.d.ts +102 -0
  230. package/lib/label/index.js +245 -0
  231. package/lib/label/themes/halo/dark/index.js +3 -0
  232. package/lib/label/themes/halo/light/index.js +3 -0
  233. package/lib/label/themes/solar/charcoal/index.js +3 -0
  234. package/lib/label/themes/solar/pearl/index.js +3 -0
  235. package/lib/layout/index.d.ts +107 -0
  236. package/lib/layout/index.js +212 -0
  237. package/lib/layout/themes/halo/dark/index.js +2 -0
  238. package/lib/layout/themes/halo/light/index.js +2 -0
  239. package/lib/layout/themes/solar/charcoal/index.js +2 -0
  240. package/lib/layout/themes/solar/pearl/index.js +2 -0
  241. package/lib/led-gauge/index.d.ts +144 -0
  242. package/lib/led-gauge/index.js +438 -0
  243. package/lib/led-gauge/themes/halo/dark/index.js +3 -0
  244. package/lib/led-gauge/themes/halo/light/index.js +3 -0
  245. package/lib/led-gauge/themes/solar/charcoal/index.js +3 -0
  246. package/lib/led-gauge/themes/solar/pearl/index.js +3 -0
  247. package/lib/list/extensible-function.d.ts +8 -0
  248. package/lib/list/extensible-function.js +13 -0
  249. package/lib/list/helpers/list-renderer.d.ts +9 -0
  250. package/lib/list/helpers/list-renderer.js +37 -0
  251. package/lib/list/helpers/types.d.ts +3 -0
  252. package/lib/list/helpers/types.js +1 -0
  253. package/lib/list/index.d.ts +313 -0
  254. package/lib/list/index.js +640 -0
  255. package/lib/list/renderer.d.ts +36 -0
  256. package/lib/list/renderer.js +9 -0
  257. package/lib/list/themes/halo/dark/index.js +3 -0
  258. package/lib/list/themes/halo/light/index.js +3 -0
  259. package/lib/list/themes/solar/charcoal/index.js +3 -0
  260. package/lib/list/themes/solar/pearl/index.js +3 -0
  261. package/lib/loader/index.d.ts +41 -0
  262. package/lib/loader/index.js +61 -0
  263. package/lib/loader/themes/halo/dark/index.js +2 -0
  264. package/lib/loader/themes/halo/light/index.js +2 -0
  265. package/lib/loader/themes/solar/charcoal/index.js +2 -0
  266. package/lib/loader/themes/solar/pearl/index.js +2 -0
  267. package/lib/multi-input/helpers/types.d.ts +11 -0
  268. package/lib/multi-input/helpers/types.js +1 -0
  269. package/lib/multi-input/index.d.ts +301 -0
  270. package/lib/multi-input/index.js +594 -0
  271. package/lib/multi-input/themes/halo/dark/index.js +4 -0
  272. package/lib/multi-input/themes/halo/light/index.js +4 -0
  273. package/lib/multi-input/themes/solar/charcoal/index.js +4 -0
  274. package/lib/multi-input/themes/solar/pearl/index.js +4 -0
  275. package/lib/notification/elements/notification-tray.d.ts +97 -0
  276. package/lib/notification/elements/notification-tray.js +167 -0
  277. package/lib/notification/elements/notification.d.ts +90 -0
  278. package/lib/notification/elements/notification.js +154 -0
  279. package/lib/notification/helpers/status.d.ts +30 -0
  280. package/lib/notification/helpers/status.js +130 -0
  281. package/lib/notification/helpers/types.d.ts +10 -0
  282. package/lib/notification/helpers/types.js +1 -0
  283. package/lib/notification/index.d.ts +2 -0
  284. package/lib/notification/index.js +2 -0
  285. package/lib/notification/themes/halo/dark/index.js +5 -0
  286. package/lib/notification/themes/halo/light/index.js +5 -0
  287. package/lib/notification/themes/solar/charcoal/index.js +5 -0
  288. package/lib/notification/themes/solar/pearl/index.js +5 -0
  289. package/lib/number-field/index.d.ts +339 -0
  290. package/lib/number-field/index.js +741 -0
  291. package/lib/number-field/themes/halo/dark/index.js +3 -0
  292. package/lib/number-field/themes/halo/light/index.js +3 -0
  293. package/lib/number-field/themes/solar/charcoal/index.js +3 -0
  294. package/lib/number-field/themes/solar/pearl/index.js +3 -0
  295. package/lib/overlay/elements/overlay-backdrop.d.ts +46 -0
  296. package/lib/overlay/elements/overlay-backdrop.js +64 -0
  297. package/lib/overlay/elements/overlay-viewport.d.ts +40 -0
  298. package/lib/overlay/elements/overlay-viewport.js +52 -0
  299. package/lib/overlay/elements/overlay.d.ts +408 -0
  300. package/lib/overlay/elements/overlay.js +1426 -0
  301. package/lib/overlay/helpers/functions.d.ts +13 -0
  302. package/lib/overlay/helpers/functions.js +16 -0
  303. package/lib/overlay/helpers/types.d.ts +97 -0
  304. package/lib/overlay/helpers/types.js +16 -0
  305. package/lib/overlay/index.d.ts +2 -0
  306. package/lib/overlay/index.js +1 -0
  307. package/lib/overlay/managers/backdrop-manager.d.ts +45 -0
  308. package/lib/overlay/managers/backdrop-manager.js +96 -0
  309. package/lib/overlay/managers/close-manager.d.ts +54 -0
  310. package/lib/overlay/managers/close-manager.js +138 -0
  311. package/lib/overlay/managers/focus-manager.d.ts +71 -0
  312. package/lib/overlay/managers/focus-manager.js +228 -0
  313. package/lib/overlay/managers/interaction-lock-manager.d.ts +138 -0
  314. package/lib/overlay/managers/interaction-lock-manager.js +375 -0
  315. package/lib/overlay/managers/viewport-manager.d.ts +93 -0
  316. package/lib/overlay/managers/viewport-manager.js +211 -0
  317. package/lib/overlay/managers/zindex-manager.d.ts +80 -0
  318. package/lib/overlay/managers/zindex-manager.js +195 -0
  319. package/lib/overlay/themes/halo/dark/index.js +4 -0
  320. package/lib/overlay/themes/halo/light/index.js +4 -0
  321. package/lib/overlay/themes/solar/charcoal/index.js +4 -0
  322. package/lib/overlay/themes/solar/pearl/index.js +4 -0
  323. package/lib/overlay-menu/helpers/types.d.ts +8 -0
  324. package/lib/overlay-menu/helpers/types.js +1 -0
  325. package/lib/overlay-menu/index.d.ts +387 -0
  326. package/lib/overlay-menu/index.js +935 -0
  327. package/lib/overlay-menu/managers/menu-manager.d.ts +98 -0
  328. package/lib/overlay-menu/managers/menu-manager.js +240 -0
  329. package/lib/overlay-menu/themes/halo/dark/index.js +5 -0
  330. package/lib/overlay-menu/themes/halo/light/index.js +5 -0
  331. package/lib/overlay-menu/themes/solar/charcoal/index.js +5 -0
  332. package/lib/overlay-menu/themes/solar/pearl/index.js +5 -0
  333. package/lib/pagination/index.d.ts +275 -0
  334. package/lib/pagination/index.js +552 -0
  335. package/lib/pagination/themes/halo/dark/index.js +6 -0
  336. package/lib/pagination/themes/halo/light/index.js +6 -0
  337. package/lib/pagination/themes/solar/charcoal/index.js +6 -0
  338. package/lib/pagination/themes/solar/pearl/index.js +6 -0
  339. package/lib/panel/index.d.ts +48 -0
  340. package/lib/panel/index.js +74 -0
  341. package/lib/panel/themes/halo/dark/index.js +2 -0
  342. package/lib/panel/themes/halo/light/index.js +2 -0
  343. package/lib/panel/themes/solar/charcoal/index.js +2 -0
  344. package/lib/panel/themes/solar/pearl/index.js +2 -0
  345. package/lib/password-field/index.d.ts +89 -0
  346. package/lib/password-field/index.js +112 -0
  347. package/lib/password-field/themes/halo/dark/index.js +3 -0
  348. package/lib/password-field/themes/halo/light/index.js +3 -0
  349. package/lib/password-field/themes/solar/charcoal/index.js +3 -0
  350. package/lib/password-field/themes/solar/pearl/index.js +3 -0
  351. package/lib/pill/index.d.ts +97 -0
  352. package/lib/pill/index.js +160 -0
  353. package/lib/pill/themes/halo/dark/index.js +3 -0
  354. package/lib/pill/themes/halo/light/index.js +3 -0
  355. package/lib/pill/themes/solar/charcoal/index.js +3 -0
  356. package/lib/pill/themes/solar/pearl/index.js +3 -0
  357. package/lib/progress-bar/index.d.ts +82 -0
  358. package/lib/progress-bar/index.js +157 -0
  359. package/lib/progress-bar/themes/halo/dark/index.js +2 -0
  360. package/lib/progress-bar/themes/halo/light/index.js +2 -0
  361. package/lib/progress-bar/themes/solar/charcoal/index.js +2 -0
  362. package/lib/progress-bar/themes/solar/pearl/index.js +2 -0
  363. package/lib/radio-button/index.d.ts +123 -0
  364. package/lib/radio-button/index.js +261 -0
  365. package/lib/radio-button/radio-button-registry.d.ts +22 -0
  366. package/lib/radio-button/radio-button-registry.js +93 -0
  367. package/lib/radio-button/themes/halo/dark/index.js +3 -0
  368. package/lib/radio-button/themes/halo/light/index.js +3 -0
  369. package/lib/radio-button/themes/solar/charcoal/index.js +3 -0
  370. package/lib/radio-button/themes/solar/pearl/index.js +3 -0
  371. package/lib/rating/index.d.ts +91 -0
  372. package/lib/rating/index.js +157 -0
  373. package/lib/rating/themes/halo/dark/index.js +2 -0
  374. package/lib/rating/themes/halo/light/index.js +2 -0
  375. package/lib/rating/themes/solar/charcoal/index.js +2 -0
  376. package/lib/rating/themes/solar/pearl/index.js +2 -0
  377. package/lib/search-field/index.d.ts +77 -0
  378. package/lib/search-field/index.js +84 -0
  379. package/lib/search-field/themes/halo/dark/index.js +3 -0
  380. package/lib/search-field/themes/halo/light/index.js +3 -0
  381. package/lib/search-field/themes/solar/charcoal/index.js +3 -0
  382. package/lib/search-field/themes/solar/pearl/index.js +3 -0
  383. package/lib/select/helpers/types.d.ts +3 -0
  384. package/lib/select/helpers/types.js +1 -0
  385. package/lib/select/index.d.ts +396 -0
  386. package/lib/select/index.js +981 -0
  387. package/lib/select/themes/halo/dark/index.js +5 -0
  388. package/lib/select/themes/halo/light/index.js +5 -0
  389. package/lib/select/themes/solar/charcoal/index.js +5 -0
  390. package/lib/select/themes/solar/pearl/index.js +5 -0
  391. package/lib/sidebar-layout/index.d.ts +70 -0
  392. package/lib/sidebar-layout/index.js +134 -0
  393. package/lib/sidebar-layout/themes/halo/dark/index.js +3 -0
  394. package/lib/sidebar-layout/themes/halo/light/index.js +3 -0
  395. package/lib/sidebar-layout/themes/solar/charcoal/index.js +3 -0
  396. package/lib/sidebar-layout/themes/solar/pearl/index.js +3 -0
  397. package/lib/slider/index.d.ts +409 -0
  398. package/lib/slider/index.js +1197 -0
  399. package/lib/slider/themes/halo/dark/index.js +3 -0
  400. package/lib/slider/themes/halo/light/index.js +3 -0
  401. package/lib/slider/themes/solar/charcoal/index.js +3 -0
  402. package/lib/slider/themes/solar/pearl/index.js +3 -0
  403. package/lib/sparkline/index.d.ts +109 -0
  404. package/lib/sparkline/index.js +188 -0
  405. package/lib/sparkline/themes/halo/dark/index.js +2 -0
  406. package/lib/sparkline/themes/halo/light/index.js +2 -0
  407. package/lib/sparkline/themes/solar/charcoal/index.js +2 -0
  408. package/lib/sparkline/themes/solar/pearl/index.js +2 -0
  409. package/lib/swing-gauge/const.d.ts +22 -0
  410. package/lib/swing-gauge/const.js +26 -0
  411. package/lib/swing-gauge/helpers.d.ts +8 -0
  412. package/lib/swing-gauge/helpers.js +105 -0
  413. package/lib/swing-gauge/index.d.ts +296 -0
  414. package/lib/swing-gauge/index.js +764 -0
  415. package/lib/swing-gauge/themes/halo/dark/index.js +3 -0
  416. package/lib/swing-gauge/themes/halo/light/index.js +3 -0
  417. package/lib/swing-gauge/themes/solar/charcoal/index.js +3 -0
  418. package/lib/swing-gauge/themes/solar/pearl/index.js +3 -0
  419. package/lib/swing-gauge/types.d.ts +34 -0
  420. package/lib/swing-gauge/types.js +1 -0
  421. package/lib/tab/custom-elements.json +13 -0
  422. package/lib/tab/custom-elements.md +1 -0
  423. package/lib/tab/index.d.ts +136 -0
  424. package/lib/tab/index.js +236 -0
  425. package/lib/tab/themes/halo/dark/index.js +4 -0
  426. package/lib/tab/themes/halo/light/index.js +4 -0
  427. package/lib/tab/themes/solar/charcoal/index.js +4 -0
  428. package/lib/tab/themes/solar/pearl/index.js +4 -0
  429. package/lib/tab-bar/custom-elements.json +12 -0
  430. package/lib/tab-bar/custom-elements.md +7 -0
  431. package/lib/tab-bar/helpers/animate.d.ts +16 -0
  432. package/lib/tab-bar/helpers/animate.js +53 -0
  433. package/lib/tab-bar/index.d.ts +198 -0
  434. package/lib/tab-bar/index.js +428 -0
  435. package/lib/tab-bar/themes/halo/dark/index.js +4 -0
  436. package/lib/tab-bar/themes/halo/light/index.js +4 -0
  437. package/lib/tab-bar/themes/solar/charcoal/index.js +4 -0
  438. package/lib/tab-bar/themes/solar/pearl/index.js +4 -0
  439. package/lib/text-field/index.d.ts +151 -0
  440. package/lib/text-field/index.js +260 -0
  441. package/lib/text-field/themes/halo/dark/index.js +3 -0
  442. package/lib/text-field/themes/halo/light/index.js +3 -0
  443. package/lib/text-field/themes/solar/charcoal/index.js +3 -0
  444. package/lib/text-field/themes/solar/pearl/index.js +3 -0
  445. package/lib/time-picker/index.d.ts +412 -0
  446. package/lib/time-picker/index.js +898 -0
  447. package/lib/time-picker/themes/halo/dark/index.js +4 -0
  448. package/lib/time-picker/themes/halo/light/index.js +4 -0
  449. package/lib/time-picker/themes/solar/charcoal/index.js +4 -0
  450. package/lib/time-picker/themes/solar/pearl/index.js +4 -0
  451. package/lib/toggle/index.d.ts +87 -0
  452. package/lib/toggle/index.js +153 -0
  453. package/lib/toggle/themes/halo/dark/index.js +2 -0
  454. package/lib/toggle/themes/halo/light/index.js +2 -0
  455. package/lib/toggle/themes/solar/charcoal/index.js +2 -0
  456. package/lib/toggle/themes/solar/pearl/index.js +2 -0
  457. package/lib/tooltip/elements/title-tooltip.d.ts +1 -0
  458. package/lib/tooltip/elements/title-tooltip.js +18 -0
  459. package/lib/tooltip/elements/tooltip-element.d.ts +21 -0
  460. package/lib/tooltip/elements/tooltip-element.js +54 -0
  461. package/lib/tooltip/helpers/overflow-tooltip.d.ts +9 -0
  462. package/lib/tooltip/helpers/overflow-tooltip.js +19 -0
  463. package/lib/tooltip/helpers/renderer.d.ts +8 -0
  464. package/lib/tooltip/helpers/renderer.js +11 -0
  465. package/lib/tooltip/helpers/types.d.ts +23 -0
  466. package/lib/tooltip/helpers/types.js +1 -0
  467. package/lib/tooltip/index.d.ts +232 -0
  468. package/lib/tooltip/index.js +477 -0
  469. package/lib/tooltip/managers/tooltip-manager.d.ts +15 -0
  470. package/lib/tooltip/managers/tooltip-manager.js +140 -0
  471. package/lib/tooltip/themes/halo/dark/index.js +3 -0
  472. package/lib/tooltip/themes/halo/light/index.js +3 -0
  473. package/lib/tooltip/themes/solar/charcoal/index.js +3 -0
  474. package/lib/tooltip/themes/solar/pearl/index.js +3 -0
  475. package/lib/tornado-chart/elements/tornado-chart.d.ts +78 -0
  476. package/lib/tornado-chart/elements/tornado-chart.js +122 -0
  477. package/lib/tornado-chart/elements/tornado-item.d.ts +110 -0
  478. package/lib/tornado-chart/elements/tornado-item.js +207 -0
  479. package/lib/tornado-chart/index.d.ts +2 -0
  480. package/lib/tornado-chart/index.js +2 -0
  481. package/lib/tornado-chart/themes/halo/dark/index.js +6 -0
  482. package/lib/tornado-chart/themes/halo/light/index.js +6 -0
  483. package/lib/tornado-chart/themes/solar/charcoal/index.js +6 -0
  484. package/lib/tornado-chart/themes/solar/pearl/index.js +6 -0
  485. package/lib/tree/elements/tree-item.d.ts +129 -0
  486. package/lib/tree/elements/tree-item.js +238 -0
  487. package/lib/tree/elements/tree.d.ts +203 -0
  488. package/lib/tree/elements/tree.js +414 -0
  489. package/lib/tree/helpers/filter.d.ts +8 -0
  490. package/lib/tree/helpers/filter.js +33 -0
  491. package/lib/tree/helpers/renderer.d.ts +5 -0
  492. package/lib/tree/helpers/renderer.js +33 -0
  493. package/lib/tree/helpers/types.d.ts +25 -0
  494. package/lib/tree/helpers/types.js +1 -0
  495. package/lib/tree/index.d.ts +4 -0
  496. package/lib/tree/index.js +3 -0
  497. package/lib/tree/managers/tree-manager.d.ts +248 -0
  498. package/lib/tree/managers/tree-manager.js +395 -0
  499. package/lib/tree/themes/halo/dark/index.js +7 -0
  500. package/lib/tree/themes/halo/light/index.js +7 -0
  501. package/lib/tree/themes/solar/charcoal/index.js +7 -0
  502. package/lib/tree/themes/solar/pearl/index.js +7 -0
  503. package/lib/tree-select/helpers/types.d.ts +4 -0
  504. package/lib/tree-select/helpers/types.js +1 -0
  505. package/lib/tree-select/index.d.ts +404 -0
  506. package/lib/tree-select/index.js +891 -0
  507. package/lib/tree-select/themes/halo/dark/index.js +11 -0
  508. package/lib/tree-select/themes/halo/light/index.js +11 -0
  509. package/lib/tree-select/themes/solar/charcoal/index.js +11 -0
  510. package/lib/tree-select/themes/solar/pearl/index.js +11 -0
  511. package/lib/version.d.ts +1 -0
  512. package/lib/version.js +1 -0
  513. package/package.json +293 -24
@@ -0,0 +1,86 @@
1
+ import { CdnLoader, Deferred } from '@refinitiv-ui/utils/lib/loader.js';
2
+ const isUrl = (str) => (/^https?:\/\//i).test(str);
3
+ /**
4
+ * Caches and provides flag SVGs, Loaded either by name from CDN or directly by URL.
5
+ * Uses singleton pattern
6
+ */
7
+ class FlagLoader extends CdnLoader {
8
+ constructor() {
9
+ super(...arguments);
10
+ this.cdnPrefix = new Deferred();
11
+ this._isPrefixSet = false;
12
+ }
13
+ /**
14
+ * @returns {boolean} clarify whether prefix has been set or not.
15
+ */
16
+ get isPrefixSet() {
17
+ return this._isPrefixSet;
18
+ }
19
+ /**
20
+ * Sets clarify whether prefix has been set or not
21
+ * @param value - new value that is going to set.
22
+ */
23
+ set isPrefixSet(value) {
24
+ if (this._isPrefixSet !== value) {
25
+ this._isPrefixSet = value;
26
+ }
27
+ }
28
+ /**
29
+ * @returns promise, which will be resolved with CDN prefix, once set.
30
+ */
31
+ getCdnPrefix() {
32
+ return this.cdnPrefix.promise;
33
+ }
34
+ /**
35
+ * Sets CDN prefix to load source.
36
+ * Resolves deferred promise with CDN prefix and sets src used to check whether prefix is already set or not.
37
+ * @param prefix - CDN prefix.
38
+ * @returns {void}
39
+ */
40
+ setCdnPrefix(prefix) {
41
+ if (prefix) {
42
+ this.cdnPrefix.resolve(prefix);
43
+ this.isPrefixSet = true;
44
+ }
45
+ }
46
+ /**
47
+ * Creates complete source using CDN prefix and src.
48
+ * Waits for CDN prefix to be set.
49
+ * @param flagName - resource path for download
50
+ * @returns Promise, which will be resolved with complete source.
51
+ */
52
+ async getSrc(flagName) {
53
+ return flagName ? `${await this.getCdnPrefix()}${flagName}.svg` : '';
54
+ }
55
+ async loadSVG(flag) {
56
+ if (flag) {
57
+ if (!isUrl(flag)) {
58
+ flag = await this.getSrc(flag);
59
+ }
60
+ const response = await this.load(flag);
61
+ if (response && response.status === 200 && response.getResponseHeader('content-type') === 'image/svg+xml') {
62
+ const container = document.createElement('svg');
63
+ container.innerHTML = response.responseText;
64
+ this.stripUnsafeNodes(...container.children);
65
+ const svgRoot = container.firstElementChild;
66
+ if (svgRoot) {
67
+ svgRoot.setAttribute('focusable', 'false'); /* disable IE11 focus on SVG root element */
68
+ }
69
+ return Promise.resolve(container.innerHTML);
70
+ }
71
+ return Promise.resolve('');
72
+ }
73
+ }
74
+ }
75
+ const flagLoaderInstance = new FlagLoader();
76
+ export { flagLoaderInstance as FlagLoader };
77
+ /**
78
+ * Helper function to preload set of flags.
79
+ * It could help to reduce flag loading delay when flag has a known set of flags that it can use.
80
+ * @param attrs - list of arguments, representing flags.
81
+ * Could be flag names, complete flag URLs or mix of both.
82
+ * @returns Array of promises, which will be resolved with SVG bodies.
83
+ */
84
+ export const preload = (...attrs) => {
85
+ return attrs.map(flag => flagLoaderInstance.loadSVG(flag));
86
+ };
@@ -0,0 +1,46 @@
1
+ import { JSXInterface } from '../jsx';
2
+ import { BasicElement, TemplateResult, CSSResultGroup } from '@refinitiv-ui/core';
3
+ /**
4
+ * Use to identify and separate different sections of a page.
5
+ * Headers helps to organize the page layout content into
6
+ * a sensible hierarchy and improve the user experience.
7
+ *
8
+ * @slot left - Slot to add custom contents to the left side of header e.g. ef-icon, ef-checkbox
9
+ * @slot right - Slot to add custom contents to the right side of header e.g. ef-icon, ef-checkbox
10
+ */
11
+ export declare class Header extends BasicElement {
12
+ /**
13
+ * Element version number
14
+ * @returns version number
15
+ */
16
+ static get version(): string;
17
+ /**
18
+ * Style definition
19
+ * @return CSS template
20
+ */
21
+ static get styles(): CSSResultGroup;
22
+ /**
23
+ * Use level styling from theme
24
+ */
25
+ level: '1' | '2' | '3';
26
+ /**
27
+ * A `TemplateResult` that will be used
28
+ * to render the updated internal template.
29
+ * @return Render template
30
+ */
31
+ protected render(): TemplateResult;
32
+ }
33
+
34
+ declare global {
35
+ interface HTMLElementTagNameMap {
36
+ 'ef-header': Header;
37
+ }
38
+
39
+ namespace JSX {
40
+ interface IntrinsicElements {
41
+ 'ef-header': Partial<Header> | JSXInterface.HTMLAttributes<Header>;
42
+ }
43
+ }
44
+ }
45
+
46
+ export {};
@@ -0,0 +1,73 @@
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
+ /**
7
+ * Use to identify and separate different sections of a page.
8
+ * Headers helps to organize the page layout content into
9
+ * a sensible hierarchy and improve the user experience.
10
+ *
11
+ * @slot left - Slot to add custom contents to the left side of header e.g. ef-icon, ef-checkbox
12
+ * @slot right - Slot to add custom contents to the right side of header e.g. ef-icon, ef-checkbox
13
+ */
14
+ let Header = class Header extends BasicElement {
15
+ constructor() {
16
+ super(...arguments);
17
+ /**
18
+ * Use level styling from theme
19
+ */
20
+ this.level = '2';
21
+ }
22
+ /**
23
+ * Element version number
24
+ * @returns version number
25
+ */
26
+ static get version() {
27
+ return VERSION;
28
+ }
29
+ /**
30
+ * Style definition
31
+ * @return CSS template
32
+ */
33
+ static get styles() {
34
+ return css `
35
+ :host {
36
+ display: block;
37
+ }
38
+ :host ::slotted(*) {
39
+ margin-top: 0;
40
+ margin-bottom: 0;
41
+ vertical-align: middle;
42
+ }
43
+ [part="label"] {
44
+ text-align: inherit;
45
+ }
46
+ `;
47
+ }
48
+ /**
49
+ * A `TemplateResult` that will be used
50
+ * to render the updated internal template.
51
+ * @return Render template
52
+ */
53
+ render() {
54
+ return html `
55
+ <slot name="left">
56
+ <div part="spacer"></div>
57
+ </slot>
58
+ <div part="label">
59
+ <slot></slot>
60
+ </div>
61
+ <slot name="right"></slot>
62
+ `;
63
+ }
64
+ };
65
+ __decorate([
66
+ property({ type: String, reflect: true })
67
+ ], Header.prototype, "level", void 0);
68
+ Header = __decorate([
69
+ customElement('ef-header', {
70
+ alias: 'coral-header'
71
+ })
72
+ ], Header);
73
+ export { Header };
@@ -0,0 +1,2 @@
1
+
2
+ elf.customStyles.define('ef-header', ':host{color:#ccc;padding:0 0 0 4px;height:28px;font-size:12rem;font-family:inherit;white-space:nowrap;box-sizing:border-box;display:flex;align-items:center;overflow:hidden;background-color:#333;text-transform:uppercase}:host [part=spacer]{flex:none;width:4px}:host [part=label]{flex:1 1 auto;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin-right:8px}:host ::slotted(ef-button[transparent]){color:inherit!important}:host([level="1"]){background-color:#404040}:host([level="3"]){background-color:#262626}:host([level="4"]){background-color:#1a1a1a}');
@@ -0,0 +1,2 @@
1
+
2
+ elf.customStyles.define('ef-header', ':host{color:#0d0d0d;padding:0 0 0 4px;height:28px;font-size:12rem;font-family:inherit;white-space:nowrap;box-sizing:border-box;display:flex;align-items:center;overflow:hidden;background-color:#e6e6e6;text-transform:uppercase}:host [part=spacer]{flex:none;width:4px}:host [part=label]{flex:1 1 auto;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin-right:8px}:host ::slotted(ef-button[transparent]){color:inherit!important}:host([level="1"]){background-color:#d9d9d9}:host([level="3"]){background-color:#f2f2f2}:host([level="4"]){background-color:#fafafa}');
@@ -0,0 +1,2 @@
1
+
2
+ elf.customStyles.define('ef-header', ':host{padding:0 0 0 5px;height:27px;font-size:14rem;font-family:inherit;white-space:nowrap;box-sizing:border-box;display:flex;align-items:center;overflow:hidden;position:relative;color:#c2c2c2;background-color:#2e2e33}:host [part=spacer]{flex:none;width:5px}:host [part=label]{flex:1 1 auto;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin-right:10px;font-weight:600;text-transform:uppercase}:host ::slotted(ef-button[transparent]){color:inherit!important}:host([level="3"]) [part=label]{text-transform:none}:host([level="1"]){color:#e2e2e2;background-color:#4a4a52;background-image:linear-gradient(rgba(255,255,255,.03) 0,rgba(255,255,255,0) 100%)}:host([level="3"]){color:#8c8c8c;background-color:#212124}');
@@ -0,0 +1,2 @@
1
+
2
+ elf.customStyles.define('ef-header', ':host{padding:0 0 0 5px;height:27px;font-size:14rem;font-family:inherit;white-space:nowrap;box-sizing:border-box;display:flex;align-items:center;overflow:hidden;position:relative;color:#505050;background-color:#d0d4db}:host [part=spacer]{flex:none;width:5px}:host [part=label]{flex:1 1 auto;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin-right:10px;font-weight:600;text-transform:uppercase}:host ::slotted(ef-button[transparent]){color:inherit!important}:host([level="3"]) [part=label]{text-transform:none}:host([level="1"]){color:#484848;background-color:#bec3cc;background-image:linear-gradient(rgba(255,255,255,.18) 0,rgba(255,255,255,0) 100%)}:host([level="3"]){color:#6e6e78;background-color:#e4e8ed}');
@@ -0,0 +1,30 @@
1
+ import { ColorCommonInstance } from '@refinitiv-ui/utils/lib/color.js';
2
+ import { interpolate } from 'd3-interpolate';
3
+ /**
4
+ * Check if the color is a light color
5
+ * @param col color to check
6
+ * @returns a boolean indicating whether the color's perceived brightness is light
7
+ */
8
+ declare const isLight: (col: ColorCommonInstance) => boolean;
9
+ /**
10
+ * Brightens a color
11
+ * @param colorString color string
12
+ * @return a color brighter than original color
13
+ */
14
+ declare const brighten: (colorString: string) => string;
15
+ /**
16
+ * Darkens a color
17
+ * @param colorString color string
18
+ * @return a color darker than original color
19
+ */
20
+ declare const darken: (colorString: string) => string;
21
+ /**
22
+ * Blends two colors and its background together
23
+ * @param color1 dominant color
24
+ * @param color2 secondary color
25
+ * @param backgroundColor background color
26
+ * @param amount color blending amount
27
+ * @returns a new blended color
28
+ */
29
+ declare const blend: (color1: string, color2: string, backgroundColor: string, amount: number) => string;
30
+ export { blend, brighten, darken, isLight, interpolate };
@@ -0,0 +1,68 @@
1
+ /* istanbul ignore file */
2
+ import { color, rgb, hsl } from '@refinitiv-ui/utils/lib/color.js';
3
+ import { interpolate } from 'd3-interpolate';
4
+ /**
5
+ * Check if the color is a light color
6
+ * @param col color to check
7
+ * @returns a boolean indicating whether the color's perceived brightness is light
8
+ */
9
+ const isLight = (col) => {
10
+ const { r, g, b } = rgb(col);
11
+ return ((r * 299 + g * 587 + b * 114) / 1000) > 128;
12
+ };
13
+ /**
14
+ * Brightens a color
15
+ * @param colorString color string
16
+ * @return a color brighter than original color
17
+ */
18
+ const brighten = (colorString) => {
19
+ var _a;
20
+ return ((_a = color(colorString)) === null || _a === void 0 ? void 0 : _a.brighter(0.8).toString()) || '';
21
+ };
22
+ /**
23
+ * Darkens a color
24
+ * @param colorString color string
25
+ * @return a color darker than original color
26
+ */
27
+ const darken = (colorString) => {
28
+ const color = hsl(colorString);
29
+ color.s += 0.15; // increasing saturation not to make the color too blackish
30
+ return color.darker(0.6).toString() || '';
31
+ };
32
+ /**
33
+ * Blends two colors and its background together
34
+ * @param color1 dominant color
35
+ * @param color2 secondary color
36
+ * @param backgroundColor background color
37
+ * @param amount color blending amount
38
+ * @returns a new blended color
39
+ */
40
+ const blend = (color1, color2, backgroundColor, amount) => {
41
+ var _a;
42
+ let primaryColor;
43
+ let secondaryColor;
44
+ if (amount >= 0) {
45
+ primaryColor = rgb(color2);
46
+ secondaryColor = rgb(color1);
47
+ }
48
+ else {
49
+ primaryColor = rgb(color1);
50
+ secondaryColor = rgb(color2);
51
+ }
52
+ // when background color is dark -> mix if dominant color is brighter than secondary color
53
+ let mixRedComponent = primaryColor.r > secondaryColor.r;
54
+ let mixGreenComponent = primaryColor.g > secondaryColor.g;
55
+ let mixBlueComponent = primaryColor.b > secondaryColor.b;
56
+ // when background color is light -> mix if dominant color is darker than secondary color
57
+ if (isLight(color(backgroundColor))) {
58
+ mixRedComponent = !mixRedComponent;
59
+ mixGreenComponent = !mixGreenComponent;
60
+ mixBlueComponent = !mixBlueComponent;
61
+ }
62
+ const factor = 1 - Math.abs(amount);
63
+ const red = mixRedComponent ? Math.round(interpolate(primaryColor.r, secondaryColor.r)(factor)) : primaryColor.r;
64
+ const green = mixGreenComponent ? Math.round(interpolate(primaryColor.g, secondaryColor.g)(factor)) : primaryColor.g;
65
+ const blue = mixBlueComponent ? Math.round(interpolate(primaryColor.b, secondaryColor.b)(factor)) : primaryColor.b;
66
+ return ((_a = color(`rgb(${red}, ${green}, ${blue})`)) === null || _a === void 0 ? void 0 : _a.toString()) || '';
67
+ };
68
+ export { blend, brighten, darken, isLight, interpolate };
@@ -0,0 +1,26 @@
1
+ import type { HeatmapCell } from './types';
2
+ declare const MIN_FONT_SIZE = 10;
3
+ declare const MAX_FONT_SIZE = 16;
4
+ /**
5
+ * Calculate responsive font size according to the screen width
6
+ * @param ratio font ratio
7
+ * @param cellHeight cell's height
8
+ * @param cellWidth cell's width
9
+ * @returns font size
10
+ */
11
+ declare const getResponsiveFontSize: (ratio: number, cellHeight: number, cellWidth: number) => number;
12
+ /**
13
+ * Get maximum text width out of all the cell by sampling
14
+ * @param ctx canvas context
15
+ * @param cells list of cells
16
+ * @param hasCellHeader if header property is present in the cell
17
+ * @returns label width measured in canvas
18
+ */
19
+ declare const getMaximumTextWidth: (ctx: CanvasRenderingContext2D, cells: HeatmapCell[], hasCellHeader: boolean) => number;
20
+ /**
21
+ * Calculate max length text for render Axis size
22
+ * @param labels array string text for calculate
23
+ * @returns max length text
24
+ */
25
+ declare const getMaximumLabelTextWidth: (labels: string[]) => string;
26
+ export { getResponsiveFontSize, getMaximumTextWidth, getMaximumLabelTextWidth, MIN_FONT_SIZE, MAX_FONT_SIZE };
@@ -0,0 +1,91 @@
1
+ const MIN_FONT_SIZE = 10;
2
+ const MAX_FONT_SIZE = 16;
3
+ /**
4
+ * Calculate responsive font size according to the screen width
5
+ * @param ratio font ratio
6
+ * @param cellHeight cell's height
7
+ * @param cellWidth cell's width
8
+ * @returns font size
9
+ */
10
+ const getResponsiveFontSize = (ratio, cellHeight, cellWidth) => {
11
+ let fontSize = Math.round(Math.min(cellHeight, cellWidth) * ratio);
12
+ if (fontSize < MIN_FONT_SIZE) {
13
+ fontSize = MIN_FONT_SIZE;
14
+ }
15
+ else if (fontSize > MAX_FONT_SIZE) {
16
+ fontSize = MAX_FONT_SIZE;
17
+ }
18
+ return fontSize;
19
+ };
20
+ /**
21
+ * Get maximum text width out of all the cell by sampling
22
+ * @param ctx canvas context
23
+ * @param cells list of cells
24
+ * @param hasCellHeader if header property is present in the cell
25
+ * @returns label width measured in canvas
26
+ */
27
+ const getMaximumTextWidth = (ctx, cells, hasCellHeader) => {
28
+ let maxHeaderLength = 0;
29
+ let maxLabelLength = 0;
30
+ const SAMPLE_AMOUNT = 5;
31
+ for (let i = 0; i < cells.length; i++) {
32
+ const header = cells[i].header || '';
33
+ const label = cells[i].customLabel || cells[i].label || '';
34
+ if (label.length > maxLabelLength) {
35
+ maxLabelLength = label.length;
36
+ }
37
+ if (header && header.length > maxHeaderLength) {
38
+ maxHeaderLength = header.length;
39
+ }
40
+ }
41
+ const textSamples = [];
42
+ const labelMap = {};
43
+ const headerMap = {};
44
+ for (let i = 0; i < cells.length; i++) {
45
+ const header = cells[i].header || '';
46
+ const label = cells[i].customLabel || cells[i].label || '';
47
+ const headerLength = header.length;
48
+ const labelLength = label.length;
49
+ if (labelLength >= maxLabelLength - 1) {
50
+ // Count number of times per label length
51
+ labelMap[labelLength] = labelMap[labelLength] ? labelMap[labelLength] + 1 : 1;
52
+ if (labelMap[labelLength] < SAMPLE_AMOUNT) {
53
+ textSamples.push(label);
54
+ }
55
+ }
56
+ if (hasCellHeader && headerLength >= maxHeaderLength - 1) {
57
+ // Count number of times per header length
58
+ headerMap[headerLength] = headerMap[headerLength] ? headerMap[headerLength] + 1 : 1;
59
+ if (headerMap[headerLength] < SAMPLE_AMOUNT) {
60
+ textSamples.push(header);
61
+ }
62
+ }
63
+ }
64
+ // Find maximum label width
65
+ let maxTextWidth = 0;
66
+ for (let i = 0; i < textSamples.length; i++) {
67
+ const textWidth = ctx.measureText(textSamples[i]).width;
68
+ if (textWidth > maxTextWidth) {
69
+ maxTextWidth = textWidth;
70
+ }
71
+ }
72
+ return maxTextWidth;
73
+ };
74
+ /**
75
+ * Calculate max length text for render Axis size
76
+ * @param labels array string text for calculate
77
+ * @returns max length text
78
+ */
79
+ const getMaximumLabelTextWidth = (labels) => {
80
+ let maxLengthText = '';
81
+ for (let i = 0; i < labels.length; i++) {
82
+ if (maxLengthText.length >= labels[i].length) {
83
+ maxLengthText = maxLengthText;
84
+ }
85
+ else {
86
+ maxLengthText = labels[i];
87
+ }
88
+ }
89
+ return maxLengthText;
90
+ };
91
+ export { getResponsiveFontSize, getMaximumTextWidth, getMaximumLabelTextWidth, MIN_FONT_SIZE, MAX_FONT_SIZE };
@@ -0,0 +1,102 @@
1
+ /**
2
+ * Utility class use for calculating :
3
+ *
4
+ * Track - the whole container
5
+ * Lane - each blocks inside the track
6
+ * Content - content that lies inside the lane
7
+ */
8
+ export declare class Track {
9
+ private _laneSizes;
10
+ private _laneStarts;
11
+ private _trackSize;
12
+ private _margin;
13
+ /**
14
+ * Get track size
15
+ * @returns track size
16
+ */
17
+ get trackSize(): number;
18
+ /**
19
+ * Sets track size
20
+ * @param value number of track size
21
+ */
22
+ set trackSize(value: number);
23
+ /**
24
+ * Get lane count
25
+ * @returns lane count
26
+ */
27
+ get laneCount(): number;
28
+ /**
29
+ * Sets lane count
30
+ * @param value number of lane count
31
+ */
32
+ set laneCount(value: number);
33
+ /**
34
+ * Get margin
35
+ * @returns margin in pixel
36
+ */
37
+ get margin(): number;
38
+ /**
39
+ * Sets cells margin
40
+ * @param value number margin
41
+ */
42
+ set margin(value: number);
43
+ /**
44
+ * Initialise track
45
+ * @param trackSize track size
46
+ * @param laneCount lane count
47
+ * @returns {void}
48
+ */
49
+ init(trackSize: number, laneCount: number): void;
50
+ /**
51
+ * Get lane start
52
+ * @returns lane start position in pixel
53
+ */
54
+ get laneStarts(): number[];
55
+ /**
56
+ * Get lane size
57
+ * @returns lane size in pixel
58
+ */
59
+ get laneSizes(): number[];
60
+ /**
61
+ * Get lane size
62
+ * @param index of lane Array
63
+ * @returns lane start position in pixel
64
+ */
65
+ private getLaneSize;
66
+ /**
67
+ * Get lane start position
68
+ * @param index of lane Array
69
+ * @returns lane start position in pixel
70
+ */
71
+ private getLaneStart;
72
+ /**
73
+ * Get lane end position
74
+ * @param index of lane Array
75
+ * @returns lane end position in pixel
76
+ */
77
+ private getLaneEnd;
78
+ /**
79
+ * Get content size
80
+ * @param index of lane Array
81
+ * @returns content size in pixel
82
+ */
83
+ getContentSize(index: number): number;
84
+ /**
85
+ * Get content start position
86
+ * @param index of lane Array
87
+ * @returns content position in pixel
88
+ */
89
+ getContentStart(index: number): number;
90
+ /**
91
+ * Get content end position
92
+ * @param index of lane Array
93
+ * @returns content position in pixel
94
+ */
95
+ getContentEnd(index: number): number;
96
+ /**
97
+ * Finds lane's index using the mouse position in pixel
98
+ * @param mousePixel current mouse position in pixel
99
+ * @returns index of the lane
100
+ */
101
+ hitTest(mousePixel: number): number;
102
+ }