@refinitiv-ui/elements 5.3.4 → 5.8.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 (352) hide show
  1. package/CHANGELOG.md +89 -0
  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 +9 -13
  69. package/lib/color-dialog/elements/grayscale-palettes.d.ts +5 -5
  70. package/lib/color-dialog/elements/grayscale-palettes.js +10 -13
  71. package/lib/color-dialog/elements/palettes.d.ts +10 -3
  72. package/lib/color-dialog/elements/palettes.js +58 -45
  73. package/lib/color-dialog/helpers/color-helpers.d.ts +7 -53
  74. package/lib/color-dialog/helpers/color-helpers.js +12 -109
  75. package/lib/color-dialog/helpers/value-model.d.ts +1 -1
  76. package/lib/color-dialog/helpers/value-model.js +18 -16
  77. package/lib/color-dialog/index.d.ts +19 -19
  78. package/lib/color-dialog/index.js +47 -45
  79. package/lib/combo-box/custom-elements.json +28 -16
  80. package/lib/combo-box/custom-elements.md +35 -0
  81. package/lib/combo-box/helpers/filter.d.ts +4 -4
  82. package/lib/combo-box/helpers/types.d.ts +2 -2
  83. package/lib/combo-box/index.d.ts +26 -18
  84. package/lib/combo-box/index.js +36 -27
  85. package/lib/combo-box/themes/halo/dark/index.js +1 -1
  86. package/lib/combo-box/themes/halo/light/index.js +1 -1
  87. package/lib/combo-box/themes/solar/charcoal/index.js +1 -1
  88. package/lib/combo-box/themes/solar/pearl/index.js +1 -1
  89. package/lib/counter/custom-elements.json +8 -4
  90. package/lib/counter/custom-elements.md +11 -0
  91. package/lib/counter/index.d.ts +5 -3
  92. package/lib/counter/index.js +11 -12
  93. package/lib/datetime-picker/custom-elements.json +52 -23
  94. package/lib/datetime-picker/custom-elements.md +57 -0
  95. package/lib/datetime-picker/index.d.ts +25 -14
  96. package/lib/datetime-picker/index.js +46 -35
  97. package/lib/datetime-picker/locales.d.ts +1 -1
  98. package/lib/datetime-picker/locales.js +12 -1
  99. package/lib/datetime-picker/themes/solar/charcoal/index.js +1 -1
  100. package/lib/datetime-picker/themes/solar/pearl/index.js +1 -1
  101. package/lib/datetime-picker/types.d.ts +1 -1
  102. package/lib/datetime-picker/utils.js +1 -1
  103. package/lib/dialog/custom-elements.json +34 -12
  104. package/lib/dialog/custom-elements.md +47 -0
  105. package/lib/dialog/index.d.ts +17 -20
  106. package/lib/dialog/index.js +28 -31
  107. package/lib/email-field/custom-elements.json +81 -94
  108. package/lib/email-field/custom-elements.md +37 -0
  109. package/lib/email-field/index.d.ts +44 -116
  110. package/lib/email-field/index.js +48 -249
  111. package/lib/email-field/themes/solar/charcoal/index.js +1 -1
  112. package/lib/email-field/themes/solar/pearl/index.js +1 -1
  113. package/lib/events.d.ts +2 -2
  114. package/lib/events.js +1 -2
  115. package/lib/flag/custom-elements.md +10 -0
  116. package/lib/flag/index.d.ts +6 -4
  117. package/lib/flag/index.js +12 -12
  118. package/lib/flag/utils/FlagLoader.d.ts +1 -1
  119. package/lib/flag/utils/FlagLoader.js +1 -1
  120. package/lib/header/custom-elements.md +18 -0
  121. package/lib/header/index.d.ts +2 -2
  122. package/lib/header/index.js +5 -8
  123. package/lib/heatmap/custom-elements.md +26 -0
  124. package/lib/heatmap/helpers/color.d.ts +1 -1
  125. package/lib/heatmap/helpers/color.js +1 -1
  126. package/lib/heatmap/helpers/text.d.ts +1 -1
  127. package/lib/heatmap/index.d.ts +7 -7
  128. package/lib/heatmap/index.js +15 -16
  129. package/lib/icon/custom-elements.json +6 -4
  130. package/lib/icon/custom-elements.md +8 -0
  131. package/lib/icon/index.d.ts +9 -6
  132. package/lib/icon/index.js +28 -18
  133. package/lib/icon/utils/IconLoader.d.ts +6 -1
  134. package/lib/icon/utils/IconLoader.js +24 -17
  135. package/lib/index.d.ts +2 -1
  136. package/lib/index.js +2 -1
  137. package/lib/interactive-chart/custom-elements.json +6 -10
  138. package/lib/interactive-chart/custom-elements.md +31 -0
  139. package/lib/interactive-chart/helpers/types.d.ts +2 -2
  140. package/lib/interactive-chart/index.d.ts +11 -8
  141. package/lib/interactive-chart/index.js +17 -17
  142. package/lib/item/custom-elements.json +4 -4
  143. package/lib/item/custom-elements.md +29 -0
  144. package/lib/item/helpers/types.d.ts +1 -1
  145. package/lib/item/index.d.ts +18 -8
  146. package/lib/item/index.js +36 -16
  147. package/lib/label/custom-elements.md +11 -0
  148. package/lib/label/index.d.ts +3 -3
  149. package/lib/label/index.js +12 -20
  150. package/lib/layout/custom-elements.md +26 -0
  151. package/lib/layout/index.d.ts +3 -3
  152. package/lib/layout/index.js +6 -9
  153. package/lib/led-gauge/custom-elements.json +4 -4
  154. package/lib/led-gauge/custom-elements.md +17 -0
  155. package/lib/led-gauge/index.d.ts +5 -4
  156. package/lib/led-gauge/index.js +9 -11
  157. package/lib/list/custom-elements.json +18 -5
  158. package/lib/list/custom-elements.md +32 -0
  159. package/lib/list/helpers/list-renderer.d.ts +2 -2
  160. package/lib/list/helpers/list-renderer.js +4 -2
  161. package/lib/list/helpers/types.d.ts +2 -2
  162. package/lib/list/index.d.ts +27 -10
  163. package/lib/list/index.js +54 -25
  164. package/lib/list/renderer.d.ts +2 -2
  165. package/lib/list/renderer.js +1 -1
  166. package/lib/loader/custom-elements.md +5 -0
  167. package/lib/loader/index.js +4 -8
  168. package/lib/multi-input/custom-elements.json +7 -6
  169. package/lib/multi-input/custom-elements.md +43 -0
  170. package/lib/multi-input/helpers/types.d.ts +1 -1
  171. package/lib/multi-input/index.d.ts +11 -7
  172. package/lib/multi-input/index.js +20 -17
  173. package/lib/multi-input/themes/solar/charcoal/index.js +1 -1
  174. package/lib/multi-input/themes/solar/pearl/index.js +1 -1
  175. package/lib/notification/custom-elements.md +26 -0
  176. package/lib/notification/elements/notification-tray.d.ts +2 -2
  177. package/lib/notification/elements/notification-tray.js +6 -9
  178. package/lib/notification/elements/notification.d.ts +5 -5
  179. package/lib/notification/elements/notification.js +8 -11
  180. package/lib/notification/helpers/status.d.ts +1 -1
  181. package/lib/notification/helpers/status.js +1 -1
  182. package/lib/notification/helpers/types.d.ts +1 -1
  183. package/lib/notification/index.d.ts +2 -2
  184. package/lib/notification/index.js +2 -2
  185. package/lib/number-field/custom-elements.json +99 -54
  186. package/lib/number-field/custom-elements.md +42 -0
  187. package/lib/number-field/index.d.ts +96 -51
  188. package/lib/number-field/index.js +121 -89
  189. package/lib/number-field/themes/solar/charcoal/index.js +1 -1
  190. package/lib/number-field/themes/solar/pearl/index.js +1 -1
  191. package/lib/overlay/custom-elements.json +26 -13
  192. package/lib/overlay/custom-elements.md +54 -0
  193. package/lib/overlay/elements/overlay-backdrop.d.ts +4 -4
  194. package/lib/overlay/elements/overlay-backdrop.js +6 -9
  195. package/lib/overlay/elements/overlay-viewport.d.ts +3 -3
  196. package/lib/overlay/elements/overlay-viewport.js +5 -9
  197. package/lib/overlay/elements/overlay.d.ts +10 -5
  198. package/lib/overlay/elements/overlay.js +27 -28
  199. package/lib/overlay/index.d.ts +2 -2
  200. package/lib/overlay/index.js +1 -1
  201. package/lib/overlay/managers/backdrop-manager.d.ts +1 -1
  202. package/lib/overlay/managers/backdrop-manager.js +2 -2
  203. package/lib/overlay/managers/close-manager.js +1 -1
  204. package/lib/overlay/managers/focus-manager.js +2 -2
  205. package/lib/overlay/managers/interaction-lock-manager.js +2 -2
  206. package/lib/overlay/managers/viewport-manager.d.ts +2 -2
  207. package/lib/overlay/managers/viewport-manager.js +6 -2
  208. package/lib/overlay/managers/zindex-manager.js +1 -1
  209. package/lib/overlay-menu/custom-elements.json +70 -20
  210. package/lib/overlay-menu/custom-elements.md +44 -0
  211. package/lib/overlay-menu/helpers/types.d.ts +3 -3
  212. package/lib/overlay-menu/index.d.ts +26 -19
  213. package/lib/overlay-menu/index.js +47 -33
  214. package/lib/overlay-menu/managers/menu-manager.d.ts +2 -2
  215. package/lib/overlay-menu/managers/menu-manager.js +3 -3
  216. package/lib/pagination/custom-elements.md +27 -0
  217. package/lib/pagination/index.d.ts +8 -8
  218. package/lib/pagination/index.js +13 -15
  219. package/lib/panel/custom-elements.md +11 -0
  220. package/lib/panel/index.d.ts +3 -3
  221. package/lib/panel/index.js +6 -9
  222. package/lib/password-field/custom-elements.json +62 -67
  223. package/lib/password-field/custom-elements.md +39 -0
  224. package/lib/password-field/index.d.ts +43 -94
  225. package/lib/password-field/index.js +52 -198
  226. package/lib/password-field/themes/solar/charcoal/index.js +1 -1
  227. package/lib/password-field/themes/solar/pearl/index.js +1 -1
  228. package/lib/pill/custom-elements.json +8 -6
  229. package/lib/pill/custom-elements.md +22 -0
  230. package/lib/pill/index.d.ts +5 -5
  231. package/lib/pill/index.js +9 -11
  232. package/lib/progress-bar/custom-elements.md +18 -0
  233. package/lib/progress-bar/index.d.ts +3 -3
  234. package/lib/progress-bar/index.js +7 -9
  235. package/lib/radio-button/custom-elements.json +4 -4
  236. package/lib/radio-button/custom-elements.md +19 -0
  237. package/lib/radio-button/index.d.ts +25 -8
  238. package/lib/radio-button/index.js +84 -21
  239. package/lib/radio-button/radio-button-registry.d.ts +3 -2
  240. package/lib/radio-button/radio-button-registry.js +57 -4
  241. package/lib/rating/custom-elements.md +17 -0
  242. package/lib/rating/index.d.ts +3 -3
  243. package/lib/rating/index.js +9 -10
  244. package/lib/search-field/custom-elements.json +70 -74
  245. package/lib/search-field/custom-elements.md +41 -0
  246. package/lib/search-field/index.d.ts +44 -101
  247. package/lib/search-field/index.js +50 -220
  248. package/lib/search-field/themes/solar/charcoal/index.js +1 -1
  249. package/lib/search-field/themes/solar/pearl/index.js +1 -1
  250. package/lib/select/custom-elements.json +5 -4
  251. package/lib/select/custom-elements.md +24 -0
  252. package/lib/select/helpers/types.d.ts +1 -1
  253. package/lib/select/index.d.ts +18 -10
  254. package/lib/select/index.js +84 -45
  255. package/lib/sidebar-layout/custom-elements.json +2 -6
  256. package/lib/sidebar-layout/custom-elements.md +21 -0
  257. package/lib/sidebar-layout/index.d.ts +7 -6
  258. package/lib/sidebar-layout/index.js +9 -10
  259. package/lib/slider/custom-elements.json +4 -4
  260. package/lib/slider/custom-elements.md +28 -0
  261. package/lib/slider/index.d.ts +4 -4
  262. package/lib/slider/index.js +9 -10
  263. package/lib/sparkline/custom-elements.json +4 -4
  264. package/lib/sparkline/custom-elements.md +16 -0
  265. package/lib/sparkline/index.d.ts +6 -4
  266. package/lib/sparkline/index.js +10 -10
  267. package/lib/swing-gauge/custom-elements.json +5 -3
  268. package/lib/swing-gauge/custom-elements.md +17 -0
  269. package/lib/swing-gauge/helpers.d.ts +1 -1
  270. package/lib/swing-gauge/helpers.js +1 -1
  271. package/lib/swing-gauge/index.d.ts +9 -7
  272. package/lib/swing-gauge/index.js +17 -15
  273. package/lib/tab/custom-elements.json +2 -2
  274. package/lib/tab/custom-elements.md +22 -0
  275. package/lib/tab/index.d.ts +5 -5
  276. package/lib/tab/index.js +9 -12
  277. package/lib/tab/themes/solar/charcoal/index.js +1 -1
  278. package/lib/tab/themes/solar/pearl/index.js +1 -1
  279. package/lib/tab-bar/custom-elements.md +11 -0
  280. package/lib/tab-bar/index.d.ts +4 -4
  281. package/lib/tab-bar/index.js +9 -11
  282. package/lib/tab-bar/themes/solar/charcoal/index.js +1 -1
  283. package/lib/tab-bar/themes/solar/pearl/index.js +1 -1
  284. package/lib/text-field/custom-elements.json +78 -89
  285. package/lib/text-field/custom-elements.md +35 -0
  286. package/lib/text-field/index.d.ts +59 -79
  287. package/lib/text-field/index.js +99 -158
  288. package/lib/text-field/themes/solar/charcoal/index.js +1 -1
  289. package/lib/text-field/themes/solar/pearl/index.js +1 -1
  290. package/lib/time-picker/custom-elements.json +4 -4
  291. package/lib/time-picker/custom-elements.md +28 -0
  292. package/lib/time-picker/index.d.ts +7 -4
  293. package/lib/time-picker/index.js +15 -14
  294. package/lib/time-picker/themes/solar/charcoal/index.js +1 -1
  295. package/lib/time-picker/themes/solar/pearl/index.js +1 -1
  296. package/lib/toggle/custom-elements.json +4 -4
  297. package/lib/toggle/custom-elements.md +19 -0
  298. package/lib/toggle/index.d.ts +14 -4
  299. package/lib/toggle/index.js +31 -12
  300. package/lib/tooltip/custom-elements.md +14 -0
  301. package/lib/tooltip/elements/title-tooltip.js +2 -2
  302. package/lib/tooltip/elements/tooltip-element.d.ts +1 -1
  303. package/lib/tooltip/helpers/overflow-tooltip.d.ts +1 -1
  304. package/lib/tooltip/helpers/overflow-tooltip.js +1 -1
  305. package/lib/tooltip/helpers/renderer.d.ts +1 -1
  306. package/lib/tooltip/helpers/types.d.ts +1 -1
  307. package/lib/tooltip/index.d.ts +9 -9
  308. package/lib/tooltip/index.js +18 -20
  309. package/lib/tooltip/managers/tooltip-manager.d.ts +2 -2
  310. package/lib/tooltip/managers/tooltip-manager.js +3 -7
  311. package/lib/tornado-chart/custom-elements.md +18 -0
  312. package/lib/tornado-chart/elements/tornado-chart.d.ts +4 -4
  313. package/lib/tornado-chart/elements/tornado-chart.js +8 -11
  314. package/lib/tornado-chart/elements/tornado-item.d.ts +5 -5
  315. package/lib/tornado-chart/elements/tornado-item.js +10 -12
  316. package/lib/tornado-chart/index.d.ts +2 -2
  317. package/lib/tornado-chart/index.js +2 -2
  318. package/lib/tree/custom-elements.json +17 -3
  319. package/lib/tree/custom-elements.md +32 -0
  320. package/lib/tree/elements/tree-item.d.ts +4 -4
  321. package/lib/tree/elements/tree-item.js +10 -13
  322. package/lib/tree/elements/tree.d.ts +51 -5
  323. package/lib/tree/elements/tree.js +138 -11
  324. package/lib/tree/helpers/filter.d.ts +8 -0
  325. package/lib/tree/helpers/filter.js +33 -0
  326. package/lib/tree/helpers/renderer.d.ts +2 -2
  327. package/lib/tree/helpers/renderer.js +3 -3
  328. package/lib/tree/helpers/types.d.ts +9 -1
  329. package/lib/tree/index.d.ts +4 -4
  330. package/lib/tree/index.js +3 -3
  331. package/lib/tree/managers/tree-manager.d.ts +22 -10
  332. package/lib/tree/managers/tree-manager.js +56 -40
  333. package/lib/tree/themes/halo/dark/index.js +1 -1
  334. package/lib/tree/themes/halo/light/index.js +1 -1
  335. package/lib/tree/themes/solar/charcoal/index.js +1 -1
  336. package/lib/tree/themes/solar/pearl/index.js +1 -1
  337. package/lib/tree-select/custom-elements.json +10 -6
  338. package/lib/tree-select/custom-elements.md +26 -0
  339. package/lib/tree-select/helpers/types.d.ts +2 -2
  340. package/lib/tree-select/index.d.ts +32 -28
  341. package/lib/tree-select/index.js +54 -44
  342. package/lib/tree-select/themes/halo/dark/index.js +1 -1
  343. package/lib/tree-select/themes/halo/light/index.js +1 -1
  344. package/lib/tree-select/themes/solar/charcoal/index.js +1 -1
  345. package/lib/tree-select/themes/solar/pearl/index.js +1 -1
  346. package/lib/version.d.ts +1 -0
  347. package/lib/version.js +1 -0
  348. package/package.json +298 -15
  349. package/lib/autosuggest/helpers/const.d.ts +0 -2
  350. package/lib/autosuggest/helpers/const.js +0 -3
  351. package/lib/overlay-menu/helpers/uuid.d.ts +0 -7
  352. package/lib/overlay-menu/helpers/uuid.js +0 -13
