@refinitiv-ui/elements 5.5.0 → 5.8.1

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 (328) hide show
  1. package/CHANGELOG.md +65 -8
  2. package/lib/accordion/custom-elements.md +18 -0
  3. package/lib/accordion/index.d.ts +5 -5
  4. package/lib/accordion/index.js +8 -11
  5. package/lib/appstate-bar/custom-elements.md +22 -0
  6. package/lib/appstate-bar/index.d.ts +5 -5
  7. package/lib/appstate-bar/index.js +8 -11
  8. package/lib/autosuggest/custom-elements.json +24 -4
  9. package/lib/autosuggest/custom-elements.md +54 -0
  10. package/lib/autosuggest/helpers/types.d.ts +1 -1
  11. package/lib/autosuggest/helpers/utils.d.ts +2 -2
  12. package/lib/autosuggest/helpers/utils.js +1 -2
  13. package/lib/autosuggest/index.d.ts +13 -8
  14. package/lib/autosuggest/index.js +38 -31
  15. package/lib/button/custom-elements.json +2 -2
  16. package/lib/button/custom-elements.md +23 -0
  17. package/lib/button/index.d.ts +13 -13
  18. package/lib/button/index.js +41 -31
  19. package/lib/button-bar/custom-elements.md +9 -0
  20. package/lib/button-bar/index.d.ts +3 -3
  21. package/lib/button-bar/index.js +8 -10
  22. package/lib/calendar/constants.d.ts +22 -0
  23. package/lib/calendar/constants.js +23 -0
  24. package/lib/calendar/custom-elements.json +8 -6
  25. package/lib/calendar/custom-elements.md +35 -0
  26. package/lib/calendar/index.d.ts +9 -7
  27. package/lib/calendar/index.js +20 -38
  28. package/lib/calendar/locales.d.ts +1 -31
  29. package/lib/calendar/locales.js +0 -104
  30. package/lib/calendar/types.d.ts +1 -5
  31. package/lib/calendar/types.js +1 -6
  32. package/lib/calendar/utils.d.ts +31 -1
  33. package/lib/calendar/utils.js +104 -2
  34. package/lib/canvas/custom-elements.json +7 -5
  35. package/lib/canvas/custom-elements.md +27 -0
  36. package/lib/canvas/index.d.ts +4 -3
  37. package/lib/canvas/index.js +8 -10
  38. package/lib/card/custom-elements.json +3 -1
  39. package/lib/card/custom-elements.md +24 -0
  40. package/lib/card/helpers/types.d.ts +1 -1
  41. package/lib/card/index.d.ts +10 -8
  42. package/lib/card/index.js +14 -13
  43. package/lib/chart/custom-elements.json +1 -1
  44. package/lib/chart/custom-elements.md +16 -0
  45. package/lib/chart/helpers/index.d.ts +2 -2
  46. package/lib/chart/helpers/index.js +2 -2
  47. package/lib/chart/index.d.ts +6 -6
  48. package/lib/chart/index.js +12 -14
  49. package/lib/checkbox/custom-elements.json +4 -4
  50. package/lib/checkbox/custom-elements.md +18 -0
  51. package/lib/checkbox/index.d.ts +21 -13
  52. package/lib/checkbox/index.js +56 -31
  53. package/lib/clock/custom-elements.json +21 -4
  54. package/lib/clock/custom-elements.md +28 -0
  55. package/lib/clock/index.d.ts +17 -5
  56. package/lib/clock/index.js +37 -18
  57. package/lib/clock/themes/halo/dark/index.js +1 -1
  58. package/lib/clock/themes/halo/light/index.js +1 -1
  59. package/lib/clock/themes/solar/charcoal/index.js +1 -1
  60. package/lib/clock/themes/solar/pearl/index.js +1 -1
  61. package/lib/clock/utils/TickManager.js +2 -2
  62. package/lib/collapse/custom-elements.md +27 -0
  63. package/lib/collapse/index.d.ts +7 -7
  64. package/lib/collapse/index.js +11 -13
  65. package/lib/color-dialog/custom-elements.json +29 -16
  66. package/lib/color-dialog/custom-elements.md +39 -0
  67. package/lib/color-dialog/elements/color-palettes.d.ts +5 -5
  68. package/lib/color-dialog/elements/color-palettes.js +8 -12
  69. package/lib/color-dialog/elements/grayscale-palettes.d.ts +5 -5
  70. package/lib/color-dialog/elements/grayscale-palettes.js +9 -12
  71. package/lib/color-dialog/elements/palettes.d.ts +3 -3
  72. package/lib/color-dialog/elements/palettes.js +49 -47
  73. package/lib/color-dialog/helpers/value-model.js +2 -2
  74. package/lib/color-dialog/index.d.ts +19 -19
  75. package/lib/color-dialog/index.js +36 -35
  76. package/lib/combo-box/custom-elements.json +28 -16
  77. package/lib/combo-box/custom-elements.md +35 -0
  78. package/lib/combo-box/helpers/filter.d.ts +4 -4
  79. package/lib/combo-box/helpers/types.d.ts +2 -2
  80. package/lib/combo-box/index.d.ts +26 -18
  81. package/lib/combo-box/index.js +36 -27
  82. package/lib/combo-box/themes/halo/dark/index.js +1 -1
  83. package/lib/combo-box/themes/halo/light/index.js +1 -1
  84. package/lib/combo-box/themes/solar/charcoal/index.js +1 -1
  85. package/lib/combo-box/themes/solar/pearl/index.js +1 -1
  86. package/lib/counter/custom-elements.json +8 -4
  87. package/lib/counter/custom-elements.md +11 -0
  88. package/lib/counter/index.d.ts +5 -3
  89. package/lib/counter/index.js +11 -12
  90. package/lib/datetime-picker/custom-elements.json +52 -23
  91. package/lib/datetime-picker/custom-elements.md +57 -0
  92. package/lib/datetime-picker/index.d.ts +25 -14
  93. package/lib/datetime-picker/index.js +46 -35
  94. package/lib/datetime-picker/locales.d.ts +1 -1
  95. package/lib/datetime-picker/locales.js +12 -1
  96. package/lib/datetime-picker/types.d.ts +1 -1
  97. package/lib/datetime-picker/utils.js +1 -1
  98. package/lib/dialog/custom-elements.json +34 -12
  99. package/lib/dialog/custom-elements.md +47 -0
  100. package/lib/dialog/index.d.ts +17 -20
  101. package/lib/dialog/index.js +28 -31
  102. package/lib/email-field/custom-elements.json +81 -94
  103. package/lib/email-field/custom-elements.md +37 -0
  104. package/lib/email-field/index.d.ts +44 -116
  105. package/lib/email-field/index.js +48 -249
  106. package/lib/events.d.ts +2 -2
  107. package/lib/events.js +1 -2
  108. package/lib/flag/custom-elements.md +10 -0
  109. package/lib/flag/index.d.ts +6 -4
  110. package/lib/flag/index.js +12 -12
  111. package/lib/flag/utils/FlagLoader.d.ts +1 -1
  112. package/lib/flag/utils/FlagLoader.js +1 -1
  113. package/lib/header/custom-elements.md +18 -0
  114. package/lib/header/index.d.ts +2 -2
  115. package/lib/header/index.js +5 -8
  116. package/lib/heatmap/custom-elements.md +26 -0
  117. package/lib/heatmap/helpers/color.d.ts +1 -1
  118. package/lib/heatmap/helpers/color.js +1 -1
  119. package/lib/heatmap/helpers/text.d.ts +1 -1
  120. package/lib/heatmap/index.d.ts +7 -7
  121. package/lib/heatmap/index.js +15 -16
  122. package/lib/icon/custom-elements.json +6 -4
  123. package/lib/icon/custom-elements.md +8 -0
  124. package/lib/icon/index.d.ts +9 -6
  125. package/lib/icon/index.js +28 -18
  126. package/lib/icon/utils/IconLoader.d.ts +6 -1
  127. package/lib/icon/utils/IconLoader.js +24 -17
  128. package/lib/index.d.ts +2 -1
  129. package/lib/index.js +2 -1
  130. package/lib/interactive-chart/custom-elements.json +6 -10
  131. package/lib/interactive-chart/custom-elements.md +31 -0
  132. package/lib/interactive-chart/helpers/types.d.ts +2 -2
  133. package/lib/interactive-chart/index.d.ts +11 -8
  134. package/lib/interactive-chart/index.js +17 -17
  135. package/lib/item/custom-elements.json +4 -4
  136. package/lib/item/custom-elements.md +29 -0
  137. package/lib/item/helpers/types.d.ts +1 -1
  138. package/lib/item/index.d.ts +18 -8
  139. package/lib/item/index.js +36 -16
  140. package/lib/label/custom-elements.md +11 -0
  141. package/lib/label/index.d.ts +3 -3
  142. package/lib/label/index.js +12 -20
  143. package/lib/layout/custom-elements.md +26 -0
  144. package/lib/layout/index.d.ts +3 -3
  145. package/lib/layout/index.js +6 -9
  146. package/lib/led-gauge/custom-elements.json +4 -4
  147. package/lib/led-gauge/custom-elements.md +17 -0
  148. package/lib/led-gauge/index.d.ts +5 -4
  149. package/lib/led-gauge/index.js +9 -11
  150. package/lib/list/custom-elements.json +18 -5
  151. package/lib/list/custom-elements.md +32 -0
  152. package/lib/list/helpers/list-renderer.d.ts +2 -2
  153. package/lib/list/helpers/list-renderer.js +4 -2
  154. package/lib/list/helpers/types.d.ts +2 -2
  155. package/lib/list/index.d.ts +27 -10
  156. package/lib/list/index.js +54 -25
  157. package/lib/list/renderer.d.ts +2 -2
  158. package/lib/list/renderer.js +1 -1
  159. package/lib/loader/custom-elements.md +5 -0
  160. package/lib/loader/index.js +4 -8
  161. package/lib/multi-input/custom-elements.json +7 -6
  162. package/lib/multi-input/custom-elements.md +43 -0
  163. package/lib/multi-input/helpers/types.d.ts +1 -1
  164. package/lib/multi-input/index.d.ts +11 -7
  165. package/lib/multi-input/index.js +20 -17
  166. package/lib/notification/custom-elements.md +26 -0
  167. package/lib/notification/elements/notification-tray.d.ts +2 -2
  168. package/lib/notification/elements/notification-tray.js +6 -9
  169. package/lib/notification/elements/notification.d.ts +5 -5
  170. package/lib/notification/elements/notification.js +8 -11
  171. package/lib/notification/helpers/status.d.ts +1 -1
  172. package/lib/notification/helpers/status.js +1 -1
  173. package/lib/notification/helpers/types.d.ts +1 -1
  174. package/lib/notification/index.d.ts +2 -2
  175. package/lib/notification/index.js +2 -2
  176. package/lib/number-field/custom-elements.json +99 -54
  177. package/lib/number-field/custom-elements.md +42 -0
  178. package/lib/number-field/index.d.ts +96 -51
  179. package/lib/number-field/index.js +121 -89
  180. package/lib/overlay/custom-elements.json +26 -13
  181. package/lib/overlay/custom-elements.md +54 -0
  182. package/lib/overlay/elements/overlay-backdrop.d.ts +4 -4
  183. package/lib/overlay/elements/overlay-backdrop.js +6 -9
  184. package/lib/overlay/elements/overlay-viewport.d.ts +3 -3
  185. package/lib/overlay/elements/overlay-viewport.js +5 -9
  186. package/lib/overlay/elements/overlay.d.ts +10 -5
  187. package/lib/overlay/elements/overlay.js +18 -23
  188. package/lib/overlay/index.d.ts +2 -2
  189. package/lib/overlay/index.js +1 -1
  190. package/lib/overlay/managers/backdrop-manager.d.ts +1 -1
  191. package/lib/overlay/managers/backdrop-manager.js +2 -2
  192. package/lib/overlay/managers/close-manager.js +1 -1
  193. package/lib/overlay/managers/focus-manager.js +2 -2
  194. package/lib/overlay/managers/interaction-lock-manager.js +2 -2
  195. package/lib/overlay/managers/viewport-manager.d.ts +2 -2
  196. package/lib/overlay/managers/viewport-manager.js +6 -2
  197. package/lib/overlay/managers/zindex-manager.js +1 -1
  198. package/lib/overlay-menu/custom-elements.json +70 -20
  199. package/lib/overlay-menu/custom-elements.md +44 -0
  200. package/lib/overlay-menu/helpers/types.d.ts +3 -3
  201. package/lib/overlay-menu/index.d.ts +21 -19
  202. package/lib/overlay-menu/index.js +32 -31
  203. package/lib/overlay-menu/managers/menu-manager.d.ts +2 -2
  204. package/lib/overlay-menu/managers/menu-manager.js +3 -3
  205. package/lib/pagination/custom-elements.md +27 -0
  206. package/lib/pagination/index.d.ts +8 -8
  207. package/lib/pagination/index.js +13 -15
  208. package/lib/panel/custom-elements.md +11 -0
  209. package/lib/panel/index.d.ts +3 -3
  210. package/lib/panel/index.js +6 -9
  211. package/lib/password-field/custom-elements.json +62 -67
  212. package/lib/password-field/custom-elements.md +39 -0
  213. package/lib/password-field/index.d.ts +43 -94
  214. package/lib/password-field/index.js +52 -198
  215. package/lib/pill/custom-elements.json +8 -6
  216. package/lib/pill/custom-elements.md +22 -0
  217. package/lib/pill/index.d.ts +5 -5
  218. package/lib/pill/index.js +9 -11
  219. package/lib/progress-bar/custom-elements.md +18 -0
  220. package/lib/progress-bar/index.d.ts +3 -3
  221. package/lib/progress-bar/index.js +7 -9
  222. package/lib/radio-button/custom-elements.json +4 -4
  223. package/lib/radio-button/custom-elements.md +19 -0
  224. package/lib/radio-button/index.d.ts +25 -8
  225. package/lib/radio-button/index.js +84 -21
  226. package/lib/radio-button/radio-button-registry.d.ts +3 -2
  227. package/lib/radio-button/radio-button-registry.js +57 -4
  228. package/lib/rating/custom-elements.md +17 -0
  229. package/lib/rating/index.d.ts +3 -3
  230. package/lib/rating/index.js +9 -10
  231. package/lib/search-field/custom-elements.json +70 -74
  232. package/lib/search-field/custom-elements.md +41 -0
  233. package/lib/search-field/index.d.ts +44 -101
  234. package/lib/search-field/index.js +50 -220
  235. package/lib/select/custom-elements.json +5 -4
  236. package/lib/select/custom-elements.md +24 -0
  237. package/lib/select/helpers/types.d.ts +1 -1
  238. package/lib/select/index.d.ts +18 -10
  239. package/lib/select/index.js +84 -45
  240. package/lib/sidebar-layout/custom-elements.json +2 -6
  241. package/lib/sidebar-layout/custom-elements.md +21 -0
  242. package/lib/sidebar-layout/index.d.ts +7 -6
  243. package/lib/sidebar-layout/index.js +9 -10
  244. package/lib/slider/custom-elements.json +4 -4
  245. package/lib/slider/custom-elements.md +28 -0
  246. package/lib/slider/index.d.ts +4 -4
  247. package/lib/slider/index.js +9 -10
  248. package/lib/sparkline/custom-elements.json +4 -4
  249. package/lib/sparkline/custom-elements.md +16 -0
  250. package/lib/sparkline/index.d.ts +6 -4
  251. package/lib/sparkline/index.js +10 -10
  252. package/lib/swing-gauge/custom-elements.json +5 -3
  253. package/lib/swing-gauge/custom-elements.md +17 -0
  254. package/lib/swing-gauge/helpers.d.ts +1 -1
  255. package/lib/swing-gauge/helpers.js +1 -1
  256. package/lib/swing-gauge/index.d.ts +9 -7
  257. package/lib/swing-gauge/index.js +17 -15
  258. package/lib/tab/custom-elements.json +2 -2
  259. package/lib/tab/custom-elements.md +22 -0
  260. package/lib/tab/index.d.ts +5 -5
  261. package/lib/tab/index.js +9 -12
  262. package/lib/tab-bar/custom-elements.md +11 -0
  263. package/lib/tab-bar/index.d.ts +4 -4
  264. package/lib/tab-bar/index.js +9 -11
  265. package/lib/text-field/custom-elements.json +78 -89
  266. package/lib/text-field/custom-elements.md +35 -0
  267. package/lib/text-field/index.d.ts +59 -79
  268. package/lib/text-field/index.js +99 -158
  269. package/lib/time-picker/custom-elements.json +4 -4
  270. package/lib/time-picker/custom-elements.md +28 -0
  271. package/lib/time-picker/index.d.ts +7 -4
  272. package/lib/time-picker/index.js +15 -14
  273. package/lib/toggle/custom-elements.json +4 -4
  274. package/lib/toggle/custom-elements.md +19 -0
  275. package/lib/toggle/index.d.ts +14 -4
  276. package/lib/toggle/index.js +31 -12
  277. package/lib/tooltip/custom-elements.md +14 -0
  278. package/lib/tooltip/elements/title-tooltip.js +2 -2
  279. package/lib/tooltip/elements/tooltip-element.d.ts +1 -1
  280. package/lib/tooltip/helpers/overflow-tooltip.d.ts +1 -1
  281. package/lib/tooltip/helpers/overflow-tooltip.js +1 -1
  282. package/lib/tooltip/helpers/renderer.d.ts +1 -1
  283. package/lib/tooltip/helpers/types.d.ts +1 -1
  284. package/lib/tooltip/index.d.ts +9 -9
  285. package/lib/tooltip/index.js +18 -20
  286. package/lib/tooltip/managers/tooltip-manager.d.ts +2 -2
  287. package/lib/tooltip/managers/tooltip-manager.js +3 -7
  288. package/lib/tornado-chart/custom-elements.md +18 -0
  289. package/lib/tornado-chart/elements/tornado-chart.d.ts +4 -4
  290. package/lib/tornado-chart/elements/tornado-chart.js +8 -11
  291. package/lib/tornado-chart/elements/tornado-item.d.ts +5 -5
  292. package/lib/tornado-chart/elements/tornado-item.js +10 -12
  293. package/lib/tornado-chart/index.d.ts +2 -2
  294. package/lib/tornado-chart/index.js +2 -2
  295. package/lib/tree/custom-elements.json +4 -3
  296. package/lib/tree/custom-elements.md +32 -0
  297. package/lib/tree/elements/tree-item.d.ts +4 -4
  298. package/lib/tree/elements/tree-item.js +10 -13
  299. package/lib/tree/elements/tree.d.ts +6 -5
  300. package/lib/tree/elements/tree.js +9 -12
  301. package/lib/tree/helpers/filter.d.ts +2 -2
  302. package/lib/tree/helpers/renderer.d.ts +2 -2
  303. package/lib/tree/helpers/renderer.js +3 -3
  304. package/lib/tree/helpers/types.d.ts +1 -1
  305. package/lib/tree/index.d.ts +4 -4
  306. package/lib/tree/index.js +3 -3
  307. package/lib/tree/managers/tree-manager.d.ts +22 -10
  308. package/lib/tree/managers/tree-manager.js +56 -40
  309. package/lib/tree/themes/halo/dark/index.js +1 -1
  310. package/lib/tree/themes/halo/light/index.js +1 -1
  311. package/lib/tree/themes/solar/charcoal/index.js +1 -1
  312. package/lib/tree/themes/solar/pearl/index.js +1 -1
  313. package/lib/tree-select/custom-elements.json +10 -6
  314. package/lib/tree-select/custom-elements.md +26 -0
  315. package/lib/tree-select/helpers/types.d.ts +2 -2
  316. package/lib/tree-select/index.d.ts +28 -20
  317. package/lib/tree-select/index.js +44 -31
  318. package/lib/tree-select/themes/halo/dark/index.js +1 -1
  319. package/lib/tree-select/themes/halo/light/index.js +1 -1
  320. package/lib/tree-select/themes/solar/charcoal/index.js +1 -1
  321. package/lib/tree-select/themes/solar/pearl/index.js +1 -1
  322. package/lib/version.d.ts +1 -0
  323. package/lib/version.js +1 -0
  324. package/package.json +298 -15
  325. package/lib/autosuggest/helpers/const.d.ts +0 -2
  326. package/lib/autosuggest/helpers/const.js +0 -3
  327. package/lib/overlay-menu/helpers/uuid.d.ts +0 -7
  328. package/lib/overlay-menu/helpers/uuid.js +0 -13
