@refinitiv-ui/elements 5.9.1 → 5.10.2-build.1840650306.1.56

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 (155) hide show
  1. package/CHANGELOG.md +48 -0
  2. package/README.md +4 -4
  3. package/lib/accordion/index.js +2 -2
  4. package/lib/appstate-bar/index.js +2 -2
  5. package/lib/autosuggest/index.js +6 -6
  6. package/lib/button/index.d.ts +10 -4
  7. package/lib/button/index.js +26 -8
  8. package/lib/button/themes/solar/charcoal/index.js +1 -1
  9. package/lib/button/themes/solar/pearl/index.js +1 -1
  10. package/lib/button-bar/index.d.ts +49 -0
  11. package/lib/button-bar/index.js +151 -11
  12. package/lib/calendar/constants.js +1 -1
  13. package/lib/calendar/index.d.ts +1 -1
  14. package/lib/calendar/index.js +11 -11
  15. package/lib/calendar/types.d.ts +1 -1
  16. package/lib/calendar/utils.js +1 -1
  17. package/lib/canvas/index.js +2 -2
  18. package/lib/card/index.js +5 -5
  19. package/lib/chart/index.js +4 -4
  20. package/lib/checkbox/index.js +3 -4
  21. package/lib/checkbox/themes/halo/dark/index.js +1 -1
  22. package/lib/checkbox/themes/halo/light/index.js +1 -1
  23. package/lib/clock/index.js +6 -6
  24. package/lib/clock/utils/TickManager.js +2 -2
  25. package/lib/collapse/index.js +3 -3
  26. package/lib/color-dialog/elements/color-palettes.js +1 -1
  27. package/lib/color-dialog/elements/grayscale-palettes.js +2 -2
  28. package/lib/color-dialog/elements/palettes.js +3 -3
  29. package/lib/color-dialog/helpers/value-model.js +1 -1
  30. package/lib/color-dialog/index.d.ts +1 -1
  31. package/lib/color-dialog/index.js +6 -6
  32. package/lib/combo-box/helpers/filter.d.ts +1 -1
  33. package/lib/combo-box/helpers/types.d.ts +1 -1
  34. package/lib/combo-box/index.d.ts +4 -4
  35. package/lib/combo-box/index.js +9 -9
  36. package/lib/combo-box/themes/halo/dark/index.js +1 -1
  37. package/lib/combo-box/themes/halo/light/index.js +1 -1
  38. package/lib/combo-box/themes/solar/charcoal/index.js +1 -1
  39. package/lib/combo-box/themes/solar/pearl/index.js +1 -1
  40. package/lib/counter/index.js +2 -2
  41. package/lib/counter/themes/halo/dark/index.js +1 -1
  42. package/lib/counter/themes/halo/light/index.js +1 -1
  43. package/lib/datetime-picker/index.js +5 -5
  44. package/lib/datetime-picker/utils.js +1 -1
  45. package/lib/dialog/index.d.ts +1 -1
  46. package/lib/dialog/index.js +5 -5
  47. package/lib/email-field/index.d.ts +1 -1
  48. package/lib/email-field/index.js +2 -2
  49. package/lib/flag/index.js +3 -3
  50. package/lib/flag/utils/FlagLoader.d.ts +1 -1
  51. package/lib/flag/utils/FlagLoader.js +1 -1
  52. package/lib/header/index.js +2 -2
  53. package/lib/heatmap/helpers/color.d.ts +1 -1
  54. package/lib/heatmap/helpers/color.js +1 -1
  55. package/lib/heatmap/index.js +5 -5
  56. package/lib/icon/index.js +3 -3
  57. package/lib/icon/utils/IconLoader.d.ts +1 -1
  58. package/lib/icon/utils/IconLoader.js +1 -1
  59. package/lib/interactive-chart/helpers/types.d.ts +1 -1
  60. package/lib/interactive-chart/index.js +4 -4
  61. package/lib/item/helpers/types.d.ts +1 -1
  62. package/lib/item/index.js +3 -3
  63. package/lib/label/index.js +6 -5
  64. package/lib/layout/index.js +2 -2
  65. package/lib/led-gauge/index.js +2 -2
  66. package/lib/list/custom-elements.json +13 -0
  67. package/lib/list/custom-elements.md +10 -9
  68. package/lib/list/helpers/types.d.ts +1 -1
  69. package/lib/list/index.d.ts +5 -1
  70. package/lib/list/index.js +10 -3
  71. package/lib/list/renderer.d.ts +1 -1
  72. package/lib/loader/index.js +1 -1
  73. package/lib/multi-input/helpers/types.d.ts +1 -1
  74. package/lib/multi-input/index.js +6 -6
  75. package/lib/notification/elements/notification-tray.js +3 -3
  76. package/lib/notification/elements/notification.js +2 -2
  77. package/lib/number-field/index.d.ts +1 -1
  78. package/lib/number-field/index.js +4 -3
  79. package/lib/number-field/themes/solar/charcoal/index.js +1 -1
  80. package/lib/overlay/elements/overlay-backdrop.js +2 -2
  81. package/lib/overlay/elements/overlay-viewport.js +1 -1
  82. package/lib/overlay/elements/overlay.js +4 -4
  83. package/lib/overlay/managers/focus-manager.js +1 -1
  84. package/lib/overlay/managers/interaction-lock-manager.js +1 -1
  85. package/lib/overlay/managers/viewport-manager.js +1 -1
  86. package/lib/overlay/managers/zindex-manager.js +1 -1
  87. package/lib/overlay-menu/helpers/types.d.ts +1 -1
  88. package/lib/overlay-menu/index.js +6 -6
  89. package/lib/overlay-menu/managers/menu-manager.js +1 -1
  90. package/lib/pagination/custom-elements.json +16 -33
  91. package/lib/pagination/custom-elements.md +8 -9
  92. package/lib/pagination/index.d.ts +143 -75
  93. package/lib/pagination/index.js +360 -206
  94. package/lib/pagination/themes/halo/dark/index.js +1 -1
  95. package/lib/pagination/themes/halo/light/index.js +1 -1
  96. package/lib/pagination/themes/solar/charcoal/index.js +1 -1
  97. package/lib/pagination/themes/solar/pearl/index.js +1 -1
  98. package/lib/panel/index.js +2 -2
  99. package/lib/password-field/index.d.ts +2 -2
  100. package/lib/password-field/index.js +3 -3
  101. package/lib/pill/index.js +3 -3
  102. package/lib/progress-bar/index.js +3 -3
  103. package/lib/radio-button/index.d.ts +2 -2
  104. package/lib/radio-button/index.js +10 -7
  105. package/lib/radio-button/themes/halo/dark/index.js +1 -1
  106. package/lib/radio-button/themes/halo/light/index.js +1 -1
  107. package/lib/rating/index.js +4 -4
  108. package/lib/search-field/index.d.ts +2 -2
  109. package/lib/search-field/index.js +3 -3
  110. package/lib/select/index.js +6 -6
  111. package/lib/sidebar-layout/index.js +4 -4
  112. package/lib/slider/index.js +4 -4
  113. package/lib/sparkline/index.js +4 -4
  114. package/lib/swing-gauge/index.js +5 -5
  115. package/lib/tab/custom-elements.json +13 -0
  116. package/lib/tab/custom-elements.md +1 -0
  117. package/lib/tab/index.d.ts +13 -15
  118. package/lib/tab/index.js +28 -35
  119. package/lib/tab-bar/custom-elements.json +12 -0
  120. package/lib/tab-bar/custom-elements.md +7 -0
  121. package/lib/tab-bar/index.d.ts +56 -7
  122. package/lib/tab-bar/index.js +139 -40
  123. package/lib/text-field/index.d.ts +1 -1
  124. package/lib/text-field/index.js +4 -4
  125. package/lib/time-picker/index.d.ts +1 -1
  126. package/lib/time-picker/index.js +9 -9
  127. package/lib/toggle/index.js +2 -2
  128. package/lib/toggle/themes/halo/dark/index.js +1 -1
  129. package/lib/toggle/themes/halo/light/index.js +1 -1
  130. package/lib/toggle/themes/solar/charcoal/index.js +1 -1
  131. package/lib/toggle/themes/solar/pearl/index.js +1 -1
  132. package/lib/tooltip/index.js +4 -4
  133. package/lib/tooltip/managers/tooltip-manager.js +2 -2
  134. package/lib/tornado-chart/elements/tornado-chart.js +2 -2
  135. package/lib/tornado-chart/elements/tornado-item.js +3 -3
  136. package/lib/tree/elements/tree-item.d.ts +33 -0
  137. package/lib/tree/elements/tree-item.js +83 -24
  138. package/lib/tree/elements/tree.d.ts +2 -1
  139. package/lib/tree/elements/tree.js +3 -2
  140. package/lib/tree/helpers/types.d.ts +1 -1
  141. package/lib/tree/managers/tree-manager.d.ts +1 -1
  142. package/lib/tree/themes/halo/dark/index.js +1 -1
  143. package/lib/tree/themes/halo/light/index.js +1 -1
  144. package/lib/tree/themes/solar/charcoal/index.js +1 -1
  145. package/lib/tree/themes/solar/pearl/index.js +1 -1
  146. package/lib/tree-select/index.d.ts +3 -3
  147. package/lib/tree-select/index.js +9 -9
  148. package/lib/tree-select/themes/halo/dark/index.js +1 -1
  149. package/lib/tree-select/themes/halo/light/index.js +1 -1
  150. package/lib/tree-select/themes/solar/charcoal/index.js +1 -1
  151. package/lib/tree-select/themes/solar/pearl/index.js +1 -1
  152. package/lib/version.js +1 -1
  153. package/package.json +24 -295
  154. package/lib/pagination/helpers/types.d.ts +0 -9
  155. package/lib/pagination/helpers/types.js +0 -1