@@ -1,3 +1,3 @@
1
1
  import '@refinitiv-ui/elements/lib/icon/themes/solar/pearl';
2
2
 
3
- elf.customStyles.define('ef-number-field', ':host{display:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;text-align:left;font-family:inherit;font-size:13rem;font-weight:400;height:23px;width:140px;max-width:100%;padding:0 5px;margin:1px 0;outline:0;box-sizing:border-box;display:inline-flex;align-items:center;position:relative;vertical-align:middle;color:#484848;border-radius:0;text-overflow:ellipsis;background-color:#fff;border:1px solid #a9afba}:host([type=number]){padding-right:0}:host([error]),:host([error][warning]){border:1px solid #d94255}:host([error][disabled]),:host([error][warning][disabled]){color:rgba(72,72,72,.6);border:1px solid rgba(217,66,85,.6)}:host ::-ms-clear{display:none}:host [part=input]{color:inherit;padding:0;margin:0;flex:1 1 auto;min-width:0;width:100%;height:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;text-overflow:ellipsis;touch-action:manipulation}:host [part=input]::-webkit-clear-button,:host [part=input]::-webkit-inner-spin-button,:host [part=input]::-webkit-search-cancel-button,:host [part=input]::-webkit-search-decoration{-webkit-appearance:none}:host [part=input]:invalid{box-shadow:none}:host [part=icon]{color:#acafb5;min-width:1em}:host([disabled]) [part=input]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}:host([disabled]){border:1px solid rgba(169,175,186,.6);color:rgba(72,72,72,.6)}:host([readonly]){border:1px solid rgba(169,175,186,.6)}:host(:not([focused]):not(:focus):hover){border:1px solid #bfc3cb}:host([warning]){background-color:#fff;border:1px solid #f93}:host([warning][disabled]){border:1px solid rgba(255,153,51,.6);color:rgba(72,72,72,.6)}:host([warning][readonly]){border:1px solid rgba(255,153,51,.6)}:host([warning]:not([focused]):not(:focus):hover){border:1px solid #ffb366}:host([error]),:host([error][warning]:not([focused])){background-color:#fff;border:1px solid #d94255}:host([error][disabled]),:host([error][warning]:not([focused])[disabled]){border:1px solid rgba(217,66,85,.6);color:rgba(72,72,72,.6)}:host([error][readonly]),:host([error][warning]:not([focused])[readonly]){border:1px solid rgba(217,66,85,.6)}:host([error]:not([focused]):not(:focus):hover),:host([error][warning]:not([focused]):not([focused]):not(:focus):hover){border:1px solid #e37180}:host([highlight]){background-color:#b0ffff;border:1px solid #a9afba}:host([highlight][disabled]){border:1px solid rgba(169,175,186,.6);color:rgba(72,72,72,.6);background-color:rgba(176,255,255,.6)}:host([highlight][readonly]){border:1px solid rgba(169,175,186,.6)}:host([highlight]:not([focused]):not(:focus):hover){border:1px solid #bfc3cb}:host([indirect]){color:#009494;background-color:#effefe;border:1px solid #898623}:host([indirect][disabled]){border:1px solid rgba(137,134,35,.6);color:rgba(0,148,148,.6)}:host([indirect][readonly]){border:1px solid rgba(137,134,35,.6)}:host([indirect]:not([focused]):not(:focus):hover){border:1px solid #a7a45a}:host([focused]){background-size:100% 2px,100% 1px!important;background-position:center bottom!important;border-color:#ffb266;border-style:dotted}:host([disabled]) [part=input]::-webkit-input-placeholder{color:rgba(102,101,112,.6)}:host([disabled]) [part=input]::-moz-placeholder{color:rgba(102,101,112,.6)}:host([disabled]) [part=input]:-ms-input-placeholder{color:rgba(102,101,112,.6)}button{background-image:linear-gradient(rgba(0,0,0,0) 0,rgba(0,0,0,.1) 100%);-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:0;background-color:#fafbfc;color:#505050;border:1px solid #a9afba;height:23px;box-shadow:0 0 0 0 rgba(0,0,0,.3);padding:0 8px;outline:0;font-family:inherit;font-size:13rem;font-weight:400;min-width:23px;margin:1px 0;transition:70ms;text-align:center;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:inline-flex;justify-content:center;align-items:center;vertical-align:bottom;position:relative;overflow:hidden}button[cta]{background-image:linear-gradient(rgba(255,255,255,.4) 0,rgba(255,255,255,0) 100%);background-color:#ffb266;color:#505050;border-color:#a9afba;box-shadow:0 0 0 0 rgba(0,0,0,.3);outline:0}button[cta]:active{background-color:#ffb266;background-image:linear-gradient(rgba(255,255,255,0) 0,rgba(255,255,255,.4) 100%)}button[cta][disabled],button[disabled]{opacity:.4}button[toggles][active]{color:#f93!important;background-color:#fff!important;background-image:linear-gradient(rgba(0,0,0,.1) 0,rgba(0,0,0,0) 100%);border-color:#a9afba;box-shadow:0 0 0 0 rgba(0,0,0,.3);outline:0}button:active{background-image:none}button[toggles]{background-color:#fafbfc;color:#505050;border-color:#a9afba;box-shadow:0 0 0 0 rgba(0,0,0,.3);outline:0}:host [part=input]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}:host [part=spinner]{line-height:0;height:100%;max-width:23px;margin:0 1px 0 5px}:host(:not([no-spinner])){padding:0 0 0 5px}:host [part=spinner-down],:host [part=spinner-up]{background-image:linear-gradient(rgba(0,0,0,0) 0,rgba(0,0,0,.1) 100%);-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:0;background-color:#fafbfc;color:#505050;border:1px solid #a9afba;height:23px;box-shadow:0 0 0 0 rgba(0,0,0,.3);padding:0;outline:0;font-family:inherit;font-size:13rem;font-weight:400;min-width:23px;margin:1px 0;transition:70ms;text-align:center;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:inline-flex;justify-content:center;align-items:center;vertical-align:bottom;position:relative;overflow:hidden;border:none;min-height:9px}:host [part=spinner-down][cta],:host [part=spinner-up][cta]{background-image:linear-gradient(rgba(255,255,255,.4) 0,rgba(255,255,255,0) 100%);background-color:#ffb266;color:#505050;border-color:#a9afba;box-shadow:0 0 0 0 rgba(0,0,0,.3);outline:0}:host [part=spinner-down][cta]:active,:host [part=spinner-up][cta]:active{background-color:#ffb266;background-image:linear-gradient(rgba(255,255,255,0) 0,rgba(255,255,255,.4) 100%)}:host [part=spinner-down][cta][disabled],:host [part=spinner-up][cta][disabled]{opacity:.4}:host [part=spinner-down][disabled],:host [part=spinner-up][disabled]{opacity:.4}:host [part=spinner-down][toggles][active],:host [part=spinner-up][toggles][active]{color:#f93!important;background-color:#fff!important;background-image:linear-gradient(rgba(0,0,0,.1) 0,rgba(0,0,0,0) 100%);border-color:#a9afba;box-shadow:0 0 0 0 rgba(0,0,0,.3);outline:0}:host [part=spinner-down]:active,:host [part=spinner-up]:active{background-image:none}:host [part=spinner-down][toggles],:host [part=spinner-up][toggles]{background-color:#fafbfc;color:#505050;border-color:#a9afba;box-shadow:0 0 0 0 rgba(0,0,0,.3);outline:0}@media (-ms-high-contrast:none),(pointer:fine){button[cta]:focus:not([focused]),button[cta][focused=visible]{box-shadow:inset 0 0 0 1px #a9afba;background-color:#ffb266;color:#505050;box-shadow:inset 0 0 0 1px #a9afba;border-color:#ee7600;outline:0}button:focus:not([focused]),button[focused=visible]{border-style:dotted;box-shadow:inset 0 0 0 1px #a9afba;background-color:#fafbfc;color:#505050;box-shadow:inset 0 0 0 1px #a9afba;border-color:#ee7600;outline:0}button:hover,button[toggles]:hover{background-color:#fff;color:#1d1d1d;box-shadow:0 0 0 0 rgba(0,0,0,.6)}button:hover:not(:focus),button[cta]:hover:not(:focus),button[toggles]:hover:not(:focus),button[toggles][active]:hover:not(:focus){border-color:#a9afba;outline:0}button[cta]:hover{background-color:#ffc48a;color:#1d1d1d;box-shadow:0 0 0 0 rgba(0,0,0,.6)}button[toggles]:focus:not([focused]),button[toggles][focused=visible]{background-color:#fafbfc;color:#505050;box-shadow:inset 0 0 0 1px #a9afba;border-color:#ee7600;outline:0}button[toggles][active]:focus:not([focused]),button[toggles][active][focused=visible]{background-color:#fff;color:#f93;box-shadow:inset 0 0 0 1px #a9afba;border-color:#ee7600;outline:0}button[toggles][active]:hover{background-color:#fff;color:#c60;box-shadow:0 0 0 0 rgba(0,0,0,.6)}:host [part=spinner-down][cta]:focus:not([focused]),:host [part=spinner-down][cta][focused=visible],:host [part=spinner-up][cta]:focus:not([focused]),:host [part=spinner-up][cta][focused=visible]{box-shadow:inset 0 0 0 1px #a9afba;background-color:#ffb266;color:#505050;box-shadow:inset 0 0 0 1px #a9afba;border-color:#ee7600;outline:0}:host [part=spinner-down]:focus:not([focused]),:host [part=spinner-down][focused=visible],:host [part=spinner-up]:focus:not([focused]),:host [part=spinner-up][focused=visible]{border-style:dotted;box-shadow:inset 0 0 0 1px #a9afba;background-color:#fafbfc;color:#505050;box-shadow:inset 0 0 0 1px #a9afba;border-color:#ee7600;outline:0}:host [part=spinner-down]:hover,:host [part=spinner-up]:hover{background-color:#fff;color:#1d1d1d;box-shadow:0 0 0 0 rgba(0,0,0,.6)}:host [part=spinner-down]:hover:not(:focus),:host [part=spinner-up]:hover:not(:focus){border-color:#a9afba;outline:0}:host [part=spinner-down][cta]:hover,:host [part=spinner-up][cta]:hover{background-color:#ffc48a;color:#1d1d1d;box-shadow:0 0 0 0 rgba(0,0,0,.6)}:host [part=spinner-down][cta]:hover:not(:focus),:host [part=spinner-up][cta]:hover:not(:focus){border-color:#a9afba;outline:0}:host [part=spinner-down][toggles]:focus:not([focused]),:host [part=spinner-down][toggles][focused=visible],:host [part=spinner-up][toggles]:focus:not([focused]),:host [part=spinner-up][toggles][focused=visible]{background-color:#fafbfc;color:#505050;box-shadow:inset 0 0 0 1px #a9afba;border-color:#ee7600;outline:0}:host [part=spinner-down][toggles]:hover,:host [part=spinner-up][toggles]:hover{background-color:#fff;color:#1d1d1d;box-shadow:0 0 0 0 rgba(0,0,0,.6)}:host [part=spinner-down][toggles]:hover:not(:focus),:host [part=spinner-up][toggles]:hover:not(:focus){border-color:#a9afba;outline:0}:host [part=spinner-down][toggles][active]:focus:not([focused]),:host [part=spinner-down][toggles][active][focused=visible],:host [part=spinner-up][toggles][active]:focus:not([focused]),:host [part=spinner-up][toggles][active][focused=visible]{background-color:#fff;color:#f93;box-shadow:inset 0 0 0 1px #a9afba;border-color:#ee7600;outline:0}:host [part=spinner-down][toggles][active]:hover,:host [part=spinner-up][toggles][active]:hover{background-color:#fff;color:#c60;box-shadow:0 0 0 0 rgba(0,0,0,.6)}:host [part=spinner-down][toggles][active]:hover:not(:focus),:host [part=spinner-up][toggles][active]:hover:not(:focus){border-color:#a9afba;outline:0}}@media all{button:active,button[cta]:active,button[toggles]:active{background-color:#fff;color:#1d1d1d;box-shadow:0 0 0 0 rgba(0,0,0,.3)}button:active:not(:focus),button[cta]:active:not(:focus),button[toggles]:active:not(:focus),button[toggles][active]:active:not(:focus){border-color:#a9afba;outline:0}button[disabled],button[toggles][disabled]{background-color:#fafbfc;color:#505050;border-color:#babfc8;box-shadow:none;outline:0;pointer-events:none}button[cta][disabled]{background-color:#ffb266;color:#505050;border-color:#babfc8;box-shadow:none;outline:0;pointer-events:none}button[toggles][active]:active{background-color:#fff;color:#c60;box-shadow:0 0 0 0 rgba(0,0,0,.3)}button[toggles][active][disabled]{background-color:#fff;color:#f93;border-color:#babfc8;box-shadow:none;outline:0;pointer-events:none}:host [part=spinner-down]:active,:host [part=spinner-up]:active{background-color:#fff;color:#1d1d1d;box-shadow:0 0 0 0 rgba(0,0,0,.3)}:host [part=spinner-down]:active:not(:focus),:host [part=spinner-up]:active:not(:focus){border-color:#a9afba;outline:0}:host [part=spinner-down][disabled],:host [part=spinner-up][disabled]{background-color:#fafbfc;color:#505050;border-color:#babfc8;box-shadow:none;outline:0;pointer-events:none}:host [part=spinner-down][cta]:active,:host [part=spinner-up][cta]:active{background-color:#fff;color:#1d1d1d;box-shadow:0 0 0 0 rgba(0,0,0,.3)}:host [part=spinner-down][cta]:active:not(:focus),:host [part=spinner-up][cta]:active:not(:focus){border-color:#a9afba;outline:0}:host [part=spinner-down][cta][disabled],:host [part=spinner-up][cta][disabled]{background-color:#ffb266;color:#505050;border-color:#babfc8;box-shadow:none;outline:0;pointer-events:none}:host [part=spinner-down][toggles]:active,:host [part=spinner-up][toggles]:active{background-color:#fff;color:#1d1d1d;box-shadow:0 0 0 0 rgba(0,0,0,.3)}:host [part=spinner-down][toggles]:active:not(:focus),:host [part=spinner-up][toggles]:active:not(:focus){border-color:#a9afba;outline:0}:host [part=spinner-down][toggles][disabled],:host [part=spinner-up][toggles][disabled]{background-color:#fafbfc;color:#505050;border-color:#babfc8;box-shadow:none;outline:0;pointer-events:none}:host [part=spinner-down][toggles][active]:active,:host [part=spinner-up][toggles][active]:active{background-color:#fff;color:#c60;box-shadow:0 0 0 0 rgba(0,0,0,.3)}:host [part=spinner-down][toggles][active]:active:not(:focus),:host [part=spinner-up][toggles][active]:active:not(:focus){border-color:#a9afba;outline:0}:host [part=spinner-down][toggles][active][disabled],:host [part=spinner-up][toggles][active][disabled]{background-color:#fff;color:#f93;border-color:#babfc8;box-shadow:none;outline:0;pointer-events:none}}:host [part=spinner-down]{margin-top:0}:host([readonly]) [part=spinner-down]:hover,:host([readonly]) [part=spinner-up]:hover{color:#505050;background-color:#fafbfc}');
3
+ elf.customStyles.define('ef-number-field', ':host{display:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;text-align:left;font-family:inherit;font-size:13rem;font-weight:400;height:23px;width:140px;max-width:100%;padding:0 5px;margin:1px 0;outline:0;box-sizing:border-box;display:inline-flex;align-items:center;position:relative;vertical-align:middle;color:#484848;border-radius:0;text-overflow:ellipsis;background-color:#fff;border:1px solid #a9afba}:host([type=number]){padding-right:0}:host([error]),:host([error][warning]){border:1px solid #d94255}:host([error][disabled]),:host([error][warning][disabled]){color:rgba(72,72,72,.6);border:1px solid rgba(217,66,85,.6)}:host ::-ms-clear{display:none}:host [part=input]{color:inherit;padding:0;margin:0;flex:1 1 auto;min-width:0;width:100%;height:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;text-overflow:ellipsis;touch-action:manipulation}:host [part=input]::-webkit-clear-button,:host [part=input]::-webkit-inner-spin-button,:host [part=input]::-webkit-search-cancel-button,:host [part=input]::-webkit-search-decoration{-webkit-appearance:none}:host [part=input]:invalid{box-shadow:none}:host [part=icon]{color:#acafb5;min-width:1em}:host([disabled]) [part=input]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}:host([disabled]){border:1px solid rgba(169,175,186,.6);color:rgba(72,72,72,.6)}:host([readonly]){border:1px solid rgba(169,175,186,.6)}:host(:not([focused]):not(:focus):not([disabled]):not([readonly]):hover){border:1px solid #bfc3cb}:host([warning]){background-color:#fff;border:1px solid #f93}:host([warning][disabled]){border:1px solid rgba(255,153,51,.6);color:rgba(72,72,72,.6)}:host([warning][readonly]){border:1px solid rgba(255,153,51,.6)}:host([warning]:not([focused]):not(:focus):not([disabled]):not([readonly]):hover){border:1px solid #ffb366}:host([error]),:host([error][warning]:not([focused])){background-color:#fff;border:1px solid #d94255}:host([error][disabled]),:host([error][warning]:not([focused])[disabled]){border:1px solid rgba(217,66,85,.6);color:rgba(72,72,72,.6)}:host([error][readonly]),:host([error][warning]:not([focused])[readonly]){border:1px solid rgba(217,66,85,.6)}:host([error]:not([focused]):not(:focus):not([disabled]):not([readonly]):hover),:host([error][warning]:not([focused]):not([focused]):not(:focus):not([disabled]):not([readonly]):hover){border:1px solid #e37180}:host([highlight]){background-color:#b0ffff;border:1px solid #a9afba}:host([highlight][disabled]){border:1px solid rgba(169,175,186,.6);color:rgba(72,72,72,.6);background-color:rgba(176,255,255,.6)}:host([highlight][readonly]){border:1px solid rgba(169,175,186,.6)}:host([highlight]:not([focused]):not(:focus):not([disabled]):not([readonly]):hover){border:1px solid #bfc3cb}:host([indirect]){color:#009494;background-color:#effefe;border:1px solid #898623}:host([indirect][disabled]){border:1px solid rgba(137,134,35,.6);color:rgba(0,148,148,.6)}:host([indirect][readonly]){border:1px solid rgba(137,134,35,.6)}:host([indirect]:not([focused]):not(:focus):not([disabled]):not([readonly]):hover){border:1px solid #a7a45a}:host([focused]){background-size:100% 2px,100% 1px!important;background-position:center bottom!important;border-color:#ffb266;border-style:dotted}:host([disabled]) [part=input]::-webkit-input-placeholder{color:rgba(102,101,112,.6)}:host([disabled]) [part=input]::-moz-placeholder{color:rgba(102,101,112,.6)}:host([disabled]) [part=input]:-ms-input-placeholder{color:rgba(102,101,112,.6)}button{background-image:linear-gradient(rgba(0,0,0,0) 0,rgba(0,0,0,.1) 100%);-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:0;background-color:#fafbfc;color:#505050;border:1px solid #a9afba;height:23px;box-shadow:0 0 0 0 rgba(0,0,0,.3);padding:0 8px;outline:0;font-family:inherit;font-size:13rem;font-weight:400;min-width:23px;margin:1px 0;transition:70ms;text-align:center;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:inline-flex;justify-content:center;align-items:center;vertical-align:bottom;position:relative;overflow:hidden}button[cta]{background-image:linear-gradient(rgba(255,255,255,.4) 0,rgba(255,255,255,0) 100%);background-color:#ffb266;color:#505050;border-color:#a9afba;box-shadow:0 0 0 0 rgba(0,0,0,.3);outline:0}button[cta]:active{background-color:#ffb266;background-image:linear-gradient(rgba(255,255,255,0) 0,rgba(255,255,255,.4) 100%)}button[cta][disabled],button[disabled]{opacity:.4}button[toggles][active]{color:#f93!important;background-color:#fff!important;background-image:linear-gradient(rgba(0,0,0,.1) 0,rgba(0,0,0,0) 100%);border-color:#a9afba;box-shadow:0 0 0 0 rgba(0,0,0,.3);outline:0}button:active{background-image:none}button[toggles]{background-color:#fafbfc;color:#505050;border-color:#a9afba;box-shadow:0 0 0 0 rgba(0,0,0,.3);outline:0}:host [part=input]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}:host [part=spinner]{line-height:0;height:100%;max-width:23px;margin:0 1px 0 5px}:host(:not([no-spinner])){padding:0 0 0 5px}:host [part=spinner-down],:host [part=spinner-up]{background-image:linear-gradient(rgba(0,0,0,0) 0,rgba(0,0,0,.1) 100%);-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:0;background-color:#fafbfc;color:#505050;border:1px solid #a9afba;height:23px;box-shadow:0 0 0 0 rgba(0,0,0,.3);padding:0;outline:0;font-family:inherit;font-size:13rem;font-weight:400;min-width:23px;margin:1px 0;transition:70ms;text-align:center;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:inline-flex;justify-content:center;align-items:center;vertical-align:bottom;position:relative;overflow:hidden;border:none;min-height:9px}:host [part=spinner-down][cta],:host [part=spinner-up][cta]{background-image:linear-gradient(rgba(255,255,255,.4) 0,rgba(255,255,255,0) 100%);background-color:#ffb266;color:#505050;border-color:#a9afba;box-shadow:0 0 0 0 rgba(0,0,0,.3);outline:0}:host [part=spinner-down][cta]:active,:host [part=spinner-up][cta]:active{background-color:#ffb266;background-image:linear-gradient(rgba(255,255,255,0) 0,rgba(255,255,255,.4) 100%)}:host [part=spinner-down][cta][disabled],:host [part=spinner-up][cta][disabled]{opacity:.4}:host [part=spinner-down][disabled],:host [part=spinner-up][disabled]{opacity:.4}:host [part=spinner-down][toggles][active],:host [part=spinner-up][toggles][active]{color:#f93!important;background-color:#fff!important;background-image:linear-gradient(rgba(0,0,0,.1) 0,rgba(0,0,0,0) 100%);border-color:#a9afba;box-shadow:0 0 0 0 rgba(0,0,0,.3);outline:0}:host [part=spinner-down]:active,:host [part=spinner-up]:active{background-image:none}:host [part=spinner-down][toggles],:host [part=spinner-up][toggles]{background-color:#fafbfc;color:#505050;border-color:#a9afba;box-shadow:0 0 0 0 rgba(0,0,0,.3);outline:0}@media (-ms-high-contrast:none),(pointer:fine){button[cta]:focus:not([focused]),button[cta][focused=visible]{box-shadow:inset 0 0 0 1px #a9afba;background-color:#ffb266;color:#505050;box-shadow:inset 0 0 0 1px #a9afba;border-color:#ee7600;outline:0}button:focus:not([focused]),button[focused=visible]{border-style:dotted;box-shadow:inset 0 0 0 1px #a9afba;background-color:#fafbfc;color:#505050;box-shadow:inset 0 0 0 1px #a9afba;border-color:#ee7600;outline:0}button:hover,button[toggles]:hover{background-color:#fff;color:#1d1d1d;box-shadow:0 0 0 0 rgba(0,0,0,.6)}button:hover:not(:focus),button[cta]:hover:not(:focus),button[toggles]:hover:not(:focus),button[toggles][active]:hover:not(:focus){border-color:#a9afba;outline:0}button[cta]:hover{background-color:#ffc48a;color:#1d1d1d;box-shadow:0 0 0 0 rgba(0,0,0,.6)}button[toggles]:focus:not([focused]),button[toggles][focused=visible]{background-color:#fafbfc;color:#505050;box-shadow:inset 0 0 0 1px #a9afba;border-color:#ee7600;outline:0}button[toggles][active]:focus:not([focused]),button[toggles][active][focused=visible]{background-color:#fff;color:#f93;box-shadow:inset 0 0 0 1px #a9afba;border-color:#ee7600;outline:0}button[toggles][active]:hover{background-color:#fff;color:#c60;box-shadow:0 0 0 0 rgba(0,0,0,.6)}:host [part=spinner-down][cta]:focus:not([focused]),:host [part=spinner-down][cta][focused=visible],:host [part=spinner-up][cta]:focus:not([focused]),:host [part=spinner-up][cta][focused=visible]{box-shadow:inset 0 0 0 1px #a9afba;background-color:#ffb266;color:#505050;box-shadow:inset 0 0 0 1px #a9afba;border-color:#ee7600;outline:0}:host [part=spinner-down]:focus:not([focused]),:host [part=spinner-down][focused=visible],:host [part=spinner-up]:focus:not([focused]),:host [part=spinner-up][focused=visible]{border-style:dotted;box-shadow:inset 0 0 0 1px #a9afba;background-color:#fafbfc;color:#505050;box-shadow:inset 0 0 0 1px #a9afba;border-color:#ee7600;outline:0}:host [part=spinner-down]:hover,:host [part=spinner-up]:hover{background-color:#fff;color:#1d1d1d;box-shadow:0 0 0 0 rgba(0,0,0,.6)}:host [part=spinner-down]:hover:not(:focus),:host [part=spinner-up]:hover:not(:focus){border-color:#a9afba;outline:0}:host [part=spinner-down][cta]:hover,:host [part=spinner-up][cta]:hover{background-color:#ffc48a;color:#1d1d1d;box-shadow:0 0 0 0 rgba(0,0,0,.6)}:host [part=spinner-down][cta]:hover:not(:focus),:host [part=spinner-up][cta]:hover:not(:focus){border-color:#a9afba;outline:0}:host [part=spinner-down][toggles]:focus:not([focused]),:host [part=spinner-down][toggles][focused=visible],:host [part=spinner-up][toggles]:focus:not([focused]),:host [part=spinner-up][toggles][focused=visible]{background-color:#fafbfc;color:#505050;box-shadow:inset 0 0 0 1px #a9afba;border-color:#ee7600;outline:0}:host [part=spinner-down][toggles]:hover,:host [part=spinner-up][toggles]:hover{background-color:#fff;color:#1d1d1d;box-shadow:0 0 0 0 rgba(0,0,0,.6)}:host [part=spinner-down][toggles]:hover:not(:focus),:host [part=spinner-up][toggles]:hover:not(:focus){border-color:#a9afba;outline:0}:host [part=spinner-down][toggles][active]:focus:not([focused]),:host [part=spinner-down][toggles][active][focused=visible],:host [part=spinner-up][toggles][active]:focus:not([focused]),:host [part=spinner-up][toggles][active][focused=visible]{background-color:#fff;color:#f93;box-shadow:inset 0 0 0 1px #a9afba;border-color:#ee7600;outline:0}:host [part=spinner-down][toggles][active]:hover,:host [part=spinner-up][toggles][active]:hover{background-color:#fff;color:#c60;box-shadow:0 0 0 0 rgba(0,0,0,.6)}:host [part=spinner-down][toggles][active]:hover:not(:focus),:host [part=spinner-up][toggles][active]:hover:not(:focus){border-color:#a9afba;outline:0}}@media all{button:active,button[cta]:active,button[toggles]:active{background-color:#fff;color:#1d1d1d;box-shadow:0 0 0 0 rgba(0,0,0,.3)}button:active:not(:focus),button[cta]:active:not(:focus),button[toggles]:active:not(:focus),button[toggles][active]:active:not(:focus){border-color:#a9afba;outline:0}button[disabled],button[toggles][disabled]{background-color:#fafbfc;color:#505050;border-color:#babfc8;box-shadow:none;outline:0;pointer-events:none}button[cta][disabled]{background-color:#ffb266;color:#505050;border-color:#babfc8;box-shadow:none;outline:0;pointer-events:none}button[toggles][active]:active{background-color:#fff;color:#c60;box-shadow:0 0 0 0 rgba(0,0,0,.3)}button[toggles][active][disabled]{background-color:#fff;color:#f93;border-color:#babfc8;box-shadow:none;outline:0;pointer-events:none}:host [part=spinner-down]:active,:host [part=spinner-up]:active{background-color:#fff;color:#1d1d1d;box-shadow:0 0 0 0 rgba(0,0,0,.3)}:host [part=spinner-down]:active:not(:focus),:host [part=spinner-up]:active:not(:focus){border-color:#a9afba;outline:0}:host [part=spinner-down][disabled],:host [part=spinner-up][disabled]{background-color:#fafbfc;color:#505050;border-color:#babfc8;box-shadow:none;outline:0;pointer-events:none}:host [part=spinner-down][cta]:active,:host [part=spinner-up][cta]:active{background-color:#fff;color:#1d1d1d;box-shadow:0 0 0 0 rgba(0,0,0,.3)}:host [part=spinner-down][cta]:active:not(:focus),:host [part=spinner-up][cta]:active:not(:focus){border-color:#a9afba;outline:0}:host [part=spinner-down][cta][disabled],:host [part=spinner-up][cta][disabled]{background-color:#ffb266;color:#505050;border-color:#babfc8;box-shadow:none;outline:0;pointer-events:none}:host [part=spinner-down][toggles]:active,:host [part=spinner-up][toggles]:active{background-color:#fff;color:#1d1d1d;box-shadow:0 0 0 0 rgba(0,0,0,.3)}:host [part=spinner-down][toggles]:active:not(:focus),:host [part=spinner-up][toggles]:active:not(:focus){border-color:#a9afba;outline:0}:host [part=spinner-down][toggles][disabled],:host [part=spinner-up][toggles][disabled]{background-color:#fafbfc;color:#505050;border-color:#babfc8;box-shadow:none;outline:0;pointer-events:none}:host [part=spinner-down][toggles][active]:active,:host [part=spinner-up][toggles][active]:active{background-color:#fff;color:#c60;box-shadow:0 0 0 0 rgba(0,0,0,.3)}:host [part=spinner-down][toggles][active]:active:not(:focus),:host [part=spinner-up][toggles][active]:active:not(:focus){border-color:#a9afba;outline:0}:host [part=spinner-down][toggles][active][disabled],:host [part=spinner-up][toggles][active][disabled]{background-color:#fff;color:#f93;border-color:#babfc8;box-shadow:none;outline:0;pointer-events:none}}:host [part=spinner-down]{margin-top:0}:host([readonly]) [part=spinner-down]:hover,:host([readonly]) [part=spinner-up]:hover{color:#505050;background-color:#fafbfc}');
@@ -31,23 +31,28 @@
31
31
  },