@@ -1,21 +1,18 @@
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 { css, customElement, html, property, query } from '@refinitiv-ui/core';
8
- import { Overlay } from '../overlay';
9
- import '../icon';
10
- import '../panel';
11
- import '../header';
12
- import '../button';
13
- import { deregister as draggableDeregister, register as draggableRegister } from './draggable-element';
1
+ import { __decorate } from "tslib";
2
+ import { css, html } 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 { isIE } from '@refinitiv-ui/utils/lib/browser.js';
8
+ import { deregister as draggableDeregister, register as draggableRegister } from './draggable-element.js';
9
+ import { Overlay } from '../overlay/index.js';
10
+ import '../icon/index.js';
11
+ import '../panel/index.js';
12
+ import '../header/index.js';
13
+ import '../button/index.js';
14
14
  import { translate, TranslatePropertyKey } from '@refinitiv-ui/translate';
15
- import '@refinitiv-ui/phrasebook/lib/locale/en/dialog';
16
- import { VERSION } from '../';
17
- // TODO: use metrics once available
18
- const isIE = (/Trident/g).test(navigator.userAgent) || (/MSIE/g).test(navigator.userAgent);
15
+ import '@refinitiv-ui/phrasebook/lib/locale/en/dialog.js';
19
16
  /**
20
17
  * Popup window, designed to contain and show any HTML content.
21
18
  * It provides modal and dragging functionality,
@@ -29,17 +26,17 @@ const isIE = (/Trident/g).test(navigator.userAgent) || (/MSIE/g).test(navigator.
29
26
  * @attr {boolean} [no-cancel-on-esc-key=false] - Prevents dialog to close when user presses ESC key
30
27
  * @prop {boolean} [noCancelOnEscKey=false] - Prevents dialog to close when user presses ESC key
31
28
  *
32
- * @attr {string} x - Set a specific x coordinate of dialog
33
- * @prop {string} x - Set a specific x coordinate of dialog
29
+ * @attr {string | undefined} x - Set a specific x coordinate of dialog
30
+ * @prop {string | undefined} x - Set a specific x coordinate of dialog
34
31
  *
35
- * @attr {string} y - Set a specific y coordinate of dialog
36
- * @prop {string} y - Set a specific y coordinate of dialog
32
+ * @attr {string | undefined} y - Set a specific y coordinate of dialog
33
+ * @prop {string | undefined} y - Set a specific y coordinate of dialog
37
34
  *
38
35
  * @attr {boolean} full-screen - Set dialog to full screen
39
- * @prop {boolean} fullScreen - Set dialog to full screen
36
+ * @prop {boolean} [fullScreen=false] - Set dialog to full screen
40
37
  *
41
- * @attr {string} position-target - Set position of dialog i.e. `top`, `right`, `left`, `bottom`, `center` or combination of theme e.g. `top right`.
42
- * @prop {string} positionTarget - Set position of dialog i.e. `top`, `right`, `left`, `bottom`, `center` or combination of theme e.g. `top right`.
38
+ * @attr {string | undefined} position-target - Set position of dialog i.e. `top`, `right`, `left`, `bottom`, `center` or combination of theme e.g. `top right`.
39
+ * @prop {string | undefined} positionTarget - Set position of dialog i.e. `top`, `right`, `left`, `bottom`, `center` or combination of theme e.g. `top right`.
43
40
  *
44
41
  * @fires opened-changed - Fired when value of `opened` property is changed. Prevent default to stop default action
45
42
  * @fires confirm - Fired when dialog is closed by user clicked a default OK button. Prevent default to stop default action
@@ -58,9 +55,6 @@ let Dialog = class Dialog extends Overlay {
58
55
  * Should the dialog be draggable
59
56
  */
