@refinitiv-ui/elements 5.3.3 → 5.7.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 (617) hide show
  1. package/CHANGELOG.md +70 -0
  2. package/lib/accordion/custom-elements.json +49 -0
  3. package/lib/accordion/custom-elements.md +18 -0
  4. package/lib/accordion/index.d.ts +76 -0
  5. package/lib/accordion/index.js +136 -0
  6. package/lib/accordion/themes/halo/dark/index.js +3 -0
  7. package/lib/accordion/themes/halo/light/index.js +3 -0
  8. package/lib/accordion/themes/solar/charcoal/index.js +3 -0
  9. package/lib/accordion/themes/solar/pearl/index.js +3 -0
  10. package/lib/appstate-bar/custom-elements.json +49 -0
  11. package/lib/appstate-bar/custom-elements.md +22 -0
  12. package/lib/appstate-bar/index.d.ts +65 -0
  13. package/lib/appstate-bar/index.js +100 -0
  14. package/lib/appstate-bar/themes/halo/dark/index.js +3 -0
  15. package/lib/appstate-bar/themes/halo/light/index.js +3 -0
  16. package/lib/appstate-bar/themes/solar/charcoal/index.js +3 -0
  17. package/lib/appstate-bar/themes/solar/pearl/index.js +3 -0
  18. package/lib/autosuggest/custom-elements.json +233 -0
  19. package/lib/autosuggest/custom-elements.md +47 -0
  20. package/lib/autosuggest/helpers/types.d.ts +54 -0
  21. package/lib/autosuggest/helpers/types.js +1 -0
  22. package/lib/autosuggest/helpers/utils.d.ts +39 -0
  23. package/lib/autosuggest/helpers/utils.js +75 -0
  24. package/lib/autosuggest/index.d.ts +534 -0
  25. package/lib/autosuggest/index.js +1251 -0
  26. package/lib/autosuggest/themes/halo/dark/index.js +5 -0
  27. package/lib/autosuggest/themes/halo/light/index.js +5 -0
  28. package/lib/autosuggest/themes/solar/charcoal/index.js +5 -0
  29. package/lib/autosuggest/themes/solar/pearl/index.js +5 -0
  30. package/lib/button/custom-elements.json +119 -0
  31. package/lib/button/custom-elements.md +23 -0
  32. package/lib/button/index.d.ts +132 -0
  33. package/lib/button/index.js +223 -0
  34. package/lib/button/themes/halo/dark/index.js +3 -0
  35. package/lib/button/themes/halo/light/index.js +3 -0
  36. package/lib/button/themes/solar/charcoal/index.js +3 -0
  37. package/lib/button/themes/solar/pearl/index.js +3 -0
  38. package/lib/button-bar/custom-elements.json +26 -0
  39. package/lib/button-bar/custom-elements.md +9 -0
  40. package/lib/button-bar/index.d.ts +76 -0
  41. package/lib/button-bar/index.js +155 -0
  42. package/lib/button-bar/themes/halo/dark/index.js +3 -0
  43. package/lib/button-bar/themes/halo/light/index.js +3 -0
  44. package/lib/button-bar/themes/solar/charcoal/index.js +3 -0
  45. package/lib/button-bar/themes/solar/pearl/index.js +3 -0
  46. package/lib/calendar/constants.d.ts +22 -0
  47. package/lib/calendar/constants.js +23 -0
  48. package/lib/calendar/custom-elements.json +199 -0
  49. package/lib/calendar/custom-elements.md +35 -0
  50. package/lib/calendar/index.d.ts +321 -0
  51. package/lib/calendar/index.js +906 -0
  52. package/lib/calendar/locales.d.ts +1 -0
  53. package/lib/calendar/locales.js +40 -0
  54. package/lib/calendar/themes/halo/dark/index.js +3 -0
  55. package/lib/calendar/themes/halo/light/index.js +3 -0
  56. package/lib/calendar/themes/solar/charcoal/index.js +3 -0
  57. package/lib/calendar/themes/solar/pearl/index.js +3 -0
  58. package/lib/calendar/types.d.ts +29 -0
  59. package/lib/calendar/types.js +1 -0
  60. package/lib/calendar/utils.d.ts +42 -0
  61. package/lib/calendar/utils.js +119 -0
  62. package/lib/canvas/custom-elements.json +69 -0
  63. package/lib/canvas/custom-elements.md +27 -0
  64. package/lib/canvas/index.d.ts +100 -0
  65. package/lib/canvas/index.js +172 -0
  66. package/lib/canvas/themes/halo/dark/index.js +2 -0
  67. package/lib/canvas/themes/halo/light/index.js +2 -0
  68. package/lib/canvas/themes/solar/charcoal/index.js +2 -0
  69. package/lib/canvas/themes/solar/pearl/index.js +2 -0
  70. package/lib/card/custom-elements.json +59 -0
  71. package/lib/card/custom-elements.md +24 -0
  72. package/lib/card/helpers/types.d.ts +12 -0
  73. package/lib/card/helpers/types.js +1 -0
  74. package/lib/card/index.d.ts +140 -0
  75. package/lib/card/index.js +246 -0
  76. package/lib/card/themes/halo/dark/index.js +5 -0
  77. package/lib/card/themes/halo/light/index.js +5 -0
  78. package/lib/card/themes/solar/charcoal/index.js +5 -0
  79. package/lib/card/themes/solar/pearl/index.js +5 -0
  80. package/lib/chart/custom-elements.json +42 -0
  81. package/lib/chart/custom-elements.md +16 -0
  82. package/lib/chart/helpers/index.d.ts +2 -0
  83. package/lib/chart/helpers/index.js +2 -0
  84. package/lib/chart/helpers/legend.d.ts +5 -0
  85. package/lib/chart/helpers/legend.js +78 -0
  86. package/lib/chart/helpers/merge.d.ts +15 -0
  87. package/lib/chart/helpers/merge.js +28 -0
  88. package/lib/chart/helpers/types.d.ts +69 -0
  89. package/lib/chart/helpers/types.js +1 -0
  90. package/lib/chart/index.d.ts +187 -0
  91. package/lib/chart/index.js +491 -0
  92. package/lib/chart/plugins/doughnut-center-label.d.ts +3 -0
  93. package/lib/chart/plugins/doughnut-center-label.js +196 -0
  94. package/lib/chart/themes/halo/dark/index.js +4 -0
  95. package/lib/chart/themes/halo/light/index.js +4 -0
  96. package/lib/chart/themes/solar/charcoal/index.js +4 -0
  97. package/lib/chart/themes/solar/pearl/index.js +4 -0
  98. package/lib/checkbox/custom-elements.json +67 -0
  99. package/lib/checkbox/custom-elements.md +18 -0
  100. package/lib/checkbox/index.d.ts +95 -0
  101. package/lib/checkbox/index.js +193 -0
  102. package/lib/checkbox/themes/halo/dark/index.js +4 -0
  103. package/lib/checkbox/themes/halo/light/index.js +4 -0
  104. package/lib/checkbox/themes/solar/charcoal/index.js +4 -0
  105. package/lib/checkbox/themes/solar/pearl/index.js +4 -0
  106. package/lib/clock/custom-elements.json +121 -0
  107. package/lib/clock/custom-elements.md +28 -0
  108. package/lib/clock/index.d.ts +319 -0
  109. package/lib/clock/index.js +581 -0
  110. package/lib/clock/themes/halo/dark/index.js +2 -0
  111. package/lib/clock/themes/halo/light/index.js +2 -0
  112. package/lib/clock/themes/solar/charcoal/index.js +2 -0
  113. package/lib/clock/themes/solar/pearl/index.js +2 -0
  114. package/lib/clock/utils/TickManager.d.ts +14 -0
  115. package/lib/clock/utils/TickManager.js +66 -0
  116. package/lib/clock/utils/timestamps.d.ts +6 -0
  117. package/lib/clock/utils/timestamps.js +6 -0
  118. package/lib/collapse/custom-elements.json +79 -0
  119. package/lib/collapse/custom-elements.md +27 -0
  120. package/lib/collapse/index.d.ts +119 -0
  121. package/lib/collapse/index.js +197 -0
  122. package/lib/collapse/themes/halo/dark/index.js +5 -0
  123. package/lib/collapse/themes/halo/light/index.js +5 -0
  124. package/lib/collapse/themes/solar/charcoal/index.js +5 -0
  125. package/lib/collapse/themes/solar/pearl/index.js +5 -0
  126. package/lib/color-dialog/custom-elements.json +193 -0
  127. package/lib/color-dialog/custom-elements.md +39 -0
  128. package/lib/color-dialog/elements/color-palettes.d.ts +52 -0
  129. package/lib/color-dialog/elements/color-palettes.js +101 -0
  130. package/lib/color-dialog/elements/grayscale-palettes.d.ts +67 -0
  131. package/lib/color-dialog/elements/grayscale-palettes.js +161 -0
  132. package/lib/color-dialog/elements/palettes.d.ts +65 -0
  133. package/lib/color-dialog/elements/palettes.js +132 -0
  134. package/lib/color-dialog/helpers/color-helpers.d.ts +16 -0
  135. package/lib/color-dialog/helpers/color-helpers.js +161 -0
  136. package/lib/color-dialog/helpers/value-model.d.ts +75 -0
  137. package/lib/color-dialog/helpers/value-model.js +141 -0
  138. package/lib/color-dialog/index.d.ts +232 -0
  139. package/lib/color-dialog/index.js +459 -0
  140. package/lib/color-dialog/themes/halo/dark/index.js +7 -0
  141. package/lib/color-dialog/themes/halo/light/index.js +7 -0
  142. package/lib/color-dialog/themes/solar/charcoal/index.js +7 -0
  143. package/lib/color-dialog/themes/solar/pearl/index.js +7 -0
  144. package/lib/combo-box/custom-elements.json +210 -0
  145. package/lib/combo-box/custom-elements.md +35 -0
  146. package/lib/combo-box/helpers/filter.d.ts +10 -0
  147. package/lib/combo-box/helpers/filter.js +29 -0
  148. package/lib/combo-box/helpers/keyboard-event.d.ts +17 -0
  149. package/lib/combo-box/helpers/keyboard-event.js +19 -0
  150. package/lib/combo-box/helpers/types.d.ts +11 -0
  151. package/lib/combo-box/helpers/types.js +1 -0
  152. package/lib/combo-box/index.d.ts +523 -0
  153. package/lib/combo-box/index.js +1146 -0
  154. package/lib/combo-box/themes/halo/dark/index.js +8 -0
  155. package/lib/combo-box/themes/halo/light/index.js +8 -0
  156. package/lib/combo-box/themes/solar/charcoal/index.js +8 -0
  157. package/lib/combo-box/themes/solar/pearl/index.js +8 -0
  158. package/lib/counter/custom-elements.json +35 -0
  159. package/lib/counter/custom-elements.md +11 -0
  160. package/lib/counter/index.d.ts +89 -0
  161. package/lib/counter/index.js +152 -0
  162. package/lib/counter/themes/halo/dark/index.js +3 -0
  163. package/lib/counter/themes/halo/light/index.js +3 -0
  164. package/lib/counter/themes/solar/charcoal/index.js +3 -0
  165. package/lib/counter/themes/solar/pearl/index.js +3 -0
  166. package/lib/counter/utils.d.ts +13 -0
  167. package/lib/counter/utils.js +52 -0
  168. package/lib/datetime-picker/custom-elements.json +333 -0
  169. package/lib/datetime-picker/custom-elements.md +49 -0
  170. package/lib/datetime-picker/index.d.ts +498 -0
  171. package/lib/datetime-picker/index.js +1164 -0
  172. package/lib/datetime-picker/locales.d.ts +8 -0
  173. package/lib/datetime-picker/locales.js +57 -0
  174. package/lib/datetime-picker/themes/halo/dark/index.js +7 -0
  175. package/lib/datetime-picker/themes/halo/light/index.js +7 -0
  176. package/lib/datetime-picker/themes/solar/charcoal/index.js +7 -0
  177. package/lib/datetime-picker/themes/solar/pearl/index.js +7 -0
  178. package/lib/datetime-picker/types.d.ts +3 -0
  179. package/lib/datetime-picker/types.js +1 -0
  180. package/lib/datetime-picker/utils.d.ts +55 -0
  181. package/lib/datetime-picker/utils.js +92 -0
  182. package/lib/dialog/custom-elements.json +136 -0
  183. package/lib/dialog/custom-elements.md +47 -0
  184. package/lib/dialog/draggable-element.d.ts +14 -0
  185. package/lib/dialog/draggable-element.js +221 -0
  186. package/lib/dialog/index.d.ts +199 -0
  187. package/lib/dialog/index.js +331 -0
  188. package/lib/dialog/themes/halo/dark/index.js +7 -0
  189. package/lib/dialog/themes/halo/light/index.js +7 -0
  190. package/lib/dialog/themes/solar/charcoal/index.js +7 -0
  191. package/lib/dialog/themes/solar/pearl/index.js +7 -0
  192. package/lib/email-field/custom-elements.json +199 -0
  193. package/lib/email-field/custom-elements.md +35 -0
  194. package/lib/email-field/index.d.ts +152 -0
  195. package/lib/email-field/index.js +286 -0
  196. package/lib/email-field/themes/halo/dark/index.js +3 -0
  197. package/lib/email-field/themes/halo/light/index.js +3 -0
  198. package/lib/email-field/themes/solar/charcoal/index.js +3 -0
  199. package/lib/email-field/themes/solar/pearl/index.js +3 -0
  200. package/lib/events.d.ts +121 -0
  201. package/lib/events.js +1 -0
  202. package/lib/flag/custom-elements.json +35 -0
  203. package/lib/flag/custom-elements.md +10 -0
  204. package/lib/flag/index.d.ts +94 -0
  205. package/lib/flag/index.js +166 -0
  206. package/lib/flag/themes/halo/dark/index.js +2 -0
  207. package/lib/flag/themes/halo/light/index.js +2 -0
  208. package/lib/flag/themes/solar/charcoal/index.js +2 -0
  209. package/lib/flag/themes/solar/pearl/index.js +2 -0
  210. package/lib/flag/utils/FlagLoader.d.ts +47 -0
  211. package/lib/flag/utils/FlagLoader.js +86 -0
  212. package/lib/header/custom-elements.json +36 -0
  213. package/lib/header/custom-elements.md +18 -0
  214. package/lib/header/index.d.ts +46 -0
  215. package/lib/header/index.js +73 -0
  216. package/lib/header/themes/halo/dark/index.js +2 -0
  217. package/lib/header/themes/halo/light/index.js +2 -0
  218. package/lib/header/themes/solar/charcoal/index.js +2 -0
  219. package/lib/header/themes/solar/pearl/index.js +2 -0
  220. package/lib/heatmap/custom-elements.json +151 -0
  221. package/lib/heatmap/custom-elements.md +26 -0
  222. package/lib/heatmap/helpers/color.d.ts +30 -0
  223. package/lib/heatmap/helpers/color.js +68 -0
  224. package/lib/heatmap/helpers/text.d.ts +26 -0
  225. package/lib/heatmap/helpers/text.js +91 -0
  226. package/lib/heatmap/helpers/track.d.ts +102 -0
  227. package/lib/heatmap/helpers/track.js +160 -0
  228. package/lib/heatmap/helpers/types.d.ts +40 -0
  229. package/lib/heatmap/helpers/types.js +1 -0
  230. package/lib/heatmap/index.d.ts +453 -0
  231. package/lib/heatmap/index.js +1103 -0
  232. package/lib/heatmap/themes/halo/dark/index.js +4 -0
  233. package/lib/heatmap/themes/halo/light/index.js +4 -0
  234. package/lib/heatmap/themes/solar/charcoal/index.js +4 -0
  235. package/lib/heatmap/themes/solar/pearl/index.js +4 -0
  236. package/lib/icon/custom-elements.json +36 -0
  237. package/lib/icon/custom-elements.md +8 -0
  238. package/lib/icon/index.d.ts +88 -0
  239. package/lib/icon/index.js +169 -0
  240. package/lib/icon/themes/halo/dark/index.js +2 -0
  241. package/lib/icon/themes/halo/light/index.js +2 -0
  242. package/lib/icon/themes/solar/charcoal/index.js +2 -0
  243. package/lib/icon/themes/solar/pearl/index.js +2 -0
  244. package/lib/icon/utils/IconLoader.d.ts +52 -0
  245. package/lib/icon/utils/IconLoader.js +93 -0
  246. package/lib/index.d.ts +3 -0
  247. package/lib/index.js +3 -0
  248. package/lib/interactive-chart/custom-elements.json +86 -0
  249. package/lib/interactive-chart/custom-elements.md +32 -0
  250. package/lib/interactive-chart/helpers/merge.d.ts +15 -0
  251. package/lib/interactive-chart/helpers/merge.js +28 -0
  252. package/lib/interactive-chart/helpers/types.d.ts +45 -0
  253. package/lib/interactive-chart/helpers/types.js +6 -0
  254. package/lib/interactive-chart/index.d.ts +380 -0
  255. package/lib/interactive-chart/index.js +1090 -0
  256. package/lib/interactive-chart/themes/halo/dark/index.js +3 -0
  257. package/lib/interactive-chart/themes/halo/light/index.js +3 -0
  258. package/lib/interactive-chart/themes/solar/charcoal/index.js +3 -0
  259. package/lib/interactive-chart/themes/solar/pearl/index.js +3 -0
  260. package/lib/item/custom-elements.json +151 -0
  261. package/lib/item/custom-elements.md +29 -0
  262. package/lib/item/helpers/types.d.ts +57 -0
  263. package/lib/item/helpers/types.js +1 -0
  264. package/lib/item/index.d.ts +158 -0
  265. package/lib/item/index.js +271 -0
  266. package/lib/item/themes/halo/dark/index.js +4 -0
  267. package/lib/item/themes/halo/light/index.js +4 -0
  268. package/lib/item/themes/solar/charcoal/index.js +4 -0
  269. package/lib/item/themes/solar/pearl/index.js +4 -0
  270. package/lib/jsx.d.ts +223 -0
  271. package/lib/label/custom-elements.json +52 -0
  272. package/lib/label/custom-elements.md +11 -0
  273. package/lib/label/index.d.ts +102 -0
  274. package/lib/label/index.js +244 -0
  275. package/lib/label/themes/halo/dark/index.js +3 -0
  276. package/lib/label/themes/halo/light/index.js +3 -0
  277. package/lib/label/themes/solar/charcoal/index.js +3 -0
  278. package/lib/label/themes/solar/pearl/index.js +3 -0
  279. package/lib/layout/custom-elements.json +163 -0
  280. package/lib/layout/custom-elements.md +26 -0
  281. package/lib/layout/index.d.ts +107 -0
  282. package/lib/layout/index.js +212 -0
  283. package/lib/layout/themes/halo/dark/index.js +2 -0
  284. package/lib/layout/themes/halo/light/index.js +2 -0
  285. package/lib/layout/themes/solar/charcoal/index.js +2 -0
  286. package/lib/layout/themes/solar/pearl/index.js +2 -0
  287. package/lib/led-gauge/custom-elements.json +113 -0
  288. package/lib/led-gauge/custom-elements.md +17 -0
  289. package/lib/led-gauge/index.d.ts +143 -0
  290. package/lib/led-gauge/index.js +437 -0
  291. package/lib/led-gauge/themes/halo/dark/index.js +3 -0
  292. package/lib/led-gauge/themes/halo/light/index.js +3 -0
  293. package/lib/led-gauge/themes/solar/charcoal/index.js +3 -0
  294. package/lib/led-gauge/themes/solar/pearl/index.js +3 -0
  295. package/lib/list/custom-elements.json +111 -0
  296. package/lib/list/custom-elements.md +30 -0
  297. package/lib/list/extensible-function.d.ts +8 -0
  298. package/lib/list/extensible-function.js +13 -0
  299. package/lib/list/helpers/list-renderer.d.ts +9 -0
  300. package/lib/list/helpers/list-renderer.js +35 -0
  301. package/lib/list/helpers/types.d.ts +3 -0
  302. package/lib/list/helpers/types.js +1 -0
  303. package/lib/list/index.d.ts +292 -0
  304. package/lib/list/index.js +600 -0
  305. package/lib/list/renderer.d.ts +36 -0
  306. package/lib/list/renderer.js +9 -0
  307. package/lib/list/themes/halo/dark/index.js +3 -0
  308. package/lib/list/themes/halo/light/index.js +3 -0
  309. package/lib/list/themes/solar/charcoal/index.js +3 -0
  310. package/lib/list/themes/solar/pearl/index.js +3 -0
  311. package/lib/loader/custom-elements.json +9 -0
  312. package/lib/loader/custom-elements.md +5 -0
  313. package/lib/loader/index.d.ts +41 -0
  314. package/lib/loader/index.js +61 -0
  315. package/lib/loader/themes/halo/dark/index.js +2 -0
  316. package/lib/loader/themes/halo/light/index.js +2 -0
  317. package/lib/loader/themes/solar/charcoal/index.js +2 -0
  318. package/lib/loader/themes/solar/pearl/index.js +2 -0
  319. package/lib/multi-input/custom-elements.json +238 -0
  320. package/lib/multi-input/custom-elements.md +43 -0
  321. package/lib/multi-input/helpers/types.d.ts +11 -0
  322. package/lib/multi-input/helpers/types.js +1 -0
  323. package/lib/multi-input/index.d.ts +297 -0
  324. package/lib/multi-input/index.js +590 -0
  325. package/lib/multi-input/themes/halo/dark/index.js +4 -0
  326. package/lib/multi-input/themes/halo/light/index.js +4 -0
  327. package/lib/multi-input/themes/solar/charcoal/index.js +4 -0
  328. package/lib/multi-input/themes/solar/pearl/index.js +4 -0
  329. package/lib/notification/custom-elements.json +95 -0
  330. package/lib/notification/custom-elements.md +26 -0
  331. package/lib/notification/elements/notification-tray.d.ts +97 -0
  332. package/lib/notification/elements/notification-tray.js +167 -0
  333. package/lib/notification/elements/notification.d.ts +90 -0
  334. package/lib/notification/elements/notification.js +154 -0
  335. package/lib/notification/helpers/status.d.ts +30 -0
  336. package/lib/notification/helpers/status.js +130 -0
  337. package/lib/notification/helpers/types.d.ts +10 -0
  338. package/lib/notification/helpers/types.js +1 -0
  339. package/lib/notification/index.d.ts +2 -0
  340. package/lib/notification/index.js +2 -0
  341. package/lib/notification/themes/halo/dark/index.js +5 -0
  342. package/lib/notification/themes/halo/light/index.js +5 -0
  343. package/lib/notification/themes/solar/charcoal/index.js +5 -0
  344. package/lib/notification/themes/solar/pearl/index.js +5 -0
  345. package/lib/number-field/custom-elements.json +200 -0
  346. package/lib/number-field/custom-elements.md +37 -0
  347. package/lib/number-field/index.d.ts +294 -0
  348. package/lib/number-field/index.js +707 -0
  349. package/lib/number-field/themes/halo/dark/index.js +3 -0
  350. package/lib/number-field/themes/halo/light/index.js +3 -0
  351. package/lib/number-field/themes/solar/charcoal/index.js +3 -0
  352. package/lib/number-field/themes/solar/pearl/index.js +3 -0
  353. package/lib/overlay/custom-elements.json +345 -0
  354. package/lib/overlay/custom-elements.md +54 -0
  355. package/lib/overlay/elements/overlay-backdrop.d.ts +46 -0
  356. package/lib/overlay/elements/overlay-backdrop.js +64 -0
  357. package/lib/overlay/elements/overlay-viewport.d.ts +40 -0
  358. package/lib/overlay/elements/overlay-viewport.js +52 -0
  359. package/lib/overlay/elements/overlay.d.ts +403 -0
  360. package/lib/overlay/elements/overlay.js +1426 -0
  361. package/lib/overlay/helpers/functions.d.ts +13 -0
  362. package/lib/overlay/helpers/functions.js +16 -0
  363. package/lib/overlay/helpers/types.d.ts +97 -0
  364. package/lib/overlay/helpers/types.js +16 -0
  365. package/lib/overlay/index.d.ts +2 -0
  366. package/lib/overlay/index.js +1 -0
  367. package/lib/overlay/managers/backdrop-manager.d.ts +45 -0
  368. package/lib/overlay/managers/backdrop-manager.js +96 -0
  369. package/lib/overlay/managers/close-manager.d.ts +54 -0
  370. package/lib/overlay/managers/close-manager.js +138 -0
  371. package/lib/overlay/managers/focus-manager.d.ts +71 -0
  372. package/lib/overlay/managers/focus-manager.js +228 -0
  373. package/lib/overlay/managers/interaction-lock-manager.d.ts +138 -0
  374. package/lib/overlay/managers/interaction-lock-manager.js +375 -0
  375. package/lib/overlay/managers/viewport-manager.d.ts +93 -0
  376. package/lib/overlay/managers/viewport-manager.js +211 -0
  377. package/lib/overlay/managers/zindex-manager.d.ts +80 -0
  378. package/lib/overlay/managers/zindex-manager.js +195 -0
  379. package/lib/overlay/themes/halo/dark/index.js +4 -0
  380. package/lib/overlay/themes/halo/light/index.js +4 -0
  381. package/lib/overlay/themes/solar/charcoal/index.js +4 -0
  382. package/lib/overlay/themes/solar/pearl/index.js +4 -0
  383. package/lib/overlay-menu/custom-elements.json +194 -0
  384. package/lib/overlay-menu/custom-elements.md +44 -0
  385. package/lib/overlay-menu/helpers/types.d.ts +8 -0
  386. package/lib/overlay-menu/helpers/types.js +1 -0
  387. package/lib/overlay-menu/index.d.ts +385 -0
  388. package/lib/overlay-menu/index.js +933 -0
  389. package/lib/overlay-menu/managers/menu-manager.d.ts +98 -0
  390. package/lib/overlay-menu/managers/menu-manager.js +240 -0
  391. package/lib/overlay-menu/themes/halo/dark/index.js +5 -0
  392. package/lib/overlay-menu/themes/halo/light/index.js +5 -0
  393. package/lib/overlay-menu/themes/solar/charcoal/index.js +5 -0
  394. package/lib/overlay-menu/themes/solar/pearl/index.js +5 -0
  395. package/lib/pagination/custom-elements.json +93 -0
  396. package/lib/pagination/custom-elements.md +27 -0
  397. package/lib/pagination/helpers/types.d.ts +9 -0
  398. package/lib/pagination/helpers/types.js +1 -0
  399. package/lib/pagination/index.d.ts +207 -0
  400. package/lib/pagination/index.js +398 -0
  401. package/lib/pagination/themes/halo/dark/index.js +6 -0
  402. package/lib/pagination/themes/halo/light/index.js +6 -0
  403. package/lib/pagination/themes/solar/charcoal/index.js +6 -0
  404. package/lib/pagination/themes/solar/pearl/index.js +6 -0
  405. package/lib/panel/custom-elements.json +39 -0
  406. package/lib/panel/custom-elements.md +11 -0
  407. package/lib/panel/index.d.ts +48 -0
  408. package/lib/panel/index.js +74 -0
  409. package/lib/panel/themes/halo/dark/index.js +2 -0
  410. package/lib/panel/themes/halo/light/index.js +2 -0
  411. package/lib/panel/themes/solar/charcoal/index.js +2 -0
  412. package/lib/panel/themes/solar/pearl/index.js +2 -0
  413. package/lib/password-field/custom-elements.json +156 -0
  414. package/lib/password-field/custom-elements.md +31 -0
  415. package/lib/password-field/index.d.ts +141 -0
  416. package/lib/password-field/index.js +258 -0
  417. package/lib/password-field/themes/halo/dark/index.js +3 -0
  418. package/lib/password-field/themes/halo/light/index.js +3 -0
  419. package/lib/password-field/themes/solar/charcoal/index.js +3 -0
  420. package/lib/password-field/themes/solar/pearl/index.js +3 -0
  421. package/lib/pill/custom-elements.json +95 -0
  422. package/lib/pill/custom-elements.md +22 -0
  423. package/lib/pill/index.d.ts +97 -0
  424. package/lib/pill/index.js +160 -0
  425. package/lib/pill/themes/halo/dark/index.js +3 -0
  426. package/lib/pill/themes/halo/light/index.js +3 -0
  427. package/lib/pill/themes/solar/charcoal/index.js +3 -0
  428. package/lib/pill/themes/solar/pearl/index.js +3 -0
  429. package/lib/progress-bar/custom-elements.json +58 -0
  430. package/lib/progress-bar/custom-elements.md +18 -0
  431. package/lib/progress-bar/index.d.ts +82 -0
  432. package/lib/progress-bar/index.js +157 -0
  433. package/lib/progress-bar/themes/halo/dark/index.js +2 -0
  434. package/lib/progress-bar/themes/halo/light/index.js +2 -0
  435. package/lib/progress-bar/themes/solar/charcoal/index.js +2 -0
  436. package/lib/progress-bar/themes/solar/pearl/index.js +2 -0
  437. package/lib/radio-button/custom-elements.json +82 -0
  438. package/lib/radio-button/custom-elements.md +19 -0
  439. package/lib/radio-button/index.d.ts +122 -0
  440. package/lib/radio-button/index.js +257 -0
  441. package/lib/radio-button/radio-button-registry.d.ts +22 -0
  442. package/lib/radio-button/radio-button-registry.js +93 -0
  443. package/lib/radio-button/themes/halo/dark/index.js +3 -0
  444. package/lib/radio-button/themes/halo/light/index.js +3 -0
  445. package/lib/radio-button/themes/solar/charcoal/index.js +3 -0
  446. package/lib/radio-button/themes/solar/pearl/index.js +3 -0
  447. package/lib/rating/custom-elements.json +58 -0
  448. package/lib/rating/custom-elements.md +17 -0
  449. package/lib/rating/index.d.ts +91 -0
  450. package/lib/rating/index.js +157 -0
  451. package/lib/rating/themes/halo/dark/index.js +2 -0
  452. package/lib/rating/themes/halo/light/index.js +2 -0
  453. package/lib/rating/themes/solar/charcoal/index.js +2 -0
  454. package/lib/rating/themes/solar/pearl/index.js +2 -0
  455. package/lib/search-field/custom-elements.json +173 -0
  456. package/lib/search-field/custom-elements.md +33 -0
  457. package/lib/search-field/index.d.ts +134 -0
  458. package/lib/search-field/index.js +253 -0
  459. package/lib/search-field/themes/halo/dark/index.js +3 -0
  460. package/lib/search-field/themes/halo/light/index.js +3 -0
  461. package/lib/search-field/themes/solar/charcoal/index.js +3 -0
  462. package/lib/search-field/themes/solar/pearl/index.js +3 -0
  463. package/lib/select/custom-elements.json +103 -0
  464. package/lib/select/custom-elements.md +24 -0
  465. package/lib/select/helpers/types.d.ts +3 -0
  466. package/lib/select/helpers/types.js +1 -0
  467. package/lib/select/index.d.ts +388 -0
  468. package/lib/select/index.js +942 -0
  469. package/lib/select/themes/halo/dark/index.js +5 -0
  470. package/lib/select/themes/halo/light/index.js +5 -0
  471. package/lib/select/themes/solar/charcoal/index.js +5 -0
  472. package/lib/select/themes/solar/pearl/index.js +5 -0
  473. package/lib/sidebar-layout/custom-elements.json +72 -0
  474. package/lib/sidebar-layout/custom-elements.md +22 -0
  475. package/lib/sidebar-layout/index.d.ts +69 -0
  476. package/lib/sidebar-layout/index.js +134 -0
  477. package/lib/sidebar-layout/themes/halo/dark/index.js +3 -0
  478. package/lib/sidebar-layout/themes/halo/light/index.js +3 -0
  479. package/lib/sidebar-layout/themes/solar/charcoal/index.js +3 -0
  480. package/lib/sidebar-layout/themes/solar/pearl/index.js +3 -0
  481. package/lib/slider/custom-elements.json +181 -0
  482. package/lib/slider/custom-elements.md +28 -0
  483. package/lib/slider/index.d.ts +409 -0
  484. package/lib/slider/index.js +1187 -0
  485. package/lib/slider/themes/halo/dark/index.js +3 -0
  486. package/lib/slider/themes/halo/light/index.js +3 -0
  487. package/lib/slider/themes/solar/charcoal/index.js +3 -0
  488. package/lib/slider/themes/solar/pearl/index.js +3 -0
  489. package/lib/sparkline/custom-elements.json +59 -0
  490. package/lib/sparkline/custom-elements.md +16 -0
  491. package/lib/sparkline/index.d.ts +107 -0
  492. package/lib/sparkline/index.js +186 -0
  493. package/lib/sparkline/themes/halo/dark/index.js +2 -0
  494. package/lib/sparkline/themes/halo/light/index.js +2 -0
  495. package/lib/sparkline/themes/solar/charcoal/index.js +2 -0
  496. package/lib/sparkline/themes/solar/pearl/index.js +2 -0
  497. package/lib/swing-gauge/const.d.ts +22 -0
  498. package/lib/swing-gauge/const.js +26 -0
  499. package/lib/swing-gauge/custom-elements.json +109 -0
  500. package/lib/swing-gauge/custom-elements.md +17 -0
  501. package/lib/swing-gauge/helpers.d.ts +8 -0
  502. package/lib/swing-gauge/helpers.js +105 -0
  503. package/lib/swing-gauge/index.d.ts +294 -0
  504. package/lib/swing-gauge/index.js +762 -0
  505. package/lib/swing-gauge/themes/halo/dark/index.js +3 -0
  506. package/lib/swing-gauge/themes/halo/light/index.js +3 -0
  507. package/lib/swing-gauge/themes/solar/charcoal/index.js +3 -0
  508. package/lib/swing-gauge/themes/solar/pearl/index.js +3 -0
  509. package/lib/swing-gauge/types.d.ts +34 -0
  510. package/lib/swing-gauge/types.js +1 -0
  511. package/lib/tab/custom-elements.json +123 -0
  512. package/lib/tab/custom-elements.md +22 -0
  513. package/lib/tab/index.d.ts +118 -0
  514. package/lib/tab/index.js +208 -0
  515. package/lib/tab/themes/halo/dark/index.js +4 -0
  516. package/lib/tab/themes/halo/light/index.js +4 -0
  517. package/lib/tab/themes/solar/charcoal/index.js +4 -0
  518. package/lib/tab/themes/solar/pearl/index.js +4 -0
  519. package/lib/tab-bar/custom-elements.json +52 -0
  520. package/lib/tab-bar/custom-elements.md +11 -0
  521. package/lib/tab-bar/helpers/animate.d.ts +16 -0
  522. package/lib/tab-bar/helpers/animate.js +53 -0
  523. package/lib/tab-bar/index.d.ts +108 -0
  524. package/lib/tab-bar/index.js +218 -0
  525. package/lib/tab-bar/themes/halo/dark/index.js +4 -0
  526. package/lib/tab-bar/themes/halo/light/index.js +4 -0
  527. package/lib/tab-bar/themes/solar/charcoal/index.js +4 -0
  528. package/lib/tab-bar/themes/solar/pearl/index.js +4 -0
  529. package/lib/text-field/custom-elements.json +210 -0
  530. package/lib/text-field/custom-elements.md +37 -0
  531. package/lib/text-field/index.d.ts +193 -0
  532. package/lib/text-field/index.js +409 -0
  533. package/lib/text-field/themes/halo/dark/index.js +3 -0
  534. package/lib/text-field/themes/halo/light/index.js +3 -0
  535. package/lib/text-field/themes/solar/charcoal/index.js +3 -0
  536. package/lib/text-field/themes/solar/pearl/index.js +3 -0
  537. package/lib/time-picker/custom-elements.json +124 -0
  538. package/lib/time-picker/custom-elements.md +28 -0
  539. package/lib/time-picker/index.d.ts +379 -0
  540. package/lib/time-picker/index.js +775 -0
  541. package/lib/time-picker/themes/halo/dark/index.js +4 -0
  542. package/lib/time-picker/themes/halo/light/index.js +4 -0
  543. package/lib/time-picker/themes/solar/charcoal/index.js +4 -0
  544. package/lib/time-picker/themes/solar/pearl/index.js +4 -0
  545. package/lib/toggle/custom-elements.json +82 -0
  546. package/lib/toggle/custom-elements.md +19 -0
  547. package/lib/toggle/index.d.ts +86 -0
  548. package/lib/toggle/index.js +152 -0
  549. package/lib/toggle/themes/halo/dark/index.js +2 -0
  550. package/lib/toggle/themes/halo/light/index.js +2 -0
  551. package/lib/toggle/themes/solar/charcoal/index.js +2 -0
  552. package/lib/toggle/themes/solar/pearl/index.js +2 -0
  553. package/lib/tooltip/custom-elements.json +62 -0
  554. package/lib/tooltip/custom-elements.md +14 -0
  555. package/lib/tooltip/elements/title-tooltip.d.ts +1 -0
  556. package/lib/tooltip/elements/title-tooltip.js +18 -0
  557. package/lib/tooltip/elements/tooltip-element.d.ts +21 -0
  558. package/lib/tooltip/elements/tooltip-element.js +54 -0
  559. package/lib/tooltip/helpers/overflow-tooltip.d.ts +9 -0
  560. package/lib/tooltip/helpers/overflow-tooltip.js +19 -0
  561. package/lib/tooltip/helpers/renderer.d.ts +8 -0
  562. package/lib/tooltip/helpers/renderer.js +11 -0
  563. package/lib/tooltip/helpers/types.d.ts +23 -0
  564. package/lib/tooltip/helpers/types.js +1 -0
  565. package/lib/tooltip/index.d.ts +232 -0
  566. package/lib/tooltip/index.js +477 -0
  567. package/lib/tooltip/managers/tooltip-manager.d.ts +15 -0
  568. package/lib/tooltip/managers/tooltip-manager.js +140 -0
  569. package/lib/tooltip/themes/halo/dark/index.js +3 -0
  570. package/lib/tooltip/themes/halo/light/index.js +3 -0
  571. package/lib/tooltip/themes/solar/charcoal/index.js +3 -0
  572. package/lib/tooltip/themes/solar/pearl/index.js +3 -0
  573. package/lib/tornado-chart/custom-elements.json +45 -0
  574. package/lib/tornado-chart/custom-elements.md +18 -0
  575. package/lib/tornado-chart/elements/tornado-chart.d.ts +78 -0
  576. package/lib/tornado-chart/elements/tornado-chart.js +122 -0
  577. package/lib/tornado-chart/elements/tornado-item.d.ts +110 -0
  578. package/lib/tornado-chart/elements/tornado-item.js +207 -0
  579. package/lib/tornado-chart/index.d.ts +2 -0
  580. package/lib/tornado-chart/index.js +2 -0
  581. package/lib/tornado-chart/themes/halo/dark/index.js +6 -0
  582. package/lib/tornado-chart/themes/halo/light/index.js +6 -0
  583. package/lib/tornado-chart/themes/solar/charcoal/index.js +6 -0
  584. package/lib/tornado-chart/themes/solar/pearl/index.js +6 -0
  585. package/lib/tree/custom-elements.json +113 -0
  586. package/lib/tree/custom-elements.md +32 -0
  587. package/lib/tree/elements/tree-item.d.ts +96 -0
  588. package/lib/tree/elements/tree-item.js +179 -0
  589. package/lib/tree/elements/tree.d.ts +201 -0
  590. package/lib/tree/elements/tree.js +412 -0
  591. package/lib/tree/helpers/filter.d.ts +8 -0
  592. package/lib/tree/helpers/filter.js +33 -0
  593. package/lib/tree/helpers/renderer.d.ts +5 -0
  594. package/lib/tree/helpers/renderer.js +33 -0
  595. package/lib/tree/helpers/types.d.ts +25 -0
  596. package/lib/tree/helpers/types.js +1 -0
  597. package/lib/tree/index.d.ts +4 -0
  598. package/lib/tree/index.js +3 -0
  599. package/lib/tree/managers/tree-manager.d.ts +248 -0
  600. package/lib/tree/managers/tree-manager.js +395 -0
  601. package/lib/tree/themes/halo/dark/index.js +7 -0
  602. package/lib/tree/themes/halo/light/index.js +7 -0
  603. package/lib/tree/themes/solar/charcoal/index.js +7 -0
  604. package/lib/tree/themes/solar/pearl/index.js +7 -0
  605. package/lib/tree-select/custom-elements.json +107 -0
  606. package/lib/tree-select/custom-elements.md +26 -0
  607. package/lib/tree-select/helpers/types.d.ts +4 -0
  608. package/lib/tree-select/helpers/types.js +1 -0
  609. package/lib/tree-select/index.d.ts +402 -0
  610. package/lib/tree-select/index.js +890 -0
  611. package/lib/tree-select/themes/halo/dark/index.js +12 -0
  612. package/lib/tree-select/themes/halo/light/index.js +12 -0
  613. package/lib/tree-select/themes/solar/charcoal/index.js +12 -0
  614. package/lib/tree-select/themes/solar/pearl/index.js +12 -0
  615. package/lib/version.d.ts +1 -0
  616. package/lib/version.js +1 -0
  617. package/package.json +298 -15