32
32
  {
33
33
  "name": "transition-style",
34
- "description": "Set the transition style"
34
+ "description": "Set the transition style",
35
+ "type": "TransitionStyle|null|undefined"
35
36
  },
36
37
  {
37
38
  "name": "z-index",
38
- "description": "Set a preferable z-index to override automatically calculated z-index"
39
+ "description": "Set a preferable z-index to override automatically calculated z-index",
40
+ "type": "number|null|undefined"
39
41
  },
40
42
  {
41
43
  "name": "x",
42
- "description": "Set a specific x coordinate"
44
+ "description": "Set a specific x coordinate",
45
+ "type": "number|null|undefined"
43
46
  },
44
47
  {
45
48
  "name": "y",
46
- "description": "Set a specific y coordinate"
49
+ "description": "Set a specific y coordinate",
50
+ "type": "number|null|undefined"
47
51
  },
48
52
  {
49
53
  "name": "position-target",
50
- "description": "Set the position target as follows:\n- HTMLElement if overlay is position next to the HTML element\n- String containing `top`, `right`, `left`, `bottom`, `center` combinations to position against the screen.\nFor instance: `top left` - put the overlay at `top left` point of the screen; `bottom` - put overlay at `bottom center` point of the screen"
54
+ "description": "Set the position target as follows:\n- HTMLElement if overlay is position next to the HTML element\n- String containing `top`, `right`, `left`, `bottom`, `center` combinations to position against the screen.\nFor instance: `top left` - put the overlay at `top left` point of the screen; `bottom` - put overlay at `bottom center` point of the screen",
55
+ "type": "PositionTarget|null|undefined"
51
56
  },
