@refinitiv-ui/elements 5.3.3 → 5.3.4

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 (558) hide show
  1. package/lib/accordion/custom-elements.json +49 -0
  2. package/lib/accordion/index.d.ts +76 -0
  3. package/lib/accordion/index.js +139 -0
  4. package/lib/accordion/themes/halo/dark/index.js +3 -0
  5. package/lib/accordion/themes/halo/light/index.js +3 -0
  6. package/lib/accordion/themes/solar/charcoal/index.js +3 -0
  7. package/lib/accordion/themes/solar/pearl/index.js +3 -0
  8. package/lib/appstate-bar/custom-elements.json +49 -0
  9. package/lib/appstate-bar/index.d.ts +65 -0
  10. package/lib/appstate-bar/index.js +103 -0
  11. package/lib/appstate-bar/themes/halo/dark/index.js +3 -0
  12. package/lib/appstate-bar/themes/halo/light/index.js +3 -0
  13. package/lib/appstate-bar/themes/solar/charcoal/index.js +3 -0
  14. package/lib/appstate-bar/themes/solar/pearl/index.js +3 -0
  15. package/lib/autosuggest/custom-elements.json +223 -0
  16. package/lib/autosuggest/helpers/const.d.ts +2 -0
  17. package/lib/autosuggest/helpers/const.js +3 -0
  18. package/lib/autosuggest/helpers/types.d.ts +54 -0
  19. package/lib/autosuggest/helpers/types.js +1 -0
  20. package/lib/autosuggest/helpers/utils.d.ts +39 -0
  21. package/lib/autosuggest/helpers/utils.js +76 -0
  22. package/lib/autosuggest/index.d.ts +533 -0
  23. package/lib/autosuggest/index.js +1248 -0
  24. package/lib/autosuggest/themes/halo/dark/index.js +5 -0
  25. package/lib/autosuggest/themes/halo/light/index.js +5 -0
  26. package/lib/autosuggest/themes/solar/charcoal/index.js +5 -0
  27. package/lib/autosuggest/themes/solar/pearl/index.js +5 -0
  28. package/lib/button/custom-elements.json +119 -0
  29. package/lib/button/index.d.ts +132 -0
  30. package/lib/button/index.js +213 -0
  31. package/lib/button/themes/halo/dark/index.js +3 -0
  32. package/lib/button/themes/halo/light/index.js +3 -0
  33. package/lib/button/themes/solar/charcoal/index.js +3 -0
  34. package/lib/button/themes/solar/pearl/index.js +3 -0
  35. package/lib/button-bar/custom-elements.json +26 -0
  36. package/lib/button-bar/index.d.ts +76 -0
  37. package/lib/button-bar/index.js +157 -0
  38. package/lib/button-bar/themes/halo/dark/index.js +3 -0
  39. package/lib/button-bar/themes/halo/light/index.js +3 -0
  40. package/lib/button-bar/themes/solar/charcoal/index.js +3 -0
  41. package/lib/button-bar/themes/solar/pearl/index.js +3 -0
  42. package/lib/calendar/custom-elements.json +199 -0
  43. package/lib/calendar/index.d.ts +321 -0
  44. package/lib/calendar/index.js +926 -0
  45. package/lib/calendar/locales.d.ts +31 -0
  46. package/lib/calendar/locales.js +144 -0
  47. package/lib/calendar/themes/halo/dark/index.js +3 -0
  48. package/lib/calendar/themes/halo/light/index.js +3 -0
  49. package/lib/calendar/themes/solar/charcoal/index.js +3 -0
  50. package/lib/calendar/themes/solar/pearl/index.js +3 -0
  51. package/lib/calendar/types.d.ts +33 -0
  52. package/lib/calendar/types.js +6 -0
  53. package/lib/calendar/utils.d.ts +12 -0
  54. package/lib/calendar/utils.js +17 -0
  55. package/lib/canvas/custom-elements.json +69 -0
  56. package/lib/canvas/index.d.ts +100 -0
  57. package/lib/canvas/index.js +175 -0
  58. package/lib/canvas/themes/halo/dark/index.js +2 -0
  59. package/lib/canvas/themes/halo/light/index.js +2 -0
  60. package/lib/canvas/themes/solar/charcoal/index.js +2 -0
  61. package/lib/canvas/themes/solar/pearl/index.js +2 -0
  62. package/lib/card/custom-elements.json +59 -0
  63. package/lib/card/helpers/types.d.ts +12 -0
  64. package/lib/card/helpers/types.js +1 -0
  65. package/lib/card/index.d.ts +140 -0
  66. package/lib/card/index.js +247 -0
  67. package/lib/card/themes/halo/dark/index.js +5 -0
  68. package/lib/card/themes/halo/light/index.js +5 -0
  69. package/lib/card/themes/solar/charcoal/index.js +5 -0
  70. package/lib/card/themes/solar/pearl/index.js +5 -0
  71. package/lib/chart/custom-elements.json +42 -0
  72. package/lib/chart/helpers/index.d.ts +2 -0
  73. package/lib/chart/helpers/index.js +2 -0
  74. package/lib/chart/helpers/legend.d.ts +5 -0
  75. package/lib/chart/helpers/legend.js +78 -0
  76. package/lib/chart/helpers/merge.d.ts +15 -0
  77. package/lib/chart/helpers/merge.js +28 -0
  78. package/lib/chart/helpers/types.d.ts +69 -0
  79. package/lib/chart/helpers/types.js +1 -0
  80. package/lib/chart/index.d.ts +187 -0
  81. package/lib/chart/index.js +493 -0
  82. package/lib/chart/plugins/doughnut-center-label.d.ts +3 -0
  83. package/lib/chart/plugins/doughnut-center-label.js +196 -0
  84. package/lib/chart/themes/halo/dark/index.js +4 -0
  85. package/lib/chart/themes/halo/light/index.js +4 -0
  86. package/lib/chart/themes/solar/charcoal/index.js +4 -0
  87. package/lib/chart/themes/solar/pearl/index.js +4 -0
  88. package/lib/checkbox/custom-elements.json +71 -0
  89. package/lib/checkbox/index.d.ts +89 -0
  90. package/lib/checkbox/index.js +170 -0
  91. package/lib/checkbox/themes/halo/dark/index.js +4 -0
  92. package/lib/checkbox/themes/halo/light/index.js +4 -0
  93. package/lib/checkbox/themes/solar/charcoal/index.js +4 -0
  94. package/lib/checkbox/themes/solar/pearl/index.js +4 -0
  95. package/lib/clock/custom-elements.json +108 -0
  96. package/lib/clock/index.d.ts +309 -0
  97. package/lib/clock/index.js +564 -0
  98. package/lib/clock/themes/halo/dark/index.js +2 -0
  99. package/lib/clock/themes/halo/light/index.js +2 -0
  100. package/lib/clock/themes/solar/charcoal/index.js +2 -0
  101. package/lib/clock/themes/solar/pearl/index.js +2 -0
  102. package/lib/clock/utils/TickManager.d.ts +14 -0
  103. package/lib/clock/utils/TickManager.js +66 -0
  104. package/lib/clock/utils/timestamps.d.ts +6 -0
  105. package/lib/clock/utils/timestamps.js +6 -0
  106. package/lib/collapse/custom-elements.json +79 -0
  107. package/lib/collapse/index.d.ts +119 -0
  108. package/lib/collapse/index.js +199 -0
  109. package/lib/collapse/themes/halo/dark/index.js +5 -0
  110. package/lib/collapse/themes/halo/light/index.js +5 -0
  111. package/lib/collapse/themes/solar/charcoal/index.js +5 -0
  112. package/lib/collapse/themes/solar/pearl/index.js +5 -0
  113. package/lib/color-dialog/custom-elements.json +193 -0
  114. package/lib/color-dialog/elements/color-palettes.d.ts +52 -0
  115. package/lib/color-dialog/elements/color-palettes.js +105 -0
  116. package/lib/color-dialog/elements/grayscale-palettes.d.ts +67 -0
  117. package/lib/color-dialog/elements/grayscale-palettes.js +164 -0
  118. package/lib/color-dialog/elements/palettes.d.ts +58 -0
  119. package/lib/color-dialog/elements/palettes.js +119 -0
  120. package/lib/color-dialog/helpers/color-helpers.d.ts +62 -0
  121. package/lib/color-dialog/helpers/color-helpers.js +258 -0
  122. package/lib/color-dialog/helpers/value-model.d.ts +75 -0
  123. package/lib/color-dialog/helpers/value-model.js +139 -0
  124. package/lib/color-dialog/index.d.ts +232 -0
  125. package/lib/color-dialog/index.js +457 -0
  126. package/lib/color-dialog/themes/halo/dark/index.js +7 -0
  127. package/lib/color-dialog/themes/halo/light/index.js +7 -0
  128. package/lib/color-dialog/themes/solar/charcoal/index.js +7 -0
  129. package/lib/color-dialog/themes/solar/pearl/index.js +7 -0
  130. package/lib/combo-box/custom-elements.json +207 -0
  131. package/lib/combo-box/helpers/filter.d.ts +10 -0
  132. package/lib/combo-box/helpers/filter.js +29 -0
  133. package/lib/combo-box/helpers/keyboard-event.d.ts +17 -0
  134. package/lib/combo-box/helpers/keyboard-event.js +19 -0
  135. package/lib/combo-box/helpers/types.d.ts +11 -0
  136. package/lib/combo-box/helpers/types.js +1 -0
  137. package/lib/combo-box/index.d.ts +523 -0
  138. package/lib/combo-box/index.js +1146 -0
  139. package/lib/combo-box/themes/halo/dark/index.js +8 -0
  140. package/lib/combo-box/themes/halo/light/index.js +8 -0
  141. package/lib/combo-box/themes/solar/charcoal/index.js +8 -0
  142. package/lib/combo-box/themes/solar/pearl/index.js +8 -0
  143. package/lib/counter/custom-elements.json +35 -0
  144. package/lib/counter/index.d.ts +89 -0
  145. package/lib/counter/index.js +155 -0
  146. package/lib/counter/themes/halo/dark/index.js +3 -0
  147. package/lib/counter/themes/halo/light/index.js +3 -0
  148. package/lib/counter/themes/solar/charcoal/index.js +3 -0
  149. package/lib/counter/themes/solar/pearl/index.js +3 -0
  150. package/lib/counter/utils.d.ts +13 -0
  151. package/lib/counter/utils.js +52 -0
  152. package/lib/datetime-picker/custom-elements.json +333 -0
  153. package/lib/datetime-picker/index.d.ts +498 -0
  154. package/lib/datetime-picker/index.js +1164 -0
  155. package/lib/datetime-picker/locales.d.ts +8 -0
  156. package/lib/datetime-picker/locales.js +46 -0
  157. package/lib/datetime-picker/themes/halo/dark/index.js +7 -0
  158. package/lib/datetime-picker/themes/halo/light/index.js +7 -0
  159. package/lib/datetime-picker/themes/solar/charcoal/index.js +7 -0
  160. package/lib/datetime-picker/themes/solar/pearl/index.js +7 -0
  161. package/lib/datetime-picker/types.d.ts +3 -0
  162. package/lib/datetime-picker/types.js +1 -0
  163. package/lib/datetime-picker/utils.d.ts +55 -0
  164. package/lib/datetime-picker/utils.js +92 -0
  165. package/lib/dialog/custom-elements.json +136 -0
  166. package/lib/dialog/draggable-element.d.ts +14 -0
  167. package/lib/dialog/draggable-element.js +221 -0
  168. package/lib/dialog/index.d.ts +199 -0
  169. package/lib/dialog/index.js +331 -0
  170. package/lib/dialog/themes/halo/dark/index.js +7 -0
  171. package/lib/dialog/themes/halo/light/index.js +7 -0
  172. package/lib/dialog/themes/solar/charcoal/index.js +7 -0
  173. package/lib/dialog/themes/solar/pearl/index.js +7 -0
  174. package/lib/email-field/custom-elements.json +199 -0
  175. package/lib/email-field/index.d.ts +152 -0
  176. package/lib/email-field/index.js +287 -0
  177. package/lib/email-field/themes/halo/dark/index.js +3 -0
  178. package/lib/email-field/themes/halo/light/index.js +3 -0
  179. package/lib/email-field/themes/solar/charcoal/index.js +3 -0
  180. package/lib/email-field/themes/solar/pearl/index.js +3 -0
  181. package/lib/events.d.ts +121 -0
  182. package/lib/events.js +2 -0
  183. package/lib/flag/custom-elements.json +35 -0
  184. package/lib/flag/index.d.ts +94 -0
  185. package/lib/flag/index.js +168 -0
  186. package/lib/flag/themes/halo/dark/index.js +2 -0
  187. package/lib/flag/themes/halo/light/index.js +2 -0
  188. package/lib/flag/themes/solar/charcoal/index.js +2 -0
  189. package/lib/flag/themes/solar/pearl/index.js +2 -0
  190. package/lib/flag/utils/FlagLoader.d.ts +47 -0
  191. package/lib/flag/utils/FlagLoader.js +86 -0
  192. package/lib/header/custom-elements.json +36 -0
  193. package/lib/header/index.d.ts +46 -0
  194. package/lib/header/index.js +76 -0
  195. package/lib/header/themes/halo/dark/index.js +2 -0
  196. package/lib/header/themes/halo/light/index.js +2 -0
  197. package/lib/header/themes/solar/charcoal/index.js +2 -0
  198. package/lib/header/themes/solar/pearl/index.js +2 -0
  199. package/lib/heatmap/custom-elements.json +151 -0
  200. package/lib/heatmap/helpers/color.d.ts +30 -0
  201. package/lib/heatmap/helpers/color.js +68 -0
  202. package/lib/heatmap/helpers/text.d.ts +26 -0
  203. package/lib/heatmap/helpers/text.js +91 -0
  204. package/lib/heatmap/helpers/track.d.ts +102 -0
  205. package/lib/heatmap/helpers/track.js +160 -0
  206. package/lib/heatmap/helpers/types.d.ts +40 -0
  207. package/lib/heatmap/helpers/types.js +1 -0
  208. package/lib/heatmap/index.d.ts +453 -0
  209. package/lib/heatmap/index.js +1104 -0
  210. package/lib/heatmap/themes/halo/dark/index.js +4 -0
  211. package/lib/heatmap/themes/halo/light/index.js +4 -0
  212. package/lib/heatmap/themes/solar/charcoal/index.js +4 -0
  213. package/lib/heatmap/themes/solar/pearl/index.js +4 -0
  214. package/lib/icon/custom-elements.json +34 -0
  215. package/lib/icon/index.d.ts +87 -0
  216. package/lib/icon/index.js +161 -0
  217. package/lib/icon/themes/halo/dark/index.js +2 -0
  218. package/lib/icon/themes/halo/light/index.js +2 -0
  219. package/lib/icon/themes/solar/charcoal/index.js +2 -0
  220. package/lib/icon/themes/solar/pearl/index.js +2 -0
  221. package/lib/icon/utils/IconLoader.d.ts +47 -0
  222. package/lib/icon/utils/IconLoader.js +86 -0
  223. package/lib/index.d.ts +2 -0
  224. package/lib/index.js +2 -0
  225. package/lib/interactive-chart/custom-elements.json +86 -0
  226. package/lib/interactive-chart/helpers/merge.d.ts +15 -0
  227. package/lib/interactive-chart/helpers/merge.js +28 -0
  228. package/lib/interactive-chart/helpers/types.d.ts +45 -0
  229. package/lib/interactive-chart/helpers/types.js +6 -0
  230. package/lib/interactive-chart/index.d.ts +380 -0
  231. package/lib/interactive-chart/index.js +1093 -0
  232. package/lib/interactive-chart/themes/halo/dark/index.js +3 -0
  233. package/lib/interactive-chart/themes/halo/light/index.js +3 -0
  234. package/lib/interactive-chart/themes/solar/charcoal/index.js +3 -0
  235. package/lib/interactive-chart/themes/solar/pearl/index.js +3 -0
  236. package/lib/item/custom-elements.json +153 -0
  237. package/lib/item/helpers/types.d.ts +57 -0
  238. package/lib/item/helpers/types.js +1 -0
  239. package/lib/item/index.d.ts +149 -0
  240. package/lib/item/index.js +252 -0
  241. package/lib/item/themes/halo/dark/index.js +4 -0
  242. package/lib/item/themes/halo/light/index.js +4 -0
  243. package/lib/item/themes/solar/charcoal/index.js +4 -0
  244. package/lib/item/themes/solar/pearl/index.js +4 -0
  245. package/lib/jsx.d.ts +223 -0
  246. package/lib/label/custom-elements.json +52 -0
  247. package/lib/label/index.d.ts +102 -0
  248. package/lib/label/index.js +252 -0
  249. package/lib/label/themes/halo/dark/index.js +3 -0
  250. package/lib/label/themes/halo/light/index.js +3 -0
  251. package/lib/label/themes/solar/charcoal/index.js +3 -0
  252. package/lib/label/themes/solar/pearl/index.js +3 -0
  253. package/lib/layout/custom-elements.json +163 -0
  254. package/lib/layout/index.d.ts +107 -0
  255. package/lib/layout/index.js +215 -0
  256. package/lib/layout/themes/halo/dark/index.js +2 -0
  257. package/lib/layout/themes/halo/light/index.js +2 -0
  258. package/lib/layout/themes/solar/charcoal/index.js +2 -0
  259. package/lib/layout/themes/solar/pearl/index.js +2 -0
  260. package/lib/led-gauge/custom-elements.json +113 -0
  261. package/lib/led-gauge/index.d.ts +143 -0
  262. package/lib/led-gauge/index.js +440 -0
  263. package/lib/led-gauge/themes/halo/dark/index.js +3 -0
  264. package/lib/led-gauge/themes/halo/light/index.js +3 -0
  265. package/lib/led-gauge/themes/solar/charcoal/index.js +3 -0
  266. package/lib/led-gauge/themes/solar/pearl/index.js +3 -0
  267. package/lib/list/custom-elements.json +111 -0
  268. package/lib/list/extensible-function.d.ts +8 -0
  269. package/lib/list/extensible-function.js +13 -0
  270. package/lib/list/helpers/list-renderer.d.ts +9 -0
  271. package/lib/list/helpers/list-renderer.js +35 -0
  272. package/lib/list/helpers/types.d.ts +3 -0
  273. package/lib/list/helpers/types.js +1 -0
  274. package/lib/list/index.d.ts +292 -0
  275. package/lib/list/index.js +604 -0
  276. package/lib/list/renderer.d.ts +36 -0
  277. package/lib/list/renderer.js +9 -0
  278. package/lib/list/themes/halo/dark/index.js +3 -0
  279. package/lib/list/themes/halo/light/index.js +3 -0
  280. package/lib/list/themes/solar/charcoal/index.js +3 -0
  281. package/lib/list/themes/solar/pearl/index.js +3 -0
  282. package/lib/loader/custom-elements.json +9 -0
  283. package/lib/loader/index.d.ts +41 -0
  284. package/lib/loader/index.js +65 -0
  285. package/lib/loader/themes/halo/dark/index.js +2 -0
  286. package/lib/loader/themes/halo/light/index.js +2 -0
  287. package/lib/loader/themes/solar/charcoal/index.js +2 -0
  288. package/lib/loader/themes/solar/pearl/index.js +2 -0
  289. package/lib/multi-input/custom-elements.json +238 -0
  290. package/lib/multi-input/helpers/types.d.ts +11 -0
  291. package/lib/multi-input/helpers/types.js +1 -0
  292. package/lib/multi-input/index.d.ts +297 -0
  293. package/lib/multi-input/index.js +591 -0
  294. package/lib/multi-input/themes/halo/dark/index.js +4 -0
  295. package/lib/multi-input/themes/halo/light/index.js +4 -0
  296. package/lib/multi-input/themes/solar/charcoal/index.js +4 -0
  297. package/lib/multi-input/themes/solar/pearl/index.js +4 -0
  298. package/lib/notification/custom-elements.json +95 -0
  299. package/lib/notification/elements/notification-tray.d.ts +97 -0
  300. package/lib/notification/elements/notification-tray.js +170 -0
  301. package/lib/notification/elements/notification.d.ts +90 -0
  302. package/lib/notification/elements/notification.js +157 -0
  303. package/lib/notification/helpers/status.d.ts +30 -0
  304. package/lib/notification/helpers/status.js +130 -0
  305. package/lib/notification/helpers/types.d.ts +10 -0
  306. package/lib/notification/helpers/types.js +1 -0
  307. package/lib/notification/index.d.ts +2 -0
  308. package/lib/notification/index.js +2 -0
  309. package/lib/notification/themes/halo/dark/index.js +5 -0
  310. package/lib/notification/themes/halo/light/index.js +5 -0
  311. package/lib/notification/themes/solar/charcoal/index.js +5 -0
  312. package/lib/notification/themes/solar/pearl/index.js +5 -0
  313. package/lib/number-field/custom-elements.json +200 -0
  314. package/lib/number-field/index.d.ts +294 -0
  315. package/lib/number-field/index.js +708 -0
  316. package/lib/number-field/themes/halo/dark/index.js +3 -0
  317. package/lib/number-field/themes/halo/light/index.js +3 -0
  318. package/lib/number-field/themes/solar/charcoal/index.js +3 -0
  319. package/lib/number-field/themes/solar/pearl/index.js +3 -0
  320. package/lib/overlay/custom-elements.json +342 -0
  321. package/lib/overlay/elements/overlay-backdrop.d.ts +46 -0
  322. package/lib/overlay/elements/overlay-backdrop.js +67 -0
  323. package/lib/overlay/elements/overlay-viewport.d.ts +40 -0
  324. package/lib/overlay/elements/overlay-viewport.js +56 -0
  325. package/lib/overlay/elements/overlay.d.ts +403 -0
  326. package/lib/overlay/elements/overlay.js +1427 -0
  327. package/lib/overlay/helpers/functions.d.ts +13 -0
  328. package/lib/overlay/helpers/functions.js +16 -0
  329. package/lib/overlay/helpers/types.d.ts +97 -0
  330. package/lib/overlay/helpers/types.js +16 -0
  331. package/lib/overlay/index.d.ts +2 -0
  332. package/lib/overlay/index.js +1 -0
  333. package/lib/overlay/managers/backdrop-manager.d.ts +45 -0
  334. package/lib/overlay/managers/backdrop-manager.js +96 -0
  335. package/lib/overlay/managers/close-manager.d.ts +54 -0
  336. package/lib/overlay/managers/close-manager.js +138 -0
  337. package/lib/overlay/managers/focus-manager.d.ts +71 -0
  338. package/lib/overlay/managers/focus-manager.js +228 -0
  339. package/lib/overlay/managers/interaction-lock-manager.d.ts +138 -0
  340. package/lib/overlay/managers/interaction-lock-manager.js +375 -0
  341. package/lib/overlay/managers/viewport-manager.d.ts +93 -0
  342. package/lib/overlay/managers/viewport-manager.js +207 -0
  343. package/lib/overlay/managers/zindex-manager.d.ts +80 -0
  344. package/lib/overlay/managers/zindex-manager.js +195 -0
  345. package/lib/overlay/themes/halo/dark/index.js +4 -0
  346. package/lib/overlay/themes/halo/light/index.js +4 -0
  347. package/lib/overlay/themes/solar/charcoal/index.js +4 -0
  348. package/lib/overlay/themes/solar/pearl/index.js +4 -0
  349. package/lib/overlay-menu/custom-elements.json +196 -0
  350. package/lib/overlay-menu/helpers/types.d.ts +8 -0
  351. package/lib/overlay-menu/helpers/types.js +1 -0
  352. package/lib/overlay-menu/helpers/uuid.d.ts +7 -0
  353. package/lib/overlay-menu/helpers/uuid.js +13 -0
  354. package/lib/overlay-menu/index.d.ts +380 -0
  355. package/lib/overlay-menu/index.js +921 -0
  356. package/lib/overlay-menu/managers/menu-manager.d.ts +98 -0
  357. package/lib/overlay-menu/managers/menu-manager.js +240 -0
  358. package/lib/overlay-menu/themes/halo/dark/index.js +5 -0
  359. package/lib/overlay-menu/themes/halo/light/index.js +5 -0
  360. package/lib/overlay-menu/themes/solar/charcoal/index.js +5 -0
  361. package/lib/overlay-menu/themes/solar/pearl/index.js +5 -0
  362. package/lib/pagination/custom-elements.json +93 -0
  363. package/lib/pagination/helpers/types.d.ts +9 -0
  364. package/lib/pagination/helpers/types.js +1 -0
  365. package/lib/pagination/index.d.ts +207 -0
  366. package/lib/pagination/index.js +400 -0
  367. package/lib/pagination/themes/halo/dark/index.js +6 -0
  368. package/lib/pagination/themes/halo/light/index.js +6 -0
  369. package/lib/pagination/themes/solar/charcoal/index.js +6 -0
  370. package/lib/pagination/themes/solar/pearl/index.js +6 -0
  371. package/lib/panel/custom-elements.json +39 -0
  372. package/lib/panel/index.d.ts +48 -0
  373. package/lib/panel/index.js +77 -0
  374. package/lib/panel/themes/halo/dark/index.js +2 -0
  375. package/lib/panel/themes/halo/light/index.js +2 -0
  376. package/lib/panel/themes/solar/charcoal/index.js +2 -0
  377. package/lib/panel/themes/solar/pearl/index.js +2 -0
  378. package/lib/password-field/custom-elements.json +156 -0
  379. package/lib/password-field/index.d.ts +140 -0
  380. package/lib/password-field/index.js +258 -0
  381. package/lib/password-field/themes/halo/dark/index.js +3 -0
  382. package/lib/password-field/themes/halo/light/index.js +3 -0
  383. package/lib/password-field/themes/solar/charcoal/index.js +3 -0
  384. package/lib/password-field/themes/solar/pearl/index.js +3 -0
  385. package/lib/pill/custom-elements.json +95 -0
  386. package/lib/pill/index.d.ts +97 -0
  387. package/lib/pill/index.js +162 -0
  388. package/lib/pill/themes/halo/dark/index.js +3 -0
  389. package/lib/pill/themes/halo/light/index.js +3 -0
  390. package/lib/pill/themes/solar/charcoal/index.js +3 -0
  391. package/lib/pill/themes/solar/pearl/index.js +3 -0
  392. package/lib/progress-bar/custom-elements.json +58 -0
  393. package/lib/progress-bar/index.d.ts +82 -0
  394. package/lib/progress-bar/index.js +159 -0
  395. package/lib/progress-bar/themes/halo/dark/index.js +2 -0
  396. package/lib/progress-bar/themes/halo/light/index.js +2 -0
  397. package/lib/progress-bar/themes/solar/charcoal/index.js +2 -0
  398. package/lib/progress-bar/themes/solar/pearl/index.js +2 -0
  399. package/lib/radio-button/custom-elements.json +84 -0
  400. package/lib/radio-button/index.d.ts +106 -0
  401. package/lib/radio-button/index.js +195 -0
  402. package/lib/radio-button/radio-button-registry.d.ts +21 -0
  403. package/lib/radio-button/radio-button-registry.js +40 -0
  404. package/lib/radio-button/themes/halo/dark/index.js +3 -0
  405. package/lib/radio-button/themes/halo/light/index.js +3 -0
  406. package/lib/radio-button/themes/solar/charcoal/index.js +3 -0
  407. package/lib/radio-button/themes/solar/pearl/index.js +3 -0
  408. package/lib/rating/custom-elements.json +58 -0
  409. package/lib/rating/index.d.ts +91 -0
  410. package/lib/rating/index.js +158 -0
  411. package/lib/rating/themes/halo/dark/index.js +2 -0
  412. package/lib/rating/themes/halo/light/index.js +2 -0
  413. package/lib/rating/themes/solar/charcoal/index.js +2 -0
  414. package/lib/rating/themes/solar/pearl/index.js +2 -0
  415. package/lib/search-field/custom-elements.json +173 -0
  416. package/lib/search-field/index.d.ts +134 -0
  417. package/lib/search-field/index.js +254 -0
  418. package/lib/search-field/themes/halo/dark/index.js +3 -0
  419. package/lib/search-field/themes/halo/light/index.js +3 -0
  420. package/lib/search-field/themes/solar/charcoal/index.js +3 -0
  421. package/lib/search-field/themes/solar/pearl/index.js +3 -0
  422. package/lib/select/custom-elements.json +103 -0
  423. package/lib/select/helpers/types.d.ts +3 -0
  424. package/lib/select/helpers/types.js +1 -0
  425. package/lib/select/index.d.ts +388 -0
  426. package/lib/select/index.js +942 -0
  427. package/lib/select/themes/halo/dark/index.js +5 -0
  428. package/lib/select/themes/halo/light/index.js +5 -0
  429. package/lib/select/themes/solar/charcoal/index.js +5 -0
  430. package/lib/select/themes/solar/pearl/index.js +5 -0
  431. package/lib/sidebar-layout/custom-elements.json +72 -0
  432. package/lib/sidebar-layout/index.d.ts +69 -0
  433. package/lib/sidebar-layout/index.js +135 -0
  434. package/lib/sidebar-layout/themes/halo/dark/index.js +3 -0
  435. package/lib/sidebar-layout/themes/halo/light/index.js +3 -0
  436. package/lib/sidebar-layout/themes/solar/charcoal/index.js +3 -0
  437. package/lib/sidebar-layout/themes/solar/pearl/index.js +3 -0
  438. package/lib/slider/custom-elements.json +181 -0
  439. package/lib/slider/index.d.ts +409 -0
  440. package/lib/slider/index.js +1188 -0
  441. package/lib/slider/themes/halo/dark/index.js +3 -0
  442. package/lib/slider/themes/halo/light/index.js +3 -0
  443. package/lib/slider/themes/solar/charcoal/index.js +3 -0
  444. package/lib/slider/themes/solar/pearl/index.js +3 -0
  445. package/lib/sparkline/custom-elements.json +59 -0
  446. package/lib/sparkline/index.d.ts +107 -0
  447. package/lib/sparkline/index.js +188 -0
  448. package/lib/sparkline/themes/halo/dark/index.js +2 -0
  449. package/lib/sparkline/themes/halo/light/index.js +2 -0
  450. package/lib/sparkline/themes/solar/charcoal/index.js +2 -0
  451. package/lib/sparkline/themes/solar/pearl/index.js +2 -0
  452. package/lib/swing-gauge/const.d.ts +22 -0
  453. package/lib/swing-gauge/const.js +26 -0
  454. package/lib/swing-gauge/custom-elements.json +109 -0
  455. package/lib/swing-gauge/helpers.d.ts +8 -0
  456. package/lib/swing-gauge/helpers.js +105 -0
  457. package/lib/swing-gauge/index.d.ts +294 -0
  458. package/lib/swing-gauge/index.js +762 -0
  459. package/lib/swing-gauge/themes/halo/dark/index.js +3 -0
  460. package/lib/swing-gauge/themes/halo/light/index.js +3 -0
  461. package/lib/swing-gauge/themes/solar/charcoal/index.js +3 -0
  462. package/lib/swing-gauge/themes/solar/pearl/index.js +3 -0
  463. package/lib/swing-gauge/types.d.ts +34 -0
  464. package/lib/swing-gauge/types.js +1 -0
  465. package/lib/tab/custom-elements.json +123 -0
  466. package/lib/tab/index.d.ts +118 -0
  467. package/lib/tab/index.js +211 -0
  468. package/lib/tab/themes/halo/dark/index.js +4 -0
  469. package/lib/tab/themes/halo/light/index.js +4 -0
  470. package/lib/tab/themes/solar/charcoal/index.js +4 -0
  471. package/lib/tab/themes/solar/pearl/index.js +4 -0
  472. package/lib/tab-bar/custom-elements.json +52 -0
  473. package/lib/tab-bar/helpers/animate.d.ts +16 -0
  474. package/lib/tab-bar/helpers/animate.js +53 -0
  475. package/lib/tab-bar/index.d.ts +108 -0
  476. package/lib/tab-bar/index.js +220 -0
  477. package/lib/tab-bar/themes/halo/dark/index.js +4 -0
  478. package/lib/tab-bar/themes/halo/light/index.js +4 -0
  479. package/lib/tab-bar/themes/solar/charcoal/index.js +4 -0
  480. package/lib/tab-bar/themes/solar/pearl/index.js +4 -0
  481. package/lib/text-field/custom-elements.json +210 -0
  482. package/lib/text-field/index.d.ts +171 -0
  483. package/lib/text-field/index.js +319 -0
  484. package/lib/text-field/themes/halo/dark/index.js +3 -0
  485. package/lib/text-field/themes/halo/light/index.js +3 -0
  486. package/lib/text-field/themes/solar/charcoal/index.js +3 -0
  487. package/lib/text-field/themes/solar/pearl/index.js +3 -0
  488. package/lib/time-picker/custom-elements.json +124 -0
  489. package/lib/time-picker/index.d.ts +379 -0
  490. package/lib/time-picker/index.js +777 -0
  491. package/lib/time-picker/themes/halo/dark/index.js +4 -0
  492. package/lib/time-picker/themes/halo/light/index.js +4 -0
  493. package/lib/time-picker/themes/solar/charcoal/index.js +4 -0
  494. package/lib/time-picker/themes/solar/pearl/index.js +4 -0
  495. package/lib/toggle/custom-elements.json +84 -0
  496. package/lib/toggle/index.d.ts +77 -0
  497. package/lib/toggle/index.js +134 -0
  498. package/lib/toggle/themes/halo/dark/index.js +2 -0
  499. package/lib/toggle/themes/halo/light/index.js +2 -0
  500. package/lib/toggle/themes/solar/charcoal/index.js +2 -0
  501. package/lib/toggle/themes/solar/pearl/index.js +2 -0
  502. package/lib/tooltip/custom-elements.json +62 -0
  503. package/lib/tooltip/elements/title-tooltip.d.ts +1 -0
  504. package/lib/tooltip/elements/title-tooltip.js +18 -0
  505. package/lib/tooltip/elements/tooltip-element.d.ts +21 -0
  506. package/lib/tooltip/elements/tooltip-element.js +54 -0
  507. package/lib/tooltip/helpers/overflow-tooltip.d.ts +9 -0
  508. package/lib/tooltip/helpers/overflow-tooltip.js +19 -0
  509. package/lib/tooltip/helpers/renderer.d.ts +8 -0
  510. package/lib/tooltip/helpers/renderer.js +11 -0
  511. package/lib/tooltip/helpers/types.d.ts +23 -0
  512. package/lib/tooltip/helpers/types.js +1 -0
  513. package/lib/tooltip/index.d.ts +232 -0
  514. package/lib/tooltip/index.js +479 -0
  515. package/lib/tooltip/managers/tooltip-manager.d.ts +15 -0
  516. package/lib/tooltip/managers/tooltip-manager.js +144 -0
  517. package/lib/tooltip/themes/halo/dark/index.js +3 -0
  518. package/lib/tooltip/themes/halo/light/index.js +3 -0
  519. package/lib/tooltip/themes/solar/charcoal/index.js +3 -0
  520. package/lib/tooltip/themes/solar/pearl/index.js +3 -0
  521. package/lib/tornado-chart/custom-elements.json +45 -0
  522. package/lib/tornado-chart/elements/tornado-chart.d.ts +78 -0
  523. package/lib/tornado-chart/elements/tornado-chart.js +125 -0
  524. package/lib/tornado-chart/elements/tornado-item.d.ts +110 -0
  525. package/lib/tornado-chart/elements/tornado-item.js +209 -0
  526. package/lib/tornado-chart/index.d.ts +2 -0
  527. package/lib/tornado-chart/index.js +2 -0
  528. package/lib/tornado-chart/themes/halo/dark/index.js +6 -0
  529. package/lib/tornado-chart/themes/halo/light/index.js +6 -0
  530. package/lib/tornado-chart/themes/solar/charcoal/index.js +6 -0
  531. package/lib/tornado-chart/themes/solar/pearl/index.js +6 -0
  532. package/lib/tree/custom-elements.json +100 -0
  533. package/lib/tree/elements/tree-item.d.ts +96 -0
  534. package/lib/tree/elements/tree-item.js +182 -0
  535. package/lib/tree/elements/tree.d.ts +156 -0
  536. package/lib/tree/elements/tree.js +286 -0
  537. package/lib/tree/helpers/renderer.d.ts +5 -0
  538. package/lib/tree/helpers/renderer.js +33 -0
  539. package/lib/tree/helpers/types.d.ts +17 -0
  540. package/lib/tree/helpers/types.js +1 -0
  541. package/lib/tree/index.d.ts +4 -0
  542. package/lib/tree/index.js +3 -0
  543. package/lib/tree/managers/tree-manager.d.ts +236 -0
  544. package/lib/tree/managers/tree-manager.js +379 -0
  545. package/lib/tree/themes/halo/dark/index.js +7 -0
  546. package/lib/tree/themes/halo/light/index.js +7 -0
  547. package/lib/tree/themes/solar/charcoal/index.js +7 -0
  548. package/lib/tree/themes/solar/pearl/index.js +7 -0
  549. package/lib/tree-select/custom-elements.json +107 -0
  550. package/lib/tree-select/helpers/types.d.ts +4 -0
  551. package/lib/tree-select/helpers/types.js +1 -0
  552. package/lib/tree-select/index.d.ts +400 -0
  553. package/lib/tree-select/index.js +881 -0
  554. package/lib/tree-select/themes/halo/dark/index.js +12 -0
  555. package/lib/tree-select/themes/halo/light/index.js +12 -0
  556. package/lib/tree-select/themes/solar/charcoal/index.js +12 -0
  557. package/lib/tree-select/themes/solar/pearl/index.js +12 -0
  558. package/package.json +9 -9
