@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,207 @@
1
+ import { JSXInterface } from '../jsx';
2
+ import { BasicElement, PropertyValues, TemplateResult, CSSResultGroup } from '@refinitiv-ui/core';
3
+ import '../button/index.js';
4
+ import '../button-bar/index.js';
5
+ import '../layout/index.js';
6
+ import '../text-field/index.js';
7
+ import '@refinitiv-ui/phrasebook/lib/locale/en/pagination.js';
8
+ import { Translate } from '@refinitiv-ui/translate';
9
+ /**
10
+ * Used to control and navigate through multiple pages
11
+ * @fires page-changed - Fired when the `page` property is changed
12
+ */
13
+ export declare class Pagination extends BasicElement {
14
+ /**
15
+ * Element version number
16
+ * @returns version number
17
+ */
18
+ static get version(): string;
19
+ /**
20
+ * A `CSSResultGroup` that will be used
21
+ * to style the host, slotted children
22
+ * and the internal template of the element.
23
+ * @return CSS template
24
+ */
25
+ static get styles(): CSSResultGroup;
26
+ /**
27
+ * Set current page
28
+ */
29
+ page: string;
30
+ /**
31
+ * Number of item per page
32
+ */
33
+ pageSize: string;
34
+ /**
35
+ * Total items
36
+ */
37
+ totalItems: string;
38
+ /**
39
+ * Set state to disable
40
+ */
41
+ disabled: boolean;
42
+ /**
43
+ * Getter for info part
44
+ */
45
+ private infoElement;
46
+ /**
47
+ * Getter for text field as input part
48
+ */
49
+ private input;
50
+ /**
51
+ * Getter for first button as first part
52
+ */
53
+ private firstPageButton;
54
+ /**
55
+ * Getter for previous button as previous part
56
+ */
57
+ private previousPageButton;
58
+ /**
59
+ * Getter for next button as next part
60
+ */
61
+ private nextPageButton;
62
+ /**
63
+ * Getter for last button as last part
64
+ */
65
+ private lastPageButton;
66
+ /**
67
+ * Used for translations
68
+ */
69
+ protected t: Translate;
70
+ /**
71
+ * Invoked whenever the element is updated
72
+ * @param changedProperties Map of changed properties with old values
73
+ * @returns {void}
74
+ */
75
+ protected updated(changedProperties: PropertyValues): void;
76
+ /**
77
+ * Handle when page-size property changed
78
+ * @returns {void}
79
+ */
80
+ private pageSizeChanged;
81
+ /**
82
+ * Handle when total-items property changed
83
+ * @returns {void}
84
+ */
85
+ private totalItemsChanged;
86
+ /**
87
+ * Handle when disabled property changed
88
+ * @returns {void}
89
+ */
90
+ private disabledChanged;
91
+ /**
92
+ * Update disable/enable state of first, previous, next, and last
93
+ * First and previous should be disabled if showing first page
94
+ * Next and last should be disabled if showing last page
95
+ * @returns {void}
96
+ */
97
+ private updateButtons;
98
+ /**
99
+ * Calculate and return total pages
100
+ * Total pages should never less than 1
101
+ * @returns {number} Number of total page
102
+ */
103
+ private get totalPage();
104
+ /**
105
+ * Check a new page value to be usable
106
+ * if a new page value is allow then return newPage
107
+ * Condition to be old value is null or NaN or undefined or string or less than 1
108
+ * @param oldPage a old page value
109
+ * @param newPage a new page value
110
+ * @return return a new page value
111
+ */
112
+ private validatePage;
113
+ /**
114
+ * Get text to display in info part
115
+ * @returns {PageInfo} Used for translations
116
+ */
117
+ private get pageInfo();
118
+ /**
119
+ * Hide info part when it's too small
120
+ * @returns {void}
121
+ */
122
+ private onResize;
123
+ /**
124
+ * Handle when input is focus
125
+ * @returns {void}
126
+ */
127
+ private onInputFocus;
128
+ /**
129
+ * Handle when input lost focus
130
+ * @param event Event object
131
+ * @returns {void}
132
+ */
133
+ private onInputBlur;
134
+ /**
135
+ * Handles action when Enter key is press onto the input
136
+ * @param event Keyboard event
137
+ * @returns {void}
138
+ */
139
+ private onInputKeyDown;
140
+ /**
141
+ * Updates page value depending on direction
142
+ * @param direction page value direction
143
+ * @param event whether the event page-changed should fire
144
+ * @returns {void}
145
+ */
146
+ private updatePage;
147
+ /**
148
+ * Go to the next page
149
+ * @returns {void}
150
+ */
151
+ next(): void;
152
+ /**
153
+ * Go to the next page and fires event
154
+ * @returns {void}
155
+ */
156
+ private onNextTap;
157
+ /**
158
+ * Go to the previous page
159
+ * @returns {void}
160
+ */
161
+ previous(): void;
162
+ /**
163
+ * Go to the previous page and fires evetn
164
+ * @returns {void}
165
+ */
166
+ private onPreviousTap;
167
+ /**
168
+ * Go to the first page
169
+ * @returns {void}
170
+ */
171
+ first(): void;
172
+ /**
173
+ * Go to the first page and fires event
174
+ * @returns {void}
175
+ */
176
+ private onFirstTap;
177
+ /**
178
+ * Go to the last page
179
+ * @returns {void}
180
+ */
181
+ last(): void;
182
+ /**
183
+ * Go to the last page and fires event
184
+ * @returns {void}
185
+ */
186
+ private onLastTap;
187
+ /**
188
+ * A `TemplateResult` that will be used
189
+ * to render the updated internal template.
190
+ * @return {TemplateResult} Render template
191
+ */
192
+ protected render(): TemplateResult;
193
+ }
194
+
195
+ declare global {
196
+ interface HTMLElementTagNameMap {
197
+ 'ef-pagination': Pagination;
198
+ }
199
+
200
+ namespace JSX {
201
+ interface IntrinsicElements {
202
+ 'ef-pagination': Partial<Pagination> | JSXInterface.HTMLAttributes<Pagination>;
203
+ }
204
+ }
205
+ }
206
+
207
+ export {};
@@ -0,0 +1,398 @@
1
+ import { __decorate } from "tslib";
2
+ import { BasicElement, html, css } 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 { VERSION } from '../version.js';
7
+ import '../button/index.js';
8
+ import '../button-bar/index.js';
9
+ import '../layout/index.js';
10
+ import '../text-field/index.js';
11
+ import '@refinitiv-ui/phrasebook/lib/locale/en/pagination.js';
12
+ import { translate } from '@refinitiv-ui/translate';
13
+ /**
14
+ * Used to control and navigate through multiple pages
15
+ * @fires page-changed - Fired when the `page` property is changed
16
+ */
17
+ let Pagination = class Pagination extends BasicElement {
18
+ constructor() {
19
+ super(...arguments);
20
+ /**
21
+ * Set current page
22
+ */
23
+ this.page = '1';
24
+ /**
25
+ * Number of item per page
26
+ */
27
+ this.pageSize = '10';
28
+ /**
29
+ * Total items
30
+ */
31
+ this.totalItems = '10';
32
+ /**
33
+ * Set state to disable
34
+ */
35
+ this.disabled = false;
36
+ }
37
+ /**
38
+ * Element version number
39
+ * @returns version number
40
+ */
41
+ static get version() {
42
+ return VERSION;
43
+ }
44
+ /**
45
+ * A `CSSResultGroup` that will be used
46
+ * to style the host, slotted children
47
+ * and the internal template of the element.
48
+ * @return CSS template
49
+ */
50
+ static get styles() {
51
+ return css `
52
+ :host {
53
+ display: block;
54
+ --responsive-width: 450;
55
+ }
56
+ `;
57
+ }
58
+ /**
59
+ * Invoked whenever the element is updated
60
+ * @param changedProperties Map of changed properties with old values
61
+ * @returns {void}
62
+ */
63
+ updated(changedProperties) {
64
+ super.updated(changedProperties);
65
+ if (changedProperties.has('disabled')) {
66
+ this.disabledChanged();
67
+ }
68
+ if (changedProperties.has('page')) {
69
+ const previousPage = changedProperties.get('page');
70
+ this.page = this.validatePage(previousPage, this.page);
71
+ this.updateButtons();
72
+ }
73
+ if (changedProperties.has('pageSize')) {
74
+ this.pageSizeChanged();
75
+ }
76
+ if (changedProperties.has('totalItems')) {
77
+ this.totalItemsChanged();
78
+ }
79
+ }
80
+ /**
81
+ * Handle when page-size property changed
82
+ * @returns {void}
83
+ */
84
+ pageSizeChanged() {
85
+ const page = Number.parseInt(this.page, 10);
86
+ const pageSize = Number.parseInt(this.pageSize, 10);
87
+ // page must have at least 1 item
88
+ if (pageSize < 1) {
89
+ this.pageSize = '1';
90
+ }
91
+ if (page > this.totalPage) {
92
+ this.page = this.totalPage.toString();
93
+ }
94
+ this.updateButtons();
95
+ }
96
+ /**
97
+ * Handle when total-items property changed
98
+ * @returns {void}
99
+ */
100
+ totalItemsChanged() {
101
+ const page = Number.parseInt(this.page, 10);
102
+ const totalItems = Number.parseInt(this.totalItems, 10);
103
+ // handle if someone doesn't know how to count
104
+ if (totalItems < 1) {
105
+ this.totalItems = '0';
106
+ this.page = '1';
107
+ }
108
+ else if (page > this.totalPage) {
109
+ this.page = this.totalPage.toString();
110
+ }
111
+ this.updateButtons();
112
+ }
113
+ /**
114
+ * Handle when disabled property changed
115
+ * @returns {void}
116
+ */
117
+ disabledChanged() {
118
+ if (this.disabled) {
119
+ this.infoElement.setAttribute('disabled', '');
120
+ }
121
+ else {
122
+ this.infoElement.removeAttribute('disabled');
123
+ }
124
+ this.input.disabled = this.disabled;
125
+ // recalculate button state
126
+ this.updateButtons();
127
+ }
128
+ /**
129
+ * Update disable/enable state of first, previous, next, and last
130
+ * First and previous should be disabled if showing first page
131
+ * Next and last should be disabled if showing last page
132
+ * @returns {void}
133
+ */
134
+ updateButtons() {
135
+ const page = Number.parseInt(this.page, 10);
136
+ const firstPage = this.disabled || page <= 1;
137
+ const lastPage = this.disabled || page >= this.totalPage;
138
+ this.previousPageButton.disabled = firstPage;
139
+ this.firstPageButton.disabled = firstPage;
140
+ this.nextPageButton.disabled = lastPage;
141
+ this.lastPageButton.disabled = lastPage;
142
+ }
143
+ /**
144
+ * Calculate and return total pages
145
+ * Total pages should never less than 1
146
+ * @returns {number} Number of total page
147
+ */
148
+ get totalPage() {
149
+ const pageSize = Number.parseInt(this.pageSize, 10);
150
+ const totalItems = Number.parseInt(this.totalItems, 10);
151
+ if (pageSize > 0) {
152
+ const totalPage = Math.ceil(totalItems / pageSize);
153
+ return totalPage > 0 ? totalPage : 1;
154
+ }
155
+ return 1;
156
+ }
157
+ /**
158
+ * Check a new page value to be usable
159
+ * if a new page value is allow then return newPage
160
+ * Condition to be old value is null or NaN or undefined or string or less than 1
161
+ * @param oldPage a old page value
162
+ * @param newPage a new page value
163
+ * @return return a new page value
164
+ */
165
+ validatePage(oldPage, newPage) {
166
+ let page = Number.parseInt(newPage, 10);
167
+ if (!page || isNaN(Number(newPage)) || isNaN(page)) {
168
+ page = Number.parseInt(oldPage, 10);
169
+ }
170
+ else if (page > this.totalPage) {
171
+ page = this.totalPage;
172
+ }
173
+ else if (page < 1) {
174
+ page = 1;
175
+ }
176
+ return page.toString();
177
+ }
178
+ /**
179
+ * Get text to display in info part
180
+ * @returns {PageInfo} Used for translations
181
+ */
182
+ get pageInfo() {
183
+ const page = Number.parseInt(this.page, 10);
184
+ const pageSize = Number.parseInt(this.pageSize, 10);
185
+ const totalCount = Number.parseInt(this.totalItems, 10);
186
+ const from = ((page - 1) * pageSize) + 1;
187
+ const to = page * pageSize > totalCount ? totalCount : page * pageSize;
188
+ return {
189
+ from,
190
+ to,
191
+ totalCount,
192
+ pageSize
193
+ };
194
+ }
195
+ /**
196
+ * Hide info part when it's too small
197
+ * @returns {void}
198
+ */
199
+ onResize() {
200
+ const display = this.clientWidth < Number.parseInt(this.getComputedVariable('--responsive-width'), 10) ? 'none' : 'block';
201
+ this.infoElement.style.display = display;
202
+ }
203
+ /**
204
+ * Handle when input is focus
205
+ * @returns {void}
206
+ */
207
+ onInputFocus() {
208
+ this.input.value = this.page;
209
+ setTimeout(() => {
210
+ this.input.select();
211
+ });
212
+ }
213
+ /**
214
+ * Handle when input lost focus
215
+ * @param event Event object
216
+ * @returns {void}
217
+ */
218
+ onInputBlur(event) {
219
+ const oldPageValue = this.page;
220
+ this.page = this.validatePage(this.page, event.target.value);
221
+ // need this to update input text
222
+ this.requestUpdate();
223
+ if (this.page !== oldPageValue) {
224
+ this.notifyPropertyChange('page', this.page);
225
+ }
226
+ }
227
+ /**
228
+ * Handles action when Enter key is press onto the input
229
+ * @param event Keyboard event
230
+ * @returns {void}
231
+ */
232
+ onInputKeyDown(event) {
233
+ var _a, _b;
234
+ if (event.key === 'Enter' || event.keyCode === 13) {
235
+ /*
236
+ * Issue only in firefox
237
+ * cannot blur() or focus() to this.input
238
+ * so create a temp to this.input loses focus
239
+ */
240
+ const temp = document.createElement('input');
241
+ (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.appendChild(temp);
242
+ temp.focus();
243
+ this.input.blur();
244
+ (_b = this.shadowRoot) === null || _b === void 0 ? void 0 : _b.removeChild(temp);
245
+ event.preventDefault();
246
+ }
247
+ }
248
+ /**
249
+ * Updates page value depending on direction
250
+ * @param direction page value direction
251
+ * @param event whether the event page-changed should fire
252
+ * @returns {void}
253
+ */
254
+ updatePage(direction, event = false) {
255
+ const page = parseInt(this.page, 10);
256
+ const limit = direction === 'increment' ? page < this.totalPage : page > 1;
257
+ if (limit) {
258
+ this.page = direction === 'increment' ? (page + 1).toString() : (page - 1).toString();
259
+ if (event) {
260
+ this.notifyPropertyChange('page', this.page);
261
+ }
262
+ }
263
+ }
264
+ /**
265
+ * Go to the next page
266
+ * @returns {void}
267
+ */
268
+ next() {
269
+ this.input.blur();
270
+ this.updatePage('increment');
271
+ }
272
+ /**
273
+ * Go to the next page and fires event
274
+ * @returns {void}
275
+ */
276
+ onNextTap() {
277
+ this.input.blur();
278
+ this.updatePage('increment', true);
279
+ }
280
+ /**
281
+ * Go to the previous page
282
+ * @returns {void}
283
+ */
284
+ previous() {
285
+ this.input.blur();
286
+ this.updatePage('decrement');
287
+ }
288
+ /**
289
+ * Go to the previous page and fires evetn
290
+ * @returns {void}
291
+ */
292
+ onPreviousTap() {
293
+ this.input.blur();
294
+ this.updatePage('decrement', true);
295
+ }
296
+ /**
297
+ * Go to the first page
298
+ * @returns {void}
299
+ */
300
+ first() {
301
+ this.input.blur();
302
+ this.page = '1';
303
+ }
304
+ /**
305
+ * Go to the first page and fires event
306
+ * @returns {void}
307
+ */
308
+ onFirstTap() {
309
+ this.first();
310
+ this.notifyPropertyChange('page', this.page);
311
+ }
312
+ /**
313
+ * Go to the last page
314
+ * @returns {void}
315
+ */
316
+ last() {
317
+ this.input.blur();
318
+ this.page = this.totalPage.toString();
319
+ }
320
+ /**
321
+ * Go to the last page and fires event
322
+ * @returns {void}
323
+ */
324
+ onLastTap() {
325
+ this.last();
326
+ this.notifyPropertyChange('page', this.page);
327
+ }
328
+ /**
329
+ * A `TemplateResult` that will be used
330
+ * to render the updated internal template.
331
+ * @return {TemplateResult} Render template
332
+ */
333
+ render() {
334
+ return html `
335
+ <ef-layout part="container" flex nowrap @resize="${this.onResize}">
336
+ <div id="info" part="info">${this.t('ITEM_INFO', this.pageInfo)}</div>
337
+ <ef-button-bar part="buttons">
338
+ <ef-button id="first" icon="skip-to-start" @tap="${this.onFirstTap}"></ef-button>
339
+ <ef-button id="previous" icon="left" @tap="${this.onPreviousTap}"></ef-button>
340
+ </ef-button-bar>
341
+ <ef-text-field
342
+ id="input"
343
+ part="input"
344
+ @focus="${this.onInputFocus}"
345
+ @blur="${this.onInputBlur}"
346
+ @keydown="${this.onInputKeyDown}"
347
+ .value="${this.t('PAGE_OF', {
348
+ page: this.page,
349
+ pageTotal: this.totalPage
350
+ })}"
351
+ no-spinner></ef-text-field>
352
+ <ef-button-bar part="buttons">
353
+ <ef-button id="next" icon="right" @tap="${this.onNextTap}"></ef-button>
354
+ <ef-button id="last" icon="skip-to-end" @tap="${this.onLastTap}"></ef-button>
355
+ </ef-button-bar>
356
+ </ef-layout>
357
+ `;
358
+ }
359
+ };
360
+ __decorate([
361
+ property({ type: String })
362
+ ], Pagination.prototype, "page", void 0);
363
+ __decorate([
364
+ property({ type: String, attribute: 'page-size' })
365
+ ], Pagination.prototype, "pageSize", void 0);
366
+ __decorate([
367
+ property({ type: String, attribute: 'total-items' })
368
+ ], Pagination.prototype, "totalItems", void 0);
369
+ __decorate([
370
+ property({ type: Boolean, reflect: true })
371
+ ], Pagination.prototype, "disabled", void 0);
372
+ __decorate([
373
+ query('#info')
374
+ ], Pagination.prototype, "infoElement", void 0);
375
+ __decorate([
376
+ query('#input')
377
+ ], Pagination.prototype, "input", void 0);
378
+ __decorate([
379
+ query('#first')
380
+ ], Pagination.prototype, "firstPageButton", void 0);
381
+ __decorate([
382
+ query('#previous')
383
+ ], Pagination.prototype, "previousPageButton", void 0);
384
+ __decorate([
385
+ query('#next')
386
+ ], Pagination.prototype, "nextPageButton", void 0);
387
+ __decorate([
388
+ query('#last')
389
+ ], Pagination.prototype, "lastPageButton", void 0);
390
+ __decorate([
391
+ translate()
392
+ ], Pagination.prototype, "t", void 0);
393
+ Pagination = __decorate([
394
+ customElement('ef-pagination', {
395
+ alias: 'emerald-pagination'
396
+ })
397
+ ], Pagination);
398
+ export { Pagination };
@@ -0,0 +1,6 @@
1
+ import '@refinitiv-ui/elements/lib/button/themes/halo/dark';
2
+ import '@refinitiv-ui/elements/lib/text-field/themes/halo/dark';
3
+ import '@refinitiv-ui/elements/lib/button-bar/themes/halo/dark';
4
+ import '@refinitiv-ui/elements/lib/layout/themes/halo/dark';
5
+
6
+ elf.customStyles.define('ef-pagination', ':host [part=container]{align-items:center;justify-content:flex-end}:host [part=info]{margin-right:10px;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host([disabled]) [part=info]{color:rgba(204,204,204,.5)}:host [part=input]{min-width:40px;text-align:center;height:22px;width:150px;margin:0}:host [part=button],:host [part=input]{touch-action:manipulation}:host{--responsive-width:400;margin:1px 0}:host [part=buttons]{margin:0}');
@@ -0,0 +1,6 @@
1
+ import '@refinitiv-ui/elements/lib/button/themes/halo/light';
2
+ import '@refinitiv-ui/elements/lib/text-field/themes/halo/light';
3
+ import '@refinitiv-ui/elements/lib/button-bar/themes/halo/light';
4
+ import '@refinitiv-ui/elements/lib/layout/themes/halo/light';
5
+
6
+ elf.customStyles.define('ef-pagination', ':host [part=container]{align-items:center;justify-content:flex-end}:host [part=info]{margin-right:10px;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host([disabled]) [part=info]{color:rgba(64,64,64,.5)}:host [part=input]{min-width:40px;text-align:center;width:150px;margin:0 1px}:host [part=button],:host [part=input]{touch-action:manipulation}:host{--responsive-width:400;margin:1px 0}:host [part=buttons]{margin:0}');
@@ -0,0 +1,6 @@
1
+ import '@refinitiv-ui/elements/lib/button/themes/solar/charcoal';
2
+ import '@refinitiv-ui/elements/lib/text-field/themes/solar/charcoal';
3
+ import '@refinitiv-ui/elements/lib/button-bar/themes/solar/charcoal';
4
+ import '@refinitiv-ui/elements/lib/layout/themes/solar/charcoal';
5
+
6
+ elf.customStyles.define('ef-pagination', ':host [part=container]{align-items:center;justify-content:flex-end}:host [part=info]{margin-right:10px;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host([disabled]) [part=info]{color:rgba(194,194,194,.6)}:host [part=input]{min-width:40px;text-align:center;height:21px;width:150px;margin:0}:host [part=button],:host [part=input]{touch-action:manipulation}:host{--first-icon:previous;--last-icon:next;--previous-icon:left;--next-icon:right;--responsive-width:300}');
@@ -0,0 +1,6 @@
1
+ import '@refinitiv-ui/elements/lib/button/themes/solar/pearl';
2
+ import '@refinitiv-ui/elements/lib/text-field/themes/solar/pearl';
3
+ import '@refinitiv-ui/elements/lib/button-bar/themes/solar/pearl';
4
+ import '@refinitiv-ui/elements/lib/layout/themes/solar/pearl';
5
+
6
+ elf.customStyles.define('ef-pagination', ':host [part=container]{align-items:center;justify-content:flex-end}:host [part=info]{margin-right:10px;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host([disabled]) [part=info]{color:rgba(72,72,72,.6)}:host [part=input]{min-width:40px;text-align:center;height:23px;width:150px;margin:0 1px}:host [part=button],:host [part=input]{touch-action:manipulation}:host{--first-icon:previous;--last-icon:next;--previous-icon:left;--next-icon:right;--responsive-width:300}');
@@ -0,0 +1,39 @@
1
+ {
2
+ "version": "experimental",
3
+ "tags": [
4
+ {
5
+ "name": "ef-panel",
6
+ "description": "A container for components.\nIt provides a standard background color and padding, depends on theme.",
7
+ "attributes": [
8
+ {
9
+ "name": "spacing",
10
+ "description": "Apply default padding from theme",
11
+ "type": "boolean",
12
+ "default": "false"
13
+ },
14
+ {
15
+ "name": "transparent",
16
+ "description": "Set panel background to transparent",
17
+ "type": "boolean",
18
+ "default": "false"
19
+ }
20
+ ],
21
+ "properties": [
22
+ {
23
+ "name": "spacing",
24
+ "attribute": "spacing",
25
+ "description": "Apply default padding from theme",
26
+ "type": "boolean",
27
+ "default": "false"
28
+ },
29
+ {
30
+ "name": "transparent",
31
+ "attribute": "transparent",
32
+ "description": "Set panel background to transparent",
33
+ "type": "boolean",
34
+ "default": "false"
35
+ }
36
+ ]
37
+ }
38
+ ]
39
+ }
@@ -0,0 +1,11 @@
1
+ # ef-panel
2
+
3
+ A container for components.
4
+ It provides a standard background color and padding, depends on theme.
5
+
6
+ ## Properties
7
+
8
+ | Property | Attribute | Type | Default | Description |
9
+ |---------------|---------------|-----------|---------|-------------------------------------|
10
+ | `spacing` | `spacing` | `boolean` | false | Apply default padding from theme |
11
+ | `transparent` | `transparent` | `boolean` | false | Set panel background to transparent |