60
57
  this.draggable = false;
61
- /**
62
- * @ignore
63
- */
64
58
  this.noCancelOnOutsideClick = true;
65
59
  /**
66
60
  * @ignore
@@ -79,13 +73,15 @@ let Dialog = class Dialog extends Overlay {
79
73
  return VERSION;
80
74
  }
81
75
  /**
82
- * A `CSSResult` that will be used
76
+ * A `CSSResultGroup` that will be used
83
77
  * to style the host, slotted children
84
78
  * and the internal template of the element.
85
- * @return {CSSResult | CSSResult[]} CSS template
79
+ * @returns CSS template
86
80
  */
87
81
  static get styles() {
88
- return [...Overlay.styles, css `
82
+ return [
83
+ super.styles,
84
+ css `
89
85
  :host {
90
86
  width: 400px;
91
87
  display: flex;
@@ -117,7 +113,8 @@ let Dialog = class Dialog extends Overlay {
117
113
  flex: none;
118
114
  cursor: pointer;
119
115
  }
120
- `];
116
+ `
117
+ ];
121
118
  }
122
119
  disconnectedCallback() {
123
120
  super.disconnectedCallback();
@@ -3,63 +3,58 @@
3
3
  "tags": [
4
4
  {
5
5
  "name": "ef-email-field",
6
- "description": "A form control element for email",
6
+ "description": "A form control element for email.",
7
7
  "attributes": [
8
8
  {
9
- "name": "pattern",
10
- "description": "Set regular expression for input validation",
11
- "type": "string",
12
- "default": "\"\""
9
+ "name": "multiple",
10
+ "description": "Set to multiple mode, allows multiple emails in a single input",
11
+ "type": "boolean",
12
+ "default": "false"
13
13
  },
14
14
  {
15
- "name": "placeholder",
16
- "description": "Set placeholder text",
17
- "type": "string",
18
- "default": "\"\""
15
+ "name": "disabled",
16
+ "description": "Set disabled state",
17
+ "type": "boolean",
18
+ "default": "false"
19
19
  },
20
20
  {
21
21
  "name": "error",
22
- "description": "Set state to error",
22
+ "description": "Set error state",
23
23
  "type": "boolean",
24
24
  "default": "false"
25
25
  },
26
26
  {
27
- "name": "warning",
28
- "description": "Set state to warning",
29
- "type": "boolean",
30
- "default": "false"
27
+ "name": "icon",
28
+ "description": "Specify icon to display in input. Value can be icon name",
29
+ "type": "string | null"
31
30
  },
32
31
  {
33
- "name": "transparent",
34
- "description": "Disables all other states and border/background styles.\nUse with advanced composite elements requiring e.g. multi selection in\ncombo-box when parent container handles element states.",
32
+ "name": "icon-has-action",
33
+ "description": "Specify when icon need to be clickable",
35
34
  "type": "boolean",
36
35
  "default": "false"
37
36
  },
38
37
  {
39
- "name": "maxlength",
40
- "description": "Set character max limit",
41
- "type": "number | null"
42
- },
43
- {
44
- "name": "minlength",
45
- "description": "Set character min limit",
46
- "type": "number | null"
38
+ "name": "placeholder",
39
+ "description": "Set placeholder text",
40
+ "type": "string",
41
+ "default": "\"\""
47
42
  },
48
43
  {
49
- "name": "multiple",
50
- "description": "Set to multiple mode, allows multiple emails in a single input",
44
+ "name": "readonly",
45
+ "description": "Set readonly state",
51
46
  "type": "boolean",
52
47
  "default": "false"
53
48
  },
54
49
  {
55
- "name": "icon",
56
- "description": "Specify icon to display in input. Value can be icon name",
57
- "type": "string",
58
- "default": "\"\""
50
+ "name": "transparent",
51
+ "description": "Disables all other states and border/background styles.",
52
+ "type": "boolean",
53
+ "default": "false"
59
54
  },
60
55
  {
61
- "name": "icon-has-action",
62
- "description": "Specify when icon need to be clickable",
56
+ "name": "warning",
57
+ "description": "Set warning state",
63
58
  "type": "boolean",
64
59
  "default": "false"
65
60
  },
@@ -70,91 +65,76 @@
70
65
  "default": "\"\""
71
66
  },
72
67
  {
73
- "name": "readonly",
74
- "description": "Set readonly state",
75
- "type": "boolean",
76
- "default": "\"false\""
68
+ "name": "icon-has-action",
69
+ "description": "Specify when icon need to be clickable",
70
+ "type": "boolean"
77
71
  },
78
72
  {
79
- "name": "disabled",
80
- "description": "Set disabled state",
81
- "type": "boolean",
82
- "default": "\"false\""
73
+ "name": "maxlength",
74
+ "description": "Set character max limit",
75
+ "type": "number"
76
+ },
77
+ {
78
+ "name": "minlength",
79
+ "description": "Set character min limit",
80
+ "type": "number"
83
81
  }
84
82
  ],
85
83
  "properties": [
86
84
  {
87
- "name": "pattern",
88
- "attribute": "pattern",
89
- "description": "Set regular expression for input validation",
90
- "type": "string",
91
- "default": "\"\""
85
+ "name": "multiple",
86
+ "attribute": "multiple",
87
+ "description": "Set to multiple mode, allows multiple emails in a single input",
88
+ "type": "boolean",
89
+ "default": "false"
92
90
  },
93
91
  {
94
- "name": "placeholder",
95
- "attribute": "placeholder",
96
- "description": "Set placeholder text",
97
- "type": "string",
98
- "default": "\"\""
92
+ "name": "disabled",
93
+ "attribute": "disabled",
94
+ "description": "Set disabled state",
95
+ "type": "boolean",
96
+ "default": "false"
99
97
  },
100
98
  {
101
99
  "name": "error",
102
100
  "attribute": "error",
103
- "description": "Set state to error",
101
+ "description": "Set error state",
104
102
  "type": "boolean",
105
103
  "default": "false"
106
104
  },
107
105
  {
108
- "name": "warning",
109
- "attribute": "warning",
110
- "description": "Set state to warning",
111
- "type": "boolean",
112
- "default": "false"
106
+ "name": "icon",
107
+ "attribute": "icon",
108
+ "description": "Specify icon to display in input. Value can be icon name",
109
+ "type": "string | null"
113
110
  },
114
111
  {
115
- "name": "transparent",
116
- "attribute": "transparent",
117
- "description": "Disables all other states and border/background styles.\nUse with advanced composite elements requiring e.g. multi selection in\ncombo-box when parent container handles element states.",
112
+ "name": "iconHasAction",
113
+ "attribute": "icon-has-action",
114
+ "description": "Specify when icon need to be clickable",
118
115
  "type": "boolean",
119
116
  "default": "false"
120
117
  },
121
118
  {
122
119
  "name": "maxLength",
123
- "attribute": "maxlength",
124
120
  "description": "Set character max limit",
125
121
  "type": "number | null"
126
122
  },
127
123
  {
128
124
  "name": "minLength",
129
- "attribute": "minlength",
130
125
  "description": "Set character min limit",
131
126
  "type": "number | null"
132
127
  },
133
128
  {
134
- "name": "multiple",
135
- "attribute": "multiple",
136
- "description": "Set to multiple mode, allows multiple emails in a single input",
137
- "type": "boolean",
138
- "default": "false"
139
- },
140
- {
141
- "name": "icon",
142
- "attribute": "icon",
143
- "description": "Specify icon to display in input. Value can be icon name",
129
+ "name": "pattern",
130
+ "description": "Set regular expression for input validation",
144
131
  "type": "string",
145
132
  "default": "\"\""
146
133
  },
147
134
  {
148
- "name": "iconHasAction",
149
- "attribute": "icon-has-action",
150
- "description": "Specify when icon need to be clickable",
151
- "type": "boolean",
152
- "default": "false"
153
- },
154
- {
155
- "name": "value",
156
- "attribute": "value",
157
- "description": "Input's value",
135
+ "name": "placeholder",
136
+ "attribute": "placeholder",
137
+ "description": "Set placeholder text",
158
138
  "type": "string",
159
139
  "default": "\"\""
160
140
  },
@@ -163,14 +143,28 @@
163
143
  "attribute": "readonly",
164
144
  "description": "Set readonly state",
165
145
  "type": "boolean",
166
- "default": "\"false\""
146
+ "default": "false"
167
147
  },
168
148
  {
169
- "name": "disabled",
170
- "attribute": "disabled",
171
- "description": "Set disabled state",
149
+ "name": "transparent",
150
+ "attribute": "transparent",
151
+ "description": "Disables all other states and border/background styles.",
172
152
  "type": "boolean",
173
- "default": "\"false\""
153
+ "default": "false"
154
+ },
155
+ {
156
+ "name": "warning",
157
+ "attribute": "warning",
158
+ "description": "Set warning state",
159
+ "type": "boolean",
160
+ "default": "false"
161
+ },
162
+ {
163
+ "name": "value",
164
+ "attribute": "value",
165
+ "description": "Input's value",
166
+ "type": "string",
167
+ "default": "\"\""
174
168
  }
175
169
  ],
176
170
  "events": [
@@ -184,14 +178,7 @@
184
178
  },
185
179
  {
186
180
  "name": "icon-click",
187
- "description": "Dispatched only when element has icon-has-action attribute and icon is clicked"
188
- }
189
- ],
190
- "methods": [
191
- {
192
- "name": "select",
193
- "description": "Select the contents of input",
194
- "params": []
181
+ "description": "Dispatched when icon is clicked"
195
182
  }
196
183
  ]
197
184
  }
