@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,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 };