@refinitiv-ui/elements 7.0.0 → 7.0.2

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 (215) hide show
  1. package/CHANGELOG.md +195 -449
  2. package/LICENSE +2 -2
  3. package/README.md +12 -10
  4. package/cli.mjs +5 -3
  5. package/lib/accordion/index.d.ts +1 -1
  6. package/lib/accordion/index.js +4 -7
  7. package/lib/appstate-bar/index.d.ts +2 -2
  8. package/lib/appstate-bar/index.js +10 -4
  9. package/lib/autosuggest/index.d.ts +7 -7
  10. package/lib/autosuggest/index.js +80 -80
  11. package/lib/autosuggest/themes/solar/charcoal/index.js +1 -1
  12. package/lib/autosuggest/themes/solar/pearl/index.js +1 -1
  13. package/lib/button/index.js +7 -10
  14. package/lib/button-bar/index.d.ts +1 -1
  15. package/lib/button-bar/index.js +12 -12
  16. package/lib/calendar/index.d.ts +39 -39
  17. package/lib/calendar/index.js +156 -123
  18. package/lib/calendar/utils.js +1 -1
  19. package/lib/canvas/index.d.ts +1 -1
  20. package/lib/canvas/index.js +2 -4
  21. package/lib/card/helpers/types.d.ts +2 -2
  22. package/lib/card/index.d.ts +5 -5
  23. package/lib/card/index.js +34 -28
  24. package/lib/chart/elements/chart.d.ts +4 -4
  25. package/lib/chart/elements/chart.js +39 -33
  26. package/lib/chart/plugins/doughnut-center-label.d.ts +3 -3
  27. package/lib/chart/plugins/doughnut-center-label.js +13 -9
  28. package/lib/checkbox/index.d.ts +1 -1
  29. package/lib/checkbox/index.js +12 -13
  30. package/lib/clock/index.d.ts +55 -55
  31. package/lib/clock/index.js +84 -95
  32. package/lib/clock/themes/halo/dark/index.js +1 -1
  33. package/lib/clock/themes/halo/light/index.js +1 -1
  34. package/lib/clock/themes/solar/charcoal/index.js +1 -1
  35. package/lib/clock/themes/solar/pearl/index.js +1 -1
  36. package/lib/collapse/index.d.ts +1 -1
  37. package/lib/collapse/index.js +27 -18
  38. package/lib/collapse/themes/halo/dark/index.js +1 -1
  39. package/lib/collapse/themes/halo/light/index.js +1 -1
  40. package/lib/color-dialog/elements/color-palettes.d.ts +1 -1
  41. package/lib/color-dialog/elements/color-palettes.js +5 -6
  42. package/lib/color-dialog/elements/grayscale-palettes.d.ts +1 -1
  43. package/lib/color-dialog/elements/grayscale-palettes.js +9 -9
  44. package/lib/color-dialog/elements/palettes.js +5 -4
  45. package/lib/color-dialog/helpers/value-model.js +7 -9
  46. package/lib/color-dialog/index.d.ts +6 -6
  47. package/lib/color-dialog/index.js +53 -37
  48. package/lib/color-picker/index.d.ts +2 -2
  49. package/lib/color-picker/index.js +40 -34
  50. package/lib/combo-box/helpers/filter.d.ts +2 -2
  51. package/lib/combo-box/helpers/types.d.ts +1 -1
  52. package/lib/combo-box/index.d.ts +9 -9
  53. package/lib/combo-box/index.js +61 -55
  54. package/lib/configuration/elements/configuration.js +2 -2
  55. package/lib/counter/index.d.ts +4 -4
  56. package/lib/counter/index.js +9 -7
  57. package/lib/datetime-field/index.d.ts +4 -5
  58. package/lib/datetime-field/index.js +32 -23
  59. package/lib/datetime-field/utils.js +11 -1
  60. package/lib/datetime-picker/index.d.ts +75 -75
  61. package/lib/datetime-picker/index.js +150 -131
  62. package/lib/datetime-picker/locales.js +5 -5
  63. package/lib/datetime-picker/utils.js +9 -9
  64. package/lib/dialog/draggable-element.js +1 -2
  65. package/lib/dialog/index.d.ts +5 -5
  66. package/lib/dialog/index.js +51 -47
  67. package/lib/email-field/index.d.ts +1 -1
  68. package/lib/email-field/index.js +6 -6
  69. package/lib/events.d.ts +1 -1
  70. package/lib/flag/index.d.ts +1 -1
  71. package/lib/flag/index.js +6 -5
  72. package/lib/flag/utils/FlagLoader.js +1 -1
  73. package/lib/header/index.d.ts +1 -1
  74. package/lib/header/index.js +2 -2
  75. package/lib/header/themes/halo/dark/index.js +1 -1
  76. package/lib/header/themes/halo/light/index.js +1 -1
  77. package/lib/header/themes/solar/charcoal/index.js +1 -1
  78. package/lib/header/themes/solar/pearl/index.js +1 -1
  79. package/lib/heatmap/helpers/color.d.ts +1 -1
  80. package/lib/heatmap/helpers/color.js +11 -5
  81. package/lib/heatmap/helpers/track.js +3 -3
  82. package/lib/heatmap/index.d.ts +9 -9
  83. package/lib/heatmap/index.js +51 -42
  84. package/lib/icon/index.d.ts +2 -2
  85. package/lib/icon/index.js +8 -10
  86. package/lib/interactive-chart/helpers/types.d.ts +3 -3
  87. package/lib/interactive-chart/index.d.ts +29 -29
  88. package/lib/interactive-chart/index.js +69 -55
  89. package/lib/item/helpers/types.d.ts +1 -1
  90. package/lib/item/index.d.ts +3 -3
  91. package/lib/item/index.js +24 -20
  92. package/lib/jsx.d.ts +6 -4
  93. package/lib/label/index.d.ts +1 -1
  94. package/lib/label/index.js +10 -7
  95. package/lib/layout/index.d.ts +7 -7
  96. package/lib/layout/index.js +7 -7
  97. package/lib/led-gauge/index.d.ts +1 -1
  98. package/lib/led-gauge/index.js +10 -10
  99. package/lib/list/elements/list.d.ts +3 -3
  100. package/lib/list/elements/list.js +10 -12
  101. package/lib/list/helpers/renderer.js +2 -2
  102. package/lib/list/helpers/types.d.ts +1 -1
  103. package/lib/list/index.d.ts +1 -1
  104. package/lib/list/renderer.d.ts +7 -7
  105. package/lib/loader/index.js +7 -8
  106. package/lib/multi-input/index.d.ts +6 -6
  107. package/lib/multi-input/index.js +39 -45
  108. package/lib/notification/elements/notification-tray.d.ts +2 -2
  109. package/lib/notification/elements/notification-tray.js +3 -3
  110. package/lib/notification/elements/notification.d.ts +2 -2
  111. package/lib/notification/elements/notification.js +14 -13
  112. package/lib/notification/helpers/status.js +1 -1
  113. package/lib/notification/themes/halo/dark/index.js +1 -1
  114. package/lib/notification/themes/halo/light/index.js +1 -1
  115. package/lib/notification/themes/solar/charcoal/index.js +1 -1
  116. package/lib/notification/themes/solar/pearl/index.js +1 -1
  117. package/lib/number-field/index.d.ts +5 -6
  118. package/lib/number-field/index.js +37 -47
  119. package/lib/overlay/elements/overlay-viewport.d.ts +1 -1
  120. package/lib/overlay/elements/overlay.d.ts +2 -2
  121. package/lib/overlay/elements/overlay.js +152 -96
  122. package/lib/overlay/helpers/types.d.ts +1 -1
  123. package/lib/overlay/managers/backdrop-manager.d.ts +1 -1
  124. package/lib/overlay/managers/backdrop-manager.js +2 -2
  125. package/lib/overlay/managers/close-manager.js +2 -1
  126. package/lib/overlay/managers/focus-manager.js +23 -13
  127. package/lib/overlay/managers/interaction-lock-manager.d.ts +4 -4
  128. package/lib/overlay/managers/interaction-lock-manager.js +33 -25
  129. package/lib/overlay/managers/viewport-manager.d.ts +2 -2
  130. package/lib/overlay/managers/viewport-manager.js +3 -2
  131. package/lib/overlay/managers/zindex-manager.js +4 -2
  132. package/lib/overlay-menu/helpers/types.d.ts +2 -2
  133. package/lib/overlay-menu/index.d.ts +1 -1
  134. package/lib/overlay-menu/index.js +44 -33
  135. package/lib/overlay-menu/managers/menu-manager.d.ts +10 -10
  136. package/lib/overlay-menu/managers/menu-manager.js +14 -13
  137. package/lib/pagination/index.d.ts +4 -4
  138. package/lib/pagination/index.js +39 -14
  139. package/lib/panel/index.js +1 -1
  140. package/lib/password-field/index.d.ts +2 -2
  141. package/lib/password-field/index.js +3 -3
  142. package/lib/pill/index.d.ts +1 -1
  143. package/lib/pill/index.js +22 -19
  144. package/lib/progress-bar/index.d.ts +1 -1
  145. package/lib/progress-bar/index.js +38 -37
  146. package/lib/radio-button/index.d.ts +2 -2
  147. package/lib/radio-button/index.js +17 -12
  148. package/lib/radio-button/radio-button-registry.js +8 -5
  149. package/lib/rating/index.d.ts +1 -1
  150. package/lib/rating/index.js +2 -5
  151. package/lib/rating/utils.d.ts +6 -6
  152. package/lib/rating/utils.js +6 -6
  153. package/lib/search-field/index.d.ts +2 -2
  154. package/lib/search-field/index.js +4 -4
  155. package/lib/select/index.d.ts +34 -34
  156. package/lib/select/index.js +68 -81
  157. package/lib/sidebar-layout/index.d.ts +2 -2
  158. package/lib/sidebar-layout/index.js +7 -9
  159. package/lib/slider/index.d.ts +2 -2
  160. package/lib/slider/index.js +57 -45
  161. package/lib/slider/utils.d.ts +10 -10
  162. package/lib/slider/utils.js +10 -10
  163. package/lib/sparkline/index.d.ts +1 -1
  164. package/lib/sparkline/index.js +7 -8
  165. package/lib/swing-gauge/helpers.js +2 -2
  166. package/lib/swing-gauge/index.d.ts +19 -19
  167. package/lib/swing-gauge/index.js +91 -81
  168. package/lib/tab/index.d.ts +1 -1
  169. package/lib/tab/index.js +16 -27
  170. package/lib/tab/themes/halo/dark/index.js +1 -1
  171. package/lib/tab/themes/halo/light/index.js +1 -1
  172. package/lib/tab/themes/solar/charcoal/index.js +1 -1
  173. package/lib/tab/themes/solar/pearl/index.js +1 -1
  174. package/lib/tab-bar/helpers/animate.js +1 -1
  175. package/lib/tab-bar/index.d.ts +1 -1
  176. package/lib/tab-bar/index.js +34 -18
  177. package/lib/tab-bar/themes/halo/dark/index.js +1 -1
  178. package/lib/tab-bar/themes/halo/light/index.js +1 -1
  179. package/lib/text-field/index.d.ts +1 -1
  180. package/lib/text-field/index.js +34 -31
  181. package/lib/time-picker/index.d.ts +6 -6
  182. package/lib/time-picker/index.js +103 -89
  183. package/lib/toggle/index.d.ts +1 -1
  184. package/lib/toggle/index.js +4 -3
  185. package/lib/toggle/themes/halo/dark/index.js +1 -1
  186. package/lib/toggle/themes/halo/light/index.js +1 -1
  187. package/lib/toggle/themes/solar/charcoal/index.js +1 -1
  188. package/lib/toggle/themes/solar/pearl/index.js +1 -1
  189. package/lib/tooltip/elements/title-tooltip.js +2 -2
  190. package/lib/tooltip/index.d.ts +27 -27
  191. package/lib/tooltip/index.js +42 -38
  192. package/lib/tooltip/managers/tooltip-manager.d.ts +1 -1
  193. package/lib/tornado-chart/elements/tornado-chart.d.ts +1 -1
  194. package/lib/tornado-chart/elements/tornado-chart.js +2 -2
  195. package/lib/tornado-chart/elements/tornado-item.d.ts +2 -2
  196. package/lib/tornado-chart/elements/tornado-item.js +12 -10
  197. package/lib/tree/elements/tree-item.d.ts +3 -3
  198. package/lib/tree/elements/tree-item.js +21 -19
  199. package/lib/tree/elements/tree.d.ts +1 -1
  200. package/lib/tree/elements/tree.js +12 -11
  201. package/lib/tree/helpers/renderer.js +4 -3
  202. package/lib/tree/index.d.ts +1 -1
  203. package/lib/tree/managers/tree-manager.d.ts +1 -1
  204. package/lib/tree/managers/tree-manager.js +17 -18
  205. package/lib/tree/themes/solar/charcoal/index.js +1 -1
  206. package/lib/tree/themes/solar/pearl/index.js +1 -1
  207. package/lib/tree-select/index.d.ts +9 -9
  208. package/lib/tree-select/index.js +91 -82
  209. package/lib/tree-select/themes/halo/dark/index.js +1 -1
  210. package/lib/tree-select/themes/halo/light/index.js +1 -1
  211. package/lib/tree-select/themes/solar/charcoal/index.js +1 -1
  212. package/lib/tree-select/themes/solar/pearl/index.js +1 -1
  213. package/lib/version.js +1 -1
  214. package/package.json +17 -17
  215. 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
  // the same event listener options should be used with both addEventListener() & removeEventListener()