package/CHANGELOG.md CHANGED
@@ -3,6 +3,54 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [5.11.0](https://github.com/Refinitiv/refinitiv-ui/compare/@refinitiv-ui/elements@5.10.1...@refinitiv-ui/elements@5.11.0) (2022-01-14)
7
+
8
+
9
+ ### Features
10
+
11
+ * **tree:** improve screen reader support ([#102](https://github.com/Refinitiv/refinitiv-ui/issues/102)) ([0d6db3b](https://github.com/Refinitiv/refinitiv-ui/commit/0d6db3bbf11eb6793ade6f60cab2f24b98bd9f40))
12
+
13
+
14
+
15
+
16
+
17
+ ## [5.10.1](https://github.com/Refinitiv/refinitiv-ui/compare/@refinitiv-ui/elements@5.10.0...@refinitiv-ui/elements@5.10.1) (2022-01-12)
18
+
19
+
20
+ ### Bug Fixes
21
+
22
+ * **checkbox:** `Enter` key should not check or uncheck checkbox ([ee61255](https://github.com/Refinitiv/refinitiv-ui/commit/ee6125513ab670495ef7b87580fa97ea386c840a))
23
+ * **pagination:** handle case when user input number with string ([#142](https://github.com/Refinitiv/refinitiv-ui/issues/142)) ([975f999](https://github.com/Refinitiv/refinitiv-ui/commit/975f9998bc1cf4b5326b567023984d8a893e6983))
24
+ * **radio-button:** `Enter` key should not check or uncheck radio-button ([145f7bf](https://github.com/Refinitiv/refinitiv-ui/commit/145f7bfc15fe72e95d0719eaa6d691f09fd8a03c))
25
+ * **radio-button:** add IE11 arrow keys navigation support ([#158](https://github.com/Refinitiv/refinitiv-ui/issues/158)) ([6389d00](https://github.com/Refinitiv/refinitiv-ui/commit/6389d006a07cdc5ed04ae77748f12726b7da48e1))
26
+
27
+
28
+
29
+
30
+
31
+ # [5.10.0](https://github.com/Refinitiv/refinitiv-ui/compare/@refinitiv-ui/elements@5.9.1...@refinitiv-ui/elements@5.10.0) (2021-12-21)
32
+
33
+
34
+ ### Bug Fixes
35
+
36
+ * **label:** break all words when line-clamp is 1 ([#115](https://github.com/Refinitiv/refinitiv-ui/issues/115)) ([3b9f456](https://github.com/Refinitiv/refinitiv-ui/commit/3b9f4566dcf39eba8464df6443be89a156c9692e))
37
+ * **pagiantion:** convert prop toString in setter ([3c32ee9](https://github.com/Refinitiv/refinitiv-ui/commit/3c32ee95a237180da6e2449eb654b749de2340c9))
38
+ * **pagination:** add missing feature blur to set page from the input ([f6ff2e1](https://github.com/Refinitiv/refinitiv-ui/commit/f6ff2e14509627119d8d3e22c8c2005fae81ef0c))
39
+ * **pagination:** getter in internal will retrigger incorrect warning message ([e506885](https://github.com/Refinitiv/refinitiv-ui/commit/e50688509bc668be4592d0be73df891ffd139208))
40
+ * **pagination:** max limit does not work ([715956e](https://github.com/Refinitiv/refinitiv-ui/commit/715956e4936f4a7b219c8d06ce755e7cbf43b755))
41
+ * **pagination:** remove warning when set correct type value ([235b46b](https://github.com/Refinitiv/refinitiv-ui/commit/235b46b3306a1833515858ae421bd53942fe8242))
42
+ * **pagination:** tab on the input to set a value ([675f4d6](https://github.com/Refinitiv/refinitiv-ui/commit/675f4d6039d0a391d34e946e42abf596b5f17e1b))
43
+ * **pagination:** the input does not get disable state from the root ([6603949](https://github.com/Refinitiv/refinitiv-ui/commit/6603949d2cce1eb0c5b59f727b3c8a5273fb67a8))
44
+
45
+
46
+ ### Features
47
+
48
+ * **pagination:** support max unknown ([d3997ce](https://github.com/Refinitiv/refinitiv-ui/commit/d3997ce16abb9c01ecc43bcf6a80386b02cd3c12))
49
+
50
+
51
+
52
+
53
+
6
54
  ## [5.9.1](https://github.com/Refinitiv/refinitiv-ui/compare/@refinitiv-ui/elements@5.9.0...@refinitiv-ui/elements@5.9.1) (2021-12-15)
7
55
 
8
56
  **Note:** Version bump only for package @refinitiv-ui/elements
package/README.md CHANGED
@@ -29,10 +29,10 @@ Finally, import both elements that you want to use and its themes into your appl
29
29
  import '@refinitiv-ui/halo-theme/dark/imports/native-elements';
30
30
 
31
31
  // import element and its Halo dark theme
32
- import '@refinitiv-ui/elements/lib/button';
33
- import '@refinitiv-ui/elements/lib/panel';
34
- import '@refinitiv-ui/elements/lib/button/themes/halo/dark';
35
- import '@refinitiv-ui/elements/lib/panel/themes/halo/dark';
32
+ import '@refinitiv-ui/elements/button';
33
+ import '@refinitiv-ui/elements/panel';
34
+ import '@refinitiv-ui/elements/button/themes/halo/dark';
35
+ import '@refinitiv-ui/elements/panel/themes/halo/dark';
36
36
  ```
37
37
 
38
38
  Now, you can use the elements in your app.
@@ -1,7 +1,7 @@
1
1
  import { __decorate } from "tslib";
2
2
  import { html, css } 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';
3
+ import { customElement } from '@refinitiv-ui/core/decorators/custom-element.js';
4
+ import { property } from '@refinitiv-ui/core/decorators/property.js';
5
5
  import { VERSION } from '../version.js';
6
6
  import { Collapse } from '../collapse/index.js';
7
7
  /**
@@ -1,7 +1,7 @@
1
1
  import { __decorate } from "tslib";
2
2
  import { BasicElement, html, css } 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';
3
+ import { customElement } from '@refinitiv-ui/core/decorators/custom-element.js';
4
+ import { property } from '@refinitiv-ui/core/decorators/property.js';
5
5
  import { VERSION } from '../version.js';
6
6
  import '../icon/index.js';
7
7
  /**
@@ -1,14 +1,14 @@
1
1
  var Autosuggest_1;
2
2
  import { __decorate } from "tslib";
3
3
  import { css, html } from '@refinitiv-ui/core';
4
- import { customElement } from '@refinitiv-ui/core/lib/decorators/custom-element.js';
5
- import { query } from '@refinitiv-ui/core/lib/decorators/query.js';
6
- import { property } from '@refinitiv-ui/core/lib/decorators/property.js';
7
- import { unsafeHTML } from '@refinitiv-ui/core/lib/directives/unsafe-html.js';
4
+ import { customElement } from '@refinitiv-ui/core/decorators/custom-element.js';
5
+ import { query } from '@refinitiv-ui/core/decorators/query.js';
6
+ import { property } from '@refinitiv-ui/core/decorators/property.js';
7
+ import { unsafeHTML } from '@refinitiv-ui/core/directives/unsafe-html.js';
8
8
  import { VERSION } from '../version.js';
9
- import { AnimationTaskRunner, TimeoutTaskRunner } from '@refinitiv-ui/utils/lib/async.js';
9
+ import { AnimationTaskRunner, TimeoutTaskRunner } from '@refinitiv-ui/utils/async.js';
10
10
  import { escapeRegExp, itemHighlightable, itemRenderer, queryWordSelect } from './helpers/utils.js';
11
- import { isIE, isMobile } from '@refinitiv-ui/utils/lib/browser.js';
11
+ import { isIE, isMobile } from '@refinitiv-ui/utils/browser.js';
12
12
  import { Overlay } from '../overlay/index.js';
13
13
  import '../loader/index.js';
14
14
  import '../item/index.js';
@@ -58,10 +58,16 @@ export declare class Button extends ControlElement {
58
58
  */
59
59
  ariaPressed: string;
60
60
  /**
61
- * Updates the element
62
- * @param changedProperties Properties that has changed
63
- * @returns {void}
64
- */
61
+ * Aria indicating state of toggle button.
62
+ * Used when role is radio.
63
+ * @ignore
64
+ */
65
+ ariaChecked: string;
66
+ /**
67
+ * Updates the element
68
+ * @param changedProperties Properties that has changed
69
+ * @returns {void}
70
+ */
65
71
  protected update(changedProperties: PropertyValues): void;
66
72
  /**
67
73
  * the lifecycle method called when properties changed first time
@@ -1,8 +1,8 @@
1
1
  import { __decorate } from "tslib";
2
2
  import { ControlElement, html } from '@refinitiv-ui/core';
3
- import { customElement } from '@refinitiv-ui/core/lib/decorators/custom-element.js';
4
- import { query } from '@refinitiv-ui/core/lib/decorators/query.js';
5
- import { property } from '@refinitiv-ui/core/lib/decorators/property.js';
3
+ import { customElement } from '@refinitiv-ui/core/decorators/custom-element.js';
4
+ import { query } from '@refinitiv-ui/core/decorators/query.js';
5
+ import { property } from '@refinitiv-ui/core/decorators/property.js';
6
6
  import { VERSION } from '../version.js';
7
7
  import { registerOverflowTooltip } from '../tooltip/index.js';
8
8
  import '../icon/index.js';
@@ -65,6 +65,12 @@ let Button = class Button extends ControlElement {
65
65
  * @ignore
66
66
  */
67
67
  this.ariaPressed = '';
68
+ /**
69
+ * Aria indicating state of toggle button.
70
+ * Used when role is radio.
71
+ * @ignore
72
+ */
73
+ this.ariaChecked = '';
68
74
  }
69
75
  /**
70
76
  * Element version number
@@ -74,13 +80,18 @@ let Button = class Button extends ControlElement {
74
80
  return VERSION;
75
81
  }
76
82
  /**
77
- * Updates the element
78
- * @param changedProperties Properties that has changed
79
- * @returns {void}
80
- */
83
+ * Updates the element
84
+ * @param changedProperties Properties that has changed
85
+ * @returns {void}
86
+ */
81
87
  update(changedProperties) {
82
88
  if (changedProperties.has('active') && this.toggles || changedProperties.has('toggles') && this.toggles) {
83
- this.ariaPressed = String(this.active);
89
+ if (this.getAttribute('role') === 'radio') {
90
+ this.ariaChecked = String(this.active);
91
+ }
92
+ else {
93
+ this.ariaPressed = String(this.active);
94
+ }
84
95
  }
85
96
  super.update(changedProperties);
86
97
  }
@@ -215,6 +226,13 @@ __decorate([
215
226
  converter: { toAttribute: emptyStringToNull } // TODO: Remove after typescript update to allow nullable for ARIAMixin
216
227
  })
217
228
  ], Button.prototype, "ariaPressed", void 0);
229
+ __decorate([
230
+ property({ type: String,
231
+ reflect: true,
232
+ attribute: 'aria-checked',
233
+ converter: { toAttribute: emptyStringToNull } // TODO: Remove after typescript update to allow nullable for ARIAMixin
234
+ })
235
+ ], Button.prototype, "ariaChecked", void 0);
218
236
  Button = __decorate([
219
237
  customElement('ef-button', {
220
238
  alias: 'coral-button'
@@ -1,3 +1,3 @@
1
1
  import '@refinitiv-ui/elements/lib/icon/themes/solar/charcoal';
2
2
 
3
- elf.customStyles.define('ef-button', ':host{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;box-shadow:0 0 0 0 rgba(0,0,0,.6);font-family:inherit;min-width:23px;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;touch-action:manipulation}:host [part=icon]{flex:none}:host(:not([empty])) [part=label]{white-space:inherit;overflow:inherit;text-overflow:inherit;min-width:0;flex:1 1 auto}:host([hover-icon]) #hover-icon{display:none}:host([empty][icon]){min-width:23px;padding:0}:host(:not([cta])[empty][icon][transparent]){background:0 0!important;box-shadow:none!important;border:none!important;color:#c2c2c2}:host(:not([cta])[empty][icon][transparent]:not(:focus)){border-color:transparent!important}:host(:not([cta])[empty][icon][transparent][toggles][active]){color:rgba(0,0,0,.07)}:host(:not([empty])[icon][textpos=before]) [part=icon]{order:1}:host(:not([empty])[icon][textpos=after]) [part=label]{padding-left:.3em}:host(:not([empty])[icon][textpos=before]) [part=label]{padding-right:.3em}:host{-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;background-image:linear-gradient(rgba(255,255,255,.1) 10%,rgba(255,255,255,0) 100%)}:host([cta]){background-color:#f93;color:#0a0a0a;border-color:#000;box-shadow:0 0 0 0 rgba(0,0,0,.6);outline:0;background-image:linear-gradient(rgba(255,255,255,.1) 10%,rgba(255,255,255,0) 100%)}:host([toggles]){background-color:#3c3c42;color:#c2c2c2;border-color:#000;box-shadow:0 0 0 0 rgba(0,0,0,.6);outline:0}:host([toggles][active]){border-color:#000;box-shadow:0 0 0 0 rgba(0,0,0,.6);outline:0;color:#f93!important;background-color:#38383d!important;background-image:linear-gradient(rgba(255,255,255,0) 0,rgba(255,255,255,.1) 90%)}@media all{:host(:not([cta])[empty][icon][transparent]:active){background-color:rgba(0,0,0,.07);color:#3c3c42;box-shadow:0 0 0 0 rgba(0,0,0,.6)}:host(:not([cta])[empty][icon][transparent]:active:not(:focus)){border-color:#000;outline:0}:host(:not([cta])[empty][icon][transparent][disabled]){background-color:transparent;color:#3c3c42;border-color:#333;box-shadow:none;outline:0;pointer-events:none}:host(:not([cta])[empty][icon][transparent][toggles][active]:active){background-color:rgba(0,0,0,.07);color:rgba(0,0,0,.07);box-shadow:0 0 0 0 rgba(0,0,0,.6)}:host(:not([cta])[empty][icon][transparent][toggles][active]:active:not(:focus)){border-color:#000;outline:0}:host(:not([cta])[empty][icon][transparent][toggles][active][disabled]){background-color:transparent;color:rgba(0,0,0,.07);border-color:#333;box-shadow:none;outline:0;pointer-events:none}:host(:active){background-color:#38383d;color:#c2c2c2;box-shadow:0 0 0 0 rgba(0,0,0,.6)}:host(:active:not(:focus)){border-color:#000;outline:0}:host([disabled]){background-color:#3c3c42;color:#c2c2c2;border-color:#333;box-shadow:none;outline:0;pointer-events:none}:host([cta]:active){background-color:#ed8e2f;color:#0a0a0a;box-shadow:0 0 0 0 rgba(0,0,0,.6)}:host([cta]:active:not(:focus)){border-color:#000;outline:0}:host([cta][disabled]){background-color:#f93;color:#0a0a0a;border-color:#333;box-shadow:none;outline:0;pointer-events:none}:host([toggles]:active){background-color:#38383d;color:#c2c2c2;box-shadow:0 0 0 0 rgba(0,0,0,.6)}:host([toggles]:active:not(:focus)){border-color:#000;outline:0}:host([toggles][disabled]){background-color:#3c3c42;color:#c2c2c2;border-color:#333;box-shadow:none;outline:0;pointer-events:none}:host([toggles][active]:active){background-color:#343439;color:#f93;box-shadow:0 0 0 0 rgba(0,0,0,.6)}:host([toggles][active]:active:not(:focus)){border-color:#000;outline:0}:host([toggles][active][disabled]){background-color:#38383d;color:#f93;border-color:#333;box-shadow:none;outline:0;pointer-events:none}}:host([cta]:active){background-color:#f93;background-image:linear-gradient(rgba(255,255,255,.1) 10%,rgba(255,255,255,0) 100%)}:host([cta][disabled]){opacity:.4}:host([disabled]){opacity:.4;border-color:#000}:host(:active){background-image:linear-gradient(rgba(255,255,255,.1) 10%,rgba(255,255,255,0) 100%)}:host(:not([cta])[empty][icon][transparent][disabled]){color:#c2c2c2}@media (-ms-high-contrast:none),(pointer:fine){:host([hover-icon]:hover) #icon{display:none}:host([hover-icon]:hover) #hover-icon{display:block}:host(:not([cta])[empty][icon][transparent]:focus:not([focused])),:host(:not([cta])[empty][icon][transparent][focused=visible]){background-color:transparent;color:#c2c2c2;box-shadow:inset 0 0 0 1px #000;border-color:#f93;outline:0}:host(:not([cta])[empty][icon][transparent]:hover){background-color:rgba(18,18,18,0);box-shadow:0 0 0 0 rgba(0,0,0,.9);color:#e2e2e2}:host(:not([cta])[empty][icon][transparent]:hover:not(:focus)){border-color:#000;outline:0}:host(:not([cta])[empty][icon][transparent][toggles][active]:focus:not([focused])),:host(:not([cta])[empty][icon][transparent][toggles][active][focused=visible]){background-color:transparent;color:#c2c2c2;box-shadow:inset 0 0 0 1px #000;border-color:#f93;outline:0}:host(:not([cta])[empty][icon][transparent][toggles][active]:hover){background-color:rgba(18,18,18,0);color:#e2e2e2;box-shadow:0 0 0 0 rgba(0,0,0,.9)}:host(:not([cta])[empty][icon][transparent][toggles][active]:hover:not(:focus)){border-color:#000;outline:0}:host(:focus:not([focused])),:host([focused=visible]){background-color:#3c3c42;color:#c2c2c2;box-shadow:inset 0 0 0 1px #000;border-color:#f93;outline:0;border-style:dotted;box-shadow:inset 0 0 0 1px #000}:host(:hover){background-color:#4d4d55;color:#e2e2e2;box-shadow:0 0 0 0 rgba(0,0,0,.9)}:host(:hover:not(:focus)){border-color:#000;outline:0}:host([cta]:focus:not([focused])),:host([cta][focused=visible]){background-color:#f93;box-shadow:inset 0 0 0 1px #000;outline:0;border-color:#000;box-shadow:inset 0 0 0 1px #000;color:#0a0a0a}:host([cta]:hover){background-color:#ffab57;box-shadow:0 0 0 0 rgba(0,0,0,.9);color:#0a0a0a}:host([cta]:hover:not(:focus)){border-color:#000;outline:0}:host([toggles]:focus:not([focused])),:host([toggles][focused=visible]){background-color:#3c3c42;color:#c2c2c2;box-shadow:inset 0 0 0 1px #000;border-color:#f93;outline:0}:host([toggles]:hover){background-color:#4d4d55;color:#e2e2e2;box-shadow:0 0 0 0 rgba(0,0,0,.9)}:host([toggles]:hover:not(:focus)){border-color:#000;outline:0}:host([toggles][active]:focus:not([focused])),:host([toggles][active][focused=visible]){background-color:#38383d;color:#c2c2c2;box-shadow:inset 0 0 0 1px #000;border-color:#f93;outline:0}:host([toggles][active]:hover){background-color:#494950;color:#e2e2e2;box-shadow:0 0 0 0 rgba(0,0,0,.9)}:host([toggles][active]:hover:not(:focus)){border-color:#000;outline:0}}');
3
+ elf.customStyles.define('ef-button', ':host{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;box-shadow:0 0 0 0 rgba(0,0,0,.6);font-family:inherit;min-width:23px;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;touch-action:manipulation}:host [part=icon]{flex:none}:host(:not([empty])) [part=label]{white-space:inherit;overflow:inherit;text-overflow:inherit;min-width:0;flex:1 1 auto}:host([hover-icon]) #hover-icon{display:none}:host([empty][icon]){min-width:23px;padding:0}:host(:not([cta])[empty][icon][transparent]){background:0 0!important;box-shadow:none!important;border:none!important;color:#c2c2c2}:host(:not([cta])[empty][icon][transparent]:not(:focus)){border-color:transparent!important}:host(:not([cta])[empty][icon][transparent][toggles][active]){color:rgba(0,0,0,.07)}:host(:not([empty])[icon][textpos=before]) [part=icon]{order:1}:host(:not([empty])[icon][textpos=after]) [part=label]{padding-left:.3em}:host(:not([empty])[icon][textpos=before]) [part=label]{padding-right:.3em}:host{-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;background-image:linear-gradient(rgba(255,255,255,.1) 10%,rgba(255,255,255,0) 100%)}:host([cta]){background-color:#f93;color:#0a0a0a;border-color:#000;box-shadow:0 0 0 0 rgba(0,0,0,.6);outline:0;background-image:linear-gradient(rgba(255,255,255,.1) 10%,rgba(255,255,255,0) 100%)}:host([toggles]){background-color:#3c3c42;color:#c2c2c2;border-color:#000;box-shadow:0 0 0 0 rgba(0,0,0,.6);outline:0}:host([toggles][active]){border-color:#000;box-shadow:0 0 0 0 rgba(0,0,0,.6);outline:0;color:#f93!important;background-color:#38383d!important;background-image:linear-gradient(rgba(255,255,255,0) 0,rgba(255,255,255,.1) 90%)}@media all{:host(:not([cta])[empty][icon][transparent]:active){background-color:rgba(0,0,0,.07);color:#3c3c42;box-shadow:0 0 0 0 rgba(0,0,0,.6)}:host(:not([cta])[empty][icon][transparent]:active:not(:focus)){border-color:#000;outline:0}:host(:not([cta])[empty][icon][transparent][disabled]){background-color:transparent;color:#3c3c42;border-color:#333;box-shadow:none;outline:0;pointer-events:none}:host(:not([cta])[empty][icon][transparent][toggles][active]:active){background-color:rgba(0,0,0,.07);color:rgba(0,0,0,.07);box-shadow:0 0 0 0 rgba(0,0,0,.6)}:host(:not([cta])[empty][icon][transparent][toggles][active]:active:not(:focus)){border-color:#000;outline:0}:host(:not([cta])[empty][icon][transparent][toggles][active][disabled]){background-color:transparent;color:rgba(0,0,0,.07);border-color:#333;box-shadow:none;outline:0;pointer-events:none}:host(:active){background-color:#38383d;color:#c2c2c2;box-shadow:0 0 0 0 rgba(0,0,0,.6)}:host(:active:not(:focus)){border-color:#000;outline:0}:host([disabled]){background-color:#3c3c42;color:#c2c2c2;border-color:#333;box-shadow:none;outline:0;pointer-events:none}:host([cta]:active){background-color:#ed8e2f;color:#0a0a0a;box-shadow:0 0 0 0 rgba(0,0,0,.6)}:host([cta]:active:not(:focus)){border-color:#000;outline:0}:host([cta][disabled]){background-color:#f93;color:#0a0a0a;border-color:#333;box-shadow:none;outline:0;pointer-events:none}:host([toggles]:active){background-color:#38383d;color:#c2c2c2;box-shadow:0 0 0 0 rgba(0,0,0,.6)}:host([toggles]:active:not(:focus)){border-color:#000;outline:0}:host([toggles][disabled]){background-color:#3c3c42;color:#c2c2c2;border-color:#333;box-shadow:none;outline:0;pointer-events:none}:host([toggles][active]:active){background-color:#343439;color:#f93;box-shadow:0 0 0 0 rgba(0,0,0,.6)}:host([toggles][active]:active:not(:focus)){border-color:#000;outline:0}:host([toggles][active][disabled]){background-color:#38383d;color:#f93;border-color:#333;box-shadow:none;outline:0;pointer-events:none}}:host([cta]:active){background-color:#f93;background-image:linear-gradient(rgba(0,0,0,.3) 0,rgba(0,0,0,0) 100%)}:host([cta][disabled]){opacity:.4}:host([disabled]){opacity:.4;border-color:#000}:host(:active){background-image:linear-gradient(rgba(255,255,255,.1) 10%,rgba(255,255,255,0) 100%)}:host(:not([cta])[empty][icon][transparent][disabled]){color:#c2c2c2}@media (-ms-high-contrast:none),(pointer:fine){:host([hover-icon]:hover) #icon{display:none}:host([hover-icon]:hover) #hover-icon{display:block}:host(:not([cta])[empty][icon][transparent]:focus:not([focused])),:host(:not([cta])[empty][icon][transparent][focused=visible]){background-color:transparent;color:#c2c2c2;box-shadow:inset 0 0 0 1px #000;border-color:#f93;outline:0}:host(:not([cta])[empty][icon][transparent]:hover){background-color:rgba(18,18,18,0);box-shadow:0 0 0 0 rgba(0,0,0,.9);color:#e2e2e2}:host(:not([cta])[empty][icon][transparent]:hover:not(:focus)){border-color:#000;outline:0}:host(:not([cta])[empty][icon][transparent][toggles][active]:focus:not([focused])),:host(:not([cta])[empty][icon][transparent][toggles][active][focused=visible]){background-color:transparent;color:#c2c2c2;box-shadow:inset 0 0 0 1px #000;border-color:#f93;outline:0}:host(:not([cta])[empty][icon][transparent][toggles][active]:hover){background-color:rgba(18,18,18,0);color:#e2e2e2;box-shadow:0 0 0 0 rgba(0,0,0,.9)}:host(:not([cta])[empty][icon][transparent][toggles][active]:hover:not(:focus)){border-color:#000;outline:0}:host(:focus:not([focused])),:host([focused=visible]){background-color:#3c3c42;color:#c2c2c2;box-shadow:inset 0 0 0 1px #000;border-color:#f93;outline:0;border-style:dotted;box-shadow:inset 0 0 0 1px #000}:host(:hover){background-color:#4d4d55;color:#e2e2e2;box-shadow:0 0 0 0 rgba(0,0,0,.9)}:host(:hover:not(:focus)){border-color:#000;outline:0}:host([cta]:focus:not([focused])),:host([cta][focused=visible]){background-color:#f93;box-shadow:inset 0 0 0 1px #000;outline:0;border-color:#000;box-shadow:inset 0 0 0 1px #000;color:#0a0a0a}:host([cta]:hover){background-color:#ffab57;box-shadow:0 0 0 0 rgba(0,0,0,.9);color:#0a0a0a}:host([cta]:hover:not(:focus)){border-color:#000;outline:0}:host([toggles]:focus:not([focused])),:host([toggles][focused=visible]){background-color:#3c3c42;color:#c2c2c2;box-shadow:inset 0 0 0 1px #000;border-color:#f93;outline:0}:host([toggles]:hover){background-color:#4d4d55;color:#e2e2e2;box-shadow:0 0 0 0 rgba(0,0,0,.9)}:host([toggles]:hover:not(:focus)){border-color:#000;outline:0}:host([toggles][active]:focus:not([focused])),:host([toggles][active][focused=visible]){background-color:#38383d;color:#c2c2c2;box-shadow:inset 0 0 0 1px #000;border-color:#f93;outline:0}:host([toggles][active]:hover){background-color:#494950;color:#e2e2e2;box-shadow:0 0 0 0 rgba(0,0,0,.9)}:host([toggles][active]:hover:not(:focus)){border-color:#000;outline:0}}:host(:not([readonly]):active){background-color:#38383d;color:#c2c2c2;box-shadow:0 0 0 0 rgba(0,0,0,.6)}:host([cta]:not([readonly]):active){background-color:#f93;color:#0a0a0a}:host([toggles]:not([readonly]):active){background-color:#3c3c42;color:#c2c2c2}:host([toggles][active]:not([readonly]):active){background-color:#38383d;color:#f93}');
@@ -1,3 +1,3 @@
1
1
  import '@refinitiv-ui/elements/lib/icon/themes/solar/pearl';
2
2
 
3
- elf.customStyles.define('ef-button', ':host{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;box-shadow:0 0 0 0 rgba(0,0,0,.3);font-family:inherit;min-width:23px;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;touch-action:manipulation}:host [part=icon]{flex:none}:host(:not([empty])) [part=label]{white-space:inherit;overflow:inherit;text-overflow:inherit;min-width:0;flex:1 1 auto}:host([hover-icon]) #hover-icon{display:none}:host([empty][icon]){min-width:23px;padding:0}:host(:not([cta])[empty][icon][transparent]){background:0 0!important;box-shadow:none!important;border:none!important;color:#505050}:host(:not([cta])[empty][icon][transparent]:not(:focus)){border-color:transparent!important}:host(:not([cta])[empty][icon][transparent][toggles][active]){color:#fff}:host(:not([empty])[icon][textpos=before]) [part=icon]{order:1}:host(:not([empty])[icon][textpos=after]) [part=label]{padding-left:.3em}:host(:not([empty])[icon][textpos=before]) [part=label]{padding-right:.3em}:host{-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;background-image:linear-gradient(rgba(0,0,0,0) 0,rgba(0,0,0,.1) 100%)}:host([cta]){background-color:#ffb266;color:#505050;border-color:#a9afba;box-shadow:0 0 0 0 rgba(0,0,0,.3);outline:0;background-image:linear-gradient(rgba(255,255,255,.4) 0,rgba(255,255,255,0) 100%)}:host([toggles]){background-color:#fafbfc;color:#505050;border-color:#a9afba;box-shadow:0 0 0 0 rgba(0,0,0,.3);outline:0}:host([toggles][active]){border-color:#a9afba;box-shadow:0 0 0 0 rgba(0,0,0,.3);outline:0;color:#f93!important;background-color:#fff!important;background-image:linear-gradient(rgba(0,0,0,.1) 0,rgba(0,0,0,0) 100%)}@media all{:host(:not([cta])[empty][icon][transparent]:active){background-color:#fff;color:#bac8d6;box-shadow:0 0 0 0 rgba(0,0,0,.3)}:host(:not([cta])[empty][icon][transparent]:active:not(:focus)){border-color:#a9afba;outline:0}:host(:not([cta])[empty][icon][transparent][disabled]){background-color:transparent;color:#fafbfc;border-color:#babfc8;box-shadow:none;outline:0;pointer-events:none}:host(:not([cta])[empty][icon][transparent][toggles][active]:active){background-color:#fff;color:#ccc;box-shadow:0 0 0 0 rgba(0,0,0,.3)}:host(:not([cta])[empty][icon][transparent][toggles][active]:active:not(:focus)){border-color:#a9afba;outline:0}:host(:not([cta])[empty][icon][transparent][toggles][active][disabled]){background-color:transparent;color:#fff;border-color:#babfc8;box-shadow:none;outline:0;pointer-events:none}:host(:active){background-color:#fff;color:#1d1d1d;box-shadow:0 0 0 0 rgba(0,0,0,.3)}:host(:active:not(:focus)){border-color:#a9afba;outline:0}:host([disabled]){background-color:#fafbfc;color:#505050;border-color:#babfc8;box-shadow:none;outline:0;pointer-events:none}:host([cta]:active){background-color:#fff;color:#1d1d1d;box-shadow:0 0 0 0 rgba(0,0,0,.3)}:host([cta]:active:not(:focus)){border-color:#a9afba;outline:0}:host([cta][disabled]){background-color:#ffb266;color:#505050;border-color:#babfc8;box-shadow:none;outline:0;pointer-events:none}:host([toggles]:active){background-color:#fff;color:#1d1d1d;box-shadow:0 0 0 0 rgba(0,0,0,.3)}:host([toggles]:active:not(:focus)){border-color:#a9afba;outline:0}:host([toggles][disabled]){background-color:#fafbfc;color:#505050;border-color:#babfc8;box-shadow:none;outline:0;pointer-events:none}:host([toggles][active]:active){background-color:#fff;color:#c60;box-shadow:0 0 0 0 rgba(0,0,0,.3)}:host([toggles][active]:active:not(:focus)){border-color:#a9afba;outline:0}:host([toggles][active][disabled]){background-color:#fff;color:#f93;border-color:#babfc8;box-shadow:none;outline:0;pointer-events:none}}:host([cta]:active){background-color:#ffb266;background-image:linear-gradient(rgba(255,255,255,0) 0,rgba(255,255,255,.4) 100%)}:host([cta][disabled]){opacity:.4}:host([disabled]){opacity:.4;border-color:#a9afba}:host(:active){background-image:none}:host(:not([cta])[empty][icon][transparent][disabled]){color:#505050}@media (-ms-high-contrast:none),(pointer:fine){:host([hover-icon]:hover) #icon{display:none}:host([hover-icon]:hover) #hover-icon{display:block}:host(:not([cta])[empty][icon][transparent]:focus:not([focused])),:host(:not([cta])[empty][icon][transparent][focused=visible]){background-color:transparent;color:#fafbfc;box-shadow:inset 0 0 0 1px #a9afba;border-color:#ee7600;outline:0}:host(:not([cta])[empty][icon][transparent]:hover){background-color:rgba(18,18,18,0);box-shadow:0 0 0 0 rgba(0,0,0,.6);color:#1d1d1d}:host(:not([cta])[empty][icon][transparent]:hover:not(:focus)){border-color:#a9afba;outline:0}:host(:not([cta])[empty][icon][transparent][toggles][active]:focus:not([focused])),:host(:not([cta])[empty][icon][transparent][toggles][active][focused=visible]){background-color:transparent;color:#fff;box-shadow:inset 0 0 0 1px #a9afba;border-color:#ee7600;outline:0}:host(:not([cta])[empty][icon][transparent][toggles][active]:hover){background-color:rgba(18,18,18,0);color:#ccc;box-shadow:0 0 0 0 rgba(0,0,0,.6)}:host(:not([cta])[empty][icon][transparent][toggles][active]:hover:not(:focus)){border-color:#a9afba;outline:0}:host(:focus:not([focused])),:host([focused=visible]){background-color:#fafbfc;color:#505050;box-shadow:inset 0 0 0 1px #a9afba;border-color:#ee7600;outline:0;border-style:dotted;box-shadow:inset 0 0 0 1px #a9afba}:host(:hover){background-color:#fff;color:#1d1d1d;box-shadow:0 0 0 0 rgba(0,0,0,.6)}:host(:hover:not(:focus)){border-color:#a9afba;outline:0}:host([cta]:focus:not([focused])),:host([cta][focused=visible]){background-color:#ffb266;box-shadow:inset 0 0 0 1px #a9afba;outline:0;border-color:#a9afba;box-shadow:inset 0 0 0 1px #a9afba;color:#505050}:host([cta]:hover){background-color:#ffc48a;box-shadow:0 0 0 0 rgba(0,0,0,.6);color:#505050}:host([cta]:hover:not(:focus)){border-color:#a9afba;outline:0}:host([toggles]:focus:not([focused])),:host([toggles][focused=visible]){background-color:#fafbfc;color:#505050;box-shadow:inset 0 0 0 1px #a9afba;border-color:#ee7600;outline:0}:host([toggles]:hover){background-color:#fff;color:#1d1d1d;box-shadow:0 0 0 0 rgba(0,0,0,.6)}:host([toggles]:hover:not(:focus)){border-color:#a9afba;outline:0}:host([toggles][active]:focus:not([focused])),:host([toggles][active][focused=visible]){background-color:#fff;color:#f93;box-shadow:inset 0 0 0 1px #a9afba;border-color:#ee7600;outline:0}:host([toggles][active]:hover){background-color:#fff;color:#c60;box-shadow:0 0 0 0 rgba(0,0,0,.6)}:host([toggles][active]:hover:not(:focus)){border-color:#a9afba;outline:0}}');
3
+ elf.customStyles.define('ef-button', ':host{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;box-shadow:0 0 0 0 rgba(0,0,0,.3);font-family:inherit;min-width:23px;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;touch-action:manipulation}:host [part=icon]{flex:none}:host(:not([empty])) [part=label]{white-space:inherit;overflow:inherit;text-overflow:inherit;min-width:0;flex:1 1 auto}:host([hover-icon]) #hover-icon{display:none}:host([empty][icon]){min-width:23px;padding:0}:host(:not([cta])[empty][icon][transparent]){background:0 0!important;box-shadow:none!important;border:none!important;color:#505050}:host(:not([cta])[empty][icon][transparent]:not(:focus)){border-color:transparent!important}:host(:not([cta])[empty][icon][transparent][toggles][active]){color:#fff}:host(:not([empty])[icon][textpos=before]) [part=icon]{order:1}:host(:not([empty])[icon][textpos=after]) [part=label]{padding-left:.3em}:host(:not([empty])[icon][textpos=before]) [part=label]{padding-right:.3em}:host{-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;background-image:linear-gradient(rgba(0,0,0,0) 0,rgba(0,0,0,.1) 100%)}:host([cta]){background-color:#ffb266;color:#505050;border-color:#a9afba;box-shadow:0 0 0 0 rgba(0,0,0,.3);outline:0;background-image:linear-gradient(rgba(255,255,255,.4) 0,rgba(255,255,255,0) 100%)}:host([toggles]){background-color:#fafbfc;color:#505050;border-color:#a9afba;box-shadow:0 0 0 0 rgba(0,0,0,.3);outline:0}:host([toggles][active]){border-color:#a9afba;box-shadow:0 0 0 0 rgba(0,0,0,.3);outline:0;color:#f93!important;background-color:#fff!important;background-image:linear-gradient(rgba(0,0,0,.1) 0,rgba(0,0,0,0) 100%)}@media all{:host(:not([cta])[empty][icon][transparent]:active){background-color:#fff;color:#bac8d6;box-shadow:0 0 0 0 rgba(0,0,0,.3)}:host(:not([cta])[empty][icon][transparent]:active:not(:focus)){border-color:#a9afba;outline:0}:host(:not([cta])[empty][icon][transparent][disabled]){background-color:transparent;color:#fafbfc;border-color:#babfc8;box-shadow:none;outline:0;pointer-events:none}:host(:not([cta])[empty][icon][transparent][toggles][active]:active){background-color:#fff;color:#ccc;box-shadow:0 0 0 0 rgba(0,0,0,.3)}:host(:not([cta])[empty][icon][transparent][toggles][active]:active:not(:focus)){border-color:#a9afba;outline:0}:host(:not([cta])[empty][icon][transparent][toggles][active][disabled]){background-color:transparent;color:#fff;border-color:#babfc8;box-shadow:none;outline:0;pointer-events:none}:host(:active){background-color:#fff;color:#1d1d1d;box-shadow:0 0 0 0 rgba(0,0,0,.3)}:host(:active:not(:focus)){border-color:#a9afba;outline:0}:host([disabled]){background-color:#fafbfc;color:#505050;border-color:#babfc8;box-shadow:none;outline:0;pointer-events:none}:host([cta]:active){background-color:#fff;color:#1d1d1d;box-shadow:0 0 0 0 rgba(0,0,0,.3)}:host([cta]:active:not(:focus)){border-color:#a9afba;outline:0}:host([cta][disabled]){background-color:#ffb266;color:#505050;border-color:#babfc8;box-shadow:none;outline:0;pointer-events:none}:host([toggles]:active){background-color:#fff;color:#1d1d1d;box-shadow:0 0 0 0 rgba(0,0,0,.3)}:host([toggles]:active:not(:focus)){border-color:#a9afba;outline:0}:host([toggles][disabled]){background-color:#fafbfc;color:#505050;border-color:#babfc8;box-shadow:none;outline:0;pointer-events:none}:host([toggles][active]:active){background-color:#fff;color:#c60;box-shadow:0 0 0 0 rgba(0,0,0,.3)}:host([toggles][active]:active:not(:focus)){border-color:#a9afba;outline:0}:host([toggles][active][disabled]){background-color:#fff;color:#f93;border-color:#babfc8;box-shadow:none;outline:0;pointer-events:none}}:host([cta]:active){background-color:#ffb266;background-image:linear-gradient(rgba(255,255,255,0) 0,rgba(255,255,255,.4) 100%)}:host([cta][disabled]){opacity:.4}:host([disabled]){opacity:.4;border-color:#a9afba}:host(:active){background-image:none}:host(:not([cta])[empty][icon][transparent][disabled]){color:#505050}@media (-ms-high-contrast:none),(pointer:fine){:host([hover-icon]:hover) #icon{display:none}:host([hover-icon]:hover) #hover-icon{display:block}:host(:not([cta])[empty][icon][transparent]:focus:not([focused])),:host(:not([cta])[empty][icon][transparent][focused=visible]){background-color:transparent;color:#fafbfc;box-shadow:inset 0 0 0 1px #a9afba;border-color:#ee7600;outline:0}:host(:not([cta])[empty][icon][transparent]:hover){background-color:rgba(18,18,18,0);box-shadow:0 0 0 0 rgba(0,0,0,.6);color:#1d1d1d}:host(:not([cta])[empty][icon][transparent]:hover:not(:focus)){border-color:#a9afba;outline:0}:host(:not([cta])[empty][icon][transparent][toggles][active]:focus:not([focused])),:host(:not([cta])[empty][icon][transparent][toggles][active][focused=visible]){background-color:transparent;color:#fff;box-shadow:inset 0 0 0 1px #a9afba;border-color:#ee7600;outline:0}:host(:not([cta])[empty][icon][transparent][toggles][active]:hover){background-color:rgba(18,18,18,0);color:#ccc;box-shadow:0 0 0 0 rgba(0,0,0,.6)}:host(:not([cta])[empty][icon][transparent][toggles][active]:hover:not(:focus)){border-color:#a9afba;outline:0}:host(:focus:not([focused])),:host([focused=visible]){background-color:#fafbfc;color:#505050;box-shadow:inset 0 0 0 1px #a9afba;border-color:#ee7600;outline:0;border-style:dotted;box-shadow:inset 0 0 0 1px #a9afba}:host(:hover){background-color:#fff;color:#1d1d1d;box-shadow:0 0 0 0 rgba(0,0,0,.6)}:host(:hover:not(:focus)){border-color:#a9afba;outline:0}:host([cta]:focus:not([focused])),:host([cta][focused=visible]){background-color:#ffb266;box-shadow:inset 0 0 0 1px #a9afba;outline:0;border-color:#a9afba;box-shadow:inset 0 0 0 1px #a9afba;color:#505050}:host([cta]:hover){background-color:#ffc48a;box-shadow:0 0 0 0 rgba(0,0,0,.6);color:#505050}:host([cta]:hover:not(:focus)){border-color:#a9afba;outline:0}:host([toggles]:focus:not([focused])),:host([toggles][focused=visible]){background-color:#fafbfc;color:#505050;box-shadow:inset 0 0 0 1px #a9afba;border-color:#ee7600;outline:0}:host([toggles]:hover){background-color:#fff;color:#1d1d1d;box-shadow:0 0 0 0 rgba(0,0,0,.6)}:host([toggles]:hover:not(:focus)){border-color:#a9afba;outline:0}:host([toggles][active]:focus:not([focused])),:host([toggles][active][focused=visible]){background-color:#fff;color:#f93;box-shadow:inset 0 0 0 1px #a9afba;border-color:#ee7600;outline:0}:host([toggles][active]:hover){background-color:#fff;color:#c60;box-shadow:0 0 0 0 rgba(0,0,0,.6)}:host([toggles][active]:hover:not(:focus)){border-color:#a9afba;outline:0}}:host(:not([readonly]):active){background-color:#fff;color:#1d1d1d;box-shadow:0 0 0 0 rgba(0,0,0,.3)}:host([cta]:not([readonly]):active){background-color:#ffb266;color:#505050}:host([toggles]:not([readonly]):active){background-color:#fafbfc;color:#505050}:host([toggles][active]:not([readonly]):active){background-color:#fff;color:#f93}');
@@ -9,6 +9,11 @@ export declare class ButtonBar extends BasicElement {
9
9
  * @returns version number
10
10
  */
11
11
  static get version(): string;
12
+ /**
13
+ * Element's role attribute for accessibility
14
+ * `role` should be `radiogroup` when it is managed.
15
+ */
16
+ protected defaultRole: 'toolbar' | 'radiogroup';
12
17
  /**
13
18
  * A `CSSResultGroup` that will be used
14
19
  * to style the host, slotted children
@@ -30,6 +35,45 @@ export declare class ButtonBar extends BasicElement {
30
35
  * @returns {void}
31
36
  */
32
37
  protected firstUpdated(changedProperties: PropertyValues): void;
38
+ /**
39
+ * Handles key down event
40
+ * @param event Key down event object
41
+ * @returns {void}
42
+ */
43
+ private onKeyDown;
44
+ /**
45
+ * Navigate to next or previous focusable button
46
+ * @param direction next | down
47
+ * @returns {void}
48
+ */
49
+ private navigateToSibling;
50
+ /**
51
+ * Navigate to the first focusable button
52
+ * @returns {void}
53
+ */
54
+ private first;
55
+ /**
56
+ * Navigate to the last focusable button
57
+ * @returns {void}
58
+ */
59
+ private last;
60
+ /**
61
+ * Sets the tabindex to -1 for all buttons except the currently focused one.
62
+ * @param target the button to be focused
63
+ * @param buttons Array of Buttons that contains target
64
+ * @returns {void}
65
+ */
66
+ private rovingTabIndex;
67
+ /**
68
+ * Set tabIndex to all buttons
69
+ * @returns {void}
70
+ */
71
+ private manageTabIndex;
72
+ /**
73
+ * Check if button bar is nested, a.k.a. has parent button bar
74
+ * @returns `True` if button bar is nested
75
+ */
76
+ private isNested;
33
77
  /**
34
78
  * Handles tap event
35
79
  * @param event the param is the event of click and tap handlers
@@ -47,6 +91,11 @@ export declare class ButtonBar extends BasicElement {
47
91
  * @returns the array of Element of the default slot
48
92
  */
49
93
  private getElementsOfSlot;
94
+ /**
95
+ * Return the array of Buttons which focusable
96
+ * @returns the array of focusable Buttons
97
+ */
98
+ private getFocusableButtons;
50
99
  /**
51
100
  * Filter Button classes by the toggles property
52
101
  * @param buttons the array of Button items is the converted nodes of the default slot
@@ -1,20 +1,30 @@
1
+ var ButtonBar_1;
1
2
  import { __decorate } from "tslib";
2
3
  import { BasicElement, html, css } from '@refinitiv-ui/core';
3
- import { customElement } from '@refinitiv-ui/core/lib/decorators/custom-element.js';
4
- import { query } from '@refinitiv-ui/core/lib/decorators/query.js';
5
- import { property } from '@refinitiv-ui/core/lib/decorators/property.js';
4
+ import { customElement } from '@refinitiv-ui/core/decorators/custom-element.js';
5
+ import { property } from '@refinitiv-ui/core/decorators/property.js';
6
+ import { ref, createRef } from '@refinitiv-ui/core/directives/ref.js';
6
7
  import { VERSION } from '../version.js';
7
8
  import { Button } from '../button/index.js';
8
9
  /**
9
10
  * Used to display multiple buttons to create a list of commands bar.
10
11
  */
11
- let ButtonBar = class ButtonBar extends BasicElement {
12
+ let ButtonBar = ButtonBar_1 = class ButtonBar extends BasicElement {
12
13
  constructor() {
13
14
  super(...arguments);
15
+ /**
16
+ * Element's role attribute for accessibility
17
+ * `role` should be `radiogroup` when it is managed.
18
+ */
19
+ this.defaultRole = 'toolbar';
14
20
  /**
15
21
  * Manages user interaction, only allowing one toggle button to be active at any one time.
16
22
  */
17
23
  this.managed = false;
24
+ /**
25
+ * Default slot
26
+ */
27
+ this.defaultSlot = createRef();
18
28
  }
19
29
  /**
20
30
  * Element version number
@@ -84,6 +94,130 @@ let ButtonBar = class ButtonBar extends BasicElement {
84
94
  firstUpdated(changedProperties) {
85
95
  super.firstUpdated(changedProperties);
86
96
  this.addEventListener('tap', this.onTapHandler);
97
+ this.addEventListener('keydown', this.onKeyDown);
98
+ this.manageTabIndex();
99
+ }
100
+ /**
101
+ * Handles key down event
102
+ * @param event Key down event object
103
+ * @returns {void}
104
+ */
105
+ onKeyDown(event) {
106
+ switch (event.key) {
107
+ case 'Tab':
108
+ // To prevent inserting button case, make sure there is only one tabIndex=0 in the buttons
109
+ this.manageTabIndex();
110
+ break;
111
+ case ' ':
112
+ case 'Spacebar':
113
+ case 'Enter':
114
+ this.onTapHandler(event);
115
+ break;
116
+ case 'Right':
117
+ case 'ArrowRight':
118
+ // Prevent calling twice if this component is nested
119
+ !this.isNested() && this.navigateToSibling('next');
120
+ break;
121
+ case 'Down':
122
+ case 'ArrowDown':
123
+ // Managed works as role radiogroup so `Up` and `Down` key can navigate among radios in the group
124
+ this.managed && this.navigateToSibling('next');
125
+ break;
126
+ case 'Left':
127
+ case 'ArrowLeft':
128
+ !this.isNested() && this.navigateToSibling('previous');
129
+ break;
130
+ case 'Up':
131
+ case 'ArrowUp':
132
+ this.managed && this.navigateToSibling('previous');
133
+ break;
134
+ case 'Home':
135
+ !this.isNested() && this.first();
136
+ break;
137
+ case 'End':
138
+ !this.isNested() && this.last();
139
+ break;
140
+ default:
141
+ return;
142
+ }
143
+ }
144
+ /**
145
+ * Navigate to next or previous focusable button
146
+ * @param direction next | down
147
+ * @returns {void}
148
+ */
149
+ navigateToSibling(direction) {
150
+ const buttons = this.getFocusableButtons();
151
+ if (buttons.length <= 0) {
152
+ return;
153
+ }
154
+ const focusedButtonIndex = buttons.findIndex(button => button === document.activeElement);
155
+ const nextButton = direction === 'next'
156
+ ? buttons[focusedButtonIndex + 1] || buttons[0]
157
+ : buttons[focusedButtonIndex - 1] || buttons[buttons.length - 1];
158
+ nextButton.focus();
159
+ this.rovingTabIndex(nextButton, buttons);
160
+ }
161
+ /**
162
+ * Navigate to the first focusable button
163
+ * @returns {void}
164
+ */
165
+ first() {
166
+ const buttons = this.getFocusableButtons();
167
+ if (buttons.length <= 0) {
168
+ return;
169
+ }
170
+ buttons[0].focus();
171
+ this.rovingTabIndex(buttons[0], buttons);
172
+ }
173
+ /**
174
+ * Navigate to the last focusable button
175
+ * @returns {void}
176
+ */
177
+ last() {
178
+ const buttons = this.getFocusableButtons();
179
+ if (buttons.length <= 0) {
180
+ return;
181
+ }
182
+ buttons[buttons.length - 1].focus();
183
+ this.rovingTabIndex(buttons[buttons.length - 1], buttons);
184
+ }
185
+ /**
186
+ * Sets the tabindex to -1 for all buttons except the currently focused one.
187
+ * @param target the button to be focused
188
+ * @param buttons Array of Buttons that contains target
189
+ * @returns {void}
190
+ */
191
+ rovingTabIndex(target, buttons) {
192
+ buttons.forEach((button) => {
193
+ button.tabIndex = -1;
194
+ });
195
+ target.tabIndex = 0;
196
+ }
197
+ /**
198
+ * Set tabIndex to all buttons
199
+ * @returns {void}
200
+ */
201
+ manageTabIndex() {
202
+ if (this.isNested()) {
203
+ return;
204
+ }
205
+ const buttons = this.getFocusableButtons();
206
+ if (buttons && buttons.length > 0) {
207
+ // Set tabindex=0 to previous focused button when new button added If not found set it to first button instead
208
+ let focusedButtonIndex = buttons.findIndex(button => document.activeElement === button);
209
+ if (focusedButtonIndex === -1) {
210
+ focusedButtonIndex = 0;
211
+ }
212
+ this.rovingTabIndex(buttons[focusedButtonIndex], buttons);
213
+ }
214
+ }
215
+ /**
216
+ * Check if button bar is nested, a.k.a. has parent button bar
217
+ * @returns `True` if button bar is nested
218
+ */
219
+ isNested() {
220
+ return this.parentElement instanceof ButtonBar_1;
87
221
  }
88
222
  /**
89
223
  * Handles tap event
@@ -99,6 +233,8 @@ let ButtonBar = class ButtonBar extends BasicElement {
99
233
  event.stopPropagation();
100
234
  this.manageButtons(target);
101
235
  }
236
+ target.focus();
237
+ this.rovingTabIndex(target, this.getFocusableButtons());
102
238
  }
103
239
  /**
104
240
  * Get the target Button item and handle it with other managed Button items
@@ -120,8 +256,15 @@ let ButtonBar = class ButtonBar extends BasicElement {
120
256
  * @returns the array of Element of the default slot
121
257
  */
122
258
  getElementsOfSlot() {
123
- return this.defaultSlot.assignedNodes()
124
- .filter(node => node instanceof Element);
259
+ var _a;
260
+ return (_a = this.defaultSlot.value) === null || _a === void 0 ? void 0 : _a.assignedNodes().filter(node => node instanceof Element);
261
+ }
262
+ /**
263
+ * Return the array of Buttons which focusable
264
+ * @returns the array of focusable Buttons
265
+ */
266
+ getFocusableButtons() {
267
+ return [...this.querySelectorAll('ef-button,coral-button')].filter(button => !button.disabled);
125
268
  }
126
269
  /**
127
270
  * Filter Button classes by the toggles property
@@ -138,16 +281,13 @@ let ButtonBar = class ButtonBar extends BasicElement {
138
281
  * @return {TemplateResult} Render template
139
282
  */
140
283
  render() {
141
- return html `<slot></slot>`;
284
+ return html `<slot ${ref(this.defaultSlot)} ></slot>`;
142
285
  }
143
286
  };
144
287
  __decorate([
145
288
  property({ type: Boolean, reflect: true })
146
289
  ], ButtonBar.prototype, "managed", void 0);
147
- __decorate([
148
- query('slot:not([name])')
149
- ], ButtonBar.prototype, "defaultSlot", void 0);
150
- ButtonBar = __decorate([
290
+ ButtonBar = ButtonBar_1 = __decorate([
151
291
  customElement('ef-button-bar', {
152
292
  alias: 'coral-split-button'
153
293
  })
@@ -1,4 +1,4 @@
1
- import { uuid } from '@refinitiv-ui/utils/lib/uuid.js';
1
+ import { uuid } from '@refinitiv-ui/utils/uuid.js';
2
2
  export var RenderView;
3
3
  (function (RenderView) {
4
4
  RenderView["DAY"] = "day";
@@ -4,7 +4,7 @@ import { TranslateDirective, TranslatePromise } from '@refinitiv-ui/translate';
4
4
  import { CalendarFilter } from './types';
5
5
  import './locales.js';
6
6
  import '../button/index.js';
7
- import '@refinitiv-ui/phrasebook/lib/locale/en/calendar.js';
7
+ import '@refinitiv-ui/phrasebook/locale/en/calendar.js';
8
8
  export { CalendarFilter };
9
9
  /**
10
10
  * Standard calendar element
@@ -1,22 +1,22 @@
1
1
  import { __decorate } from "tslib";
2
2
  import { ControlElement, html, css, WarningNotice } 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 { state } from '@refinitiv-ui/core/lib/decorators/state.js';
6
- import { ifDefined } from '@refinitiv-ui/core/lib/directives/if-defined.js';
7
- import { cache } from '@refinitiv-ui/core/lib/directives/cache.js';
8
- import { guard } from '@refinitiv-ui/core/lib/directives/guard.js';
9
- import { ref, createRef } from '@refinitiv-ui/core/lib/directives/ref.js';
3
+ import { customElement } from '@refinitiv-ui/core/decorators/custom-element.js';
4
+ import { property } from '@refinitiv-ui/core/decorators/property.js';
5
+ import { state } from '@refinitiv-ui/core/decorators/state.js';
6
+ import { ifDefined } from '@refinitiv-ui/core/directives/if-defined.js';
7
+ import { cache } from '@refinitiv-ui/core/directives/cache.js';
8
+ import { guard } from '@refinitiv-ui/core/directives/guard.js';
9
+ import { ref, createRef } from '@refinitiv-ui/core/directives/ref.js';
10
10
  import { VERSION } from '../version.js';
11
- import { isIE } from '@refinitiv-ui/utils/lib/browser.js';
12
- import { DateFormat, format, utcFormat, utcParse, isValidDate, isWeekend, isAfter, isBefore, addMonths, subMonths, isToday, isThisMonth, isThisYear, isSameDay, isSameMonth, isSameYear, toDateSegment, parse } from '@refinitiv-ui/utils/lib/date.js';
13
- import { left, right, up, down, first, last } from '@refinitiv-ui/utils/lib/navigation.js';
11
+ import { isIE } from '@refinitiv-ui/utils/browser.js';
12
+ import { DateFormat, format, utcFormat, utcParse, isValidDate, isWeekend, isAfter, isBefore, addMonths, subMonths, isToday, isThisMonth, isThisYear, isSameDay, isSameMonth, isSameYear, toDateSegment, parse } from '@refinitiv-ui/utils/date.js';
13
+ import { left, right, up, down, first, last } from '@refinitiv-ui/utils/navigation.js';
14
14
  import { monthInfo, weekdaysNames, monthsNames, formatLocaleDate, ViewFormatTranslateParams } from './utils.js';
15
15
  import { translate, getLocale, TranslatePropertyKey } from '@refinitiv-ui/translate';
16
16
  import { RenderView, CalendarLocaleScope, FIRST_DAY_OF_WEEK, YEARS_PER_YEAR_VIEW, DAY_VIEW, YEAR_VIEW, MONTH_VIEW } from './constants.js';
17
17
  import './locales.js';
18
18
  import '../button/index.js';
19
- import '@refinitiv-ui/phrasebook/lib/locale/en/calendar.js';
19
+ import '@refinitiv-ui/phrasebook/locale/en/calendar.js';
20
20
  /**
21
21
  * Standard calendar element
22
22
  *
@@ -1,4 +1,4 @@
1
- import { CellIndex } from '@refinitiv-ui/utils/lib/navigation.js';
1
+ import { CellIndex } from '@refinitiv-ui/utils/navigation.js';
2
2
  import { RenderView } from './constants.js';
3
3
  export interface CellSelectionModel {
4
4
  selected?: boolean;
@@ -1,4 +1,4 @@
1
- import { toDateSegment, getDaysInMonth, utcParse } from '@refinitiv-ui/utils/lib/date.js';
1
+ import { toDateSegment, getDaysInMonth, utcParse } from '@refinitiv-ui/utils/date.js';
2
2
  import { DEFAULT_LOCALE, resolveLocale } from '@refinitiv-ui/i18n';
3
3
  import { CalendarLocaleScope } from './constants.js';
4
4
  /**
@@ -1,7 +1,7 @@
1
1
  import { __decorate } from "tslib";
2
2
  import { ResponsiveElement, html, css } 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';
3
+ import { customElement } from '@refinitiv-ui/core/decorators/custom-element.js';
4
+ import { property } from '@refinitiv-ui/core/decorators/property.js';
5
5
  import { VERSION } from '../version.js';
6
6
  /**
7
7
  * A Component uses to draw graphics on a web page,