@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,459 @@
1
+ import { __decorate } from "tslib";
2
+ import { html, css, WarningNotice } from '@refinitiv-ui/core';
3
+ import { customElement } from '@refinitiv-ui/core/lib/decorators/custom-element.js';
4
+ import { property } from '@refinitiv-ui/core/lib/decorators/property.js';
5
+ import { query } from '@refinitiv-ui/core/lib/decorators/query.js';
6
+ import { styleMap } from '@refinitiv-ui/core/lib/directives/style-map.js';
7
+ import { rgb } from '@refinitiv-ui/utils/lib/color.js';
8
+ import { VERSION } from '../version.js';
9
+ import { ValueModel } from './helpers/value-model.js';
10
+ import { isHex, removeHashSign } from './helpers/color-helpers.js';
11
+ import '../button/index.js';
12
+ import '../number-field/index.js';
13
+ import '../text-field/index.js';
14
+ import { Dialog } from '../dialog/index.js';
15
+ import './elements/color-palettes.js';
16
+ import './elements/grayscale-palettes.js';
17
+ import { translate } from '@refinitiv-ui/translate';
18
+ import '@refinitiv-ui/phrasebook/lib/locale/en/color-dialog.js';
19
+ /**
20
+ * Displays a colour picker dialog,
21
+ * for selecting a predefined range of colours.
22
+ *
23
+ * @fires value-changed - Fired when the `value` property changes.
24
+ * @fires opened-changed - Fired when the `opened` property changes.
25
+ *
26
+ * @attr {string | null} header - Set Header/Title of the color dialog
27
+ * @prop {string | null} [header=null] - Set Header/Title of the color dialog
28
+ *
29
+ * @attr {boolean} [opened=false] - Set dialog to open
30
+ * @prop {boolean} [opened=false] - Set dialog to open
31
+ *
32
+ * @attr {boolean} [no-cancel-on-esc-key=false] - Prevents dialog to close when user presses ESC key
33
+ * @prop {boolean} [noCancelOnEscKey=false] - Prevents dialog to close when user presses ESC key
34
+ *
35
+ * @attr {string | undefined} x - Set a specific x coordinate of dialog
36
+ * @prop {string | undefined} x - Set a specific x coordinate of dialog
37
+ *
38
+ * @attr {string | undefined} y - Set a specific y coordinate of dialog
39
+ * @prop {string | undefined} y - Set a specific y coordinate of dialog
40
+ *
41
+ * @attr {string | undefined} position-target - Set position of dialog i.e. `top`, `right`, `left`, `bottom`, `center` or combination of theme e.g. `top right`.
42
+ * @prop {string | undefined} positionTarget - Set position of dialog i.e. `top`, `right`, `left`, `bottom`, `center` or combination of theme e.g. `top right`.
43
+ *
44
+ * @prop {boolean} [noCancelOnOutsideClick=true] - Prevents dialog to close when user clicks outside the dialog.
45
+ *
46
+ * @prop {boolean} [withBackdrop=true] - False to hide backdrop.
47
+ *
48
+ * @prop {boolean} [draggable=true] - False to make the dialog not draggable.
49
+ *
50
+ * @prop {boolean} [withShadow=true] - False to remove shadow for dialog component.
51
+ */
52
+ let ColorDialog = class ColorDialog extends Dialog {
53
+ constructor() {
54
+ super(...arguments);
55
+ /**
56
+ * speed up rendering by not populating content on page load
57
+ */
58
+ this.lazyRendered = false;
59
+ /**
60
+ * Color dialog has commit button to update actual values
61
+ * Value model is used to support this functionality
62
+ */
63
+ this.valueModel = new ValueModel();
64
+ /**
65
+ * @ignore
66
+ */
67
+ this.draggable = true;
68
+ /**
69
+ * Set the palettes to activate no-color option
70
+ */
71
+ this.allowNocolor = false;
72
+ this._value = '';
73
+ }
74
+ /**
75
+ * Element version number
76
+ * @returns version number
77
+ */
78
+ static get version() {
79
+ return VERSION;
80
+ }
81
+ /**
82
+ * A `CSSResultGroup` that will be used
83
+ * to style the host, slotted children
84
+ * and the internal template of the element.
85
+ * @return CSS template
86
+ */
87
+ static get styles() {
88
+ return [
89
+ super.styles,
90
+ css `
91
+ :host {
92
+ display: block;
93
+ }
94
+ [part=preview-color][no-color] {
95
+ background: linear-gradient(to bottom right, transparent calc(50% - 2px),
96
+ var(--no-color-line-color, #ff0000) calc(50% - 1px),
97
+ var(--no-color-line-color, #ff0000) calc(50% + 1px),
98
+ transparent calc(50% + 2px));
99
+ }
100
+ `
101
+ ];
102
+ }
103
+ /**
104
+ * Value of selected color from color dialog will be written here as hex value
105
+ * e.g. "#00f" or "#0000ff"
106
+ * @default -
107
+ * @param value A value to set
108
+ */
109
+ set value(value) {
110
+ value = String(value);
111
+ const oldValue = this._value;
112
+ if (!this.isValidValue(value)) {
113
+ value = '';
114
+ }
115
+ this._value = value;
116
+ this.requestUpdate('value', oldValue);
117
+ }
118
+ get value() {
119
+ return this._value;
120
+ }
121
+ /**
122
+ * Value of hex without # sign, supports both 3-digits shorthand hex and regular 6-digits hex
123
+ * @default -
124
+ * @param hex A hex value to set
125
+ */
126
+ set hex(hex) {
127
+ hex = String(hex);
128
+ if (!this.isValidHex(hex)) {
129
+ hex = '';
130
+ }
131
+ this.value = hex ? `#${hex}` : '';
132
+ }
133
+ get hex() {
134
+ const value = this.value;
135
+ return value ? removeHashSign(value) : '';
136
+ }
137
+ /**
138
+ * Red value from 0 to 255
139
+ * @default -
140
+ * @param red Red value
141
+ */
142
+ set red(red) {
143
+ red = String(red);
144
+ this.value = this.isValidRGB(red) ? rgb(Number(red), Number(this.green), Number(this.blue)).formatHex() : '';
145
+ }
146
+ get red() {
147
+ return this.hex ? rgb(`#${this.hex}`).r.toString() : '';
148
+ }
149
+ /**
150
+ * Green value from 0 to 255
151
+ * @default -
152
+ * @param green Green value
153
+ */
154
+ set green(green) {
155
+ green = String(green);
156
+ this.value = this.isValidRGB(green) ? rgb(Number(this.red), Number(green), Number(this.blue)).formatHex() : '';
157
+ }
158
+ get green() {
159
+ return this.hex ? rgb(`#${this.hex}`).g.toString() : '';
160
+ }
161
+ /**
162
+ * Blue value from 0 to 255
163
+ * @default -
164
+ * @param blue Blue value
165
+ */
166
+ set blue(blue) {
167
+ blue = String(blue);
168
+ this.value = this.isValidRGB(blue) ? rgb(Number(this.red), Number(this.green), Number(blue)).formatHex() : '';
169
+ }
170
+ get blue() {
171
+ return this.hex ? rgb(`#${this.hex}`).b.toString() : '';
172
+ }
173
+ /**
174
+ * Check if component should be updated
175
+ * @param changedProperties properties changed on shouldUpdate lifecycle callback
176
+ * @returns boolean should component update
177
+ */
178
+ shouldUpdate(changedProperties) {
179
+ const shouldUpdate = super.shouldUpdate(changedProperties);
180
+ return shouldUpdate
181
+ || changedProperties.has('allowNocolor')
182
+ || changedProperties.has('red')
183
+ || changedProperties.has('green')
184
+ || changedProperties.has('blue')
185
+ || changedProperties.has('value')
186
+ || changedProperties.has('hex')
187
+ || changedProperties.has('enableConfirm');
188
+ }
189
+ /**
190
+ * Updates the element
191
+ * @param changedProperties Properties that has changed
192
+ * @returns {void}
193
+ */
194
+ update(changedProperties) {
195
+ if (changedProperties.has('value')) {
196
+ // ensure that the internal values are always in sync when set externally
197
+ this.resetValueModel();
198
+ }
199
+ if (this.opened && changedProperties.has('opened')) {
200
+ this.lazyRendered = true;
201
+ }
202
+ super.update(changedProperties);
203
+ }
204
+ /**
205
+ * @inheritdoc
206
+ * Reset value model
207
+ * @param opened True if opened
208
+ * @returns {void}
209
+ */
210
+ setOpened(opened) {
211
+ // setOpened is run only from internal context. It is safe to reset it here
212
+ this.resetValueModel();
213
+ super.setOpened(opened);
214
+ }
215
+ /**
216
+ * Reset value model always resets
217
+ * when either red, green, blue, hex or value are changed externally
218
+ * Value model is reset internally otherwise
219
+ * @returns {void}
220
+ */
221
+ resetValueModel() {
222
+ this.valueModel = new ValueModel(this.value);
223
+ }
224
+ /**
225
+ * Check if value is valid HEX value (including #)
226
+ * @param value Value to check
227
+ * @returns true if value is valid
228
+ */
229
+ isValidValue(value) {
230
+ const isValid = value === '' || isHex(value);
231
+ if (!isValid) {
232
+ new WarningNotice(`The specified value "${value}" is not valid value. The correct value should look like "#fff" or "#ffffff".`).show();
233
+ }
234
+ return isValid;
235
+ }
236
+ /**
237
+ * Check if value is valid HEX value (excluding #)
238
+ * @param value Value to check
239
+ * @returns true if value is valid
240
+ */
241
+ isValidHex(value) {
242
+ const isValid = value === '' || (!value.includes('#') && isHex(`#${value}`));
243
+ if (!isValid) {
244
+ new WarningNotice(`The specified hex "${value}" is not valid color. The correct value should look like "fff" or "ffffff".`).show();
245
+ }
246
+ return isValid;
247
+ }
248
+ /**
249
+ * Check if value is within 0 - 255, and warn of it is not
250
+ * @param value Value to check
251
+ * @returns true if value is within 0 - 255
252
+ */
253
+ isValidRGB(value) {
254
+ const isValid = value === '' || Number(value) >= 0 && Number(value) <= 255;
255
+ if (!isValid) {
256
+ new WarningNotice(`The specified RGB "${value}" is not valid color. The value should be 0 - 255.`).show();
257
+ }
258
+ return isValid;
259
+ }
260
+ /**
261
+ * update color value when tapping or dragging on color palettes
262
+ * @param event select color event
263
+ * @return {void}
264
+ */
265
+ onColorChanged(event) {
266
+ this.valueModel.hex = removeHashSign(event.target.value);
267
+ this.requestUpdate();
268
+ }
269
+ /**
270
+ * update hex value when typing on hex input
271
+ * @param event input event
272
+ * @return {void}
273
+ */
274
+ onHexChanged(event) {
275
+ this.valueModel.hex = event.target.value;
276
+ this.requestUpdate();
277
+ }
278
+ /**
279
+ * update r,g,b value when typing on RGB inputs
280
+ * @param event input event
281
+ * @return {void}
282
+ */
283
+ onRGBChanged(event) {
284
+ const targetElem = event.target;
285
+ if (targetElem === this.redInputEl) {
286
+ this.valueModel.red = this.redInputEl.value;
287
+ }
288
+ else if (targetElem === this.greenInputEl) {
289
+ this.valueModel.green = this.greenInputEl.value;
290
+ }
291
+ else if (targetElem === this.blueInputEl) {
292
+ this.valueModel.blue = this.blueInputEl.value;
293
+ }
294
+ this.requestUpdate();
295
+ }
296
+ /**
297
+ * set opened state to false
298
+ * @return {void}
299
+ */
300
+ onCloseDialog() {
301
+ this.setOpened(false);
302
+ }
303
+ /**
304
+ * fired value-changed event and close dialog
305
+ * @return {void}
306
+ */
307
+ onConfirmValue() {
308
+ // no need to check for anything, as the button is disabled if not dirty is invalid
309
+ this.value = this.valueModel.value;
310
+ this.notifyPropertyChange('value', this.value);
311
+ this.setOpened(false);
312
+ }
313
+ /**
314
+ * Check if apply button is disabled
315
+ * The button is disabled if value is invalid
316
+ * or value has not changed
317
+ * @returns {boolean} true if disabled
318
+ */
319
+ isApplyDisabled() {
320
+ return this.valueModel.hasChanged() && this.valueModel.isValid() ? this.allowNocolor ? false : this.valueModel.hex === '' : true;
321
+ }
322
+ /**
323
+ * A `TemplateResult` that will be used
324
+ * to render the updated internal template.
325
+ * @return {TemplateResult} Render template
326
+ */
327
+ get contentRegion() {
328
+ if (!this.lazyRendered) {
329
+ return html ``;
330
+ }
331
+ return html `
332
+ <div part="content-section">
333
+ <div part="palettes-container">
334
+ <ef-color-palettes
335
+ .value=${this.valueModel.value}
336
+ @value-changed=${this.onColorChanged}
337
+ part="color-palettes">
338
+ </ef-color-palettes>
339
+ <ef-grayscale-palettes
340
+ .value=${this.valueModel.value}
341
+ @value-changed=${this.onColorChanged}
342
+ ?allow-nocolor=${this.allowNocolor}
343
+ part="grayscale-palettes"
344
+ >
345
+ </ef-grayscale-palettes>
346
+ </div>
347
+ <div part="inputs-container">
348
+ <div
349
+ part="preview-color"
350
+ style=${styleMap({
351
+ backgroundColor: this.valueModel.value || undefined
352
+ })}
353
+ ?no-color=${!this.valueModel.value}></div>
354
+ <div>${this.t('RED')}&nbsp;:
355
+ <ef-number-field
356
+ .value=${this.valueModel.red}
357
+ @value-changed=${this.onRGBChanged}
358
+ part="color-input"
359
+ min="0"
360
+ max="255"
361
+ no-spinner
362
+ id="redInput"
363
+ ></ef-number-field>
364
+ </div>
365
+ <div>${this.t('GREEN')}&nbsp;:
366
+ <ef-number-field
367
+ .value=${this.valueModel.green}
368
+ @value-changed=${this.onRGBChanged}
369
+ part="color-input"
370
+ min="0"
371
+ max="255"
372
+ no-spinner
373
+ id="greenInput"
374
+ ></ef-number-field>
375
+ </div>
376
+ <div>${this.t('BLUE')}&nbsp;:
377
+ <ef-number-field
378
+ .value=${this.valueModel.blue}
379
+ @value-changed=${this.onRGBChanged}
380
+ part="color-input"
381
+ min="0"
382
+ max="255"
383
+ no-spinner
384
+ id="blueInput"
385
+ ></ef-number-field>
386
+ </div>
387
+ <div>#&nbsp;:
388
+ <ef-text-field
389
+ .value=${this.valueModel.hex}
390
+ @value-changed=${this.onHexChanged}
391
+ pattern="^([0-9a-fA-F]{3}){1,2}$"
392
+ part="color-input"
393
+ id="hexInput"
394
+ maxlength="6">
395
+ </ef-text-field>
396
+ </div>
397
+ </div>
398
+ </div>
399
+ `;
400
+ }
401
+ /**
402
+ * A `TemplateResult` that will be used
403
+ * to render the updated internal template.
404
+ * @return {TemplateResult} Render template
405
+ */
406
+ get footerRegion() {
407
+ if (!this.lazyRendered) {
408
+ return html ``;
409
+ }
410
+ return html `
411
+ <ef-button
412
+ id="confirmButton"
413
+ part="button"
414
+ cta
415
+ @tap=${this.onConfirmValue}
416
+ ?disabled=${this.isApplyDisabled()}>${this.t('APPLY')}</ef-button>
417
+ <ef-button
418
+ id="closeButton"
419
+ @tap=${this.onCloseDialog}
420
+ part="button">${this.t('CLOSE')}</ef-button>
421
+ `;
422
+ }
423
+ };
424
+ __decorate([
425
+ property({ type: Boolean, attribute: 'allow-nocolor' })
426
+ ], ColorDialog.prototype, "allowNocolor", void 0);
427
+ __decorate([
428
+ property({ type: String })
429
+ ], ColorDialog.prototype, "value", null);
430
+ __decorate([
431
+ property({ type: String })
432
+ ], ColorDialog.prototype, "hex", null);
433
+ __decorate([
434
+ property({ type: String })
435
+ ], ColorDialog.prototype, "red", null);
436
+ __decorate([
437
+ property({ type: String })
438
+ ], ColorDialog.prototype, "green", null);
439
+ __decorate([
440
+ property({ type: String })
441
+ ], ColorDialog.prototype, "blue", null);
442
+ __decorate([
443
+ translate()
444
+ ], ColorDialog.prototype, "t", void 0);
445
+ __decorate([
446
+ query('#redInput')
447
+ ], ColorDialog.prototype, "redInputEl", void 0);
448
+ __decorate([
449
+ query('#greenInput')
450
+ ], ColorDialog.prototype, "greenInputEl", void 0);
451
+ __decorate([
452
+ query('#blueInput')
453
+ ], ColorDialog.prototype, "blueInputEl", void 0);
454
+ ColorDialog = __decorate([
455
+ customElement('ef-color-dialog', {
456
+ alias: 'emerald-color-dialog'
457
+ })
458
+ ], ColorDialog);
459
+ export { ColorDialog };
@@ -0,0 +1,7 @@
1
+ import '@refinitiv-ui/elements/lib/text-field/themes/halo/dark';
2
+ import '@refinitiv-ui/elements/lib/number-field/themes/halo/dark';
3
+ import '@refinitiv-ui/elements/lib/button/themes/halo/dark';
4
+ import '@refinitiv-ui/elements/lib/panel/themes/halo/dark';
5
+ import '@refinitiv-ui/elements/lib/dialog/themes/halo/dark';
6
+
7
+ elf.customStyles.define('ef-color-dialog', ':host{width:425px}:host [part=content-section]{display:flex;min-width:0}:host [part=inputs-container]{display:flex;flex-direction:column;align-items:flex-end;padding-left:15px}:host [part=inputs-container]>*{display:flex;align-items:center;margin-bottom:5px}:host [part=color-input],:host [part=preview-color]{touch-action:manipulation;margin:2px;width:100px;box-sizing:border-box}:host [part=preview-color]{border:1px solid #404040;height:24px;margin-bottom:10px}:host [part=palettes-container]{width:100%}:host [part=color-palettes]{width:100%;height:calc(100% - 23px)}:host [part=grayscale-palettes]{height:23px}:host [part=color-palettes],:host [part=grayscale-palettes]{touch-action:manipulation}:host [part=footer]{display:flex;justify-content:flex-end;align-items:center}:host [part=button]{touch-action:manipulation;margin:8px}:host [part=button]:first-child{margin-right:0}');
@@ -0,0 +1,7 @@
1
+ import '@refinitiv-ui/elements/lib/text-field/themes/halo/light';
2
+ import '@refinitiv-ui/elements/lib/number-field/themes/halo/light';
3
+ import '@refinitiv-ui/elements/lib/button/themes/halo/light';
4
+ import '@refinitiv-ui/elements/lib/panel/themes/halo/light';
5
+ import '@refinitiv-ui/elements/lib/dialog/themes/halo/light';
6
+
7
+ elf.customStyles.define('ef-color-dialog', ':host{width:425px}:host [part=content-section]{display:flex;min-width:0}:host [part=inputs-container]{display:flex;flex-direction:column;align-items:flex-end;padding-left:15px}:host [part=inputs-container]>*{display:flex;align-items:center;margin-bottom:5px}:host [part=color-input],:host [part=preview-color]{touch-action:manipulation;margin:2px;width:100px;box-sizing:border-box}:host [part=preview-color]{border:1px solid #595959;height:24px;margin-bottom:10px}:host [part=palettes-container]{width:100%}:host [part=color-palettes]{width:100%;height:calc(100% - 23px)}:host [part=grayscale-palettes]{height:23px}:host [part=color-palettes],:host [part=grayscale-palettes]{touch-action:manipulation}:host [part=footer]{display:flex;justify-content:flex-end;align-items:center}:host [part=button]{touch-action:manipulation;margin:8px}:host [part=button]:first-child{margin-right:0}');
@@ -0,0 +1,7 @@
1
+ import '@refinitiv-ui/elements/lib/text-field/themes/solar/charcoal';
2
+ import '@refinitiv-ui/elements/lib/number-field/themes/solar/charcoal';
3
+ import '@refinitiv-ui/elements/lib/button/themes/solar/charcoal';
4
+ import '@refinitiv-ui/elements/lib/panel/themes/solar/charcoal';
5
+ import '@refinitiv-ui/elements/lib/dialog/themes/solar/charcoal';
6
+
7
+ elf.customStyles.define('ef-color-dialog', ':host [part=content-section]{display:flex;min-width:0;padding:5px 0}:host [part=inputs-container]{display:flex;flex-direction:column;align-items:flex-end;padding-left:15px}:host [part=inputs-container]>*{display:flex;align-items:center;margin-bottom:5px}:host [part=color-input],:host [part=preview-color]{touch-action:manipulation;box-sizing:border-box;width:60px;margin:0 0 0 5px}:host [part=preview-color]{border:1px solid #4a4a52;height:30px;margin-bottom:15px}:host [part=palettes-container]{width:100%}:host [part=color-palettes]{width:100%;height:calc(100% - 23px)}:host [part=color-palettes],:host [part=grayscale-palettes]{touch-action:manipulation}:host [part=footer]{display:flex;justify-content:flex-end;align-items:center}:host [part=button]{touch-action:manipulation;margin:10px 10px 10px 3px}:host{width:300px}:host [part=grayscale-palettes]{height:18px;width:140px;margin:5px 0 0 23px}:host [part=button]:first-child{margin-right:3px}');
@@ -0,0 +1,7 @@
1
+ import '@refinitiv-ui/elements/lib/text-field/themes/solar/pearl';
2
+ import '@refinitiv-ui/elements/lib/number-field/themes/solar/pearl';
3
+ import '@refinitiv-ui/elements/lib/button/themes/solar/pearl';
4
+ import '@refinitiv-ui/elements/lib/panel/themes/solar/pearl';
5
+ import '@refinitiv-ui/elements/lib/dialog/themes/solar/pearl';
6
+
7
+ elf.customStyles.define('ef-color-dialog', ':host [part=content-section]{display:flex;min-width:0;padding:5px 0}:host [part=inputs-container]{display:flex;flex-direction:column;align-items:flex-end;padding-left:15px}:host [part=inputs-container]>*{display:flex;align-items:center;margin-bottom:5px}:host [part=color-input],:host [part=preview-color]{touch-action:manipulation;box-sizing:border-box;width:60px;margin:0 0 0 5px}:host [part=preview-color]{border:1px solid #a9afba;height:30px;margin-bottom:15px}:host [part=palettes-container]{width:100%}:host [part=color-palettes]{width:100%;height:calc(100% - 23px)}:host [part=color-palettes],:host [part=grayscale-palettes]{touch-action:manipulation}:host [part=footer]{display:flex;justify-content:flex-end;align-items:center}:host [part=button]{touch-action:manipulation;margin:10px 10px 10px 3px}:host{width:300px}:host [part=grayscale-palettes]{height:18px;width:140px;margin:5px 0 0 23px}:host [part=button]:first-child{margin-right:3px}');
@@ -0,0 +1,10 @@
1
+ import type { DataItem } from '@refinitiv-ui/utils/lib/collection';
2
+ import type { ComboBox } from '../index';
3
+ import type { ComboBoxFilter } from './types';
4
+ import type { ItemData } from '../../item';
5
+ /**
6
+ * Default filter used by combo box
7
+ * @param el ComboBox instance to filter
8
+ * @returns Filter accepting an item
9
+ */
10
+ export declare const defaultFilter: <T extends DataItem = ItemData>(el: ComboBox<T>) => ComboBoxFilter<T>;
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Default filter used by combo box
3
+ * @param el ComboBox instance to filter
4
+ * @returns Filter accepting an item
5
+ */
6
+ export const defaultFilter = (el) => {
7
+ // reference query string for validating queryRegExp cache state
8
+ let query = '';
9
+ // cache RegExp
10
+ let queryRegExp;
11
+ // Get current RegExp, or renew if out of date
12
+ // this is fetched on demand by filter/renderer
13
+ // only created once per query
14
+ const getRegularExpressionOfQuery = () => {
15
+ if (el.query !== query || !queryRegExp) {
16
+ query = el.query || '';
17
+ queryRegExp = new RegExp(query.replace(/(\W)/g, '\\$1'), 'i');
18
+ }
19
+ return queryRegExp;
20
+ };
21
+ // return scoped custom filter
22
+ return (item) => {
23
+ const regex = getRegularExpressionOfQuery();
24
+ const result = regex.test(item.label);
25
+ // this example uses global scope, so the index needs resetting
26
+ regex.lastIndex = 0;
27
+ return result;
28
+ };
29
+ };
@@ -0,0 +1,17 @@
1
+ /**
2
+ * A helper class to propagate KeyBoard event to the list
3
+ * Done is this way to cover IE11
4
+ */
5
+ export declare class CustomKeyboardEvent extends Event {
6
+ key?: string;
7
+ shiftKey?: boolean;
8
+ altKey?: boolean;
9
+ ctrlKey?: boolean;
10
+ metaKey?: boolean;
11
+ /**
12
+ * Create custom keyboard event
13
+ * @param type Event type
14
+ * @param eventInitDict Keyboard event init object
15
+ */
16
+ constructor(type: string, eventInitDict?: KeyboardEventInit);
17
+ }
@@ -0,0 +1,19 @@
1
+ /**
2
+ * A helper class to propagate KeyBoard event to the list
3
+ * Done is this way to cover IE11
4
+ */
5
+ export class CustomKeyboardEvent extends Event {
6
+ /**
7
+ * Create custom keyboard event
8
+ * @param type Event type
9
+ * @param eventInitDict Keyboard event init object
10
+ */
11
+ constructor(type, eventInitDict = {}) {
12
+ super(type, eventInitDict);
13
+ this.key = eventInitDict.key;
14
+ this.shiftKey = eventInitDict.shiftKey;
15
+ this.altKey = eventInitDict.altKey;
16
+ this.ctrlKey = eventInitDict.ctrlKey;
17
+ this.metaKey = eventInitDict.metaKey;
18
+ }
19
+ }
@@ -0,0 +1,8 @@
1
+ import { Renderer } from '../../list/renderer.js';
2
+ /**
3
+ * Renders list items as `ef-item` elements.
4
+ * Extends its behaviour from ListRenderer.
5
+ */
6
+ export declare class ComboBoxRenderer extends Renderer {
7
+ constructor(context?: unknown);
8
+ }
@@ -0,0 +1,24 @@
1
+ import { ListRenderer } from '../../list/index.js';
2
+ import { Renderer } from '../../list/renderer.js';
3
+ /**
4
+ * Renders list items as `ef-item` elements.
5
+ * Extends its behaviour from ListRenderer.
6
+ */
7
+ export class ComboBoxRenderer extends Renderer {
8
+ constructor(context) {
9
+ const listRenderer = new ListRenderer(context);
10
+ super((item, composer, element) => {
11
+ // Extending renderer from listRenderer
12
+ element = listRenderer(item, composer, element);
13
+ const value = composer.getItemPropertyValue(item, 'value');
14
+ // Using value as id for `aria-activedescendant` in combobox
15
+ if (value && element.id !== value) {
16
+ element.id = value;
17
+ }
18
+ else if (!value && element.id) {
19
+ element.removeAttribute('id');
20
+ }
21
+ return element;
22
+ });
23
+ }
24
+ }
@@ -0,0 +1,11 @@
1
+ import type { DataItem } from '@refinitiv-ui/utils/lib/collection';
2
+ import type { ItemData } from '../../item';
3
+ /**
4
+ * Predicate callback
5
+ * Matches item against filter function
6
+ *
7
+ * @param item Item to filter
8
+ * @return Does item match filter
9
+ */
10
+ export declare type ComboBoxFilter<T extends DataItem = ItemData> = (item: T) => boolean;
11
+ export declare type ComboBoxData<T extends DataItem = ItemData> = T[] | Promise<T[]>;
@@ -0,0 +1 @@
1
+ export {};