@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,151 @@
1
+ {
2
+ "version": "experimental",
3
+ "tags": [
4
+ {
5
+ "name": "ef-heatmap",
6
+ "description": "A graphical representation of data where the individual\nvalues contained in a matrix are represented as colors",
7
+ "attributes": [
8
+ {
9
+ "name": "config",
10
+ "description": "Heatmap configuration options.",
11
+ "type": "HeatmapConfig"
12
+ },
13
+ {
14
+ "name": "label-width",
15
+ "description": "Number of maximum label width that cell can paint in pixel.\ne.g. label-width: 30px; cell label hides when text length reaches 30px.",
16
+ "type": "number",
17
+ "default": "0"
18
+ },
19
+ {
20
+ "name": "label-hidden",
21
+ "description": "Hide all labels in the cells",
22
+ "type": "boolean",
23
+ "default": "false"
24
+ },
25
+ {
26
+ "name": "axis-hidden",
27
+ "description": "Hide all axes",
28
+ "type": "boolean",
29
+ "default": "false"
30
+ },
31
+ {
32
+ "name": "min-point",
33
+ "description": "Minimum point of the cell coloring",
34
+ "type": "number",
35
+ "default": "-1"
36
+ },
37
+ {
38
+ "name": "mid-point",
39
+ "description": "Middle point of the cell coloring",
40
+ "type": "number",
41
+ "default": "0"
42
+ },
43
+ {
44
+ "name": "max-point",
45
+ "description": "Maximum point of the cell coloring",
46
+ "type": "number",
47
+ "default": "1"
48
+ },
49
+ {
50
+ "name": "blend",
51
+ "description": "Enable cell color blending",
52
+ "type": "boolean",
53
+ "default": "false"
54
+ },
55
+ {
56
+ "name": "saturation",
57
+ "description": "Cell minimum color saturation, value can be from 0 - 1",
58
+ "type": "number",
59
+ "default": "0.4"
60
+ }
61
+ ],
62
+ "properties": [
63
+ {
64
+ "name": "config",
65
+ "attribute": "config",
66
+ "description": "Heatmap configuration options.",
67
+ "type": "HeatmapConfig"
68
+ },
69
+ {
70
+ "name": "labelWidth",
71
+ "attribute": "label-width",
72
+ "description": "Number of maximum label width that cell can paint in pixel.\ne.g. label-width: 30px; cell label hides when text length reaches 30px.",
73
+ "type": "number",
74
+ "default": "0"
75
+ },
76
+ {
77
+ "name": "labelHidden",
78
+ "attribute": "label-hidden",
79
+ "description": "Hide all labels in the cells",
80
+ "type": "boolean",
81
+ "default": "false"
82
+ },
83
+ {
84
+ "name": "axisHidden",
85
+ "attribute": "axis-hidden",
86
+ "description": "Hide all axes",
87
+ "type": "boolean",
88
+ "default": "false"
89
+ },
90
+ {
91
+ "name": "minPoint",
92
+ "attribute": "min-point",
93
+ "description": "Minimum point of the cell coloring",
94
+ "type": "number",
95
+ "default": "-1"
96
+ },
97
+ {
98
+ "name": "midPoint",
99
+ "attribute": "mid-point",
100
+ "description": "Middle point of the cell coloring",
101
+ "type": "number",
102
+ "default": "0"
103
+ },
104
+ {
105
+ "name": "maxPoint",
106
+ "attribute": "max-point",
107
+ "description": "Maximum point of the cell coloring",
108
+ "type": "number",
109
+ "default": "1"
110
+ },
111
+ {
112
+ "name": "blend",
113
+ "attribute": "blend",
114
+ "description": "Enable cell color blending",
115
+ "type": "boolean",
116
+ "default": "false"
117
+ },
118
+ {
119
+ "name": "saturation",
120
+ "attribute": "saturation",
121
+ "description": "Cell minimum color saturation, value can be from 0 - 1",
122
+ "type": "number",
123
+ "default": "0.4"
124
+ },
125
+ {
126
+ "name": "tooltipCallback",
127
+ "description": "A callback function that allows tooltip rendering on cell hover",
128
+ "type": "HeatmapTooltipCallback"
129
+ },
130
+ {
131
+ "name": "renderCallback",
132
+ "description": "Render callback function use for custom cell properties.\nAccepts custom label, foreground and background color",
133
+ "type": "HeatmapRenderCallback"
134
+ }
135
+ ],
136
+ "methods": [
137
+ {
138
+ "name": "getCellDataAtEvent",
139
+ "description": "Returns data of interactive cell",
140
+ "params": [
141
+ {
142
+ "name": "event",
143
+ "description": "an event that occur while the user interacting with element",
144
+ "type": "MouseEvent"
145
+ }
146
+ ]
147
+ }
148
+ ]
149
+ }
150
+ ]
151
+ }
@@ -0,0 +1,26 @@
1
+ # ef-heatmap
2
+
3
+ A graphical representation of data where the individual
4
+ values contained in a matrix are represented as colors
5
+
6
+ ## Properties
7
+
8
+ | Property | Attribute | Type | Default | Description |
9
+ |-------------------|----------------|--------------------------|---------|--------------------------------------------------|
10
+ | `axisHidden` | `axis-hidden` | `boolean` | false | Hide all axes |
11
+ | `blend` | `blend` | `boolean` | false | Enable cell color blending |
12
+ | `config` | `config` | `HeatmapConfig` | null | Heatmap configuration options. |
13
+ | `labelHidden` | `label-hidden` | `boolean` | false | Hide all labels in the cells |
14
+ | `labelWidth` | `label-width` | `number` | 0 | Number of maximum label width that cell can paint in pixel.<br />e.g. label-width: 30px; cell label hides when text length reaches 30px. |
15
+ | `maxPoint` | `max-point` | `number` | 1 | Maximum point of the cell coloring |
16
+ | `midPoint` | `mid-point` | `number` | 0 | Middle point of the cell coloring |
17
+ | `minPoint` | `min-point` | `number` | -1 | Minimum point of the cell coloring |
18
+ | `renderCallback` | | `HeatmapRenderCallback` | | Render callback function use for custom cell properties.<br />Accepts custom label, foreground and background color |
19
+ | `saturation` | `saturation` | `number` | 0.4 | Cell minimum color saturation, value can be from 0 - 1 |
20
+ | `tooltipCallback` | | `HeatmapTooltipCallback` | | A callback function that allows tooltip rendering on cell hover |
21
+
22
+ ## Methods
23
+
24
+ | Method | Type | Description |
25
+ |----------------------|---------------------|--------------------------------------------------|
26
+ | `getCellDataAtEvent` | `(event: any): any` | Returns data of interactive cell<br /><br />**event**: an event that occur while the user interacting with element |
@@ -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
+ }
@@ -0,0 +1,160 @@
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 class Track {
9
+ constructor() {
10
+ this._laneSizes = [];
11
+ this._laneStarts = [0];
12
+ this._trackSize = 0;
13
+ this._margin = 0.5;
14
+ }
15
+ /**
16
+ * Get track size
17
+ * @returns track size
18
+ */
19
+ get trackSize() {
20
+ return this._trackSize;
21
+ }
22
+ /**
23
+ * Sets track size
24
+ * @param value number of track size
25
+ */
26
+ set trackSize(value) {
27
+ this.init(value, this.laneCount);
28
+ }
29
+ /**
30
+ * Get lane count
31
+ * @returns lane count
32
+ */
33
+ get laneCount() {
34
+ return this.laneSizes.length;
35
+ }
36
+ /**
37
+ * Sets lane count
38
+ * @param value number of lane count
39
+ */
40
+ set laneCount(value) {
41
+ this.init(this.trackSize, value);
42
+ }
43
+ /**
44
+ * Get margin
45
+ * @returns margin in pixel
46
+ */
47
+ get margin() {
48
+ return this._margin;
49
+ }
50
+ /**
51
+ * Sets cells margin
52
+ * @param value number margin
53
+ */
54
+ set margin(value) {
55
+ this._margin = value;
56
+ }
57
+ /**
58
+ * Initialise track
59
+ * @param trackSize track size
60
+ * @param laneCount lane count
61
+ * @returns {void}
62
+ */
63
+ init(trackSize, laneCount) {
64
+ this._trackSize = trackSize;
65
+ this._laneSizes = [laneCount];
66
+ this._laneStarts = [laneCount]; // For easy hit testing
67
+ this._laneStarts[0] = 0;
68
+ if (trackSize && laneCount) {
69
+ let start = 0;
70
+ const laneSize = (trackSize / laneCount);
71
+ for (let i = 0; i < laneCount; ++i) {
72
+ const end = start + laneSize;
73
+ this._laneStarts[i] = (start | 0);
74
+ this._laneSizes[i] = (end | 0) - (start | 0);
75
+ start = end;
76
+ }
77
+ }
78
+ }
79
+ /**
80
+ * Get lane start
81
+ * @returns lane start position in pixel
82
+ */
83
+ get laneStarts() {
84
+ return this._laneStarts;
85
+ }
86
+ /**
87
+ * Get lane size
88
+ * @returns lane size in pixel
89
+ */
90
+ get laneSizes() {
91
+ return this._laneSizes;
92
+ }
93
+ /**
94
+ * Get lane size
95
+ * @param index of lane Array
96
+ * @returns lane start position in pixel
97
+ */
98
+ getLaneSize(index) {
99
+ return this.laneSizes[index] || 0;
100
+ }
101
+ /**
102
+ * Get lane start position
103
+ * @param index of lane Array
104
+ * @returns lane start position in pixel
105
+ */
106
+ getLaneStart(index) {
107
+ return this._laneStarts[index] || 0;
108
+ }
109
+ /**
110
+ * Get lane end position
111
+ * @param index of lane Array
112
+ * @returns lane end position in pixel
113
+ */
114
+ getLaneEnd(index) {
115
+ return this.getLaneStart(index) + this.getLaneSize(index);
116
+ }
117
+ /**
118
+ * Get content size
119
+ * @param index of lane Array
120
+ * @returns content size in pixel
121
+ */
122
+ getContentSize(index) {
123
+ const contentSize = this.getLaneSize(index) - this._margin - this._margin;
124
+ return (contentSize > 0) ? contentSize : 0;
125
+ }
126
+ /**
127
+ * Get content start position
128
+ * @param index of lane Array
129
+ * @returns content position in pixel
130
+ */
131
+ getContentStart(index) {
132
+ return this.getLaneStart(index) + this._margin;
133
+ }
134
+ /**
135
+ * Get content end position
136
+ * @param index of lane Array
137
+ * @returns content position in pixel
138
+ */
139
+ getContentEnd(index) {
140
+ return this.getContentStart(index) + this.getContentSize(index);
141
+ }
142
+ /**
143
+ * Finds lane's index using the mouse position in pixel
144
+ * @param mousePixel current mouse position in pixel
145
+ * @returns index of the lane
146
+ */
147
+ hitTest(mousePixel) {
148
+ const laneSize = this.trackSize / this.laneCount;
149
+ let index = Math.floor(mousePixel / laneSize);
150
+ if (index >= 0 && index < this.laneCount) {
151
+ if (mousePixel < this.getContentStart(index) || mousePixel >= this.getContentEnd(index)) {
152
+ index = -1;
153
+ }
154
+ }
155
+ else {
156
+ index = -1;
157
+ }
158
+ return index;
159
+ }
160
+ }