@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,38 +1,52 @@
1
1
  import { JSXInterface } from '../jsx';
2
- import { ControlElement, CSSResult, TemplateResult, PropertyValues } from '@refinitiv-ui/core';
3
- import '../icon';
2
+ import { FormFieldElement, CSSResultGroup, TemplateResult, PropertyValues, TapEvent } from '@refinitiv-ui/core';
3
+ import { TemplateMap } from '@refinitiv-ui/core/lib/directives/template-map.js';
4
+ import '../icon/index.js';
5
+ declare type SelectionDirection = 'forward' | 'backward' | 'none';
6
+ declare enum Direction {
7
+ Up = 1,
8
+ Down = -1
9
+ }
4
10
  /**
5
- * Form control element for numbers
11
+ * Form control element for numbers.
6
12
  *
7
13
  * @fires value-changed - Dispatched when value changes
8
14
  * @fires error-changed - Dispatched when error state changes
9
15
  *
10
- * @attr {string} value - Input's default value
11
- * @prop {string} [value=] - Input's value
16
+ * @attr {boolean} disabled - Set disabled state
17
+ * @prop {boolean} [disabled=false] - Set disabled state
18
+ *
19
+ * @attr {boolean} error - Set error state
20
+ * @prop {boolean} [error=false] - Set error state
21
+ *
22
+ * @attr {string} placeholder - Set placeholder text
23
+ * @prop {string} [placeholder=""] - Set placeholder text
12
24
  *
13
25
  * @attr {boolean} readonly - Set readonly state
14
26
  * @prop {boolean} [readonly=false] - Set readonly state
15
27
  *
16
- * @attr {boolean} disabled - Set disabled state
17
- * @prop {boolean} [disabled=false] - Set disabled state
28
+ * @attr {boolean} transparent - Disables all other states and border/background styles.
29
+ * @prop {boolean} [transparent=false] - Disables all other states and border/background styles.
30
+ *
31
+ * @attr {boolean} warning - Set warning state
32
+ * @prop {boolean} [warning=false] - Set warning state
33
+ *
34
+ * @attr {string} value - Input's value
35
+ * @prop {string} [value=""] - Input's value
18
36
  */