@@ -0,0 +1,37 @@
1
+ # ef-email-field
2
+
3
+ A form control element for email.
4
+
5
+ ## Attributes
6
+
7
+ | Attribute | Type | Description |
8
+ |-------------------|-----------|----------------------------------------|
9
+ | `icon-has-action` | `boolean` | Specify when icon need to be clickable |
10
+ | `maxlength` | `number` | Set character max limit |
11
+ | `minlength` | `number` | Set character min limit |
12
+
13
+ ## Properties
14
+
15
+ | Property | Attribute | Type | Default | Description |
16
+ |-----------------|-------------------|------------------|---------|--------------------------------------------------|
17
+ | `disabled` | `disabled` | `boolean` | false | Set disabled state |
18
+ | `error` | `error` | `boolean` | false | Set error state |
19
+ | `icon` | `icon` | `string \| null` | null | Specify icon to display in input. Value can be icon name |
20
+ | `iconHasAction` | `icon-has-action` | `boolean` | false | Specify when icon need to be clickable |
21
+ | `maxLength` | | `number \| null` | null | Set character max limit |
22
+ | `minLength` | | `number \| null` | null | Set character min limit |
23
+ | `multiple` | `multiple` | `boolean` | false | Set to multiple mode, allows multiple emails in a single input |
24
+ | `pattern` | | `string` | "" | Set regular expression for input validation |
25
+ | `placeholder` | `placeholder` | `string` | "" | Set placeholder text |
26
+ | `readonly` | `readonly` | `boolean` | false | Set readonly state |
27
+ | `transparent` | `transparent` | `boolean` | false | Disables all other states and border/background styles. |
28
+ | `value` | `value` | `string` | "" | Input's value |
29
+ | `warning` | `warning` | `boolean` | false | Set warning state |
30
+
31
+ ## Events
32
+
33
+ | Event | Description |
34
+ |-----------------|-------------------------------------|
35
+ | `error-changed` | Dispatched when error state changes |
36
+ | `icon-click` | Dispatched when icon is clicked |
37
+ | `value-changed` | Dispatched when value changes |
@@ -1,140 +1,68 @@
1
1
  import { JSXInterface } from '../jsx';
