@refinitiv-ui/elements 5.12.0-alpha.0 → 5.12.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 (513) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/README.md +4 -4
  3. package/lib/accordion/index.d.ts +76 -0
  4. package/lib/accordion/index.js +136 -0
  5. package/lib/accordion/themes/halo/dark/index.js +3 -0
  6. package/lib/accordion/themes/halo/light/index.js +3 -0
  7. package/lib/accordion/themes/solar/charcoal/index.js +3 -0
  8. package/lib/accordion/themes/solar/pearl/index.js +3 -0
  9. package/lib/appstate-bar/index.d.ts +65 -0
  10. package/lib/appstate-bar/index.js +100 -0
  11. package/lib/appstate-bar/themes/halo/dark/index.js +3 -0
  12. package/lib/appstate-bar/themes/halo/light/index.js +3 -0
  13. package/lib/appstate-bar/themes/solar/charcoal/index.js +3 -0
  14. package/lib/appstate-bar/themes/solar/pearl/index.js +3 -0
  15. package/lib/autosuggest/helpers/types.d.ts +54 -0
  16. package/lib/autosuggest/helpers/types.js +1 -0
  17. package/lib/autosuggest/helpers/utils.d.ts +39 -0
  18. package/lib/autosuggest/helpers/utils.js +75 -0
  19. package/lib/autosuggest/index.d.ts +538 -0
  20. package/lib/autosuggest/index.js +1255 -0
  21. package/lib/autosuggest/themes/halo/dark/index.js +5 -0
  22. package/lib/autosuggest/themes/halo/light/index.js +5 -0
  23. package/lib/autosuggest/themes/solar/charcoal/index.js +5 -0
  24. package/lib/autosuggest/themes/solar/pearl/index.js +5 -0
  25. package/lib/button/index.d.ts +138 -0
  26. package/lib/button/index.js +241 -0
  27. package/lib/button/themes/halo/dark/index.js +3 -0
  28. package/lib/button/themes/halo/light/index.js +3 -0
  29. package/lib/button/themes/solar/charcoal/index.js +3 -0
  30. package/lib/button/themes/solar/pearl/index.js +3 -0
  31. package/lib/button-bar/index.d.ts +125 -0
  32. package/lib/button-bar/index.js +295 -0
  33. package/lib/button-bar/themes/halo/dark/index.js +3 -0
  34. package/lib/button-bar/themes/halo/light/index.js +3 -0
  35. package/lib/button-bar/themes/solar/charcoal/index.js +3 -0
  36. package/lib/button-bar/themes/solar/pearl/index.js +3 -0
  37. package/lib/calendar/constants.d.ts +26 -0
  38. package/lib/calendar/constants.js +28 -0
  39. package/lib/calendar/index.d.ts +412 -0
  40. package/lib/calendar/index.js +1274 -0
  41. package/lib/calendar/locales.d.ts +1 -0
  42. package/lib/calendar/locales.js +41 -0
  43. package/lib/calendar/themes/halo/dark/index.js +3 -0
  44. package/lib/calendar/themes/halo/light/index.js +3 -0
  45. package/lib/calendar/themes/solar/charcoal/index.js +3 -0
  46. package/lib/calendar/themes/solar/pearl/index.js +3 -0
  47. package/lib/calendar/types.d.ts +32 -0
  48. package/lib/calendar/types.js +1 -0
  49. package/lib/calendar/utils.d.ts +42 -0
  50. package/lib/calendar/utils.js +120 -0
  51. package/lib/canvas/index.d.ts +101 -0
  52. package/lib/canvas/index.js +173 -0
  53. package/lib/canvas/themes/halo/dark/index.js +2 -0
  54. package/lib/canvas/themes/halo/light/index.js +2 -0
  55. package/lib/canvas/themes/solar/charcoal/index.js +2 -0
  56. package/lib/canvas/themes/solar/pearl/index.js +2 -0
  57. package/lib/card/helpers/types.d.ts +12 -0
  58. package/lib/card/helpers/types.js +1 -0
  59. package/lib/card/index.d.ts +142 -0
  60. package/lib/card/index.js +248 -0
  61. package/lib/card/themes/halo/dark/index.js +5 -0
  62. package/lib/card/themes/halo/light/index.js +5 -0
  63. package/lib/card/themes/solar/charcoal/index.js +5 -0
  64. package/lib/card/themes/solar/pearl/index.js +5 -0
  65. package/lib/chart/helpers/index.d.ts +2 -0
  66. package/lib/chart/helpers/index.js +2 -0
  67. package/lib/chart/helpers/legend.d.ts +5 -0
  68. package/lib/chart/helpers/legend.js +78 -0
  69. package/lib/chart/helpers/merge.d.ts +15 -0
  70. package/lib/chart/helpers/merge.js +28 -0
  71. package/lib/chart/helpers/types.d.ts +69 -0
  72. package/lib/chart/helpers/types.js +1 -0
  73. package/lib/chart/index.d.ts +187 -0
  74. package/lib/chart/index.js +491 -0
  75. package/lib/chart/plugins/doughnut-center-label.d.ts +3 -0
  76. package/lib/chart/plugins/doughnut-center-label.js +196 -0
  77. package/lib/chart/themes/halo/dark/index.js +4 -0
  78. package/lib/chart/themes/halo/light/index.js +4 -0
  79. package/lib/chart/themes/solar/charcoal/index.js +4 -0
  80. package/lib/chart/themes/solar/pearl/index.js +4 -0
  81. package/lib/checkbox/index.d.ts +97 -0
  82. package/lib/checkbox/index.js +194 -0
  83. package/lib/checkbox/themes/halo/dark/index.js +4 -0
  84. package/lib/checkbox/themes/halo/light/index.js +4 -0
  85. package/lib/checkbox/themes/solar/charcoal/index.js +4 -0
  86. package/lib/checkbox/themes/solar/pearl/index.js +4 -0
  87. package/lib/clock/index.d.ts +321 -0
  88. package/lib/clock/index.js +583 -0
  89. package/lib/clock/themes/halo/dark/index.js +2 -0
  90. package/lib/clock/themes/halo/light/index.js +2 -0
  91. package/lib/clock/themes/solar/charcoal/index.js +2 -0
  92. package/lib/clock/themes/solar/pearl/index.js +2 -0
  93. package/lib/clock/utils/TickManager.d.ts +14 -0
  94. package/lib/clock/utils/TickManager.js +66 -0
  95. package/lib/clock/utils/timestamps.d.ts +6 -0
  96. package/lib/clock/utils/timestamps.js +6 -0
  97. package/lib/collapse/custom-elements.json +4 -2
  98. package/lib/collapse/custom-elements.md +1 -1
  99. package/lib/collapse/index.d.ts +123 -0
  100. package/lib/collapse/index.js +227 -0
  101. package/lib/collapse/themes/halo/dark/index.js +5 -0
  102. package/lib/collapse/themes/halo/light/index.js +5 -0
  103. package/lib/collapse/themes/solar/charcoal/index.js +5 -0
  104. package/lib/collapse/themes/solar/pearl/index.js +5 -0
  105. package/lib/color-dialog/elements/color-palettes.d.ts +52 -0
  106. package/lib/color-dialog/elements/color-palettes.js +101 -0
  107. package/lib/color-dialog/elements/grayscale-palettes.d.ts +67 -0
  108. package/lib/color-dialog/elements/grayscale-palettes.js +161 -0
  109. package/lib/color-dialog/elements/palettes.d.ts +65 -0
  110. package/lib/color-dialog/elements/palettes.js +132 -0
  111. package/lib/color-dialog/helpers/color-helpers.d.ts +16 -0
  112. package/lib/color-dialog/helpers/color-helpers.js +161 -0
  113. package/lib/color-dialog/helpers/value-model.d.ts +75 -0
  114. package/lib/color-dialog/helpers/value-model.js +141 -0
  115. package/lib/color-dialog/index.d.ts +232 -0
  116. package/lib/color-dialog/index.js +459 -0
  117. package/lib/color-dialog/themes/halo/dark/index.js +7 -0
  118. package/lib/color-dialog/themes/halo/light/index.js +7 -0
  119. package/lib/color-dialog/themes/solar/charcoal/index.js +7 -0
  120. package/lib/color-dialog/themes/solar/pearl/index.js +7 -0
  121. package/lib/combo-box/helpers/filter.d.ts +10 -0
  122. package/lib/combo-box/helpers/filter.js +29 -0
  123. package/lib/combo-box/helpers/keyboard-event.d.ts +17 -0
  124. package/lib/combo-box/helpers/keyboard-event.js +19 -0
  125. package/lib/combo-box/helpers/renderer.d.ts +8 -0
  126. package/lib/combo-box/helpers/renderer.js +24 -0
  127. package/lib/combo-box/helpers/types.d.ts +11 -0
  128. package/lib/combo-box/helpers/types.js +1 -0
  129. package/lib/combo-box/index.d.ts +551 -0
  130. package/lib/combo-box/index.js +1183 -0
  131. package/lib/combo-box/themes/halo/dark/index.js +7 -0
  132. package/lib/combo-box/themes/halo/light/index.js +7 -0
  133. package/lib/combo-box/themes/solar/charcoal/index.js +7 -0
  134. package/lib/combo-box/themes/solar/pearl/index.js +7 -0
  135. package/lib/counter/index.d.ts +91 -0
  136. package/lib/counter/index.js +154 -0
  137. package/lib/counter/themes/halo/dark/index.js +3 -0
  138. package/lib/counter/themes/halo/light/index.js +3 -0
  139. package/lib/counter/themes/solar/charcoal/index.js +3 -0
  140. package/lib/counter/themes/solar/pearl/index.js +3 -0
  141. package/lib/counter/utils.d.ts +13 -0
  142. package/lib/counter/utils.js +52 -0
  143. package/lib/datetime-picker/index.d.ts +509 -0
  144. package/lib/datetime-picker/index.js +1175 -0
  145. package/lib/datetime-picker/locales.d.ts +8 -0
  146. package/lib/datetime-picker/locales.js +57 -0
  147. package/lib/datetime-picker/themes/halo/dark/index.js +7 -0
  148. package/lib/datetime-picker/themes/halo/light/index.js +7 -0
  149. package/lib/datetime-picker/themes/solar/charcoal/index.js +7 -0
  150. package/lib/datetime-picker/themes/solar/pearl/index.js +7 -0
  151. package/lib/datetime-picker/types.d.ts +3 -0
  152. package/lib/datetime-picker/types.js +1 -0
  153. package/lib/datetime-picker/utils.d.ts +55 -0
  154. package/lib/datetime-picker/utils.js +92 -0
  155. package/lib/dialog/custom-elements.json +11 -0
  156. package/lib/dialog/custom-elements.md +4 -3
  157. package/lib/dialog/draggable-element.d.ts +14 -0
  158. package/lib/dialog/draggable-element.js +221 -0
  159. package/lib/dialog/index.d.ts +213 -0
  160. package/lib/dialog/index.js +353 -0
  161. package/lib/dialog/themes/halo/dark/index.js +7 -0
  162. package/lib/dialog/themes/halo/light/index.js +7 -0
  163. package/lib/dialog/themes/solar/charcoal/index.js +7 -0
  164. package/lib/dialog/themes/solar/pearl/index.js +7 -0
  165. package/lib/email-field/index.d.ts +80 -0
  166. package/lib/email-field/index.js +86 -0
  167. package/lib/email-field/themes/halo/dark/index.js +3 -0
  168. package/lib/email-field/themes/halo/light/index.js +3 -0
  169. package/lib/email-field/themes/solar/charcoal/index.js +3 -0
  170. package/lib/email-field/themes/solar/pearl/index.js +3 -0
  171. package/lib/events.d.ts +121 -0
  172. package/lib/events.js +1 -0
  173. package/lib/flag/index.d.ts +96 -0
  174. package/lib/flag/index.js +168 -0
  175. package/lib/flag/themes/halo/dark/index.js +2 -0
  176. package/lib/flag/themes/halo/light/index.js +2 -0
  177. package/lib/flag/themes/solar/charcoal/index.js +2 -0
  178. package/lib/flag/themes/solar/pearl/index.js +2 -0
  179. package/lib/flag/utils/FlagLoader.d.ts +47 -0
  180. package/lib/flag/utils/FlagLoader.js +86 -0
  181. package/lib/header/index.d.ts +46 -0
  182. package/lib/header/index.js +73 -0
  183. package/lib/header/themes/halo/dark/index.js +2 -0
  184. package/lib/header/themes/halo/light/index.js +2 -0
  185. package/lib/header/themes/solar/charcoal/index.js +2 -0
  186. package/lib/header/themes/solar/pearl/index.js +2 -0
  187. package/lib/heatmap/helpers/color.d.ts +30 -0
  188. package/lib/heatmap/helpers/color.js +68 -0
  189. package/lib/heatmap/helpers/text.d.ts +26 -0
  190. package/lib/heatmap/helpers/text.js +91 -0
  191. package/lib/heatmap/helpers/track.d.ts +102 -0
  192. package/lib/heatmap/helpers/track.js +160 -0
  193. package/lib/heatmap/helpers/types.d.ts +40 -0
  194. package/lib/heatmap/helpers/types.js +1 -0
  195. package/lib/heatmap/index.d.ts +453 -0
  196. package/lib/heatmap/index.js +1103 -0
  197. package/lib/heatmap/themes/halo/dark/index.js +4 -0
  198. package/lib/heatmap/themes/halo/light/index.js +4 -0
  199. package/lib/heatmap/themes/solar/charcoal/index.js +4 -0
  200. package/lib/heatmap/themes/solar/pearl/index.js +4 -0
  201. package/lib/icon/index.d.ts +90 -0
  202. package/lib/icon/index.js +171 -0
  203. package/lib/icon/themes/halo/dark/index.js +2 -0
  204. package/lib/icon/themes/halo/light/index.js +2 -0
  205. package/lib/icon/themes/solar/charcoal/index.js +2 -0
  206. package/lib/icon/themes/solar/pearl/index.js +2 -0
  207. package/lib/icon/utils/IconLoader.d.ts +52 -0
  208. package/lib/icon/utils/IconLoader.js +93 -0
  209. package/lib/index.d.ts +3 -0
  210. package/lib/index.js +3 -0
  211. package/lib/interactive-chart/helpers/merge.d.ts +15 -0
  212. package/lib/interactive-chart/helpers/merge.js +28 -0
  213. package/lib/interactive-chart/helpers/types.d.ts +45 -0
  214. package/lib/interactive-chart/helpers/types.js +6 -0
  215. package/lib/interactive-chart/index.d.ts +383 -0
  216. package/lib/interactive-chart/index.js +1093 -0
  217. package/lib/interactive-chart/themes/halo/dark/index.js +3 -0
  218. package/lib/interactive-chart/themes/halo/light/index.js +3 -0
  219. package/lib/interactive-chart/themes/solar/charcoal/index.js +3 -0
  220. package/lib/interactive-chart/themes/solar/pearl/index.js +3 -0
  221. package/lib/item/helpers/types.d.ts +57 -0
  222. package/lib/item/helpers/types.js +1 -0
  223. package/lib/item/index.d.ts +159 -0
  224. package/lib/item/index.js +272 -0
  225. package/lib/item/themes/halo/dark/index.js +4 -0
  226. package/lib/item/themes/halo/light/index.js +4 -0
  227. package/lib/item/themes/solar/charcoal/index.js +4 -0
  228. package/lib/item/themes/solar/pearl/index.js +4 -0
  229. package/lib/label/index.d.ts +102 -0
  230. package/lib/label/index.js +245 -0
  231. package/lib/label/themes/halo/dark/index.js +3 -0
  232. package/lib/label/themes/halo/light/index.js +3 -0
  233. package/lib/label/themes/solar/charcoal/index.js +3 -0
  234. package/lib/label/themes/solar/pearl/index.js +3 -0
  235. package/lib/layout/index.d.ts +107 -0
  236. package/lib/layout/index.js +212 -0
  237. package/lib/layout/themes/halo/dark/index.js +2 -0
  238. package/lib/layout/themes/halo/light/index.js +2 -0
  239. package/lib/layout/themes/solar/charcoal/index.js +2 -0
  240. package/lib/layout/themes/solar/pearl/index.js +2 -0
  241. package/lib/led-gauge/index.d.ts +144 -0
  242. package/lib/led-gauge/index.js +438 -0
  243. package/lib/led-gauge/themes/halo/dark/index.js +3 -0
  244. package/lib/led-gauge/themes/halo/light/index.js +3 -0
  245. package/lib/led-gauge/themes/solar/charcoal/index.js +3 -0
  246. package/lib/led-gauge/themes/solar/pearl/index.js +3 -0
  247. package/lib/list/extensible-function.d.ts +8 -0
  248. package/lib/list/extensible-function.js +13 -0
  249. package/lib/list/helpers/list-renderer.d.ts +9 -0
  250. package/lib/list/helpers/list-renderer.js +37 -0
  251. package/lib/list/helpers/types.d.ts +3 -0
  252. package/lib/list/helpers/types.js +1 -0
  253. package/lib/list/index.d.ts +313 -0
  254. package/lib/list/index.js +640 -0
  255. package/lib/list/renderer.d.ts +36 -0
  256. package/lib/list/renderer.js +9 -0
  257. package/lib/list/themes/halo/dark/index.js +3 -0
  258. package/lib/list/themes/halo/light/index.js +3 -0
  259. package/lib/list/themes/solar/charcoal/index.js +3 -0
  260. package/lib/list/themes/solar/pearl/index.js +3 -0
  261. package/lib/loader/index.d.ts +41 -0
  262. package/lib/loader/index.js +61 -0
  263. package/lib/loader/themes/halo/dark/index.js +2 -0
  264. package/lib/loader/themes/halo/light/index.js +2 -0
  265. package/lib/loader/themes/solar/charcoal/index.js +2 -0
  266. package/lib/loader/themes/solar/pearl/index.js +2 -0
  267. package/lib/multi-input/helpers/types.d.ts +11 -0
  268. package/lib/multi-input/helpers/types.js +1 -0
  269. package/lib/multi-input/index.d.ts +301 -0
  270. package/lib/multi-input/index.js +594 -0
  271. package/lib/multi-input/themes/halo/dark/index.js +4 -0
  272. package/lib/multi-input/themes/halo/light/index.js +4 -0
  273. package/lib/multi-input/themes/solar/charcoal/index.js +4 -0
  274. package/lib/multi-input/themes/solar/pearl/index.js +4 -0
  275. package/lib/notification/elements/notification-tray.d.ts +97 -0
  276. package/lib/notification/elements/notification-tray.js +167 -0
  277. package/lib/notification/elements/notification.d.ts +90 -0
  278. package/lib/notification/elements/notification.js +154 -0
  279. package/lib/notification/helpers/status.d.ts +30 -0
  280. package/lib/notification/helpers/status.js +130 -0
  281. package/lib/notification/helpers/types.d.ts +10 -0
  282. package/lib/notification/helpers/types.js +1 -0
  283. package/lib/notification/index.d.ts +2 -0
  284. package/lib/notification/index.js +2 -0
  285. package/lib/notification/themes/halo/dark/index.js +5 -0
  286. package/lib/notification/themes/halo/light/index.js +5 -0
  287. package/lib/notification/themes/solar/charcoal/index.js +5 -0
  288. package/lib/notification/themes/solar/pearl/index.js +5 -0
  289. package/lib/number-field/index.d.ts +339 -0
  290. package/lib/number-field/index.js +741 -0
  291. package/lib/number-field/themes/halo/dark/index.js +3 -0
  292. package/lib/number-field/themes/halo/light/index.js +3 -0
  293. package/lib/number-field/themes/solar/charcoal/index.js +3 -0
  294. package/lib/number-field/themes/solar/pearl/index.js +3 -0
  295. package/lib/overlay/elements/overlay-backdrop.d.ts +46 -0
  296. package/lib/overlay/elements/overlay-backdrop.js +64 -0
  297. package/lib/overlay/elements/overlay-viewport.d.ts +40 -0
  298. package/lib/overlay/elements/overlay-viewport.js +52 -0
  299. package/lib/overlay/elements/overlay.d.ts +408 -0
  300. package/lib/overlay/elements/overlay.js +1426 -0
  301. package/lib/overlay/helpers/functions.d.ts +13 -0
  302. package/lib/overlay/helpers/functions.js +16 -0
  303. package/lib/overlay/helpers/types.d.ts +97 -0
  304. package/lib/overlay/helpers/types.js +16 -0
  305. package/lib/overlay/index.d.ts +2 -0
  306. package/lib/overlay/index.js +1 -0
  307. package/lib/overlay/managers/backdrop-manager.d.ts +45 -0
  308. package/lib/overlay/managers/backdrop-manager.js +96 -0
  309. package/lib/overlay/managers/close-manager.d.ts +54 -0
  310. package/lib/overlay/managers/close-manager.js +138 -0
  311. package/lib/overlay/managers/focus-manager.d.ts +71 -0
  312. package/lib/overlay/managers/focus-manager.js +228 -0
  313. package/lib/overlay/managers/interaction-lock-manager.d.ts +138 -0
  314. package/lib/overlay/managers/interaction-lock-manager.js +375 -0
  315. package/lib/overlay/managers/viewport-manager.d.ts +93 -0
  316. package/lib/overlay/managers/viewport-manager.js +211 -0
  317. package/lib/overlay/managers/zindex-manager.d.ts +80 -0
  318. package/lib/overlay/managers/zindex-manager.js +195 -0
  319. package/lib/overlay/themes/halo/dark/index.js +4 -0
  320. package/lib/overlay/themes/halo/light/index.js +4 -0
  321. package/lib/overlay/themes/solar/charcoal/index.js +4 -0
  322. package/lib/overlay/themes/solar/pearl/index.js +4 -0
  323. package/lib/overlay-menu/helpers/types.d.ts +8 -0
  324. package/lib/overlay-menu/helpers/types.js +1 -0
  325. package/lib/overlay-menu/index.d.ts +387 -0
  326. package/lib/overlay-menu/index.js +935 -0
  327. package/lib/overlay-menu/managers/menu-manager.d.ts +98 -0
  328. package/lib/overlay-menu/managers/menu-manager.js +240 -0
  329. package/lib/overlay-menu/themes/halo/dark/index.js +5 -0
  330. package/lib/overlay-menu/themes/halo/light/index.js +5 -0
  331. package/lib/overlay-menu/themes/solar/charcoal/index.js +5 -0
  332. package/lib/overlay-menu/themes/solar/pearl/index.js +5 -0
  333. package/lib/pagination/index.d.ts +275 -0
  334. package/lib/pagination/index.js +552 -0
  335. package/lib/pagination/themes/halo/dark/index.js +6 -0
  336. package/lib/pagination/themes/halo/light/index.js +6 -0
  337. package/lib/pagination/themes/solar/charcoal/index.js +6 -0
  338. package/lib/pagination/themes/solar/pearl/index.js +6 -0
  339. package/lib/panel/index.d.ts +48 -0
  340. package/lib/panel/index.js +74 -0
  341. package/lib/panel/themes/halo/dark/index.js +2 -0
  342. package/lib/panel/themes/halo/light/index.js +2 -0
  343. package/lib/panel/themes/solar/charcoal/index.js +2 -0
  344. package/lib/panel/themes/solar/pearl/index.js +2 -0
  345. package/lib/password-field/index.d.ts +89 -0
  346. package/lib/password-field/index.js +112 -0
  347. package/lib/password-field/themes/halo/dark/index.js +3 -0
  348. package/lib/password-field/themes/halo/light/index.js +3 -0
  349. package/lib/password-field/themes/solar/charcoal/index.js +3 -0
  350. package/lib/password-field/themes/solar/pearl/index.js +3 -0
  351. package/lib/pill/index.d.ts +97 -0
  352. package/lib/pill/index.js +160 -0
  353. package/lib/pill/themes/halo/dark/index.js +3 -0
  354. package/lib/pill/themes/halo/light/index.js +3 -0
  355. package/lib/pill/themes/solar/charcoal/index.js +3 -0
  356. package/lib/pill/themes/solar/pearl/index.js +3 -0
  357. package/lib/progress-bar/index.d.ts +82 -0
  358. package/lib/progress-bar/index.js +157 -0
  359. package/lib/progress-bar/themes/halo/dark/index.js +2 -0
  360. package/lib/progress-bar/themes/halo/light/index.js +2 -0
  361. package/lib/progress-bar/themes/solar/charcoal/index.js +2 -0
  362. package/lib/progress-bar/themes/solar/pearl/index.js +2 -0
  363. package/lib/radio-button/index.d.ts +123 -0
  364. package/lib/radio-button/index.js +261 -0
  365. package/lib/radio-button/radio-button-registry.d.ts +22 -0
  366. package/lib/radio-button/radio-button-registry.js +93 -0
  367. package/lib/radio-button/themes/halo/dark/index.js +3 -0
  368. package/lib/radio-button/themes/halo/light/index.js +3 -0
  369. package/lib/radio-button/themes/solar/charcoal/index.js +3 -0
  370. package/lib/radio-button/themes/solar/pearl/index.js +3 -0
  371. package/lib/rating/index.d.ts +91 -0
  372. package/lib/rating/index.js +157 -0
  373. package/lib/rating/themes/halo/dark/index.js +2 -0
  374. package/lib/rating/themes/halo/light/index.js +2 -0
  375. package/lib/rating/themes/solar/charcoal/index.js +2 -0
  376. package/lib/rating/themes/solar/pearl/index.js +2 -0
  377. package/lib/search-field/index.d.ts +77 -0
  378. package/lib/search-field/index.js +84 -0
  379. package/lib/search-field/themes/halo/dark/index.js +3 -0
  380. package/lib/search-field/themes/halo/light/index.js +3 -0
  381. package/lib/search-field/themes/solar/charcoal/index.js +3 -0
  382. package/lib/search-field/themes/solar/pearl/index.js +3 -0
  383. package/lib/select/helpers/types.d.ts +3 -0
  384. package/lib/select/helpers/types.js +1 -0
  385. package/lib/select/index.d.ts +396 -0
  386. package/lib/select/index.js +981 -0
  387. package/lib/select/themes/halo/dark/index.js +5 -0
  388. package/lib/select/themes/halo/light/index.js +5 -0
  389. package/lib/select/themes/solar/charcoal/index.js +5 -0
  390. package/lib/select/themes/solar/pearl/index.js +5 -0
  391. package/lib/sidebar-layout/index.d.ts +70 -0
  392. package/lib/sidebar-layout/index.js +134 -0
  393. package/lib/sidebar-layout/themes/halo/dark/index.js +3 -0
  394. package/lib/sidebar-layout/themes/halo/light/index.js +3 -0
  395. package/lib/sidebar-layout/themes/solar/charcoal/index.js +3 -0
  396. package/lib/sidebar-layout/themes/solar/pearl/index.js +3 -0
  397. package/lib/slider/index.d.ts +409 -0
  398. package/lib/slider/index.js +1197 -0
  399. package/lib/slider/themes/halo/dark/index.js +3 -0
  400. package/lib/slider/themes/halo/light/index.js +3 -0
  401. package/lib/slider/themes/solar/charcoal/index.js +3 -0
  402. package/lib/slider/themes/solar/pearl/index.js +3 -0
  403. package/lib/sparkline/index.d.ts +109 -0
  404. package/lib/sparkline/index.js +188 -0
  405. package/lib/sparkline/themes/halo/dark/index.js +2 -0
  406. package/lib/sparkline/themes/halo/light/index.js +2 -0
  407. package/lib/sparkline/themes/solar/charcoal/index.js +2 -0
  408. package/lib/sparkline/themes/solar/pearl/index.js +2 -0
  409. package/lib/swing-gauge/const.d.ts +22 -0
  410. package/lib/swing-gauge/const.js +26 -0
  411. package/lib/swing-gauge/helpers.d.ts +8 -0
  412. package/lib/swing-gauge/helpers.js +105 -0
  413. package/lib/swing-gauge/index.d.ts +296 -0
  414. package/lib/swing-gauge/index.js +764 -0
  415. package/lib/swing-gauge/themes/halo/dark/index.js +3 -0
  416. package/lib/swing-gauge/themes/halo/light/index.js +3 -0
  417. package/lib/swing-gauge/themes/solar/charcoal/index.js +3 -0
  418. package/lib/swing-gauge/themes/solar/pearl/index.js +3 -0
  419. package/lib/swing-gauge/types.d.ts +34 -0
  420. package/lib/swing-gauge/types.js +1 -0
  421. package/lib/tab/custom-elements.json +13 -0
  422. package/lib/tab/custom-elements.md +1 -0
  423. package/lib/tab/index.d.ts +136 -0
  424. package/lib/tab/index.js +236 -0
  425. package/lib/tab/themes/halo/dark/index.js +4 -0
  426. package/lib/tab/themes/halo/light/index.js +4 -0
  427. package/lib/tab/themes/solar/charcoal/index.js +4 -0
  428. package/lib/tab/themes/solar/pearl/index.js +4 -0
  429. package/lib/tab-bar/custom-elements.json +12 -0
  430. package/lib/tab-bar/custom-elements.md +7 -0
  431. package/lib/tab-bar/helpers/animate.d.ts +16 -0
  432. package/lib/tab-bar/helpers/animate.js +53 -0
  433. package/lib/tab-bar/index.d.ts +198 -0
  434. package/lib/tab-bar/index.js +428 -0
  435. package/lib/tab-bar/themes/halo/dark/index.js +4 -0
  436. package/lib/tab-bar/themes/halo/light/index.js +4 -0
  437. package/lib/tab-bar/themes/solar/charcoal/index.js +4 -0
  438. package/lib/tab-bar/themes/solar/pearl/index.js +4 -0
  439. package/lib/text-field/index.d.ts +151 -0
  440. package/lib/text-field/index.js +260 -0
  441. package/lib/text-field/themes/halo/dark/index.js +3 -0
  442. package/lib/text-field/themes/halo/light/index.js +3 -0
  443. package/lib/text-field/themes/solar/charcoal/index.js +3 -0
  444. package/lib/text-field/themes/solar/pearl/index.js +3 -0
  445. package/lib/time-picker/index.d.ts +412 -0
  446. package/lib/time-picker/index.js +898 -0
  447. package/lib/time-picker/themes/halo/dark/index.js +4 -0
  448. package/lib/time-picker/themes/halo/light/index.js +4 -0
  449. package/lib/time-picker/themes/solar/charcoal/index.js +4 -0
  450. package/lib/time-picker/themes/solar/pearl/index.js +4 -0
  451. package/lib/toggle/index.d.ts +87 -0
  452. package/lib/toggle/index.js +153 -0
  453. package/lib/toggle/themes/halo/dark/index.js +2 -0
  454. package/lib/toggle/themes/halo/light/index.js +2 -0
  455. package/lib/toggle/themes/solar/charcoal/index.js +2 -0
  456. package/lib/toggle/themes/solar/pearl/index.js +2 -0
  457. package/lib/tooltip/elements/title-tooltip.d.ts +1 -0
  458. package/lib/tooltip/elements/title-tooltip.js +18 -0
  459. package/lib/tooltip/elements/tooltip-element.d.ts +21 -0
  460. package/lib/tooltip/elements/tooltip-element.js +54 -0
  461. package/lib/tooltip/helpers/overflow-tooltip.d.ts +9 -0
  462. package/lib/tooltip/helpers/overflow-tooltip.js +19 -0
  463. package/lib/tooltip/helpers/renderer.d.ts +8 -0
  464. package/lib/tooltip/helpers/renderer.js +11 -0
  465. package/lib/tooltip/helpers/types.d.ts +23 -0
  466. package/lib/tooltip/helpers/types.js +1 -0
  467. package/lib/tooltip/index.d.ts +232 -0
  468. package/lib/tooltip/index.js +477 -0
  469. package/lib/tooltip/managers/tooltip-manager.d.ts +15 -0
  470. package/lib/tooltip/managers/tooltip-manager.js +140 -0
  471. package/lib/tooltip/themes/halo/dark/index.js +3 -0
  472. package/lib/tooltip/themes/halo/light/index.js +3 -0
  473. package/lib/tooltip/themes/solar/charcoal/index.js +3 -0
  474. package/lib/tooltip/themes/solar/pearl/index.js +3 -0
  475. package/lib/tornado-chart/elements/tornado-chart.d.ts +78 -0
  476. package/lib/tornado-chart/elements/tornado-chart.js +122 -0
  477. package/lib/tornado-chart/elements/tornado-item.d.ts +110 -0
  478. package/lib/tornado-chart/elements/tornado-item.js +207 -0
  479. package/lib/tornado-chart/index.d.ts +2 -0
  480. package/lib/tornado-chart/index.js +2 -0
  481. package/lib/tornado-chart/themes/halo/dark/index.js +6 -0
  482. package/lib/tornado-chart/themes/halo/light/index.js +6 -0
  483. package/lib/tornado-chart/themes/solar/charcoal/index.js +6 -0
  484. package/lib/tornado-chart/themes/solar/pearl/index.js +6 -0
  485. package/lib/tree/elements/tree-item.d.ts +129 -0
  486. package/lib/tree/elements/tree-item.js +238 -0
  487. package/lib/tree/elements/tree.d.ts +203 -0
  488. package/lib/tree/elements/tree.js +414 -0
  489. package/lib/tree/helpers/filter.d.ts +8 -0
  490. package/lib/tree/helpers/filter.js +33 -0
  491. package/lib/tree/helpers/renderer.d.ts +5 -0
  492. package/lib/tree/helpers/renderer.js +33 -0
  493. package/lib/tree/helpers/types.d.ts +25 -0
  494. package/lib/tree/helpers/types.js +1 -0
  495. package/lib/tree/index.d.ts +4 -0
  496. package/lib/tree/index.js +3 -0
  497. package/lib/tree/managers/tree-manager.d.ts +248 -0
  498. package/lib/tree/managers/tree-manager.js +395 -0
  499. package/lib/tree/themes/halo/dark/index.js +7 -0
  500. package/lib/tree/themes/halo/light/index.js +7 -0
  501. package/lib/tree/themes/solar/charcoal/index.js +7 -0
  502. package/lib/tree/themes/solar/pearl/index.js +7 -0
  503. package/lib/tree-select/helpers/types.d.ts +4 -0
  504. package/lib/tree-select/helpers/types.js +1 -0
  505. package/lib/tree-select/index.d.ts +404 -0
  506. package/lib/tree-select/index.js +891 -0
  507. package/lib/tree-select/themes/halo/dark/index.js +11 -0
  508. package/lib/tree-select/themes/halo/light/index.js +11 -0
  509. package/lib/tree-select/themes/solar/charcoal/index.js +11 -0
  510. package/lib/tree-select/themes/solar/pearl/index.js +11 -0
  511. package/lib/version.d.ts +1 -0
  512. package/lib/version.js +1 -0
  513. package/package.json +293 -24