@@ -0,0 +1,232 @@
1
+ import { JSXInterface } from '../jsx';
2
+ import { TemplateResult, CSSResultGroup, PropertyValues } from '@refinitiv-ui/core';
3
+ import '../button/index.js';
4
+ import '../number-field/index.js';
5
+ import '../text-field/index.js';
6
+ import { Dialog } from '../dialog/index.js';
7
+ import './elements/color-palettes.js';
8
+ import './elements/grayscale-palettes.js';
9
+ import { Translate } from '@refinitiv-ui/translate';
10
+ import '@refinitiv-ui/phrasebook/lib/locale/en/color-dialog.js';
11
+ /**
12
+ * Displays a colour picker dialog,
13
+ * for selecting a predefined range of colours.
14
+ *
15
+ * @fires value-changed - Fired when the `value` property changes.
16
+ * @fires opened-changed - Fired when the `opened` property changes.
17
+ *
18
+ * @attr {string|null} header - Set Header/Title of the color dialog
19
+ * @prop {string|null} header - Set Header/Title of the color dialog
20
+ *
21
+ * @attr {boolean} [opened=false] - Set dialog to open
22
+ * @prop {boolean} [opened=false] - Set dialog to open
23
+ *
24
+ * @attr {boolean} [no-cancel-on-esc-key=false] - Prevents dialog to close when user presses ESC key
25
+ * @prop {boolean} [noCancelOnEscKey=false] - Prevents dialog to close when user presses ESC key
26
+ *
27
+ * @attr {string} x - Set a specific x coordinate of dialog
28
+ * @prop {string} x - Set a specific x coordinate of dialog
29
+ *
30
+ * @attr {string} y - Set a specific y coordinate of dialog
31
+ * @prop {string} y - Set a specific y coordinate of dialog
32
+ *
33
+ * @attr {string} position-target - Set position of dialog i.e. `top`, `right`, `left`, `bottom`, `center` or combination of theme e.g. `top right`.
34
+ * @prop {string} positionTarget - Set position of dialog i.e. `top`, `right`, `left`, `bottom`, `center` or combination of theme e.g. `top right`.
35
+ *
36
+ * @prop {boolean} [noCancelOnOutsideClick=true] - Prevents dialog to close when user clicks outside the dialog.
37
+ *
38
+ * @prop {boolean} [withBackdrop=true] - False to hide backdrop.
39
+ *
40
+ * @prop {boolean} [draggable=true] - False to make the dialog not draggable.
41
+ *
42
+ * @prop {boolean} [withShadow=true] - False to remove shadow for dialog component.
43
+ */
44
+ export declare class ColorDialog extends Dialog {
45
+ /**
46
+ * Element version number
47
+ * @returns version number
48
+ */
49
+ static get version(): string;
50
+ /**
51
+ * A `CSSResultGroup` that will be used
52
+ * to style the host, slotted children
53
+ * and the internal template of the element.
54
+ * @return CSS template
55
+ */
56
+ static get styles(): CSSResultGroup;
57
+ /**
58
+ * speed up rendering by not populating content on page load
59
+ */
60
+ private lazyRendered;
61
+ /**
62
+ * Color dialog has commit button to update actual values
63
+ * Value model is used to support this functionality
64
+ */
65
+ private valueModel;
66
+ /**
67
+ * @ignore
68
+ */
69
+ draggable: boolean;
70
+ /**
71
+ * Set the palettes to activate no-color option
72
+ */
73
+ allowNocolor: boolean;
74
+ private _value;
75
+ /**
76
+ * Value of selected color from color dialog will be written here as hex value
77
+ * e.g. "#00f" or "#0000ff"
78
+ * @default -
79
+ * @param value A value to set
80
+ */
81
+ set value(value: string);
82
+ get value(): string;
83
+ /**
84
+ * Value of hex without # sign, supports both 3-digits shorthand hex and regular 6-digits hex
85
+ * @default -
86
+ * @param hex A hex value to set
87
+ */
88
+ set hex(hex: string);
89
+ get hex(): string;
90
+ /**
91
+ * Red value from 0 to 255
92
+ * @default -
93
+ * @param red Red value
94
+ */
95
+ set red(red: string);
96
+ get red(): string;
97
+ /**
98
+ * Green value from 0 to 255
99
+ * @default -
100
+ * @param green Green value
101
+ */
102
+ set green(green: string);
103
+ get green(): string;
104
+ /**
105
+ * Blue value from 0 to 255
106
+ * @default -
107
+ * @param blue Blue value
108
+ */
109
+ set blue(blue: string);
110
+ get blue(): string;
111
+ /**
112
+ * Used for translations
113
+ */
114
+ protected t: Translate;
115
+ /**
116
+ * A rgb color input for red spectrum
117
+ */
118
+ private redInputEl?;
119
+ /**
120
+ * A rgb color input for green spectrum
121
+ */
122
+ private greenInputEl?;
123
+ /**
124
+ * A rgb color input for blue spectrum
125
+ */
126
+ private blueInputEl?;
127
+ /**
128
+ * Check if component should be updated
129
+ * @param changedProperties properties changed on shouldUpdate lifecycle callback
130
+ * @returns boolean should component update
131
+ */
132
+ protected shouldUpdate(changedProperties: PropertyValues): boolean;
133
+ /**
134
+ * Updates the element
135
+ * @param changedProperties Properties that has changed
136
+ * @returns {void}
137
+ */
138
+ protected update(changedProperties: PropertyValues): void;
139
+ /**
140
+ * @inheritdoc
141
+ * Reset value model
142
+ * @param opened True if opened
143
+ * @returns {void}
144
+ */
145
+ protected setOpened(opened: boolean): void;
146
+ /**
147
+ * Reset value model always resets
148
+ * when either red, green, blue, hex or value are changed externally
149
+ * Value model is reset internally otherwise
150
+ * @returns {void}
151
+ */
152
+ private resetValueModel;
153
+ /**
154
+ * Check if value is valid HEX value (including #)
155
+ * @param value Value to check
156
+ * @returns true if value is valid
157
+ */
158
+ private isValidValue;
159
+ /**
160
+ * Check if value is valid HEX value (excluding #)
161
+ * @param value Value to check
162
+ * @returns true if value is valid
163
+ */
164
+ private isValidHex;
165
+ /**
166
+ * Check if value is within 0 - 255, and warn of it is not
167
+ * @param value Value to check
168
+ * @returns true if value is within 0 - 255
169
+ */
170
+ private isValidRGB;
171
+ /**
172
+ * update color value when tapping or dragging on color palettes
173
+ * @param event select color event
174
+ * @return {void}
175
+ */
176
+ private onColorChanged;
177
+ /**
178
+ * update hex value when typing on hex input
179
+ * @param event input event
180
+ * @return {void}
181
+ */
182
+ private onHexChanged;
183
+ /**
184
+ * update r,g,b value when typing on RGB inputs
185
+ * @param event input event
186
+ * @return {void}
187
+ */
188
+ private onRGBChanged;
189
+ /**
190
+ * set opened state to false
191
+ * @return {void}
192
+ */
193
+ private onCloseDialog;
194
+ /**
195
+ * fired value-changed event and close dialog
196
+ * @return {void}
197
+ */
198
+ private onConfirmValue;
199
+ /**
200
+ * Check if apply button is disabled
201
+ * The button is disabled if value is invalid
202
+ * or value has not changed
203
+ * @returns {boolean} true if disabled
204
+ */
205
+ private isApplyDisabled;
206
+ /**
207
+ * A `TemplateResult` that will be used
208
+ * to render the updated internal template.
209
+ * @return {TemplateResult} Render template
210
+ */
211
+ protected get contentRegion(): TemplateResult;
212
+ /**
213
+ * A `TemplateResult` that will be used
214
+ * to render the updated internal template.
215
+ * @return {TemplateResult} Render template
216
+ */
217
+ protected get footerRegion(): TemplateResult;
218
+ }
219
+
220
+ declare global {
221
+ interface HTMLElementTagNameMap {
222
+ 'ef-color-dialog': ColorDialog;
223
+ }
224
+
225
+ namespace JSX {
226
+ interface IntrinsicElements {
227
+ 'ef-color-dialog': Partial<ColorDialog> | JSXInterface.HTMLAttributes<ColorDialog>;
228
+ }
229
+ }
230
+ }
231
+
232
+ export {};
@@ -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 - 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} x - Set a specific x coordinate of dialog
36
+ * @prop {string} x - Set a specific x coordinate of dialog
37
+ *
38
+ * @attr {string} y - Set a specific y coordinate of dialog
39
+ * @prop {string} y - Set a specific y coordinate of dialog
40
+ *
41
+ * @attr {string} position-target - Set position of dialog i.e. `top`, `right`, `left`, `bottom`, `center` or combination of theme e.g. `top right`.
42
+ * @prop {string} 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}');