19
- export declare class NumberField extends ControlElement {
37
+ export declare class NumberField extends FormFieldElement {
20
38
  /**
21
39
  * Element version number
22
40
  * @returns version number
23
41
  */
24
42
  static get version(): string;
25
43
  /**
26
- * A `CSSResult` that will be used
44
+ * A `CSSResultGroup` that will be used
27
45
  * to style the host, slotted children
28
46
  * and the internal template of the element.
29
- * @return {CSSResult | CSSResult[]} CSS template
47
+ * @return CSS template
30
48
  */
31
- static get styles(): CSSResult | CSSResult[];
32
- /**
33
- * Set placeholder text
34
- */
35
- placeholder: string | null;
49
+ static get styles(): CSSResultGroup;
36
50
  /**
37
51
  * Set spinner's visibility
38
52
  */
@@ -51,22 +65,11 @@ export declare class NumberField extends ControlElement {
51
65
  * This value must be greater than or equal to the value of the `min` attribute
52
66
  */
53
67
  max: string | null;
54
- /**
55
- * Set state to transparent
56
- */
57
- transparent: boolean;
58
- /**
59
- * Set state to error
60
- */
61
- error: boolean;
62
- /**
63
- * Set state to warning
64
- */
65
- warning: boolean;
66
68
  private interimValueState;
67
69
  /**
68
70
  * The value of the number entered into the input.
69
71
  * @param value number-field value
72
+ * @default -
70
73
  */
71
74
  set value(value: string);
72
75
  get value(): string;
@@ -74,10 +77,6 @@ export declare class NumberField extends ControlElement {
74
77
  * Returns the value of the element, interpreted as double number
75
78
  */
76
79
  get valueAsNumber(): number;
77
- /**
78
- * Get native input element from shadow root
79
- */
80
- private inputEl;
81
80
  /**
82
81
  * Get spinner up element
83
82
  */
@@ -145,47 +144,49 @@ export declare class NumberField extends ControlElement {
145
144
  * @returns string of input value
146
145
  */
147
146
  private get internalValue();
148
- /**
149
- * Get native input value
150
- * @returns string of input value
151
- */
152
- private get inputValue();
153
- /**
154
- * Set native input value
155
- * @param value input's value
156
- */
157
- private set inputValue(value);
158
147
  /**
159
148
  * Handles key down input event
160
149
  * @param event Key down event object
161
150
  * @returns {void}
162
151
  */
163
- private onNativeInputKeyDown;
152
+ protected onInputKeyDown(event: KeyboardEvent): void;
164
153
  /**
165
154
  * Run when spinner has been tapped
166
155
  * @param event tap event
167
156
  * @returns {void}
168
157
  */
169
- private onSpinnerTap;
158
+ protected onSpinnerTap(event: TapEvent): void;
170
159
  /**
171
160
  * Step down or up and notify value change
172
161
  * @param direction Up or Down
173
162
  * @returns {void}
174
163
  */
175
- private onApplyStep;
164
+ protected onApplyStep(direction: Direction): void;
176
165
  /**
177
166
  * Run before input changes
178
167
  * Prevent invalid characters
179
168
  * @param event before input event
180
169
  * @returns {void}
181
170
  */
182
- private onNativeBeforeInputChange;
171
+ protected onBeforeInputChange(event: InputEvent): void;
172
+ /**
173
+ * Runs on input element `input` event
174
+ * @param event `input` event
175
+ * @returns {void}
176
+ */
177
+ protected onInputInput(event: InputEvent): void;
178
+ /**
179
+ * Runs on input element `change` event
180
+ * @param event `change` event
181
+ * @returns {void}
182
+ */
183
+ protected onInputChange(event: InputEvent): void;
183
184
  /**
184
185
  * Triggers when native input value change with input event or change event
185
186
  * @param event Input event
186
187
  * @returns {void}
187
188
  */
188
- private onNativeInputChange;
189
+ protected onNativeInputChange(event: InputEvent): void;
189
190
  /**
190
191
  * Stripe characters from input text based on previous input and data
191
192
  * @param input The new input to process
@@ -262,15 +263,58 @@ export declare class NumberField extends ControlElement {
262
263
  */
263
264
  reportValidity(): boolean;
264
265
  /**
265
- * Select the contents of input
266
- * @returns void
266
+ * @ignore
267
+ * @inheritDoc
268
+ */
269
+ get selectionStart(): number | null;
270
+ /**
271
+ * @ignore
272
+ * @inheritDoc
273
+ */
274
+ set selectionStart(index: number | null);
275
+ /**
276
+ * @ignore
277
+ * @inheritDoc
267
278
  */
268
- select(): void;
279
+ get selectionEnd(): number | null;
280
+ /**
281
+ * @ignore
282
+ * @inheritDoc
283
+ */
284
+ set selectionEnd(index: number | null);
285
+ /**
286
+ * @ignore
287
+ * @inheritDoc
288
+ */
289
+ get selectionDirection(): SelectionDirection | null;
290
+ /**
291
+ * @ignore
292
+ * @inheritDoc
293
+ */
294
+ set selectionDirection(direction: SelectionDirection | null);
295
+ /**
296
+ * @ignore
297
+ * @inheritDoc
298
+ */
299
+ setSelectionRange(startSelection: number | null, endSelection: number | null, selectionDirection?: SelectionDirection): void;
269
300
  /**
270
301
  * Renders spinner
271
302
  * @returns {TemplateResult} spinner part template
272
303
  */
273
- private renderSpinner;
304
+ protected renderSpinner(): TemplateResult;
305
+ /**
306
+ * Decorate `<input>` element with common properties extended from form field element:
307
+ * type="text" - always `text`
308
+ * part="input" - always "input", used for styling
309
+ * inputmode="decimal" - show decimals keyboard by default
310
+ * pattern="'^[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?$'" - numbers only
311
+ * role="spinbutton" - number field is actually a spinner
312
+ * aria-valuenow - current value or 0
313
+ * @keydown - Listener for `keydown` event. Runs `this.onInputKeyDown`
314
+ * @beforeinput - Listener for `beforeinput` event. Runs `this.onBeforeInputChange`
315
+ * @returns template map
316
+ */
317
+ protected get decorateInputMap(): TemplateMap;
274
318
  /**
275
319
  * A `TemplateResult` that will be used
276
320
  * to render the updated internal template.
@@ -278,6 +322,7 @@ export declare class NumberField extends ControlElement {
278
322
  */
279
323
  protected render(): TemplateResult;
280
324
  }
325
+ export {};
281
326
 
282
327
  declare global {
283
328
  interface HTMLElementTagNameMap {
@@ -286,7 +331,7 @@ declare global {
286
331
 
287
332
  namespace JSX {
288
333
  interface IntrinsicElements {
289
- 'ef-number-field': Partial<NumberField> | JSXInterface.ControlHTMLAttributes<NumberField>;
334
+ 'ef-number-field': Partial<NumberField> | JSXInterface.HTMLAttributes<NumberField>;
290
335
  }
291
336
  }
292
337
  }
@@ -1,12 +1,10 @@
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 { ControlElement, html, css, query, ifDefined, property, customElement, FocusedPropertyKey } from '@refinitiv-ui/core';
8
- import { VERSION } from '../';
9
- import '../icon';
1
+ import { __decorate } from "tslib";
2
+ import { FormFieldElement, html, css, FocusedPropertyKey } from '@refinitiv-ui/core';
3
+ import { customElement } from '@refinitiv-ui/core/lib/decorators/custom-element.js';
4
+ import { property } from '@refinitiv-ui/core/lib/decorators/property.js';
5
+ import { query } from '@refinitiv-ui/core/lib/decorators/query.js';
6
+ import { VERSION } from '../version.js';
7
+ import '../icon/index.js';
10
8
  const NUMBER_PATTERN = '^[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?$';
11
9
  const DEFAULT_STEP_BASE = 1;
12
10
  const ANY_STEP = 'any';
@@ -16,27 +14,35 @@ var Direction;
16
14
  Direction[Direction["Down"] = -1] = "Down";
17
15
  })(Direction || (Direction = {}));
18
16
  /**
19
- * Form control element for numbers
17
+ * Form control element for numbers.
20
18
  *
21
19
  * @fires value-changed - Dispatched when value changes
22
20
  * @fires error-changed - Dispatched when error state changes
23
21
  *
24
- * @attr {string} value - Input's default value
25
- * @prop {string} [value=] - Input's value
22
+ * @attr {boolean} disabled - Set disabled state
23
+ * @prop {boolean} [disabled=false] - Set disabled state
24
+ *
25
+ * @attr {boolean} error - Set error state
26
+ * @prop {boolean} [error=false] - Set error state
27
+ *
28
+ * @attr {string} placeholder - Set placeholder text
29
+ * @prop {string} [placeholder=""] - Set placeholder text
26
30
  *
27
31
  * @attr {boolean} readonly - Set readonly state
28
32
  * @prop {boolean} [readonly=false] - Set readonly state
29
33
  *
30
- * @attr {boolean} disabled - Set disabled state
31
- * @prop {boolean} [disabled=false] - Set disabled state
34
+ * @attr {boolean} transparent - Disables all other states and border/background styles.
35
+ * @prop {boolean} [transparent=false] - Disables all other states and border/background styles.
36
+ *
37
+ * @attr {boolean} warning - Set warning state
38
+ * @prop {boolean} [warning=false] - Set warning state
39
+ *
40
+ * @attr {string} value - Input's value
41
+ * @prop {string} [value=""] - Input's value
32
42
  */
33
- let NumberField = class NumberField extends ControlElement {
43
+ let NumberField = class NumberField extends FormFieldElement {
34
44
  constructor() {
35
45
  super(...arguments);
36
- /**
37
- * Set placeholder text
38
- */
39
- this.placeholder = null;
40
46
  /**
41
47
  * Set spinner's visibility
42
48
  */
@@ -55,18 +61,6 @@ let NumberField = class NumberField extends ControlElement {
55
61
  * This value must be greater than or equal to the value of the `min` attribute
56
62
  */
57
63
  this.max = null;
58
- /**
59
- * Set state to transparent
60
- */
61
- this.transparent = false;
62
- /**
63
- * Set state to error
64
- */
65
- this.error = false;
66
- /**
67
- * Set state to warning
68
- */
69
- this.warning = false;
70
64
  this.interimValueState = false; // make sure that internal input field value is updated only on external value change
71
65
  }
72
66
  /**
@@ -77,10 +71,10 @@ let NumberField = class NumberField extends ControlElement {
77
71
  return VERSION;
78
72
  }
79
73
  /**
80
- * A `CSSResult` that will be used
74
+ * A `CSSResultGroup` that will be used
81
75
  * to style the host, slotted children
82
76
  * and the internal template of the element.
83
- * @return {CSSResult | CSSResult[]} CSS template
77
+ * @return CSS template
84
78
  */
85
79
  static get styles() {
86
80
  return css `
@@ -120,6 +114,7 @@ let NumberField = class NumberField extends ControlElement {
120
114
  /**
121
115
  * The value of the number entered into the input.
122
116
  * @param value number-field value
117
+ * @default -
123
118
  */
124
119
  set value(value) {
125
120
  this.interimValueState = true;
@@ -232,28 +227,14 @@ let NumberField = class NumberField extends ControlElement {
232
227
  */
233
228
  get internalValue() {
234
229
  // cover the case when value getter is called before first render or in interim state
235
- return this.interimValueState || !this.inputEl ? super.value : this.inputValue;
236
- }
237
- /**
238
- * Get native input value
239
- * @returns string of input value
240
- */
241
- get inputValue() {
242
- return this.inputEl.value;
243
- }
244
- /**
245
- * Set native input value
246
- * @param value input's value
247
- */
248
- set inputValue(value) {
249
- this.inputEl.value = value;
230
+ return this.interimValueState || !this.inputElement ? super.value : this.inputValue;
250
231
  }
251
232
  /**
252
233
  * Handles key down input event
253
234
  * @param event Key down event object
254
235
  * @returns {void}
255
236
  */
256
- onNativeInputKeyDown(event) {
237
+ onInputKeyDown(event) {
257
238
  if (this.readonly || this.disabled || event.defaultPrevented) {
258
239
  return;
259
240
  }
@@ -310,7 +291,7 @@ let NumberField = class NumberField extends ControlElement {
310
291
  * @returns {void}
311
292
  */
312
293
  /* istanbul ignore next */
313
- onNativeBeforeInputChange(event) {
294
+ onBeforeInputChange(event) {
314
295
  // The event is not supported in IE11 and old browsers
315
296
  // Therefore just try to prevent some of invalid characters to be entered
316
297
  // but still do full validation on actual `input` and `change` events
@@ -318,7 +299,8 @@ let NumberField = class NumberField extends ControlElement {
318
299
  // cover all insert types, such as type, paste, drag&drop and others
319
300
  if (inputType.startsWith('insert')) {
320
301
  const data = event.data || '';
321
- const inputEl = this.inputEl;
302
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
303
+ const inputEl = this.inputElement;
322
304
  const oldInput = this.inputValue;
323
305
  // Calculate what could be the new input
324
306
  const selectionStart = inputEl.selectionStart || 0;
@@ -338,6 +320,22 @@ let NumberField = class NumberField extends ControlElement {
338
320
  }
339
321
  }
340
322
  }
323
+ /**
324
+ * Runs on input element `input` event
325
+ * @param event `input` event
326
+ * @returns {void}
327
+ */
328
+ onInputInput(event) {
329
+ this.onNativeInputChange(event);
330
+ }
331
+ /**
332
+ * Runs on input element `change` event
333
+ * @param event `change` event
334
+ * @returns {void}
335
+ */
336
+ onInputChange(event) {
337
+ this.onNativeInputChange(event);
338
+ }
341
339
  /**
342
340
  * Triggers when native input value change with input event or change event
343
341
  * @param event Input event
@@ -347,7 +345,8 @@ let NumberField = class NumberField extends ControlElement {
347
345
  const currentInput = this.inputValue;
348
346
  const inputValue = this.stripeInvalidCharacters(currentInput, this.value, event.data || '');
349
347
  if (inputValue !== currentInput) {
350
- const inputEl = this.inputEl;
348
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
349
+ const inputEl = this.inputElement;
351
350
  // we can only stripe the characters, so try to make the best guess where the cursor should be
352
351
  const selectionStart = inputEl.selectionStart || 0;
353
352
  const selectionEnd = inputEl.selectionEnd || 0;
@@ -607,13 +606,60 @@ let NumberField = class NumberField extends ControlElement {
607
606
  return !hasError;
608
607
  }
609
608
  /**
610
- * Select the contents of input
611
- * @returns void
609
+ * @ignore
610
+ * @inheritDoc
612
611
  */
613
- select() {
614
- if (!this.disabled) {
615
- this.inputEl && this.inputEl.select();
616
- }
612
+ /* istanbul ignore next */
613
+ get selectionStart() {
614
+ return null;
615
+ }
616
+ /**
617
+ * @ignore
618
+ * @inheritDoc
619
+ */
620
+ /* istanbul ignore next */
621
+ set selectionStart(index) {
622
+ throw new Error('Failed to set the \'selectionStart\' property on \'NumberField\': The element does not support selection.');
623
+ }
624
+ /**
625
+ * @ignore
626
+ * @inheritDoc
627
+ */
628
+ /* istanbul ignore next */
629
+ get selectionEnd() {
630
+ return null;
631
+ }
632
+ /**
633
+ * @ignore
634
+ * @inheritDoc
635
+ */
636
+ /* istanbul ignore next */
637
+ set selectionEnd(index) {
638
+ throw new Error('Failed to set the \'selectionEnd\' property on \'NumberField\': The element does not support selection.');
639
+ }
640
+ /**
641
+ * @ignore
642
+ * @inheritDoc
643
+ */
644
+ /* istanbul ignore next */
645
+ get selectionDirection() {
646
+ return null;
647
+ }
648
+ /**
649
+ * @ignore
650
+ * @inheritDoc
651
+ */
652
+ /* istanbul ignore next */
653
+ set selectionDirection(direction) {
654
+ throw new Error('Failed to set the \'selectionDirection\' property on \'NumberField\': The element does not support selection.');
655
+ }
656
+ /**
657
+ * @ignore
658
+ * @inheritDoc
659
+ */
660
+ /* istanbul ignore next */
661
+ setSelectionRange(startSelection, endSelection, selectionDirection) {
662
+ throw new Error('Failed to execute \'setSelectionRange\' on \'NumberField\': The element does not support selection.');
617
663
  }
618
664
  /**
619
665
  * Renders spinner
@@ -639,6 +685,21 @@ let NumberField = class NumberField extends ControlElement {
639
685
  </div>
640
686
  `;
641
687
  }
688
+ /**
689
+ * Decorate `<input>` element with common properties extended from form field element:
690
+ * type="text" - always `text`
691
+ * part="input" - always "input", used for styling
692
+ * inputmode="decimal" - show decimals keyboard by default
693
+ * pattern="'^[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?$'" - numbers only
694
+ * role="spinbutton" - number field is actually a spinner
695
+ * aria-valuenow - current value or 0
696
+ * @keydown - Listener for `keydown` event. Runs `this.onInputKeyDown`
697
+ * @beforeinput - Listener for `beforeinput` event. Runs `this.onBeforeInputChange`
698
+ * @returns template map
699
+ */
700
+ get decorateInputMap() {
701
+ return Object.assign(Object.assign({}, super.decorateInputMap), { 'type': 'text', 'part': 'input', 'inputmode': 'decimal', 'pattern': NUMBER_PATTERN, 'role': 'spinbutton', 'aria-valuenow': `${this.value || 0}`, '@keydown': this.onInputKeyDown, '@beforeinput': this.onBeforeInputChange });
702
+ }
642
703
  /**
643
704
  * A `TemplateResult` that will be used
644
705
  * to render the updated internal template.
@@ -646,27 +707,10 @@ let NumberField = class NumberField extends ControlElement {
646
707
  */
647
708
  render() {
648
709
  return html `
649
- <input
650
- part="input"
651
- type="text"
652
- inputmode="decimal"
653
- pattern="${NUMBER_PATTERN}"
654
- ?readonly=${this.readonly}
655
- ?disabled=${this.disabled}
656
- placeholder=${ifDefined(this.placeholder ? this.placeholder : undefined)}
657
- @input="${this.onNativeInputChange}"
658
- @keydown="${this.onNativeInputKeyDown}"
659
- @beforeinput="${this.onNativeBeforeInputChange}"
660
- @change="${this.onNativeInputChange}"
661
- autocomplete="off"
662
- >
663
- ${this.noSpinner ? null : this.renderSpinner()}
664
- `;
710
+ ${super.render()}
711
+ ${this.noSpinner ? null : this.renderSpinner()}`;
665
712
  }
666
713
  };
667
- __decorate([
668
- property({ type: String, reflect: true })
669
- ], NumberField.prototype, "placeholder", void 0);
670
714
  __decorate([
671
715
  property({ type: Boolean, attribute: 'no-spinner', reflect: true })
672
716
  ], NumberField.prototype, "noSpinner", void 0);
@@ -679,21 +723,9 @@ __decorate([
679
723
  __decorate([
680
724
  property({ type: String, reflect: true })
681
725
  ], NumberField.prototype, "max", void 0);
682
- __decorate([
683
- property({ type: Boolean, reflect: true })
684
- ], NumberField.prototype, "transparent", void 0);
685
- __decorate([
686
- property({ type: Boolean, reflect: true })
687
- ], NumberField.prototype, "error", void 0);
688
- __decorate([
689
- property({ type: Boolean, reflect: true })
690
- ], NumberField.prototype, "warning", void 0);
691
726
  __decorate([
692
727
  property({ type: String })
693
728
  ], NumberField.prototype, "value", null);
694
- __decorate([
695
- query('[part=input]')
696
- ], NumberField.prototype, "inputEl", void 0);
697
729
  __decorate([
698
730
  query('[part=spinner-up]')
699
731
  ], NumberField.prototype, "spinnerUpEl", void 0);
@@ -1,3 +1,3 @@
1
1
  import '@refinitiv-ui/elements/lib/icon/themes/solar/charcoal';
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:#c2c2c2;border-radius:0;text-overflow:ellipsis;background-color:#000;border:1px solid #4a4a52}:host([type=number]){padding-right:0}:host([error]),:host([error][warning]){border:1px solid #f5475b}:host([error][disabled]),:host([error][warning][disabled]){color:rgba(194,194,194,.6);border:1px solid rgba(245,71,91,.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:#e2e2e2;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(74,74,82,.6);color:rgba(194,194,194,.6)}:host([readonly]){border:1px solid rgba(74,74,82,.6)}:host(:not([focused]):not(:focus):hover){border:1px solid #77777d}:host([warning]){background-color:#000;border:1px solid #f93}:host([warning][disabled]){border:1px solid rgba(255,153,51,.6);color:rgba(194,194,194,.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:#000;border:1px solid #f5475b}:host([error][disabled]),:host([error][warning]:not([focused])[disabled]){border:1px solid rgba(245,71,91,.6);color:rgba(194,194,194,.6)}:host([error][readonly]),:host([error][warning]:not([focused])[readonly]){border:1px solid rgba(245,71,91,.6)}:host([error]:not([focused]):not(:focus):hover),:host([error][warning]:not([focused]):not([focused]):not(:focus):hover){border:1px solid #f87584}:host([highlight]){background-color:#1b252f;border:1px solid #4a4a52}:host([highlight][disabled]){border:1px solid rgba(74,74,82,.6);color:rgba(194,194,194,.6);background-color:rgba(27,37,47,.6)}:host([highlight][readonly]){border:1px solid rgba(74,74,82,.6)}:host([highlight]:not([focused]):not(:focus):hover){border:1px solid #77777d}:host([indirect]){color:#0fd;background-color:#000;border:1px solid #898623}:host([indirect][disabled]){border:1px solid rgba(137,134,35,.6);color:rgba(0,255,221,.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:#f93;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(255,255,255,.1) 10%,rgba(255,255,255,0) 100%);-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:0;background-color:#3c3c42;color:#c2c2c2;border:1px solid #000;height:23px;box-shadow:0 0 0 0 rgba(0,0,0,.6);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,.1) 10%,rgba(255,255,255,0) 100%);background-color:#f93;color:#0a0a0a;border-color:#000;box-shadow:0 0 0 0 rgba(0,0,0,.6);outline:0}button[cta]:active{background-color:#f93;background-image:linear-gradient(rgba(255,255,255,.1) 10%,rgba(255,255,255,0) 100%)}button[cta][disabled],button[disabled]{opacity:.4}button[toggles][active]{color:#f93!important;background-color:#38383d!important;background-image:linear-gradient(rgba(255,255,255,0) 0,rgba(255,255,255,.1) 90%);border-color:#000;box-shadow:0 0 0 0 rgba(0,0,0,.6);outline:0}button:active{background-image:linear-gradient(rgba(255,255,255,.1) 10%,rgba(255,255,255,0) 100%)}button[toggles]{background-color:#3c3c42;color:#c2c2c2;border-color:#000;box-shadow:0 0 0 0 rgba(0,0,0,.6);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(255,255,255,.1) 10%,rgba(255,255,255,0) 100%);-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:0;background-color:#3c3c42;color:#c2c2c2;border:1px solid #000;height:23px;box-shadow:0 0 0 0 rgba(0,0,0,.6);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,.1) 10%,rgba(255,255,255,0) 100%);background-color:#f93;color:#0a0a0a;border-color:#000;box-shadow:0 0 0 0 rgba(0,0,0,.6);outline:0}:host [part=spinner-down][cta]:active,:host [part=spinner-up][cta]:active{background-color:#f93;background-image:linear-gradient(rgba(255,255,255,.1) 10%,rgba(255,255,255,0) 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:#38383d!important;background-image:linear-gradient(rgba(255,255,255,0) 0,rgba(255,255,255,.1) 90%);border-color:#000;box-shadow:0 0 0 0 rgba(0,0,0,.6);outline:0}:host [part=spinner-down]:active,:host [part=spinner-up]:active{background-image:linear-gradient(rgba(255,255,255,.1) 10%,rgba(255,255,255,0) 100%)}:host [part=spinner-down][toggles],:host [part=spinner-up][toggles]{background-color:#3c3c42;color:#c2c2c2;border-color:#000;box-shadow:0 0 0 0 rgba(0,0,0,.6);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 #000;background-color:#f93;color:#c2c2c2;box-shadow:inset 0 0 0 1px #000;border-color:#f93;outline:0}button:focus:not([focused]),button[focused=visible]{border-style:dotted;box-shadow:inset 0 0 0 1px #000;background-color:#3c3c42;color:#c2c2c2;box-shadow:inset 0 0 0 1px #000;border-color:#f93;outline:0}button:hover,button[toggles]:hover{background-color:#4d4d55;color:#e2e2e2;box-shadow:0 0 0 0 rgba(0,0,0,.9)}button:hover:not(:focus),button[cta]:hover:not(:focus),button[toggles]:hover:not(:focus),button[toggles][active]:hover:not(:focus){border-color:#000;outline:0}button[cta]:hover{background-color:#ffab57;color:#e2e2e2;box-shadow:0 0 0 0 rgba(0,0,0,.9)}button[toggles]:focus:not([focused]),button[toggles][focused=visible]{background-color:#3c3c42;color:#c2c2c2;box-shadow:inset 0 0 0 1px #000;border-color:#f93;outline:0}button[toggles][active]:focus:not([focused]),button[toggles][active][focused=visible]{background-color:#38383d;color:#c2c2c2;box-shadow:inset 0 0 0 1px #000;border-color:#f93;outline:0}button[toggles][active]:hover{background-color:#494950;color:#e2e2e2;box-shadow:0 0 0 0 rgba(0,0,0,.9)}: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 #000;background-color:#f93;color:#c2c2c2;box-shadow:inset 0 0 0 1px #000;border-color:#f93;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 #000;background-color:#3c3c42;color:#c2c2c2;box-shadow:inset 0 0 0 1px #000;border-color:#f93;outline:0}:host [part=spinner-down]:hover,:host [part=spinner-up]:hover{background-color:#4d4d55;color:#e2e2e2;box-shadow:0 0 0 0 rgba(0,0,0,.9)}:host [part=spinner-down]:hover:not(:focus),:host [part=spinner-up]:hover:not(:focus){border-color:#000;outline:0}:host [part=spinner-down][cta]:hover,:host [part=spinner-up][cta]:hover{background-color:#ffab57;color:#e2e2e2;box-shadow:0 0 0 0 rgba(0,0,0,.9)}:host [part=spinner-down][cta]:hover:not(:focus),:host [part=spinner-up][cta]:hover:not(:focus){border-color:#000;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:#3c3c42;color:#c2c2c2;box-shadow:inset 0 0 0 1px #000;border-color:#f93;outline:0}:host [part=spinner-down][toggles]:hover,:host [part=spinner-up][toggles]:hover{background-color:#4d4d55;color:#e2e2e2;box-shadow:0 0 0 0 rgba(0,0,0,.9)}:host [part=spinner-down][toggles]:hover:not(:focus),:host [part=spinner-up][toggles]:hover:not(:focus){border-color:#000;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:#38383d;color:#c2c2c2;box-shadow:inset 0 0 0 1px #000;border-color:#f93;outline:0}:host [part=spinner-down][toggles][active]:hover,:host [part=spinner-up][toggles][active]:hover{background-color:#494950;color:#e2e2e2;box-shadow:0 0 0 0 rgba(0,0,0,.9)}:host [part=spinner-down][toggles][active]:hover:not(:focus),:host [part=spinner-up][toggles][active]:hover:not(:focus){border-color:#000;outline:0}}@media all{button:active,button[toggles]:active{background-color:#38383d;color:#c2c2c2;box-shadow:0 0 0 0 rgba(0,0,0,.6)}button:active:not(:focus),button[cta]:active:not(:focus),button[toggles]:active:not(:focus),button[toggles][active]:active:not(:focus){border-color:#000;outline:0}button[disabled],button[toggles][disabled]{background-color:#3c3c42;color:#c2c2c2;border-color:#333;box-shadow:none;outline:0;pointer-events:none}button[cta]:active{background-color:#ed8e2f;color:#0a0a0a;box-shadow:0 0 0 0 rgba(0,0,0,.6)}button[cta][disabled]{background-color:#f93;color:#0a0a0a;border-color:#333;box-shadow:none;outline:0;pointer-events:none}button[toggles][active]:active{background-color:#343439;color:#f93;box-shadow:0 0 0 0 rgba(0,0,0,.6)}button[toggles][active][disabled]{background-color:#38383d;color:#f93;border-color:#333;box-shadow:none;outline:0;pointer-events:none}:host [part=spinner-down]:active,:host [part=spinner-up]:active{background-color:#38383d;color:#c2c2c2;box-shadow:0 0 0 0 rgba(0,0,0,.6)}:host [part=spinner-down]:active:not(:focus),:host [part=spinner-up]:active:not(:focus){border-color:#000;outline:0}:host [part=spinner-down][disabled],:host [part=spinner-up][disabled]{background-color:#3c3c42;color:#c2c2c2;border-color:#333;box-shadow:none;outline:0;pointer-events:none}:host [part=spinner-down][cta]:active,:host [part=spinner-up][cta]:active{background-color:#ed8e2f;color:#0a0a0a;box-shadow:0 0 0 0 rgba(0,0,0,.6)}:host [part=spinner-down][cta]:active:not(:focus),:host [part=spinner-up][cta]:active:not(:focus){border-color:#000;outline:0}:host [part=spinner-down][cta][disabled],:host [part=spinner-up][cta][disabled]{background-color:#f93;color:#0a0a0a;border-color:#333;box-shadow:none;outline:0;pointer-events:none}:host [part=spinner-down][toggles]:active,:host [part=spinner-up][toggles]:active{background-color:#38383d;color:#c2c2c2;box-shadow:0 0 0 0 rgba(0,0,0,.6)}:host [part=spinner-down][toggles]:active:not(:focus),:host [part=spinner-up][toggles]:active:not(:focus){border-color:#000;outline:0}:host [part=spinner-down][toggles][disabled],:host [part=spinner-up][toggles][disabled]{background-color:#3c3c42;color:#c2c2c2;border-color:#333;box-shadow:none;outline:0;pointer-events:none}:host [part=spinner-down][toggles][active]:active,:host [part=spinner-up][toggles][active]:active{background-color:#343439;color:#f93;box-shadow:0 0 0 0 rgba(0,0,0,.6)}:host [part=spinner-down][toggles][active]:active:not(:focus),:host [part=spinner-up][toggles][active]:active:not(:focus){border-color:#000;outline:0}:host [part=spinner-down][toggles][active][disabled],:host [part=spinner-up][toggles][active][disabled]{background-color:#38383d;color:#f93;border-color:#333;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:#c2c2c2;background-color:#3c3c42}');
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:#c2c2c2;border-radius:0;text-overflow:ellipsis;background-color:#000;border:1px solid #4a4a52}:host([type=number]){padding-right:0}:host([error]),:host([error][warning]){border:1px solid #f5475b}:host([error][disabled]),:host([error][warning][disabled]){color:rgba(194,194,194,.6);border:1px solid rgba(245,71,91,.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:#e2e2e2;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(74,74,82,.6);color:rgba(194,194,194,.6)}:host([readonly]){border:1px solid rgba(74,74,82,.6)}:host(:not([focused]):not(:focus):not([disabled]):not([readonly]):hover){border:1px solid #77777d}:host([warning]){background-color:#000;border:1px solid #f93}:host([warning][disabled]){border:1px solid rgba(255,153,51,.6);color:rgba(194,194,194,.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:#000;border:1px solid #f5475b}:host([error][disabled]),:host([error][warning]:not([focused])[disabled]){border:1px solid rgba(245,71,91,.6);color:rgba(194,194,194,.6)}:host([error][readonly]),:host([error][warning]:not([focused])[readonly]){border:1px solid rgba(245,71,91,.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 #f87584}:host([highlight]){background-color:#1b252f;border:1px solid #4a4a52}:host([highlight][disabled]){border:1px solid rgba(74,74,82,.6);color:rgba(194,194,194,.6);background-color:rgba(27,37,47,.6)}:host([highlight][readonly]){border:1px solid rgba(74,74,82,.6)}:host([highlight]:not([focused]):not(:focus):not([disabled]):not([readonly]):hover){border:1px solid #77777d}:host([indirect]){color:#0fd;background-color:#000;border:1px solid #898623}:host([indirect][disabled]){border:1px solid rgba(137,134,35,.6);color:rgba(0,255,221,.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:#f93;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(255,255,255,.1) 10%,rgba(255,255,255,0) 100%);-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:0;background-color:#3c3c42;color:#c2c2c2;border:1px solid #000;height:23px;box-shadow:0 0 0 0 rgba(0,0,0,.6);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,.1) 10%,rgba(255,255,255,0) 100%);background-color:#f93;color:#0a0a0a;border-color:#000;box-shadow:0 0 0 0 rgba(0,0,0,.6);outline:0}button[cta]:active{background-color:#f93;background-image:linear-gradient(rgba(255,255,255,.1) 10%,rgba(255,255,255,0) 100%)}button[cta][disabled],button[disabled]{opacity:.4}button[toggles][active]{color:#f93!important;background-color:#38383d!important;background-image:linear-gradient(rgba(255,255,255,0) 0,rgba(255,255,255,.1) 90%);border-color:#000;box-shadow:0 0 0 0 rgba(0,0,0,.6);outline:0}button:active{background-image:linear-gradient(rgba(255,255,255,.1) 10%,rgba(255,255,255,0) 100%)}button[toggles]{background-color:#3c3c42;color:#c2c2c2;border-color:#000;box-shadow:0 0 0 0 rgba(0,0,0,.6);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(255,255,255,.1) 10%,rgba(255,255,255,0) 100%);-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:0;background-color:#3c3c42;color:#c2c2c2;border:1px solid #000;height:23px;box-shadow:0 0 0 0 rgba(0,0,0,.6);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,.1) 10%,rgba(255,255,255,0) 100%);background-color:#f93;color:#0a0a0a;border-color:#000;box-shadow:0 0 0 0 rgba(0,0,0,.6);outline:0}:host [part=spinner-down][cta]:active,:host [part=spinner-up][cta]:active{background-color:#f93;background-image:linear-gradient(rgba(255,255,255,.1) 10%,rgba(255,255,255,0) 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:#38383d!important;background-image:linear-gradient(rgba(255,255,255,0) 0,rgba(255,255,255,.1) 90%);border-color:#000;box-shadow:0 0 0 0 rgba(0,0,0,.6);outline:0}:host [part=spinner-down]:active,:host [part=spinner-up]:active{background-image:linear-gradient(rgba(255,255,255,.1) 10%,rgba(255,255,255,0) 100%)}:host [part=spinner-down][toggles],:host [part=spinner-up][toggles]{background-color:#3c3c42;color:#c2c2c2;border-color:#000;box-shadow:0 0 0 0 rgba(0,0,0,.6);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 #000;background-color:#f93;color:#c2c2c2;box-shadow:inset 0 0 0 1px #000;border-color:#f93;outline:0}button:focus:not([focused]),button[focused=visible]{border-style:dotted;box-shadow:inset 0 0 0 1px #000;background-color:#3c3c42;color:#c2c2c2;box-shadow:inset 0 0 0 1px #000;border-color:#f93;outline:0}button:hover,button[toggles]:hover{background-color:#4d4d55;color:#e2e2e2;box-shadow:0 0 0 0 rgba(0,0,0,.9)}button:hover:not(:focus),button[cta]:hover:not(:focus),button[toggles]:hover:not(:focus),button[toggles][active]:hover:not(:focus){border-color:#000;outline:0}button[cta]:hover{background-color:#ffab57;color:#e2e2e2;box-shadow:0 0 0 0 rgba(0,0,0,.9)}button[toggles]:focus:not([focused]),button[toggles][focused=visible]{background-color:#3c3c42;color:#c2c2c2;box-shadow:inset 0 0 0 1px #000;border-color:#f93;outline:0}button[toggles][active]:focus:not([focused]),button[toggles][active][focused=visible]{background-color:#38383d;color:#c2c2c2;box-shadow:inset 0 0 0 1px #000;border-color:#f93;outline:0}button[toggles][active]:hover{background-color:#494950;color:#e2e2e2;box-shadow:0 0 0 0 rgba(0,0,0,.9)}: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 #000;background-color:#f93;color:#c2c2c2;box-shadow:inset 0 0 0 1px #000;border-color:#f93;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 #000;background-color:#3c3c42;color:#c2c2c2;box-shadow:inset 0 0 0 1px #000;border-color:#f93;outline:0}:host [part=spinner-down]:hover,:host [part=spinner-up]:hover{background-color:#4d4d55;color:#e2e2e2;box-shadow:0 0 0 0 rgba(0,0,0,.9)}:host [part=spinner-down]:hover:not(:focus),:host [part=spinner-up]:hover:not(:focus){border-color:#000;outline:0}:host [part=spinner-down][cta]:hover,:host [part=spinner-up][cta]:hover{background-color:#ffab57;color:#e2e2e2;box-shadow:0 0 0 0 rgba(0,0,0,.9)}:host [part=spinner-down][cta]:hover:not(:focus),:host [part=spinner-up][cta]:hover:not(:focus){border-color:#000;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:#3c3c42;color:#c2c2c2;box-shadow:inset 0 0 0 1px #000;border-color:#f93;outline:0}:host [part=spinner-down][toggles]:hover,:host [part=spinner-up][toggles]:hover{background-color:#4d4d55;color:#e2e2e2;box-shadow:0 0 0 0 rgba(0,0,0,.9)}:host [part=spinner-down][toggles]:hover:not(:focus),:host [part=spinner-up][toggles]:hover:not(:focus){border-color:#000;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:#38383d;color:#c2c2c2;box-shadow:inset 0 0 0 1px #000;border-color:#f93;outline:0}:host [part=spinner-down][toggles][active]:hover,:host [part=spinner-up][toggles][active]:hover{background-color:#494950;color:#e2e2e2;box-shadow:0 0 0 0 rgba(0,0,0,.9)}:host [part=spinner-down][toggles][active]:hover:not(:focus),:host [part=spinner-up][toggles][active]:hover:not(:focus){border-color:#000;outline:0}}@media all{button:active,button[toggles]:active{background-color:#38383d;color:#c2c2c2;box-shadow:0 0 0 0 rgba(0,0,0,.6)}button:active:not(:focus),button[cta]:active:not(:focus),button[toggles]:active:not(:focus),button[toggles][active]:active:not(:focus){border-color:#000;outline:0}button[disabled],button[toggles][disabled]{background-color:#3c3c42;color:#c2c2c2;border-color:#333;box-shadow:none;outline:0;pointer-events:none}button[cta]:active{background-color:#ed8e2f;color:#0a0a0a;box-shadow:0 0 0 0 rgba(0,0,0,.6)}button[cta][disabled]{background-color:#f93;color:#0a0a0a;border-color:#333;box-shadow:none;outline:0;pointer-events:none}button[toggles][active]:active{background-color:#343439;color:#f93;box-shadow:0 0 0 0 rgba(0,0,0,.6)}button[toggles][active][disabled]{background-color:#38383d;color:#f93;border-color:#333;box-shadow:none;outline:0;pointer-events:none}:host [part=spinner-down]:active,:host [part=spinner-up]:active{background-color:#38383d;color:#c2c2c2;box-shadow:0 0 0 0 rgba(0,0,0,.6)}:host [part=spinner-down]:active:not(:focus),:host [part=spinner-up]:active:not(:focus){border-color:#000;outline:0}:host [part=spinner-down][disabled],:host [part=spinner-up][disabled]{background-color:#3c3c42;color:#c2c2c2;border-color:#333;box-shadow:none;outline:0;pointer-events:none}:host [part=spinner-down][cta]:active,:host [part=spinner-up][cta]:active{background-color:#ed8e2f;color:#0a0a0a;box-shadow:0 0 0 0 rgba(0,0,0,.6)}:host [part=spinner-down][cta]:active:not(:focus),:host [part=spinner-up][cta]:active:not(:focus){border-color:#000;outline:0}:host [part=spinner-down][cta][disabled],:host [part=spinner-up][cta][disabled]{background-color:#f93;color:#0a0a0a;border-color:#333;box-shadow:none;outline:0;pointer-events:none}:host [part=spinner-down][toggles]:active,:host [part=spinner-up][toggles]:active{background-color:#38383d;color:#c2c2c2;box-shadow:0 0 0 0 rgba(0,0,0,.6)}:host [part=spinner-down][toggles]:active:not(:focus),:host [part=spinner-up][toggles]:active:not(:focus){border-color:#000;outline:0}:host [part=spinner-down][toggles][disabled],:host [part=spinner-up][toggles][disabled]{background-color:#3c3c42;color:#c2c2c2;border-color:#333;box-shadow:none;outline:0;pointer-events:none}:host [part=spinner-down][toggles][active]:active,:host [part=spinner-up][toggles][active]:active{background-color:#343439;color:#f93;box-shadow:0 0 0 0 rgba(0,0,0,.6)}:host [part=spinner-down][toggles][active]:active:not(:focus),:host [part=spinner-up][toggles][active]:active:not(:focus){border-color:#000;outline:0}:host [part=spinner-down][toggles][active][disabled],:host [part=spinner-up][toggles][active][disabled]{background-color:#38383d;color:#f93;border-color:#333;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:#c2c2c2;background-color:#3c3c42}');