@refinitiv-ui/elements 5.0.0-beta.3 → 5.0.0-dev.204

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 (596) hide show
  1. package/CHANGELOG.md +325 -73
  2. package/README.md +13 -2
  3. package/lib/accordion/custom-elements.json +0 -13
  4. package/lib/accordion/custom-elements.md +18 -0
  5. package/lib/accordion/index.d.ts +13 -10
  6. package/lib/accordion/index.js +15 -18
  7. package/lib/appstate-bar/custom-elements.json +1 -1
  8. package/lib/appstate-bar/custom-elements.md +22 -0
  9. package/lib/appstate-bar/index.d.ts +15 -6
  10. package/lib/appstate-bar/index.js +17 -11
  11. package/lib/autosuggest/custom-elements.json +24 -4
  12. package/lib/autosuggest/custom-elements.md +54 -0
  13. package/lib/autosuggest/helpers/types.d.ts +22 -1
  14. package/lib/autosuggest/helpers/types.js +0 -1
  15. package/lib/autosuggest/helpers/utils.d.ts +2 -2
  16. package/lib/autosuggest/helpers/utils.js +1 -3
  17. package/lib/autosuggest/index.d.ts +21 -9
  18. package/lib/autosuggest/index.js +45 -31
  19. package/lib/button/custom-elements.json +3 -3
  20. package/lib/button/custom-elements.md +23 -0
  21. package/lib/button/index.d.ts +27 -20
  22. package/lib/button/index.js +92 -74
  23. package/lib/button/themes/halo/dark/index.js +1 -1
  24. package/lib/button/themes/halo/light/index.js +1 -1
  25. package/lib/button/themes/solar/charcoal/index.js +1 -1
  26. package/lib/button/themes/solar/pearl/index.js +1 -1
  27. package/lib/button-bar/custom-elements.md +9 -0
  28. package/lib/button-bar/index.d.ts +60 -4
  29. package/lib/button-bar/index.js +164 -19
  30. package/lib/calendar/constants.d.ts +26 -0
  31. package/lib/calendar/constants.js +28 -0
  32. package/lib/calendar/custom-elements.json +8 -6
  33. package/lib/calendar/custom-elements.md +35 -0
  34. package/lib/calendar/index.d.ts +119 -21
  35. package/lib/calendar/index.js +512 -157
  36. package/lib/calendar/locales.d.ts +1 -31
  37. package/lib/calendar/locales.js +3 -107
  38. package/lib/calendar/themes/halo/dark/index.js +1 -1
  39. package/lib/calendar/themes/halo/light/index.js +1 -1
  40. package/lib/calendar/themes/solar/charcoal/index.js +1 -1
  41. package/lib/calendar/themes/solar/pearl/index.js +1 -1
  42. package/lib/calendar/types.d.ts +12 -13
  43. package/lib/calendar/types.js +1 -7
  44. package/lib/calendar/utils.d.ts +31 -1
  45. package/lib/calendar/utils.js +105 -3
  46. package/lib/canvas/custom-elements.json +9 -7
  47. package/lib/canvas/custom-elements.md +27 -0
  48. package/lib/canvas/index.d.ts +14 -6
  49. package/lib/canvas/index.js +17 -12
  50. package/lib/card/custom-elements.json +21 -9
  51. package/lib/card/custom-elements.md +24 -0
  52. package/lib/card/helpers/types.d.ts +1 -1
  53. package/lib/card/helpers/types.js +0 -1
  54. package/lib/card/index.d.ts +67 -20
  55. package/lib/card/index.js +132 -35
  56. package/lib/card/themes/halo/dark/index.js +1 -1
  57. package/lib/card/themes/halo/light/index.js +1 -1
  58. package/lib/card/themes/solar/charcoal/index.js +1 -1
  59. package/lib/card/themes/solar/pearl/index.js +1 -1
  60. package/lib/chart/custom-elements.json +3 -3
  61. package/lib/chart/custom-elements.md +16 -0
  62. package/lib/chart/helpers/index.d.ts +2 -0
  63. package/lib/chart/helpers/index.js +2 -0
  64. package/lib/chart/helpers/legend.d.ts +2 -2
  65. package/lib/chart/helpers/legend.js +2 -3
  66. package/lib/chart/helpers/merge.d.ts +15 -0
  67. package/lib/chart/helpers/merge.js +28 -0
  68. package/lib/chart/helpers/types.d.ts +40 -12
  69. package/lib/chart/helpers/types.js +0 -1
  70. package/lib/chart/index.d.ts +34 -26
  71. package/lib/chart/index.js +58 -55
  72. package/lib/chart/plugins/doughnut-center-label.js +4 -5
  73. package/lib/checkbox/custom-elements.json +4 -4
  74. package/lib/checkbox/custom-elements.md +18 -0
  75. package/lib/checkbox/index.d.ts +29 -14
  76. package/lib/checkbox/index.js +65 -34
  77. package/lib/checkbox/themes/halo/dark/index.js +1 -1
  78. package/lib/checkbox/themes/halo/light/index.js +1 -1
  79. package/lib/clock/custom-elements.json +21 -4
  80. package/lib/clock/custom-elements.md +28 -0
  81. package/lib/clock/index.d.ts +25 -6
  82. package/lib/clock/index.js +44 -18
  83. package/lib/clock/themes/halo/dark/index.js +1 -1
  84. package/lib/clock/themes/halo/light/index.js +1 -1
  85. package/lib/clock/themes/solar/charcoal/index.js +1 -1
  86. package/lib/clock/themes/solar/pearl/index.js +1 -1
  87. package/lib/clock/utils/TickManager.js +2 -3
  88. package/lib/clock/utils/timestamps.js +0 -1
  89. package/lib/collapse/custom-elements.md +27 -0
  90. package/lib/collapse/index.d.ts +15 -8
  91. package/lib/collapse/index.js +18 -13
  92. package/lib/color-dialog/custom-elements.json +29 -16
  93. package/lib/color-dialog/custom-elements.md +39 -0
  94. package/lib/color-dialog/elements/color-palettes.d.ts +13 -6
  95. package/lib/color-dialog/elements/color-palettes.js +16 -13
  96. package/lib/color-dialog/elements/grayscale-palettes.d.ts +13 -6
  97. package/lib/color-dialog/elements/grayscale-palettes.js +17 -13
  98. package/lib/color-dialog/elements/palettes.d.ts +15 -3
  99. package/lib/color-dialog/elements/palettes.js +65 -45
  100. package/lib/color-dialog/helpers/color-helpers.d.ts +7 -53
  101. package/lib/color-dialog/helpers/color-helpers.js +12 -110
  102. package/lib/color-dialog/helpers/value-model.d.ts +1 -1
  103. package/lib/color-dialog/helpers/value-model.js +18 -17
  104. package/lib/color-dialog/index.d.ts +27 -20
  105. package/lib/color-dialog/index.js +54 -45
  106. package/lib/combo-box/custom-elements.json +51 -17
  107. package/lib/combo-box/custom-elements.md +42 -0
  108. package/lib/combo-box/helpers/filter.d.ts +4 -4
  109. package/lib/combo-box/helpers/filter.js +0 -1
  110. package/lib/combo-box/helpers/keyboard-event.js +0 -1
  111. package/lib/combo-box/helpers/renderer.d.ts +8 -0
  112. package/lib/combo-box/helpers/renderer.js +24 -0
  113. package/lib/combo-box/helpers/types.d.ts +2 -2
  114. package/lib/combo-box/helpers/types.js +0 -1
  115. package/lib/combo-box/index.d.ts +63 -32
  116. package/lib/combo-box/index.js +102 -60
  117. package/lib/combo-box/themes/halo/dark/index.js +2 -3
  118. package/lib/combo-box/themes/halo/light/index.js +2 -3
  119. package/lib/combo-box/themes/solar/charcoal/index.js +2 -3
  120. package/lib/combo-box/themes/solar/pearl/index.js +2 -3
  121. package/lib/counter/custom-elements.json +39 -0
  122. package/lib/counter/custom-elements.md +11 -0
  123. package/lib/counter/index.d.ts +91 -0
  124. package/lib/counter/index.js +154 -0
  125. package/lib/counter/themes/halo/dark/index.js +3 -0
  126. package/lib/counter/themes/halo/light/index.js +3 -0
  127. package/lib/counter/themes/solar/charcoal/index.js +3 -0
  128. package/lib/counter/themes/solar/pearl/index.js +3 -0
  129. package/lib/counter/utils.d.ts +13 -0
  130. package/lib/counter/utils.js +52 -0
  131. package/lib/datetime-picker/custom-elements.json +53 -24
  132. package/lib/datetime-picker/custom-elements.md +57 -0
  133. package/lib/datetime-picker/index.d.ts +34 -16
  134. package/lib/datetime-picker/index.js +56 -38
  135. package/lib/datetime-picker/locales.d.ts +1 -1
  136. package/lib/datetime-picker/locales.js +12 -2
  137. package/lib/datetime-picker/themes/solar/charcoal/index.js +1 -1
  138. package/lib/datetime-picker/themes/solar/pearl/index.js +1 -1
  139. package/lib/datetime-picker/types.d.ts +1 -1
  140. package/lib/datetime-picker/types.js +0 -1
  141. package/lib/datetime-picker/utils.js +1 -2
  142. package/lib/dialog/custom-elements.json +34 -12
  143. package/lib/dialog/custom-elements.md +47 -0
  144. package/lib/dialog/draggable-element.js +25 -16
  145. package/lib/dialog/index.d.ts +25 -21
  146. package/lib/dialog/index.js +36 -32
  147. package/lib/email-field/custom-elements.json +81 -94
  148. package/lib/email-field/custom-elements.md +37 -0
  149. package/lib/email-field/index.d.ts +47 -112
  150. package/lib/email-field/index.js +48 -241
  151. package/lib/email-field/themes/halo/dark/index.js +1 -1
  152. package/lib/email-field/themes/halo/light/index.js +1 -1
  153. package/lib/email-field/themes/solar/charcoal/index.js +1 -1
  154. package/lib/email-field/themes/solar/pearl/index.js +1 -1
  155. package/lib/events.d.ts +121 -0
  156. package/lib/events.js +1 -0
  157. package/lib/flag/custom-elements.md +10 -0
  158. package/lib/flag/index.d.ts +14 -5
  159. package/lib/flag/index.js +19 -12
  160. package/lib/flag/utils/FlagLoader.d.ts +1 -1
  161. package/lib/flag/utils/FlagLoader.js +1 -2
  162. package/lib/header/custom-elements.md +18 -0
  163. package/lib/header/index.d.ts +10 -3
  164. package/lib/header/index.js +12 -8
  165. package/lib/heatmap/custom-elements.json +13 -0
  166. package/lib/heatmap/custom-elements.md +26 -0
  167. package/lib/heatmap/helpers/color.d.ts +1 -1
  168. package/lib/heatmap/helpers/color.js +1 -2
  169. package/lib/heatmap/helpers/text.d.ts +1 -1
  170. package/lib/heatmap/helpers/text.js +0 -1
  171. package/lib/heatmap/helpers/track.js +2 -3
  172. package/lib/heatmap/helpers/types.js +0 -1
  173. package/lib/heatmap/index.d.ts +32 -13
  174. package/lib/heatmap/index.js +61 -35
  175. package/lib/icon/custom-elements.json +6 -4
  176. package/lib/icon/custom-elements.md +8 -0
  177. package/lib/icon/index.d.ts +17 -7
  178. package/lib/icon/index.js +36 -18
  179. package/lib/icon/utils/IconLoader.d.ts +6 -1
  180. package/lib/icon/utils/IconLoader.js +24 -18
  181. package/lib/index.d.ts +2 -0
  182. package/lib/index.js +2 -1
  183. package/lib/interactive-chart/custom-elements.json +5 -11
  184. package/lib/interactive-chart/custom-elements.md +31 -0
  185. package/lib/interactive-chart/helpers/merge.d.ts +15 -0
  186. package/lib/interactive-chart/helpers/merge.js +28 -0
  187. package/lib/interactive-chart/helpers/types.d.ts +10 -9
  188. package/lib/interactive-chart/helpers/types.js +6 -2
  189. package/lib/interactive-chart/index.d.ts +37 -18
  190. package/lib/interactive-chart/index.js +61 -51
  191. package/lib/item/custom-elements.json +4 -4
  192. package/lib/item/custom-elements.md +29 -0
  193. package/lib/item/helpers/types.d.ts +1 -1
  194. package/lib/item/helpers/types.js +0 -1
  195. package/lib/item/index.d.ts +26 -9
  196. package/lib/item/index.js +43 -16
  197. package/lib/label/custom-elements.json +7 -16
  198. package/lib/label/custom-elements.md +11 -0
  199. package/lib/label/index.d.ts +41 -73
  200. package/lib/label/index.js +150 -187
  201. package/lib/layout/custom-elements.md +26 -0
  202. package/lib/layout/index.d.ts +11 -4
  203. package/lib/layout/index.js +13 -9
  204. package/lib/led-gauge/custom-elements.json +4 -4
  205. package/lib/led-gauge/custom-elements.md +17 -0
  206. package/lib/led-gauge/index.d.ts +13 -5
  207. package/lib/led-gauge/index.js +16 -11
  208. package/lib/list/custom-elements.json +37 -5
  209. package/lib/list/custom-elements.md +33 -0
  210. package/lib/list/extensible-function.js +2 -1
  211. package/lib/list/helpers/list-renderer.d.ts +2 -2
  212. package/lib/list/helpers/list-renderer.js +4 -3
  213. package/lib/list/helpers/types.d.ts +2 -2
  214. package/lib/list/helpers/types.js +0 -1
  215. package/lib/list/index.d.ts +47 -12
  216. package/lib/list/index.js +100 -39
  217. package/lib/list/renderer.d.ts +2 -2
  218. package/lib/list/renderer.js +1 -2
  219. package/lib/loader/custom-elements.md +5 -0
  220. package/lib/loader/index.d.ts +8 -1
  221. package/lib/loader/index.js +11 -8
  222. package/lib/multi-input/custom-elements.json +7 -6
  223. package/lib/multi-input/custom-elements.md +43 -0
  224. package/lib/multi-input/helpers/types.d.ts +1 -1
  225. package/lib/multi-input/helpers/types.js +0 -1
  226. package/lib/multi-input/index.d.ts +19 -8
  227. package/lib/multi-input/index.js +28 -18
  228. package/lib/multi-input/themes/solar/charcoal/index.js +1 -1
  229. package/lib/multi-input/themes/solar/pearl/index.js +1 -1
  230. package/lib/notification/custom-elements.md +26 -0
  231. package/lib/notification/elements/notification-tray.d.ts +10 -4
  232. package/lib/notification/elements/notification-tray.js +15 -11
  233. package/lib/notification/elements/notification.d.ts +19 -7
  234. package/lib/notification/elements/notification.js +25 -13
  235. package/lib/notification/helpers/status.d.ts +1 -1
  236. package/lib/notification/helpers/status.js +1 -2
  237. package/lib/notification/helpers/types.d.ts +1 -1
  238. package/lib/notification/helpers/types.js +0 -1
  239. package/lib/notification/index.d.ts +2 -2
  240. package/lib/notification/index.js +2 -3
  241. package/lib/number-field/custom-elements.json +99 -54
  242. package/lib/number-field/custom-elements.md +42 -0
  243. package/lib/number-field/index.d.ts +104 -52
  244. package/lib/number-field/index.js +129 -88
  245. package/lib/number-field/themes/halo/dark/index.js +1 -1
  246. package/lib/number-field/themes/halo/light/index.js +1 -1
  247. package/lib/number-field/themes/solar/charcoal/index.js +1 -1
  248. package/lib/number-field/themes/solar/pearl/index.js +1 -1
  249. package/lib/overlay/custom-elements.json +26 -13
  250. package/lib/overlay/custom-elements.md +54 -0
  251. package/lib/overlay/elements/overlay-backdrop.d.ts +12 -5
  252. package/lib/overlay/elements/overlay-backdrop.js +13 -9
  253. package/lib/overlay/elements/overlay-viewport.d.ts +11 -4
  254. package/lib/overlay/elements/overlay-viewport.js +12 -9
  255. package/lib/overlay/elements/overlay.d.ts +18 -6
  256. package/lib/overlay/elements/overlay.js +35 -28
  257. package/lib/overlay/helpers/functions.js +0 -1
  258. package/lib/overlay/helpers/types.js +0 -1
  259. package/lib/overlay/index.d.ts +2 -2
  260. package/lib/overlay/index.js +1 -2
  261. package/lib/overlay/managers/backdrop-manager.d.ts +2 -2
  262. package/lib/overlay/managers/backdrop-manager.js +2 -3
  263. package/lib/overlay/managers/close-manager.d.ts +1 -1
  264. package/lib/overlay/managers/close-manager.js +1 -2
  265. package/lib/overlay/managers/focus-manager.d.ts +1 -1
  266. package/lib/overlay/managers/focus-manager.js +3 -5
  267. package/lib/overlay/managers/interaction-lock-manager.js +2 -3
  268. package/lib/overlay/managers/viewport-manager.d.ts +3 -3
  269. package/lib/overlay/managers/viewport-manager.js +6 -3
  270. package/lib/overlay/managers/zindex-manager.d.ts +1 -1
  271. package/lib/overlay/managers/zindex-manager.js +1 -4
  272. package/lib/overlay-menu/custom-elements.json +126 -12
  273. package/lib/overlay-menu/custom-elements.md +44 -0
  274. package/lib/overlay-menu/helpers/types.d.ts +3 -3
  275. package/lib/overlay-menu/helpers/types.js +0 -1
  276. package/lib/overlay-menu/index.d.ts +44 -12
  277. package/lib/overlay-menu/index.js +66 -35
  278. package/lib/overlay-menu/managers/menu-manager.d.ts +2 -2
  279. package/lib/overlay-menu/managers/menu-manager.js +8 -8
  280. package/lib/pagination/custom-elements.json +16 -33
  281. package/lib/pagination/custom-elements.md +26 -0
  282. package/lib/pagination/index.d.ts +156 -81
  283. package/lib/pagination/index.js +373 -214
  284. package/lib/pagination/themes/halo/dark/index.js +1 -1
  285. package/lib/pagination/themes/halo/light/index.js +1 -1
  286. package/lib/pagination/themes/solar/charcoal/index.js +1 -1
  287. package/lib/pagination/themes/solar/pearl/index.js +1 -1
  288. package/lib/panel/custom-elements.md +11 -0
  289. package/lib/panel/index.d.ts +11 -4
  290. package/lib/panel/index.js +13 -9
  291. package/lib/password-field/custom-elements.json +62 -67
  292. package/lib/password-field/custom-elements.md +39 -0
  293. package/lib/password-field/index.d.ts +46 -90
  294. package/lib/password-field/index.js +52 -190
  295. package/lib/password-field/themes/halo/dark/index.js +1 -1
  296. package/lib/password-field/themes/halo/light/index.js +1 -1
  297. package/lib/password-field/themes/solar/charcoal/index.js +1 -1
  298. package/lib/password-field/themes/solar/pearl/index.js +1 -1
  299. package/lib/pill/custom-elements.json +9 -7
  300. package/lib/pill/custom-elements.md +22 -0
  301. package/lib/pill/index.d.ts +15 -7
  302. package/lib/pill/index.js +21 -27
  303. package/lib/pill/themes/halo/dark/index.js +1 -1
  304. package/lib/pill/themes/halo/light/index.js +1 -1
  305. package/lib/progress-bar/custom-elements.md +18 -0
  306. package/lib/progress-bar/index.d.ts +11 -15
  307. package/lib/progress-bar/index.js +14 -25
  308. package/lib/radio-button/custom-elements.json +4 -4
  309. package/lib/radio-button/custom-elements.md +19 -0
  310. package/lib/radio-button/index.d.ts +33 -9
  311. package/lib/radio-button/index.js +97 -24
  312. package/lib/radio-button/radio-button-registry.d.ts +3 -2
  313. package/lib/radio-button/radio-button-registry.js +57 -5
  314. package/lib/radio-button/themes/halo/dark/index.js +1 -1
  315. package/lib/radio-button/themes/halo/light/index.js +1 -1
  316. package/lib/rating/custom-elements.md +17 -0
  317. package/lib/rating/index.d.ts +11 -4
  318. package/lib/rating/index.js +16 -10
  319. package/lib/search-field/custom-elements.json +70 -74
  320. package/lib/search-field/custom-elements.md +41 -0
  321. package/lib/search-field/index.d.ts +47 -97
  322. package/lib/search-field/index.js +50 -212
  323. package/lib/search-field/themes/halo/dark/index.js +1 -1
  324. package/lib/search-field/themes/halo/light/index.js +1 -1
  325. package/lib/search-field/themes/solar/charcoal/index.js +1 -1
  326. package/lib/search-field/themes/solar/pearl/index.js +1 -1
  327. package/lib/select/custom-elements.json +5 -4
  328. package/lib/select/custom-elements.md +24 -0
  329. package/lib/select/helpers/types.d.ts +1 -1
  330. package/lib/select/helpers/types.js +0 -1
  331. package/lib/select/index.d.ts +26 -11
  332. package/lib/select/index.js +93 -52
  333. package/lib/select/themes/halo/dark/index.js +1 -1
  334. package/lib/select/themes/halo/light/index.js +1 -1
  335. package/lib/sidebar-layout/custom-elements.json +2 -6
  336. package/lib/sidebar-layout/custom-elements.md +21 -0
  337. package/lib/sidebar-layout/index.d.ts +15 -7
  338. package/lib/sidebar-layout/index.js +16 -10
  339. package/lib/slider/custom-elements.json +4 -4
  340. package/lib/slider/custom-elements.md +28 -0
  341. package/lib/slider/index.d.ts +18 -5
  342. package/lib/slider/index.js +69 -16
  343. package/lib/sparkline/custom-elements.json +4 -4
  344. package/lib/sparkline/custom-elements.md +16 -0
  345. package/lib/sparkline/index.d.ts +14 -5
  346. package/lib/sparkline/index.js +17 -10
  347. package/lib/swing-gauge/const.d.ts +22 -0
  348. package/lib/swing-gauge/const.js +26 -0
  349. package/lib/swing-gauge/custom-elements.json +51 -22
  350. package/lib/swing-gauge/custom-elements.md +17 -0
  351. package/lib/swing-gauge/helpers.d.ts +8 -0
  352. package/lib/swing-gauge/helpers.js +105 -0
  353. package/lib/swing-gauge/index.d.ts +220 -72
  354. package/lib/swing-gauge/index.js +648 -168
  355. package/lib/swing-gauge/themes/halo/dark/index.js +1 -1
  356. package/lib/swing-gauge/themes/halo/light/index.js +1 -1
  357. package/lib/swing-gauge/themes/solar/charcoal/index.js +1 -1
  358. package/lib/swing-gauge/themes/solar/pearl/index.js +1 -1
  359. package/lib/swing-gauge/types.d.ts +34 -0
  360. package/lib/swing-gauge/types.js +1 -0
  361. package/lib/tab/custom-elements.json +10 -21
  362. package/lib/tab/custom-elements.md +22 -0
  363. package/lib/tab/index.d.ts +19 -14
  364. package/lib/tab/index.js +31 -40
  365. package/lib/tab/themes/halo/dark/index.js +1 -1
  366. package/lib/tab/themes/halo/light/index.js +1 -1
  367. package/lib/tab/themes/solar/charcoal/index.js +1 -1
  368. package/lib/tab/themes/solar/pearl/index.js +1 -1
  369. package/lib/tab-bar/custom-elements.json +0 -6
  370. package/lib/tab-bar/custom-elements.md +11 -0
  371. package/lib/tab-bar/helpers/animate.d.ts +1 -1
  372. package/lib/tab-bar/helpers/animate.js +5 -2
  373. package/lib/tab-bar/index.d.ts +12 -5
  374. package/lib/tab-bar/index.js +18 -21
  375. package/lib/tab-bar/themes/solar/charcoal/index.js +1 -1
  376. package/lib/tab-bar/themes/solar/pearl/index.js +1 -1
  377. package/lib/text-field/custom-elements.json +78 -89
  378. package/lib/text-field/custom-elements.md +35 -0
  379. package/lib/text-field/index.d.ts +67 -80
  380. package/lib/text-field/index.js +106 -157
  381. package/lib/text-field/themes/halo/dark/index.js +1 -1
  382. package/lib/text-field/themes/halo/light/index.js +1 -1
  383. package/lib/text-field/themes/solar/charcoal/index.js +1 -1
  384. package/lib/text-field/themes/solar/pearl/index.js +1 -1
  385. package/lib/time-picker/custom-elements.json +6 -8
  386. package/lib/time-picker/custom-elements.md +28 -0
  387. package/lib/time-picker/index.d.ts +105 -65
  388. package/lib/time-picker/index.js +297 -169
  389. package/lib/time-picker/themes/solar/charcoal/index.js +1 -1
  390. package/lib/time-picker/themes/solar/pearl/index.js +1 -1
  391. package/lib/toggle/custom-elements.json +4 -4
  392. package/lib/toggle/custom-elements.md +19 -0
  393. package/lib/toggle/index.d.ts +22 -5
  394. package/lib/toggle/index.js +58 -13
  395. package/lib/toggle/themes/halo/dark/index.js +1 -1
  396. package/lib/toggle/themes/halo/light/index.js +1 -1
  397. package/lib/toggle/themes/solar/charcoal/index.js +1 -1
  398. package/lib/toggle/themes/solar/pearl/index.js +1 -1
  399. package/lib/tooltip/custom-elements.md +14 -0
  400. package/lib/tooltip/elements/title-tooltip.js +2 -3
  401. package/lib/tooltip/elements/tooltip-element.d.ts +2 -3
  402. package/lib/tooltip/elements/tooltip-element.js +0 -2
  403. package/lib/tooltip/helpers/overflow-tooltip.d.ts +1 -1
  404. package/lib/tooltip/helpers/overflow-tooltip.js +1 -2
  405. package/lib/tooltip/helpers/renderer.d.ts +1 -1
  406. package/lib/tooltip/helpers/renderer.js +0 -1
  407. package/lib/tooltip/helpers/types.d.ts +1 -1
  408. package/lib/tooltip/helpers/types.js +0 -1
  409. package/lib/tooltip/index.d.ts +18 -11
  410. package/lib/tooltip/index.js +27 -23
  411. package/lib/tooltip/managers/tooltip-manager.d.ts +2 -2
  412. package/lib/tooltip/managers/tooltip-manager.js +17 -11
  413. package/lib/tornado-chart/custom-elements.md +18 -0
  414. package/lib/tornado-chart/elements/tornado-chart.d.ts +12 -5
  415. package/lib/tornado-chart/elements/tornado-chart.js +15 -11
  416. package/lib/tornado-chart/elements/tornado-item.d.ts +13 -6
  417. package/lib/tornado-chart/elements/tornado-item.js +17 -12
  418. package/lib/tornado-chart/index.d.ts +2 -2
  419. package/lib/tornado-chart/index.js +2 -3
  420. package/lib/tree/custom-elements.json +30 -2
  421. package/lib/tree/custom-elements.md +32 -0
  422. package/lib/tree/elements/tree-item.d.ts +53 -5
  423. package/lib/tree/elements/tree-item.js +114 -34
  424. package/lib/tree/elements/tree.d.ts +65 -20
  425. package/lib/tree/elements/tree.js +151 -34
  426. package/lib/tree/helpers/filter.d.ts +8 -0
  427. package/lib/tree/helpers/filter.js +33 -0
  428. package/lib/tree/helpers/renderer.d.ts +2 -2
  429. package/lib/tree/helpers/renderer.js +4 -4
  430. package/lib/tree/helpers/types.d.ts +13 -1
  431. package/lib/tree/helpers/types.js +0 -1
  432. package/lib/tree/index.d.ts +4 -4
  433. package/lib/tree/index.js +3 -4
  434. package/lib/tree/managers/tree-manager.d.ts +22 -10
  435. package/lib/tree/managers/tree-manager.js +56 -41
  436. package/lib/tree/themes/halo/dark/index.js +1 -1
  437. package/lib/tree/themes/halo/light/index.js +1 -1
  438. package/lib/tree/themes/solar/charcoal/index.js +1 -1
  439. package/lib/tree/themes/solar/pearl/index.js +1 -1
  440. package/lib/tree-select/custom-elements.json +14 -5
  441. package/lib/tree-select/custom-elements.md +26 -0
  442. package/lib/tree-select/helpers/types.d.ts +2 -2
  443. package/lib/tree-select/helpers/types.js +0 -1
  444. package/lib/tree-select/index.d.ts +55 -27
  445. package/lib/tree-select/index.js +107 -45
  446. package/lib/tree-select/themes/halo/dark/index.js +3 -2
  447. package/lib/tree-select/themes/halo/light/index.js +3 -2
  448. package/lib/tree-select/themes/solar/charcoal/index.js +3 -2
  449. package/lib/tree-select/themes/solar/pearl/index.js +3 -2
  450. package/lib/version.d.ts +1 -0
  451. package/lib/version.js +1 -0
  452. package/package.json +601 -25
  453. package/lib/accordion/index.js.map +0 -1
  454. package/lib/appstate-bar/index.js.map +0 -1
  455. package/lib/autosuggest/helpers/const.d.ts +0 -2
  456. package/lib/autosuggest/helpers/const.js +0 -4
  457. package/lib/autosuggest/helpers/const.js.map +0 -1
  458. package/lib/autosuggest/helpers/types.js.map +0 -1
  459. package/lib/autosuggest/helpers/utils.js.map +0 -1
  460. package/lib/autosuggest/index.js.map +0 -1
  461. package/lib/button/index.js.map +0 -1
  462. package/lib/button-bar/index.js.map +0 -1
  463. package/lib/calendar/index.js.map +0 -1
  464. package/lib/calendar/locales.js.map +0 -1
  465. package/lib/calendar/types.js.map +0 -1
  466. package/lib/calendar/utils.js.map +0 -1
  467. package/lib/canvas/index.js.map +0 -1
  468. package/lib/card/helpers/types.js.map +0 -1
  469. package/lib/card/index.js.map +0 -1
  470. package/lib/chart/helpers/legend.js.map +0 -1
  471. package/lib/chart/helpers/types.js.map +0 -1
  472. package/lib/chart/index.js.map +0 -1
  473. package/lib/chart/plugins/doughnut-center-label.js.map +0 -1
  474. package/lib/checkbox/index.js.map +0 -1
  475. package/lib/clock/index.js.map +0 -1
  476. package/lib/clock/utils/TickManager.js.map +0 -1
  477. package/lib/clock/utils/timestamps.js.map +0 -1
  478. package/lib/collapse/index.js.map +0 -1
  479. package/lib/color-dialog/elements/color-palettes.js.map +0 -1
  480. package/lib/color-dialog/elements/grayscale-palettes.js.map +0 -1
  481. package/lib/color-dialog/elements/palettes.js.map +0 -1
  482. package/lib/color-dialog/helpers/color-helpers.js.map +0 -1
  483. package/lib/color-dialog/helpers/value-model.js.map +0 -1
  484. package/lib/color-dialog/index.js.map +0 -1
  485. package/lib/combo-box/helpers/filter.js.map +0 -1
  486. package/lib/combo-box/helpers/keyboard-event.js.map +0 -1
  487. package/lib/combo-box/helpers/types.js.map +0 -1
  488. package/lib/combo-box/index.js.map +0 -1
  489. package/lib/datetime-picker/index.js.map +0 -1
  490. package/lib/datetime-picker/locales.js.map +0 -1
  491. package/lib/datetime-picker/types.js.map +0 -1
  492. package/lib/datetime-picker/utils.js.map +0 -1
  493. package/lib/dialog/draggable-element.js.map +0 -1
  494. package/lib/dialog/index.js.map +0 -1
  495. package/lib/email-field/index.js.map +0 -1
  496. package/lib/flag/index.js.map +0 -1
  497. package/lib/flag/utils/FlagLoader.js.map +0 -1
  498. package/lib/header/index.js.map +0 -1
  499. package/lib/heatmap/helpers/color.js.map +0 -1
  500. package/lib/heatmap/helpers/text.js.map +0 -1
  501. package/lib/heatmap/helpers/track.js.map +0 -1
  502. package/lib/heatmap/helpers/types.js.map +0 -1
  503. package/lib/heatmap/index.js.map +0 -1
  504. package/lib/icon/index.js.map +0 -1
  505. package/lib/icon/utils/IconLoader.js.map +0 -1
  506. package/lib/index.js.map +0 -1
  507. package/lib/interactive-chart/helpers/types.js.map +0 -1
  508. package/lib/interactive-chart/index.js.map +0 -1
  509. package/lib/item/helpers/types.js.map +0 -1
  510. package/lib/item/index.js.map +0 -1
  511. package/lib/label/helpers/text.d.ts +0 -35
  512. package/lib/label/helpers/text.js +0 -57
  513. package/lib/label/helpers/text.js.map +0 -1
  514. package/lib/label/index.js.map +0 -1
  515. package/lib/layout/index.js.map +0 -1
  516. package/lib/led-gauge/index.js.map +0 -1
  517. package/lib/list/extensible-function.js.map +0 -1
  518. package/lib/list/helpers/list-renderer.js.map +0 -1
  519. package/lib/list/helpers/types.js.map +0 -1
  520. package/lib/list/index.js.map +0 -1
  521. package/lib/list/renderer.js.map +0 -1
  522. package/lib/loader/index.js.map +0 -1
  523. package/lib/multi-input/helpers/types.js.map +0 -1
  524. package/lib/multi-input/index.js.map +0 -1
  525. package/lib/notification/elements/notification-tray.js.map +0 -1
  526. package/lib/notification/elements/notification.js.map +0 -1
  527. package/lib/notification/helpers/status.js.map +0 -1
  528. package/lib/notification/helpers/types.js.map +0 -1
  529. package/lib/notification/index.js.map +0 -1
  530. package/lib/number-field/index.js.map +0 -1
  531. package/lib/overlay/elements/overlay-backdrop.js.map +0 -1
  532. package/lib/overlay/elements/overlay-viewport.js.map +0 -1
  533. package/lib/overlay/elements/overlay.js.map +0 -1
  534. package/lib/overlay/helpers/functions.js.map +0 -1
  535. package/lib/overlay/helpers/types.js.map +0 -1
  536. package/lib/overlay/index.js.map +0 -1
  537. package/lib/overlay/managers/backdrop-manager.js.map +0 -1
  538. package/lib/overlay/managers/close-manager.js.map +0 -1
  539. package/lib/overlay/managers/focus-manager.js.map +0 -1
  540. package/lib/overlay/managers/interaction-lock-manager.js.map +0 -1
  541. package/lib/overlay/managers/viewport-manager.js.map +0 -1
  542. package/lib/overlay/managers/zindex-manager.js.map +0 -1
  543. package/lib/overlay-menu/helpers/types.js.map +0 -1
  544. package/lib/overlay-menu/helpers/uuid.d.ts +0 -7
  545. package/lib/overlay-menu/helpers/uuid.js +0 -14
  546. package/lib/overlay-menu/helpers/uuid.js.map +0 -1
  547. package/lib/overlay-menu/index.js.map +0 -1
  548. package/lib/overlay-menu/managers/menu-manager.js.map +0 -1
  549. package/lib/pagination/helpers/types.d.ts +0 -9
  550. package/lib/pagination/helpers/types.js +0 -2
  551. package/lib/pagination/helpers/types.js.map +0 -1
  552. package/lib/pagination/index.js.map +0 -1
  553. package/lib/panel/index.js.map +0 -1
  554. package/lib/password-field/index.js.map +0 -1
  555. package/lib/pill/index.js.map +0 -1
  556. package/lib/progress-bar/index.js.map +0 -1
  557. package/lib/radio-button/index.js.map +0 -1
  558. package/lib/radio-button/radio-button-registry.js.map +0 -1
  559. package/lib/rating/index.js.map +0 -1
  560. package/lib/search-field/index.js.map +0 -1
  561. package/lib/select/helpers/types.js.map +0 -1
  562. package/lib/select/index.js.map +0 -1
  563. package/lib/sidebar-layout/index.js.map +0 -1
  564. package/lib/slider/index.js.map +0 -1
  565. package/lib/sparkline/index.js.map +0 -1
  566. package/lib/swing-gauge/helpers/canvas.d.ts +0 -8
  567. package/lib/swing-gauge/helpers/canvas.js +0 -115
  568. package/lib/swing-gauge/helpers/canvas.js.map +0 -1
  569. package/lib/swing-gauge/helpers/types.d.ts +0 -33
  570. package/lib/swing-gauge/helpers/types.js +0 -2
  571. package/lib/swing-gauge/helpers/types.js.map +0 -1
  572. package/lib/swing-gauge/index.js.map +0 -1
  573. package/lib/tab/index.js.map +0 -1
  574. package/lib/tab-bar/helpers/animate.js.map +0 -1
  575. package/lib/tab-bar/index.js.map +0 -1
  576. package/lib/text-field/index.js.map +0 -1
  577. package/lib/time-picker/index.js.map +0 -1
  578. package/lib/toggle/index.js.map +0 -1
  579. package/lib/tooltip/elements/title-tooltip.js.map +0 -1
  580. package/lib/tooltip/elements/tooltip-element.js.map +0 -1
  581. package/lib/tooltip/helpers/overflow-tooltip.js.map +0 -1
  582. package/lib/tooltip/helpers/renderer.js.map +0 -1
  583. package/lib/tooltip/helpers/types.js.map +0 -1
  584. package/lib/tooltip/index.js.map +0 -1
  585. package/lib/tooltip/managers/tooltip-manager.js.map +0 -1
  586. package/lib/tornado-chart/elements/tornado-chart.js.map +0 -1
  587. package/lib/tornado-chart/elements/tornado-item.js.map +0 -1
  588. package/lib/tornado-chart/index.js.map +0 -1
  589. package/lib/tree/elements/tree-item.js.map +0 -1
  590. package/lib/tree/elements/tree.js.map +0 -1
  591. package/lib/tree/helpers/renderer.js.map +0 -1
  592. package/lib/tree/helpers/types.js.map +0 -1
  593. package/lib/tree/index.js.map +0 -1
  594. package/lib/tree/managers/tree-manager.js.map +0 -1
  595. package/lib/tree-select/helpers/types.js.map +0 -1
  596. package/lib/tree-select/index.js.map +0 -1