2
- import { ControlElement, CSSResult, PropertyValues, TemplateResult } from '@refinitiv-ui/core';
3
- import '../icon';
2
+ import { PropertyValues } from '@refinitiv-ui/core';
3
+ import '../icon/index.js';
4
+ import { TextField } from '../text-field/index.js';
5
+ import { TemplateMap } from '@refinitiv-ui/core/lib/directives/template-map.js';
4
6
  /**
5
- * A form control element for email
7
+ * A form control element for email.
6
8
  *
7
9
  * @fires value-changed - Dispatched when value changes
8
10
  * @fires error-changed - Dispatched when error state changes
11
+ * @fires icon-click - Dispatched when icon is clicked
9
12
  *
10
- * @attr {string} value - Input's value
11
- * @prop {string} [value=] - Input's value
13
+ * @attr {boolean} disabled - Set disabled state
14
+ * @prop {boolean} [disabled=false] - Set disabled state
15
+ *
16
+ * @attr {boolean} error - Set error state
17
+ * @prop {boolean} [error=false] - Set error state
18
+ *
19
+ * @attr {string} icon - Specify icon to display in input. Value can be icon name
20
+ * @prop {string | null} [icon=null] - Specify icon to display in input. Value can be icon name
21
+ *
22
+ * @attr {boolean} icon-has-action - Specify when icon need to be clickable
23
+ * @prop {boolean} [iconHasAction=false] - Specify when icon need to be clickable
24
+ *
25
+ * @attr {number} maxlength - Set character max limit
26
+ * @prop {number | null} [maxLength=null] - Set character max limit
27
+ *
28
+ * @attr {number} minlength - Set character min limit
29
+ * @prop {number | null} [minLength=null] - Set character min limit
30
+ *
31
+ * @prop {string} [pattern=""] - Set regular expression for input validation
32
+ *
33
+ * @attr {string} placeholder - Set placeholder text
34
+ * @prop {string} [placeholder=""] - Set placeholder text
12
35
  *
13
36
  * @attr {boolean} readonly - Set readonly state
14
37
  * @prop {boolean} [readonly=false] - Set readonly state
15
38
  *
16
- * @attr {boolean} disabled - Set disabled state
17
- * @prop {boolean} [disabled=false] - Set disabled state
39
+ * @attr {boolean} transparent - Disables all other states and border/background styles.
40
+ * @prop {boolean} [transparent=false] - Disables all other states and border/background styles.
41
+ *
42
+ * @attr {boolean} warning - Set warning state
43
+ * @prop {boolean} [warning=false] - Set warning state
44
+ *
45
+ * @attr {string} value - Input's value
46
+ * @prop {string} [value=""] - Input's value
18
47
  */