@@ -0,0 +1,207 @@
1
+ import { JSXInterface } from '../jsx';
2
+ import { BasicElement, PropertyValues, TemplateResult, CSSResult } from '@refinitiv-ui/core';
3
+ import '@refinitiv-ui/phrasebook/lib/locale/en/pagination';
4
+ import { Translate } from '@refinitiv-ui/translate';
5
+ import '../button';
6
+ import '../button-bar';
7
+ import '../layout';
8
+ import '../text-field';
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 `CSSResult` 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(): CSSResult | CSSResult[];
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,400 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { BasicElement, html, css, customElement, property, query } from '@refinitiv-ui/core';
8
+ import '@refinitiv-ui/phrasebook/lib/locale/en/pagination';
9
+ import { translate } from '@refinitiv-ui/translate';
10
+ import '../button';
11
+ import '../button-bar';
12
+ import '../layout';
13
+ import '../text-field';
14
+ import { VERSION } from '../';
15
+ /**
16
+ * Used to control and navigate through multiple pages
17
+ * @fires page-changed - Fired when the `page` property is changed
18
+ */
19
+ let Pagination = class Pagination extends BasicElement {
20
+ constructor() {
21
+ super(...arguments);
22
+ /**
23
+ * Set current page
24
+ */
25
+ this.page = '1';
26
+ /**
27
+ * Number of item per page
28
+ */
29
+ this.pageSize = '10';
30
+ /**
31
+ * Total items
32
+ */
33
+ this.totalItems = '10';
34
+ /**
35
+ * Set state to disable
36
+ */
37
+ this.disabled = false;
38
+ }
39
+ /**
40
+ * Element version number
41
+ * @returns version number
42
+ */
43
+ static get version() {
44
+ return VERSION;
45
+ }
46
+ /**
47
+ * A `CSSResult` that will be used
48
+ * to style the host, slotted children
49
+ * and the internal template of the element.
50
+ * @return CSS template
51
+ */
52
+ static get styles() {
53
+ return css `
54
+ :host {
55
+ display: block;
56
+ --responsive-width: 450;
57
+ }
58
+ `;
59
+ }
60
+ /**
61
+ * Invoked whenever the element is updated
62
+ * @param changedProperties Map of changed properties with old values
63
+ * @returns {void}
64
+ */
65
+ updated(changedProperties) {
66
+ super.updated(changedProperties);
67
+ if (changedProperties.has('disabled')) {
68
+ this.disabledChanged();
69
+ }
70
+ if (changedProperties.has('page')) {
71
+ const previousPage = changedProperties.get('page');
72
+ this.page = this.validatePage(previousPage, this.page);
73
+ this.updateButtons();
74
+ }
75
+ if (changedProperties.has('pageSize')) {
76
+ this.pageSizeChanged();
77
+ }
78
+ if (changedProperties.has('totalItems')) {
79
+ this.totalItemsChanged();
80
+ }
81
+ }
82
+ /**
83
+ * Handle when page-size property changed
84
+ * @returns {void}
85
+ */
86
+ pageSizeChanged() {
87
+ const page = Number.parseInt(this.page, 10);
88
+ const pageSize = Number.parseInt(this.pageSize, 10);
89
+ // page must have at least 1 item
90
+ if (pageSize < 1) {
91
+ this.pageSize = '1';
92
+ }
93
+ if (page > this.totalPage) {
94
+ this.page = this.totalPage.toString();
95
+ }
96
+ this.updateButtons();
97
+ }
98
+ /**
99
+ * Handle when total-items property changed
100
+ * @returns {void}
101
+ */
102
+ totalItemsChanged() {
103
+ const page = Number.parseInt(this.page, 10);
104
+ const totalItems = Number.parseInt(this.totalItems, 10);
105
+ // handle if someone doesn't know how to count
106
+ if (totalItems < 1) {
107
+ this.totalItems = '0';
108
+ this.page = '1';
109
+ }
110
+ else if (page > this.totalPage) {
111
+ this.page = this.totalPage.toString();
112
+ }
113
+ this.updateButtons();
114
+ }
115
+ /**
116
+ * Handle when disabled property changed
117
+ * @returns {void}
118
+ */
119
+ disabledChanged() {
120
+ if (this.disabled) {
121
+ this.infoElement.setAttribute('disabled', '');
122
+ }
123
+ else {
124
+ this.infoElement.removeAttribute('disabled');
125
+ }
126
+ this.input.disabled = this.disabled;
127
+ // recalculate button state
128
+ this.updateButtons();
129
+ }
130
+ /**
131
+ * Update disable/enable state of first, previous, next, and last
132
+ * First and previous should be disabled if showing first page
133
+ * Next and last should be disabled if showing last page
134
+ * @returns {void}
135
+ */
136
+ updateButtons() {
137
+ const page = Number.parseInt(this.page, 10);
138
+ const firstPage = this.disabled || page <= 1;
139
+ const lastPage = this.disabled || page >= this.totalPage;
140
+ this.previousPageButton.disabled = firstPage;
141
+ this.firstPageButton.disabled = firstPage;
142
+ this.nextPageButton.disabled = lastPage;
143
+ this.lastPageButton.disabled = lastPage;
144
+ }
145
+ /**
146
+ * Calculate and return total pages
147
+ * Total pages should never less than 1
148
+ * @returns {number} Number of total page
149
+ */
150
+ get totalPage() {
151
+ const pageSize = Number.parseInt(this.pageSize, 10);
152
+ const totalItems = Number.parseInt(this.totalItems, 10);
153
+ if (pageSize > 0) {
154
+ const totalPage = Math.ceil(totalItems / pageSize);
155
+ return totalPage > 0 ? totalPage : 1;
156
+ }
157
+ return 1;
158
+ }
159
+ /**
160
+ * Check a new page value to be usable
161
+ * if a new page value is allow then return newPage
162
+ * Condition to be old value is null or NaN or undefined or string or less than 1
163
+ * @param oldPage a old page value
164
+ * @param newPage a new page value
165
+ * @return return a new page value
166
+ */
167
+ validatePage(oldPage, newPage) {
168
+ let page = Number.parseInt(newPage, 10);
169
+ if (!page || isNaN(Number(newPage)) || isNaN(page)) {
170
+ page = Number.parseInt(oldPage, 10);
171
+ }
172
+ else if (page > this.totalPage) {
173
+ page = this.totalPage;
174
+ }
175
+ else if (page < 1) {
176
+ page = 1;
177
+ }
178
+ return page.toString();
179
+ }
180
+ /**
181
+ * Get text to display in info part
182
+ * @returns {PageInfo} Used for translations
183
+ */
184
+ get pageInfo() {
185
+ const page = Number.parseInt(this.page, 10);
186
+ const pageSize = Number.parseInt(this.pageSize, 10);
187
+ const totalCount = Number.parseInt(this.totalItems, 10);
188
+ const from = ((page - 1) * pageSize) + 1;
189
+ const to = page * pageSize > totalCount ? totalCount : page * pageSize;
190
+ return {
191
+ from,
192
+ to,
193
+ totalCount,
194
+ pageSize
195
+ };
196
+ }
197
+ /**
198
+ * Hide info part when it's too small
199
+ * @returns {void}
200
+ */
201
+ onResize() {
202
+ const display = this.clientWidth < Number.parseInt(this.getComputedVariable('--responsive-width'), 10) ? 'none' : 'block';
203
+ this.infoElement.style.display = display;
204
+ }
205
+ /**
206
+ * Handle when input is focus
207
+ * @returns {void}
208
+ */
209
+ onInputFocus() {
210
+ this.input.value = this.page;
211
+ setTimeout(() => {
212
+ this.input.select();
213
+ });
214
+ }
215
+ /**
216
+ * Handle when input lost focus
217
+ * @param event Event object
218
+ * @returns {void}
219
+ */
220
+ onInputBlur(event) {
221
+ const oldPageValue = this.page;
222
+ this.page = this.validatePage(this.page, event.target.value);
223
+ // need this to update input text
224
+ void this.requestUpdate();
225
+ if (this.page !== oldPageValue) {
226
+ this.notifyPropertyChange('page', this.page);
227
+ }
228
+ }
229
+ /**
230
+ * Handles action when Enter key is press onto the input
231
+ * @param event Keyboard event
232
+ * @returns {void}
233
+ */
234
+ onInputKeyDown(event) {
235
+ var _a, _b;
236
+ if (event.key === 'Enter' || event.keyCode === 13) {
237
+ /*
238
+ * Issue only in firefox
239
+ * cannot blur() or focus() to this.input
240
+ * so create a temp to this.input loses focus
241
+ */
242
+ const temp = document.createElement('input');
243
+ (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.appendChild(temp);
244
+ temp.focus();
245
+ this.input.blur();
246
+ (_b = this.shadowRoot) === null || _b === void 0 ? void 0 : _b.removeChild(temp);
247
+ event.preventDefault();
248
+ }
249
+ }
250
+ /**
251
+ * Updates page value depending on direction
252
+ * @param direction page value direction
253
+ * @param event whether the event page-changed should fire
254
+ * @returns {void}
255
+ */
256
+ updatePage(direction, event = false) {
257
+ const page = parseInt(this.page, 10);
258
+ const limit = direction === 'increment' ? page < this.totalPage : page > 1;
259
+ if (limit) {
260
+ this.page = direction === 'increment' ? (page + 1).toString() : (page - 1).toString();
261
+ if (event) {
262
+ this.notifyPropertyChange('page', this.page);
263
+ }
264
+ }
265
+ }
266
+ /**
267
+ * Go to the next page
268
+ * @returns {void}
269
+ */
270
+ next() {
271
+ this.input.blur();
272
+ this.updatePage('increment');
273
+ }
274
+ /**
275
+ * Go to the next page and fires event
276
+ * @returns {void}
277
+ */
278
+ onNextTap() {
279
+ this.input.blur();
280
+ this.updatePage('increment', true);
281
+ }
282
+ /**
283
+ * Go to the previous page
284
+ * @returns {void}
285
+ */
286
+ previous() {
287
+ this.input.blur();
288
+ this.updatePage('decrement');
289
+ }
290
+ /**
291
+ * Go to the previous page and fires evetn
292
+ * @returns {void}
293
+ */
294
+ onPreviousTap() {
295
+ this.input.blur();
296
+ this.updatePage('decrement', true);
297
+ }
298
+ /**
299
+ * Go to the first page
300
+ * @returns {void}
301
+ */
302
+ first() {
303
+ this.input.blur();
304
+ this.page = '1';
305
+ }
306
+ /**
307
+ * Go to the first page and fires event
308
+ * @returns {void}
309
+ */
310
+ onFirstTap() {
311
+ this.first();
312
+ this.notifyPropertyChange('page', this.page);
313
+ }
314
+ /**
315
+ * Go to the last page
316
+ * @returns {void}
317
+ */
318
+ last() {
319
+ this.input.blur();
320
+ this.page = this.totalPage.toString();
321
+ }
322
+ /**
323
+ * Go to the last page and fires event
324
+ * @returns {void}
325
+ */
326
+ onLastTap() {
327
+ this.last();
328
+ this.notifyPropertyChange('page', this.page);
329
+ }
330
+ /**
331
+ * A `TemplateResult` that will be used
332
+ * to render the updated internal template.
333
+ * @return {TemplateResult} Render template
334
+ */
335
+ render() {
336
+ return html `
337
+ <ef-layout part="container" flex nowrap @resize="${this.onResize}">
338
+ <div id="info" part="info">${this.t('ITEM_INFO', this.pageInfo)}</div>
339
+ <ef-button-bar part="buttons">
340
+ <ef-button id="first" icon="skip-to-start" @tap="${this.onFirstTap}"></ef-button>
341
+ <ef-button id="previous" icon="left" @tap="${this.onPreviousTap}"></ef-button>
342
+ </ef-button-bar>
343
+ <ef-text-field
344
+ id="input"
345
+ part="input"
346
+ @focus="${this.onInputFocus}"
347
+ @blur="${this.onInputBlur}"
348
+ @keydown="${this.onInputKeyDown}"
349
+ .value="${this.t('PAGE_OF', {
350
+ page: this.page,
351
+ pageTotal: this.totalPage
352
+ })}"
353
+ no-spinner></ef-text-field>
354
+ <ef-button-bar part="buttons">
355
+ <ef-button id="next" icon="right" @tap="${this.onNextTap}"></ef-button>
356
+ <ef-button id="last" icon="skip-to-end" @tap="${this.onLastTap}"></ef-button>
357
+ </ef-button-bar>
358
+ </ef-layout>
359
+ `;
360
+ }
361
+ };
362
+ __decorate([
363
+ property({ type: String })
364
+ ], Pagination.prototype, "page", void 0);
365
+ __decorate([
366
+ property({ type: String, attribute: 'page-size' })
367
+ ], Pagination.prototype, "pageSize", void 0);
368
+ __decorate([
369
+ property({ type: String, attribute: 'total-items' })
370
+ ], Pagination.prototype, "totalItems", void 0);
371
+ __decorate([
372
+ property({ type: Boolean, reflect: true })
373
+ ], Pagination.prototype, "disabled", void 0);
374
+ __decorate([
375
+ query('#info')
376
+ ], Pagination.prototype, "infoElement", void 0);
377
+ __decorate([
378
+ query('#input')
379
+ ], Pagination.prototype, "input", void 0);
380
+ __decorate([
381
+ query('#first')
382
+ ], Pagination.prototype, "firstPageButton", void 0);
383
+ __decorate([
384
+ query('#previous')
385
+ ], Pagination.prototype, "previousPageButton", void 0);
386
+ __decorate([
387
+ query('#next')
388
+ ], Pagination.prototype, "nextPageButton", void 0);
389
+ __decorate([
390
+ query('#last')
391
+ ], Pagination.prototype, "lastPageButton", void 0);
392
+ __decorate([
393
+ translate()
394
+ ], Pagination.prototype, "t", void 0);
395
+ Pagination = __decorate([
396
+ customElement('ef-pagination', {
397
+ alias: 'emerald-pagination'
398
+ })
399
+ ], Pagination);
400
+ 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
+ }