@refinitiv-ui/elements 5.11.0 → 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 (504) hide show
  1. package/README.md +4 -4
  2. package/package.json +21 -290
  3. package/lib/accordion/index.d.ts +0 -76
  4. package/lib/accordion/index.js +0 -136
  5. package/lib/accordion/themes/halo/dark/index.js +0 -3
  6. package/lib/accordion/themes/halo/light/index.js +0 -3
  7. package/lib/accordion/themes/solar/charcoal/index.js +0 -3
  8. package/lib/accordion/themes/solar/pearl/index.js +0 -3
  9. package/lib/appstate-bar/index.d.ts +0 -65
  10. package/lib/appstate-bar/index.js +0 -100
  11. package/lib/appstate-bar/themes/halo/dark/index.js +0 -3
  12. package/lib/appstate-bar/themes/halo/light/index.js +0 -3
  13. package/lib/appstate-bar/themes/solar/charcoal/index.js +0 -3
  14. package/lib/appstate-bar/themes/solar/pearl/index.js +0 -3
  15. package/lib/autosuggest/helpers/types.d.ts +0 -54
  16. package/lib/autosuggest/helpers/types.js +0 -1
  17. package/lib/autosuggest/helpers/utils.d.ts +0 -39
  18. package/lib/autosuggest/helpers/utils.js +0 -75
  19. package/lib/autosuggest/index.d.ts +0 -538
  20. package/lib/autosuggest/index.js +0 -1255
  21. package/lib/autosuggest/themes/halo/dark/index.js +0 -5
  22. package/lib/autosuggest/themes/halo/light/index.js +0 -5
  23. package/lib/autosuggest/themes/solar/charcoal/index.js +0 -5
  24. package/lib/autosuggest/themes/solar/pearl/index.js +0 -5
  25. package/lib/button/index.d.ts +0 -132
  26. package/lib/button/index.js +0 -223
  27. package/lib/button/themes/halo/dark/index.js +0 -3
  28. package/lib/button/themes/halo/light/index.js +0 -3
  29. package/lib/button/themes/solar/charcoal/index.js +0 -3
  30. package/lib/button/themes/solar/pearl/index.js +0 -3
  31. package/lib/button-bar/index.d.ts +0 -76
  32. package/lib/button-bar/index.js +0 -155
  33. package/lib/button-bar/themes/halo/dark/index.js +0 -3
  34. package/lib/button-bar/themes/halo/light/index.js +0 -3
  35. package/lib/button-bar/themes/solar/charcoal/index.js +0 -3
  36. package/lib/button-bar/themes/solar/pearl/index.js +0 -3
  37. package/lib/calendar/constants.d.ts +0 -26
  38. package/lib/calendar/constants.js +0 -28
  39. package/lib/calendar/index.d.ts +0 -412
  40. package/lib/calendar/index.js +0 -1274
  41. package/lib/calendar/locales.d.ts +0 -1
  42. package/lib/calendar/locales.js +0 -41
  43. package/lib/calendar/themes/halo/dark/index.js +0 -3
  44. package/lib/calendar/themes/halo/light/index.js +0 -3
  45. package/lib/calendar/themes/solar/charcoal/index.js +0 -3
  46. package/lib/calendar/themes/solar/pearl/index.js +0 -3
  47. package/lib/calendar/types.d.ts +0 -32
  48. package/lib/calendar/types.js +0 -1
  49. package/lib/calendar/utils.d.ts +0 -42
  50. package/lib/calendar/utils.js +0 -120
  51. package/lib/canvas/index.d.ts +0 -101
  52. package/lib/canvas/index.js +0 -173
  53. package/lib/canvas/themes/halo/dark/index.js +0 -2
  54. package/lib/canvas/themes/halo/light/index.js +0 -2
  55. package/lib/canvas/themes/solar/charcoal/index.js +0 -2
  56. package/lib/canvas/themes/solar/pearl/index.js +0 -2
  57. package/lib/card/helpers/types.d.ts +0 -12
  58. package/lib/card/helpers/types.js +0 -1
  59. package/lib/card/index.d.ts +0 -142
  60. package/lib/card/index.js +0 -248
  61. package/lib/card/themes/halo/dark/index.js +0 -5
  62. package/lib/card/themes/halo/light/index.js +0 -5
  63. package/lib/card/themes/solar/charcoal/index.js +0 -5
  64. package/lib/card/themes/solar/pearl/index.js +0 -5
  65. package/lib/chart/helpers/index.d.ts +0 -2
  66. package/lib/chart/helpers/index.js +0 -2
  67. package/lib/chart/helpers/legend.d.ts +0 -5
  68. package/lib/chart/helpers/legend.js +0 -78
  69. package/lib/chart/helpers/merge.d.ts +0 -15
  70. package/lib/chart/helpers/merge.js +0 -28
  71. package/lib/chart/helpers/types.d.ts +0 -69
  72. package/lib/chart/helpers/types.js +0 -1
  73. package/lib/chart/index.d.ts +0 -187
  74. package/lib/chart/index.js +0 -491
  75. package/lib/chart/plugins/doughnut-center-label.d.ts +0 -3
  76. package/lib/chart/plugins/doughnut-center-label.js +0 -196
  77. package/lib/chart/themes/halo/dark/index.js +0 -4
  78. package/lib/chart/themes/halo/light/index.js +0 -4
  79. package/lib/chart/themes/solar/charcoal/index.js +0 -4
  80. package/lib/chart/themes/solar/pearl/index.js +0 -4
  81. package/lib/checkbox/index.d.ts +0 -97
  82. package/lib/checkbox/index.js +0 -194
  83. package/lib/checkbox/themes/halo/dark/index.js +0 -4
  84. package/lib/checkbox/themes/halo/light/index.js +0 -4
  85. package/lib/checkbox/themes/solar/charcoal/index.js +0 -4
  86. package/lib/checkbox/themes/solar/pearl/index.js +0 -4
  87. package/lib/clock/index.d.ts +0 -321
  88. package/lib/clock/index.js +0 -583
  89. package/lib/clock/themes/halo/dark/index.js +0 -2
  90. package/lib/clock/themes/halo/light/index.js +0 -2
  91. package/lib/clock/themes/solar/charcoal/index.js +0 -2
  92. package/lib/clock/themes/solar/pearl/index.js +0 -2
  93. package/lib/clock/utils/TickManager.d.ts +0 -14
  94. package/lib/clock/utils/TickManager.js +0 -66
  95. package/lib/clock/utils/timestamps.d.ts +0 -6
  96. package/lib/clock/utils/timestamps.js +0 -6
  97. package/lib/collapse/index.d.ts +0 -119
  98. package/lib/collapse/index.js +0 -197
  99. package/lib/collapse/themes/halo/dark/index.js +0 -5
  100. package/lib/collapse/themes/halo/light/index.js +0 -5
  101. package/lib/collapse/themes/solar/charcoal/index.js +0 -5
  102. package/lib/collapse/themes/solar/pearl/index.js +0 -5
  103. package/lib/color-dialog/elements/color-palettes.d.ts +0 -52
  104. package/lib/color-dialog/elements/color-palettes.js +0 -101
  105. package/lib/color-dialog/elements/grayscale-palettes.d.ts +0 -67
  106. package/lib/color-dialog/elements/grayscale-palettes.js +0 -161
  107. package/lib/color-dialog/elements/palettes.d.ts +0 -65
  108. package/lib/color-dialog/elements/palettes.js +0 -132
  109. package/lib/color-dialog/helpers/color-helpers.d.ts +0 -16
  110. package/lib/color-dialog/helpers/color-helpers.js +0 -161
  111. package/lib/color-dialog/helpers/value-model.d.ts +0 -75
  112. package/lib/color-dialog/helpers/value-model.js +0 -141
  113. package/lib/color-dialog/index.d.ts +0 -232
  114. package/lib/color-dialog/index.js +0 -459
  115. package/lib/color-dialog/themes/halo/dark/index.js +0 -7
  116. package/lib/color-dialog/themes/halo/light/index.js +0 -7
  117. package/lib/color-dialog/themes/solar/charcoal/index.js +0 -7
  118. package/lib/color-dialog/themes/solar/pearl/index.js +0 -7
  119. package/lib/combo-box/helpers/filter.d.ts +0 -10
  120. package/lib/combo-box/helpers/filter.js +0 -29
  121. package/lib/combo-box/helpers/keyboard-event.d.ts +0 -17
  122. package/lib/combo-box/helpers/keyboard-event.js +0 -19
  123. package/lib/combo-box/helpers/renderer.d.ts +0 -8
  124. package/lib/combo-box/helpers/renderer.js +0 -24
  125. package/lib/combo-box/helpers/types.d.ts +0 -11
  126. package/lib/combo-box/helpers/types.js +0 -1
  127. package/lib/combo-box/index.d.ts +0 -551
  128. package/lib/combo-box/index.js +0 -1183
  129. package/lib/combo-box/themes/halo/dark/index.js +0 -7
  130. package/lib/combo-box/themes/halo/light/index.js +0 -7
  131. package/lib/combo-box/themes/solar/charcoal/index.js +0 -7
  132. package/lib/combo-box/themes/solar/pearl/index.js +0 -7
  133. package/lib/counter/index.d.ts +0 -91
  134. package/lib/counter/index.js +0 -154
  135. package/lib/counter/themes/halo/dark/index.js +0 -3
  136. package/lib/counter/themes/halo/light/index.js +0 -3
  137. package/lib/counter/themes/solar/charcoal/index.js +0 -3
  138. package/lib/counter/themes/solar/pearl/index.js +0 -3
  139. package/lib/counter/utils.d.ts +0 -13
  140. package/lib/counter/utils.js +0 -52
  141. package/lib/datetime-picker/index.d.ts +0 -509
  142. package/lib/datetime-picker/index.js +0 -1175
  143. package/lib/datetime-picker/locales.d.ts +0 -8
  144. package/lib/datetime-picker/locales.js +0 -57
  145. package/lib/datetime-picker/themes/halo/dark/index.js +0 -7
  146. package/lib/datetime-picker/themes/halo/light/index.js +0 -7
  147. package/lib/datetime-picker/themes/solar/charcoal/index.js +0 -7
  148. package/lib/datetime-picker/themes/solar/pearl/index.js +0 -7
  149. package/lib/datetime-picker/types.d.ts +0 -3
  150. package/lib/datetime-picker/types.js +0 -1
  151. package/lib/datetime-picker/utils.d.ts +0 -55
  152. package/lib/datetime-picker/utils.js +0 -92
  153. package/lib/dialog/draggable-element.d.ts +0 -14
  154. package/lib/dialog/draggable-element.js +0 -221
  155. package/lib/dialog/index.d.ts +0 -196
  156. package/lib/dialog/index.js +0 -328
  157. package/lib/dialog/themes/halo/dark/index.js +0 -7
  158. package/lib/dialog/themes/halo/light/index.js +0 -7
  159. package/lib/dialog/themes/solar/charcoal/index.js +0 -7
  160. package/lib/dialog/themes/solar/pearl/index.js +0 -7
  161. package/lib/email-field/index.d.ts +0 -80
  162. package/lib/email-field/index.js +0 -86
  163. package/lib/email-field/themes/halo/dark/index.js +0 -3
  164. package/lib/email-field/themes/halo/light/index.js +0 -3
  165. package/lib/email-field/themes/solar/charcoal/index.js +0 -3
  166. package/lib/email-field/themes/solar/pearl/index.js +0 -3
  167. package/lib/events.d.ts +0 -121
  168. package/lib/events.js +0 -1
  169. package/lib/flag/index.d.ts +0 -96
  170. package/lib/flag/index.js +0 -168
  171. package/lib/flag/themes/halo/dark/index.js +0 -2
  172. package/lib/flag/themes/halo/light/index.js +0 -2
  173. package/lib/flag/themes/solar/charcoal/index.js +0 -2
  174. package/lib/flag/themes/solar/pearl/index.js +0 -2
  175. package/lib/flag/utils/FlagLoader.d.ts +0 -47
  176. package/lib/flag/utils/FlagLoader.js +0 -86
  177. package/lib/header/index.d.ts +0 -46
  178. package/lib/header/index.js +0 -73
  179. package/lib/header/themes/halo/dark/index.js +0 -2
  180. package/lib/header/themes/halo/light/index.js +0 -2
  181. package/lib/header/themes/solar/charcoal/index.js +0 -2
  182. package/lib/header/themes/solar/pearl/index.js +0 -2
  183. package/lib/heatmap/helpers/color.d.ts +0 -30
  184. package/lib/heatmap/helpers/color.js +0 -68
  185. package/lib/heatmap/helpers/text.d.ts +0 -26
  186. package/lib/heatmap/helpers/text.js +0 -91
  187. package/lib/heatmap/helpers/track.d.ts +0 -102
  188. package/lib/heatmap/helpers/track.js +0 -160
  189. package/lib/heatmap/helpers/types.d.ts +0 -40
  190. package/lib/heatmap/helpers/types.js +0 -1
  191. package/lib/heatmap/index.d.ts +0 -453
  192. package/lib/heatmap/index.js +0 -1103
  193. package/lib/heatmap/themes/halo/dark/index.js +0 -4
  194. package/lib/heatmap/themes/halo/light/index.js +0 -4
  195. package/lib/heatmap/themes/solar/charcoal/index.js +0 -4
  196. package/lib/heatmap/themes/solar/pearl/index.js +0 -4
  197. package/lib/icon/index.d.ts +0 -90
  198. package/lib/icon/index.js +0 -171
  199. package/lib/icon/themes/halo/dark/index.js +0 -2
  200. package/lib/icon/themes/halo/light/index.js +0 -2
  201. package/lib/icon/themes/solar/charcoal/index.js +0 -2
  202. package/lib/icon/themes/solar/pearl/index.js +0 -2
  203. package/lib/icon/utils/IconLoader.d.ts +0 -52
  204. package/lib/icon/utils/IconLoader.js +0 -93
  205. package/lib/index.d.ts +0 -3
  206. package/lib/index.js +0 -3
  207. package/lib/interactive-chart/helpers/merge.d.ts +0 -15
  208. package/lib/interactive-chart/helpers/merge.js +0 -28
  209. package/lib/interactive-chart/helpers/types.d.ts +0 -45
  210. package/lib/interactive-chart/helpers/types.js +0 -6
  211. package/lib/interactive-chart/index.d.ts +0 -383
  212. package/lib/interactive-chart/index.js +0 -1093
  213. package/lib/interactive-chart/themes/halo/dark/index.js +0 -3
  214. package/lib/interactive-chart/themes/halo/light/index.js +0 -3
  215. package/lib/interactive-chart/themes/solar/charcoal/index.js +0 -3
  216. package/lib/interactive-chart/themes/solar/pearl/index.js +0 -3
  217. package/lib/item/helpers/types.d.ts +0 -57
  218. package/lib/item/helpers/types.js +0 -1
  219. package/lib/item/index.d.ts +0 -159
  220. package/lib/item/index.js +0 -272
  221. package/lib/item/themes/halo/dark/index.js +0 -4
  222. package/lib/item/themes/halo/light/index.js +0 -4
  223. package/lib/item/themes/solar/charcoal/index.js +0 -4
  224. package/lib/item/themes/solar/pearl/index.js +0 -4
  225. package/lib/label/index.d.ts +0 -102
  226. package/lib/label/index.js +0 -245
  227. package/lib/label/themes/halo/dark/index.js +0 -3
  228. package/lib/label/themes/halo/light/index.js +0 -3
  229. package/lib/label/themes/solar/charcoal/index.js +0 -3
  230. package/lib/label/themes/solar/pearl/index.js +0 -3
  231. package/lib/layout/index.d.ts +0 -107
  232. package/lib/layout/index.js +0 -212
  233. package/lib/layout/themes/halo/dark/index.js +0 -2
  234. package/lib/layout/themes/halo/light/index.js +0 -2
  235. package/lib/layout/themes/solar/charcoal/index.js +0 -2
  236. package/lib/layout/themes/solar/pearl/index.js +0 -2
  237. package/lib/led-gauge/index.d.ts +0 -144
  238. package/lib/led-gauge/index.js +0 -438
  239. package/lib/led-gauge/themes/halo/dark/index.js +0 -3
  240. package/lib/led-gauge/themes/halo/light/index.js +0 -3
  241. package/lib/led-gauge/themes/solar/charcoal/index.js +0 -3
  242. package/lib/led-gauge/themes/solar/pearl/index.js +0 -3
  243. package/lib/list/extensible-function.d.ts +0 -8
  244. package/lib/list/extensible-function.js +0 -13
  245. package/lib/list/helpers/list-renderer.d.ts +0 -9
  246. package/lib/list/helpers/list-renderer.js +0 -37
  247. package/lib/list/helpers/types.d.ts +0 -3
  248. package/lib/list/helpers/types.js +0 -1
  249. package/lib/list/index.d.ts +0 -313
  250. package/lib/list/index.js +0 -640
  251. package/lib/list/renderer.d.ts +0 -36
  252. package/lib/list/renderer.js +0 -9
  253. package/lib/list/themes/halo/dark/index.js +0 -3
  254. package/lib/list/themes/halo/light/index.js +0 -3
  255. package/lib/list/themes/solar/charcoal/index.js +0 -3
  256. package/lib/list/themes/solar/pearl/index.js +0 -3
  257. package/lib/loader/index.d.ts +0 -41
  258. package/lib/loader/index.js +0 -61
  259. package/lib/loader/themes/halo/dark/index.js +0 -2
  260. package/lib/loader/themes/halo/light/index.js +0 -2
  261. package/lib/loader/themes/solar/charcoal/index.js +0 -2
  262. package/lib/loader/themes/solar/pearl/index.js +0 -2
  263. package/lib/multi-input/helpers/types.d.ts +0 -11
  264. package/lib/multi-input/helpers/types.js +0 -1
  265. package/lib/multi-input/index.d.ts +0 -301
  266. package/lib/multi-input/index.js +0 -594
  267. package/lib/multi-input/themes/halo/dark/index.js +0 -4
  268. package/lib/multi-input/themes/halo/light/index.js +0 -4
  269. package/lib/multi-input/themes/solar/charcoal/index.js +0 -4
  270. package/lib/multi-input/themes/solar/pearl/index.js +0 -4
  271. package/lib/notification/elements/notification-tray.d.ts +0 -97
  272. package/lib/notification/elements/notification-tray.js +0 -167
  273. package/lib/notification/elements/notification.d.ts +0 -90
  274. package/lib/notification/elements/notification.js +0 -154
  275. package/lib/notification/helpers/status.d.ts +0 -30
  276. package/lib/notification/helpers/status.js +0 -130
  277. package/lib/notification/helpers/types.d.ts +0 -10
  278. package/lib/notification/helpers/types.js +0 -1
  279. package/lib/notification/index.d.ts +0 -2
  280. package/lib/notification/index.js +0 -2
  281. package/lib/notification/themes/halo/dark/index.js +0 -5
  282. package/lib/notification/themes/halo/light/index.js +0 -5
  283. package/lib/notification/themes/solar/charcoal/index.js +0 -5
  284. package/lib/notification/themes/solar/pearl/index.js +0 -5
  285. package/lib/number-field/index.d.ts +0 -339
  286. package/lib/number-field/index.js +0 -740
  287. package/lib/number-field/themes/halo/dark/index.js +0 -3
  288. package/lib/number-field/themes/halo/light/index.js +0 -3
  289. package/lib/number-field/themes/solar/charcoal/index.js +0 -3
  290. package/lib/number-field/themes/solar/pearl/index.js +0 -3
  291. package/lib/overlay/elements/overlay-backdrop.d.ts +0 -46
  292. package/lib/overlay/elements/overlay-backdrop.js +0 -64
  293. package/lib/overlay/elements/overlay-viewport.d.ts +0 -40
  294. package/lib/overlay/elements/overlay-viewport.js +0 -52
  295. package/lib/overlay/elements/overlay.d.ts +0 -408
  296. package/lib/overlay/elements/overlay.js +0 -1426
  297. package/lib/overlay/helpers/functions.d.ts +0 -13
  298. package/lib/overlay/helpers/functions.js +0 -16
  299. package/lib/overlay/helpers/types.d.ts +0 -97
  300. package/lib/overlay/helpers/types.js +0 -16
  301. package/lib/overlay/index.d.ts +0 -2
  302. package/lib/overlay/index.js +0 -1
  303. package/lib/overlay/managers/backdrop-manager.d.ts +0 -45
  304. package/lib/overlay/managers/backdrop-manager.js +0 -96
  305. package/lib/overlay/managers/close-manager.d.ts +0 -54
  306. package/lib/overlay/managers/close-manager.js +0 -138
  307. package/lib/overlay/managers/focus-manager.d.ts +0 -71
  308. package/lib/overlay/managers/focus-manager.js +0 -228
  309. package/lib/overlay/managers/interaction-lock-manager.d.ts +0 -138
  310. package/lib/overlay/managers/interaction-lock-manager.js +0 -375
  311. package/lib/overlay/managers/viewport-manager.d.ts +0 -93
  312. package/lib/overlay/managers/viewport-manager.js +0 -211
  313. package/lib/overlay/managers/zindex-manager.d.ts +0 -80
  314. package/lib/overlay/managers/zindex-manager.js +0 -195
  315. package/lib/overlay/themes/halo/dark/index.js +0 -4
  316. package/lib/overlay/themes/halo/light/index.js +0 -4
  317. package/lib/overlay/themes/solar/charcoal/index.js +0 -4
  318. package/lib/overlay/themes/solar/pearl/index.js +0 -4
  319. package/lib/overlay-menu/helpers/types.d.ts +0 -8
  320. package/lib/overlay-menu/helpers/types.js +0 -1
  321. package/lib/overlay-menu/index.d.ts +0 -387
  322. package/lib/overlay-menu/index.js +0 -935
  323. package/lib/overlay-menu/managers/menu-manager.d.ts +0 -98
  324. package/lib/overlay-menu/managers/menu-manager.js +0 -240
  325. package/lib/overlay-menu/themes/halo/dark/index.js +0 -5
  326. package/lib/overlay-menu/themes/halo/light/index.js +0 -5
  327. package/lib/overlay-menu/themes/solar/charcoal/index.js +0 -5
  328. package/lib/overlay-menu/themes/solar/pearl/index.js +0 -5
  329. package/lib/pagination/index.d.ts +0 -275
  330. package/lib/pagination/index.js +0 -552
  331. package/lib/pagination/themes/halo/dark/index.js +0 -6
  332. package/lib/pagination/themes/halo/light/index.js +0 -6
  333. package/lib/pagination/themes/solar/charcoal/index.js +0 -6
  334. package/lib/pagination/themes/solar/pearl/index.js +0 -6
  335. package/lib/panel/index.d.ts +0 -48
  336. package/lib/panel/index.js +0 -74
  337. package/lib/panel/themes/halo/dark/index.js +0 -2
  338. package/lib/panel/themes/halo/light/index.js +0 -2
  339. package/lib/panel/themes/solar/charcoal/index.js +0 -2
  340. package/lib/panel/themes/solar/pearl/index.js +0 -2
  341. package/lib/password-field/index.d.ts +0 -89
  342. package/lib/password-field/index.js +0 -112
  343. package/lib/password-field/themes/halo/dark/index.js +0 -3
  344. package/lib/password-field/themes/halo/light/index.js +0 -3
  345. package/lib/password-field/themes/solar/charcoal/index.js +0 -3
  346. package/lib/password-field/themes/solar/pearl/index.js +0 -3
  347. package/lib/pill/index.d.ts +0 -97
  348. package/lib/pill/index.js +0 -160
  349. package/lib/pill/themes/halo/dark/index.js +0 -3
  350. package/lib/pill/themes/halo/light/index.js +0 -3
  351. package/lib/pill/themes/solar/charcoal/index.js +0 -3
  352. package/lib/pill/themes/solar/pearl/index.js +0 -3
  353. package/lib/progress-bar/index.d.ts +0 -82
  354. package/lib/progress-bar/index.js +0 -157
  355. package/lib/progress-bar/themes/halo/dark/index.js +0 -2
  356. package/lib/progress-bar/themes/halo/light/index.js +0 -2
  357. package/lib/progress-bar/themes/solar/charcoal/index.js +0 -2
  358. package/lib/progress-bar/themes/solar/pearl/index.js +0 -2
  359. package/lib/radio-button/index.d.ts +0 -123
  360. package/lib/radio-button/index.js +0 -261
  361. package/lib/radio-button/radio-button-registry.d.ts +0 -22
  362. package/lib/radio-button/radio-button-registry.js +0 -93
  363. package/lib/radio-button/themes/halo/dark/index.js +0 -3
  364. package/lib/radio-button/themes/halo/light/index.js +0 -3
  365. package/lib/radio-button/themes/solar/charcoal/index.js +0 -3
  366. package/lib/radio-button/themes/solar/pearl/index.js +0 -3
  367. package/lib/rating/index.d.ts +0 -91
  368. package/lib/rating/index.js +0 -157
  369. package/lib/rating/themes/halo/dark/index.js +0 -2
  370. package/lib/rating/themes/halo/light/index.js +0 -2
  371. package/lib/rating/themes/solar/charcoal/index.js +0 -2
  372. package/lib/rating/themes/solar/pearl/index.js +0 -2
  373. package/lib/search-field/index.d.ts +0 -77
  374. package/lib/search-field/index.js +0 -84
  375. package/lib/search-field/themes/halo/dark/index.js +0 -3
  376. package/lib/search-field/themes/halo/light/index.js +0 -3
  377. package/lib/search-field/themes/solar/charcoal/index.js +0 -3
  378. package/lib/search-field/themes/solar/pearl/index.js +0 -3
  379. package/lib/select/helpers/types.d.ts +0 -3
  380. package/lib/select/helpers/types.js +0 -1
  381. package/lib/select/index.d.ts +0 -396
  382. package/lib/select/index.js +0 -981
  383. package/lib/select/themes/halo/dark/index.js +0 -5
  384. package/lib/select/themes/halo/light/index.js +0 -5
  385. package/lib/select/themes/solar/charcoal/index.js +0 -5
  386. package/lib/select/themes/solar/pearl/index.js +0 -5
  387. package/lib/sidebar-layout/index.d.ts +0 -70
  388. package/lib/sidebar-layout/index.js +0 -134
  389. package/lib/sidebar-layout/themes/halo/dark/index.js +0 -3
  390. package/lib/sidebar-layout/themes/halo/light/index.js +0 -3
  391. package/lib/sidebar-layout/themes/solar/charcoal/index.js +0 -3
  392. package/lib/sidebar-layout/themes/solar/pearl/index.js +0 -3
  393. package/lib/slider/index.d.ts +0 -409
  394. package/lib/slider/index.js +0 -1187
  395. package/lib/slider/themes/halo/dark/index.js +0 -3
  396. package/lib/slider/themes/halo/light/index.js +0 -3
  397. package/lib/slider/themes/solar/charcoal/index.js +0 -3
  398. package/lib/slider/themes/solar/pearl/index.js +0 -3
  399. package/lib/sparkline/index.d.ts +0 -109
  400. package/lib/sparkline/index.js +0 -188
  401. package/lib/sparkline/themes/halo/dark/index.js +0 -2
  402. package/lib/sparkline/themes/halo/light/index.js +0 -2
  403. package/lib/sparkline/themes/solar/charcoal/index.js +0 -2
  404. package/lib/sparkline/themes/solar/pearl/index.js +0 -2
  405. package/lib/swing-gauge/const.d.ts +0 -22
  406. package/lib/swing-gauge/const.js +0 -26
  407. package/lib/swing-gauge/helpers.d.ts +0 -8
  408. package/lib/swing-gauge/helpers.js +0 -105
  409. package/lib/swing-gauge/index.d.ts +0 -296
  410. package/lib/swing-gauge/index.js +0 -764
  411. package/lib/swing-gauge/themes/halo/dark/index.js +0 -3
  412. package/lib/swing-gauge/themes/halo/light/index.js +0 -3
  413. package/lib/swing-gauge/themes/solar/charcoal/index.js +0 -3
  414. package/lib/swing-gauge/themes/solar/pearl/index.js +0 -3
  415. package/lib/swing-gauge/types.d.ts +0 -34
  416. package/lib/swing-gauge/types.js +0 -1
  417. package/lib/tab/index.d.ts +0 -118
  418. package/lib/tab/index.js +0 -208
  419. package/lib/tab/themes/halo/dark/index.js +0 -4
  420. package/lib/tab/themes/halo/light/index.js +0 -4
  421. package/lib/tab/themes/solar/charcoal/index.js +0 -4
  422. package/lib/tab/themes/solar/pearl/index.js +0 -4
  423. package/lib/tab-bar/helpers/animate.d.ts +0 -16
  424. package/lib/tab-bar/helpers/animate.js +0 -53
  425. package/lib/tab-bar/index.d.ts +0 -108
  426. package/lib/tab-bar/index.js +0 -218
  427. package/lib/tab-bar/themes/halo/dark/index.js +0 -4
  428. package/lib/tab-bar/themes/halo/light/index.js +0 -4
  429. package/lib/tab-bar/themes/solar/charcoal/index.js +0 -4
  430. package/lib/tab-bar/themes/solar/pearl/index.js +0 -4
  431. package/lib/text-field/index.d.ts +0 -151
  432. package/lib/text-field/index.js +0 -260
  433. package/lib/text-field/themes/halo/dark/index.js +0 -3
  434. package/lib/text-field/themes/halo/light/index.js +0 -3
  435. package/lib/text-field/themes/solar/charcoal/index.js +0 -3
  436. package/lib/text-field/themes/solar/pearl/index.js +0 -3
  437. package/lib/time-picker/index.d.ts +0 -412
  438. package/lib/time-picker/index.js +0 -898
  439. package/lib/time-picker/themes/halo/dark/index.js +0 -4
  440. package/lib/time-picker/themes/halo/light/index.js +0 -4
  441. package/lib/time-picker/themes/solar/charcoal/index.js +0 -4
  442. package/lib/time-picker/themes/solar/pearl/index.js +0 -4
  443. package/lib/toggle/index.d.ts +0 -87
  444. package/lib/toggle/index.js +0 -153
  445. package/lib/toggle/themes/halo/dark/index.js +0 -2
  446. package/lib/toggle/themes/halo/light/index.js +0 -2
  447. package/lib/toggle/themes/solar/charcoal/index.js +0 -2
  448. package/lib/toggle/themes/solar/pearl/index.js +0 -2
  449. package/lib/tooltip/elements/title-tooltip.d.ts +0 -1
  450. package/lib/tooltip/elements/title-tooltip.js +0 -18
  451. package/lib/tooltip/elements/tooltip-element.d.ts +0 -21
  452. package/lib/tooltip/elements/tooltip-element.js +0 -54
  453. package/lib/tooltip/helpers/overflow-tooltip.d.ts +0 -9
  454. package/lib/tooltip/helpers/overflow-tooltip.js +0 -19
  455. package/lib/tooltip/helpers/renderer.d.ts +0 -8
  456. package/lib/tooltip/helpers/renderer.js +0 -11
  457. package/lib/tooltip/helpers/types.d.ts +0 -23
  458. package/lib/tooltip/helpers/types.js +0 -1
  459. package/lib/tooltip/index.d.ts +0 -232
  460. package/lib/tooltip/index.js +0 -477
  461. package/lib/tooltip/managers/tooltip-manager.d.ts +0 -15
  462. package/lib/tooltip/managers/tooltip-manager.js +0 -140
  463. package/lib/tooltip/themes/halo/dark/index.js +0 -3
  464. package/lib/tooltip/themes/halo/light/index.js +0 -3
  465. package/lib/tooltip/themes/solar/charcoal/index.js +0 -3
  466. package/lib/tooltip/themes/solar/pearl/index.js +0 -3
  467. package/lib/tornado-chart/elements/tornado-chart.d.ts +0 -78
  468. package/lib/tornado-chart/elements/tornado-chart.js +0 -122
  469. package/lib/tornado-chart/elements/tornado-item.d.ts +0 -110
  470. package/lib/tornado-chart/elements/tornado-item.js +0 -207
  471. package/lib/tornado-chart/index.d.ts +0 -2
  472. package/lib/tornado-chart/index.js +0 -2
  473. package/lib/tornado-chart/themes/halo/dark/index.js +0 -6
  474. package/lib/tornado-chart/themes/halo/light/index.js +0 -6
  475. package/lib/tornado-chart/themes/solar/charcoal/index.js +0 -6
  476. package/lib/tornado-chart/themes/solar/pearl/index.js +0 -6
  477. package/lib/tree/elements/tree-item.d.ts +0 -129
  478. package/lib/tree/elements/tree-item.js +0 -238
  479. package/lib/tree/elements/tree.d.ts +0 -203
  480. package/lib/tree/elements/tree.js +0 -414
  481. package/lib/tree/helpers/filter.d.ts +0 -8
  482. package/lib/tree/helpers/filter.js +0 -33
  483. package/lib/tree/helpers/renderer.d.ts +0 -5
  484. package/lib/tree/helpers/renderer.js +0 -33
  485. package/lib/tree/helpers/types.d.ts +0 -25
  486. package/lib/tree/helpers/types.js +0 -1
  487. package/lib/tree/index.d.ts +0 -4
  488. package/lib/tree/index.js +0 -3
  489. package/lib/tree/managers/tree-manager.d.ts +0 -248
  490. package/lib/tree/managers/tree-manager.js +0 -395
  491. package/lib/tree/themes/halo/dark/index.js +0 -7
  492. package/lib/tree/themes/halo/light/index.js +0 -7
  493. package/lib/tree/themes/solar/charcoal/index.js +0 -7
  494. package/lib/tree/themes/solar/pearl/index.js +0 -7
  495. package/lib/tree-select/helpers/types.d.ts +0 -4
  496. package/lib/tree-select/helpers/types.js +0 -1
  497. package/lib/tree-select/index.d.ts +0 -404
  498. package/lib/tree-select/index.js +0 -891
  499. package/lib/tree-select/themes/halo/dark/index.js +0 -11
  500. package/lib/tree-select/themes/halo/light/index.js +0 -11
  501. package/lib/tree-select/themes/solar/charcoal/index.js +0 -11
  502. package/lib/tree-select/themes/solar/pearl/index.js +0 -11
  503. package/lib/version.d.ts +0 -1
  504. package/lib/version.js +0 -1