@@ -0,0 +1,2 @@
1
+ export { TornadoChart } from './elements/tornado-chart.js';
2
+ export { TornadoItem } from './elements/tornado-item.js';
@@ -0,0 +1,6 @@
1
+ import '@refinitiv-ui/elements/lib/layout/themes/halo/dark';
2
+ import '@refinitiv-ui/elements/lib/progress-bar/themes/halo/dark';
3
+
4
+ elf.customStyles.define('ef-tornado-chart', ':host{--primary-color:#6678FF;--secondary-color:#6678FF;--responsive-width:450;--primary-color:#6678FF;--secondary-color:#FFFFFF;font-size:12rem}:host [part=legend]{display:flex;justify-content:flex-end;margin-bottom:25px}:host [part=legend-item]{display:inline-flex;overflow:hidden;align-items:center;margin-right:10px}:host [part=legend][vertical]{justify-content:flex-start;flex-wrap:wrap}:host [part=primary-symbol],:host [part=secondary-symbol]{flex:none;width:15px;height:15px;border-radius:1px;margin-right:5px}:host [part=primary-symbol]{background-color:var(--primary-color)}:host [part=secondary-symbol]{background-color:var(--secondary-color)}:host [part=primary-label],:host [part=secondary-label]{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}');
5
+
6
+ elf.customStyles.define('ef-tornado-item', ':host{margin:0;padding:0 5px;--primary-color:var(\'--primary-color\', #6678FF);--secondary-color:var(\'--secondary-color\', #6678FF)}:host(:hover),:host([highlighted]){background-color:rgba(204,204,204,.05)}:host [part=label]{text-align:left;margin:0;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}:host [part=primary-bar],:host [part=secondary-bar]{width:100%;height:20px}:host [part=primary-bar]{color:var(--primary-color);margin-left:50px}:host [part=secondary-bar]{color:var(--secondary-color);margin-right:50px}:host [part=seperator]{height:30px;border-left:2px solid #404040}:host([highlighted]) [part=label],:host([highlighted]) [part=primary-bar],:host([highlighted]) [part=secondary-bar]{font-weight:700}:host([vertical]){border-left:2px solid #404040;padding-bottom:5px}:host([vertical]) [part=label]{margin:3px}:host([vertical]) [part=seperator]{display:none}:host([vertical]) [part=container]{align-items:inherit}:host([vertical]) [part=primary-bar]{margin:0 50px 0 0}:host([vertical]) [part=secondary-bar]{margin:3px 50px 0 0}');
@@ -0,0 +1,6 @@
1
+ import '@refinitiv-ui/elements/lib/layout/themes/halo/light';
2
+ import '@refinitiv-ui/elements/lib/progress-bar/themes/halo/light';
3
+
4
+ elf.customStyles.define('ef-tornado-chart', ':host{--primary-color:#334BFF;--secondary-color:#6678FF;--responsive-width:450;--primary-color:#334BFF;--secondary-color:#000000;font-size:12rem}:host [part=legend]{display:flex;justify-content:flex-end;margin-bottom:25px}:host [part=legend-item]{display:inline-flex;overflow:hidden;align-items:center;margin-right:10px}:host [part=legend][vertical]{justify-content:flex-start;flex-wrap:wrap}:host [part=primary-symbol],:host [part=secondary-symbol]{flex:none;width:15px;height:15px;border-radius:1px;margin-right:5px}:host [part=primary-symbol]{background-color:var(--primary-color)}:host [part=secondary-symbol]{background-color:var(--secondary-color)}:host [part=primary-label],:host [part=secondary-label]{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}');
5
+
6
+ elf.customStyles.define('ef-tornado-item', ':host{margin:0;padding:0 5px;--primary-color:var(\'--primary-color\', #334BFF);--secondary-color:var(\'--secondary-color\', #6678FF)}:host(:hover),:host([highlighted]){background-color:rgba(13,13,13,.05)}:host [part=label]{text-align:left;margin:0;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}:host [part=primary-bar],:host [part=secondary-bar]{width:100%;height:20px}:host [part=primary-bar]{color:var(--primary-color);margin-left:50px}:host [part=secondary-bar]{color:var(--secondary-color);margin-right:50px}:host [part=seperator]{height:30px;border-left:2px solid #d9d9d9}:host([highlighted]) [part=label],:host([highlighted]) [part=primary-bar],:host([highlighted]) [part=secondary-bar]{font-weight:700}:host([vertical]){border-left:2px solid #d9d9d9;padding-bottom:5px}:host([vertical]) [part=label]{margin:3px}:host([vertical]) [part=seperator]{display:none}:host([vertical]) [part=container]{align-items:inherit}:host([vertical]) [part=primary-bar]{margin:0 50px 0 0}:host([vertical]) [part=secondary-bar]{margin:3px 50px 0 0}');
@@ -0,0 +1,6 @@
1
+ import '@refinitiv-ui/elements/lib/layout/themes/solar/charcoal';
2
+ import '@refinitiv-ui/elements/lib/progress-bar/themes/solar/charcoal';
3
+
4
+ elf.customStyles.define('ef-tornado-chart', ':host{--primary-color:#FF9933;--secondary-color:#b35900;--responsive-width:450;--secondary-color:#BEC3CC;font-size:14rem}:host [part=legend]{display:flex;justify-content:flex-end;margin-bottom:25px}:host [part=legend-item]{display:inline-flex;overflow:hidden;align-items:center;margin-right:10px}:host [part=legend][vertical]{justify-content:flex-start;flex-wrap:wrap}:host [part=primary-symbol],:host [part=secondary-symbol]{flex:none;width:15px;height:15px;border-radius:1px;margin-right:5px}:host [part=primary-symbol]{background-color:var(--primary-color)}:host [part=secondary-symbol]{background-color:var(--secondary-color)}:host [part=primary-label],:host [part=secondary-label]{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}');
5
+
6
+ elf.customStyles.define('ef-tornado-item', ':host{margin:0;padding:0 5px;--primary-color:var(\'--primary-color\', #FF9933);--secondary-color:var(\'--secondary-color\', #b35900);--secondary-color:var(\'--secondary-color\', #BEC3CC)}:host(:hover),:host([highlighted]){background-color:rgba(194,194,194,.05)}:host [part=label]{text-align:left;margin:0;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}:host [part=primary-bar],:host [part=secondary-bar]{width:100%;height:20px}:host [part=primary-bar]{color:var(--primary-color);margin-left:50px}:host [part=secondary-bar]{color:var(--secondary-color);margin-right:50px}:host [part=seperator]{height:30px;border-left:2px solid #0a0a0a}:host([highlighted]) [part=label],:host([highlighted]) [part=primary-bar],:host([highlighted]) [part=secondary-bar]{font-weight:700}:host([vertical]){border-left:2px solid #0a0a0a;padding-bottom:5px}:host([vertical]) [part=label]{margin:3px}:host([vertical]) [part=seperator]{display:none}:host([vertical]) [part=container]{align-items:inherit}:host([vertical]) [part=primary-bar]{margin:0 50px 0 0}:host([vertical]) [part=secondary-bar]{margin:3px 50px 0 0}');
@@ -0,0 +1,6 @@
1
+ import '@refinitiv-ui/elements/lib/layout/themes/solar/pearl';
2
+ import '@refinitiv-ui/elements/lib/progress-bar/themes/solar/pearl';
3
+
4
+ elf.customStyles.define('ef-tornado-chart', ':host{--primary-color:#EE7600;--secondary-color:#EE7600;--responsive-width:450;--secondary-color:#BEC3CC;font-size:14rem}:host [part=legend]{display:flex;justify-content:flex-end;margin-bottom:25px}:host [part=legend-item]{display:inline-flex;overflow:hidden;align-items:center;margin-right:10px}:host [part=legend][vertical]{justify-content:flex-start;flex-wrap:wrap}:host [part=primary-symbol],:host [part=secondary-symbol]{flex:none;width:15px;height:15px;border-radius:1px;margin-right:5px}:host [part=primary-symbol]{background-color:var(--primary-color)}:host [part=secondary-symbol]{background-color:var(--secondary-color)}:host [part=primary-label],:host [part=secondary-label]{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}');
5
+
6
+ elf.customStyles.define('ef-tornado-item', ':host{margin:0;padding:0 5px;--primary-color:var(\'--primary-color\', #EE7600);--secondary-color:var(\'--secondary-color\', #EE7600);--secondary-color:var(\'--secondary-color\', #BEC3CC)}:host(:hover),:host([highlighted]){background-color:rgba(72,72,72,.05)}:host [part=label]{text-align:left;margin:0;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}:host [part=primary-bar],:host [part=secondary-bar]{width:100%;height:20px}:host [part=primary-bar]{color:var(--primary-color);margin-left:50px}:host [part=secondary-bar]{color:var(--secondary-color);margin-right:50px}:host [part=seperator]{height:30px;border-left:2px solid #d5d8db}:host([highlighted]) [part=label],:host([highlighted]) [part=primary-bar],:host([highlighted]) [part=secondary-bar]{font-weight:700}:host([vertical]){border-left:2px solid #d5d8db;padding-bottom:5px}:host([vertical]) [part=label]{margin:3px}:host([vertical]) [part=seperator]{display:none}:host([vertical]) [part=container]{align-items:inherit}:host([vertical]) [part=primary-bar]{margin:0 50px 0 0}:host([vertical]) [part=secondary-bar]{margin:3px 50px 0 0}');
@@ -0,0 +1,129 @@
1
+ import { JSXInterface } from '../../jsx';
2
+ import { TemplateResult, ControlElement, PropertyValues } from '@refinitiv-ui/core';
3
+ import '../../icon/index.js';
4
+ import '../../checkbox/index.js';
5
+ import type { TreeDataItem } from '../helpers/types';
6
+ import { CheckedState } from '../managers/tree-manager.js';
7
+ /**
8
+ * Displays a tree list item.
9
+ * Groups display expansion arrows.
10
+ */
11
+ export declare class TreeItem<T extends TreeDataItem = TreeDataItem> extends ControlElement {
12
+ /**
13
+ * Element version number
14
+ * @returns version number
15
+ */
16
+ static get version(): string;
17
+ protected readonly defaultRole: string | null;
18
+ /**
19
+ * Checked state of the item
20
+ */
21
+ checkedState: CheckedState;
22
+ /**
23
+ * Is the item a parent and should it show an expansion toggle?
24
+ */
25
+ parent: boolean;
26
+ /**
27
+ * Display in multiple selection mode
28
+ */
29
+ multiple: boolean;
30
+ /**
31
+ * Expanded state of the item
32
+ */
33
+ expanded: boolean;
34
+ /**
35
+ * Depth of the item
36
+ */
37
+ depth: number;
38
+ /**
39
+ * Label of the item
40
+ */
41
+ label: string;
42
+ /**
43
+ * Icon of the item
44
+ */
45
+ icon: string;
46
+ /**
47
+ * Original data item, used for interacting with the tree manager
48
+ */
49
+ item: T;
50
+ /**
51
+ * Highlighted state of the item.
52
+ * This is for showing which item is currently being interacted with.
53
+ */
54
+ highlighted: boolean;
55
+ /**
56
+ * Template for rendering the indentation element
57
+ */
58
+ protected get indentTemplate(): TemplateResult;
59
+ /**
60
+ * Template for rendering the toggle
61
+ *
62
+ * ! expand-toggle is required for automatically toggling expanded state
63
+ */
64
+ protected get toggleTemplate(): TemplateResult;
65
+ /**
66
+ * Template for rendering the checkbox
67
+ */
68
+ protected get checkboxTemplate(): TemplateResult;
69
+ /**
70
+ * Template for rendering the icon
71
+ */
72
+ protected get iconTemplate(): TemplateResult;
73
+ /**
74
+ * Is the item fully checked?
75
+ */
76
+ protected get checked(): boolean;
77
+ /**
78
+ * Is the checked state indeterminate?
79
+ */
80
+ protected get indeterminate(): boolean;
81
+ /**
82
+ * Handles aria-checked and aria-selected when mode changes
83
+ * aria-checked is used for multiple mode due to tri-state support
84
+ * @returns {void}
85
+ **/
86
+ private multipleChanged;
87
+ /**
88
+ * Handles selected and aria attribute changes
89
+ * @returns {void}
90
+ */
91
+ private checkedChanged;
92
+ /**
93
+ * Handles aria-expanded when expanded state changes
94
+ * @returns {void}
95
+ */
96
+ private expandedChanged;
97
+ /**
98
+ * Called after the component is first rendered
99
+ * @param changedProperties Properties which have changed
100
+ * @returns {void}
101
+ */
102
+ protected firstUpdated(changedProperties: PropertyValues): void;
103
+ /**
104
+ * Invoked whenever the element is updated
105
+ * @param changedProperties Map of changed properties with old values
106
+ * @returns {void}
107
+ */
108
+ protected update(changedProperties: PropertyValues): void;
109
+ /**
110
+ * A `TemplateResult` that will be used
111
+ * to render the updated internal template.
112
+ * @returns Render template
113
+ */
114
+ protected render(): TemplateResult;
115
+ }
116
+
117
+ declare global {
118
+ interface HTMLElementTagNameMap {
119
+ 'ef-tree-item': TreeItem;
120
+ }
121
+
122
+ namespace JSX {
123
+ interface IntrinsicElements {
124
+ 'ef-tree-item': Partial<TreeItem> | JSXInterface.HTMLAttributes<TreeItem>;
125
+ }
126
+ }
127
+ }
128
+
129
+ export {};
@@ -0,0 +1,238 @@
1
+ import { __decorate } from "tslib";
2
+ import { html, ControlElement } from '@refinitiv-ui/core';
3
+ import { customElement } from '@refinitiv-ui/core/lib/decorators/custom-element.js';
4
+ import { property } from '@refinitiv-ui/core/lib/decorators/property.js';
5
+ import { VERSION } from '../../version.js';
6
+ import '../../icon/index.js';
7
+ import { preload } from '../../icon/index.js';
8
+ import '../../checkbox/index.js';
9
+ import { CheckedState } from '../managers/tree-manager.js';
10
+ preload('right');
11
+ const emptyTemplate = html ``;
12
+ /**
13
+ * Displays a tree list item.
14
+ * Groups display expansion arrows.
15
+ */
16
+ let TreeItem = class TreeItem extends ControlElement {
17
+ constructor() {
18
+ super(...arguments);
19
+ this.defaultRole = 'treeitem';
20
+ /**
21
+ * Checked state of the item
22
+ */
23
+ this.checkedState = CheckedState.UNCHECKED;
24
+ /**
25
+ * Is the item a parent and should it show an expansion toggle?
26
+ */
27
+ this.parent = false;
28
+ /**
29
+ * Display in multiple selection mode
30
+ */
31
+ this.multiple = false;
32
+ /**
33
+ * Expanded state of the item
34
+ */
35
+ this.expanded = false;
36
+ /**
37
+ * Depth of the item
38
+ */
39
+ this.depth = 0;
40
+ /**
41
+ * Label of the item
42
+ */
43
+ this.label = '';
44
+ /**
45
+ * Icon of the item
46
+ */
47
+ this.icon = '';
48
+ /**
49
+ * Highlighted state of the item.
50
+ * This is for showing which item is currently being interacted with.
51
+ */
52
+ this.highlighted = false;
53
+ }
54
+ /**
55
+ * Element version number
56
+ * @returns version number
57
+ */
58
+ static get version() {
59
+ return VERSION;
60
+ }
61
+ /**
62
+ * Template for rendering the indentation element
63
+ */
64
+ get indentTemplate() {
65
+ return this.depth ? html `<div part="indent" style="width:${this.depth}em"></div>` : emptyTemplate;
66
+ }
67
+ /**
68
+ * Template for rendering the toggle
69
+ *
70
+ * ! expand-toggle is required for automatically toggling expanded state
71
+ */
72
+ get toggleTemplate() {
73
+ return html `
74
+ <div expand-toggle part="toggle" style="pointer-events:all;visibility:${this.parent ? 'visible' : 'hidden'}">
75
+ <ef-icon part="toggle-icon${this.expanded ? ' toggle-icon-expanded' : ''}" icon="right"></ef-icon>
76
+ </div>
77
+ `;
78
+ }
79
+ /**
80
+ * Template for rendering the checkbox
81
+ */
82
+ get checkboxTemplate() {
83
+ if (!this.multiple) {
84
+ return emptyTemplate;
85
+ }
86
+ return html `
87
+ <ef-checkbox
88
+ part="checkbox"
89
+ tabindex="-1"
90
+ .disabled="${this.disabled}"
91
+ .readonly="${this.readonly}"
92
+ .indeterminate="${this.indeterminate}"
93
+ .checked="${this.checked}"
94
+ style="pointer-events:none">
95
+ </ef-checkbox>
96
+ `;
97
+ }
98
+ /**
99
+ * Template for rendering the icon
100
+ */
101
+ get iconTemplate() {
102
+ if (typeof this.icon === 'undefined') {
103
+ return emptyTemplate;
104
+ }
105
+ return html `<ef-icon part="label-icon" icon="${this.icon}"></ef-icon>`;
106
+ }
107
+ /**
108
+ * Is the item fully checked?
109
+ */
110
+ get checked() {
111
+ return this.checkedState === CheckedState.CHECKED;
112
+ }
113
+ /**
114
+ * Is the checked state indeterminate?
115
+ */
116
+ get indeterminate() {
117
+ return this.checkedState === CheckedState.INDETERMINATE;
118
+ }
119
+ /**
120
+ * Handles aria-checked and aria-selected when mode changes
121
+ * aria-checked is used for multiple mode due to tri-state support
122
+ * @returns {void}
123
+ **/
124
+ multipleChanged() {
125
+ this.removeAttribute(this.multiple ? 'aria-selected' : 'aria-checked');
126
+ this.checkedChanged();
127
+ }
128
+ /**
129
+ * Handles selected and aria attribute changes
130
+ * @returns {void}
131
+ */
132
+ checkedChanged() {
133
+ switch (this.checkedState) {
134
+ case CheckedState.CHECKED:
135
+ this.setAttribute('selected', '');
136
+ this.setAttribute(this.multiple ? 'aria-checked' : 'aria-selected', 'true');
137
+ break;
138
+ case CheckedState.INDETERMINATE:
139
+ this.setAttribute('selected', 'indeterminate');
140
+ this.setAttribute('aria-checked', 'mixed');
141
+ break;
142
+ default:
143
+ this.removeAttribute('selected');
144
+ // In single mode, only children nodes are selectable
145
+ if (this.parent && !this.multiple) {
146
+ this.removeAttribute('aria-selected');
147
+ }
148
+ else {
149
+ this.setAttribute(this.multiple ? 'aria-checked' : 'aria-selected', 'false');
150
+ }
151
+ break;
152
+ }
153
+ }
154
+ /**
155
+ * Handles aria-expanded when expanded state changes
156
+ * @returns {void}
157
+ */
158
+ expandedChanged() {
159
+ if (this.parent) {
160
+ this.setAttribute('aria-expanded', this.expanded ? 'true' : 'false');
161
+ }
162
+ }
163
+ /**
164
+ * Called after the component is first rendered
165
+ * @param changedProperties Properties which have changed
166
+ * @returns {void}
167
+ */
168
+ firstUpdated(changedProperties) {
169
+ super.firstUpdated(changedProperties);
170
+ this.setAttribute('aria-level', String(this.depth + 1));
171
+ }
172
+ /**
173
+ * Invoked whenever the element is updated
174
+ * @param changedProperties Map of changed properties with old values
175
+ * @returns {void}
176
+ */
177
+ update(changedProperties) {
178
+ super.update(changedProperties);
179
+ if (changedProperties.has('checkedState')) {
180
+ this.checkedChanged();
181
+ }
182
+ if (changedProperties.has('multiple') && changedProperties.get('multiple') !== undefined) {
183
+ this.multipleChanged();
184
+ }
185
+ if (changedProperties.has('expanded')) {
186
+ this.expandedChanged();
187
+ }
188
+ }
189
+ /**
190
+ * A `TemplateResult` that will be used
191
+ * to render the updated internal template.
192
+ * @returns Render template
193
+ */
194
+ render() {
195
+ return html `
196
+ ${this.indentTemplate}
197
+ ${this.toggleTemplate}
198
+ ${this.checkboxTemplate}
199
+ ${this.iconTemplate}
200
+ <div part="label">
201
+ <slot>${this.label}</slot>
202
+ </div>
203
+ `;
204
+ }
205
+ };
206
+ __decorate([
207
+ property({ attribute: false })
208
+ ], TreeItem.prototype, "checkedState", void 0);
209
+ __decorate([
210
+ property({ type: Boolean, reflect: true, attribute: 'group' })
211
+ ], TreeItem.prototype, "parent", void 0);
212
+ __decorate([
213
+ property({ type: Boolean, reflect: true })
214
+ ], TreeItem.prototype, "multiple", void 0);
215
+ __decorate([
216
+ property({ type: Boolean })
217
+ ], TreeItem.prototype, "expanded", void 0);
218
+ __decorate([
219
+ property({ type: Number, reflect: true })
220
+ ], TreeItem.prototype, "depth", void 0);
221
+ __decorate([
222
+ property({ type: String })
223
+ ], TreeItem.prototype, "label", void 0);
224
+ __decorate([
225
+ property({ type: String })
226
+ ], TreeItem.prototype, "icon", void 0);
227
+ __decorate([
228
+ property({ attribute: false })
229
+ ], TreeItem.prototype, "item", void 0);
230
+ __decorate([
231
+ property({ reflect: true, type: Boolean })
232
+ ], TreeItem.prototype, "highlighted", void 0);
233
+ TreeItem = __decorate([
234
+ customElement('ef-tree-item', {
235
+ alias: 'coral-tree-item'
236
+ })
237
+ ], TreeItem);
238
+ export { TreeItem };
@@ -0,0 +1,203 @@
1
+ import { JSXInterface } from '../../jsx';
2
+ import { PropertyValues, TapEvent } from '@refinitiv-ui/core';
3
+ import { CollectionComposer } from '@refinitiv-ui/utils/lib/collection.js';
4
+ import { List } from '../../list/index.js';
5
+ import { TreeRenderer } from '../helpers/renderer.js';
6
+ import type { TreeData, TreeDataItem, TreeFilter } from '../helpers/types';
7
+ import { TreeManagerMode } from '../managers/tree-manager.js';
8
+ /**
9
+ * Displays a tree structure
10
+ * to be used for menus and group selections
11
+ *
12
+ * @fires value-changed - Fired when the users changed selection item.
13
+ * @fires expanded-changed - Fired when an item's expanded state has changed.
14
+ *
15
+ * @attr {boolean} [stateless=false] - Disable selections
16
+ * @prop {boolean} [stateless=false] - Disable selections
17
+ *
18
+ */
19
+ export declare class Tree<T extends TreeDataItem = TreeDataItem> extends List<T> {
20
+ /**
21
+ * Element version number
22
+ * @returns version number
23
+ */
24
+ static get version(): string;
25
+ protected readonly defaultRole: string | null;
26
+ /**
27
+ * Tree manager used for manipulation
28
+ */
29
+ private manager;
30
+ /**
31
+ * Allows multiple items to be selected
32
+ */
33
+ multiple: boolean;
34
+ /**
35
+ * Breaks the relationship when multiple
36
+ * selection mode is enabled
37
+ */
38
+ noRelation: boolean;
39
+ /**
40
+ * Query string applied to tree
41
+ */
42
+ query: string;
43
+ /**
44
+ * Custom filter for static data
45
+ * @type {TreeFilter<T> | null}
46
+ * @ignore set to protected for now and need to discuss before set to public API
47
+ */
48
+ protected filter: TreeFilter<T> | null;
49
+ /**
50
+ * Renderer used for generating tree items
51
+ * @type {TreeRenderer}
52
+ */
53
+ renderer: TreeRenderer;
54
+ /**
55
+ * Expands all groups
56
+ * @returns {void}
57
+ */
58
+ expandAll(): void;
59
+ /**
60
+ * Collapses all groups
61
+ * @returns {void}
62
+ */
63
+ collapseAll(): void;
64
+ /**
65
+ * Checks all editable items
66
+ * @returns {void}
67
+ */
68
+ checkAll(): void;
69
+ /**
70
+ * Unchecks all editable items
71
+ * @returns {void}
72
+ */
73
+ uncheckAll(): void;
74
+ /**
75
+ * @override
76
+ * @ignore
77
+ */
78
+ selectItem(item: T): boolean;
79
+ /**
80
+ * Dispatches an event, detailing which item has recently changed it's expanded state.
81
+ * @param item Data item of which the expanded property changed
82
+ * @returns {void}
83
+ */
84
+ protected dispatchExpandedChangedEvent(item: T): void;
85
+ /**
86
+ * Handles tap event when composed path contains
87
+ * an element with an `expand-toggle` attribute.
88
+ * @param event Tap event to try and handle
89
+ * @returns True or False depending if the event was handled
90
+ */
91
+ protected handleExpandCollapse(event: TapEvent): boolean;
92
+ /**
93
+ * @override
94
+ */
95
+ protected onTap(event: TapEvent): void;
96
+ /**
97
+ * @override
98
+ */
99
+ protected onKeyDown(event: KeyboardEvent): void;
100
+ /**
101
+ * Performs left arrow keyboard action,
102
+ * collapsing a group item if possible.
103
+ * @returns {void}
104
+ */
105
+ protected left(): void;
106
+ /**
107
+ * Performs right arrow keyboard action,
108
+ * expanding a group item if possible.
109
+ * @returns {void}
110
+ */
111
+ protected right(): void;
112
+ /**
113
+ * Toggles the expanded state of an item.
114
+ * Executed when a user taps on an item to expand/collapse the group.
115
+ * @param item Original data item
116
+ * @returns {void}
117
+ */
118
+ protected toggleExpandedState(item: T): void;
119
+ /**
120
+ * @override
121
+ */
122
+ protected queryItems(engine: (item: T, composer: CollectionComposer<T>) => boolean): readonly T[];
123
+ /**
124
+ * @override
125
+ */
126
+ protected queryItemsByPropertyValue<K extends keyof T>(property: K, value: T[K]): readonly T[];
127
+ /**
128
+ * @override
129
+ */
130
+ protected update(changedProperties: PropertyValues): void;
131
+ /**
132
+ * Filter the internal items by query changes items' hidden state
133
+ * @returns {void}
134
+ */
135
+ protected filterItems(): void;
136
+ /**
137
+ * Utility method
138
+ * Adds descendants for each item passed
139
+ * @param items List of child items
140
+ * @returns {void}
141
+ */
142
+ protected addItemDescendantsToRender(items: T[]): void;
143
+ /**
144
+ * Utility method
145
+ * Add nested children of item list
146
+ * @param items List of items
147
+ * @param excludeItems List of exclude items
148
+ * @param [includeHidden=false] Include hidden items
149
+ * @returns {void}
150
+ */
151
+ protected addNestedItemsToRender(items: readonly T[], excludeItems: readonly T[], includeHidden?: boolean): void;
152
+ /**
153
+ * Utility method
154
+ * Adds ancestors for each item passed and expand
155
+ * @param items List of child items
156
+ * @returns {void}
157
+ */
158
+ protected addExpandedAncestorsToRender(items: T[]): void;
159
+ /**
160
+ * Utility method
161
+ * Adds parent and expands
162
+ * @param ancestor parent item
163
+ * @returns {void}
164
+ */
165
+ protected addExpandedAncestorToRender(ancestor: T): void;
166
+ /**
167
+ * Selected items in tree
168
+ * @override
169
+ * @type {string[]}
170
+ * @default []
171
+ */
172
+ get values(): string[];
173
+ set values(value: string[]);
174
+ /**
175
+ * Data object to be used for creating tree
176
+ * @override
177
+ * @type {TreeData<T>}
178
+ */
179
+ get data(): TreeData<T>;
180
+ set data(data: TreeData<T>);
181
+ /**
182
+ * @override
183
+ */
184
+ protected get renderItems(): readonly T[];
185
+ /**
186
+ * Mode to use in the tree manager
187
+ */
188
+ protected get mode(): TreeManagerMode;
189
+ }
190
+
191
+ declare global {
192
+ interface HTMLElementTagNameMap {
193
+ 'ef-tree': Tree;
194
+ }
195
+
196
+ namespace JSX {
197
+ interface IntrinsicElements {
198
+ 'ef-tree': Partial<Tree> | JSXInterface.HTMLAttributes<Tree>;
199
+ }
200
+ }
201
+ }
202
+
203
+ export {};