@refinitiv-ui/elements 5.11.0 → 5.12.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (504) hide show
  1. package/README.md +4 -4
  2. package/package.json +21 -290
  3. package/lib/accordion/index.d.ts +0 -76
  4. package/lib/accordion/index.js +0 -136
  5. package/lib/accordion/themes/halo/dark/index.js +0 -3
  6. package/lib/accordion/themes/halo/light/index.js +0 -3
  7. package/lib/accordion/themes/solar/charcoal/index.js +0 -3
  8. package/lib/accordion/themes/solar/pearl/index.js +0 -3
  9. package/lib/appstate-bar/index.d.ts +0 -65
  10. package/lib/appstate-bar/index.js +0 -100
  11. package/lib/appstate-bar/themes/halo/dark/index.js +0 -3
  12. package/lib/appstate-bar/themes/halo/light/index.js +0 -3
  13. package/lib/appstate-bar/themes/solar/charcoal/index.js +0 -3
  14. package/lib/appstate-bar/themes/solar/pearl/index.js +0 -3
  15. package/lib/autosuggest/helpers/types.d.ts +0 -54
  16. package/lib/autosuggest/helpers/types.js +0 -1
  17. package/lib/autosuggest/helpers/utils.d.ts +0 -39
  18. package/lib/autosuggest/helpers/utils.js +0 -75
  19. package/lib/autosuggest/index.d.ts +0 -538
  20. package/lib/autosuggest/index.js +0 -1255
  21. package/lib/autosuggest/themes/halo/dark/index.js +0 -5
  22. package/lib/autosuggest/themes/halo/light/index.js +0 -5
  23. package/lib/autosuggest/themes/solar/charcoal/index.js +0 -5
  24. package/lib/autosuggest/themes/solar/pearl/index.js +0 -5
  25. package/lib/button/index.d.ts +0 -132
  26. package/lib/button/index.js +0 -223
  27. package/lib/button/themes/halo/dark/index.js +0 -3
  28. package/lib/button/themes/halo/light/index.js +0 -3
  29. package/lib/button/themes/solar/charcoal/index.js +0 -3
  30. package/lib/button/themes/solar/pearl/index.js +0 -3
  31. package/lib/button-bar/index.d.ts +0 -76
  32. package/lib/button-bar/index.js +0 -155
  33. package/lib/button-bar/themes/halo/dark/index.js +0 -3
  34. package/lib/button-bar/themes/halo/light/index.js +0 -3
  35. package/lib/button-bar/themes/solar/charcoal/index.js +0 -3
  36. package/lib/button-bar/themes/solar/pearl/index.js +0 -3
  37. package/lib/calendar/constants.d.ts +0 -26
  38. package/lib/calendar/constants.js +0 -28
  39. package/lib/calendar/index.d.ts +0 -412
  40. package/lib/calendar/index.js +0 -1274
  41. package/lib/calendar/locales.d.ts +0 -1
  42. package/lib/calendar/locales.js +0 -41
  43. package/lib/calendar/themes/halo/dark/index.js +0 -3
  44. package/lib/calendar/themes/halo/light/index.js +0 -3
  45. package/lib/calendar/themes/solar/charcoal/index.js +0 -3
  46. package/lib/calendar/themes/solar/pearl/index.js +0 -3
  47. package/lib/calendar/types.d.ts +0 -32
  48. package/lib/calendar/types.js +0 -1
  49. package/lib/calendar/utils.d.ts +0 -42
  50. package/lib/calendar/utils.js +0 -120
  51. package/lib/canvas/index.d.ts +0 -101
  52. package/lib/canvas/index.js +0 -173
  53. package/lib/canvas/themes/halo/dark/index.js +0 -2
  54. package/lib/canvas/themes/halo/light/index.js +0 -2
  55. package/lib/canvas/themes/solar/charcoal/index.js +0 -2
  56. package/lib/canvas/themes/solar/pearl/index.js +0 -2
  57. package/lib/card/helpers/types.d.ts +0 -12
  58. package/lib/card/helpers/types.js +0 -1
  59. package/lib/card/index.d.ts +0 -142
  60. package/lib/card/index.js +0 -248
  61. package/lib/card/themes/halo/dark/index.js +0 -5
  62. package/lib/card/themes/halo/light/index.js +0 -5
  63. package/lib/card/themes/solar/charcoal/index.js +0 -5
  64. package/lib/card/themes/solar/pearl/index.js +0 -5
  65. package/lib/chart/helpers/index.d.ts +0 -2
  66. package/lib/chart/helpers/index.js +0 -2
  67. package/lib/chart/helpers/legend.d.ts +0 -5
  68. package/lib/chart/helpers/legend.js +0 -78
  69. package/lib/chart/helpers/merge.d.ts +0 -15
  70. package/lib/chart/helpers/merge.js +0 -28
  71. package/lib/chart/helpers/types.d.ts +0 -69
  72. package/lib/chart/helpers/types.js +0 -1
  73. package/lib/chart/index.d.ts +0 -187
  74. package/lib/chart/index.js +0 -491
  75. package/lib/chart/plugins/doughnut-center-label.d.ts +0 -3
  76. package/lib/chart/plugins/doughnut-center-label.js +0 -196
  77. package/lib/chart/themes/halo/dark/index.js +0 -4
  78. package/lib/chart/themes/halo/light/index.js +0 -4
  79. package/lib/chart/themes/solar/charcoal/index.js +0 -4
  80. package/lib/chart/themes/solar/pearl/index.js +0 -4
  81. package/lib/checkbox/index.d.ts +0 -97
  82. package/lib/checkbox/index.js +0 -194
  83. package/lib/checkbox/themes/halo/dark/index.js +0 -4
  84. package/lib/checkbox/themes/halo/light/index.js +0 -4
  85. package/lib/checkbox/themes/solar/charcoal/index.js +0 -4
  86. package/lib/checkbox/themes/solar/pearl/index.js +0 -4
  87. package/lib/clock/index.d.ts +0 -321
  88. package/lib/clock/index.js +0 -583
  89. package/lib/clock/themes/halo/dark/index.js +0 -2
  90. package/lib/clock/themes/halo/light/index.js +0 -2
  91. package/lib/clock/themes/solar/charcoal/index.js +0 -2
  92. package/lib/clock/themes/solar/pearl/index.js +0 -2
  93. package/lib/clock/utils/TickManager.d.ts +0 -14
  94. package/lib/clock/utils/TickManager.js +0 -66
  95. package/lib/clock/utils/timestamps.d.ts +0 -6
  96. package/lib/clock/utils/timestamps.js +0 -6
  97. package/lib/collapse/index.d.ts +0 -119
  98. package/lib/collapse/index.js +0 -197
  99. package/lib/collapse/themes/halo/dark/index.js +0 -5
  100. package/lib/collapse/themes/halo/light/index.js +0 -5
  101. package/lib/collapse/themes/solar/charcoal/index.js +0 -5
  102. package/lib/collapse/themes/solar/pearl/index.js +0 -5
  103. package/lib/color-dialog/elements/color-palettes.d.ts +0 -52
  104. package/lib/color-dialog/elements/color-palettes.js +0 -101
  105. package/lib/color-dialog/elements/grayscale-palettes.d.ts +0 -67
  106. package/lib/color-dialog/elements/grayscale-palettes.js +0 -161
  107. package/lib/color-dialog/elements/palettes.d.ts +0 -65
  108. package/lib/color-dialog/elements/palettes.js +0 -132
  109. package/lib/color-dialog/helpers/color-helpers.d.ts +0 -16
  110. package/lib/color-dialog/helpers/color-helpers.js +0 -161
  111. package/lib/color-dialog/helpers/value-model.d.ts +0 -75
  112. package/lib/color-dialog/helpers/value-model.js +0 -141
  113. package/lib/color-dialog/index.d.ts +0 -232
  114. package/lib/color-dialog/index.js +0 -459
  115. package/lib/color-dialog/themes/halo/dark/index.js +0 -7
  116. package/lib/color-dialog/themes/halo/light/index.js +0 -7
  117. package/lib/color-dialog/themes/solar/charcoal/index.js +0 -7
  118. package/lib/color-dialog/themes/solar/pearl/index.js +0 -7
  119. package/lib/combo-box/helpers/filter.d.ts +0 -10
  120. package/lib/combo-box/helpers/filter.js +0 -29
  121. package/lib/combo-box/helpers/keyboard-event.d.ts +0 -17
  122. package/lib/combo-box/helpers/keyboard-event.js +0 -19
  123. package/lib/combo-box/helpers/renderer.d.ts +0 -8
  124. package/lib/combo-box/helpers/renderer.js +0 -24
  125. package/lib/combo-box/helpers/types.d.ts +0 -11
  126. package/lib/combo-box/helpers/types.js +0 -1
  127. package/lib/combo-box/index.d.ts +0 -551
  128. package/lib/combo-box/index.js +0 -1183
  129. package/lib/combo-box/themes/halo/dark/index.js +0 -7
  130. package/lib/combo-box/themes/halo/light/index.js +0 -7
  131. package/lib/combo-box/themes/solar/charcoal/index.js +0 -7
  132. package/lib/combo-box/themes/solar/pearl/index.js +0 -7
  133. package/lib/counter/index.d.ts +0 -91
  134. package/lib/counter/index.js +0 -154
  135. package/lib/counter/themes/halo/dark/index.js +0 -3
  136. package/lib/counter/themes/halo/light/index.js +0 -3
  137. package/lib/counter/themes/solar/charcoal/index.js +0 -3
  138. package/lib/counter/themes/solar/pearl/index.js +0 -3
  139. package/lib/counter/utils.d.ts +0 -13
  140. package/lib/counter/utils.js +0 -52
  141. package/lib/datetime-picker/index.d.ts +0 -509
  142. package/lib/datetime-picker/index.js +0 -1175
  143. package/lib/datetime-picker/locales.d.ts +0 -8
  144. package/lib/datetime-picker/locales.js +0 -57
  145. package/lib/datetime-picker/themes/halo/dark/index.js +0 -7
  146. package/lib/datetime-picker/themes/halo/light/index.js +0 -7
  147. package/lib/datetime-picker/themes/solar/charcoal/index.js +0 -7
  148. package/lib/datetime-picker/themes/solar/pearl/index.js +0 -7
  149. package/lib/datetime-picker/types.d.ts +0 -3
  150. package/lib/datetime-picker/types.js +0 -1
  151. package/lib/datetime-picker/utils.d.ts +0 -55
  152. package/lib/datetime-picker/utils.js +0 -92
  153. package/lib/dialog/draggable-element.d.ts +0 -14
  154. package/lib/dialog/draggable-element.js +0 -221
  155. package/lib/dialog/index.d.ts +0 -196
  156. package/lib/dialog/index.js +0 -328
  157. package/lib/dialog/themes/halo/dark/index.js +0 -7
  158. package/lib/dialog/themes/halo/light/index.js +0 -7
  159. package/lib/dialog/themes/solar/charcoal/index.js +0 -7
  160. package/lib/dialog/themes/solar/pearl/index.js +0 -7
  161. package/lib/email-field/index.d.ts +0 -80
  162. package/lib/email-field/index.js +0 -86
  163. package/lib/email-field/themes/halo/dark/index.js +0 -3
  164. package/lib/email-field/themes/halo/light/index.js +0 -3
  165. package/lib/email-field/themes/solar/charcoal/index.js +0 -3
  166. package/lib/email-field/themes/solar/pearl/index.js +0 -3
  167. package/lib/events.d.ts +0 -121
  168. package/lib/events.js +0 -1
  169. package/lib/flag/index.d.ts +0 -96
  170. package/lib/flag/index.js +0 -168
  171. package/lib/flag/themes/halo/dark/index.js +0 -2
  172. package/lib/flag/themes/halo/light/index.js +0 -2
  173. package/lib/flag/themes/solar/charcoal/index.js +0 -2
  174. package/lib/flag/themes/solar/pearl/index.js +0 -2
  175. package/lib/flag/utils/FlagLoader.d.ts +0 -47
  176. package/lib/flag/utils/FlagLoader.js +0 -86
  177. package/lib/header/index.d.ts +0 -46
  178. package/lib/header/index.js +0 -73
  179. package/lib/header/themes/halo/dark/index.js +0 -2
  180. package/lib/header/themes/halo/light/index.js +0 -2
  181. package/lib/header/themes/solar/charcoal/index.js +0 -2
  182. package/lib/header/themes/solar/pearl/index.js +0 -2
  183. package/lib/heatmap/helpers/color.d.ts +0 -30
  184. package/lib/heatmap/helpers/color.js +0 -68
  185. package/lib/heatmap/helpers/text.d.ts +0 -26
  186. package/lib/heatmap/helpers/text.js +0 -91
  187. package/lib/heatmap/helpers/track.d.ts +0 -102
  188. package/lib/heatmap/helpers/track.js +0 -160
  189. package/lib/heatmap/helpers/types.d.ts +0 -40
  190. package/lib/heatmap/helpers/types.js +0 -1
  191. package/lib/heatmap/index.d.ts +0 -453
  192. package/lib/heatmap/index.js +0 -1103
  193. package/lib/heatmap/themes/halo/dark/index.js +0 -4
  194. package/lib/heatmap/themes/halo/light/index.js +0 -4
  195. package/lib/heatmap/themes/solar/charcoal/index.js +0 -4
  196. package/lib/heatmap/themes/solar/pearl/index.js +0 -4
  197. package/lib/icon/index.d.ts +0 -90
  198. package/lib/icon/index.js +0 -171
  199. package/lib/icon/themes/halo/dark/index.js +0 -2
  200. package/lib/icon/themes/halo/light/index.js +0 -2
  201. package/lib/icon/themes/solar/charcoal/index.js +0 -2
  202. package/lib/icon/themes/solar/pearl/index.js +0 -2
  203. package/lib/icon/utils/IconLoader.d.ts +0 -52
  204. package/lib/icon/utils/IconLoader.js +0 -93
  205. package/lib/index.d.ts +0 -3
  206. package/lib/index.js +0 -3
  207. package/lib/interactive-chart/helpers/merge.d.ts +0 -15
  208. package/lib/interactive-chart/helpers/merge.js +0 -28
  209. package/lib/interactive-chart/helpers/types.d.ts +0 -45
  210. package/lib/interactive-chart/helpers/types.js +0 -6
  211. package/lib/interactive-chart/index.d.ts +0 -383
  212. package/lib/interactive-chart/index.js +0 -1093
  213. package/lib/interactive-chart/themes/halo/dark/index.js +0 -3
  214. package/lib/interactive-chart/themes/halo/light/index.js +0 -3
  215. package/lib/interactive-chart/themes/solar/charcoal/index.js +0 -3
  216. package/lib/interactive-chart/themes/solar/pearl/index.js +0 -3
  217. package/lib/item/helpers/types.d.ts +0 -57
  218. package/lib/item/helpers/types.js +0 -1
  219. package/lib/item/index.d.ts +0 -159
  220. package/lib/item/index.js +0 -272
  221. package/lib/item/themes/halo/dark/index.js +0 -4
  222. package/lib/item/themes/halo/light/index.js +0 -4
  223. package/lib/item/themes/solar/charcoal/index.js +0 -4
  224. package/lib/item/themes/solar/pearl/index.js +0 -4
  225. package/lib/label/index.d.ts +0 -102
  226. package/lib/label/index.js +0 -245
  227. package/lib/label/themes/halo/dark/index.js +0 -3
  228. package/lib/label/themes/halo/light/index.js +0 -3
  229. package/lib/label/themes/solar/charcoal/index.js +0 -3
  230. package/lib/label/themes/solar/pearl/index.js +0 -3
  231. package/lib/layout/index.d.ts +0 -107
  232. package/lib/layout/index.js +0 -212
  233. package/lib/layout/themes/halo/dark/index.js +0 -2
  234. package/lib/layout/themes/halo/light/index.js +0 -2
  235. package/lib/layout/themes/solar/charcoal/index.js +0 -2
  236. package/lib/layout/themes/solar/pearl/index.js +0 -2
  237. package/lib/led-gauge/index.d.ts +0 -144
  238. package/lib/led-gauge/index.js +0 -438
  239. package/lib/led-gauge/themes/halo/dark/index.js +0 -3
  240. package/lib/led-gauge/themes/halo/light/index.js +0 -3
  241. package/lib/led-gauge/themes/solar/charcoal/index.js +0 -3
  242. package/lib/led-gauge/themes/solar/pearl/index.js +0 -3
  243. package/lib/list/extensible-function.d.ts +0 -8
  244. package/lib/list/extensible-function.js +0 -13
  245. package/lib/list/helpers/list-renderer.d.ts +0 -9
  246. package/lib/list/helpers/list-renderer.js +0 -37
  247. package/lib/list/helpers/types.d.ts +0 -3
  248. package/lib/list/helpers/types.js +0 -1
  249. package/lib/list/index.d.ts +0 -313
  250. package/lib/list/index.js +0 -640
  251. package/lib/list/renderer.d.ts +0 -36
  252. package/lib/list/renderer.js +0 -9
  253. package/lib/list/themes/halo/dark/index.js +0 -3
  254. package/lib/list/themes/halo/light/index.js +0 -3
  255. package/lib/list/themes/solar/charcoal/index.js +0 -3
  256. package/lib/list/themes/solar/pearl/index.js +0 -3
  257. package/lib/loader/index.d.ts +0 -41
  258. package/lib/loader/index.js +0 -61
  259. package/lib/loader/themes/halo/dark/index.js +0 -2
  260. package/lib/loader/themes/halo/light/index.js +0 -2
  261. package/lib/loader/themes/solar/charcoal/index.js +0 -2
  262. package/lib/loader/themes/solar/pearl/index.js +0 -2
  263. package/lib/multi-input/helpers/types.d.ts +0 -11
  264. package/lib/multi-input/helpers/types.js +0 -1
  265. package/lib/multi-input/index.d.ts +0 -301
  266. package/lib/multi-input/index.js +0 -594
  267. package/lib/multi-input/themes/halo/dark/index.js +0 -4
  268. package/lib/multi-input/themes/halo/light/index.js +0 -4
  269. package/lib/multi-input/themes/solar/charcoal/index.js +0 -4
  270. package/lib/multi-input/themes/solar/pearl/index.js +0 -4
  271. package/lib/notification/elements/notification-tray.d.ts +0 -97
  272. package/lib/notification/elements/notification-tray.js +0 -167
  273. package/lib/notification/elements/notification.d.ts +0 -90
  274. package/lib/notification/elements/notification.js +0 -154
  275. package/lib/notification/helpers/status.d.ts +0 -30
  276. package/lib/notification/helpers/status.js +0 -130
  277. package/lib/notification/helpers/types.d.ts +0 -10
  278. package/lib/notification/helpers/types.js +0 -1
  279. package/lib/notification/index.d.ts +0 -2
  280. package/lib/notification/index.js +0 -2
  281. package/lib/notification/themes/halo/dark/index.js +0 -5
  282. package/lib/notification/themes/halo/light/index.js +0 -5
  283. package/lib/notification/themes/solar/charcoal/index.js +0 -5
  284. package/lib/notification/themes/solar/pearl/index.js +0 -5
  285. package/lib/number-field/index.d.ts +0 -339
  286. package/lib/number-field/index.js +0 -740
  287. package/lib/number-field/themes/halo/dark/index.js +0 -3
  288. package/lib/number-field/themes/halo/light/index.js +0 -3
  289. package/lib/number-field/themes/solar/charcoal/index.js +0 -3
  290. package/lib/number-field/themes/solar/pearl/index.js +0 -3
  291. package/lib/overlay/elements/overlay-backdrop.d.ts +0 -46
  292. package/lib/overlay/elements/overlay-backdrop.js +0 -64
  293. package/lib/overlay/elements/overlay-viewport.d.ts +0 -40
  294. package/lib/overlay/elements/overlay-viewport.js +0 -52
  295. package/lib/overlay/elements/overlay.d.ts +0 -408
  296. package/lib/overlay/elements/overlay.js +0 -1426
  297. package/lib/overlay/helpers/functions.d.ts +0 -13
  298. package/lib/overlay/helpers/functions.js +0 -16
  299. package/lib/overlay/helpers/types.d.ts +0 -97
  300. package/lib/overlay/helpers/types.js +0 -16
  301. package/lib/overlay/index.d.ts +0 -2
  302. package/lib/overlay/index.js +0 -1
  303. package/lib/overlay/managers/backdrop-manager.d.ts +0 -45
  304. package/lib/overlay/managers/backdrop-manager.js +0 -96
  305. package/lib/overlay/managers/close-manager.d.ts +0 -54
  306. package/lib/overlay/managers/close-manager.js +0 -138
  307. package/lib/overlay/managers/focus-manager.d.ts +0 -71
  308. package/lib/overlay/managers/focus-manager.js +0 -228
  309. package/lib/overlay/managers/interaction-lock-manager.d.ts +0 -138
  310. package/lib/overlay/managers/interaction-lock-manager.js +0 -375
  311. package/lib/overlay/managers/viewport-manager.d.ts +0 -93
  312. package/lib/overlay/managers/viewport-manager.js +0 -211
  313. package/lib/overlay/managers/zindex-manager.d.ts +0 -80
  314. package/lib/overlay/managers/zindex-manager.js +0 -195
  315. package/lib/overlay/themes/halo/dark/index.js +0 -4
  316. package/lib/overlay/themes/halo/light/index.js +0 -4
  317. package/lib/overlay/themes/solar/charcoal/index.js +0 -4
  318. package/lib/overlay/themes/solar/pearl/index.js +0 -4
  319. package/lib/overlay-menu/helpers/types.d.ts +0 -8
  320. package/lib/overlay-menu/helpers/types.js +0 -1
  321. package/lib/overlay-menu/index.d.ts +0 -387
  322. package/lib/overlay-menu/index.js +0 -935
  323. package/lib/overlay-menu/managers/menu-manager.d.ts +0 -98
  324. package/lib/overlay-menu/managers/menu-manager.js +0 -240
  325. package/lib/overlay-menu/themes/halo/dark/index.js +0 -5
  326. package/lib/overlay-menu/themes/halo/light/index.js +0 -5
  327. package/lib/overlay-menu/themes/solar/charcoal/index.js +0 -5
  328. package/lib/overlay-menu/themes/solar/pearl/index.js +0 -5
  329. package/lib/pagination/index.d.ts +0 -275
  330. package/lib/pagination/index.js +0 -552
  331. package/lib/pagination/themes/halo/dark/index.js +0 -6
  332. package/lib/pagination/themes/halo/light/index.js +0 -6
  333. package/lib/pagination/themes/solar/charcoal/index.js +0 -6
  334. package/lib/pagination/themes/solar/pearl/index.js +0 -6
  335. package/lib/panel/index.d.ts +0 -48
  336. package/lib/panel/index.js +0 -74
  337. package/lib/panel/themes/halo/dark/index.js +0 -2
  338. package/lib/panel/themes/halo/light/index.js +0 -2
  339. package/lib/panel/themes/solar/charcoal/index.js +0 -2
  340. package/lib/panel/themes/solar/pearl/index.js +0 -2
  341. package/lib/password-field/index.d.ts +0 -89
  342. package/lib/password-field/index.js +0 -112
  343. package/lib/password-field/themes/halo/dark/index.js +0 -3
  344. package/lib/password-field/themes/halo/light/index.js +0 -3
  345. package/lib/password-field/themes/solar/charcoal/index.js +0 -3
  346. package/lib/password-field/themes/solar/pearl/index.js +0 -3
  347. package/lib/pill/index.d.ts +0 -97
  348. package/lib/pill/index.js +0 -160
  349. package/lib/pill/themes/halo/dark/index.js +0 -3
  350. package/lib/pill/themes/halo/light/index.js +0 -3
  351. package/lib/pill/themes/solar/charcoal/index.js +0 -3
  352. package/lib/pill/themes/solar/pearl/index.js +0 -3
  353. package/lib/progress-bar/index.d.ts +0 -82
  354. package/lib/progress-bar/index.js +0 -157
  355. package/lib/progress-bar/themes/halo/dark/index.js +0 -2
  356. package/lib/progress-bar/themes/halo/light/index.js +0 -2
  357. package/lib/progress-bar/themes/solar/charcoal/index.js +0 -2
  358. package/lib/progress-bar/themes/solar/pearl/index.js +0 -2
  359. package/lib/radio-button/index.d.ts +0 -123
  360. package/lib/radio-button/index.js +0 -261
  361. package/lib/radio-button/radio-button-registry.d.ts +0 -22
  362. package/lib/radio-button/radio-button-registry.js +0 -93
  363. package/lib/radio-button/themes/halo/dark/index.js +0 -3
  364. package/lib/radio-button/themes/halo/light/index.js +0 -3
  365. package/lib/radio-button/themes/solar/charcoal/index.js +0 -3
  366. package/lib/radio-button/themes/solar/pearl/index.js +0 -3
  367. package/lib/rating/index.d.ts +0 -91
  368. package/lib/rating/index.js +0 -157
  369. package/lib/rating/themes/halo/dark/index.js +0 -2
  370. package/lib/rating/themes/halo/light/index.js +0 -2
  371. package/lib/rating/themes/solar/charcoal/index.js +0 -2
  372. package/lib/rating/themes/solar/pearl/index.js +0 -2
  373. package/lib/search-field/index.d.ts +0 -77
  374. package/lib/search-field/index.js +0 -84
  375. package/lib/search-field/themes/halo/dark/index.js +0 -3
  376. package/lib/search-field/themes/halo/light/index.js +0 -3
  377. package/lib/search-field/themes/solar/charcoal/index.js +0 -3
  378. package/lib/search-field/themes/solar/pearl/index.js +0 -3
  379. package/lib/select/helpers/types.d.ts +0 -3
  380. package/lib/select/helpers/types.js +0 -1
  381. package/lib/select/index.d.ts +0 -396
  382. package/lib/select/index.js +0 -981
  383. package/lib/select/themes/halo/dark/index.js +0 -5
  384. package/lib/select/themes/halo/light/index.js +0 -5
  385. package/lib/select/themes/solar/charcoal/index.js +0 -5
  386. package/lib/select/themes/solar/pearl/index.js +0 -5
  387. package/lib/sidebar-layout/index.d.ts +0 -70
  388. package/lib/sidebar-layout/index.js +0 -134
  389. package/lib/sidebar-layout/themes/halo/dark/index.js +0 -3
  390. package/lib/sidebar-layout/themes/halo/light/index.js +0 -3
  391. package/lib/sidebar-layout/themes/solar/charcoal/index.js +0 -3
  392. package/lib/sidebar-layout/themes/solar/pearl/index.js +0 -3
  393. package/lib/slider/index.d.ts +0 -409
  394. package/lib/slider/index.js +0 -1187
  395. package/lib/slider/themes/halo/dark/index.js +0 -3
  396. package/lib/slider/themes/halo/light/index.js +0 -3
  397. package/lib/slider/themes/solar/charcoal/index.js +0 -3
  398. package/lib/slider/themes/solar/pearl/index.js +0 -3
  399. package/lib/sparkline/index.d.ts +0 -109
  400. package/lib/sparkline/index.js +0 -188
  401. package/lib/sparkline/themes/halo/dark/index.js +0 -2
  402. package/lib/sparkline/themes/halo/light/index.js +0 -2
  403. package/lib/sparkline/themes/solar/charcoal/index.js +0 -2
  404. package/lib/sparkline/themes/solar/pearl/index.js +0 -2
  405. package/lib/swing-gauge/const.d.ts +0 -22
  406. package/lib/swing-gauge/const.js +0 -26
  407. package/lib/swing-gauge/helpers.d.ts +0 -8
  408. package/lib/swing-gauge/helpers.js +0 -105
  409. package/lib/swing-gauge/index.d.ts +0 -296
  410. package/lib/swing-gauge/index.js +0 -764
  411. package/lib/swing-gauge/themes/halo/dark/index.js +0 -3
  412. package/lib/swing-gauge/themes/halo/light/index.js +0 -3
  413. package/lib/swing-gauge/themes/solar/charcoal/index.js +0 -3
  414. package/lib/swing-gauge/themes/solar/pearl/index.js +0 -3
  415. package/lib/swing-gauge/types.d.ts +0 -34
  416. package/lib/swing-gauge/types.js +0 -1
  417. package/lib/tab/index.d.ts +0 -118
  418. package/lib/tab/index.js +0 -208
  419. package/lib/tab/themes/halo/dark/index.js +0 -4
  420. package/lib/tab/themes/halo/light/index.js +0 -4
  421. package/lib/tab/themes/solar/charcoal/index.js +0 -4
  422. package/lib/tab/themes/solar/pearl/index.js +0 -4
  423. package/lib/tab-bar/helpers/animate.d.ts +0 -16
  424. package/lib/tab-bar/helpers/animate.js +0 -53
  425. package/lib/tab-bar/index.d.ts +0 -108
  426. package/lib/tab-bar/index.js +0 -218
  427. package/lib/tab-bar/themes/halo/dark/index.js +0 -4
  428. package/lib/tab-bar/themes/halo/light/index.js +0 -4
  429. package/lib/tab-bar/themes/solar/charcoal/index.js +0 -4
  430. package/lib/tab-bar/themes/solar/pearl/index.js +0 -4
  431. package/lib/text-field/index.d.ts +0 -151
  432. package/lib/text-field/index.js +0 -260
  433. package/lib/text-field/themes/halo/dark/index.js +0 -3
  434. package/lib/text-field/themes/halo/light/index.js +0 -3
  435. package/lib/text-field/themes/solar/charcoal/index.js +0 -3
  436. package/lib/text-field/themes/solar/pearl/index.js +0 -3
  437. package/lib/time-picker/index.d.ts +0 -412
  438. package/lib/time-picker/index.js +0 -898
  439. package/lib/time-picker/themes/halo/dark/index.js +0 -4
  440. package/lib/time-picker/themes/halo/light/index.js +0 -4
  441. package/lib/time-picker/themes/solar/charcoal/index.js +0 -4
  442. package/lib/time-picker/themes/solar/pearl/index.js +0 -4
  443. package/lib/toggle/index.d.ts +0 -87
  444. package/lib/toggle/index.js +0 -153
  445. package/lib/toggle/themes/halo/dark/index.js +0 -2
  446. package/lib/toggle/themes/halo/light/index.js +0 -2
  447. package/lib/toggle/themes/solar/charcoal/index.js +0 -2
  448. package/lib/toggle/themes/solar/pearl/index.js +0 -2
  449. package/lib/tooltip/elements/title-tooltip.d.ts +0 -1
  450. package/lib/tooltip/elements/title-tooltip.js +0 -18
  451. package/lib/tooltip/elements/tooltip-element.d.ts +0 -21
  452. package/lib/tooltip/elements/tooltip-element.js +0 -54
  453. package/lib/tooltip/helpers/overflow-tooltip.d.ts +0 -9
  454. package/lib/tooltip/helpers/overflow-tooltip.js +0 -19
  455. package/lib/tooltip/helpers/renderer.d.ts +0 -8
  456. package/lib/tooltip/helpers/renderer.js +0 -11
  457. package/lib/tooltip/helpers/types.d.ts +0 -23
  458. package/lib/tooltip/helpers/types.js +0 -1
  459. package/lib/tooltip/index.d.ts +0 -232
  460. package/lib/tooltip/index.js +0 -477
  461. package/lib/tooltip/managers/tooltip-manager.d.ts +0 -15
  462. package/lib/tooltip/managers/tooltip-manager.js +0 -140
  463. package/lib/tooltip/themes/halo/dark/index.js +0 -3
  464. package/lib/tooltip/themes/halo/light/index.js +0 -3
  465. package/lib/tooltip/themes/solar/charcoal/index.js +0 -3
  466. package/lib/tooltip/themes/solar/pearl/index.js +0 -3
  467. package/lib/tornado-chart/elements/tornado-chart.d.ts +0 -78
  468. package/lib/tornado-chart/elements/tornado-chart.js +0 -122
  469. package/lib/tornado-chart/elements/tornado-item.d.ts +0 -110
  470. package/lib/tornado-chart/elements/tornado-item.js +0 -207
  471. package/lib/tornado-chart/index.d.ts +0 -2
  472. package/lib/tornado-chart/index.js +0 -2
  473. package/lib/tornado-chart/themes/halo/dark/index.js +0 -6
  474. package/lib/tornado-chart/themes/halo/light/index.js +0 -6
  475. package/lib/tornado-chart/themes/solar/charcoal/index.js +0 -6
  476. package/lib/tornado-chart/themes/solar/pearl/index.js +0 -6
  477. package/lib/tree/elements/tree-item.d.ts +0 -129
  478. package/lib/tree/elements/tree-item.js +0 -238
  479. package/lib/tree/elements/tree.d.ts +0 -203
  480. package/lib/tree/elements/tree.js +0 -414
  481. package/lib/tree/helpers/filter.d.ts +0 -8
  482. package/lib/tree/helpers/filter.js +0 -33
  483. package/lib/tree/helpers/renderer.d.ts +0 -5
  484. package/lib/tree/helpers/renderer.js +0 -33
  485. package/lib/tree/helpers/types.d.ts +0 -25
  486. package/lib/tree/helpers/types.js +0 -1
  487. package/lib/tree/index.d.ts +0 -4
  488. package/lib/tree/index.js +0 -3
  489. package/lib/tree/managers/tree-manager.d.ts +0 -248
  490. package/lib/tree/managers/tree-manager.js +0 -395
  491. package/lib/tree/themes/halo/dark/index.js +0 -7
  492. package/lib/tree/themes/halo/light/index.js +0 -7
  493. package/lib/tree/themes/solar/charcoal/index.js +0 -7
  494. package/lib/tree/themes/solar/pearl/index.js +0 -7
  495. package/lib/tree-select/helpers/types.d.ts +0 -4
  496. package/lib/tree-select/helpers/types.js +0 -1
  497. package/lib/tree-select/index.d.ts +0 -404
  498. package/lib/tree-select/index.js +0 -891
  499. package/lib/tree-select/themes/halo/dark/index.js +0 -11
  500. package/lib/tree-select/themes/halo/light/index.js +0 -11
  501. package/lib/tree-select/themes/solar/charcoal/index.js +0 -11
  502. package/lib/tree-select/themes/solar/pearl/index.js +0 -11
  503. package/lib/version.d.ts +0 -1
  504. package/lib/version.js +0 -1