19
- export declare class EmailField extends ControlElement {
20
- /**
21
- * Element version number
22
- * @returns version number
23
- */
24
- static get version(): string;
25
- /**
26
- * A `CSSResult` that will be used
27
- * to style the host, slotted children
28
- * and the internal template of the element.
29
- * @return {CSSResult | CSSResult[]} CSS template
30
- */
31
- static get styles(): CSSResult | CSSResult[];
32
- /**
33
- * Set regular expression for input validation
34
- */
35
- pattern: string;
36
- /**
37
- * Set placeholder text
38
- */
39
- placeholder: string;
40
- /**
41
- * Set state to error
42
- */
43
- error: boolean;
44
- /**
45
- * Set state to warning
46
- */
47
- warning: boolean;
48
- /**
49
- * Disables all other states and border/background styles.
50
- * Use with advanced composite elements requiring e.g. multi selection in
51
- * combo-box when parent container handles element states.
52
- */
53
- transparent: boolean;
54
- /**
55
- * Set character max limit
56
- */
57
- maxLength: number | null;
58
- /**
59
- * Set character min limit
60
- */
61
- minLength: number | null;
48
+ export declare class EmailField extends TextField {
62
49
  /**
63
50
  * Set to multiple mode, allows multiple emails in a single input
64
51
  */
65
52
  multiple: boolean;
66
53
  /**
67
- * Specify icon to display in input. Value can be icon name
68
- */
69
- icon: string;
70
- /**
71
- * Specify when icon need to be clickable
72
- */
73
- iconHasAction: boolean;
74
- /**
75
- * Get native input element from shadow roots
54
+ * Decorate `<input>` element with common properties extended from text-field:
55
+ * type="email" - always `email`
56
+ * multiple - defined if supports multiple emails
57
+ * @returns template map
76
58
  */
77
- private inputElement;
78
- /**
79
- * Select the contents of input
80
- * @returns {void}
81
- */
82
- select(): void;
83
- /**
84
- * Called when the element’s DOM has been updated and rendered
85
- * @param changedProperties Properties that has changed
86
- * @returns {void}
87
- */
88
- protected updated(changedProperties: PropertyValues): void;
59
+ protected get decorateInputMap(): TemplateMap;
89
60
  /**
90
61
  * Check if input should be re-validated
91
62
  * @param changedProperties Properties that has changed
92
63
  * @returns True if input should be re-validated
93
64
  */
94
- private shouldValidateInput;
95
- /**
96
- * Check if value is changed and fire event
97
- * @returns {void}
98
- */
99
- private onPossibleValueChange;
100
- /**
101
- * Validate input according `pattern`, `minLength` and `maxLength` properties
102
- * change state of `error` property according pattern validation
103
- * @returns {void}
104
- */
105
- private validateInput;
106
- /**
107
- * @param error existing state of error
108
- * @returns true if there is no error and browser is IE11 and minLength more than 0 and value exists
109
- */
110
- private shouldValidateForMinLength;
111
- /**
112
- * Detect `enter` and `space` keydown and fire
113
- * @param event keydown event
114
- * @returns {void}
115
- */
116
- private handleKeyDown;
117
- /**
118
- * Process internal icon click and fire `icon-click` event
119
- * @returns {void}
120
- */
121
- private iconClick;
122
- /**
123
- * Fire event on `icon` click
124
- * @returns {void}
125
- */
126
- private notifyIcon;
127
- /**
128
- * Renders icon element if property present
129
- * @returns {TemplateResult | null} Template result
130
- */
131
- private renderIcon;
132
- /**
133
- * A `TemplateResult` that will be used
134
- * to render the updated internal template.
135
- * @return {TemplateResult} Render template
136
- */
137
- protected render(): TemplateResult;
65
+ protected shouldValidateInput(changedProperties: PropertyValues): boolean;
138
66
  }
139
67
 
140
68
  declare global {
@@ -144,7 +72,7 @@ declare global {
144
72
 
145
73
  namespace JSX {
146
74
  interface IntrinsicElements {
147
- 'ef-email-field': Partial<EmailField> | JSXInterface.ControlHTMLAttributes<EmailField>;
75
+ 'ef-email-field': Partial<EmailField> | JSXInterface.HTMLAttributes<EmailField>;
148
76
  }
149
77
  }
150
78
  }