@refinitiv-ui/elements 5.10.1 → 5.12.0-alpha.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 (507) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/README.md +4 -4
  3. package/lib/list/custom-elements.json +13 -0
  4. package/lib/list/custom-elements.md +10 -9
  5. package/package.json +25 -293
  6. package/lib/accordion/index.d.ts +0 -76
  7. package/lib/accordion/index.js +0 -136
  8. package/lib/accordion/themes/halo/dark/index.js +0 -3
  9. package/lib/accordion/themes/halo/light/index.js +0 -3
  10. package/lib/accordion/themes/solar/charcoal/index.js +0 -3
  11. package/lib/accordion/themes/solar/pearl/index.js +0 -3
  12. package/lib/appstate-bar/index.d.ts +0 -65
  13. package/lib/appstate-bar/index.js +0 -100
  14. package/lib/appstate-bar/themes/halo/dark/index.js +0 -3
  15. package/lib/appstate-bar/themes/halo/light/index.js +0 -3
  16. package/lib/appstate-bar/themes/solar/charcoal/index.js +0 -3
  17. package/lib/appstate-bar/themes/solar/pearl/index.js +0 -3
  18. package/lib/autosuggest/helpers/types.d.ts +0 -54
  19. package/lib/autosuggest/helpers/types.js +0 -1
  20. package/lib/autosuggest/helpers/utils.d.ts +0 -39
  21. package/lib/autosuggest/helpers/utils.js +0 -75
  22. package/lib/autosuggest/index.d.ts +0 -538
  23. package/lib/autosuggest/index.js +0 -1255
  24. package/lib/autosuggest/themes/halo/dark/index.js +0 -5
  25. package/lib/autosuggest/themes/halo/light/index.js +0 -5
  26. package/lib/autosuggest/themes/solar/charcoal/index.js +0 -5
  27. package/lib/autosuggest/themes/solar/pearl/index.js +0 -5
  28. package/lib/button/index.d.ts +0 -132
  29. package/lib/button/index.js +0 -223
  30. package/lib/button/themes/halo/dark/index.js +0 -3
  31. package/lib/button/themes/halo/light/index.js +0 -3
  32. package/lib/button/themes/solar/charcoal/index.js +0 -3
  33. package/lib/button/themes/solar/pearl/index.js +0 -3
  34. package/lib/button-bar/index.d.ts +0 -76
  35. package/lib/button-bar/index.js +0 -155
  36. package/lib/button-bar/themes/halo/dark/index.js +0 -3
  37. package/lib/button-bar/themes/halo/light/index.js +0 -3
  38. package/lib/button-bar/themes/solar/charcoal/index.js +0 -3
  39. package/lib/button-bar/themes/solar/pearl/index.js +0 -3
  40. package/lib/calendar/constants.d.ts +0 -26
  41. package/lib/calendar/constants.js +0 -28
  42. package/lib/calendar/index.d.ts +0 -412
  43. package/lib/calendar/index.js +0 -1274
  44. package/lib/calendar/locales.d.ts +0 -1
  45. package/lib/calendar/locales.js +0 -41
  46. package/lib/calendar/themes/halo/dark/index.js +0 -3
  47. package/lib/calendar/themes/halo/light/index.js +0 -3
  48. package/lib/calendar/themes/solar/charcoal/index.js +0 -3
  49. package/lib/calendar/themes/solar/pearl/index.js +0 -3
  50. package/lib/calendar/types.d.ts +0 -32
  51. package/lib/calendar/types.js +0 -1
  52. package/lib/calendar/utils.d.ts +0 -42
  53. package/lib/calendar/utils.js +0 -120
  54. package/lib/canvas/index.d.ts +0 -101
  55. package/lib/canvas/index.js +0 -173
  56. package/lib/canvas/themes/halo/dark/index.js +0 -2
  57. package/lib/canvas/themes/halo/light/index.js +0 -2
  58. package/lib/canvas/themes/solar/charcoal/index.js +0 -2
  59. package/lib/canvas/themes/solar/pearl/index.js +0 -2
  60. package/lib/card/helpers/types.d.ts +0 -12
  61. package/lib/card/helpers/types.js +0 -1
  62. package/lib/card/index.d.ts +0 -142
  63. package/lib/card/index.js +0 -248
  64. package/lib/card/themes/halo/dark/index.js +0 -5
  65. package/lib/card/themes/halo/light/index.js +0 -5
  66. package/lib/card/themes/solar/charcoal/index.js +0 -5
  67. package/lib/card/themes/solar/pearl/index.js +0 -5
  68. package/lib/chart/helpers/index.d.ts +0 -2
  69. package/lib/chart/helpers/index.js +0 -2
  70. package/lib/chart/helpers/legend.d.ts +0 -5
  71. package/lib/chart/helpers/legend.js +0 -78
  72. package/lib/chart/helpers/merge.d.ts +0 -15
  73. package/lib/chart/helpers/merge.js +0 -28
  74. package/lib/chart/helpers/types.d.ts +0 -69
  75. package/lib/chart/helpers/types.js +0 -1
  76. package/lib/chart/index.d.ts +0 -187
  77. package/lib/chart/index.js +0 -491
  78. package/lib/chart/plugins/doughnut-center-label.d.ts +0 -3
  79. package/lib/chart/plugins/doughnut-center-label.js +0 -196
  80. package/lib/chart/themes/halo/dark/index.js +0 -4
  81. package/lib/chart/themes/halo/light/index.js +0 -4
  82. package/lib/chart/themes/solar/charcoal/index.js +0 -4
  83. package/lib/chart/themes/solar/pearl/index.js +0 -4
  84. package/lib/checkbox/index.d.ts +0 -97
  85. package/lib/checkbox/index.js +0 -194
  86. package/lib/checkbox/themes/halo/dark/index.js +0 -4
  87. package/lib/checkbox/themes/halo/light/index.js +0 -4
  88. package/lib/checkbox/themes/solar/charcoal/index.js +0 -4
  89. package/lib/checkbox/themes/solar/pearl/index.js +0 -4
  90. package/lib/clock/index.d.ts +0 -321
  91. package/lib/clock/index.js +0 -583
  92. package/lib/clock/themes/halo/dark/index.js +0 -2
  93. package/lib/clock/themes/halo/light/index.js +0 -2
  94. package/lib/clock/themes/solar/charcoal/index.js +0 -2
  95. package/lib/clock/themes/solar/pearl/index.js +0 -2
  96. package/lib/clock/utils/TickManager.d.ts +0 -14
  97. package/lib/clock/utils/TickManager.js +0 -66
  98. package/lib/clock/utils/timestamps.d.ts +0 -6
  99. package/lib/clock/utils/timestamps.js +0 -6
  100. package/lib/collapse/index.d.ts +0 -119
  101. package/lib/collapse/index.js +0 -197
  102. package/lib/collapse/themes/halo/dark/index.js +0 -5
  103. package/lib/collapse/themes/halo/light/index.js +0 -5
  104. package/lib/collapse/themes/solar/charcoal/index.js +0 -5
  105. package/lib/collapse/themes/solar/pearl/index.js +0 -5
  106. package/lib/color-dialog/elements/color-palettes.d.ts +0 -52
  107. package/lib/color-dialog/elements/color-palettes.js +0 -101
  108. package/lib/color-dialog/elements/grayscale-palettes.d.ts +0 -67
  109. package/lib/color-dialog/elements/grayscale-palettes.js +0 -161
  110. package/lib/color-dialog/elements/palettes.d.ts +0 -65
  111. package/lib/color-dialog/elements/palettes.js +0 -132
  112. package/lib/color-dialog/helpers/color-helpers.d.ts +0 -16
  113. package/lib/color-dialog/helpers/color-helpers.js +0 -161
  114. package/lib/color-dialog/helpers/value-model.d.ts +0 -75
  115. package/lib/color-dialog/helpers/value-model.js +0 -141
  116. package/lib/color-dialog/index.d.ts +0 -232
  117. package/lib/color-dialog/index.js +0 -459
  118. package/lib/color-dialog/themes/halo/dark/index.js +0 -7
  119. package/lib/color-dialog/themes/halo/light/index.js +0 -7
  120. package/lib/color-dialog/themes/solar/charcoal/index.js +0 -7
  121. package/lib/color-dialog/themes/solar/pearl/index.js +0 -7
  122. package/lib/combo-box/helpers/filter.d.ts +0 -10
  123. package/lib/combo-box/helpers/filter.js +0 -29
  124. package/lib/combo-box/helpers/keyboard-event.d.ts +0 -17
  125. package/lib/combo-box/helpers/keyboard-event.js +0 -19
  126. package/lib/combo-box/helpers/renderer.d.ts +0 -8
  127. package/lib/combo-box/helpers/renderer.js +0 -24
  128. package/lib/combo-box/helpers/types.d.ts +0 -11
  129. package/lib/combo-box/helpers/types.js +0 -1
  130. package/lib/combo-box/index.d.ts +0 -551
  131. package/lib/combo-box/index.js +0 -1183
  132. package/lib/combo-box/themes/halo/dark/index.js +0 -7
  133. package/lib/combo-box/themes/halo/light/index.js +0 -7
  134. package/lib/combo-box/themes/solar/charcoal/index.js +0 -7
  135. package/lib/combo-box/themes/solar/pearl/index.js +0 -7
  136. package/lib/counter/index.d.ts +0 -91
  137. package/lib/counter/index.js +0 -154
  138. package/lib/counter/themes/halo/dark/index.js +0 -3
  139. package/lib/counter/themes/halo/light/index.js +0 -3
  140. package/lib/counter/themes/solar/charcoal/index.js +0 -3
  141. package/lib/counter/themes/solar/pearl/index.js +0 -3
  142. package/lib/counter/utils.d.ts +0 -13
  143. package/lib/counter/utils.js +0 -52
  144. package/lib/datetime-picker/index.d.ts +0 -509
  145. package/lib/datetime-picker/index.js +0 -1175
  146. package/lib/datetime-picker/locales.d.ts +0 -8
  147. package/lib/datetime-picker/locales.js +0 -57
  148. package/lib/datetime-picker/themes/halo/dark/index.js +0 -7
  149. package/lib/datetime-picker/themes/halo/light/index.js +0 -7
  150. package/lib/datetime-picker/themes/solar/charcoal/index.js +0 -7
  151. package/lib/datetime-picker/themes/solar/pearl/index.js +0 -7
  152. package/lib/datetime-picker/types.d.ts +0 -3
  153. package/lib/datetime-picker/types.js +0 -1
  154. package/lib/datetime-picker/utils.d.ts +0 -55
  155. package/lib/datetime-picker/utils.js +0 -92
  156. package/lib/dialog/draggable-element.d.ts +0 -14
  157. package/lib/dialog/draggable-element.js +0 -221
  158. package/lib/dialog/index.d.ts +0 -196
  159. package/lib/dialog/index.js +0 -328
  160. package/lib/dialog/themes/halo/dark/index.js +0 -7
  161. package/lib/dialog/themes/halo/light/index.js +0 -7
  162. package/lib/dialog/themes/solar/charcoal/index.js +0 -7
  163. package/lib/dialog/themes/solar/pearl/index.js +0 -7
  164. package/lib/email-field/index.d.ts +0 -80
  165. package/lib/email-field/index.js +0 -86
  166. package/lib/email-field/themes/halo/dark/index.js +0 -3
  167. package/lib/email-field/themes/halo/light/index.js +0 -3
  168. package/lib/email-field/themes/solar/charcoal/index.js +0 -3
  169. package/lib/email-field/themes/solar/pearl/index.js +0 -3
  170. package/lib/events.d.ts +0 -121
  171. package/lib/events.js +0 -1
  172. package/lib/flag/index.d.ts +0 -96
  173. package/lib/flag/index.js +0 -168
  174. package/lib/flag/themes/halo/dark/index.js +0 -2
  175. package/lib/flag/themes/halo/light/index.js +0 -2
  176. package/lib/flag/themes/solar/charcoal/index.js +0 -2
  177. package/lib/flag/themes/solar/pearl/index.js +0 -2
  178. package/lib/flag/utils/FlagLoader.d.ts +0 -47
  179. package/lib/flag/utils/FlagLoader.js +0 -86
  180. package/lib/header/index.d.ts +0 -46
  181. package/lib/header/index.js +0 -73
  182. package/lib/header/themes/halo/dark/index.js +0 -2
  183. package/lib/header/themes/halo/light/index.js +0 -2
  184. package/lib/header/themes/solar/charcoal/index.js +0 -2
  185. package/lib/header/themes/solar/pearl/index.js +0 -2
  186. package/lib/heatmap/helpers/color.d.ts +0 -30
  187. package/lib/heatmap/helpers/color.js +0 -68
  188. package/lib/heatmap/helpers/text.d.ts +0 -26
  189. package/lib/heatmap/helpers/text.js +0 -91
  190. package/lib/heatmap/helpers/track.d.ts +0 -102
  191. package/lib/heatmap/helpers/track.js +0 -160
  192. package/lib/heatmap/helpers/types.d.ts +0 -40
  193. package/lib/heatmap/helpers/types.js +0 -1
  194. package/lib/heatmap/index.d.ts +0 -453
  195. package/lib/heatmap/index.js +0 -1103
  196. package/lib/heatmap/themes/halo/dark/index.js +0 -4
  197. package/lib/heatmap/themes/halo/light/index.js +0 -4
  198. package/lib/heatmap/themes/solar/charcoal/index.js +0 -4
  199. package/lib/heatmap/themes/solar/pearl/index.js +0 -4
  200. package/lib/icon/index.d.ts +0 -90
  201. package/lib/icon/index.js +0 -171
  202. package/lib/icon/themes/halo/dark/index.js +0 -2
  203. package/lib/icon/themes/halo/light/index.js +0 -2
  204. package/lib/icon/themes/solar/charcoal/index.js +0 -2
  205. package/lib/icon/themes/solar/pearl/index.js +0 -2
  206. package/lib/icon/utils/IconLoader.d.ts +0 -52
  207. package/lib/icon/utils/IconLoader.js +0 -93
  208. package/lib/index.d.ts +0 -3
  209. package/lib/index.js +0 -3
  210. package/lib/interactive-chart/helpers/merge.d.ts +0 -15
  211. package/lib/interactive-chart/helpers/merge.js +0 -28
  212. package/lib/interactive-chart/helpers/types.d.ts +0 -45
  213. package/lib/interactive-chart/helpers/types.js +0 -6
  214. package/lib/interactive-chart/index.d.ts +0 -383
  215. package/lib/interactive-chart/index.js +0 -1093
  216. package/lib/interactive-chart/themes/halo/dark/index.js +0 -3
  217. package/lib/interactive-chart/themes/halo/light/index.js +0 -3
  218. package/lib/interactive-chart/themes/solar/charcoal/index.js +0 -3
  219. package/lib/interactive-chart/themes/solar/pearl/index.js +0 -3
  220. package/lib/item/helpers/types.d.ts +0 -57
  221. package/lib/item/helpers/types.js +0 -1
  222. package/lib/item/index.d.ts +0 -159
  223. package/lib/item/index.js +0 -272
  224. package/lib/item/themes/halo/dark/index.js +0 -4
  225. package/lib/item/themes/halo/light/index.js +0 -4
  226. package/lib/item/themes/solar/charcoal/index.js +0 -4
  227. package/lib/item/themes/solar/pearl/index.js +0 -4
  228. package/lib/label/index.d.ts +0 -102
  229. package/lib/label/index.js +0 -245
  230. package/lib/label/themes/halo/dark/index.js +0 -3
  231. package/lib/label/themes/halo/light/index.js +0 -3
  232. package/lib/label/themes/solar/charcoal/index.js +0 -3
  233. package/lib/label/themes/solar/pearl/index.js +0 -3
  234. package/lib/layout/index.d.ts +0 -107
  235. package/lib/layout/index.js +0 -212
  236. package/lib/layout/themes/halo/dark/index.js +0 -2
  237. package/lib/layout/themes/halo/light/index.js +0 -2
  238. package/lib/layout/themes/solar/charcoal/index.js +0 -2
  239. package/lib/layout/themes/solar/pearl/index.js +0 -2
  240. package/lib/led-gauge/index.d.ts +0 -144
  241. package/lib/led-gauge/index.js +0 -438
  242. package/lib/led-gauge/themes/halo/dark/index.js +0 -3
  243. package/lib/led-gauge/themes/halo/light/index.js +0 -3
  244. package/lib/led-gauge/themes/solar/charcoal/index.js +0 -3
  245. package/lib/led-gauge/themes/solar/pearl/index.js +0 -3
  246. package/lib/list/extensible-function.d.ts +0 -8
  247. package/lib/list/extensible-function.js +0 -13
  248. package/lib/list/helpers/list-renderer.d.ts +0 -9
  249. package/lib/list/helpers/list-renderer.js +0 -37
  250. package/lib/list/helpers/types.d.ts +0 -3
  251. package/lib/list/helpers/types.js +0 -1
  252. package/lib/list/index.d.ts +0 -309
  253. package/lib/list/index.js +0 -633
  254. package/lib/list/renderer.d.ts +0 -36
  255. package/lib/list/renderer.js +0 -9
  256. package/lib/list/themes/halo/dark/index.js +0 -3
  257. package/lib/list/themes/halo/light/index.js +0 -3
  258. package/lib/list/themes/solar/charcoal/index.js +0 -3
  259. package/lib/list/themes/solar/pearl/index.js +0 -3
  260. package/lib/loader/index.d.ts +0 -41
  261. package/lib/loader/index.js +0 -61
  262. package/lib/loader/themes/halo/dark/index.js +0 -2
  263. package/lib/loader/themes/halo/light/index.js +0 -2
  264. package/lib/loader/themes/solar/charcoal/index.js +0 -2
  265. package/lib/loader/themes/solar/pearl/index.js +0 -2
  266. package/lib/multi-input/helpers/types.d.ts +0 -11
  267. package/lib/multi-input/helpers/types.js +0 -1
  268. package/lib/multi-input/index.d.ts +0 -301
  269. package/lib/multi-input/index.js +0 -594
  270. package/lib/multi-input/themes/halo/dark/index.js +0 -4
  271. package/lib/multi-input/themes/halo/light/index.js +0 -4
  272. package/lib/multi-input/themes/solar/charcoal/index.js +0 -4
  273. package/lib/multi-input/themes/solar/pearl/index.js +0 -4
  274. package/lib/notification/elements/notification-tray.d.ts +0 -97
  275. package/lib/notification/elements/notification-tray.js +0 -167
  276. package/lib/notification/elements/notification.d.ts +0 -90
  277. package/lib/notification/elements/notification.js +0 -154
  278. package/lib/notification/helpers/status.d.ts +0 -30
  279. package/lib/notification/helpers/status.js +0 -130
  280. package/lib/notification/helpers/types.d.ts +0 -10
  281. package/lib/notification/helpers/types.js +0 -1
  282. package/lib/notification/index.d.ts +0 -2
  283. package/lib/notification/index.js +0 -2
  284. package/lib/notification/themes/halo/dark/index.js +0 -5
  285. package/lib/notification/themes/halo/light/index.js +0 -5
  286. package/lib/notification/themes/solar/charcoal/index.js +0 -5
  287. package/lib/notification/themes/solar/pearl/index.js +0 -5
  288. package/lib/number-field/index.d.ts +0 -339
  289. package/lib/number-field/index.js +0 -740
  290. package/lib/number-field/themes/halo/dark/index.js +0 -3
  291. package/lib/number-field/themes/halo/light/index.js +0 -3
  292. package/lib/number-field/themes/solar/charcoal/index.js +0 -3
  293. package/lib/number-field/themes/solar/pearl/index.js +0 -3
  294. package/lib/overlay/elements/overlay-backdrop.d.ts +0 -46
  295. package/lib/overlay/elements/overlay-backdrop.js +0 -64
  296. package/lib/overlay/elements/overlay-viewport.d.ts +0 -40
  297. package/lib/overlay/elements/overlay-viewport.js +0 -52
  298. package/lib/overlay/elements/overlay.d.ts +0 -408
  299. package/lib/overlay/elements/overlay.js +0 -1426
  300. package/lib/overlay/helpers/functions.d.ts +0 -13
  301. package/lib/overlay/helpers/functions.js +0 -16
  302. package/lib/overlay/helpers/types.d.ts +0 -97
  303. package/lib/overlay/helpers/types.js +0 -16
  304. package/lib/overlay/index.d.ts +0 -2
  305. package/lib/overlay/index.js +0 -1
  306. package/lib/overlay/managers/backdrop-manager.d.ts +0 -45
  307. package/lib/overlay/managers/backdrop-manager.js +0 -96
  308. package/lib/overlay/managers/close-manager.d.ts +0 -54
  309. package/lib/overlay/managers/close-manager.js +0 -138
  310. package/lib/overlay/managers/focus-manager.d.ts +0 -71
  311. package/lib/overlay/managers/focus-manager.js +0 -228
  312. package/lib/overlay/managers/interaction-lock-manager.d.ts +0 -138
  313. package/lib/overlay/managers/interaction-lock-manager.js +0 -375
  314. package/lib/overlay/managers/viewport-manager.d.ts +0 -93
  315. package/lib/overlay/managers/viewport-manager.js +0 -211
  316. package/lib/overlay/managers/zindex-manager.d.ts +0 -80
  317. package/lib/overlay/managers/zindex-manager.js +0 -195
  318. package/lib/overlay/themes/halo/dark/index.js +0 -4
  319. package/lib/overlay/themes/halo/light/index.js +0 -4
  320. package/lib/overlay/themes/solar/charcoal/index.js +0 -4
  321. package/lib/overlay/themes/solar/pearl/index.js +0 -4
  322. package/lib/overlay-menu/helpers/types.d.ts +0 -8
  323. package/lib/overlay-menu/helpers/types.js +0 -1
  324. package/lib/overlay-menu/index.d.ts +0 -387
  325. package/lib/overlay-menu/index.js +0 -935
  326. package/lib/overlay-menu/managers/menu-manager.d.ts +0 -98
  327. package/lib/overlay-menu/managers/menu-manager.js +0 -240
  328. package/lib/overlay-menu/themes/halo/dark/index.js +0 -5
  329. package/lib/overlay-menu/themes/halo/light/index.js +0 -5
  330. package/lib/overlay-menu/themes/solar/charcoal/index.js +0 -5
  331. package/lib/overlay-menu/themes/solar/pearl/index.js +0 -5
  332. package/lib/pagination/index.d.ts +0 -275
  333. package/lib/pagination/index.js +0 -552
  334. package/lib/pagination/themes/halo/dark/index.js +0 -6
  335. package/lib/pagination/themes/halo/light/index.js +0 -6
  336. package/lib/pagination/themes/solar/charcoal/index.js +0 -6
  337. package/lib/pagination/themes/solar/pearl/index.js +0 -6
  338. package/lib/panel/index.d.ts +0 -48
  339. package/lib/panel/index.js +0 -74
  340. package/lib/panel/themes/halo/dark/index.js +0 -2
  341. package/lib/panel/themes/halo/light/index.js +0 -2
  342. package/lib/panel/themes/solar/charcoal/index.js +0 -2
  343. package/lib/panel/themes/solar/pearl/index.js +0 -2
  344. package/lib/password-field/index.d.ts +0 -89
  345. package/lib/password-field/index.js +0 -112
  346. package/lib/password-field/themes/halo/dark/index.js +0 -3
  347. package/lib/password-field/themes/halo/light/index.js +0 -3
  348. package/lib/password-field/themes/solar/charcoal/index.js +0 -3
  349. package/lib/password-field/themes/solar/pearl/index.js +0 -3
  350. package/lib/pill/index.d.ts +0 -97
  351. package/lib/pill/index.js +0 -160
  352. package/lib/pill/themes/halo/dark/index.js +0 -3
  353. package/lib/pill/themes/halo/light/index.js +0 -3
  354. package/lib/pill/themes/solar/charcoal/index.js +0 -3
  355. package/lib/pill/themes/solar/pearl/index.js +0 -3
  356. package/lib/progress-bar/index.d.ts +0 -82
  357. package/lib/progress-bar/index.js +0 -157
  358. package/lib/progress-bar/themes/halo/dark/index.js +0 -2
  359. package/lib/progress-bar/themes/halo/light/index.js +0 -2
  360. package/lib/progress-bar/themes/solar/charcoal/index.js +0 -2
  361. package/lib/progress-bar/themes/solar/pearl/index.js +0 -2
  362. package/lib/radio-button/index.d.ts +0 -123
  363. package/lib/radio-button/index.js +0 -261
  364. package/lib/radio-button/radio-button-registry.d.ts +0 -22
  365. package/lib/radio-button/radio-button-registry.js +0 -93
  366. package/lib/radio-button/themes/halo/dark/index.js +0 -3
  367. package/lib/radio-button/themes/halo/light/index.js +0 -3
  368. package/lib/radio-button/themes/solar/charcoal/index.js +0 -3
  369. package/lib/radio-button/themes/solar/pearl/index.js +0 -3
  370. package/lib/rating/index.d.ts +0 -91
  371. package/lib/rating/index.js +0 -157
  372. package/lib/rating/themes/halo/dark/index.js +0 -2
  373. package/lib/rating/themes/halo/light/index.js +0 -2
  374. package/lib/rating/themes/solar/charcoal/index.js +0 -2
  375. package/lib/rating/themes/solar/pearl/index.js +0 -2
  376. package/lib/search-field/index.d.ts +0 -77
  377. package/lib/search-field/index.js +0 -84
  378. package/lib/search-field/themes/halo/dark/index.js +0 -3
  379. package/lib/search-field/themes/halo/light/index.js +0 -3
  380. package/lib/search-field/themes/solar/charcoal/index.js +0 -3
  381. package/lib/search-field/themes/solar/pearl/index.js +0 -3
  382. package/lib/select/helpers/types.d.ts +0 -3
  383. package/lib/select/helpers/types.js +0 -1
  384. package/lib/select/index.d.ts +0 -396
  385. package/lib/select/index.js +0 -981
  386. package/lib/select/themes/halo/dark/index.js +0 -5
  387. package/lib/select/themes/halo/light/index.js +0 -5
  388. package/lib/select/themes/solar/charcoal/index.js +0 -5
  389. package/lib/select/themes/solar/pearl/index.js +0 -5
  390. package/lib/sidebar-layout/index.d.ts +0 -70
  391. package/lib/sidebar-layout/index.js +0 -134
  392. package/lib/sidebar-layout/themes/halo/dark/index.js +0 -3
  393. package/lib/sidebar-layout/themes/halo/light/index.js +0 -3
  394. package/lib/sidebar-layout/themes/solar/charcoal/index.js +0 -3
  395. package/lib/sidebar-layout/themes/solar/pearl/index.js +0 -3
  396. package/lib/slider/index.d.ts +0 -409
  397. package/lib/slider/index.js +0 -1187
  398. package/lib/slider/themes/halo/dark/index.js +0 -3
  399. package/lib/slider/themes/halo/light/index.js +0 -3
  400. package/lib/slider/themes/solar/charcoal/index.js +0 -3
  401. package/lib/slider/themes/solar/pearl/index.js +0 -3
  402. package/lib/sparkline/index.d.ts +0 -109
  403. package/lib/sparkline/index.js +0 -188
  404. package/lib/sparkline/themes/halo/dark/index.js +0 -2
  405. package/lib/sparkline/themes/halo/light/index.js +0 -2
  406. package/lib/sparkline/themes/solar/charcoal/index.js +0 -2
  407. package/lib/sparkline/themes/solar/pearl/index.js +0 -2
  408. package/lib/swing-gauge/const.d.ts +0 -22
  409. package/lib/swing-gauge/const.js +0 -26
  410. package/lib/swing-gauge/helpers.d.ts +0 -8
  411. package/lib/swing-gauge/helpers.js +0 -105
  412. package/lib/swing-gauge/index.d.ts +0 -296
  413. package/lib/swing-gauge/index.js +0 -764
  414. package/lib/swing-gauge/themes/halo/dark/index.js +0 -3
  415. package/lib/swing-gauge/themes/halo/light/index.js +0 -3
  416. package/lib/swing-gauge/themes/solar/charcoal/index.js +0 -3
  417. package/lib/swing-gauge/themes/solar/pearl/index.js +0 -3
  418. package/lib/swing-gauge/types.d.ts +0 -34
  419. package/lib/swing-gauge/types.js +0 -1
  420. package/lib/tab/index.d.ts +0 -118
  421. package/lib/tab/index.js +0 -208
  422. package/lib/tab/themes/halo/dark/index.js +0 -4
  423. package/lib/tab/themes/halo/light/index.js +0 -4
  424. package/lib/tab/themes/solar/charcoal/index.js +0 -4
  425. package/lib/tab/themes/solar/pearl/index.js +0 -4
  426. package/lib/tab-bar/helpers/animate.d.ts +0 -16
  427. package/lib/tab-bar/helpers/animate.js +0 -53
  428. package/lib/tab-bar/index.d.ts +0 -108
  429. package/lib/tab-bar/index.js +0 -218
  430. package/lib/tab-bar/themes/halo/dark/index.js +0 -4
  431. package/lib/tab-bar/themes/halo/light/index.js +0 -4
  432. package/lib/tab-bar/themes/solar/charcoal/index.js +0 -4
  433. package/lib/tab-bar/themes/solar/pearl/index.js +0 -4
  434. package/lib/text-field/index.d.ts +0 -151
  435. package/lib/text-field/index.js +0 -260
  436. package/lib/text-field/themes/halo/dark/index.js +0 -3
  437. package/lib/text-field/themes/halo/light/index.js +0 -3
  438. package/lib/text-field/themes/solar/charcoal/index.js +0 -3
  439. package/lib/text-field/themes/solar/pearl/index.js +0 -3
  440. package/lib/time-picker/index.d.ts +0 -412
  441. package/lib/time-picker/index.js +0 -898
  442. package/lib/time-picker/themes/halo/dark/index.js +0 -4
  443. package/lib/time-picker/themes/halo/light/index.js +0 -4
  444. package/lib/time-picker/themes/solar/charcoal/index.js +0 -4
  445. package/lib/time-picker/themes/solar/pearl/index.js +0 -4
  446. package/lib/toggle/index.d.ts +0 -87
  447. package/lib/toggle/index.js +0 -153
  448. package/lib/toggle/themes/halo/dark/index.js +0 -2
  449. package/lib/toggle/themes/halo/light/index.js +0 -2
  450. package/lib/toggle/themes/solar/charcoal/index.js +0 -2
  451. package/lib/toggle/themes/solar/pearl/index.js +0 -2
  452. package/lib/tooltip/elements/title-tooltip.d.ts +0 -1
  453. package/lib/tooltip/elements/title-tooltip.js +0 -18
  454. package/lib/tooltip/elements/tooltip-element.d.ts +0 -21
  455. package/lib/tooltip/elements/tooltip-element.js +0 -54
  456. package/lib/tooltip/helpers/overflow-tooltip.d.ts +0 -9
  457. package/lib/tooltip/helpers/overflow-tooltip.js +0 -19
  458. package/lib/tooltip/helpers/renderer.d.ts +0 -8
  459. package/lib/tooltip/helpers/renderer.js +0 -11
  460. package/lib/tooltip/helpers/types.d.ts +0 -23
  461. package/lib/tooltip/helpers/types.js +0 -1
  462. package/lib/tooltip/index.d.ts +0 -232
  463. package/lib/tooltip/index.js +0 -477
  464. package/lib/tooltip/managers/tooltip-manager.d.ts +0 -15
  465. package/lib/tooltip/managers/tooltip-manager.js +0 -140
  466. package/lib/tooltip/themes/halo/dark/index.js +0 -3
  467. package/lib/tooltip/themes/halo/light/index.js +0 -3
  468. package/lib/tooltip/themes/solar/charcoal/index.js +0 -3
  469. package/lib/tooltip/themes/solar/pearl/index.js +0 -3
  470. package/lib/tornado-chart/elements/tornado-chart.d.ts +0 -78
  471. package/lib/tornado-chart/elements/tornado-chart.js +0 -122
  472. package/lib/tornado-chart/elements/tornado-item.d.ts +0 -110
  473. package/lib/tornado-chart/elements/tornado-item.js +0 -207
  474. package/lib/tornado-chart/index.d.ts +0 -2
  475. package/lib/tornado-chart/index.js +0 -2
  476. package/lib/tornado-chart/themes/halo/dark/index.js +0 -6
  477. package/lib/tornado-chart/themes/halo/light/index.js +0 -6
  478. package/lib/tornado-chart/themes/solar/charcoal/index.js +0 -6
  479. package/lib/tornado-chart/themes/solar/pearl/index.js +0 -6
  480. package/lib/tree/elements/tree-item.d.ts +0 -96
  481. package/lib/tree/elements/tree-item.js +0 -179
  482. package/lib/tree/elements/tree.d.ts +0 -202
  483. package/lib/tree/elements/tree.js +0 -413
  484. package/lib/tree/helpers/filter.d.ts +0 -8
  485. package/lib/tree/helpers/filter.js +0 -33
  486. package/lib/tree/helpers/renderer.d.ts +0 -5
  487. package/lib/tree/helpers/renderer.js +0 -33
  488. package/lib/tree/helpers/types.d.ts +0 -25
  489. package/lib/tree/helpers/types.js +0 -1
  490. package/lib/tree/index.d.ts +0 -4
  491. package/lib/tree/index.js +0 -3
  492. package/lib/tree/managers/tree-manager.d.ts +0 -248
  493. package/lib/tree/managers/tree-manager.js +0 -395
  494. package/lib/tree/themes/halo/dark/index.js +0 -7
  495. package/lib/tree/themes/halo/light/index.js +0 -7
  496. package/lib/tree/themes/solar/charcoal/index.js +0 -7
  497. package/lib/tree/themes/solar/pearl/index.js +0 -7
  498. package/lib/tree-select/helpers/types.d.ts +0 -4
  499. package/lib/tree-select/helpers/types.js +0 -1
  500. package/lib/tree-select/index.d.ts +0 -404
  501. package/lib/tree-select/index.js +0 -891
  502. package/lib/tree-select/themes/halo/dark/index.js +0 -11
  503. package/lib/tree-select/themes/halo/light/index.js +0 -11
  504. package/lib/tree-select/themes/solar/charcoal/index.js +0 -11
  505. package/lib/tree-select/themes/solar/pearl/index.js +0 -11
  506. package/lib/version.d.ts +0 -1
  507. package/lib/version.js +0 -1