52
57
  {
53
58
  "name": "horizontal-offset",
@@ -159,27 +164,32 @@
159
164
  {
160
165
  "name": "transitionStyle",
161
166
  "attribute": "transition-style",
162
- "description": "Set the transition style"
167
+ "description": "Set the transition style",
168
+ "type": "TransitionStyle|null|undefined"
163
169
  },
164
170
  {
165
171
  "name": "zIndex",
166
172
  "attribute": "z-index",
167
- "description": "Set a preferable z-index to override automatically calculated z-index"
173
+ "description": "Set a preferable z-index to override automatically calculated z-index",
174
+ "type": "number|null|undefined"
168
175
  },
169
176
  {
170
177
  "name": "x",
171
178
  "attribute": "x",
172
- "description": "Set a specific x coordinate"
179
+ "description": "Set a specific x coordinate",
180
+ "type": "number|null|undefined"
173
181
  },
174
182
  {
175
183
  "name": "y",
176
184
  "attribute": "y",
177
- "description": "Set a specific y coordinate"
185
+ "description": "Set a specific y coordinate",
186
+ "type": "number|null|undefined"
178
187
  },
179
188
  {
180
189
  "name": "positionTarget",
181
190
  "attribute": "position-target",
182
- "description": "Set the position target as follows:\n- HTMLElement if overlay is position next to the HTML element\n- String containing `top`, `right`, `left`, `bottom`, `center` combinations to position against the screen.\nFor instance: `top left` - put the overlay at `top left` point of the screen; `bottom` - put overlay at `bottom center` point of the screen"
191
+ "description": "Set the position target as follows:\n- HTMLElement if overlay is position next to the HTML element\n- String containing `top`, `right`, `left`, `bottom`, `center` combinations to position against the screen.\nFor instance: `top left` - put the overlay at `top left` point of the screen; `bottom` - put overlay at `bottom center` point of the screen",
192
+ "type": "PositionTarget|null|undefined"
183
193
  },
184
194
  {
185
195
  "name": "horizontalOffset",
@@ -278,7 +288,7 @@
278
288
  "type": "{} | undefined"
279
289
  },
280
290
  {
281
- "name": "positionTargetConfig",
291
+ "name": "positionTargetConfig (readonly)",
282
292
  "description": "Get position target configuration based on positionTarget and fullScreen properties\nUsed for caching and calculations"
283
293
  },
284
294
  {
@@ -287,12 +297,12 @@
287
297
  "default": "\"this\""
288
298
  },
289
299
  {
290
- "name": "fullyOpened",
300
+ "name": "fullyOpened (readonly)",
291
301
  "description": "Returns true if the overlay is opened and animation is not running.\nReturns false if overlay is closed and animation is not running",
292
302
  "type": "boolean"
293
303
  },
294
304
  {
295
- "name": "transitioning",
305
+ "name": "transitioning (readonly)",
296
306
  "description": "Returns true if overlay is doing opening or closing transition",
297
307
  "type": "boolean"
298
308
  }
@@ -313,6 +323,9 @@
313
323
  {
314
324
  "name": "opened-changed",
315
325
  "description": "Dispatched when when open attribute changes internally. Prevent default to stop opening/closing pipeline"
326
+ },
327
+ {
328
+ "name": "animationiteration"
316
329
  }
317
330
  ],
