@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,375 +0,0 @@
1
- import { AnimationTaskRunner } from '@refinitiv-ui/utils/lib/async.js';
2
- import { getOverlays } from './zindex-manager.js';
3
- /**
4
- * Check if two arrays are shallow equal
5
- * @param left Left side array
6
- * @param right Right side array
7
- * @returns true if arrays are equal
8
- */
9
- const equal = (left, right) => {
10
- const length = left.length;
11
- if (length !== right.length) {
12
- return false;
13
- }
14
- for (let i = 0; i < length; i += 1) {
15
- if (left[i] !== right[i]) {
16
- return false;
17
- }
18
- }
19
- return true;
20
- };
21
- /**
22
- * Scroll lock manager singleton is responsible for locking
23
- * all scrollbars apart one in the active overlay
24
- */
25
- export class ScrollLockManager {
26
- constructor() {
27
- this.scrollTop = 0;
28
- this.scrollLeft = 0;
29
- this.lockScroll = false;
30
- /**
31
- * A list of elements that are currently interactive
32
- * aka `pointer-events: auto` applied
33
- */
34
- this.interactiveElements = [];
35
- this.pointerEventsMap = new Map();
36
- this.scrollThrottler = new AnimationTaskRunner();
37
- /**
38
- * Run on scroll event. If onscroll happened as a result of user interaction, restore the original position
39
- * @param event Scroll event
40
- * @returns {void}
41
- */
42
- this.onScroll = (event) => {
43
- const path = event.composedPath();
44
- if (this.lockScroll && !path.includes(this.interactiveElement)) {
45
- this.restoreScrollPosition();
46
- }
47
- };
48
- /**
49
- * Apply scroll lock as a result of user interaction
50
- * @returns {void}
51
- */
52
- this.applyScrollLock = () => {
53
- // this must be applied in order to make the difference between user scroll and system scroll
54
- // otherwise there must not be scroll prevention on resize/orientationchange events
55
- this.scrollThrottler.cancel();
56
- this.lockScroll = true;
57
- };
58
- /**
59
- * Remove scroll lock when user interaction has finished
60
- * @returns {void}
61
- */
62
- this.removeScrollLock = () => {
63
- this.scrollThrottler.schedule(() => {
64
- this.lockScroll = false;
65
- });
66
- };
67
- /**
68
- * Run on wheel event
69
- * If wheel happened as a result of user interaction, restore the original position
70
- * @param event Wheel event
71
- * @returns {void}
72
- */
73
- this.onWheelScroll = (event) => {
74
- if (this.shouldCancelWheel(event)) {
75
- event.preventDefault();
76
- }
77
- };
78
- /**
79
- * Run on touch events.
80
- * If touch happened as a result of user interaction, restore the original position
81
- * @param event Touch event
82
- * @returns {void}
83
- */
84
- this.onTouchScroll = (event) => {
85
- if (event.cancelable && this.shouldCancelTouch(event)) { /* Not all touch events can be cancelled */
86
- event.preventDefault();
87
- }
88
- };
89
- }
90
- /**
91
- * Get a collection of interactive elements
92
- * @param overlay Overlay to check
93
- * @returns interactive elements
94
- */
95
- static getInteractiveElements(overlay) {
96
- if (!overlay) {
97
- return [];
98
- }
99
- // overlay is always included
100
- const interactiveElements = [overlay];
101
- if (overlay.interactiveElements && overlay.interactiveElements.length) {
102
- return interactiveElements.concat(overlay.interactiveElements);
103
- }
104
- if (!overlay.lockPositionTarget && overlay.positionTarget instanceof HTMLElement) {
105
- interactiveElements.push(overlay.positionTarget);
106
- }
107
- return interactiveElements;
108
- }
109
- /**
110
- * The list of active overlays, which participate
111
- * in lock management
112
- */
113
- get overlays() {
114
- return getOverlays().filter(overlay => !overlay.noInteractionLock);
115
- }
116
- /**
117
- * Lock the screen and make top most overlay
118
- * and its position target interactive
119
- * @returns {void}
120
- */
121
- applyLock() {
122
- const topOverlay = this.overlays[0];
123
- const oldInteractiveElements = this.interactiveElements;
124
- const newInteractiveElements = ScrollLockManager.getInteractiveElements(topOverlay);
125
- // do nothing if the list is the same
126
- if (equal(oldInteractiveElements, newInteractiveElements)) {
127
- return;
128
- }
129
- if (!oldInteractiveElements.length && newInteractiveElements.length) {
130
- // lock the screen
131
- this.saveScrollPosition();
132
- this.lockEvents();
133
- this.applyLockBackdrop();
134
- }
135
- else if (oldInteractiveElements.length && !newInteractiveElements.length) {
136
- // unlock the screen
137
- this.unlockEvents();
138
- this.removeLockBackdrop();
139
- }
140
- // restore overlay events to original value
141
- for (let i = 0; i < oldInteractiveElements.length; i += 1) {
142
- this.restorePointerEvents(oldInteractiveElements[i]);
143
- }
144
- // make overlay interactive by applying pointer-events: auto;
145
- for (let i = 0; i < newInteractiveElements.length; i += 1) {
146
- this.setPointerEvents(newInteractiveElements[i]);
147
- }
148
- this.interactiveElements = newInteractiveElements;
149
- }
150
- /**
151
- * Set pointer events style tag
152
- * @param el Element to unlock
153
- * @param [value=auto] Value of pointer events
154
- * @returns {void}
155
- */
156
- setPointerEvents(el, value = 'auto') {
157
- if (el) {
158
- this.pointerEventsMap.set(el, el.style.pointerEvents);
159
- el.style.setProperty('pointer-events', value);
160
- }
161
- }
162
- /**
163
- * Restore pointer events style tag
164
- * @param el Element to restore
165
- * @returns {void}
166
- */
167
- restorePointerEvents(el) {
168
- if (el) {
169
- const pointerEvents = this.pointerEventsMap.get(el);
170
- this.pointerEventsMap.delete(el);
171
- if (pointerEvents) {
172
- el.style.setProperty('pointer-events', pointerEvents);
173
- }
174
- else {
175
- el.style.removeProperty('pointer-events');
176
- }
177
- }
178
- }
179
- /**
180
- * Get the top most interactive element
181
- * @returns element
182
- */
183
- get interactiveElement() {
184
- return this.interactiveElements[this.interactiveElements.length - 1];
185
- }
186
- /**
187
- * Memoize the scroll position of the outside scrolling element.
188
- * @returns {void}
189
- */
190
- saveScrollPosition() {
191
- if (document.scrollingElement) {
192
- this.scrollTop = document.scrollingElement.scrollTop;
193
- this.scrollLeft = document.scrollingElement.scrollLeft;
194
- }
195
- else {
196
- // Since we don't know if is the body or html, get max.
197
- this.scrollTop = Math.max(document.documentElement.scrollTop, document.body.scrollTop);
198
- this.scrollLeft = Math.max(document.documentElement.scrollLeft, document.body.scrollLeft);
199
- }
200
- }
201
- /**
202
- * Resets the scroll position of the outside scrolling element.
203
- * @returns {void}
204
- */
205
- restoreScrollPosition() {
206
- if (document.scrollingElement) {
207
- document.scrollingElement.scrollTop = this.scrollTop;
208
- document.scrollingElement.scrollLeft = this.scrollLeft;
209
- }
210
- else {
211
- // Since we don't know if is the body or html, set both.
212
- document.documentElement.scrollTop = document.body.scrollTop = this.scrollTop;
213
- document.documentElement.scrollLeft = document.body.scrollLeft = this.scrollLeft;
214
- }
215
- }
216
- /**
217
- * Listen for scroll and wheel events, to apply the correct lock logic
218
- * @returns {void}
219
- */
220
- lockEvents() {
221
- const wheelEventConf = {
222
- capture: true,
223
- passive: false
224
- };
225
- document.addEventListener('wheel', this.onWheelScroll, wheelEventConf);
226
- document.addEventListener('touchstart', this.onTouchScroll, wheelEventConf);
227
- document.addEventListener('touchmove', this.onTouchScroll, wheelEventConf);
228
- document.addEventListener('touchend', this.onTouchScroll, wheelEventConf);
229
- const scrollEventConf = {
230
- capture: true,
231
- passive: true /* passive improves scrolling performance. See https://developers.google.com/web/tools/lighthouse/audits/passive-event-listeners how. This does not work in IE11 */
232
- };
233
- document.addEventListener('scroll', this.onScroll, scrollEventConf);
234
- document.addEventListener('mousedown', this.applyScrollLock, scrollEventConf);
235
- document.addEventListener('touchstart', this.applyScrollLock, scrollEventConf);
236
- document.addEventListener('keydown', this.applyScrollLock, scrollEventConf);
237
- document.addEventListener('mouseup', this.removeScrollLock, scrollEventConf);
238
- document.addEventListener('touchend', this.removeScrollLock, scrollEventConf);
239
- document.addEventListener('keyup', this.removeScrollLock, scrollEventConf);
240
- }
241
- /**
242
- * Remove scroll and wheel listeners
243
- * @returns {void}
244
- */
245
- unlockEvents() {
246
- const wheelEventConf = {
247
- capture: true,
248
- passive: false
249
- };
250
- document.removeEventListener('wheel', this.onWheelScroll, wheelEventConf);
251
- document.removeEventListener('touchstart', this.onTouchScroll, wheelEventConf);
252
- document.removeEventListener('touchmove', this.onTouchScroll, wheelEventConf);
253
- document.removeEventListener('touchend', this.onTouchScroll, wheelEventConf);
254
- const scrollEventConf = {
255
- capture: true,
256
- passive: true
257
- };
258
- document.removeEventListener('scroll', this.onScroll, scrollEventConf);
259
- document.removeEventListener('mousedown', this.applyScrollLock, scrollEventConf);
260
- document.removeEventListener('touchstart', this.applyScrollLock, scrollEventConf);
261
- document.removeEventListener('keydown', this.applyScrollLock, scrollEventConf);
262
- document.removeEventListener('mouseup', this.removeScrollLock, scrollEventConf);
263
- document.removeEventListener('touchend', this.removeScrollLock, scrollEventConf);
264
- document.removeEventListener('keyup', this.removeScrollLock, scrollEventConf);
265
- }
266
- /**
267
- * Add locking backdrop and prevent pointer events on document
268
- * @returns {void}
269
- */
270
- applyLockBackdrop() {
271
- this.setPointerEvents(document.documentElement, 'none'); /* prevent scrolling on all other scrollable elements */
272
- }
273
- /**
274
- * Remove locking backdrop and prevent pointer events on document
275
- * @returns {void}
276
- */
277
- removeLockBackdrop() {
278
- this.restorePointerEvents(document.documentElement);
279
- }
280
- /**
281
- * Check if wheel event should be cancelled
282
- * @param event Touch event
283
- * @return shouldCancelTouch True if the touch event should be cancelled
284
- */
285
- shouldCancelTouch(event) {
286
- const { targetTouches, type, target } = event;
287
- if (type === 'touchend') {
288
- this.lastTouchPosition = undefined;
289
- return false;
290
- }
291
- // store touch position
292
- if (type === 'touchstart') {
293
- const touch = targetTouches[0];
294
- this.lastTouchPosition = {
295
- pageX: touch.pageX,
296
- pageY: touch.pageY,
297
- target
298
- };
299
- return false;
300
- }
301
- if (!this.lastTouchPosition) {
302
- return false;
303
- }
304
- // 'touchmove'
305
- const touch = targetTouches[0];
306
- const deltaX = this.lastTouchPosition.pageX - touch.pageX;
307
- const deltaY = this.lastTouchPosition.pageY - touch.pageY;
308
- return this.shouldCancelScroll(event, deltaY, deltaX);
309
- }
310
- /**
311
- * Check if wheel event should be cancelled
312
- * @param event Wheel event
313
- * @return shouldCancelWheel True if the scroll event should be cancelled
314
- */
315
- shouldCancelWheel(event) {
316
- const { deltaX, deltaY } = event;
317
- return this.shouldCancelScroll(event, deltaY, deltaX);
318
- }
319
- /**
320
- * Check if wheel event should be cancelled
321
- * @param event Wheel event
322
- * @param deltaY Scroll delta on Y axis
323
- * @param deltaX Scroll delta on X axis
324
- * @return shouldCancel True if the event should be cancelled
325
- */
326
- shouldCancelScroll(event, deltaY, deltaX) {
327
- const isVerticalScroll = Math.abs(deltaY) >= Math.abs(deltaX);
328
- const path = [...event.composedPath()];
329
- let idx = -1;
330
- const interactiveElements = [...this.interactiveElements];
331
- // calculate if the wheel event should be stopped according to locked
332
- while (idx === -1 && interactiveElements.length) {
333
- idx = path.indexOf(interactiveElements.pop());
334
- }
335
- // scroll happened outside the locked container
336
- if (idx === -1) {
337
- return true;
338
- }
339
- const checkSlice = path.slice(0, idx + 1);
340
- const canScroll = isVerticalScroll ? (element) => {
341
- const style = window.getComputedStyle(element);
342
- if (style.overflowY === 'scroll' || style.overflowY === 'auto') {
343
- // delta < 0 is scroll up, delta > 0 is scroll down.
344
- return deltaY < 0 ? element.scrollTop > 0 : element.scrollTop < element.scrollHeight - element.clientHeight;
345
- }
346
- return false;
347
- } : (element) => {
348
- const style = window.getComputedStyle(element);
349
- if (style.overflowX === 'scroll' || style.overflowX === 'auto') {
350
- // delta < 0 is scroll left, delta > 0 is scroll right.
351
- return deltaX < 0 ? element.scrollLeft > 0 : element.scrollLeft < element.scrollWidth - element.clientWidth;
352
- }
353
- return false;
354
- };
355
- while (checkSlice.length) {
356
- const node = checkSlice.shift();
357
- if (node && node.nodeType !== Node.ELEMENT_NODE) {
358
- continue;
359
- }
360
- if (canScroll(node)) {
361
- return false;
362
- }
363
- }
364
- return true;
365
- }
366
- }
367
- const locker = new ScrollLockManager(); /* Locker is a singleton */
368
- /**
369
- * Lock the screen and make top most overlay
370
- * and its position target interactive
371
- * @returns {void}
372
- */
373
- export const applyLock = () => {
374
- locker.applyLock();
375
- };
@@ -1,93 +0,0 @@
1
- import type { ViewAreaInfo } from '../helpers/types';
2
- import type { Overlay } from '../elements/overlay';
3
- import '../elements/overlay-viewport.js';
4
- /**
5
- * Viewport manager singleton is responsible for getting
6
- * viewport sizes and reacting on viewport changes
7
- * @returns {void}
8
- */
9
- export declare class ViewportManager {
10
- private registry;
11
- private viewRegistry;
12
- private refitFrame;
13
- private screenViewport;
14
- /**
15
- * Refit all overlays
16
- * @returns {void}
17
- */
18
- private callRefit;
19
- /**
20
- * Create overlay-viewport and insert it before the provided node
21
- * @param insertBefore A node to insert before
22
- * @returns created overlay-viewport
23
- */
24
- private createViewport;
25
- /**
26
- * Remove overlay-viewport from DOM tree
27
- * @param viewport overlay-viewport to remove
28
- * @returns {void}
29
- */
30
- private removeViewport;
31
- /**
32
- * Set screen sizing viewport
33
- * @returns void
34
- */
35
- private setScreenViewport;
36
- /**
37
- * Removes screen sizing viewport
38
- * @returns void
39
- */
40
- private removeScreenViewport;
41
- /**
42
- * Reset sizing for viewport
43
- * @param viewport Viewport to reset sizing for
44
- * @returns {void}
45
- */
46
- private resetViewportSizing;
47
- getViewAreaInfo(overlay: Overlay): ViewAreaInfo;
48
- register(overlay: Overlay): void;
49
- deregister(overlay: Overlay): void;
50
- /**
51
- * @returns count of elements inside manager
52
- */
53
- size(): number;
54
- /**
55
- * applies deregister for each element in registry
56
- * @returns {void}
57
- */
58
- clear(): void;
59
- }
60
- /**
61
- * Register the new overlay. Must be run to let start behaviour to listen for viewport events
62
- * @param overlay Overlay
63
- * @returns {void}
64
- */
65
- export declare const register: (overlay: Overlay) => void;
66
- /**
67
- * Deregister the overlay
68
- * @param overlay Overlay
69
- * @returns {void}
70
- */
71
- export declare const deregister: (overlay: Overlay) => void;
72
- /**
73
- * @typedef {Object} ViewAreaInfo
74
- * @property {Number} viewHeight - The height of view area
75
- * @property {Number} viewWidth - The width of view area
76
- * @property {Number} [offsetTop=0] - iOS only the view area vertical offset
77
- * @property {Number} [offsetLeft=0] - iOS only the view area horizontal offset
78
- */
79
- /**
80
- * Get sizing information of the viewport for overlay
81
- * @param overlay Overlay to get info for
82
- * @return area info
83
- */
84
- export declare const getViewAreaInfo: (overlay: Overlay) => ViewAreaInfo;
85
- /**
86
- * @returns count of elements inside manager
87
- */
88
- export declare const size: () => number;
89
- /**
90
- * removes all elements from registry
91
- * @returns {void}
92
- */
93
- export declare const clear: () => void;
@@ -1,211 +0,0 @@
1
- import { AnimationTaskRunner } from '@refinitiv-ui/utils/lib/async.js';
2
- import '../elements/overlay-viewport.js';
3
- /**
4
- * Default values for area info
5
- */
6
- const viewAreaInfo = {
7
- viewHeight: 0,
8
- viewWidth: 0,
9
- offsetTop: 0,
10
- offsetLeft: 0,
11
- offsetBottom: 0,
12
- offsetRight: 0,
13
- viewOffsetTop: 0,
14
- viewOffsetLeft: 0
15
- };
16
- // Used to capture scroll events
17
- const ScrollEventOptions = { capture: true, passive: true };
18
- /**
19
- * Viewport manager singleton is responsible for getting
20
- * viewport sizes and reacting on viewport changes
21
- * @returns {void}
22
- */
23
- export class ViewportManager {
24
- constructor() {
25
- this.registry = new Map();
26
- this.viewRegistry = new WeakMap();
27
- this.refitFrame = new AnimationTaskRunner();
28
- this.screenViewport = null;
29
- /**
30
- * Refit all overlays
31
- * @returns {void}
32
- */
33
- this.callRefit = () => {
34
- this.refitFrame.schedule(() => {
35
- this.registry.forEach((viewport, overlay) => {
36
- this.resetViewportSizing(viewport);
37
- overlay.fit();
38
- });
39
- });
40
- };
41
- }
42
- /**
43
- * Create overlay-viewport and insert it before the provided node
44
- * @param insertBefore A node to insert before
45
- * @returns created overlay-viewport
46
- */
47
- createViewport(insertBefore) {
48
- var _a;
49
- const viewport = document.createElement('ef-overlay-viewport');
50
- (_a = insertBefore === null || insertBefore === void 0 ? void 0 : insertBefore.parentNode) === null || _a === void 0 ? void 0 : _a.insertBefore(viewport, insertBefore);
51
- return viewport;
52
- }
53
- /**
54
- * Remove overlay-viewport from DOM tree
55
- * @param viewport overlay-viewport to remove
56
- * @returns {void}
57
- */
58
- removeViewport(viewport) {
59
- var _a;
60
- (_a = viewport.parentNode) === null || _a === void 0 ? void 0 : _a.removeChild(viewport);
61
- }
62
- /**
63
- * Set screen sizing viewport
64
- * @returns void
65
- */
66
- setScreenViewport() {
67
- if (!this.screenViewport) {
68
- this.screenViewport = this.createViewport(document.body);
69
- }
70
- }
71
- /**
72
- * Removes screen sizing viewport
73
- * @returns void
74
- */
75
- removeScreenViewport() {
76
- if (this.screenViewport) {
77
- this.removeViewport(this.screenViewport);
78
- this.screenViewport = null;
79
- }
80
- }
81
- /**
82
- * Reset sizing for viewport
83
- * @param viewport Viewport to reset sizing for
84
- * @returns {void}
85
- */
86
- resetViewportSizing(viewport) {
87
- if (!this.screenViewport) {
88
- return;
89
- }
90
- const screenRect = this.screenViewport.getBoundingClientRect();
91
- // since screenViewport is applied on html element, it does not include body zoom
92
- // Zoom is a legacy feature and must not be used by any means.
93
- // Kept here for compatibility with old apps
94
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
95
- // @ts-ignore
96
- const zoom = parseFloat(window.getComputedStyle(document.body).zoom);
97
- const screenHeight = screenRect.height / zoom;
98
- const screenWidth = screenRect.width / zoom;
99
- const { top, left, bottom, right } = viewport.getBoundingClientRect();
100
- const offsetTop = top < 0 ? Math.abs(top) : 0;
101
- const offsetLeft = left < 0 ? Math.abs(left) : 0;
102
- const offsetBottom = bottom > screenHeight ? bottom - screenHeight : 0;
103
- const offsetRight = right > screenWidth ? right - screenWidth : 0;
104
- const viewHeight = viewport.offsetHeight - offsetTop - offsetBottom;
105
- const viewWidth = viewport.offsetWidth - offsetLeft - offsetRight;
106
- this.viewRegistry.set(viewport, {
107
- viewOffsetTop: top < 0 ? top + offsetTop : top,
108
- viewOffsetLeft: left < 0 ? left + offsetLeft : left,
109
- viewHeight: viewHeight < 0 ? 0 : viewHeight,
110
- viewWidth: viewWidth < 0 ? 0 : viewWidth,
111
- offsetTop,
112
- offsetLeft,
113
- offsetBottom,
114
- offsetRight
115
- });
116
- }
117
- getViewAreaInfo(overlay) {
118
- const viewport = this.registry.get(overlay);
119
- if (!viewport) {
120
- return viewAreaInfo;
121
- }
122
- if (!this.viewRegistry.has(viewport)) {
123
- this.resetViewportSizing(viewport);
124
- }
125
- return this.viewRegistry.get(viewport) || viewAreaInfo;
126
- }
127
- register(overlay) {
128
- if (!this.registry.size) {
129
- window.addEventListener('resize', this.callRefit);
130
- window.addEventListener('orientationchange', this.callRefit);
131
- window.addEventListener('scroll', this.callRefit, ScrollEventOptions);
132
- this.setScreenViewport();
133
- }
134
- if (!this.registry.has(overlay)) {
135
- const viewport = this.createViewport(overlay);
136
- this.registry.set(overlay, viewport);
137
- viewport.addEventListener('resize', () => overlay.fit());
138
- }
139
- }
140
- deregister(overlay) {
141
- if (this.registry.has(overlay)) {
142
- const viewport = this.registry.get(overlay);
143
- viewport && this.removeViewport(viewport);
144
- this.registry.delete(overlay);
145
- }
146
- if (!this.registry.size) {
147
- window.removeEventListener('resize', this.callRefit);
148
- window.removeEventListener('orientationchange', this.callRefit);
149
- window.removeEventListener('scroll', this.callRefit, ScrollEventOptions);
150
- this.removeScreenViewport();
151
- }
152
- }
153
- /**
154
- * @returns count of elements inside manager
155
- */
156
- size() {
157
- return this.registry.size;
158
- }
159
- /**
160
- * applies deregister for each element in registry
161
- * @returns {void}
162
- */
163
- clear() {
164
- this.registry.forEach((viewport, overlay) => this.deregister(overlay));
165
- }
166
- }
167
- const viewportManager = new ViewportManager();
168
- /**
169
- * Register the new overlay. Must be run to let start behaviour to listen for viewport events
170
- * @param overlay Overlay
171
- * @returns {void}
172
- */
173
- export const register = (overlay) => {
174
- viewportManager.register(overlay);
175
- };
176
- /**
177
- * Deregister the overlay
178
- * @param overlay Overlay
179
- * @returns {void}
180
- */
181
- export const deregister = (overlay) => {
182
- viewportManager.deregister(overlay);
183
- };
184
- /**
185
- * @typedef {Object} ViewAreaInfo
186
- * @property {Number} viewHeight - The height of view area
187
- * @property {Number} viewWidth - The width of view area
188
- * @property {Number} [offsetTop=0] - iOS only the view area vertical offset
189
- * @property {Number} [offsetLeft=0] - iOS only the view area horizontal offset
190
- */
191
- /**
192
- * Get sizing information of the viewport for overlay
193
- * @param overlay Overlay to get info for
194
- * @return area info
195
- */
196
- export const getViewAreaInfo = (overlay) => {
197
- return viewportManager.getViewAreaInfo(overlay);
198
- };
199
- /**
200
- * @returns count of elements inside manager
201
- */
202
- export const size = () => {
203
- return viewportManager.size();
204
- };
205
- /**
206
- * removes all elements from registry
207
- * @returns {void}
208
- */
209
- export const clear = () => {
210
- viewportManager.clear();
211
- };