@@ -1,935 +0,0 @@
1
- var OverlayMenu_1;
2
- import { __decorate } from "tslib";
3
- import { html, css, WarningNotice } from '@refinitiv-ui/core';
4
- import { customElement } from '@refinitiv-ui/core/lib/decorators/custom-element.js';
5
- import { property } from '@refinitiv-ui/core/lib/decorators/property.js';
6
- import { ifDefined } from '@refinitiv-ui/core/lib/directives/if-defined.js';
7
- import { VERSION } from '../version.js';
8
- import { AnimationTaskRunner } from '@refinitiv-ui/utils/lib/async.js';
9
- import { CollectionComposer } from '@refinitiv-ui/utils/lib/collection.js';
10
- import { uuid } from '@refinitiv-ui/utils/lib/uuid.js';
11
- import '../icon/index.js';
12
- import '../item/index.js';
13
- import { Item } from '../item/index.js';
14
- import { Overlay } from '../overlay/index.js';
15
- import { applyLock } from '../overlay/managers/interaction-lock-manager.js';
16
- import { OpenedMenusManager } from './managers/menu-manager.js';
17
- /**
18
- * Overlay that supports single-level and multi-level menus
19
- * @fires item-trigger - Dispatched when user clicks on item
20
- * @fires opened-changed - Dispatched when when opened attribute changes internally. Prevent default to stop opening/closing pipeline
21
- *
22
- * @attr {boolean} opened - True if the menu is currently displayed
23
- * @prop {boolean} [opened=false] - True if the menu is currently displayed
24
- *
25
- * @attr {boolean} with-backdrop - True to show backdrop
26
- * @prop {boolean} [withBackdrop=false] - True to show backdrop
27
- *
28
- * @attr {boolean} no-cancel-on-esc-key - Set to true to disable canceling the overlay with the ESC key
29
- * @prop {boolean} [noCancelOnEscKey=false] - Set to true to disable canceling the overlay with the ESC key
30
- *
31
- * @attr {boolean} no-cancel-on-outside-click - Set to true to disable canceling the overlay by clicking outside it
32
- * @prop {boolean} [noCancelOnOutsideClick=false] - Set to true to disable canceling the overlay by clicking outside it
33
- *
34
- * @attr {boolean} lock-position-target - Set to true to lock position target
35
- * @prop {boolean} [lockPositionTarget=false] - Set to true to lock position target
36
- *
37
- * @prop {HTMLElement | null} [positionTarget=null] - Position next to the HTML element
38
- *
39
- * @attr {string} transition-style - Set the transition style
40
- * @prop {string | null} [transitionStyle=null] - Set the transition style
41
- *
42
- * @prop {string} [value=""] - Returns the first selected item from values.
43
- *
44
- * @attr {number | undefined} x - Set a specific x coordinate
45
- * @prop {number | undefined} x - Set a specific x coordinate
46
- *
47
- * @attr {number | undefined} y - Set a specific y coordinate
48
- * @prop {number | undefined} y - Set a specific y coordinate
49
- *
50
- * @attr {number} horizontal-offset - A pixel value that will be added to the position calculated on the horizontal axis. The offset will be applied either to the `left` or `right` depending on the `positionTarget`
51
- * @prop {number} [horizontalOffset=0] - A pixel value that will be added to the position calculated on the horizontal axis. The offset will be applied either to the `left` or `right` depending on the `positionTarget`
52
- *
53
- * @attr {number} vertical-offset - A pixel value that will be added to the position calculated on the vertical axis. The offset will be applied either to the `top` or `bottom` depending on the `positionTarget`
54
- * @prop {number} [verticalOffset=0] - A pixel value that will be added to the position calculated on the vertical axis. The offset will be applied either to the `top` or `bottom` depending on the `positionTarget`
55
- *
56
- * @attr {number} offset - A pixel value that will be added to the position calculated on the vertical or horizontal axis. The offset is applied dynamically depending on the `positionTarget`
57
- * @prop {number} offset - A pixel value that will be added to the position calculated on the vertical or horizontal axis. The offset is applied dynamically depending on the `positionTarget`
58
- *
59
- * @attr {Position[] | undefined} position - Set position and align against the attach target.
60
- * @prop {Position[] | undefined} position - Set position and align against the attach target.
61
- */
62
- let OverlayMenu = OverlayMenu_1 = class OverlayMenu extends Overlay {
63
- constructor() {
64
- super();
65
- this.dataDisconnectThrottler = new AnimationTaskRunner();
66
- this.oldInteractiveElements = [];
67
- this.menuIndex = {};
68
- this.composer = new CollectionComposer([]);
69
- this.lazyRendered = false; /* speed up rendering by not populating overlay on first load */
70
- /**
71
- * Switch to compact style menu
72
- */
73
- this.compact = false;
74
- /**
75
- * A flag indicating that the menu is nested
76
- * Used for styling
77
- */
78
- this.nested = false;
79
- /**
80
- * @ignore
81
- */
82
- this.withShadow = true;
83
- /**
84
- * @ignore
85
- */
86
- this.lockPositionTarget = true;
87
- /**
88
- * @ignore
89
- */
90
- this.focusBoundary = null;
91
- /**
92
- * @ignore
93
- */
94
- this.position = ['bottom-start', 'top-start'];
95
- /**
96
- * @ignore
97
- */
98
- this.toItem = this.toItem.bind(this);
99
- /**
100
- * @ignore
101
- */
102
- this.modificationUpdate = this.modificationUpdate.bind(this);
103
- }
104
- /**
105
- * Element version number
106
- * @returns version number
107
- */
108
- static get version() {
109
- return VERSION;
110
- }
111
- /**
112
- * A `CSSResultGroup` that will be used
113
- * to style the host, slotted children
114
- * and the internal template of the element.
115
- * @return CSS template
116
- */
117
- static get styles() {
118
- return [
119
- super.styles,
120
- css `
121
- :host {
122
- overflow-y: auto;
123
- overflow-x: hidden;
124
- }
125
- :host([compact]:not([active])) { /* active is set in menu-manager */
126
- opacity: 0;
127
- }
128
- `
129
- ];
130
- }
131
- /**
132
- * Array of item's values
133
- * @type {string[]}
134
- * @default []
135
- */
136
- get values() {
137
- return this.withData ? this.getDataValues() : this.getSlottedValues();
138
- }
139
- set values(values) {
140
- const oldValues = this.values;
141
- if (String(values) === String(oldValues)) {
142
- return;
143
- }
144
- this.withData ? this.setDataValues(values) : this.setSlottedValues(values);
145
- this.requestUpdate('values', oldValues);
146
- }
147
- /**
148
- * Returns the first selected item value.
149
- */
150
- get value() {
151
- return this.values.length > 0 ? this.values[0] : '';
152
- }
153
- set value(value) {
154
- const valueToString = String(value);
155
- this.values = valueToString && value !== null ? [valueToString] : [];
156
- }
157
- /**
158
- * Construct the menu from data object.
159
- * Cannot be used with internal content
160
- * @type {OverlayMenuData|undefined}
161
- */
162
- get data() {
163
- return this._data;
164
- }
165
- set data(value) {
166
- const oldValue = this._data;
167
- if (oldValue === value) {
168
- return;
169
- }
170
- else if (Array.isArray(value)) {
171
- value.forEach(function (item) {
172
- if (item && item.value !== undefined && item.value !== null) {
173
- item.value = String(item.value);
174
- }
175
- });
176
- this.composer = new CollectionComposer(value);
177
- }
178
- else if (value instanceof CollectionComposer) {
179
- this.composer = value;
180
- }
181
- else {
182
- new WarningNotice('ef-overlay-menu: invalid data provided').show();
183
- this.composer = new CollectionComposer([]);
184
- }
185
- this._data = value;
186
- this.composer.on('modification', // Listen for modifications
187
- this.modificationUpdate // Update the template
188
- );
189
- this.requestUpdate('data', oldValue);
190
- }
191
- /**
192
- * Get values from data collection
193
- * @returns data values
194
- */
195
- getDataValues() {
196
- const items = this.getDataDescendants();
197
- const selected = items.filter(item => this.composer.getItemPropertyValue(item, 'selected') === true);
198
- return selected.map(item => this.composer.getItemPropertyValue(item, 'value') || '');
199
- }
200
- /**
201
- * Set values to data collection
202
- * @param values data values
203
- * @returns {void}
204
- */
205
- setDataValues(values) {
206
- const items = this.getDataDescendants();
207
- items.forEach(item => {
208
- const value = this.composer.getItemPropertyValue(item, 'value') || '';
209
- const found = values.some(userValue => String(userValue) === value);
210
- this.composer.setItemPropertyValue(item, 'selected', found);
211
- });
212
- }
213
- /**
214
- * Get values from slotted element collection
215
- * @returns slotted item values
216
- */
217
- getSlottedValues() {
218
- const items = this.getSlottedDescendants();
219
- const selected = items.filter(item => item.selected === true);
220
- return selected.map(item => item.value);
221
- }
222
- /**
223
- * Set values to slotted elements
224
- * @param values element values
225
- * @returns {void}
226
- */
227
- setSlottedValues(values) {
228
- const items = this.getSlottedDescendants();
229
- items.forEach(item => {
230
- item.selected = values.includes(item.value);
231
- });
232
- }
233
- /**
234
- * A flag to check whether menu is constructed from data
235
- * or from slotted content
236
- * It is not possible to combine two
237
- */
238
- get withData() {
239
- return this._data !== undefined;
240
- }
241
- /**
242
- * True if menu is fully opened and is currently in focus
243
- */
244
- get isActive() {
245
- return this.fullyOpened && OpenedMenusManager.isActiveMenu(this);
246
- }
247
- /**
248
- * Get descendant as data item
249
- * Valid only for CC
250
- * @returns descendant data item
251
- */
252
- getDataDescendants() {
253
- return (this.parentDataItem
254
- ? this.composer.getItemDescendants(this.parentDataItem, Infinity)
255
- : this.composer.queryItems(() => true, Infinity));
256
- }
257
- /**
258
- * Get descendant as item
259
- * Valid only for slotted
260
- * @param [parent=this] parent menu
261
- * @returns descendant item
262
- */
263
- getSlottedDescendants(parent = this) {
264
- const items = parent.children;
265
- const descendants = [];
266
- for (let i = 0; i < items.length; i += 1) {
267
- const item = items[i];
268
- if (item instanceof Item) {
269
- descendants.push(item);
270
- if (item.for) {
271
- const menu = document.getElementById(item.for);
272
- if (menu && menu instanceof OverlayMenu_1) {
273
- descendants.push(...this.getSlottedDescendants(menu));
274
- }
275
- }
276
- }
277
- }
278
- return descendants;
279
- }
280
- /**
281
- * Filter items out of children
282
- */
283
- get items() {
284
- const children = this.withData ? this.renderRoot.children : this.children;
285
- const items = [];
286
- for (let i = 0; i < children.length; i += 1) {
287
- const item = children[i];
288
- if (item instanceof Item && this.isHighlightable(item)) {
289
- items.push(item);
290
- }
291
- }
292
- return items;
293
- }
294
- /**
295
- * Invoked when a component is removed from the document’s DOM.
296
- * @return {void}
297
- */
298
- disconnectedCallback() {
299
- super.disconnectedCallback();
300
- this.disconnectNestedMenus();
301
- }
302
- /**
303
- * Called when the element’s DOM has been updated and rendered
304
- * @param changedProperties Properties that has changed
305
- * @returns shouldUpdate
306
- */
307
- shouldUpdate(changedProperties) {
308
- const shouldUpdate = super.shouldUpdate(changedProperties);
309
- return shouldUpdate
310
- || changedProperties.size === 0 /* this is to support empty requestUpdate() */
311
- || changedProperties.has('values')
312
- || changedProperties.has('data')
313
- || (this.opened && changedProperties.has('compact'))
314
- || (this.opened && changedProperties.has('modification'));
315
- }
316
- /**
317
- * Reflects property values to attributes and calls render to render DOM via lit-html.
318
- * @param changedProperties Properties which have changed
319
- * @return {void}
320
- */
321
- update(changedProperties) {
322
- if (changedProperties.has('opened')) {
323
- if (this.opened) {
324
- this.opening();
325
- }
326
- else {
327
- this.closing();
328
- }
329
- }
330
- if (changedProperties.has('data')) {
331
- this.constructDataMenus();
332
- }
333
- if (changedProperties.has('opened') && this.opened) {
334
- this.lazyRendered = true;
335
- }
336
- super.update(changedProperties);
337
- }
338
- /**
339
- * Called after the component is first rendered
340
- * @param changedProperties Properties which have changed
341
- * @return {void}
342
- */
343
- firstUpdated(changedProperties) {
344
- super.firstUpdated(changedProperties);
345
- this.addEventListener('keydown', this.onKeyDown);
346
- this.addEventListener('keyup', this.onKeyUp);
347
- this.renderRoot.addEventListener('tap', (event) => this.onItemTap(event));
348
- this.renderRoot.addEventListener('mousemove', (event) => this.onItemMouseMove(event)); /* listen shadow root to support data */
349
- }
350
- /**
351
- * Called after render life-cycle finished
352
- * @param changedProperties Properties which have changed
353
- * @return {void}
354
- */
355
- updated(changedProperties) {
356
- super.updated(changedProperties);
357
- if (changedProperties.has('data')) {
358
- // Manages items constructed by constructDataMenus after they have been rendered
359
- this.onDataChange();
360
- }
361
- }
362
- /**
363
- * Run when the overlay has closed, managers are de-registered
364
- * and closing transition has finished
365
- * @return {void}
366
- */
367
- onClosed() {
368
- // do not keep light DOM nodes and disconnect on next render
369
- this.dataDisconnectThrottler.schedule(() => {
370
- this.disconnectNestedMenus();
371
- });
372
- this.setItemHighlight();
373
- this.restoreNestedProperties();
374
- super.onClosed();
375
- }
376
- /**
377
- * Restore properties back to original before bounding to parent menu
378
- * @returns {void}
379
- */
380
- restoreNestedProperties() {
381
- if (this.nested) {
382
- this.nested = false;
383
- this.position = this.oldPosition;
384
- this.positionTarget = this.oldPositionTarget;
385
- this.interactiveElements = this.oldInteractiveElements;
386
- this.oldPositionTarget = undefined;
387
- this.oldPosition = undefined;
388
- this.oldInteractiveElements = [];
389
- }
390
- }
391
- /**
392
- * Selects all data from CollectionComposer
393
- * @return all MenuItems stored in CollectionComposer
394
- */
395
- getAllComposedData() {
396
- const items = this.parentDataItem
397
- ? this.composer.getItemChildren(this.parentDataItem)
398
- : this.composer.queryItems(() => true, 0);
399
- return items;
400
- }
401
- /**
402
- * Get menu depth from the collection composer
403
- * @returns depth
404
- */
405
- getDataDepth() {
406
- return this.parentDataItem ? this.composer.getItemDepth(this.parentDataItem) + 1 : 0;
407
- }
408
- /**
409
- * Run while overlay is opening
410
- * @return {void}
411
- */
412
- opening() {
413
- const parentMenuItem = OpenedMenusManager.getParentMenuItem(this);
414
- this.dataDisconnectThrottler.cancel();
415
- this.restoreNestedProperties();
416
- if (parentMenuItem) {
417
- this.nested = true;
418
- this.noCancelOnOutsideClick = true;
419
- this.oldPositionTarget = this.positionTarget;
420
- this.oldInteractiveElements = this.interactiveElements;
421
- this.oldPosition = this.position;
422
- let parentMenu = OpenedMenusManager.getParentMenu(this);
423
- if (!this.compact) {
424
- this.positionTarget = parentMenuItem;
425
- const interactiveElements = [];
426
- while (parentMenu) {
427
- interactiveElements.push(parentMenu, ...parentMenu.interactiveElements);
428
- parentMenu = OpenedMenusManager.getParentMenu(parentMenu);
429
- }
430
- this.interactiveElements = (this.oldInteractiveElements || []).concat(interactiveElements);
431
- this.position = ['right-start', 'left-start'];
432
- }
433
- else {
434
- this.positionTarget = parentMenu === null || parentMenu === void 0 ? void 0 : parentMenu.positionTarget;
435
- this.position = parentMenu === null || parentMenu === void 0 ? void 0 : parentMenu.position;
436
- }
437
- // Managers are applied in shouldUpdate lifecycles (as not every property causes re-render)
438
- // The process must follow certain order (which is better not to touch)
439
- // `applyLock` fixes a problem when changes in properties above where not take into account
440
- applyLock();
441
- }
442
- this.registerMenu();
443
- }
444
- /**
445
- * Run while overlay is closing
446
- * @return {void}
447
- */
448
- closing() {
449
- OpenedMenusManager.deregister(this);
450
- }
451
- /**
452
- * Run when modification has happened in CC
453
- * @returns {void}
454
- */
455
- modificationUpdate() {
456
- this.constructDataMenus();
457
- this.requestUpdate();
458
- }
459
- /**
460
- * Construct menu items and nested menus from data object
461
- * @return {void}
462
- */
463
- constructDataMenus() {
464
- const data = this.getAllComposedData();
465
- const depth = this.getDataDepth();
466
- const oldMenuIndex = this.menuIndex;
467
- this.menuIndex = {};
468
- // try to match existing menus via CC
469
- // this is true if modification are done via CC APIs
470
- const findMenuByDataItem = (dataItem) => {
471
- var _a, _b;
472
- const menuId = (((_a = this.composer) === null || _a === void 0 ? void 0 : _a.getItemPropertyValue(dataItem, 'for')) || '');
473
- return (_b = oldMenuIndex[menuId]) === null || _b === void 0 ? void 0 : _b.menu;
474
- };
475
- // try to match existing menus by item value and depth
476
- // this happens if new data has been supplied, which might be identical
477
- const findMenuByDataId = (id) => {
478
- for (const menuId in oldMenuIndex) {
479
- const { menu, dataId } = oldMenuIndex[menuId];
480
- if (dataId === id) {
481
- return menu;
482
- }
483
- }
484
- };
485
- data.forEach((dataItem, index) => {
486
- var _a;
487
- // has menu
488
- if (dataItem.items && dataItem.items.length) {
489
- const dataId = `${dataItem.value || index}-${depth}`;
490
- const menu = findMenuByDataItem(dataItem) || findMenuByDataId(dataId) || this.toOverlayMenu();
491
- menu.parentDataItem = dataItem;
492
- menu.data = this.composer;
493
- const menuId = menu.id;
494
- this.menuIndex[menuId] = {
495
- menu,
496
- dataId
497
- };
498
- delete oldMenuIndex[menuId];
499
- (_a = this.composer) === null || _a === void 0 ? void 0 : _a.setItemPropertyValue(dataItem, 'for', menuId);
500
- }
501
- });
502
- // delete all non-required menus
503
- for (const menuId in oldMenuIndex) {
504
- const { menu } = oldMenuIndex[menuId];
505
- if (menu.parentNode) {
506
- menu.parentNode.removeChild(menu);
507
- }
508
- }
509
- }
510
- /**
511
- * Remove all nested menus from the light DOM
512
- * @return {void}
513
- */
514
- disconnectNestedMenus() {
515
- var _a;
516
- for (const menuIndex in this.menuIndex) {
517
- const { menu } = this.menuIndex[menuIndex];
518
- (_a = menu.parentNode) === null || _a === void 0 ? void 0 : _a.removeChild(menu);
519
- }
520
- }
521
- /**
522
- * This function must be called to register menu or menu items
523
- * @return {void}
524
- */
525
- registerMenu() {
526
- if (this.opened) {
527
- OpenedMenusManager.register(this);
528
- }
529
- }
530
- /**
531
- * Fired when mouse move event happens
532
- * @param event Mouse move event
533
- * @return {void}
534
- */
535
- onItemMouseMove(event) {
536
- if (!this.fullyOpened) {
537
- return;
538
- }
539
- const item = this.getItem(event.target);
540
- if (item) {
541
- // set focus on menu to reset item focus
542
- // happens only if move on item
543
- if (this.isActive) {
544
- if (document.activeElement !== this) {
545
- this.focus();
546
- }
547
- else {
548
- const renderRoot = this.renderRoot;
549
- if (renderRoot.activeElement) {
550
- renderRoot.activeElement.blur();
551
- }
552
- }
553
- }
554
- this.setItemHighlight(item);
555
- if (!this.compact) {
556
- this.setOpenedMenu(item);
557
- }
558
- }
559
- }
560
- /**
561
- * Provide keyboard item selection
562
- * @param event Keyup event
563
- * @return {void}
564
- */
565
- onKeyUp(event) {
566
- if (!this.isActive || event.defaultPrevented) {
567
- return;
568
- }
569
- switch (event.key) {
570
- case ' ': // space
571
- case 'Spacebar': // space
572
- case 'Enter':
573
- this.onEnter();
574
- break;
575
- default:
576
- return;
577
- }
578
- event.preventDefault();
579
- }
580
- /**
581
- * Provide keyboard navigation
582
- * @param event Keydown event
583
- * @return {void}
584
- */
585
- onKeyDown(event) {
586
- if (!this.isActive || event.defaultPrevented) {
587
- return;
588
- }
589
- switch (event.key) {
590
- case 'Down':
591
- case 'ArrowDown':
592
- this.focusElement(1, true);
593
- break;
594
- case 'Up':
595
- case 'ArrowUp':
596
- this.focusElement(-1, true);
597
- break;
598
- case 'Left':
599
- case 'ArrowLeft':
600
- this.onArrowLeft();
601
- break;
602
- case 'Right':
603
- case 'ArrowRight':
604
- this.onArrowRight();
605
- break;
606
- case 'Tab':
607
- this.focusElement(event.shiftKey ? -1 : 1, true);
608
- break;
609
- default:
610
- return;
611
- }
612
- event.preventDefault();
613
- }
614
- /**
615
- * Fired when mouse click event happens on the menu.
616
- * @param event Tap event
617
- * @return {void}
618
- */
619
- onItemTap(event) {
620
- const item = this.getItem(event.target);
621
- if (item) {
622
- // set highlighted item for mobile
623
- this.setItemHighlight(item);
624
- this.setOpenedMenu(item);
625
- this.dispatchItemTrigger(item);
626
- }
627
- }
628
- /**
629
- * Dispatch item trigger even
630
- * @param item Menu item
631
- * @returns {void}
632
- */
633
- dispatchItemTrigger(item) {
634
- const event = new CustomEvent('item-trigger', {
635
- detail: {
636
- value: item.value
637
- },
638
- bubbles: true,
639
- composed: true
640
- });
641
- item.dispatchEvent(event);
642
- }
643
- /**
644
- * Run when back item is clicked in compact mode
645
- * @return {void}
646
- */
647
- onBackItemTap() {
648
- if (!this.fullyOpened) {
649
- return;
650
- }
651
- this.setOpened(false);
652
- }
653
- /**
654
- * Run when mouse is over back item in compact mode
655
- * @return {void}
656
- */
657
- onBackItemMouseMove() {
658
- if (!this.fullyOpened) {
659
- return;
660
- }
661
- this.setItemHighlight();
662
- }
663
- /**
664
- * Manually execute click if return key is pressed
665
- * @return {void}
666
- */
667
- onEnter() {
668
- const menuHighlightedItem = this.menuHighlightedItem;
669
- if (menuHighlightedItem) {
670
- this.setOpenedMenu(menuHighlightedItem);
671
- menuHighlightedItem.click();
672
- }
673
- }
674
- /**
675
- * Highlight next or previous highlightable element if present
676
- * @param direction -1 - up/next; 1 - down/previous
677
- * @param [circular=false] Set to true to have circular navigation over items
678
- * @return {void}
679
- */
680
- focusElement(direction, circular = false) {
681
- const menuHighlightedItem = this.menuHighlightedItem;
682
- const children = this.items;
683
- const idx = menuHighlightedItem ? children.indexOf(menuHighlightedItem) : -1;
684
- let focusElement;
685
- if (direction === 1) {
686
- focusElement = idx === -1 ? children[0] : children[idx + 1];
687
- }
688
- else {
689
- focusElement = idx === -1 ? children[children.length - 1] : children[idx - 1];
690
- }
691
- if (circular && !focusElement) {
692
- focusElement = direction === 1 ? children[0] : children[children.length - 1];
693
- }
694
- if (focusElement) {
695
- focusElement.focus();
696
- this.setItemHighlight(focusElement);
697
- focusElement.scrollIntoView(false);
698
- }
699
- }
700
- /**
701
- * Run when left arrow is pressed.
702
- * Close current menu if possible
703
- * @return {void}
704
- */
705
- onArrowLeft() {
706
- if (OpenedMenusManager.isNested(this)) {
707
- this.setOpened(false);
708
- }
709
- }
710
- /**
711
- * Run when right arrow is pressed.
712
- * Open menu if possible
713
- * @return {void}
714
- */
715
- onArrowRight() {
716
- this.setOpenedMenu(this.menuHighlightedItem);
717
- }
718
- /**
719
- * Open/close nested menu
720
- * @param menuItem Item to open/close menu for. Undefined to close all opened nested menus
721
- * @return {void}
722
- */
723
- setOpenedMenu(menuItem) {
724
- const menu = menuItem && menuItem.for && this.menuIndex[menuItem.for] ? this.menuIndex[menuItem.for].menu : undefined;
725
- menu && this.insertNestedMenu(menu);
726
- OpenedMenusManager.toggleNestedMenuFor(this, menuItem);
727
- }
728
- /**
729
- * Highlight an item with all ancestors to the top menu
730
- * @param [item] An item to highlight
731
- * @return {void}
732
- */
733
- setItemHighlight(item) {
734
- if (this.menuHighlightedItem === item) {
735
- return;
736
- }
737
- if (this.menuHighlightedItem) {
738
- this.menuHighlightedItem.highlighted = false;
739
- }
740
- this.menuHighlightedItem = item;
741
- if (item) {
742
- item.highlighted = true;
743
- }
744
- }
745
- /**
746
- * Check whether an item can be highlighted
747
- * @param item Item to check
748
- * @return true of the item can be highlighted
749
- */
750
- isHighlightable(item) {
751
- return item.highlightable && !!item.offsetHeight;
752
- }
753
- /**
754
- * Get first ef-item in the ancestor tree
755
- * @param target HTML element to start searching from
756
- * @return item item if found
757
- */
758
- getItem(target) {
759
- if (!target) {
760
- return null;
761
- }
762
- let node = target;
763
- const items = this.items;
764
- while (node) {
765
- if (node instanceof Item && items.includes(node)) {
766
- return node;
767
- }
768
- if (node === this) {
769
- return null;
770
- }
771
- node = node.parentNode;
772
- }
773
- return null;
774
- }
775
- /**
776
- * Run when `data` collection has been set or updated
777
- * @return {void}
778
- */
779
- onDataChange() {
780
- // OpenedMenusManager.toggleNestedMenuFor(this);
781
- this.onMenuReHighlight();
782
- }
783
- /**
784
- * Run when the default slot items have changed
785
- * @return {void}
786
- */
787
- onSlotChange() {
788
- // closes opened child menu if any
789
- // OpenedMenusManager.toggleNestedMenuFor(this);
790
- this.onMenuReHighlight();
791
- }
792
- /**
793
- * If data has changed, try to keep the highlighted item unless
794
- * highlighted item has been removed itself
795
- * @returns {void}
796
- */
797
- onMenuReHighlight() {
798
- const highlighted = this.menuHighlightedItem;
799
- if (highlighted && !this.items.includes(highlighted)) {
800
- this.setItemHighlight();
801
- }
802
- }
803
- /**
804
- * Insert nested menu if it is not attached
805
- * For `data` menus only
806
- * @param menu Menu element
807
- * @return {void}
808
- */
809
- insertNestedMenu(menu) {
810
- if (menu.parentNode || !this.parentNode) {
811
- return;
812
- }
813
- if (this.nextElementSibling) {
814
- this.parentNode.insertBefore(menu, this.nextElementSibling);
815
- }
816
- else {
817
- this.parentNode.appendChild(menu);
818
- }
819
- }
820
- /**
821
- * Create overlay menu from items
822
- * Inherit properties from current menu
823
- * @return menu element
824
- */
825
- toOverlayMenu() {
826
- const menu = document.createElement('ef-overlay-menu');
827
- menu.transitionStyle = this.transitionStyle;
828
- menu.noCancelOnOutsideClick = true;
829
- menu.compact = this.compact;
830
- menu.id = uuid();
831
- return menu;
832
- }
833
- /**
834
- * Create template for menu item
835
- * @param item JSON object to parse
836
- * @return template result
837
- */
838
- toItem(item) {
839
- const composer = this.composer;
840
- const type = composer.getItemPropertyValue(item, 'type');
841
- if (type === 'divider') {
842
- return html `<ef-item type="divider"></ef-item>`;
843
- }
844
- const tooltip = composer.getItemPropertyValue(item, 'tooltip');
845
- const label = composer.getItemPropertyValue(item, 'label');
846
- const icon = composer.getItemPropertyValue(item, 'icon');
847
- if (type === 'header') {
848
- return html `<ef-item
849
- type="header"
850
- title=${ifDefined(tooltip || undefined)}
851
- .label=${label}
852
- .icon=${icon}></ef-item>`;
853
- }
854
- const disabled = composer.getItemPropertyValue(item, 'disabled');
855
- const selected = composer.getItemPropertyValue(item, 'selected');
856
- const readonly = composer.getItemPropertyValue(item, 'readonly');
857
- const subLabel = composer.getItemPropertyValue(item, 'subLabel');
858
- const value = composer.getItemPropertyValue(item, 'value');
859
- const forMenu = composer.getItemPropertyValue(item, 'for');
860
- const highlighted = composer.getItemPropertyValue(item, 'highlighted');
861
- // type text
862
- return html `<ef-item
863
- title=${ifDefined(tooltip || undefined)}
864
- ?disabled=${disabled}
865
- ?selected=${selected}
866
- ?highlighted=${highlighted}
867
- ?readonly=${readonly}
868
- .label=${label}
869
- .subLabel=${subLabel}
870
- .icon=${icon}
871
- .value=${value}
872
- .for=${ifDefined(forMenu || undefined)}>
873
- </ef-item>`;
874
- }
875
- /**
876
- * Construct items from data
877
- * @returns {TemplateResult} Template result
878
- */
879
- get fromDataItems() {
880
- if (!this.lazyRendered) {
881
- return;
882
- }
883
- return this.getAllComposedData().map(this.toItem);
884
- }
885
- /**
886
- * Construct back item for compact menu
887
- * @returns {TemplateResult} Template result
888
- */
889
- compactBackItem() {
890
- if (!this.compact || !OpenedMenusManager.isNested(this)) {
891
- return undefined;
892
- }
893
- return html `
894
- <ef-item part="menu-back" id="back" label="Back" @tap=${this.onBackItemTap} @mousemove=${this.onBackItemMouseMove}>
895
- <ef-icon slot="left" icon="left"></ef-icon>
896
- </ef-item>
897
- `;
898
- }
899
- /**
900
- * A `TemplateResult` that will be used
901
- * to render the updated internal template.
902
- * @returns {TemplateResult} Render template
903
- */
904
- render() {
905
- /**
906
- * Use JavaScript expressions to include property values in
907
- * the element template.
908
- */
909
- return html `
910
- ${this.compactBackItem()}
911
- ${this.withData ? this.fromDataItems : html `<slot @slotchange=${this.onSlotChange}></slot>`}
912
- `;
913
- }
914
- };
915
- __decorate([
916
- property({ type: Boolean, reflect: true })
917
- ], OverlayMenu.prototype, "compact", void 0);
918
- __decorate([
919
- property({ type: Array, attribute: false })
920
- ], OverlayMenu.prototype, "values", null);
921
- __decorate([
922
- property({ type: String })
923
- ], OverlayMenu.prototype, "value", null);
924
- __decorate([
925
- property({ type: Object, attribute: false })
926
- ], OverlayMenu.prototype, "data", null);
927
- __decorate([
928
- property({ type: Boolean, reflect: true })
929
- ], OverlayMenu.prototype, "nested", void 0);
930
- OverlayMenu = OverlayMenu_1 = __decorate([
931
- customElement('ef-overlay-menu', {
932
- alias: 'emerald-popup-menu'
933
- })
934
- ], OverlayMenu);
935
- export { OverlayMenu };