@@ -1,740 +0,0 @@
1
- import { __decorate } from "tslib";
2
- import { FormFieldElement, html, css, FocusedPropertyKey } from '@refinitiv-ui/core';
3
- import { customElement } from '@refinitiv-ui/core/lib/decorators/custom-element.js';
4
- import { property } from '@refinitiv-ui/core/lib/decorators/property.js';
5
- import { query } from '@refinitiv-ui/core/lib/decorators/query.js';
6
- import { VERSION } from '../version.js';
7
- import '../icon/index.js';
8
- const NUMBER_PATTERN = '^[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?$';
9
- const DEFAULT_STEP_BASE = 1;
10
- const ANY_STEP = 'any';
11
- var Direction;
12
- (function (Direction) {
13
- Direction[Direction["Up"] = 1] = "Up";
14
- Direction[Direction["Down"] = -1] = "Down";
15
- })(Direction || (Direction = {}));
16
- /**
17
- * Form control element for numbers.
18
- *
19
- * @fires value-changed - Dispatched when value changes
20
- * @fires error-changed - Dispatched when error state changes
21
- *
22
- * @attr {boolean} disabled - Set disabled state
23
- * @prop {boolean} [disabled=false] - Set disabled state
24
- *
25
- * @attr {boolean} error - Set error state
26
- * @prop {boolean} [error=false] - Set error state
27
- *
28
- * @attr {string} placeholder - Set placeholder text
29
- * @prop {string} [placeholder=""] - Set placeholder text
30
- *
31
- * @attr {boolean} readonly - Set readonly state
32
- * @prop {boolean} [readonly=false] - Set readonly state
33
- *
34
- * @attr {boolean} transparent - Disables all other states and border/background styles.
35
- * @prop {boolean} [transparent=false] - Disables all other states and border/background styles.
36
- *
37
- * @attr {boolean} warning - Set warning state
38
- * @prop {boolean} [warning=false] - Set warning state
39
- *
40
- * @attr {string} value - Input's value
41
- * @prop {string} [value=""] - Input's value
42
- */
43
- let NumberField = class NumberField extends FormFieldElement {
44
- constructor() {
45
- super(...arguments);
46
- /**
47
- * Set spinner's visibility
48
- */
49
- this.noSpinner = false;
50
- /**
51
- * Set step value
52
- */
53
- this.step = null;
54
- /**
55
- * Set minimum value.
56
- * This value must be less than or equal to the value of the `max` attribute
57
- */
58
- this.min = null;
59
- /**
60
- * Set maximum value.
61
- * This value must be greater than or equal to the value of the `min` attribute
62
- */
63
- this.max = null;
64
- this.interimValueState = false; // make sure that internal input field value is updated only on external value change
65
- }
66
- /**
67
- * Element version number
68
- * @returns version number
69
- */
70
- static get version() {
71
- return VERSION;
72
- }
73
- /**
74
- * A `CSSResultGroup` that will be used
75
- * to style the host, slotted children
76
- * and the internal template of the element.
77
- * @return CSS template
78
- */
79
- static get styles() {
80
- return css `
81
- :host {
82
- display: inline-block;
83
- }
84
- :host(:focus), :host input:focus {
85
- outline: none;
86
- }
87
- :host([transparent]) {
88
- background: none !important;
89
- border: none !important;
90
- }
91
- [part=input] {
92
- font: inherit;
93
- background: none;
94
- color: currentColor;
95
- border: none;
96
- text-align: inherit;
97
- }
98
- [part=spinner]{
99
- display: flex;
100
- flex-direction: column;
101
- }
102
- [part=spinner-up], [part=spinner-down] {
103
- display: flex;
104
- height: 50%;
105
- cursor: pointer;
106
- user-select: none;
107
- }
108
- [part^=spinner][disabled],
109
- [part^=spinner][readonly] {
110
- cursor: default;
111
- }
112
- `;
113
- }
114
- /**
115
- * The value of the number entered into the input.
116
- * @param value number-field value
117
- * @default -
118
- */
119
- set value(value) {
120
- this.interimValueState = true;
121
- super.value = value;
122
- }
123
- get value() {
124
- return this.valueAsNumberString(this.internalValue);
125
- }
126
- /**
127
- * Returns the value of the element, interpreted as double number
128
- */
129
- get valueAsNumber() {
130
- return this.stringToNumber(this.internalValue);
131
- }
132
- /**
133
- * Updates the element
134
- * @param changedProperties Properties that has changed
135
- * @returns {void}
136
- */
137
- update(changedProperties) {
138
- // This code probably should not be here, as validation must be instantiated by the app developer
139
- // Keep the element inline with others for now
140
- if (changedProperties.has(FocusedPropertyKey) && !this.focused) {
141
- this.reportValidity();
142
- }
143
- super.update(changedProperties);
144
- }
145
- /**
146
- * Called when the element’s DOM has been updated and rendered
147
- * @param changedProperties Properties that has changed
148
- * @returns {void}
149
- */
150
- updated(changedProperties) {
151
- // cannot use property binding on value as it may override the current input of the control
152
- // set it manually only if value has been updated externally
153
- // all internal input changes should not update input value
154
- if (changedProperties.has('value') && this.interimValueState) {
155
- this.inputValue = this.value;
156
- this.interimValueState = false;
157
- }
158
- }
159
- /**
160
- * Convert string to number
161
- * @param value value to convert
162
- * @returns NaN if string is an invalid number or Infinity or empty string;
163
- */
164
- stringToNumber(value) {
165
- return value && this.isValidValue(value) ? Number(value) : NaN;
166
- }
167
- /**
168
- * Convert a float number to a fixed number
169
- * @param value Value to convert
170
- * @param [decimals] optional decimals. Default is based on step base and allowed value step
171
- * @returns fixed number
172
- */
173
- toFixedNumber(value, decimals = this.stepDecimals) {
174
- return Number(value.toFixed(decimals));
175
- }
176
- /**
177
- * Convert step value from string to number or 'any'
178
- * @returns step value of input as a number or 'any'
179
- */
180
- get stepValue() {
181
- // special value as defined by HTML specs
182
- if (String(this.step).toLowerCase() === ANY_STEP) {
183
- return ANY_STEP;
184
- }
185
- const step = this.stringToNumber(this.step);
186
- return isNaN(step) || step <= 0 ? DEFAULT_STEP_BASE : step;
187
- }
188
- /**
189
- * Get the number of decimal places
190
- * @param value Value to check
191
- * @returns the number of decimal places
192
- */
193
- getDecimalPlace(value) {
194
- if (Math.floor(value) === value || isNaN(value) || !isFinite(value)) {
195
- return 0;
196
- }
197
- return value.toString().split('.')[1].length || 0;
198
- }
199
- /**
200
- * Get number of decimals based on step base and allowed value step
201
- * @returns decimals
202
- */
203
- get stepDecimals() {
204
- return Math.max(this.getDecimalPlace(this.stepBase), this.getDecimalPlace(this.getAllowedValueStep()));
205
- }
206
- /**
207
- * Check if passed value is a valid value
208
- * @override
209
- * @param value Value to check
210
- * @returns {boolean} false if value is invalid
211
- */
212
- isValidValue(value) {
213
- const number = Number(value);
214
- return !isNaN(number) && isFinite(number);
215
- }
216
- /**
217
- * Get value as valid number string.
218
- * @param value A value to convert
219
- * @returns string value
220
- */
221
- valueAsNumberString(value) {
222
- return this.isValidValue(value) ? value : '';
223
- }
224
- /**
225
- * Get either inputValue or actual value dependant on control state
226
- * @returns string of input value
227
- */
228
- get internalValue() {
229
- // cover the case when value getter is called before first render or in interim state
230
- return this.interimValueState || !this.inputElement ? super.value : this.inputValue;
231
- }
232
- /**
233
- * Handles key down input event
234
- * @param event Key down event object
235
- * @returns {void}
236
- */
237
- onInputKeyDown(event) {
238
- if (this.readonly || this.disabled || event.defaultPrevented) {
239
- return;
240
- }
241
- switch (event.key) {
242
- case 'Up':
243
- case 'ArrowUp':
244
- this.onApplyStep(Direction.Up);
245
- break;
246
- case 'Down':
247
- case 'ArrowDown':
248
- this.onApplyStep(Direction.Down);
249
- break;
250
- default:
251
- return;
252
- }
253
- event.preventDefault();
254
- }
255
- /**
256
- * Run when spinner has been tapped
257
- * @param event tap event
258
- * @returns {void}
259
- */
260
- onSpinnerTap(event) {
261
- if (this.disabled || this.readonly || event.defaultPrevented) {
262
- return;
263
- }
264
- const target = event.target;
265
- if (target === this.spinnerDownEl) {
266
- this.onApplyStep(Direction.Down);
267
- }
268
- else if (target === this.spinnerUpEl) {
269
- this.onApplyStep(Direction.Up);
270
- }
271
- }
272
- /**
273
- * Step down or up and notify value change
274
- * @param direction Up or Down
275
- * @returns {void}
276
- */
277
- onApplyStep(direction) {
278
- try {
279
- this.applyStepDirection(undefined, direction);
280
- this.setSilentlyValueAndNotify();
281
- }
282
- catch (error) {
283
- // According to specs stepDown/stepUp may fail for some invalid inputs
284
- // do nothing and report nothing in that case
285
- }
286
- }
287
- /**
288
- * Run before input changes
289
- * Prevent invalid characters
290
- * @param event before input event
291
- * @returns {void}
292
- */
293
- /* istanbul ignore next */
294
- onBeforeInputChange(event) {
295
- // The event is not supported in IE11 and old browsers
296
- // Therefore just try to prevent some of invalid characters to be entered
297
- // but still do full validation on actual `input` and `change` events
298
- const inputType = event.inputType;
299
- // cover all insert types, such as type, paste, drag&drop and others
300
- if (inputType.startsWith('insert')) {
301
- const data = event.data || '';
302
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
303
- const inputEl = this.inputElement;
304
- const oldInput = this.inputValue;
305
- // Calculate what could be the new input
306
- const selectionStart = inputEl.selectionStart || 0;
307
- const selectionEnd = inputEl.selectionEnd || 0;
308
- const newInput = `${oldInput.substring(0, selectionStart)}${data}${oldInput.substring(selectionEnd)}`;
309
- const validatedInput = this.stripeInvalidCharacters(newInput, oldInput, data);
310
- const insertionData = validatedInput.slice(0, validatedInput.length - (oldInput.length - selectionEnd)).substring(selectionStart);
311
- // Invalid characters or sequence of characters
312
- if (!insertionData.length) {
313
- event.preventDefault();
314
- return;
315
- }
316
- if (insertionData !== data) {
317
- // In theory here we should emulate the new input
318
- // in practice we cannot as there is no API (apart of deprecated execCommand), so do nothing
319
- // invalid input will be stripped out on `input` event handler, but that will break Undo logic
320
- }
321
- }
322
- }
323
- /**
324
- * Runs on input element `input` event
325
- * @param event `input` event
326
- * @returns {void}
327
- */
328
- onInputInput(event) {
329
- this.onNativeInputChange(event);
330
- }
331
- /**
332
- * Runs on input element `change` event
333
- * @param event `change` event
334
- * @returns {void}
335
- */
336
- onInputChange(event) {
337
- this.onNativeInputChange(event);
338
- }
339
- /**
340
- * Triggers when native input value change with input event or change event
341
- * @param event Input event
342
- * @returns {void}
343
- */
344
- onNativeInputChange(event) {
345
- const currentInput = this.inputValue;
346
- const inputValue = this.stripeInvalidCharacters(currentInput, this.value, event.data || '');
347
- if (inputValue !== currentInput) {
348
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
349
- const inputEl = this.inputElement;
350
- // we can only stripe the characters, so try to make the best guess where the cursor should be
351
- const selectionStart = inputEl.selectionStart || 0;
352
- const selectionEnd = inputEl.selectionEnd || 0;
353
- this.inputValue = inputValue;
354
- const diff = currentInput.length - inputValue.length;
355
- inputEl.selectionStart = Math.max(selectionStart - diff, 0);
356
- inputEl.selectionEnd = Math.max(selectionEnd - diff, 0);
357
- }
358
- this.setSilentlyValueAndNotify();
359
- }
360
- /**
361
- * Stripe characters from input text based on previous input and data
362
- * @param input The new input to process
363
- * @param oldInput Previous input
364
- * @param data The data that has been inserted
365
- * @returns the input where characters are striped away
366
- */
367
- stripeInvalidCharacters(input = '', oldInput = '', data = '') {
368
- // all these actions depends on new value and previous value trying to guess the best action
369
- const dataHasDot = data.includes('.');
370
- const dataHasE = data.search(/e/i) !== -1;
371
- const dotIndex = input.indexOf('.');
372
- const eIndex = input.search(/e/i);
373
- const valueHasDot = dotIndex !== -1 && !dataHasDot;
374
- const valueHasE = eIndex !== -1 && !dataHasE;
375
- // filter . and e/E keystrokes. Note: paste is not covered by this
376
- if (data !== input && ((valueHasDot && data === '.') || (valueHasE && (data === 'e' || data === 'E')))) {
377
- input = oldInput;
378
- }
379
- // stripe all e before dot and multiple . occurrences
380
- if (dotIndex !== -1) {
381
- input = `${input.substring(0, dotIndex + 1)}${input.substring(dotIndex + 1).replace(/\./g, '')}`;
382
- if (!valueHasE) {
383
- input = `${input.substring(0, dotIndex).replace(/e/ig, '')}${input.substring(dotIndex)}`;
384
- }
385
- }
386
- // stripe all dots after e and multiple e occurrences
387
- if (eIndex !== -1) {
388
- input = `${input.substring(0, eIndex + 1)}${input.substring(eIndex + 1).replace(/e/ig, '')}`;
389
- if (!valueHasDot) {
390
- input = `${input.substring(0, eIndex)}${input.substring(eIndex).replace(/\./g, '')}`;
391
- }
392
- }
393
- // stripe all other invalid characters and make sure that + and - signs are correct
394
- return input.replace(/(^[-+]|[e][-+])|[-+]|[^0-9e.+-]/ig, '$1');
395
- }
396
- /**
397
- * On *user-interaction* set the value and notify.
398
- * This function will not call request update, but will fire value-changed event
399
- * @returns {void}
400
- */
401
- setSilentlyValueAndNotify() {
402
- // Nobody likes to see a red border
403
- this.resetError();
404
- const value = this.valueAsNumberString(this.inputValue);
405
- if (super.value !== value) {
406
- // here we must set the value silently to avoid re-rendering of input
407
- super.value = value;
408
- this.notifyPropertyChange('value', value);
409
- }
410
- }
411
- /**
412
- * Reset error state on input
413
- * @returns {void}
414
- */
415
- resetError() {
416
- if (this.error && this.checkValidity()) {
417
- this.reportValidity();
418
- }
419
- }
420
- /**
421
- * Get the allowed step value
422
- * @returns allowed step
423
- */
424
- getAllowedValueStep() {
425
- let stepValue = this.stepValue;
426
- if (stepValue === ANY_STEP) {
427
- // By algorithm, this should throw an error
428
- // however keep the default value as we use same method for stepping up and down
429
- stepValue = DEFAULT_STEP_BASE;
430
- }
431
- return stepValue;
432
- }
433
- /**
434
- * Get the step base as per HTML5 specs
435
- * @returns step base
436
- */
437
- get stepBase() {
438
- // If the element has a min content attribute, and the result of applying the algorithm to convert a string to a number
439
- // to the value of the min content attribute is not an error, then return that result.
440
- const min = this.stringToNumber(this.min);
441
- if (!isNaN(min)) {
442
- return min;
443
- }
444
- // If the element has a value content attribute, and the result of applying the algorithm to convert a string to a number
445
- // to the value of the value content attribute is not an error, then return that result.
446
- const valueAttribute = this.stringToNumber(this.getAttribute('value') || '');
447
- if (!isNaN(valueAttribute)) {
448
- return valueAttribute;
449
- }
450
- return 0;
451
- }
452
- /**
453
- * Check if value subtracted from the step base is not an integral multiple of the allowed value step
454
- * @param value value to check
455
- * @returns true if value is integral
456
- */
457
- isValueIntegralMultipleOfStep(value) {
458
- const decimals = Math.max(this.getDecimalPlace(value), this.stepDecimals);
459
- const division = (this.stepBase - value) / this.getAllowedValueStep();
460
- const number = decimals ? this.toFixedNumber(division, decimals) : division;
461
- // (2 - 1.01) % 0.33 needs to give 0. So we cannot use % directly as it is intended for integers
462
- return number % 1 === 0;
463
- }
464
- /**
465
- * Find the nearest value that, when subtracted from the `stepBase`
466
- * is an integral multiple of the `allowedValueStep`,
467
- * and that is less than `value` if the `direction` was `Down`, and more than value otherwise.
468
- * @param value the value to operate on
469
- * @param stepBase base to start calculation
470
- * @param allowedValueStep a step to go Down or Up
471
- * @param direction Direction, either -1 for Down or 1 for Up
472
- * @returns nearest number
473
- */
474
- findNearestSteppedValue(value, stepBase, allowedValueStep, direction) {
475
- // TODO: there is probably much better way on how to implement this function
476
- let newValue = this.toFixedNumber(value + (stepBase - value) % allowedValueStep);
477
- if (direction === Direction.Up) {
478
- // with float number rounding this may need to run more than once to find the valid value
479
- while (newValue <= value) {
480
- const steppedValue = this.toFixedNumber(newValue + allowedValueStep);
481
- if (steppedValue <= newValue) {
482
- // Non safe integers might behave incorrectly
483
- // Avoid any potential infinitive loops
484
- break;
485
- }
486
- newValue = steppedValue;
487
- }
488
- }
489
- else if (direction === Direction.Down) {
490
- while (newValue >= value) {
491
- const steppedValue = this.toFixedNumber(newValue - allowedValueStep);
492
- if (steppedValue >= newValue) {
493
- break;
494
- }
495
- newValue = steppedValue;
496
- }
497
- }
498
- return newValue;
499
- }
500
- /**
501
- * Apply step up or step down on the input
502
- * @param stepIncrement step increment factor
503
- * @param direction either go up or down
504
- * @returns {void}
505
- */
506
- applyStepDirection(stepIncrement = 1, direction) {
507
- const min = this.stringToNumber(this.min);
508
- const max = this.stringToNumber(this.max);
509
- // If the element has a minimum and a maximum and the minimum is greater than the maximum, then return.
510
- if (min > max) {
511
- return;
512
- }
513
- // passing floats to step increment does not make sense as this potentially leads to incorrect results
514
- stepIncrement = stepIncrement < 0 ? Math.ceil(stepIncrement) : Math.floor(stepIncrement);
515
- if (stepIncrement < 0) {
516
- direction = direction === Direction.Up ? Direction.Down : Direction.Up;
517
- stepIncrement = Math.abs(stepIncrement);
518
- }
519
- const stepBase = this.stepBase;
520
- const allowedValueStep = this.getAllowedValueStep();
521
- // If applying the algorithm to convert a string to a number to the string given by the element's value
522
- // does not result in an error, then let value be the result of that algorithm. Otherwise, let value be zero.
523
- const inputValue = this.stringToNumber(this.inputValue);
524
- const valueBeforeStepping = isNaN(inputValue) ? 0 : inputValue;
525
- let value = valueBeforeStepping;
526
- // step-up or step-down
527
- if (this.isValueIntegralMultipleOfStep(value)) {
528
- const delta = allowedValueStep * stepIncrement * direction;
529
- value += delta;
530
- }
531
- else {
532
- value = this.findNearestSteppedValue(valueBeforeStepping, stepBase, allowedValueStep, direction);
533
- }
534
- // If the element has a minimum, and value is less than that minimum,
535
- // then set value to the smallest value that, when subtracted from the step base,
536
- // is an integral multiple of the allowed value step, and that is more than or equal to minimum.
537
- if (value < min) {
538
- value = this.findNearestSteppedValue(min + allowedValueStep, stepBase, allowedValueStep, Direction.Down);
539
- }
540
- // If the element has a maximum, and value is greater than that maximum,
541
- // then set value to the largest value that, when subtracted from the step base,
542
- // is an integral multiple of the allowed value step, and that is less than or equal to maximum.
543
- if (value > max) {
544
- value = this.findNearestSteppedValue(max - allowedValueStep, stepBase, allowedValueStep, Direction.Up);
545
- }
546
- // If either the method invoked was the stepDown() method and value is greater than valueBeforeStepping
547
- // or the method invoked was the stepUp() method and value is less than valueBeforeStepping, then return.
548
- if (!isNaN(inputValue) && ((direction === Direction.Up && value < valueBeforeStepping) || (direction === Direction.Down && value > valueBeforeStepping))) {
549
- return;
550
- }
551
- this.inputValue = `${this.toFixedNumber(value)}`;
552
- }
553
- /**
554
- * Increases the input value by amount of step
555
- * @param [stepIncrement] The stepIncrement parameter is a numeric value. If no parameter is passed, stepIncrement defaults to 1.
556
- * @returns {void}
557
- */
558
- stepUp(stepIncrement) {
559
- this.applyStepDirection(stepIncrement, Direction.Up);
560
- }
561
- /**
562
- * Decreases the input value by amount of step
563
- * @param [stepIncrement] The stepIncrement parameter is a numeric value. If no parameter is passed, stepIncrement defaults to 1.
564
- * @returns {void}
565
- */
566
- stepDown(stepIncrement) {
567
- this.applyStepDirection(stepIncrement, Direction.Down);
568
- }
569
- /**
570
- * Returns true if an input element contains valid data.
571
- * @returns true if input is valid
572
- */
573
- checkValidity() {
574
- const value = this.internalValue;
575
- // No support for required
576
- if (value === '') {
577
- return true;
578
- }
579
- if (!this.isValidValue(value)) {
580
- return false;
581
- }
582
- // Check min and max numbers
583
- const numberValue = Number(value);
584
- const max = this.stringToNumber(this.max);
585
- const min = this.stringToNumber(this.min);
586
- if (numberValue < min || numberValue > max) {
587
- return false;
588
- }
589
- // Check step for an integral step
590
- const stepValue = this.stepValue;
591
- if (stepValue !== ANY_STEP && !this.isValueIntegralMultipleOfStep(numberValue)) {
592
- return false;
593
- }
594
- return true;
595
- }
596
- /**
597
- * Validate input. Mark as error if input is invalid
598
- * @returns false if there is an error
599
- */
600
- reportValidity() {
601
- const hasError = !this.checkValidity();
602
- if (this.error !== hasError) {
603
- this.error = hasError;
604
- this.notifyPropertyChange('error', this.error);
605
- }
606
- return !hasError;
607
- }
608
- /**
609
- * @ignore
610
- * @inheritDoc
611
- */
612
- /* istanbul ignore next */
613
- get selectionStart() {
614
- return null;
615
- }
616
- /**
617
- * @ignore
618
- * @inheritDoc
619
- */
620
- /* istanbul ignore next */
621
- set selectionStart(index) {
622
- throw new Error('Failed to set the \'selectionStart\' property on \'NumberField\': The element does not support selection.');
623
- }
624
- /**
625
- * @ignore
626
- * @inheritDoc
627
- */
628
- /* istanbul ignore next */
629
- get selectionEnd() {
630
- return null;
631
- }
632
- /**
633
- * @ignore
634
- * @inheritDoc
635
- */
636
- /* istanbul ignore next */
637
- set selectionEnd(index) {
638
- throw new Error('Failed to set the \'selectionEnd\' property on \'NumberField\': The element does not support selection.');
639
- }
640
- /**
641
- * @ignore
642
- * @inheritDoc
643
- */
644
- /* istanbul ignore next */
645
- get selectionDirection() {
646
- return null;
647
- }
648
- /**
649
- * @ignore
650
- * @inheritDoc
651
- */
652
- /* istanbul ignore next */
653
- set selectionDirection(direction) {
654
- throw new Error('Failed to set the \'selectionDirection\' property on \'NumberField\': The element does not support selection.');
655
- }
656
- /**
657
- * @ignore
658
- * @inheritDoc
659
- */
660
- /* istanbul ignore next */
661
- setSelectionRange(startSelection, endSelection, selectionDirection) {
662
- throw new Error('Failed to execute \'setSelectionRange\' on \'NumberField\': The element does not support selection.');
663
- }
664
- /**
665
- * Renders spinner
666
- * @returns {TemplateResult} spinner part template
667
- */
668
- renderSpinner() {
669
- return html `
670
- <div
671
- part="spinner"
672
- @tap=${this.onSpinnerTap}>
673
- <ef-icon
674
- icon="up"
675
- part="spinner-up"
676
- ?readonly=${this.readonly}
677
- ?disabled=${this.disabled}>
678
- </ef-icon>
679
- <ef-icon
680
- icon="down"
681
- part="spinner-down"
682
- ?readonly=${this.readonly}
683
- ?disabled=${this.disabled}>
684
- </ef-icon>
685
- </div>
686
- `;
687
- }
688
- /**
689
- * Decorate `<input>` element with common properties extended from form field element:
690
- * type="text" - always `text`
691
- * part="input" - always "input", used for styling
692
- * inputmode="decimal" - show decimals keyboard by default
693
- * pattern="'^[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?$'" - numbers only
694
- * role="spinbutton" - number field is actually a spinner
695
- * aria-valuenow - current value or 0
696
- * @keydown - Listener for `keydown` event. Runs `this.onInputKeyDown`
697
- * @beforeinput - Listener for `beforeinput` event. Runs `this.onBeforeInputChange`
698
- * @returns template map
699
- */
700
- get decorateInputMap() {
701
- return Object.assign(Object.assign({}, super.decorateInputMap), { 'type': 'text', 'part': 'input', 'inputmode': 'decimal', 'pattern': NUMBER_PATTERN, 'role': 'spinbutton', 'aria-valuenow': `${this.value || 0}`, '@keydown': this.onInputKeyDown, '@beforeinput': this.onBeforeInputChange });
702
- }
703
- /**
704
- * A `TemplateResult` that will be used
705
- * to render the updated internal template.
706
- * @return {TemplateResult} Render template
707
- */
708
- render() {
709
- return html `
710
- ${super.render()}
711
- ${this.noSpinner ? null : this.renderSpinner()}`;
712
- }
713
- };
714
- __decorate([
715
- property({ type: Boolean, attribute: 'no-spinner', reflect: true })
716
- ], NumberField.prototype, "noSpinner", void 0);
717
- __decorate([
718
- property({ type: String, reflect: true })
719
- ], NumberField.prototype, "step", void 0);
720
- __decorate([
721
- property({ type: String, reflect: true })
722
- ], NumberField.prototype, "min", void 0);
723
- __decorate([
724
- property({ type: String, reflect: true })
725
- ], NumberField.prototype, "max", void 0);
726
- __decorate([
727
- property({ type: String })
728
- ], NumberField.prototype, "value", null);
729
- __decorate([
730
- query('[part=spinner-up]')
731
- ], NumberField.prototype, "spinnerUpEl", void 0);
732
- __decorate([
733
- query('[part=spinner-down]')
734
- ], NumberField.prototype, "spinnerDownEl", void 0);
735
- NumberField = __decorate([
736
- customElement('ef-number-field', {
737
- alias: 'coral-number-field'
738
- })
739
- ], NumberField);
740
- export { NumberField };