@@ -1,24 +1,40 @@
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 { Button } from '../button';
1
+ var ButtonBar_1;
2
+ import { __decorate } from "tslib";
3
+ import { BasicElement, html, css } from '@refinitiv-ui/core';
4
+ import { customElement } from '@refinitiv-ui/core/lib/decorators/custom-element.js';
5
+ import { property } from '@refinitiv-ui/core/lib/decorators/property.js';
6
+ import { VERSION } from '../version.js';
7
+ import { Button } from '../button/index.js';
8
+ import { ref, createRef } from '@refinitiv-ui/core/lib/directives/ref.js';
9
9
  /**
10
10
  * Used to display multiple buttons to create a list of commands bar.
11
11
  */
12
- let ButtonBar = class ButtonBar extends BasicElement {
12
+ let ButtonBar = ButtonBar_1 = class ButtonBar extends BasicElement {
13
13
  constructor() {
14
14
  super(...arguments);
15
+ /**
16
+ * Element's role attribute for accessibility
17
+ * `role` should be `radiogroup` when it is managed.
18
+ */
19
+ this.defaultRole = 'toolbar';
15
20
  /**
16
21
  * Manages user interaction, only allowing one toggle button to be active at any one time.
17
22
  */
18
23
  this.managed = false;
24
+ /**
25
+ * Default slot
26
+ */
27
+ this.defaultSlot = createRef();
19
28
  }
20
29
  /**
21
- * A `CSSResult` that will be used
30
+ * Element version number
31
+ * @returns version number
32
+ */
33
+ static get version() {
34
+ return VERSION;
35
+ }
36
+ /**
37
+ * A `CSSResultGroup` that will be used
22
38
  * to style the host, slotted children
23
39
  * and the internal template of the element.
24
40
  * @return CSS template
@@ -77,7 +93,131 @@ let ButtonBar = class ButtonBar extends BasicElement {
77
93
  */
78
94
  firstUpdated(changedProperties) {
79
95
  super.firstUpdated(changedProperties);
80
- this.addEventListener('tap', event => this.onTapHandler(event));
96
+ this.addEventListener('tap', this.onTapHandler);
97
+ this.addEventListener('keydown', this.onKeyDown);
98
+ this.manageTabIndex();
99
+ }
100
+ /**
101
+ * Handles key down event
102
+ * @param event Key down event object
103
+ * @returns {void}
104
+ */
105
+ onKeyDown(event) {
106
+ switch (event.key) {
107
+ case 'Tab':
108
+ // To prevent inserting button case, make sure there is only one tabIndex=0 in the buttons
109
+ this.manageTabIndex();
110
+ break;
111
+ case ' ':
112
+ case 'Spacebar':
113
+ case 'Enter':
114
+ this.onTapHandler(event);
115
+ break;
116
+ case 'Right':
117
+ case 'ArrowRight':
118
+ // Prevent calling twice if this component is nested
119
+ !this.isNested() && this.navigateToSibling('next');
120
+ break;
121
+ case 'Down':
122
+ case 'ArrowDown':
123
+ // Managed works as role radiogroup so `Up` and `Down` key can navigate among radios in the group
124
+ this.managed && this.navigateToSibling('next');
125
+ break;
126
+ case 'Left':
127
+ case 'ArrowLeft':
128
+ !this.isNested() && this.navigateToSibling('previous');
129
+ break;
130
+ case 'Up':
131
+ case 'ArrowUp':
132
+ this.managed && this.navigateToSibling('previous');
133
+ break;
134
+ case 'Home':
135
+ !this.isNested() && this.first();
136
+ break;
137
+ case 'End':
138
+ !this.isNested() && this.last();
139
+ break;
140
+ default:
141
+ return;
142
+ }
143
+ }
144
+ /**
145
+ * Navigate to next or previous focusable button
146
+ * @param direction next | down
147
+ * @returns {void}
148
+ */
149
+ navigateToSibling(direction) {
150
+ const buttons = this.getFocusableButtons();
151
+ if (buttons.length <= 0) {
152
+ return;
153
+ }
154
+ const focusedButtonIndex = buttons.findIndex(button => button === document.activeElement);
155
+ const nextButton = direction === 'next'
156
+ ? buttons[focusedButtonIndex + 1] || buttons[0]
157
+ : buttons[focusedButtonIndex - 1] || buttons[buttons.length - 1];
158
+ nextButton.focus();
159
+ this.rovingTabIndex(nextButton, buttons);
160
+ }
161
+ /**
162
+ * Navigate to the first focusable button
163
+ * @returns {void}
164
+ */
165
+ first() {
166
+ const buttons = this.getFocusableButtons();
167
+ if (buttons.length <= 0) {
168
+ return;
169
+ }
170
+ buttons[0].focus();
171
+ this.rovingTabIndex(buttons[0], buttons);
172
+ }
173
+ /**
174
+ * Navigate to the last focusable button
175
+ * @returns {void}
176
+ */
177
+ last() {
178
+ const buttons = this.getFocusableButtons();
179
+ if (buttons.length <= 0) {
180
+ return;
181
+ }
182
+ buttons[buttons.length - 1].focus();
183
+ this.rovingTabIndex(buttons[buttons.length - 1], buttons);
184
+ }
185
+ /**
186
+ * Sets the tabindex to -1 for all buttons except the currently focused one.
187
+ * @param target the button to be focused
188
+ * @param buttons Array of Buttons that contains target
189
+ * @returns {void}
190
+ */
191
+ rovingTabIndex(target, buttons) {
192
+ buttons.forEach((button) => {
193
+ button.tabIndex = -1;
194
+ });
195
+ target.tabIndex = 0;
196
+ }
197
+ /**
198
+ * Set tabIndex to all buttons
199
+ * @returns {void}
200
+ */
201
+ manageTabIndex() {
202
+ if (this.isNested()) {
203
+ return;
204
+ }
205
+ const buttons = this.getFocusableButtons();
206
+ if (buttons && buttons.length > 0) {
207
+ // Set tabindex=0 to previous focused button when new button added If not found set it to first button instead
208
+ let focusedButtonIndex = buttons.findIndex(button => document.activeElement === button);
209
+ if (focusedButtonIndex === -1) {
210
+ focusedButtonIndex = 0;
211
+ }
212
+ this.rovingTabIndex(buttons[focusedButtonIndex], buttons);
213
+ }
214
+ }
215
+ /**
216
+ * Check if button bar is nested, a.k.a. has parent button bar
217
+ * @returns `True` if button bar is nested
218
+ */
219
+ isNested() {
220
+ return this.parentElement instanceof ButtonBar_1;
81
221
  }
82
222
  /**
83
223
  * Handles tap event
@@ -93,6 +233,8 @@ let ButtonBar = class ButtonBar extends BasicElement {
93
233
  event.stopPropagation();
94
234
  this.manageButtons(target);
95
235
  }
236
+ target.focus();
237
+ this.rovingTabIndex(target, this.getFocusableButtons());
96
238
  }
97
239
  /**
98
240
  * Get the target Button item and handle it with other managed Button items
@@ -114,8 +256,15 @@ let ButtonBar = class ButtonBar extends BasicElement {
114
256
  * @returns the array of Element of the default slot
115
257
  */
116
258
  getElementsOfSlot() {
117
- return this.defaultSlot.assignedNodes()
118
- .filter(node => node instanceof Element);
259
+ var _a;
260
+ return (_a = this.defaultSlot.value) === null || _a === void 0 ? void 0 : _a.assignedNodes().filter(node => node instanceof Element);
261
+ }
262
+ /**
263
+ * Return the array of Buttons which focusable
264
+ * @returns the array of focusable Buttons
265
+ */
266
+ getFocusableButtons() {
267
+ return [...this.querySelectorAll('ef-button,coral-button')].filter(button => !button.disabled);
119
268
  }
120
269
  /**
121
270
  * Filter Button classes by the toggles property
@@ -132,19 +281,15 @@ let ButtonBar = class ButtonBar extends BasicElement {
132
281
  * @return {TemplateResult} Render template
133
282
  */
134
283
  render() {
135
- return html `<slot></slot>`;
284
+ return html `<slot ${ref(this.defaultSlot)} ></slot>`;
136
285
  }
137
286
  };
138
287
  __decorate([
139
288
  property({ type: Boolean, reflect: true })
140
289
  ], ButtonBar.prototype, "managed", void 0);
141
- __decorate([
142
- query('slot:not([name])')
143
- ], ButtonBar.prototype, "defaultSlot", void 0);
144
- ButtonBar = __decorate([
290
+ ButtonBar = ButtonBar_1 = __decorate([
145
291
  customElement('ef-button-bar', {
146
292
  alias: 'coral-split-button'
147
293
  })
148
294
  ], ButtonBar);
149
295
  export { ButtonBar };
150
- //# sourceMappingURL=index.js.map
@@ -0,0 +1,26 @@
1
+ export declare enum RenderView {
2
+ DAY = "day",
3
+ MONTH = "month",
4
+ YEAR = "year"
5
+ }
6
+ export declare const FIRST_DAY_OF_WEEK = 0;
7
+ export declare const YEARS_PER_YEAR_VIEW = 16;
8
+ export declare const DAY_VIEW: {
9
+ rowCount: number;
10
+ columnCount: number;
11
+ totalCount: number;
12
+ };
13
+ export declare const YEAR_VIEW: {
14
+ rowCount: number;
15
+ columnCount: number;
16
+ totalCount: number;
17
+ };
18
+ export declare const MONTH_VIEW: {
19
+ rowCount: number;
20
+ columnCount: number;
21
+ totalCount: number;
22
+ };
23
+ /**
24
+ * A symbol to ensure these locales cannot be overridden
25
+ */
26
+ export declare const CalendarLocaleScope: string;
@@ -0,0 +1,28 @@
1
+ import { uuid } from '@refinitiv-ui/utils/lib/uuid.js';
2
+ export var RenderView;
3
+ (function (RenderView) {
4
+ RenderView["DAY"] = "day";
5
+ RenderView["MONTH"] = "month";
6
+ RenderView["YEAR"] = "year";
7
+ })(RenderView || (RenderView = {}));
8
+ export const FIRST_DAY_OF_WEEK = 0; // 0 for Sunday
9
+ export const YEARS_PER_YEAR_VIEW = 16; /* must be a square number */
10
+ export const DAY_VIEW = {
11
+ rowCount: 6,
12
+ columnCount: 7,
13
+ totalCount: 6 * 7
14
+ };
15
+ export const YEAR_VIEW = {
16
+ rowCount: 4,
17
+ columnCount: 4,
18
+ totalCount: 4 * 4
19
+ };
20
+ export const MONTH_VIEW = {
21
+ rowCount: 4,
22
+ columnCount: 4,
23
+ totalCount: 4 * 4
24
+ };
25
+ /**
26
+ * A symbol to ensure these locales cannot be overridden
27
+ */
28
+ export const CalendarLocaleScope = uuid();
@@ -61,7 +61,8 @@
61
61
  {
62
62
  "name": "values",
63
63
  "description": "Set multiple selected values",
64
- "type": "string[]"
64
+ "type": "string[]",
65
+ "default": "[]"
65
66
  },
66
67
  {
67
68
  "name": "fill-cells",
@@ -73,13 +74,13 @@
73
74
  "name": "readonly",
74
75
  "description": "Set readonly state",
75
76
  "type": "boolean",
76
- "default": "\"false\""
77
+ "default": "false"
77
78
  },
78
79
  {
79
80
  "name": "disabled",
80
81
  "description": "Set disabled state",
81
82
  "type": "boolean",
82
- "default": "\"false\""
83
+ "default": "false"
83
84
  }
84
85
  ],
85
86
  "properties": [
@@ -154,7 +155,8 @@
154
155
  "name": "values",
155
156
  "attribute": "values",
156
157
  "description": "Set multiple selected values",
157
- "type": "string[]"
158
+ "type": "string[]",
159
+ "default": "[]"
158
160
  },
159
161
  {
160
162
  "name": "fillCells",
@@ -168,14 +170,14 @@
168
170
  "attribute": "readonly",
169
171
  "description": "Set readonly state",
170
172
  "type": "boolean",
171
- "default": "\"false\""
173
+ "default": "false"
172
174
  },
173
175
  {
174
176
  "name": "disabled",
175
177
  "attribute": "disabled",
176
178
  "description": "Set disabled state",
177
179
  "type": "boolean",
178
- "default": "\"false\""
180
+ "default": "false"
179
181
  }
180
182
  ],
181
183
  "events": [
@@ -0,0 +1,35 @@
1
+ # ef-calendar
2
+
3
+ Standard calendar element
4
+
5
+ ## Properties
6
+
7
+ | Property | Attribute | Type | Default | Description |
8
+ |------------------|---------------------|--------------------------|---------|--------------------------------------------------|
9
+ | `disabled` | `disabled` | `boolean` | false | Set disabled state |
10
+ | `fillCells` | `fill-cells` | `boolean` | false | Fill head and tail cell dates |
11
+ | `filter` | | `CalendarFilter \| null` | null | Custom filter, used for enabling/disabling certain dates |
12
+ | `firstDayOfWeek` | `first-day-of-week` | `number \| null` | null | Set the first day of the week.<br />0 - for Sunday, 6 - for Saturday |
13
+ | `max` | `max` | `string` | "" | Set maximum date |
14
+ | `min` | `min` | `string` | "" | Set minimum date |
15
+ | `multiple` | `multiple` | `boolean` | false | Set to switch to multiple select mode |
16
+ | `range` | `range` | `boolean` | false | Set to switch to range select mode |
17
+ | `readonly` | `readonly` | `boolean` | false | Set readonly state |
18
+ | `value` | `value` | `string` | "" | Current date time value |
19
+ | `values` | `values` | `string[]` | [] | Set multiple selected values |
20
+ | `view` | `view` | `string` | "" | Current calendar view date |
21
+ | `weekdaysOnly` | `weekdays-only` | `boolean` | false | Only enable weekdays |
22
+ | `weekendsOnly` | `weekends-only` | `boolean` | false | Only enable weekends |
23
+
24
+ ## Events
25
+
26
+ | Event | Description |
27
+ |-----------------|---------------------------------|
28
+ | `value-changed` | Fired when the `value` changes. |
29
+ | `view-changed` | Fired when the `view` changes. |
30
+
31
+ ## Slots
32
+
33
+ | Name | Description |
34
+ |----------|--------------------------------------------------|
35
+ | `footer` | Adds slotted content into the footer of the calendar control |
@@ -1,9 +1,10 @@
1
1
  import { JSXInterface } from '../jsx';
2
- import { ControlElement, TemplateResult, CSSResult, PropertyValues, MultiValue } from '@refinitiv-ui/core';
3
- import '../button';
4
- import './locales';
2
+ import { ControlElement, TemplateResult, CSSResultGroup, PropertyValues, MultiValue } from '@refinitiv-ui/core';
5
3
  import { TranslateDirective, TranslatePromise } from '@refinitiv-ui/translate';
6
4
  import { CalendarFilter } from './types';
5
+ import './locales.js';
6
+ import '../button/index.js';
7
+ import '@refinitiv-ui/phrasebook/lib/locale/en/calendar.js';
7
8
  export { CalendarFilter };
8
9
  /**
9
10
  * Standard calendar element
@@ -21,12 +22,22 @@ export { CalendarFilter };
21
22
  */
22
23
  export declare class Calendar extends ControlElement implements MultiValue {
23
24
  /**
24
- * A `CSSResult` that will be used
25
+ * Element version number
26
+ * @returns version number
27
+ */
28
+ static get version(): string;
29
+ protected readonly defaultRole: string | null;
30
+ /**
31
+ * A `CSSResultGroup` that will be used
25
32
  * to style the host, slotted children
26
33
  * and the internal template of the element.
27
34
  * @return CSS template
28
35
  */
29
- static get styles(): CSSResult | CSSResult[];
36
+ static get styles(): CSSResultGroup;
37
+ /**
38
+ * Reference to the view button
39
+ */
40
+ private viewBtnRef;
30
41
  private _min;
31
42
  /**
32
43
  * Set minimum date
@@ -73,6 +84,7 @@ export declare class Calendar extends ControlElement implements MultiValue {
73
84
  * 0 - for Sunday, 6 - for Saturday
74
85
  * @param firstDayOfWeek The first day of the week
75
86
  * @type {number | null}
87
+ * @default null
76
88
  */
77
89
  set firstDayOfWeek(firstDayOfWeek: number);
78
90
  get firstDayOfWeek(): number;
@@ -96,6 +108,7 @@ export declare class Calendar extends ControlElement implements MultiValue {
96
108
  * Set multiple selected values
97
109
  * @param values Values to set
98
110
  * @type {string[]}
111
+ * @default []
99
112
  */
100
113
  set values(values: string[]);
101
114
  get values(): string[];
@@ -103,25 +116,63 @@ export declare class Calendar extends ControlElement implements MultiValue {
103
116
  * Fill head and tail cell dates
104
117
  */
105
118
  fillCells: boolean;
119
+ /**
120
+ * Calendar internal translation strings
121
+ */
122
+ protected dateT: TranslateDirective;
123
+ protected dateTPromise: TranslatePromise;
106
124
  /**
107
125
  * Used for translations
108
126
  */
109
127
  protected t: TranslateDirective;
110
- protected tPromise: TranslatePromise;
111
128
  /**
112
129
  * Used for internal navigation between render views
113
130
  */
114
- private renderView;
115
- private isDateAvailable;
131
+ private _renderView;
132
+ private get renderView();
133
+ private set renderView(value);
134
+ /**
135
+ * Used for keyboard navigation when trying
136
+ * to restore focus on re-render and control navigation
137
+ */
138
+ private _activeCellIndex;
139
+ private get activeCellIndex();
140
+ private set activeCellIndex(value);
141
+ /**
142
+ * Silently reset cell index without calling request update
143
+ * @returns {void}
144
+ */
145
+ private resetActiveCellIndex;
146
+ private navigationGrid;
116
147
  /**
117
- * Get weekday numbers.
118
- * Sort the list based on first day of the week
148
+ * Connected to role. If false, the values are not announced in the screen reader
119
149
  */
120
- private get weekdaysNames();
150
+ private announceValues;
121
151
  /**
122
- * Get localised month names from January to December
152
+ * Get an active element
123
153
  */
124
- private get monthsNames();
154
+ private get activeElement();
155
+ /**
156
+ * Get selectable date button element by index
157
+ * @param index Cell index
158
+ * @returns button HTML date button element or null
159
+ */
160
+ private getDateButtonByIndex;
161
+ /**
162
+ * Get active date button element
163
+ * @returns button HTML date button element or null
164
+ */
165
+ private get activeDateButton();
166
+ /**
167
+ * Return true if passed target is HTML
168
+ * date button element that can be selected
169
+ * @param target Target to check
170
+ * @returns isDateButtonElement
171
+ */
172
+ private isDateButton;
173
+ private isDateAvailable;
174
+ static get observedAttributes(): string[];
175
+ attributeChangedCallback(name: string, oldValue: string | null, newValue: string | null): void;
125
176
  /**
126
177
  * Perform asynchronous update
127
178
  * @returns promise
@@ -133,6 +184,12 @@ export declare class Calendar extends ControlElement implements MultiValue {
133
184
  * @returns {void}
134
185
  */
135
186
  protected update(changedProperties: PropertyValues): void;
187
+ /**
188
+ * Called after render life-cycle finished
189
+ * @param changedProperties Properties which have changed
190
+ * @return {void}
191
+ */
192
+ protected updated(changedProperties: PropertyValues): void;
136
193
  /**
137
194
  * Run when an element has been first updated
138
195
  * @param changedProperties properties that was changed on first update
@@ -191,21 +248,30 @@ export declare class Calendar extends ControlElement implements MultiValue {
191
248
  * @returns cell selection model
192
249
  */
193
250
  private getCellSelection;
251
+ /**
252
+ * Set navigation map based on rows
253
+ * @param rows A collection of rows with cells
254
+ * @returns {void}
255
+ */
256
+ private setNavigationMap;
194
257
  /**
195
258
  * Run when next button is tapped.
196
259
  * Change current view to next view
260
+ * @param event Next view tap event
197
261
  * @returns {void}
198
262
  */
199
263
  private onNextTap;
200
264
  /**
201
265
  * Run when previous button is tapped.
202
266
  * Change current view to previous view
267
+ * @param event Previous view tap event
203
268
  * @returns {void}
204
269
  */
205
270
  private onPreviousTap;
206
271
  /**
207
272
  * Run when change view button is tapped.
208
273
  * Switch between views
274
+ * @param event Render view tap event
209
275
  * @returns {void}
210
276
  */
211
277
  private onRenderViewTap;
@@ -214,7 +280,7 @@ export declare class Calendar extends ControlElement implements MultiValue {
214
280
  * @param event Keyboard event
215
281
  * @returns {void}
216
282
  */
217
- private onTableKeyDown;
283
+ private onKeyDown;
218
284
  /**
219
285
  * Run when tap event happens ot table.
220
286
  * Select the values or switch the view
@@ -222,6 +288,22 @@ export declare class Calendar extends ControlElement implements MultiValue {
222
288
  * @returns {void}
223
289
  */
224
290
  private onTableTap;
291
+ /**
292
+ * Navigate over the grid
293
+ * @param key Navigation direction
294
+ * @returns navigation promise
295
+ */
296
+ private onNavigation;
297
+ /**
298
+ * Navigate to the next view
299
+ * @returns {void}
300
+ */
301
+ private toNextView;
302
+ /**
303
+ * Navigate to the previous view
304
+ * @returns {void}
305
+ */
306
+ private toPreviousView;
225
307
  /**
226
308
  * Run when tap event happened on DAY view and the cell has the values
227
309
  * Try to select/deselect cell value
@@ -254,13 +336,11 @@ export declare class Calendar extends ControlElement implements MultiValue {
254
336
  */
255
337
  private get formattedViewRender();
256
338
  /**
257
- * Render cell content template.
258
- * If the cell is selectable (aka has value) add selection part
259
- * @param text Text to render
260
- * @param selectable True if cell may be selected
261
- * @returns template result
339
+ * Set an active state of the cell based
340
+ * @param rows A collection of rows with cells
341
+ * @returns {void}
262
342
  */
263
- private renderContentBox;
343
+ private setActiveCell;
264
344
  /**
265
345
  * Get year view template
266
346
  */
@@ -281,6 +361,12 @@ export declare class Calendar extends ControlElement implements MultiValue {
281
361
  * Render a view based on the current render view
282
362
  */
283
363
  private get viewRender();
364
+ /**
365
+ * Get cell translate label key based on selected state
366
+ * @param cell Cell
367
+ * @returns key Translate label key
368
+ */
369
+ private getCellLabelKey;
284
370
  /**
285
371
  * Render cell template. Cell can be a day, month or year
286
372
  * @param cell Cell object
@@ -293,6 +379,16 @@ export declare class Calendar extends ControlElement implements MultiValue {
293
379
  * @returns template result
294
380
  */
295
381
  private renderRows;
382
+ /**
383
+ * Render button navigation template
384
+ * @returns template result
385
+ */
386
+ private get buttonNavigationTemplate();
387
+ /**
388
+ * A template used to notify currently selected value for screen readers
389
+ * @returns template result
390
+ */
391
+ private get selectionTemplate();
296
392
  /**
297
393
  * A `TemplateResult` that will be used
298
394
  * to render the updated internal template.
@@ -311,4 +407,6 @@ declare global {
311
407
  'ef-calendar': Partial<Calendar> | JSXInterface.ControlHTMLAttributes<Calendar>;
312
408
  }
313
409
  }
314
- }
410
+ }
411
+
412
+ export {};