@@ -1,764 +0,0 @@
1
- import { __decorate } from "tslib";
2
- import { ResponsiveElement, css, html, WarningNotice } 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 { query } from '@refinitiv-ui/core/lib/decorators/query.js';
6
- import { state } from '@refinitiv-ui/core/lib/decorators/state.js';
7
- import { styleMap } from '@refinitiv-ui/core/lib/directives/style-map.js';
8
- import { VERSION } from '../version.js';
9
- import '../canvas/index.js';
10
- import '../label/index.js';
11
- import { helpers as canvasHelper } from './helpers.js';
12
- import { DefaultStyle, Segment, TextType } from './const.js';
13
- /**
14
- * Constants from swing-gauge default specs
15
- */
16
- const GAUGE_WIDTH_SCALE = 0.4;
17
- const GAUGE_HEIGHT_SCALE = 0.8;
18
- const GAUGE_UPPER_BOUND = GAUGE_HEIGHT_SCALE + GAUGE_WIDTH_SCALE / 2;
19
- const GAUGE_LOWER_BOUND = GAUGE_HEIGHT_SCALE - GAUGE_WIDTH_SCALE / 2;
20
- const PRIMARY_RADIAN = 1.25;
21
- const SECONDARY_RADIAN = 1.75;
22
- const LINE_POINTER_OFFSET = 0.3;
23
- const POINT_POINTER_OFFSET = 0.1;
24
- const DEFAULT_OFFSET = 0.05;
25
- const OVERFLOW_OFFSET = 0.08;
26
- // When either value is below this threshold, the label position changes
27
- const GAUGE_PERCENTAGE_THRESHOLD = 30;
28
- const GAUGE_LABEL_FONT_SCALE = 0.14;
29
- const GAUGE_VALUE_FONT_SCALE = 0.18;
30
- const MIN_LABEL_FONT_SIZE = 12;
31
- const MIN_VALUE_FONT_SIZE = 15;
32
- const MAX_LABEL_LINE = 3;
33
- const MAX_VALUE_LINE = 1;
34
- const MAX_LEGEND_LINE = 2;
35
- /**
36
- * Data visualisation showing the percentage between two values
37
- */
38
- let SwingGauge = class SwingGauge extends ResponsiveElement {
39
- constructor() {
40
- super(...arguments);
41
- this._primaryValue = 0;
42
- /**
43
- * Primary label
44
- */
45
- this.primaryLabel = '';
46
- this._secondaryValue = 0;
47
- /**
48
- * Secondary label
49
- */
50
- this.secondaryLabel = '';
51
- /**
52
- * Animation duration in milliseconds
53
- */
54
- this.duration = 1000;
55
- /**
56
- * Primary value legend
57
- */
58
- this.primaryLegend = '';
59
- /**
60
- * Secondary value legend
61
- */
62
- this.secondaryLegend = '';
63
- /**
64
- * Custom value formatter
65
- * @type {SwingGaugeValueFormatter}
66
- */
67
- this.valueFormatter = this.defaultValueFormatter;
68
- /**
69
- * Controls swing gauge animations
70
- */
71
- this.onFrame = requestAnimationFrame.bind(window);
72
- this.cancelFrame = cancelAnimationFrame.bind(window);
73
- this.requestedAnimationID = 0;
74
- this.gaugeWidthScale = GAUGE_WIDTH_SCALE;
75
- this.gaugeHeightScale = GAUGE_HEIGHT_SCALE;
76
- this.gaugeUpperBound = GAUGE_UPPER_BOUND;
77
- this.gaugeLowerBound = GAUGE_LOWER_BOUND;
78
- this.linePointerOffset = LINE_POINTER_OFFSET;
79
- this.pointPointerOffset = POINT_POINTER_OFFSET;
80
- this.primaryLineRadian = PRIMARY_RADIAN;
81
- this.secondaryLineRadian = SECONDARY_RADIAN;
82
- /**
83
- * Data requires to draw swing gauge
84
- */
85
- this.data = null;
86
- /**
87
- * Internal sizes and scales
88
- */
89
- this.width = 0;
90
- this.height = 0;
91
- this.size = 0;
92
- this.lineLength = 60;
93
- this.scale = 1;
94
- /**
95
- * Current fill percentage
96
- */
97
- this.fillPercentage = 0;
98
- /**
99
- * Keeps previous percentage calculation to avoid re-rendering the same value
100
- */
101
- this.previousFillPercentage = 0;
102
- /**
103
- * This for keep line number of label for calculate new radius
104
- */
105
- this.labelLineNumber = 1;
106
- /**
107
- * Style for primary container
108
- */
109
- this.primaryContainerStyle = {};
110
- /**
111
- * Style for secondary container
112
- */
113
- this.secondaryContainerStyle = {};
114
- /**
115
- * Style for label
116
- */
117
- this.labelStyle = {};
118
- /**
119
- * Style for both values
120
- */
121
- this.valueStyle = {};
122
- }
123
- /**
124
- * Element version number
125
- * @returns version number
126
- */
127
- static get version() {
128
- return VERSION;
129
- }
130
- /**
131
- * A `CSSResultGroup` that will be used
132
- * to style the host, slotted children
133
- * and the internal template of the element.
134
- * @return CSS template
135
- */
136
- static get styles() {
137
- return css `
138
- :host {
139
- display: block;
140
- height: 200px;
141
- }
142
- :host [part=container] {
143
- display: flex;
144
- flex-direction: column;
145
- height: 100%;
146
- }
147
- :host [part=canvas-container] {
148
- position: relative;
149
- flex: 1;
150
- }
151
- :host [part=canvas] {
152
- height: 100%;
153
- }
154
- :host [part=primary-legend], [part=secondary-legend] {
155
- text-align: left;
156
- display: flex;
157
- }
158
- :host [part=primary-label], [part=primary-value] {
159
- text-align: left;
160
- }
161
- :host [part=secondary-label], [part=secondary-value] {
162
- text-align: right;
163
- }
164
- :host [part=legend-container-outer] {
165
- width: 60%;
166
- margin: 0 auto;
167
- text-align: center;
168
- }
169
- :host [part=legend-container-inner] {
170
- max-width: 100%;
171
- display: inline-block;
172
- }
173
- :host [part=primary-legend-symbol], [part=secondary-legend-symbol] {
174
- display: inline-block;
175
- flex-shrink: 0;
176
- }
177
- :host [part=primary-container] {
178
- position: absolute;
179
- text-align: left;
180
- }
181
- :host [part=secondary-container] {
182
- position: absolute;
183
- text-align: right;
184
- }
185
- `;
186
- }
187
- /**
188
- * Primary value
189
- * @param value primary value
190
- */
191
- set primaryValue(value) {
192
- value = this.validateNumber(value, 'primary-value');
193
- const oldValue = this._primaryValue;
194
- if (oldValue !== value) {
195
- this._primaryValue = value;
196
- this.requestUpdate('primaryValue', oldValue);
197
- }
198
- }
199
- get primaryValue() {
200
- return this._primaryValue;
201
- }
202
- /**
203
- * Secondary value
204
- * @param value secondary value
205
- */
206
- set secondaryValue(value) {
207
- value = this.validateNumber(value, 'secondary-value');
208
- const oldValue = this._secondaryValue;
209
- if (oldValue !== value) {
210
- this._secondaryValue = value;
211
- this.requestUpdate('secondaryValue', oldValue);
212
- }
213
- }
214
- get secondaryValue() {
215
- return this._secondaryValue;
216
- }
217
- /**
218
- * Get primary percentage
219
- */
220
- get primaryPercentage() {
221
- return this.getPercentage(this.primaryValue);
222
- }
223
- /**
224
- * Get secondary percentage
225
- */
226
- get secondaryPercentage() {
227
- return this.getPercentage(this.secondaryValue);
228
- }
229
- /**
230
- * Check width and height are valid
231
- * @returns if size is valid
232
- */
233
- get hasValidSize() {
234
- return this.offsetWidth > 0 && this.offsetHeight > 0 && this.canvas.width > 0 && this.canvas.height > 0;
235
- }
236
- /**
237
- * Get default value format
238
- * @param value A value on each side of swing gauge
239
- * @returns default value format
240
- */
241
- defaultValueFormatter(value) {
242
- return `${value.toFixed(2)}%`;
243
- }
244
- /**
245
- * Getter size of component
246
- * @type {SwingGaugeCanvasSize}
247
- * @returns return size of canvas
248
- */
249
- get canvasSize() {
250
- return {
251
- width: this.offsetWidth,
252
- height: this.offsetHeight
253
- };
254
- }
255
- /**
256
- * Validate number
257
- * @protected
258
- * @param value number that want to validate
259
- * @param propName name of property
260
- * @returns {number} valid number
261
- */
262
- validateNumber(value, propName) {
263
- if (typeof value === 'number' && !isNaN(value) && isFinite(value) && value >= 0) {
264
- return value;
265
- }
266
- new WarningNotice(`${this.localName} : The specified value "${value}" of ${propName} property is not valid. Default value will be used instead.`).show();
267
- return 0;
268
- }
269
- /**
270
- * On update lifecycle
271
- * @param changedProperties changed properties
272
- * @returns {void}
273
- */
274
- update(changedProperties) {
275
- super.update(changedProperties);
276
- if (changedProperties.has('primaryValue') || changedProperties.has('secondaryValue')
277
- || (this.primaryValue === 0 && this.secondaryValue === 0)) {
278
- this.canvas.autoloop = true;
279
- this.renderCanvas('frame');
280
- this.animateCanvas();
281
- }
282
- if (changedProperties.has('primaryLabel') || changedProperties.has('secondaryLabel')) {
283
- this.calculateLabelFontSize();
284
- }
285
- if (changedProperties.has('valueFormatter')) {
286
- this.calculateValueFontSize();
287
- }
288
- if (changedProperties.has('primaryValue') || changedProperties.has('secondaryValue')
289
- || changedProperties.has('primaryLabel') || changedProperties.has('secondaryLabel')
290
- || changedProperties.has('valueFormatter')) {
291
- this.updateGaugePositions();
292
- }
293
- }
294
- /**
295
- * Handles when component disconnected
296
- * @returns {void}
297
- */
298
- disconnectedCallback() {
299
- super.disconnectedCallback();
300
- if (this.requestedAnimationID) {
301
- this.cancelFrame(this.requestedAnimationID);
302
- }
303
- }
304
- /**
305
- * Calls easing based on both left and right values
306
- * @param primaryValue primary value
307
- * @param secondaryValue secondary value
308
- * @returns {void}
309
- */
310
- ease(primaryValue, secondaryValue) {
311
- let to = 0.5;
312
- let from = this.fillPercentage;
313
- if (primaryValue > 0 || secondaryValue > 0) {
314
- to = primaryValue / (primaryValue + secondaryValue);
315
- }
316
- // this for prevent gauge not render when 'to' and 'from' are 0
317
- if (primaryValue === 0 && from === 0) {
318
- from = 0.1;
319
- }
320
- this.easeTo(to, from, performance.now() + this.duration);
321
- }
322
- /**
323
- * Eases the fill percentage
324
- * @param to ease to value
325
- * @param from ease from value
326
- * @param time ease time
327
- * @returns {void}
328
- */
329
- easeTo(to, from, time) {
330
- const diff = (this.duration - (time - performance.now())) / this.duration;
331
- this.fillPercentage = from + (to - from) * canvasHelper.elasticOut(diff > 1 ? 1 : diff < 0 ? 0 : diff) || 0;
332
- if (this.fillPercentage !== to) {
333
- this.cancelFrame(this.requestedAnimationID);
334
- this.requestedAnimationID = this.onFrame(() => this.easeTo(to, from, time));
335
- }
336
- else {
337
- this.canvas.autoloop = false;
338
- }
339
- this.renderCanvas('frame', true);
340
- }
341
- /**
342
- * Restart the animation, re-render the canvas
343
- * @returns {void}
344
- */
345
- animateCanvas() {
346
- this.ease(this.primaryValue, this.secondaryValue);
347
- }
348
- /**
349
- * Render chart
350
- * @param onDraw drawing type
351
- * @param isFrameUpdated Optional called by on frame event
352
- * @returns {void}
353
- */
354
- renderCanvas(onDraw, isFrameUpdated) {
355
- const percentageChanged = this.previousFillPercentage !== this.fillPercentage;
356
- const canRender = this.hasValidSize && percentageChanged;
357
- if ((isFrameUpdated && !canRender) || !this.hasValidSize) {
358
- return;
359
- }
360
- this.width = this.canvas.width;
361
- this.height = this.canvas.height;
362
- const min = this.width > this.height ? this.height : this.width;
363
- const max = this.width > this.height ? this.width : this.height;
364
- this.size = Math.floor(max / this.scale < min ? max / this.scale : min);
365
- const canvasSize = { width: this.width, height: this.height };
366
- // Prevent draw frame unnecessary recalculate position and draw data
367
- if (!isFrameUpdated) {
368
- this.data = this.getData();
369
- }
370
- else if (this.data !== null) {
371
- this.data.fillPercentage = this.fillPercentage;
372
- }
373
- const clear = () => {
374
- if (!this.canvas.ctx) {
375
- return;
376
- }
377
- canvasHelper.clear(canvasSize, this.canvas.ctx);
378
- };
379
- this.canvas.addEventListener(onDraw, clear, { once: true });
380
- const draw = () => {
381
- if (!this.canvas.ctx) {
382
- return;
383
- }
384
- canvasHelper.draw(this.data === null ? this.getData() : this.data, this.canvas.ctx, {
385
- strokeWidth: Math.ceil(this.scale * this.size * 0.005),
386
- primaryColor: this.getComputedVariable('--primary-color', DefaultStyle.PRIMARY_GAUGE_COLOR),
387
- secondaryColor: this.getComputedVariable('--secondary-color', DefaultStyle.SECONDARY_GAUGE_COLOR),
388
- borderColor: this.getComputedVariable('--border-color', DefaultStyle.BOREDER_COLOR),
389
- centerline: `${this.getComputedVariable('--center-line', DefaultStyle.CENTER_LINE_STYLE)}`.trim(),
390
- centerlineOpacity: this.getComputedVariable('--center-line-opacity', DefaultStyle.CENTER_LINE_OPACITY),
391
- centerlineColor: this.getComputedVariable('--center-line-color', DefaultStyle.CENTER_LINE_COLOR)
392
- });
393
- };
394
- this.canvas.addEventListener(onDraw, draw, { once: true });
395
- // Set this for comparison when deciding if we should paint
396
- this.previousFillPercentage = this.fillPercentage;
397
- }
398
- /**
399
- * Get computed swing-gauge data for drawing
400
- * @returns swing-gauge data
401
- */
402
- getData() {
403
- // Recalculate radius to prevent container overflow
404
- const gaugeHeight = this.size * this.gaugeHeightScale;
405
- const containerHeight = this.labelLineNumber * MIN_LABEL_FONT_SIZE + MIN_VALUE_FONT_SIZE;
406
- if (containerHeight > gaugeHeight) {
407
- // The value of 'reverseScale' increases as the value of 'scale' decreases.
408
- const reverseScale = 1 - this.scale;
409
- // increase the offset by 25%, this for buffer to make label have some space from bottom
410
- this.linePointerOffset = (containerHeight / gaugeHeight) * reverseScale * 1.25;
411
- this.primaryLineRadian = PRIMARY_RADIAN + DEFAULT_OFFSET + (OVERFLOW_OFFSET * reverseScale);
412
- this.secondaryLineRadian = 3 - this.primaryLineRadian;
413
- }
414
- const primaryPosLine = this.getPositionStyle(Segment.PRIMARY, this.primaryLineRadian, this.linePointerOffset, 0);
415
- const primaryPosPoint = this.getPositionStyle(Segment.PRIMARY, PRIMARY_RADIAN, this.pointPointerOffset, 0);
416
- const secondaryPosLine = this.getPositionStyle(Segment.SECONDARY, this.secondaryLineRadian, this.linePointerOffset, 0);
417
- const secondaryPosPoint = this.getPositionStyle(Segment.SECONDARY, SECONDARY_RADIAN, this.pointPointerOffset, 0);
418
- return {
419
- width: this.width,
420
- height: this.height,
421
- size: this.size,
422
- fillPercentage: this.fillPercentage,
423
- gaugeWidthScale: this.gaugeWidthScale,
424
- gaugeHeightScale: this.gaugeHeightScale,
425
- gaugeUpperBound: this.gaugeUpperBound,
426
- gaugeLowerBound: this.gaugeLowerBound,
427
- lineLength: this.lineLength,
428
- offsetLeftPrimaryLine: this.getValueFromStyle(primaryPosLine.left),
429
- offsetTopPrimaryLine: this.getValueFromStyle(primaryPosLine.top),
430
- offsetLeftPrimaryPoint: this.getValueFromStyle(primaryPosPoint.left),
431
- offsetTopPrimaryPoint: this.getValueFromStyle(primaryPosPoint.top),
432
- offsetLeftSecondaryLine: this.getValueFromStyle(secondaryPosLine.left),
433
- offsetTopSecondaryLine: this.getValueFromStyle(secondaryPosLine.top),
434
- offsetLeftSecondaryPoint: this.getValueFromStyle(secondaryPosPoint.left),
435
- offsetTopSecondaryPoint: this.getValueFromStyle(secondaryPosPoint.top)
436
- };
437
- }
438
- /**
439
- * Get number from CSS declaration value
440
- * @param styleValue value of CSS declaration
441
- * @returns number without CSS unit
442
- */
443
- getValueFromStyle(styleValue) {
444
- return Number(styleValue === null || styleValue === void 0 ? void 0 : styleValue.replace('px', ''));
445
- }
446
- /**
447
- * Compute and update style of containers and labels
448
- * @returns {void}
449
- */
450
- updateGaugePositions() {
451
- if (!this.hasValidSize) {
452
- return;
453
- }
454
- const primaryPosition = this.getPositionStyle(Segment.PRIMARY, this.primaryLineRadian, this.linePointerOffset, -this.lineLength);
455
- const secondaryPosition = this.getPositionStyle(Segment.SECONDARY, this.secondaryLineRadian, this.linePointerOffset, 0);
456
- this.primaryContainerStyle = Object.assign({ width: `${this.lineLength}px` }, primaryPosition);
457
- this.secondaryContainerStyle = Object.assign({ width: `${this.lineLength}px` }, secondaryPosition);
458
- // position container over line pointer
459
- if (this.primaryPercentage < GAUGE_PERCENTAGE_THRESHOLD) {
460
- delete this.primaryContainerStyle.top;
461
- this.primaryContainerStyle.bottom = '5px';
462
- }
463
- if (this.secondaryPercentage < GAUGE_PERCENTAGE_THRESHOLD || this.secondaryValue === 0) {
464
- delete this.secondaryContainerStyle.top;
465
- this.secondaryContainerStyle.bottom = '5px';
466
- }
467
- }
468
- /**
469
- * Compute position style
470
- * @param segment primary or secondary
471
- * @param maxRadian max radian
472
- * @param radiusOffset radius offset from gauge upper bound
473
- * @param offset line length offset
474
- * @returns position style
475
- */
476
- getPositionStyle(segment, maxRadian, radiusOffset, offset) {
477
- let radius = this.size * (1 + radiusOffset) * this.scale;
478
- let radianValue;
479
- if (segment === Segment.PRIMARY) {
480
- radianValue = this.primaryPercentage >= GAUGE_PERCENTAGE_THRESHOLD ? maxRadian : 1;
481
- }
482
- else {
483
- radianValue = this.secondaryPercentage >= GAUGE_PERCENTAGE_THRESHOLD ? maxRadian : 0;
484
- }
485
- // reduce line length when line is on the bottom of canvas
486
- if ((radianValue === 1 || radianValue === 0) && radiusOffset > 0.1) {
487
- radius = this.size * (1 + this.pointPointerOffset) * this.scale;
488
- }
489
- const radian = radianValue * Math.PI;
490
- const left = `${Math.round(this.width / 2 + Math.cos(radian) * radius) + offset}px`;
491
- const top = `${Math.round(this.height + Math.sin(radian) * radius)}px`;
492
- return { left: left, top: top };
493
- }
494
- /**
495
- * Scales canvas variables making it responsive before painting
496
- * @returns {void}
497
- */
498
- calculateCanvasSize() {
499
- const lineLength = this.canvas.height * 0.75;
500
- const bestWidth = 2 * (GAUGE_UPPER_BOUND + LINE_POINTER_OFFSET) * this.canvas.height + 2 * lineLength;
501
- const ratio = bestWidth / this.canvas.height;
502
- this.scale = 1;
503
- if (this.canvas.width < bestWidth) {
504
- const width = this.canvas.width;
505
- const bestHeight = width / ratio;
506
- this.scale = bestHeight / this.canvas.height;
507
- }
508
- this.scale = this.scale < 0.1 ? 0.1 : this.scale;
509
- this.lineLength = this.scale * lineLength;
510
- this.gaugeWidthScale = this.scale * GAUGE_WIDTH_SCALE;
511
- this.gaugeHeightScale = this.scale * GAUGE_HEIGHT_SCALE;
512
- this.gaugeUpperBound = this.scale * GAUGE_UPPER_BOUND;
513
- this.gaugeLowerBound = this.scale * GAUGE_LOWER_BOUND;
514
- this.primaryLineRadian = PRIMARY_RADIAN;
515
- this.secondaryLineRadian = SECONDARY_RADIAN;
516
- this.linePointerOffset = LINE_POINTER_OFFSET;
517
- this.pointPointerOffset = POINT_POINTER_OFFSET;
518
- if (this.scale < 1) {
519
- // The value of 'reverseScale' increases as the value of 'scale' decreases.
520
- // This mean when scale down the offset will grow up
521
- const reverseScale = 1 - this.scale;
522
- const offset = DEFAULT_OFFSET * reverseScale;
523
- this.primaryLineRadian = PRIMARY_RADIAN + offset;
524
- this.secondaryLineRadian = SECONDARY_RADIAN - offset;
525
- this.linePointerOffset = LINE_POINTER_OFFSET + (0.4 * (1 - this.scale));
526
- }
527
- this.primaryLineRadian = this.primaryLineRadian > 1.3 ? 1.3 : this.primaryLineRadian;
528
- this.secondaryLineRadian = this.primaryLineRadian > 1.7 ? 1.7 : this.secondaryLineRadian;
529
- }
530
- /**
531
- * Calculate and update font sizes on canvas
532
- * @returns {void}
533
- */
534
- updateFontSize() {
535
- this.calculateLabelFontSize();
536
- this.calculateValueFontSize();
537
- }
538
- /**
539
- * Calculate label or value font size
540
- * @param ctx canvas context
541
- * @param textType text type
542
- * @returns {number} font size
543
- */
544
- calculateFontSize(ctx, textType) {
545
- let maxLine;
546
- let minFontSize;
547
- let widthScale;
548
- let fontSize;
549
- let longerLabel;
550
- if (textType === TextType.LABEL) {
551
- maxLine = MAX_LABEL_LINE;
552
- minFontSize = MIN_LABEL_FONT_SIZE;
553
- // buffer for word wrap
554
- widthScale = 1.1;
555
- longerLabel = this.primaryLabel.length > this.secondaryLabel.length ? this.primaryLabel : this.secondaryLabel;
556
- fontSize = Math.ceil(this.scale * this.canvas.height * GAUGE_LABEL_FONT_SCALE);
557
- }
558
- else {
559
- maxLine = MAX_VALUE_LINE;
560
- minFontSize = MIN_VALUE_FONT_SIZE;
561
- widthScale = 1;
562
- const primaryValue = String(this.valueFormatter(this.primaryPercentage, this.primaryValue));
563
- const secondaryValue = String(this.valueFormatter(this.secondaryPercentage, this.secondaryValue));
564
- longerLabel = primaryValue.length > secondaryValue.length ? primaryValue : secondaryValue;
565
- fontSize = Math.ceil(this.scale * this.canvas.height * GAUGE_VALUE_FONT_SCALE);
566
- }
567
- let textWidth = canvasHelper.textWidth(ctx, longerLabel, fontSize, getComputedStyle(this).fontFamily);
568
- let numberOfLines = Math.ceil(textWidth / this.lineLength);
569
- if (numberOfLines > maxLine) {
570
- numberOfLines = maxLine;
571
- }
572
- if (textType === TextType.LABEL) {
573
- this.labelLineNumber = numberOfLines;
574
- }
575
- do {
576
- fontSize -= 1;
577
- if (fontSize < minFontSize) {
578
- fontSize = minFontSize;
579
- break;
580
- }
581
- textWidth = canvasHelper.textWidth(ctx, longerLabel, fontSize, getComputedStyle(this).fontFamily);
582
- } while (textWidth * widthScale > this.lineLength * numberOfLines);
583
- return fontSize;
584
- }
585
- /**
586
- * Update label font size
587
- * @returns {void}
588
- */
589
- calculateLabelFontSize() {
590
- if (!this.canvas.ctx) {
591
- return;
592
- }
593
- this.labelStyle = { maxWidth: `${this.lineLength}px`, fontSize: `${this.calculateFontSize(this.canvas.ctx, TextType.LABEL)}px` };
594
- }
595
- /**
596
- * Update value font size
597
- * @returns {void}
598
- */
599
- calculateValueFontSize() {
600
- if (!this.canvas.ctx) {
601
- return;
602
- }
603
- this.valueStyle = { maxWidth: `${this.lineLength}px`, fontSize: `${this.calculateFontSize(this.canvas.ctx, TextType.VALUE)}px` };
604
- }
605
- /**
606
- * Compute percentage of value
607
- * @param value value of primary or secondary
608
- * @returns percentage of value
609
- */
610
- getPercentage(value) {
611
- if (value === 0) {
612
- return 0;
613
- }
614
- return 100 * value / (this.primaryValue + this.secondaryValue);
615
- }
616
- /**
617
- * Handles canvas resize
618
- * @returns {void}
619
- */
620
- onCanvasResize() {
621
- this.calculateCanvasSize();
622
- this.updateFontSize();
623
- this.renderCanvas('resize');
624
- this.updateGaugePositions();
625
- }
626
- /**
627
- * Renders legend container
628
- * @returns {TemplateResult} Legend template or null
629
- */
630
- get legendTemplate() {
631
- return this.primaryLegend.length > 0 || this.secondaryLegend.length > 0
632
- ? html `<div part="legend-container-outer">
633
- <div part="legend-container-inner">
634
- ${this.primaryLegendTemplate}
635
- ${this.secondaryLegendTemplate}
636
- </div>
637
- </div>`
638
- : null;
639
- }
640
- /**
641
- * Renders primary legend if property present
642
- * @returns {TemplateResult} Primary legend template or null
643
- */
644
- get primaryLegendTemplate() {
645
- return this.primaryLegend
646
- ? html `<div part="primary-legend">
647
- <span part="primary-legend-symbol"></span>
648
- <ef-label max-line="${MAX_LEGEND_LINE}" line-clamp="${MAX_LEGEND_LINE}">${this.primaryLegend}</ef-label>
649
- </div>`
650
- : null;
651
- }
652
- /**
653
- * Renders secondary legend if property present
654
- * @returns {TemplateResult} Secondary legend template or null
655
- */
656
- get secondaryLegendTemplate() {
657
- return this.secondaryLegend
658
- ? html `<div part="secondary-legend">
659
- <span part="secondary-legend-symbol"></span>
660
- <ef-label max-line="${MAX_LEGEND_LINE}" line-clamp="${MAX_LEGEND_LINE}">${this.secondaryLegend}</ef-label>
661
- </div>`
662
- : null;
663
- }
664
- render() {
665
- return html `
666
- <div part="container">
667
- ${this.legendTemplate}
668
- <div part="canvas-container">
669
- <ef-canvas part="canvas" @resize=${this.onCanvasResize}></ef-canvas>
670
- <div part="primary-container" style=${styleMap(this.primaryContainerStyle)}>
671
- ${this.primaryLabel ? html `
672
- <ef-label
673
- part="primary-label"
674
- max-line="${MAX_LABEL_LINE}"
675
- line-clamp="${MAX_LABEL_LINE}"
676
- style=${styleMap(this.labelStyle)}
677
- >${this.primaryLabel}
678
- </ef-label><br>`
679
- : null}
680
- <ef-label
681
- part="primary-value"
682
- truncate=""
683
- line-clamp="1"
684
- style=${styleMap(this.valueStyle)}
685
- >${this.valueFormatter(this.primaryPercentage, this.primaryValue)}</ef-label
686
- >
687
- </div>
688
- <div part="secondary-container" style=${styleMap(this.secondaryContainerStyle)}>
689
- ${this.secondaryLabel ? html `
690
- <ef-label
691
- part="secondary-label"
692
- max-line="${MAX_LABEL_LINE}"
693
- line-clamp="${MAX_LABEL_LINE}"
694
- style=${styleMap(this.labelStyle)}
695
- >${this.secondaryLabel}
696
- </ef-label><br>`
697
- : null}
698
- <ef-label
699
- part="secondary-value"
700
- truncate=""
701
- line-clamp="1"
702
- style=${styleMap(this.valueStyle)}
703
- >${this.valueFormatter(this.secondaryPercentage, this.secondaryValue)}</ef-label
704
- >
705
- </div>
706
- </div>
707
- </div>
708
- `;
709
- }
710
- };
711
- __decorate([
712
- property({ attribute: 'primary-value', type: Number })
713
- ], SwingGauge.prototype, "primaryValue", null);
714
- __decorate([
715
- property({ attribute: 'primary-label', type: String })
716
- ], SwingGauge.prototype, "primaryLabel", void 0);
717
- __decorate([
718
- property({ attribute: 'secondary-value', type: Number })
719
- ], SwingGauge.prototype, "secondaryValue", null);
720
- __decorate([
721
- property({ attribute: 'secondary-label', type: String })
722
- ], SwingGauge.prototype, "secondaryLabel", void 0);
723
- __decorate([
724
- property({ type: Number })
725
- ], SwingGauge.prototype, "duration", void 0);
726
- __decorate([
727
- property({ type: String, reflect: true, attribute: 'primary-legend' })
728
- ], SwingGauge.prototype, "primaryLegend", void 0);
729
- __decorate([
730
- property({ type: String, reflect: true, attribute: 'secondary-legend' })
731
- ], SwingGauge.prototype, "secondaryLegend", void 0);
732
- __decorate([
733
- property({ type: Function, attribute: false })
734
- ], SwingGauge.prototype, "valueFormatter", void 0);
735
- __decorate([
736
- state()
737
- ], SwingGauge.prototype, "primaryContainerStyle", void 0);
738
- __decorate([
739
- state()
740
- ], SwingGauge.prototype, "secondaryContainerStyle", void 0);
741
- __decorate([
742
- state()
743
- ], SwingGauge.prototype, "labelStyle", void 0);
744
- __decorate([
745
- state()
746
- ], SwingGauge.prototype, "valueStyle", void 0);
747
- __decorate([
748
- query('[part=primary-container]', true)
749
- ], SwingGauge.prototype, "primaryContainer", void 0);
750
- __decorate([
751
- query('[part=secondary-container]', true)
752
- ], SwingGauge.prototype, "secondaryContainer", void 0);
753
- __decorate([
754
- query('[part=legend-container-outer]')
755
- ], SwingGauge.prototype, "legendContainer", void 0);
756
- __decorate([
757
- query('[part=canvas]', true)
758
- ], SwingGauge.prototype, "canvas", void 0);
759
- SwingGauge = __decorate([
760
- customElement('ef-swing-gauge', {
761
- alias: 'sapphire-swing-gauge'
762
- })
763
- ], SwingGauge);
764
- export { SwingGauge };