@refinitiv-ui/elements 6.8.8 → 6.8.9

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 (208) hide show
  1. package/CHANGELOG.md +177 -442
  2. package/LICENSE +1 -1
  3. package/README.md +13 -11
  4. package/lib/accordion/index.d.ts +1 -1
  5. package/lib/accordion/index.js +4 -7
  6. package/lib/appstate-bar/index.d.ts +2 -2
  7. package/lib/appstate-bar/index.js +10 -4
  8. package/lib/autosuggest/index.d.ts +7 -7
  9. package/lib/autosuggest/index.js +85 -80
  10. package/lib/autosuggest/themes/solar/charcoal/index.js +1 -1
  11. package/lib/autosuggest/themes/solar/pearl/index.js +1 -1
  12. package/lib/button/index.js +7 -10
  13. package/lib/button-bar/index.d.ts +1 -1
  14. package/lib/button-bar/index.js +12 -12
  15. package/lib/calendar/index.d.ts +39 -39
  16. package/lib/calendar/index.js +160 -125
  17. package/lib/calendar/utils.js +2 -2
  18. package/lib/canvas/index.d.ts +1 -1
  19. package/lib/canvas/index.js +2 -4
  20. package/lib/card/helpers/types.d.ts +2 -2
  21. package/lib/card/index.d.ts +5 -5
  22. package/lib/card/index.js +34 -28
  23. package/lib/chart/helpers/legend.js +10 -8
  24. package/lib/chart/index.d.ts +3 -3
  25. package/lib/chart/index.js +17 -17
  26. package/lib/chart/plugins/doughnut-center-label.js +6 -5
  27. package/lib/checkbox/index.d.ts +1 -1
  28. package/lib/checkbox/index.js +12 -13
  29. package/lib/clock/index.d.ts +55 -55
  30. package/lib/clock/index.js +84 -95
  31. package/lib/clock/themes/halo/dark/index.js +1 -1
  32. package/lib/clock/themes/halo/light/index.js +1 -1
  33. package/lib/clock/themes/solar/charcoal/index.js +1 -1
  34. package/lib/clock/themes/solar/pearl/index.js +1 -1
  35. package/lib/collapse/index.d.ts +1 -1
  36. package/lib/collapse/index.js +28 -19
  37. package/lib/collapse/themes/halo/dark/index.js +1 -1
  38. package/lib/collapse/themes/halo/light/index.js +1 -1
  39. package/lib/color-dialog/elements/color-palettes.d.ts +1 -1
  40. package/lib/color-dialog/elements/color-palettes.js +5 -6
  41. package/lib/color-dialog/elements/grayscale-palettes.d.ts +1 -1
  42. package/lib/color-dialog/elements/grayscale-palettes.js +9 -9
  43. package/lib/color-dialog/elements/palettes.js +5 -4
  44. package/lib/color-dialog/helpers/value-model.js +7 -9
  45. package/lib/color-dialog/index.d.ts +6 -6
  46. package/lib/color-dialog/index.js +53 -37
  47. package/lib/color-picker/index.d.ts +2 -2
  48. package/lib/color-picker/index.js +40 -34
  49. package/lib/combo-box/helpers/filter.d.ts +2 -2
  50. package/lib/combo-box/helpers/types.d.ts +1 -1
  51. package/lib/combo-box/index.d.ts +9 -9
  52. package/lib/combo-box/index.js +61 -55
  53. package/lib/configuration/elements/configuration.js +2 -2
  54. package/lib/counter/index.d.ts +4 -4
  55. package/lib/counter/index.js +9 -7
  56. package/lib/datetime-field/index.d.ts +4 -5
  57. package/lib/datetime-field/index.js +32 -23
  58. package/lib/datetime-field/utils.js +11 -1
  59. package/lib/datetime-picker/index.d.ts +75 -75
  60. package/lib/datetime-picker/index.js +151 -132
  61. package/lib/datetime-picker/locales.js +5 -5
  62. package/lib/datetime-picker/utils.js +9 -9
  63. package/lib/dialog/draggable-element.js +1 -2
  64. package/lib/dialog/index.d.ts +6 -6
  65. package/lib/dialog/index.js +48 -38
  66. package/lib/email-field/index.d.ts +1 -1
  67. package/lib/email-field/index.js +6 -6
  68. package/lib/events.d.ts +1 -1
  69. package/lib/flag/index.d.ts +1 -1
  70. package/lib/flag/index.js +6 -5
  71. package/lib/flag/utils/FlagLoader.js +1 -1
  72. package/lib/header/index.d.ts +1 -1
  73. package/lib/header/index.js +2 -2
  74. package/lib/header/themes/halo/dark/index.js +1 -1
  75. package/lib/header/themes/halo/light/index.js +1 -1
  76. package/lib/header/themes/solar/charcoal/index.js +1 -1
  77. package/lib/header/themes/solar/pearl/index.js +1 -1
  78. package/lib/heatmap/helpers/color.d.ts +1 -1
  79. package/lib/heatmap/helpers/color.js +11 -5
  80. package/lib/heatmap/helpers/track.js +3 -3
  81. package/lib/heatmap/index.d.ts +9 -9
  82. package/lib/heatmap/index.js +51 -42
  83. package/lib/icon/index.d.ts +2 -2
  84. package/lib/icon/index.js +6 -8
  85. package/lib/icon/utils/IconLoader.d.ts +1 -0
  86. package/lib/icon/utils/IconLoader.js +9 -1
  87. package/lib/interactive-chart/helpers/types.d.ts +3 -3
  88. package/lib/interactive-chart/index.d.ts +34 -34
  89. package/lib/interactive-chart/index.js +72 -57
  90. package/lib/item/helpers/types.d.ts +1 -1
  91. package/lib/item/index.d.ts +3 -3
  92. package/lib/item/index.js +24 -20
  93. package/lib/jsx.d.ts +6 -4
  94. package/lib/label/index.d.ts +1 -1
  95. package/lib/label/index.js +11 -8
  96. package/lib/layout/index.d.ts +7 -7
  97. package/lib/layout/index.js +7 -7
  98. package/lib/led-gauge/index.d.ts +1 -1
  99. package/lib/led-gauge/index.js +10 -10
  100. package/lib/list/elements/list.d.ts +3 -3
  101. package/lib/list/elements/list.js +10 -12
  102. package/lib/list/helpers/renderer.js +2 -2
  103. package/lib/list/helpers/types.d.ts +1 -1
  104. package/lib/list/index.d.ts +1 -1
  105. package/lib/list/renderer.d.ts +7 -7
  106. package/lib/loader/index.js +7 -8
  107. package/lib/multi-input/index.d.ts +6 -6
  108. package/lib/multi-input/index.js +39 -45
  109. package/lib/notification/elements/notification-tray.d.ts +2 -2
  110. package/lib/notification/elements/notification-tray.js +3 -3
  111. package/lib/notification/elements/notification.d.ts +2 -2
  112. package/lib/notification/elements/notification.js +22 -14
  113. package/lib/notification/helpers/status.js +1 -1
  114. package/lib/number-field/index.d.ts +5 -6
  115. package/lib/number-field/index.js +37 -47
  116. package/lib/overlay/elements/overlay-viewport.d.ts +1 -1
  117. package/lib/overlay/elements/overlay.d.ts +2 -2
  118. package/lib/overlay/elements/overlay.js +154 -98
  119. package/lib/overlay/helpers/types.d.ts +1 -1
  120. package/lib/overlay/managers/backdrop-manager.d.ts +1 -1
  121. package/lib/overlay/managers/backdrop-manager.js +2 -2
  122. package/lib/overlay/managers/close-manager.js +2 -1
  123. package/lib/overlay/managers/focus-manager.js +23 -13
  124. package/lib/overlay/managers/interaction-lock-manager.d.ts +4 -4
  125. package/lib/overlay/managers/interaction-lock-manager.js +33 -25
  126. package/lib/overlay/managers/viewport-manager.d.ts +2 -2
  127. package/lib/overlay/managers/viewport-manager.js +3 -2
  128. package/lib/overlay/managers/zindex-manager.js +4 -2
  129. package/lib/overlay-menu/helpers/types.d.ts +2 -2
  130. package/lib/overlay-menu/index.d.ts +1 -1
  131. package/lib/overlay-menu/index.js +44 -33
  132. package/lib/overlay-menu/managers/menu-manager.d.ts +10 -10
  133. package/lib/overlay-menu/managers/menu-manager.js +15 -13
  134. package/lib/pagination/index.d.ts +4 -4
  135. package/lib/pagination/index.js +39 -14
  136. package/lib/panel/index.js +1 -1
  137. package/lib/password-field/index.d.ts +2 -2
  138. package/lib/password-field/index.js +4 -4
  139. package/lib/pill/index.d.ts +1 -1
  140. package/lib/pill/index.js +22 -19
  141. package/lib/progress-bar/index.d.ts +1 -1
  142. package/lib/progress-bar/index.js +38 -37
  143. package/lib/radio-button/index.d.ts +2 -2
  144. package/lib/radio-button/index.js +17 -12
  145. package/lib/radio-button/radio-button-registry.js +8 -5
  146. package/lib/rating/index.d.ts +1 -1
  147. package/lib/rating/index.js +2 -5
  148. package/lib/rating/utils.d.ts +6 -6
  149. package/lib/rating/utils.js +6 -6
  150. package/lib/search-field/index.d.ts +2 -2
  151. package/lib/search-field/index.js +4 -4
  152. package/lib/select/index.d.ts +34 -34
  153. package/lib/select/index.js +69 -82
  154. package/lib/sidebar-layout/index.d.ts +2 -2
  155. package/lib/sidebar-layout/index.js +7 -9
  156. package/lib/slider/index.d.ts +2 -2
  157. package/lib/slider/index.js +57 -45
  158. package/lib/slider/utils.d.ts +10 -10
  159. package/lib/slider/utils.js +10 -10
  160. package/lib/sparkline/index.d.ts +1 -1
  161. package/lib/sparkline/index.js +7 -8
  162. package/lib/swing-gauge/helpers.js +2 -2
  163. package/lib/swing-gauge/index.d.ts +19 -19
  164. package/lib/swing-gauge/index.js +91 -81
  165. package/lib/tab/index.d.ts +1 -1
  166. package/lib/tab/index.js +16 -27
  167. package/lib/tab/themes/halo/dark/index.js +1 -1
  168. package/lib/tab/themes/halo/light/index.js +1 -1
  169. package/lib/tab/themes/solar/charcoal/index.js +1 -1
  170. package/lib/tab/themes/solar/pearl/index.js +1 -1
  171. package/lib/tab-bar/helpers/animate.js +1 -1
  172. package/lib/tab-bar/index.d.ts +1 -1
  173. package/lib/tab-bar/index.js +34 -18
  174. package/lib/tab-bar/themes/halo/dark/index.js +1 -1
  175. package/lib/tab-bar/themes/halo/light/index.js +1 -1
  176. package/lib/text-field/index.d.ts +1 -1
  177. package/lib/text-field/index.js +36 -33
  178. package/lib/time-picker/index.d.ts +6 -6
  179. package/lib/time-picker/index.js +104 -90
  180. package/lib/toggle/index.d.ts +1 -1
  181. package/lib/toggle/index.js +4 -3
  182. package/lib/tooltip/elements/title-tooltip.js +2 -2
  183. package/lib/tooltip/index.d.ts +27 -27
  184. package/lib/tooltip/index.js +42 -38
  185. package/lib/tooltip/managers/tooltip-manager.d.ts +1 -1
  186. package/lib/tornado-chart/elements/tornado-chart.d.ts +1 -1
  187. package/lib/tornado-chart/elements/tornado-chart.js +1 -1
  188. package/lib/tornado-chart/elements/tornado-item.d.ts +2 -2
  189. package/lib/tornado-chart/elements/tornado-item.js +12 -10
  190. package/lib/tree/elements/tree-item.d.ts +3 -3
  191. package/lib/tree/elements/tree-item.js +21 -19
  192. package/lib/tree/elements/tree.d.ts +1 -1
  193. package/lib/tree/elements/tree.js +12 -11
  194. package/lib/tree/helpers/renderer.js +4 -3
  195. package/lib/tree/index.d.ts +1 -1
  196. package/lib/tree/managers/tree-manager.d.ts +1 -1
  197. package/lib/tree/managers/tree-manager.js +17 -18
  198. package/lib/tree/themes/solar/charcoal/index.js +1 -1
  199. package/lib/tree/themes/solar/pearl/index.js +1 -1
  200. package/lib/tree-select/index.d.ts +9 -9
  201. package/lib/tree-select/index.js +91 -82
  202. package/lib/tree-select/themes/halo/dark/index.js +1 -1
  203. package/lib/tree-select/themes/halo/light/index.js +1 -1
  204. package/lib/tree-select/themes/solar/charcoal/index.js +1 -1
  205. package/lib/tree-select/themes/solar/pearl/index.js +1 -1
  206. package/lib/version.js +1 -1
  207. package/package.json +16 -16
  208. package/tsconfig.tsbuildinfo +1 -1