31
25
  // https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/removeEventListener#matching_event_listeners_for_removal
@@ -67,20 +61,20 @@ let Select = class Select extends ControlElement {
67
61
  this.keySearchThrottler = new TimeoutTaskRunner(KEY_SEARCH_DEBOUNCER);
68
62
  this.resizeThrottler = new AnimationTaskRunner();
69
63
  /**
70
- * Placeholder to display when no value is set
71
- */
64
+ * Placeholder to display when no value is set
65
+ */
72
66
  this.placeholder = '';
73
67
  /**
74
- * Toggles the opened state of the list
75
- */
68
+ * Toggles the opened state of the list
69
+ */
76
70
  this.opened = false;
77
71
  /**
78
- * Set state to error
79
- */
72
+ * Set state to error
73
+ */
80
74
  this.error = false;
81
75
  /**
82
- * Set state to warning
83
- */
76
+ * Set state to warning
77
+ */
84
78
  this.warning = false;
85
79
  /**
86
80
  * This variable is here to ensure that the value and data are in sync when data is set after the value.
@@ -104,8 +98,7 @@ let Select = class Select extends ControlElement {
104
98
  * @returns {void}
105
99
  */
106
100
  this.handleMutations = (mutations) => {
107
- const hasLightDomMutations = mutations
108
- .some(m => m.target.getRootNode() !== this.shadowRoot);
101
+ const hasLightDomMutations = mutations.some((m) => m.target.getRootNode() !== this.shadowRoot);
109
102
  if (hasLightDomMutations) {
110
103
  this.requestUpdate();
111
104
  }
@@ -142,19 +135,19 @@ let Select = class Select extends ControlElement {
142
135
  display: inline-block;
143
136
  }
144
137
 
145
- [part=label],
146
- [part=placeholder] {
138
+ [part='label'],
139
+ [part='placeholder'] {
147
140
  white-space: nowrap;
148
141
  overflow: hidden;
149
142
  text-overflow: ellipsis;
150
143
  }
151
- [part=icon] {
144
+ [part='icon'] {
152
145
  flex: none;
153
146
  }
154
- :host [part=list] {
147
+ :host [part='list'] {
155
148
  overflow-y: auto;
156
149
  }
157
- :host [part="list"] ::slotted(:not(ef-item)) {
150
+ :host [part='list'] ::slotted(:not(ef-item)) {
158
151
  display: none;
159
152
  }
160
153
  #box {
@@ -196,42 +189,42 @@ let Select = class Select extends ControlElement {
196
189
  `;
197
190
  }
198
191
  /**
199
- * Current text content of the selected value
200
- * @readonly
201
- */
192
+ * Current text content of the selected value
193
+ * @readonly
194
+ */
202
195
  get label() {
203
196
  return this.labels[0];
204
197
  }
205
198
  /**
206
- * Current text content of the selected values
207
- * @ignore
208
- * @readonly
209
- */
199
+ * Current text content of the selected values
200
+ * @ignore
201
+ * @readonly
202
+ */
210
203
  get labels() {
211
204
  if (this.hasDataItems()) {
212
- return this.selectedDataItems.map(item => this.composer.getItemPropertyValue(item, 'label'));
205
+ return this.selectedDataItems.map((item) => this.composer.getItemPropertyValue(item, 'label'));
213
206
  }
214
- return this.selectedSlotItems.map(item => this.getItemLabel(item));
207
+ return this.selectedSlotItems.map((item) => this.getItemLabel(item));
215
208
  }
216
209
  /**
217
- * Switch to multiple select input
218
- * @ignore
219
- * @param multiple True if element needs to support multi selection
220
- */
210
+ * Switch to multiple select input
211
+ * @ignore
212
+ * @param multiple True if element needs to support multi selection
213
+ */
221
214
  set multiple(multiple) {
222
215
  // TODO: not implemented
223
216
  }
224
217
  /**
225
- * @ignore
226
- */
218
+ * @ignore
219
+ */
227
220
  get multiple() {
228
221
  return false;
229
222
  }
230
223
  /**
231
- * Construct the menu from data object. Cannot be used with slotted content
232
- * @type {SelectData | null}
233
- * @default null
234
- */
224
+ * Construct the menu from data object. Cannot be used with slotted content
225
+ * @type {SelectData | null}
226
+ * @default null
227
+ */
235
228
  get data() {
236
229
  return this._data;
237
230
  }
@@ -255,10 +248,10 @@ let Select = class Select extends ControlElement {
255
248
  this.requestUpdate('data', oldValue);
256
249
  }
257
250
  /**
258
- * Value of the element
259
- * @param value Element value
260
- * @default -
261
- */
251
+ * Value of the element
252
+ * @param value Element value
253
+ * @default -
254
+ */
262
255
  set value(value) {
263
256
  value = this.castValue(value);
264
257
  this.cachedValue = value;
@@ -282,9 +275,9 @@ let Select = class Select extends ControlElement {
282
275
  */
283
276
  get values() {
284
277
  if (this.hasDataItems()) {
285
- return this.selectedDataItems.map(item => this.composer.getItemPropertyValue(item, 'value'));
278
+ return this.selectedDataItems.map((item) => this.composer.getItemPropertyValue(item, 'value'));
286
279
  }
287
- return this.selectedSlotItems.map(item => this.getItemValue(item));
280
+ return this.selectedSlotItems.map((item) => this.getItemValue(item));
288
281
  }
289
282
  /**
290
283
  * Called when connected to DOM
@@ -301,7 +294,8 @@ let Select = class Select extends ControlElement {
301
294
  * @returns {void}
302
295
  */
303
296
  update(changedProperties) {
304
- this.cachedValue = ''; /* reset cached value as it is only valid when value and data are set the same time */
297
+ this.cachedValue =
298
+ ''; /* reset cached value as it is only valid when value and data are set the same time */
305
299
  const focusedChanged = changedProperties.has(FocusedPropertyKey);
306
300
  // the opened logic is bound to focus state
307
301
  if (focusedChanged) {
@@ -333,7 +327,7 @@ let Select = class Select extends ControlElement {
333
327
  firstUpdated(changedProperties) {
334
328
  super.firstUpdated(changedProperties);
335
329
  this.addEventListener('keydown', this.onKeyDown); /* keydown when select is closed */
336
- registerOverflowTooltip(this, () => this.labelText, () => this.labelRef.value ? isElementOverflown(this.labelRef.value) : false);
330
+ registerOverflowTooltip(this, () => this.labelText, () => (this.labelRef.value ? isElementOverflown(this.labelRef.value) : false));
337
331
  }
338
332
  /**
339
333
  * Called when element finished updating
@@ -403,7 +397,8 @@ let Select = class Select extends ControlElement {
403
397
  // this code might happen only when opened has been set during initialisation
404
398
  // or when display is set to none
405
399
  this.resizeThrottler.schedule(() => {
406
- if (this.offsetWidth) { /* must be here to avoid infinitive loop */
400
+ if (this.offsetWidth) {
401
+ /* must be here to avoid infinitive loop */
407
402
  this.restrictPopupWidth();
408
403
  this.requestUpdate();
409
404
  }
@@ -594,10 +589,7 @@ let Select = class Select extends ControlElement {
594
589
  */
595
590
  isValidFilterKey(event) {
596
591
  // all printable keys have length of 1. This is better than regexp as we cover all non latin characters
597
- return event.key.length === 1
598
- && !event.ctrlKey
599
- && !event.altKey
600
- && !event.metaKey;
592
+ return event.key.length === 1 && !event.ctrlKey && !event.altKey && !event.metaKey;
601
593
  }
602
594
  /**
603
595
  * Focus and highlight element according to specified direction
@@ -669,7 +661,7 @@ let Select = class Select extends ControlElement {
669
661
  let selectableElements = this.getSelectableElements();
670
662
  const highlightedIdx = this.highlightedItem ? selectableElements.indexOf(this.highlightedItem) : -1;
671
663
  selectableElements = selectableElements.concat(selectableElements.splice(0, highlightedIdx));
672
- const focusElement = selectableElements.find(item => {
664
+ const focusElement = selectableElements.find((item) => {
673
665
  const label = this.getItemLabel(item).toLowerCase();
674
666
  return label.startsWith(this.keySearchTerm) && item !== this.highlightedItem;
675
667
  });
@@ -732,7 +724,7 @@ let Select = class Select extends ControlElement {
732
724
  * @returns A list of selected elements
733
725
  */
734
726
  getSelectedElements() {
735
- return this.getSelectableElements().filter(item => item.selected);
727
+ return this.getSelectableElements().filter((item) => item.selected);
736
728
  }
737
729
  /**
738
730
  * Clears the current selected items
@@ -743,7 +735,7 @@ let Select = class Select extends ControlElement {
743
735
  this.selectedDataItems.forEach((item) => this.composer.setItemPropertyValue(item, 'selected', false));
744
736
  }
745
737
  else {
746
- this.selectedSlotItems.forEach(item => {
738
+ this.selectedSlotItems.forEach((item) => {
747
739
  item.selected = false;
748
740
  });
749
741
  }
@@ -855,11 +847,7 @@ let Select = class Select extends ControlElement {
855
847
  case 'divider':
856
848
  return html `<ef-item role="presentation" part="item" type="divider"></ef-item>`;
857
849
  case 'header':
858
- return html `<ef-item
859
- role="presentation"
860
- part="item"
861
- type="header"
862
- .label=${item.label}></ef-item>`;
850
+ return html `<ef-item role="presentation" part="item" type="header" .label=${item.label}></ef-item>`;
863
851
  // no default
864
852
  }
865
853
  return html `<ef-item
@@ -904,11 +892,11 @@ let Select = class Select extends ControlElement {
904
892
  * Get data iterator template
905
893
  */
906
894
  get dataContent() {
907
- return html `${this.composer.queryItems(() => true).map(item => this.toItem(item))}`;
895
+ return html `${this.composer.queryItems(() => true).map((item) => this.toItem(item))}`;
908
896
  }
909
897
  /**
910
- * Edit template when select is not readonly or disabled
911
- */
898
+ * Edit template when select is not readonly or disabled
899
+ */
912
900
  get popupTemplate() {
913
901
  if (this.lazyRendered) {
914
902
  return html `<ef-overlay
@@ -929,7 +917,9 @@ let Select = class Select extends ControlElement {
929
917
  @opened-changed="${this.onPopupOpenedChanged}"
930
918
  @opened="${this.onPopupOpened}"
931
919
  @refit=${this.onPopupRefit}
932
- @closed="${this.onPopupClosed}">${this.hasDataItems() ? this.dataContent : this.slottedContent}</ef-overlay>`;
920
+ @closed="${this.onPopupClosed}"
921
+ >${this.hasDataItems() ? this.dataContent : this.slottedContent}</ef-overlay
922
+ >`;
933
923
  }
934
924
  else {
935
925
  // This code is required because IE11 polyfill need items to be within a slot
@@ -943,14 +933,11 @@ let Select = class Select extends ControlElement {
943
933
  * @return Render template
944
934
  */
945
935
  render() {
946
- return html `
947
- <div id="box">
948
- <div id="text">
949
- ${this.placeholderHidden() ? this.labelTemplate : this.placeholderTemplate}
936
+ return html ` <div id="box">
937
+ <div id="text">${this.placeholderHidden() ? this.labelTemplate : this.placeholderTemplate}</div>
938
+ <ef-icon icon="down" part="icon"></ef-icon>
950
939
  </div>
951
- <ef-icon icon="down" part="icon"></ef-icon>
952
- </div>
953
- ${this.editTemplate}`;
940
+ ${this.editTemplate}`;
954
941
  }
955
942
  };
956
943
  __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 {
@@ -677,7 +677,7 @@ let Slider = class Slider extends ControlElement {
677
677
  shouldUpdate = this.isValueInBoundary(Number(value), '');
678
678
  }
679
679
  if (shouldUpdate) {
680
- (this[name]) = value;
680
+ this[name] = value;
681
681
  this.notifyPropertyChange(name, value);
682
682
  }
683
683
  else {
@@ -709,7 +709,7 @@ let Slider = class Slider extends ControlElement {
709
709
  this.classList.add('grabbable');
710
710
  if (this.range) {
711
711
  const mousePosition = this.getMousePosition(event);
712
- const relativeMousePosition = ((this.maxNumber - this.minNumber) * mousePosition) + this.minNumber;
712
+ const relativeMousePosition = (this.maxNumber - this.minNumber) * mousePosition + this.minNumber;
713
713
  const distanceFrom = Math.abs(relativeMousePosition - this.fromNumber);
714
714
  const distanceTo = Math.abs(relativeMousePosition - this.toNumber);
715
715
  if (distanceFrom < distanceTo) {
@@ -744,7 +744,9 @@ let Slider = class Slider extends ControlElement {
744
744
  return 1;
745
745
  }
746
746
  // check drag desktop or mobile
747
- const pageX = event.changedTouches ? event.changedTouches[0].pageX : event.pageX;
747
+ const pageX = event.changedTouches
748
+ ? event.changedTouches[0].pageX
749
+ : event.pageX;
748
750
  const positionSize = pageX - sliderRect.left;
749
751
  if (positionSize <= sliderRect.width) {
750
752
  return Math.min(Math.max((pageX - sliderRect.left) / sliderRect.width, 0), 1);
@@ -822,7 +824,7 @@ let Slider = class Slider extends ControlElement {
822
824
  getNearestPossibleValue(thumbPosition) {
823
825
  const stepSize = this.calculatePosition(this.minNumber + this.stepRange, 1);
824
826
  const nearestValue = Math.round(thumbPosition / stepSize) * stepSize;
825
- if (thumbPosition <= nearestValue + (stepSize / 2)) {
827
+ if (thumbPosition <= nearestValue + stepSize / 2) {
826
828
  if (nearestValue <= 1) {
827
829
  return nearestValue;
828
830
  }
@@ -950,11 +952,11 @@ let Slider = class Slider extends ControlElement {
950
952
  // Check if value is in range
951
953
  if (this.range) {
952
954
  if (valueFor === SliderDataName.to) {
953
- if (value < (this.fromNumber + this.minRangeNumber) || value > this.maxNumber) {
955
+ if (value < this.fromNumber + this.minRangeNumber || value > this.maxNumber) {
954
956
  return false;
955
957
  }
956
958
  }
957
- else if (value < this.minNumber || value > (this.toNumber - this.minRangeNumber)) {
959
+ else if (value < this.minNumber || value > this.toNumber - this.minRangeNumber) {
958
960
  return false;
959
961
  }
960
962
  }
@@ -1079,11 +1081,17 @@ let Slider = class Slider extends ControlElement {
1079
1081
  */
1080
1082
  renderTrack(range) {
1081
1083
  const stepContainerSize = this.calculatePosition(this.minNumber + this.stepNumber);
1082
- const translateX = (stepContainerSize / 2);
1083
- const stepsStyle = { transform: `translateX(${translateX}%)`, backgroundSize: `${stepContainerSize}% 100%` };
1084
+ const translateX = stepContainerSize / 2;
1085
+ const stepsStyle = {
1086
+ transform: `translateX(${translateX}%)`,
1087
+ backgroundSize: `${stepContainerSize}% 100%`
1088
+ };
1084
1089
  const stepContainerStyle = { transform: `translateX(-${translateX}%)` };
1085
1090
  const trackFillStyle = range
1086
- ? { width: `${this.calculatePosition(this.toNumber) - this.calculatePosition(this.fromNumber)}%`, left: `${this.calculatePosition(this.fromNumber)}%` }
1091
+ ? {
1092
+ width: `${this.calculatePosition(this.toNumber) - this.calculatePosition(this.fromNumber)}%`,
1093
+ left: `${this.calculatePosition(this.fromNumber)}%`
1094
+ }
1087
1095
  : { width: `${this.calculatePosition(Number(this.value))}%` };
1088
1096
  return html `
1089
1097
  <div part="track-wrapper" ${ref(this.trackRef)}>
@@ -1193,11 +1201,15 @@ let Slider = class Slider extends ControlElement {
1193
1201
  <div part="slider-wrapper">
1194
1202
  <div part="slider" ${ref(this.sliderRef)}>
1195
1203
  ${this.renderTrack(this.range)}
1196
- ${this.range ? this.renderThumb(this.fromNumber, this.toNumber) : this.renderThumb(this.valueNumber)}
1204
+ ${this.range
1205
+ ? this.renderThumb(this.fromNumber, this.toNumber)
1206
+ : this.renderThumb(this.valueNumber)}
1197
1207
  </div>
1198
1208
  </div>
1199
1209
  ${this.range && this.isShowInputField ? this.renderNumberField(this.to, SliderDataName.to) : null}
1200
- ${!this.range && this.isShowInputField ? this.renderNumberField(this.value, SliderDataName.value) : null}
1210
+ ${!this.range && this.isShowInputField
1211
+ ? this.renderNumberField(this.value, SliderDataName.value)
1212
+ : null}
1201
1213
  `;
1202
1214
  }
1203
1215
  };