318
331
  "methods": [
@@ -0,0 +1,54 @@
1
+ # ef-overlay
2
+
3
+ Element to help building modals, dialogs and other overlay content
4
+
5
+ ## Properties
6
+
7
+ | Property | Attribute | Type | Default | Description |
8
+ |-----------------------------------|------------------------------|------------------------------------|---------|--------------------------------------------------|
9
+ | `focusBoundary` | | | "this" | Set focus boundary to restrict tabbing. Default's overlay itself.<br />If external focus is required, set to null |
10
+ | `fullScreen` | `full-screen` | `boolean` | false | Set to true to show overlay in full screen mode |
11
+ | `fullyOpened (readonly)` | | `boolean` | | Returns true if the overlay is opened and animation is not running.<br />Returns false if overlay is closed and animation is not running |
12
+ | `horizontalOffset` | `horizontal-offset` | `number` | 0 | A pixel value that will be added to the position calculated on the horizontal axis.<br />The offset will be applied either to the `left` or `right` depending on the `positionTarget` |
13
+ | `interactiveElements` | | `object` | [] | A list of elements, which are active when overlay is opened<br />Valid only if noInteractionLock is false (default) |
14
+ | `lockPositionTarget` | `lock-position-target` | `boolean` | false | True to lock position target<br />Valid only if noInteractionLock is false (default) |
15
+ | `noAutofocus` | `no-autofocus` | `boolean` | false | Set to true to disable autofocusing the overlay or open |
16
+ | `noCancelOnEscKey` | `no-cancel-on-esc-key` | `boolean` | false | Set to true to disable canceling the overlay with the ESC key |
17
+ | `noCancelOnOutsideClick` | `no-cancel-on-outside-click` | `boolean` | false | Set to true to disable canceling the overlay by clicking outside it |
18
+ | `noFocusManagement` | `no-focus-management` | `boolean` | false | True to not apply focus management.<br />The overlay will not limit Tab behaviour or do auto-focusing |
19
+ | `noInteractionLock` | `no-interaction-lock` | `boolean` | false | Stop preventing user interaction when overlay is visible |
20
+ | `noOverlap` | `no-overlap` | `boolean` | false | True to not overlap positionTarget |
21
+ | `offset` | `offset` | `number` | 0 | A pixel value that will be added to the position calculated on the vertical or horizontal axis.<br />The offset is applied dynamically depending on the `positionTarget` |
22
+ | `opened` | `opened` | `boolean` | false | True if the overlay is currently displayed |
23
+ | `position` | `position` | `{} \| undefined` | | Set position and align against the attach target.<br />Position may contain a single word or a comma separated list to set the priority.<br />Position is not applied if `attachTarget` is not HTML Element.<br />For instance: `[bottom-middle, top-middle]` - default position is bottom-middle, if cannot fit position top-middle;<br />or `[left, right]` - align is not set, set best position on the left or right<br /><br />Position can be: `top`, `right`, `bottom`, `left`, `center`<br />Align can be: `start`, `middle`, `end` |
24
+ | `positionTarget` | `position-target` | `PositionTarget\|null\|undefined` | | Set the position target as follows:<br />- HTMLElement if overlay is position next to the HTML element<br />- String containing `top`, `right`, `left`, `bottom`, `center` combinations to position against the screen.<br />For instance: `top left` - put the overlay at `top left` point of the screen; `bottom` - put overlay at `bottom center` point of the screen |
25
+ | `positionTargetConfig (readonly)` | | | | Get position target configuration based on positionTarget and fullScreen properties<br />Used for caching and calculations |
26
+ | `spacing` | `spacing` | `boolean` | false | True to apply spacing for overlay content |
27
+ | `transitionStyle` | `transition-style` | `TransitionStyle\|null\|undefined` | | Set the transition style |
28
+ | `transitioning (readonly)` | | `boolean` | | Returns true if overlay is doing opening or closing transition |
29
+ | `transparent` | `transparent` | `boolean` | false | True to make overlay background transparent |
30
+ | `verticalOffset` | `vertical-offset` | `number` | 0 | A pixel value that will be added to the position calculated on the vertical axis.<br />The offset will be applied either to the `top` or `bottom` depending on the `positionTarget` |
31
+ | `withBackdrop` | `with-backdrop` | `boolean` | false | True to show backdrop |
32
+ | `withShadow` | `with-shadow` | `boolean` | false | True to add shadow |
33
+ | `x` | `x` | `number\|null\|undefined` | | Set a specific x coordinate |
34
+ | `y` | `y` | `number\|null\|undefined` | | Set a specific y coordinate |
35
+ | `zIndex` | `z-index` | `number\|null\|undefined` | | Set a preferable z-index to override automatically calculated z-index |
36
+
37
+ ## Methods
38
+
39
+ | Method | Type | Description |
40
+ |---------------|------------|--------------------------------------------------|
41
+ | `clearCached` | `(): void` | Clear all cached values.<br />Run when external changes occur to styles to re-calculate position. |
42
+ | `fit` | `(): void` | Fit the overlay panel |
43
+ | `refit` | `(): void` | Clear all cached values and fit the overlay.<br />Use this function if any of `maxWidth`, `maxHeight`, `minWidth`, `minHeight`, `height` or `width` changed |
44
+ | `toFront` | `(): void` | Move overlay to front of other overlays |
45
+
46
+ ## Events
47
+
48
+ | Event | Description |
49
+ |----------------------|--------------------------------------------------|
50
+ | `animationiteration` | |
51
+ | `closed` | Dispatched when overlay becomes invisible and close animation finishes |
52
+ | `opened` | Dispatched when the overlay becomes visible and the open animation finishes |
53
+ | `opened-changed` | Dispatched when when open attribute changes internally. Prevent default to stop opening/closing pipeline |
54
+ | `refit` | Dispatched when refit algorithm finishes calculations |
@@ -1,6 +1,6 @@
1
1
  import { JSXInterface } from '../../jsx';
2
- import { BasicElement, CSSResult, TemplateResult } from '@refinitiv-ui/core';
3
- import { NullOrUndefined } from '../helpers/types';
2
+ import { BasicElement, CSSResultGroup, TemplateResult } from '@refinitiv-ui/core';
3
+ import type { NullOrUndefined } from '../helpers/types';
4
4
  /**
5
5
  * A private element to show backdrop for overlay
6
6
  */
@@ -12,12 +12,12 @@ export declare class OverlayBackdrop extends BasicElement {
12
12
  static get version(): string;
13
13
  private static Template;
14
14
  /**
15
- * A `CSSResult` that will be used
15
+ * A `CSSResultGroup` that will be used
16
16
  * to style the host, slotted children
17
17
  * and the internal template of the element.
18
18
  * @return CSS template
19
19
  */
20
- static get styles(): CSSResult;
20
+ static get styles(): CSSResultGroup;
21
21
  /**
22
22
  * Set a specific z-index to override automatically calculated z-index
23
23
  * @param zIndex zIndex value
@@ -1,12 +1,9 @@
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
1
  var OverlayBackdrop_1;
8
- import { BasicElement, css, customElement, property, html } from '@refinitiv-ui/core';
9
- import { VERSION } from '../../';
2
+ import { __decorate } from "tslib";
3
+ import { BasicElement, css, html } from '@refinitiv-ui/core';
4
+ import { customElement } from '@refinitiv-ui/core/lib/decorators/custom-element.js';
5
+ import { property } from '@refinitiv-ui/core/lib/decorators/property.js';
6
+ import { VERSION } from '../../version.js';
10
7
  /**
11
8
  * A private element to show backdrop for overlay
12
9
  */
@@ -19,7 +16,7 @@ let OverlayBackdrop = OverlayBackdrop_1 = class OverlayBackdrop extends BasicEle
19
16
  return VERSION;
20
17
  }
21
18
  /**
22
- * A `CSSResult` that will be used
19
+ * A `CSSResultGroup` that will be used
23
20
  * to style the host, slotted children
24
21
  * and the internal template of the element.
25
22
  * @return CSS template
@@ -1,5 +1,5 @@
1
1
  import { JSXInterface } from '../../jsx';
2
- import { ResponsiveElement, CSSResult, TemplateResult } from '@refinitiv-ui/core';
2
+ import { ResponsiveElement, CSSResultGroup, TemplateResult } from '@refinitiv-ui/core';
3
3
  /**
4
4
  * A private element to find overlay size boundaries
5
5
  */
@@ -11,12 +11,12 @@ export declare class OverlayViewport extends ResponsiveElement {
11
11
  static get version(): string;
12
12
  private static Template;
13
13
  /**
14
- * A `CSSResult` that will be used
14
+ * A `CSSResultGroup` that will be used
15
15
  * to style the host, slotted children
16
16
  * and the internal template of the element.
17
17
  * @return CSS template
18
18
  */
19
- static get styles(): CSSResult;
19
+ static get styles(): CSSResultGroup;
20
20
  /**
21
21
  * A `TemplateResult` that will be used
22
22
  * to render the updated internal template.
@@ -1,12 +1,8 @@
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
1
  var OverlayViewport_1;
8
- import { ResponsiveElement, css, customElement, html } from '@refinitiv-ui/core';
9
- import { VERSION } from '../../';
2
+ import { __decorate } from "tslib";
3
+ import { ResponsiveElement, css, html } from '@refinitiv-ui/core';
4
+ import { customElement } from '@refinitiv-ui/core/lib/decorators/custom-element.js';
5
+ import { VERSION } from '../../version.js';
10
6
  /**
11
7
  * A private element to find overlay size boundaries
12
8
  */
@@ -19,7 +15,7 @@ let OverlayViewport = OverlayViewport_1 = class OverlayViewport extends Responsi
19
15
  return VERSION;
20
16
  }
21
17
  /**
22
- * A `CSSResult` that will be used
18
+ * A `CSSResultGroup` that will be used
23
19
  * to style the host, slotted children
24
20
  * and the internal template of the element.
25
21
  * @return CSS template
@@ -1,7 +1,7 @@
1
1
  import { JSXInterface } from '../../jsx';
2
- import { ResponsiveElement, TemplateResult, CSSResult, PropertyValues, ElementSize } from '@refinitiv-ui/core';
3
- import { TransitionStyle, PositionTarget, Position, NullOrUndefined, PositionTargetStrategy } from '../helpers/types';
4
- export { TransitionStyle, PositionTarget, Position, PositionTargetStrategy };
2
+ import { ResponsiveElement, TemplateResult, CSSResultGroup, PropertyValues, ElementSize } from '@refinitiv-ui/core';
3
+ import { TransitionStyle, PositionTarget, Position, NullOrUndefined, PositionTargetStrategy } from '../helpers/types.js';
4
+ export type { TransitionStyle, PositionTarget, Position, PositionTargetStrategy };
5
5
  /**
6
6
  * Element to help building modals, dialogs and other overlay content
7
7
  * @fires closed - Dispatched when overlay becomes invisible and close animation finishes
@@ -19,12 +19,12 @@ export declare class Overlay extends ResponsiveElement {
19
19
  private _fullyOpened;
20
20
  private static Template;
21
21
  /**
22
- * A `CSSResult` that will be used
22
+ * A `CSSResultGroup` that will be used
23
23
  * to style the host, slotted children
24
24
  * and the internal template of the element.
25
25
  * @return CSS template
26
26
  */
27
- static get styles(): CSSResult | CSSResult[];
27
+ static get styles(): CSSResultGroup;
28
28
  /**
29
29
  * True if the overlay is currently displayed
30
30
  */
@@ -43,18 +43,22 @@ export declare class Overlay extends ResponsiveElement {
43
43
  spacing: boolean;
44
44
  /**
45
45
  * Set the transition style
46
+ * @type {TransitionStyle|null|undefined}
46
47
  */
47
48
  transitionStyle: TransitionStyle | NullOrUndefined;
48
49
  /**
49
50
  * Set a preferable z-index to override automatically calculated z-index
51
+ * @type {number|null|undefined}
50
52
  */
51
53
  zIndex: number | NullOrUndefined;
52
54
  /**
53
55
  * Set a specific x coordinate
56
+ * @type {number|null|undefined}
54
57
  */
55
58
  x: number | NullOrUndefined;
56
59
  /**
57
60
  * Set a specific y coordinate
61
+ * @type {number|null|undefined}
58
62
  */
59
63
  y: number | NullOrUndefined;
60
64
  /**
@@ -62,6 +66,7 @@ export declare class Overlay extends ResponsiveElement {
62
66
  * - HTMLElement if overlay is position next to the HTML element
63
67
  * - String containing `top`, `right`, `left`, `bottom`, `center` combinations to position against the screen.
64
68
  * For instance: `top left` - put the overlay at `top left` point of the screen; `bottom` - put overlay at `bottom center` point of the screen
69
+ * @type {PositionTarget|null|undefined}
65
70
  */
66
71
  positionTarget: HTMLElement | PositionTarget | NullOrUndefined;
67
72
  /**
@@ -1,24 +1,19 @@
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
1
  var Overlay_1;
8
- import { ResponsiveElement, html, css, customElement, property } from '@refinitiv-ui/core';
9
- import { DEFAULT_ALIGN, DEFAULT_TARGET_STRATEGY } from '../helpers/types';
10
- import { valueOrZero, valueOrNull } from '../helpers/functions';
11
- import { applyLock } from '../managers/interaction-lock-manager';
12
- import { register as viewportRegister, deregister as viewportDeregister, getViewAreaInfo } from '../managers/viewport-manager';
13
- import { register as zIndexRegister, deregister as zIndexDeregister, toFront } from '../managers/zindex-manager';
14
- import { register as backdropRegister, deregister as backdropDeregister } from '../managers/backdrop-manager';
15
- import { register as closeRegister, deregister as closeDeregister } from '../managers/close-manager';
16
- import { register as focusableRegister, deregister as focusableDeregister } from '../managers/focus-manager';
17
- import { MicroTaskRunner, AnimationTaskRunner } from '@refinitiv-ui/utils';
18
- import { VERSION } from '../../';
19
- // TODO: use metrics once available
20
- const isEdge = (/Edge\/\d./i).test(navigator.userAgent);
21
- const isIE = (/Trident/g).test(navigator.userAgent) || (/MSIE/g).test(navigator.userAgent);
2
+ import { __decorate } from "tslib";
3
+ import { ResponsiveElement, html, css } from '@refinitiv-ui/core';
4
+ import { customElement } from '@refinitiv-ui/core/lib/decorators/custom-element.js';
5
+ import { property } from '@refinitiv-ui/core/lib/decorators/property.js';
6
+ import { VERSION } from '../../version.js';
7
+ import { MicroTaskRunner, AnimationTaskRunner } from '@refinitiv-ui/utils/lib/async.js';
8
+ import { isIE, isEdge } from '@refinitiv-ui/utils/lib/browser.js';
9
+ import { DEFAULT_ALIGN, DEFAULT_TARGET_STRATEGY } from '../helpers/types.js';
10
+ import { valueOrZero, valueOrNull } from '../helpers/functions.js';
11
+ import { applyLock } from '../managers/interaction-lock-manager.js';
12
+ import { register as viewportRegister, deregister as viewportDeregister, getViewAreaInfo } from '../managers/viewport-manager.js';
13
+ import { register as zIndexRegister, deregister as zIndexDeregister, toFront } from '../managers/zindex-manager.js';
14
+ import { register as backdropRegister, deregister as backdropDeregister } from '../managers/backdrop-manager.js';
15
+ import { register as closeRegister, deregister as closeDeregister } from '../managers/close-manager.js';
16
+ import { register as focusableRegister, deregister as focusableDeregister } from '../managers/focus-manager.js';
22
17
  /**
23
18
  * Possible states of the overlay
24
19
  */
@@ -191,7 +186,7 @@ let Overlay = Overlay_1 = class Overlay extends ResponsiveElement {
191
186
  return VERSION;
192
187
  }
193
188
  /**
194
- * A `CSSResult` that will be used
189
+ * A `CSSResultGroup` that will be used
195
190
  * to style the host, slotted children
196
191
  * and the internal template of the element.
197
192
  * @return CSS template
@@ -339,7 +334,7 @@ let Overlay = Overlay_1 = class Overlay extends ResponsiveElement {
339
334
  if (oldPosition !== value) {
340
335
  this._positionStrategy = undefined;
341
336
  this._position = value;
342
- void this.requestUpdate('position', oldPosition);
337
+ this.requestUpdate('position', oldPosition);
343
338
  }
344
339
  }
345
340
  get position() {
@@ -558,7 +553,7 @@ let Overlay = Overlay_1 = class Overlay extends ResponsiveElement {
558
553
  const closing = changedProperties.has('opened') && isClosed;
559
554
  this.setRegisters(changedProperties);
560
555
  // Should update routing is calling render method. Not every attribute should result in render being called
561
- let shouldUpdate = opening || closing || this.hasUpdated === 0 || changedProperties.size === 0;
556
+ let shouldUpdate = opening || closing || !this.hasUpdated || changedProperties.size === 0;
562
557
  // Element may need to be updated if other attributes has been changed while the overlay is opened
563
558
  if (!shouldUpdate && isOpened) {
564
559
  if (shouldUpdateProperties.find(property => changedProperties.has(property))) {
@@ -629,12 +624,12 @@ let Overlay = Overlay_1 = class Overlay extends ResponsiveElement {
629
624
  const opening = changedProperties.has('opened') && opened;
630
625
  /* !!! Obligatory managers cannot be removed here, as this function is synchronous and animations must be taken into account !!! */
631
626
  if (opening) {
632
- /* Obligatory managers */
627
+ // must come first as used by other managers
628
+ zIndexRegister(this);
633
629
  viewportRegister(this);
634
630
  closeRegister(this, () => {
635
631
  this.setOpened(false);
636
632
  });
637
- zIndexRegister(this);
638
633
  }
639
634
  const enablingFocusManagement = (opening && !this.noFocusManagement) || (opened && changedProperties.get('noFocusManagement'));
640
635
  const disablingFocusManagement = opened && changedProperties.get('noFocusManagement') === false;
@@ -644,7 +639,7 @@ let Overlay = Overlay_1 = class Overlay extends ResponsiveElement {
644
639
  else if (disablingFocusManagement) {
645
640
  focusableDeregister(this);
646
641
  }
647
- if (opening || changedProperties.has('noInteractionLock')) {
642
+ if (opening || changedProperties.has('noInteractionLock') || changedProperties.has('lockPositionTarget') || changedProperties.has('interactiveElements')) {
648
643
  applyLock();
649
644
  }
650
645
  const enablingBackdrop = (opening && this.withBackdrop) || (opened && changedProperties.get('withBackdrop') === false);
@@ -664,9 +659,9 @@ let Overlay = Overlay_1 = class Overlay extends ResponsiveElement {
664
659
  * @returns {void}
665
660
  */
666
661
  removeMainRegisters() {
662
+ zIndexDeregister(this);
667
663
  viewportDeregister(this);
668
664
  closeDeregister(this);
669
- zIndexDeregister(this);
670
665
  focusableDeregister(this);
671
666
  }
672
667
  /**
@@ -1275,6 +1270,10 @@ let Overlay = Overlay_1 = class Overlay extends ResponsiveElement {
1275
1270
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
1276
1271
  resizedCallback(size) {
1277
1272
  this.resizedThrottler.schedule(() => {
1273
+ if (!this.opened && this._fullyOpened === OpenedState.CLOSED) {
1274
+ // Do nothing on last resized callback
1275
+ return;
1276
+ }
1278
1277
  this.setResizeSizingInfo();
1279
1278
  this.fitNonThrottled();
1280
1279
  if (this.opened && this.firstResizeDone === false) {
@@ -1391,7 +1390,7 @@ __decorate([
1391
1390
  attribute: false,
1392
1391
  hasChanged: (newVal, oldVal) => {
1393
1392
  if (!oldVal || newVal.length !== oldVal.length) {
1394
- return false;
1393
+ return true;
1395
1394
  }
1396
1395
  return newVal.some(el => !oldVal.includes(el));
1397
1396
  }
@@ -1,2 +1,2 @@
1
- export { Position as OverlayPosition, PositionTarget as OverlayPositionTarget, TransitionStyle as OverlayTransitionStyle } from './helpers/types';
2
- export { Overlay } from './elements/overlay';
1
+ export type { Position as OverlayPosition, PositionTarget as OverlayPositionTarget, TransitionStyle as OverlayTransitionStyle } from './helpers/types';
2
+ export { Overlay } from './elements/overlay.js';
@@ -1 +1 @@
1
- export { Overlay } from './elements/overlay';
1
+ export { Overlay } from './elements/overlay.js';
@@ -1,5 +1,5 @@
1
1
  import type { Overlay } from '../elements/overlay';
2
- import '../elements/overlay-backdrop';
2
+ import '../elements/overlay-backdrop.js';
3
3
  /**
4
4
  * Backdrop manager adds a backdrop to the body
5
5
  * @returns {void}
@@ -1,5 +1,5 @@
1
- import { getOverlayLayers } from './zindex-manager';
2
- import '../elements/overlay-backdrop';
1
+ import { getOverlayLayers } from './zindex-manager.js';
2
+ import '../elements/overlay-backdrop.js';
3
3
  /**
4
4
  * Backdrop manager adds a backdrop to the body
5
5
  * @returns {void}
@@ -1,4 +1,4 @@
1
- import { getOverlays } from './zindex-manager';
1
+ import { getOverlays } from './zindex-manager.js';
2
2
  /**
3
3
  * Close manager ensures that the correct (or the most top) overlay
4
4
  * is closed on ESC and click events
@@ -1,5 +1,5 @@
1
- import { AnimationTaskRunner } from '@refinitiv-ui/utils';
2
- import { getOverlays } from './zindex-manager';
1
+ import { AnimationTaskRunner } from '@refinitiv-ui/utils/lib/async.js';
2
+ import { getOverlays } from './zindex-manager.js';
3
3
  import { FocusableHelper } from '@refinitiv-ui/core';
4
4
  /**
5
5
  * Focus manager ensures that the correct
@@ -1,5 +1,5 @@
1
- import { AnimationTaskRunner } from '@refinitiv-ui/utils';
2
- import { getOverlays } from './zindex-manager';
1
+ import { AnimationTaskRunner } from '@refinitiv-ui/utils/lib/async.js';
2
+ import { getOverlays } from './zindex-manager.js';
3
3
  /**
4
4
  * Check if two arrays are shallow equal
5
5
  * @param left Left side array
@@ -1,6 +1,6 @@
1
+ import type { ViewAreaInfo } from '../helpers/types';
1
2
  import type { Overlay } from '../elements/overlay';
2
- import '../elements/overlay-viewport';
3
- import { ViewAreaInfo } from '../helpers/types';
3
+ import '../elements/overlay-viewport.js';
4
4
  /**
5
5
  * Viewport manager singleton is responsible for getting
6
6
  * viewport sizes and reacting on viewport changes
@@ -1,5 +1,5 @@
1
- import { AnimationTaskRunner } from '@refinitiv-ui/utils';
2
- import '../elements/overlay-viewport';
1
+ import { AnimationTaskRunner } from '@refinitiv-ui/utils/lib/async.js';
2
+ import '../elements/overlay-viewport.js';
3
3
  /**
4
4
  * Default values for area info
5
5
  */
@@ -89,6 +89,10 @@ export class ViewportManager {
89
89
  }
90
90
  const screenRect = this.screenViewport.getBoundingClientRect();
91
91
  // since screenViewport is applied on html element, it does not include body zoom
92
+ // Zoom is a legacy feature and must not be used by any means.
93
+ // Kept here for compatibility with old apps
94
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
95
+ // @ts-ignore
92
96
  const zoom = parseFloat(window.getComputedStyle(document.body).zoom);
93
97
  const screenHeight = screenRect.height / zoom;
94
98
  const screenWidth = screenRect.width / zoom;
@@ -1,4 +1,4 @@
1
- import { AfterRenderTaskRunner } from '@refinitiv-ui/utils';
1
+ import { AfterRenderTaskRunner } from '@refinitiv-ui/utils/lib/async.js';
2
2
  export const ZIndex = 103; /* initial z-index to match Polymer. 102 is used for backdrop */
3
3
  /**
4
4
  * Z-index manager monitors z-indexes and ensures that the last opened/last