@@ -1,31 +1,25 @@
1
1
  import { __decorate } from "tslib";
2
- import { ControlElement, html, css, FocusedPropertyKey } from '@refinitiv-ui/core';
2
+ import { ControlElement, FocusedPropertyKey, css, html } from '@refinitiv-ui/core';
3
3
  import { customElement } from '@refinitiv-ui/core/decorators/custom-element.js';
4
4
  import { property } from '@refinitiv-ui/core/decorators/property.js';
5
- import { styleMap } from '@refinitiv-ui/core/directives/style-map.js';
6
5
  import { createRef, ref } from '@refinitiv-ui/core/directives/ref.js';
7
- import { VERSION } from '../version.js';
8
- import '../overlay/index.js';
9
- import '../item/index.js';
10
- import '../icon/index.js';
11
- import { Item } from '../item/index.js';
6
+ import { styleMap } from '@refinitiv-ui/core/directives/style-map.js';
7
+ import { AnimationTaskRunner, TimeoutTaskRunner } from '@refinitiv-ui/utils/async.js';
12
8
  import { CollectionComposer } from '@refinitiv-ui/utils/collection.js';
13
- import { TimeoutTaskRunner, AnimationTaskRunner } from '@refinitiv-ui/utils/async.js';
14
9
  import { isElementOverflown } from '@refinitiv-ui/utils/element.js';
10
+ import '../icon/index.js';
11
+ import '../item/index.js';
12
+ import { Item } from '../item/index.js';
13
+ import '../overlay/index.js';
15
14
  import { registerOverflowTooltip } from '../tooltip/index.js';
15
+ import { VERSION } from '../version.js';
16
16
  // Observer config for items
17
17
  const observerOptions = {
18
18
  subtree: true,
19
19
  childList: true,
20
20
  attributes: true,
21
21
  characterData: true,
22
- attributeFilter: [
23
- 'label',
24
- 'value',
25
- 'selected',
26
- 'disabled',
27
- 'readonly'
28
- ]
22
+ attributeFilter: ['label', 'value', 'selected', 'disabled', 'readonly']
29
23
  };
30
24
  const LABEL_SEPARATOR = ', '; // TODO: for multiselect
31
25
  const POPUP_POSITION = ['bottom-start', 'top-start'];
@@ -61,20 +55,20 @@ let Select = class Select extends ControlElement {
61
55
  this.keySearchThrottler = new TimeoutTaskRunner(KEY_SEARCH_DEBOUNCER);
62
56
  this.resizeThrottler = new AnimationTaskRunner();
63
57
  /**
64
- * Placeholder to display when no value is set
65
- */
58
+ * Placeholder to display when no value is set
59
+ */
66
60
  this.placeholder = '';
67
61
  /**
68
- * Toggles the opened state of the list
69
- */
62
+ * Toggles the opened state of the list
63
+ */
70
64
  this.opened = false;
71
65
  /**
72
- * Set state to error
73
- */
66
+ * Set state to error
67
+ */
74
68
  this.error = false;
75
69
  /**
76
- * Set state to warning
77
- */
70
+ * Set state to warning
71
+ */
78
72
  this.warning = false;
79
73
  /**
80
74
  * This variable is here to ensure that the value and data are in sync when data is set after the value.
@@ -98,8 +92,7 @@ let Select = class Select extends ControlElement {
98
92
  * @returns {void}
99
93
  */
100
94
  this.handleMutations = (mutations) => {
101
- const hasLightDomMutations = mutations
102
- .some(m => m.target.getRootNode() !== this.shadowRoot);
95
+ const hasLightDomMutations = mutations.some((m) => m.target.getRootNode() !== this.shadowRoot);
103
96
  if (hasLightDomMutations) {
104
97
  this.requestUpdate();
105
98
  }
@@ -136,19 +129,19 @@ let Select = class Select extends ControlElement {
136
129
  display: inline-block;
137
130
  }
138
131
 
139
- [part=label],
140
- [part=placeholder] {
132
+ [part='label'],
133
+ [part='placeholder'] {
141
134
  white-space: nowrap;
142
135
  overflow: hidden;
143
136
  text-overflow: ellipsis;
144
137
  }
145
- [part=icon] {
138
+ [part='icon'] {
146
139
  flex: none;
147
140
  }
148
- :host [part=list] {
141
+ :host [part='list'] {
149
142
  overflow-y: auto;
150
143
  }
151
- :host [part="list"] ::slotted(:not(ef-item)) {
144
+ :host [part='list'] ::slotted(:not(ef-item)) {
152
145
  display: none;
153
146
  }
154
147
  #box {
@@ -190,42 +183,42 @@ let Select = class Select extends ControlElement {
190
183
  `;
191
184
  }
192
185
  /**
193
- * Current text content of the selected value
194
- * @readonly
195
- */
186
+ * Current text content of the selected value
187
+ * @readonly
188
+ */
196
189
  get label() {
197
190
  return this.labels[0];
198
191
  }
199
192
  /**
200
- * Current text content of the selected values
201
- * @ignore
202
- * @readonly
203
- */
193
+ * Current text content of the selected values
194
+ * @ignore
195
+ * @readonly
196
+ */
204
197
  get labels() {
205
198
  if (this.hasDataItems()) {
206
- return this.selectedDataItems.map(item => this.composer.getItemPropertyValue(item, 'label'));
199
+ return this.selectedDataItems.map((item) => this.composer.getItemPropertyValue(item, 'label'));
207
200
  }
208
- return this.selectedSlotItems.map(item => this.getItemLabel(item));
201
+ return this.selectedSlotItems.map((item) => this.getItemLabel(item));
209
202
  }
210
203
  /**
211
- * Switch to multiple select input
212
- * @ignore
213
- * @param multiple True if element needs to support multi selection
214
- */
204
+ * Switch to multiple select input
205
+ * @ignore
206
+ * @param multiple True if element needs to support multi selection
207
+ */
215
208
  set multiple(multiple) {
216
209
  // TODO: not implemented
217
210
  }
218
211
  /**
219
- * @ignore
220
- */
212
+ * @ignore
213
+ */
221
214
  get multiple() {
222
215
  return false;
223
216
  }
224
217
  /**
225
- * Construct the menu from data object. Cannot be used with slotted content
226
- * @type {SelectData | null}
227
- * @default null
228
- */
218
+ * Construct the menu from data object. Cannot be used with slotted content
219
+ * @type {SelectData | null}
220
+ * @default null
221
+ */
229
222
  get data() {
230
223
  return this._data;
231
224
  }
@@ -249,10 +242,10 @@ let Select = class Select extends ControlElement {
249
242
  this.requestUpdate('data', oldValue);
250
243
  }
251
244
  /**
252
- * Value of the element
253
- * @param value Element value
254
- * @default -
255
- */
245
+ * Value of the element
246
+ * @param value Element value
247
+ * @default -
248
+ */
256
249
  set value(value) {
257
250
  value = this.castValue(value);
258
251
  this.cachedValue = value;
@@ -276,9 +269,9 @@ let Select = class Select extends ControlElement {
276
269
  */
277
270
  get values() {
278
271
  if (this.hasDataItems()) {
279
- return this.selectedDataItems.map(item => this.composer.getItemPropertyValue(item, 'value'));
272
+ return this.selectedDataItems.map((item) => this.composer.getItemPropertyValue(item, 'value'));
280
273
  }
281
- return this.selectedSlotItems.map(item => this.getItemValue(item));
274
+ return this.selectedSlotItems.map((item) => this.getItemValue(item));
282
275
  }
283
276
  /**
284
277
  * Called when connected to DOM
@@ -295,7 +288,8 @@ let Select = class Select extends ControlElement {
295
288
  * @returns {void}
296
289
  */
297
290
  update(changedProperties) {
298
- this.cachedValue = ''; /* reset cached value as it is only valid when value and data are set the same time */
291
+ this.cachedValue =
292
+ ''; /* reset cached value as it is only valid when value and data are set the same time */
299
293
  const focusedChanged = changedProperties.has(FocusedPropertyKey);
300
294
  // the opened logic is bound to focus state
301
295
  if (focusedChanged) {
@@ -327,7 +321,7 @@ let Select = class Select extends ControlElement {
327
321
  firstUpdated(changedProperties) {
328
322
  super.firstUpdated(changedProperties);
329
323
  this.addEventListener('keydown', this.onKeyDown); /* keydown when select is closed */
330
- registerOverflowTooltip(this, () => this.labelText, () => this.labelRef.value ? isElementOverflown(this.labelRef.value) : false);
324
+ registerOverflowTooltip(this, () => this.labelText, () => (this.labelRef.value ? isElementOverflown(this.labelRef.value) : false));
331
325
  }
332
326
  /**
333
327
  * Called when element finished updating
@@ -397,7 +391,8 @@ let Select = class Select extends ControlElement {
397
391
  // this code might happen only when opened has been set during initialisation
398
392
  // or when display is set to none
399
393
  this.resizeThrottler.schedule(() => {
400
- if (this.offsetWidth) { /* must be here to avoid infinitive loop */
394
+ if (this.offsetWidth) {
395
+ /* must be here to avoid infinitive loop */
401
396
  this.restrictPopupWidth();
402
397
  this.requestUpdate();
403
398
  }
@@ -500,7 +495,7 @@ let Select = class Select extends ControlElement {
500
495
  */
501
496
  onPopupClosed({ target }) {
502
497
  const eventOptions = {
503
- capture: true,
498
+ /* need this for IE11, otherwise the event is not removed */ capture: true,
504
499
  passive: true
505
500
  };
506
501
  target?.removeEventListener('scroll', this.onPopupScroll, eventOptions);
@@ -601,10 +596,7 @@ let Select = class Select extends ControlElement {
601
596
  */
602
597
  isValidFilterKey(event) {
603
598
  // all printable keys have length of 1. This is better than regexp as we cover all non latin characters
604
- return event.key.length === 1
605
- && !event.ctrlKey
606
- && !event.altKey
607
- && !event.metaKey;
599
+ return event.key.length === 1 && !event.ctrlKey && !event.altKey && !event.metaKey;
608
600
  }
609
601
  /**
610
602
  * Focus and highlight element according to specified direction
@@ -676,7 +668,7 @@ let Select = class Select extends ControlElement {
676
668
  let selectableElements = this.getSelectableElements();
677
669
  const highlightedIdx = this.highlightedItem ? selectableElements.indexOf(this.highlightedItem) : -1;
678
670
  selectableElements = selectableElements.concat(selectableElements.splice(0, highlightedIdx));
679
- const focusElement = selectableElements.find(item => {
671
+ const focusElement = selectableElements.find((item) => {
680
672
  const label = this.getItemLabel(item).toLowerCase();
681
673
  return label.startsWith(this.keySearchTerm) && item !== this.highlightedItem;
682
674
  });
@@ -738,7 +730,7 @@ let Select = class Select extends ControlElement {
738
730
  * @returns A list of selected elements
739
731
  */
740
732
  getSelectedElements() {
741
- return this.getSelectableElements().filter(item => item.selected);
733
+ return this.getSelectableElements().filter((item) => item.selected);
742
734
  }
743
735
  /**
744
736
  * Clears the current selected items
@@ -749,7 +741,7 @@ let Select = class Select extends ControlElement {
749
741
  this.selectedDataItems.forEach((item) => this.composer.setItemPropertyValue(item, 'selected', false));
750
742
  }
751
743
  else {
752
- this.selectedSlotItems.forEach(item => {
744
+ this.selectedSlotItems.forEach((item) => {
753
745
  item.selected = false;
754
746
  });
755
747
  }
@@ -861,11 +853,7 @@ let Select = class Select extends ControlElement {
861
853
  case 'divider':
862
854
  return html `<ef-item role="presentation" part="item" type="divider"></ef-item>`;
863
855
  case 'header':
864
- return html `<ef-item
865
- role="presentation"
866
- part="item"
867
- type="header"
868
- .label=${item.label}></ef-item>`;
856
+ return html `<ef-item role="presentation" part="item" type="header" .label=${item.label}></ef-item>`;
869
857
  // no default
870
858
  }
871
859
  return html `<ef-item
@@ -910,11 +898,11 @@ let Select = class Select extends ControlElement {
910
898
  * Get data iterator template
911
899
  */
912
900
  get dataContent() {
913
- return html `${this.composer.queryItems(() => true).map(item => this.toItem(item))}`;
901
+ return html `${this.composer.queryItems(() => true).map((item) => this.toItem(item))}`;
914
902
  }
915
903
  /**
916
- * Edit template when select is not readonly or disabled
917
- */
904
+ * Edit template when select is not readonly or disabled
905
+ */
918
906
  get popupTemplate() {
919
907
  if (this.lazyRendered) {
920
908
  return html `<ef-overlay
@@ -935,7 +923,9 @@ let Select = class Select extends ControlElement {
935
923
  @opened-changed="${this.onPopupOpenedChanged}"
936
924
  @opened="${this.onPopupOpened}"
937
925
  @refit=${this.onPopupRefit}
938
- @closed="${this.onPopupClosed}">${this.hasDataItems() ? this.dataContent : this.slottedContent}</ef-overlay>`;
926
+ @closed="${this.onPopupClosed}"
927
+ >${this.hasDataItems() ? this.dataContent : this.slottedContent}</ef-overlay
928
+ >`;
939
929
  }
940
930
  else {
941
931
  // This code is required because IE11 polyfill need items to be within a slot
@@ -949,14 +939,11 @@ let Select = class Select extends ControlElement {
949
939
  * @return Render template
950
940
  */
951
941
  render() {
952
- return html `
953
- <div id="box">
954
- <div id="text">
955
- ${this.placeholderHidden() ? this.labelTemplate : this.placeholderTemplate}
942
+ return html ` <div id="box">
943
+ <div id="text">${this.placeholderHidden() ? this.labelTemplate : this.placeholderTemplate}</div>
944
+ <ef-icon icon="down" part="icon"></ef-icon>
956
945
  </div>
957
- <ef-icon icon="down" part="icon"></ef-icon>
958
- </div>
959
- ${this.editTemplate}`;
946
+ ${this.editTemplate}`;
960
947
  }
961
948
  };
962
949
  __decorate([
@@ -1,7 +1,7 @@
1
1
  import { JSXInterface } from '../jsx';
2
- import { BasicElement, TemplateResult, CSSResultGroup, PropertyValues } from '@refinitiv-ui/core';
3
- import type { Layout } from '../layout';
2
+ import { BasicElement, CSSResultGroup, PropertyValues, TemplateResult } from '@refinitiv-ui/core';
4
3
  import '../layout/index.js';
4
+ import type { Layout } from '../layout';
5
5
  /**
6
6
  * Provides an app layout with sidebar.
7
7
  * There are 4 sections that can be slotted a component in.
@@ -1,10 +1,10 @@
1
1
  import { __decorate } from "tslib";
2
- import { BasicElement, html, css, nothing } from '@refinitiv-ui/core';
2
+ import { BasicElement, css, html, nothing } from '@refinitiv-ui/core';
3
3
  import { customElement } from '@refinitiv-ui/core/decorators/custom-element.js';
4
4
  import { property } from '@refinitiv-ui/core/decorators/property.js';
5
5
  import { query } from '@refinitiv-ui/core/decorators/query.js';
6
- import { VERSION } from '../version.js';
7
6
  import '../layout/index.js';
7
+ import { VERSION } from '../version.js';
8
8
  /**
9
9
  * Provides an app layout with sidebar.
10
10
  * There are 4 sections that can be slotted a component in.
@@ -45,7 +45,7 @@ let SidebarLayout = class SidebarLayout extends BasicElement {
45
45
  display: block;
46
46
  }
47
47
 
48
- [part=container] {
48
+ [part='container'] {
49
49
  height: 100%;
50
50
  }
51
51
 
@@ -58,16 +58,16 @@ let SidebarLayout = class SidebarLayout extends BasicElement {
58
58
  height: 100%;
59
59
  }
60
60
 
61
- [part=sidebar] {
61
+ [part='sidebar'] {
62
62
  width: var(--sidebar-width);
63
63
  }
64
64
 
65
- :host([collapsed]:not([sidebar-position])) [part=sidebar],
66
- :host([collapsed][sidebar-position=left]) [part=sidebar] {
65
+ :host([collapsed]:not([sidebar-position])) [part='sidebar'],
66
+ :host([collapsed][sidebar-position='left']) [part='sidebar'] {
67
67
  margin-left: calc(var(--sidebar-width) * -1);
68
68
  }
69
69
 
70
- :host([collapsed][sidebar-position=right]) [part=sidebar] {
70
+ :host([collapsed][sidebar-position='right']) [part='sidebar'] {
71
71
  margin-right: calc(var(--sidebar-width) * -1);
72
72
  }
73
73
  `;
@@ -80,7 +80,6 @@ let SidebarLayout = class SidebarLayout extends BasicElement {
80
80
  render() {
81
81
  return html `
82
82
  <ef-layout flex nowrap part="container">
83
-
84
83
  <ef-layout flex container part="sidebar" size="${this.sidebarWidth || nothing}">
85
84
  <ef-layout size="auto">
86
85
  <slot name="sidebar-header"></slot>
@@ -98,7 +97,6 @@ let SidebarLayout = class SidebarLayout extends BasicElement {
98
97
  <slot name="main-content"></slot>
99
98
  </ef-layout>
100
99
  </ef-layout>
101
-
102
100
  </ef-layout>
103
101
  `;
104
102
  }
@@ -1,7 +1,7 @@
1
1
  import { JSXInterface } from '../jsx';
2
- import { ControlElement, TemplateResult, CSSResultGroup, PropertyValues } from '@refinitiv-ui/core';
3
- import { TranslateDirective } from '@refinitiv-ui/translate';
2
+ import { CSSResultGroup, ControlElement, PropertyValues, TemplateResult } from '@refinitiv-ui/core';
4
3
  import '@refinitiv-ui/phrasebook/locale/en/slider.js';
4
+ import { TranslateDirective } from '@refinitiv-ui/translate';
5
5
  import '../number-field/index.js';
6
6
  /**
7
7
  * Allows users to make selections from a range of values
@@ -1,17 +1,17 @@
1
1
  import { __decorate } from "tslib";
2
- import { html, css, nothing, ControlElement, WarningNotice } from '@refinitiv-ui/core';
2
+ import { ControlElement, WarningNotice, css, html, nothing } from '@refinitiv-ui/core';
3
3
  import { customElement } from '@refinitiv-ui/core/decorators/custom-element.js';
4
4
  import { property } from '@refinitiv-ui/core/decorators/property.js';
5
5
  import { query } from '@refinitiv-ui/core/decorators/query.js';
6
6
  import { state } from '@refinitiv-ui/core/decorators/state.js';
7
7
  import { createRef, ref } from '@refinitiv-ui/core/directives/ref.js';
8
8
  import { styleMap } from '@refinitiv-ui/core/directives/style-map.js';
9
- import { translate } from '@refinitiv-ui/translate';
10
9
  import '@refinitiv-ui/phrasebook/locale/en/slider.js';
11
- import { VERSION } from '../version.js';
10
+ import { translate } from '@refinitiv-ui/translate';
12
11
  import '../number-field/index.js';
13
- import { SliderDataName, Direction } from './constants.js';
14
- import { clamp, preventDefault, isDecimalNumber, countDecimalPlace } from './utils.js';
12
+ import { VERSION } from '../version.js';
13
+ import { Direction, SliderDataName } from './constants.js';
14
+ import { clamp, countDecimalPlace, isDecimalNumber, preventDefault } from './utils.js';
15
15
  /**
16
16
  * Allows users to make selections from a range of values
17
17
  *
@@ -45,67 +45,67 @@ let Slider = class Slider extends ControlElement {
45
45
  :host {
46
46
  display: flex;
47
47
  }
48
- [part=slider-wrapper] {
48
+ [part='slider-wrapper'] {
49
49
  position: relative;
50
50
  width: 100%;
51
51
  }
52
- [part=slider] {
52
+ [part='slider'] {
53
53
  width: 100%;
54
54
  height: 100%;
55
55
  display: inline-block;
56
56
  }
57
- :host(:not([disabled]):focus){
58
- outline:none;
57
+ :host(:not([disabled]):focus) {
58
+ outline: none;
59
59
  }
60
- :host([show-steps]) [part=track-wrapper]::after {
61
- display:block;
60
+ :host([show-steps]) [part='track-wrapper']::after {
61
+ display: block;
62
62
  position: absolute;
63
- content: "";
63
+ content: '';
64
64
  right: 0;
65
65
  }
66
- [part=track-wrapper]{
67
- content: "";
66
+ [part='track-wrapper'] {
67
+ content: '';
68
68
  position: absolute;
69
69
  width: 100%;
70
70
  top: 50%;
71
71
  left: 0;
72
72
  pointer-events: none;
73
73
  }
74
- [part=thumb-container]{
74
+ [part='thumb-container'] {
75
75
  outline: none;
76
76
  position: absolute;
77
77
  top: 0;
78
78
  width: 100%;
79
79
  z-index: 3;
80
80
  }
81
- [part=thumb]{
81
+ [part='thumb'] {
82
82
  position: absolute;
83
83
  margin: 0 auto;
84
84
  }
85
- [part=pin]{
85
+ [part='pin'] {
86
86
  display: flex;
87
87
  position: absolute;
88
88
  align-items: center;
89
89
  justify-content: center;
90
90
  z-index: 1;
91
91
  }
92
- :host([show-steps]) [part=step-container]{
92
+ :host([show-steps]) [part='step-container'] {
93
93
  position: absolute;
94
94
  left: 0;
95
95
  width: 100%;
96
96
  }
97
- :host([show-steps]) [part=step]{
97
+ :host([show-steps]) [part='step'] {
98
98
  width: 100%;
99
99
  position: absolute;
100
100
  left: 0;
101
101
  }
102
- [part=track-fill]{
102
+ [part='track-fill'] {
103
103
  z-index: 2;
104
- content: "";
104
+ content: '';
105
105
  position: absolute;
106
106
  left: 0;
107
107
  }
108
- :host([show-steps][step="0"]) [part=track-wrapper]::after{
108
+ :host([show-steps][step='0']) [part='track-wrapper']::after {
109
109
  width: 0;
110
110
  }
111
111
  `;
@@ -299,19 +299,19 @@ let Slider = class Slider extends ControlElement {
299
299
  this.changedThumb = null;
300
300
  /**
301
301
  * @ignore
302
- */
302
+ */
303
303
  this.onDrag = this.onDrag.bind(this);
304
304
  /**
305
305
  * @ignore
306
- */
306
+ */
307
307
  this.onDragStart = this.onDragStart.bind(this);
308
308
  /**
309
309
  * @ignore
310
- */
310
+ */
311
311
  this.onDragEnd = this.onDragEnd.bind(this);
312
312
  /**
313
313
  * @ignore
314
- */
314
+ */
315
315
  this.onKeyDown = this.onKeyDown.bind(this);
316
316
  }
317
317
  /**
@@ -332,8 +332,8 @@ let Slider = class Slider extends ControlElement {
332
332
  */
333
333
  willUpdate(changedProperties) {
334
334
  super.willUpdate(changedProperties);
335
- if ((changedProperties.has('disabled') && changedProperties.get('disabled') !== undefined)
336
- || (changedProperties.has('readonly') && changedProperties.get('readonly') !== undefined)) {
335
+ if ((changedProperties.has('disabled') && changedProperties.get('disabled') !== undefined) ||
336
+ (changedProperties.has('readonly') && changedProperties.get('readonly') !== undefined)) {
337
337
  this.prepareSliderTrack();
338
338
  }
339
339
  changedProperties.forEach((_, changedProperty) => {
@@ -398,21 +398,21 @@ let Slider = class Slider extends ControlElement {
398
398
  message = 'value should be more than min.';
399
399
  }
400
400
  else if (propName === 'from' && this.range) {
401
- isValid = (this.fromNumber >= this.minNumber && this.fromNumber <= this.toNumber);
401
+ isValid = this.fromNumber >= this.minNumber && this.fromNumber <= this.toNumber;
402
402
  message = 'value should be more than min and less than to.';
403
403
  }
404
404
  else if (propName === 'to' && this.range) {
405
- isValid = (this.toNumber <= this.maxNumber && this.toNumber >= this.fromNumber);
405
+ isValid = this.toNumber <= this.maxNumber && this.toNumber >= this.fromNumber;
406
406
  message = 'value should be less than max and more than from.';
407
407
  }
408
408
  else if (propName === 'step') {
409
- isValid = ((this.maxNumber - this.minNumber) >= this.stepNumber);
409
+ isValid = this.maxNumber - this.minNumber >= this.stepNumber;
410
410
  message = 'value should be between min and max.';
411
411
  }
412
412
  else if (propName === 'minRange' && this.minRangeNumber > 0) {
413
413
  const distanceFromTo = Math.abs(this.toNumber - this.fromNumber);
414
414
  const distanceMinMax = Math.abs(this.maxNumber - this.minNumber);
415
- isValid = (distanceMinMax >= this.minRangeNumber && distanceFromTo >= this.minRangeNumber);
415
+ isValid = distanceMinMax >= this.minRangeNumber && distanceFromTo >= this.minRangeNumber;
416
416
  message = 'value should be less than distance from and to, min and max.';
417
417
  }
418
418
  if (!isValid) {
@@ -439,8 +439,8 @@ let Slider = class Slider extends ControlElement {
439
439
  }
440
440
  }
441
441
  else {
442
- this.from = clamp((this.fromNumber || this.minNumber), this.minNumber, this.toNumber);
443
- this.to = clamp((this.toNumber || this.maxNumber), this.fromNumber, this.maxNumber);
442
+ this.from = clamp(this.fromNumber || this.minNumber, this.minNumber, this.toNumber);
443
+ this.to = clamp(this.toNumber || this.maxNumber, this.fromNumber, this.maxNumber);
444
444
  }
445
445
  }
446
446
  else {
@@ -681,7 +681,7 @@ let Slider = class Slider extends ControlElement {
681
681
  shouldUpdate = this.isValueInBoundary(Number(value), '');
682
682
  }
683
683
  if (shouldUpdate) {
684
- (this[name]) = value;
684
+ this[name] = value;
685
685
  this.notifyPropertyChange(name, value);
686
686
  }
687
687
  else {
@@ -713,7 +713,7 @@ let Slider = class Slider extends ControlElement {
713
713
  this.classList.add('grabbable');
714
714
  if (this.range) {
715
715
  const mousePosition = this.getMousePosition(event);
716
- const relativeMousePosition = ((this.maxNumber - this.minNumber) * mousePosition) + this.minNumber;
716
+ const relativeMousePosition = (this.maxNumber - this.minNumber) * mousePosition + this.minNumber;
717
717
  const distanceFrom = Math.abs(relativeMousePosition - this.fromNumber);
718
718
  const distanceTo = Math.abs(relativeMousePosition - this.toNumber);
719
719
  if (distanceFrom < distanceTo) {
@@ -748,7 +748,9 @@ let Slider = class Slider extends ControlElement {
748
748
  return 1;
749
749
  }
750
750
  // check drag desktop or mobile
751
- const pageX = event.changedTouches ? event.changedTouches[0].pageX : event.pageX;
751
+ const pageX = event.changedTouches
752
+ ? event.changedTouches[0].pageX
753
+ : event.pageX;
752
754
  const positionSize = pageX - sliderRect.left;
753
755
  if (positionSize <= sliderRect.width) {
754
756
  return Math.min(Math.max((pageX - sliderRect.left) / sliderRect.width, 0), 1);
@@ -826,7 +828,7 @@ let Slider = class Slider extends ControlElement {
826
828
  getNearestPossibleValue(thumbPosition) {
827
829
  const stepSize = this.calculatePosition(this.minNumber + this.stepRange, 1);
828
830
  const nearestValue = Math.round(thumbPosition / stepSize) * stepSize;
829
- if (thumbPosition <= nearestValue + (stepSize / 2)) {
831
+ if (thumbPosition <= nearestValue + stepSize / 2) {
830
832
  if (nearestValue <= 1) {
831
833
  return nearestValue;
832
834
  }
@@ -954,11 +956,11 @@ let Slider = class Slider extends ControlElement {
954
956
  // Check if value is in range
955
957
  if (this.range) {
956
958
  if (valueFor === SliderDataName.to) {
957
- if (value < (this.fromNumber + this.minRangeNumber) || value > this.maxNumber) {
959
+ if (value < this.fromNumber + this.minRangeNumber || value > this.maxNumber) {
958
960
  return false;
959
961
  }
960
962
  }
961
- else if (value < this.minNumber || value > (this.toNumber - this.minRangeNumber)) {
963
+ else if (value < this.minNumber || value > this.toNumber - this.minRangeNumber) {
962
964
  return false;
963
965
  }
964
966
  }
@@ -1083,11 +1085,17 @@ let Slider = class Slider extends ControlElement {
1083
1085
  */
1084
1086
  renderTrack(range) {
1085
1087
  const stepContainerSize = this.calculatePosition(this.minNumber + this.stepNumber);
1086
- const translateX = (stepContainerSize / 2);
1087
- const stepsStyle = { transform: `translateX(${translateX}%)`, backgroundSize: `${stepContainerSize}% 100%` };
1088
+ const translateX = stepContainerSize / 2;
1089
+ const stepsStyle = {
1090
+ transform: `translateX(${translateX}%)`,
1091
+ backgroundSize: `${stepContainerSize}% 100%`
1092
+ };
1088
1093
  const stepContainerStyle = { transform: `translateX(-${translateX}%)` };
1089
1094
  const trackFillStyle = range
1090
- ? { width: `${this.calculatePosition(this.toNumber) - this.calculatePosition(this.fromNumber)}%`, left: `${this.calculatePosition(this.fromNumber)}%` }
1095
+ ? {
1096
+ width: `${this.calculatePosition(this.toNumber) - this.calculatePosition(this.fromNumber)}%`,
1097
+ left: `${this.calculatePosition(this.fromNumber)}%`
1098
+ }
1091
1099
  : { width: `${this.calculatePosition(Number(this.value))}%` };
1092
1100
  return html `
1093
1101
  <div part="track-wrapper" ${ref(this.trackRef)}>
@@ -1197,11 +1205,15 @@ let Slider = class Slider extends ControlElement {
1197
1205
  <div part="slider-wrapper">
1198
1206
  <div part="slider" ${ref(this.sliderRef)}>
1199
1207
  ${this.renderTrack(this.range)}
1200
- ${this.range ? this.renderThumb(this.fromNumber, this.toNumber) : this.renderThumb(this.valueNumber)}
1208
+ ${this.range
1209
+ ? this.renderThumb(this.fromNumber, this.toNumber)
1210
+ : this.renderThumb(this.valueNumber)}
1201
1211
  </div>
1202
1212
  </div>
1203
1213
  ${this.range && this.isShowInputField ? this.renderNumberField(this.to, SliderDataName.to) : null}
1204
- ${!this.range && this.isShowInputField ? this.renderNumberField(this.value, SliderDataName.value) : null}
1214
+ ${!this.range && this.isShowInputField
1215
+ ? this.renderNumberField(this.value, SliderDataName.value)
1216
+ : null}
1205
1217
  `;
1206
1218
  }
1207
1219
  };