@refinitiv-ui/elements 5.6.0 → 5.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (89) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/lib/accordion/custom-elements.md +18 -0
  3. package/lib/appstate-bar/custom-elements.md +22 -0
  4. package/lib/autosuggest/custom-elements.json +12 -2
  5. package/lib/autosuggest/custom-elements.md +47 -0
  6. package/lib/button/custom-elements.json +2 -2
  7. package/lib/button/custom-elements.md +23 -0
  8. package/lib/button-bar/custom-elements.md +9 -0
  9. package/lib/calendar/custom-elements.json +4 -4
  10. package/lib/calendar/custom-elements.md +35 -0
  11. package/lib/canvas/custom-elements.md +27 -0
  12. package/lib/card/custom-elements.md +24 -0
  13. package/lib/chart/custom-elements.md +16 -0
  14. package/lib/checkbox/custom-elements.json +4 -4
  15. package/lib/checkbox/custom-elements.md +18 -0
  16. package/lib/clock/custom-elements.md +28 -0
  17. package/lib/collapse/custom-elements.md +27 -0
  18. package/lib/color-dialog/custom-elements.json +8 -8
  19. package/lib/color-dialog/custom-elements.md +39 -0
  20. package/lib/combo-box/custom-elements.json +9 -6
  21. package/lib/combo-box/custom-elements.md +35 -0
  22. package/lib/counter/custom-elements.md +11 -0
  23. package/lib/datetime-picker/custom-elements.json +4 -4
  24. package/lib/datetime-picker/custom-elements.md +49 -0
  25. package/lib/dialog/custom-elements.json +4 -4
  26. package/lib/dialog/custom-elements.md +47 -0
  27. package/lib/email-field/custom-elements.json +6 -6
  28. package/lib/email-field/custom-elements.md +35 -0
  29. package/lib/flag/custom-elements.md +10 -0
  30. package/lib/header/custom-elements.md +18 -0
  31. package/lib/heatmap/custom-elements.md +26 -0
  32. package/lib/icon/custom-elements.md +8 -0
  33. package/lib/interactive-chart/custom-elements.md +32 -0
  34. package/lib/item/custom-elements.json +6 -8
  35. package/lib/item/custom-elements.md +29 -0
  36. package/lib/item/index.d.ts +9 -1
  37. package/lib/item/index.js +23 -3
  38. package/lib/label/custom-elements.md +11 -0
  39. package/lib/layout/custom-elements.md +26 -0
  40. package/lib/led-gauge/custom-elements.md +17 -0
  41. package/lib/list/custom-elements.md +30 -0
  42. package/lib/loader/custom-elements.md +5 -0
  43. package/lib/multi-input/custom-elements.json +4 -4
  44. package/lib/multi-input/custom-elements.md +43 -0
  45. package/lib/notification/custom-elements.md +26 -0
  46. package/lib/number-field/custom-elements.json +6 -6
  47. package/lib/number-field/custom-elements.md +37 -0
  48. package/lib/overlay/custom-elements.json +3 -0
  49. package/lib/overlay/custom-elements.md +54 -0
  50. package/lib/overlay-menu/custom-elements.json +10 -12
  51. package/lib/overlay-menu/custom-elements.md +44 -0
  52. package/lib/pagination/custom-elements.md +27 -0
  53. package/lib/panel/custom-elements.md +11 -0
  54. package/lib/password-field/custom-elements.json +6 -6
  55. package/lib/password-field/custom-elements.md +31 -0
  56. package/lib/pill/custom-elements.json +4 -4
  57. package/lib/pill/custom-elements.md +22 -0
  58. package/lib/progress-bar/custom-elements.md +18 -0
  59. package/lib/radio-button/custom-elements.json +8 -8
  60. package/lib/radio-button/custom-elements.md +19 -0
  61. package/lib/rating/custom-elements.md +17 -0
  62. package/lib/search-field/custom-elements.json +6 -6
  63. package/lib/search-field/custom-elements.md +33 -0
  64. package/lib/select/custom-elements.json +2 -2
  65. package/lib/select/custom-elements.md +24 -0
  66. package/lib/sidebar-layout/custom-elements.md +22 -0
  67. package/lib/slider/custom-elements.json +6 -6
  68. package/lib/slider/custom-elements.md +28 -0
  69. package/lib/sparkline/custom-elements.md +16 -0
  70. package/lib/swing-gauge/custom-elements.md +17 -0
  71. package/lib/tab/custom-elements.json +2 -2
  72. package/lib/tab/custom-elements.md +22 -0
  73. package/lib/tab-bar/custom-elements.md +11 -0
  74. package/lib/text-field/custom-elements.json +6 -6
  75. package/lib/text-field/custom-elements.md +37 -0
  76. package/lib/time-picker/custom-elements.json +4 -4
  77. package/lib/time-picker/custom-elements.md +28 -0
  78. package/lib/toggle/custom-elements.json +4 -4
  79. package/lib/toggle/custom-elements.md +19 -0
  80. package/lib/tooltip/custom-elements.md +14 -0
  81. package/lib/tornado-chart/custom-elements.md +18 -0
  82. package/lib/tree/custom-elements.json +2 -2
  83. package/lib/tree/custom-elements.md +32 -0
  84. package/lib/tree/managers/tree-manager.d.ts +20 -2
  85. package/lib/tree/managers/tree-manager.js +55 -28
  86. package/lib/tree-select/custom-elements.json +2 -2
  87. package/lib/tree-select/custom-elements.md +26 -0
  88. package/lib/version.js +1 -1
  89. package/package.json +7 -7
@@ -0,0 +1,14 @@
1
+ # ef-tooltip
2
+
3
+ Tooltip displays extra information when the
4
+ user hovers the pointer over an item.
5
+
6
+ ## Properties
7
+
8
+ | Property | Attribute | Type | Default | Description |
9
+ |-------------------|--------------------|--------------------------------------------------|---------|--------------------------------------------------|
10
+ | `condition` | | `TooltipCondition` | | Provide a function to test against the target.<br />Return `true` if the target matches |
11
+ | `position` | `position` | `"auto" \| "above" \| "right" \| "below" \| "left"` | "auto" | The position of the tooltip. Use the following values:<br />`auto` (default) - display based on mouse enter coordinates<br />`above` - display above the element<br />`right` - display to the right of the element<br />`below` - display beneath the element<br />`left` - display to the left of the element |
12
+ | `renderer` | | `TooltipRenderer` | | A renderer to define tooltip internal content.<br />Return undefined, `String`, `HTMLElement` or `DocumentFragment`.<br />If the content is not present, tooltip will not be displayed |
13
+ | `selector` | `selector` | `string` | "" | CSS selector to match the tooltip |
14
+ | `transitionStyle` | `transition-style` | `TooltipTransitionStyle` | "fade" | Set the transition style.<br />Value can be `fade`, `zoom`, `slide-down`, `slide-up`, `slide-right`,<br />`slide-left`, `slide-right-down`, `slide-right-up`, `slide-left-down`, `slide-left-up`, or null in case of no transition |
@@ -0,0 +1,18 @@
1
+ # ef-tornado-chart
2
+
3
+ A data visualization that helps to
4
+ show the differences or similarities between values
5
+
6
+ ## Properties
7
+
8
+ | Property | Attribute | Type | Default | Description |
9
+ |-------------|-------------|------------------|---------|---------------------------------|
10
+ | `primary` | `primary` | `string \| null` | null | Primary bar chart legend text |
11
+ | `secondary` | `secondary` | `string \| null` | null | Secondary bar chart legend text |
12
+
13
+ ## Slots
14
+
15
+ | Name | Description |
16
+ |----------|--------------------------------------------------|
17
+ | `footer` | Any HTML contents to display at chart footer section |
18
+ | `header` | Any HTML contents to display at chart header section |
@@ -27,7 +27,7 @@
27
27
  "name": "stateless",
28
28
  "description": "Disable selections",
29
29
  "type": "boolean",
30
- "default": "\"false\""
30
+ "default": "false"
31
31
  }
32
32
  ],
33
33
  "properties": [
@@ -73,7 +73,7 @@
73
73
  "attribute": "stateless",
74
74
  "description": "Disable selections",
75
75
  "type": "boolean",
76
- "default": "\"false\""
76
+ "default": "false"
77
77
  }
78
78
  ],
79
79
  "events": [
@@ -0,0 +1,32 @@
1
+ # ef-tree
2
+
3
+ Displays a tree structure
4
+ to be used for menus and group selections
5
+
6
+ ## Properties
7
+
8
+ | Property | Attribute | Type | Default | Description |
9
+ |--------------|---------------|----------------|--------------------------|--------------------------------------------------|
10
+ | `data` | | `TreeData<T>` | | Data object to be used for creating tree |
11
+ | `multiple` | `multiple` | `boolean` | false | Allows multiple items to be selected |
12
+ | `noRelation` | `no-relation` | `boolean` | false | Breaks the relationship when multiple<br />selection mode is enabled |
13
+ | `query` | `query` | `string` | "" | Query string applied to tree |
14
+ | `renderer` | | `TreeRenderer` | "new TreeRenderer(this)" | Renderer used for generating tree items |
15
+ | `stateless` | `stateless` | `boolean` | false | Disable selections |
16
+ | `values` | | `string[]` | | Selected items in tree |
17
+
18
+ ## Methods
19
+
20
+ | Method | Type | Description |
21
+ |---------------|------------|-----------------------------|
22
+ | `checkAll` | `(): void` | Checks all editable items |
23
+ | `collapseAll` | `(): void` | Collapses all groups |
24
+ | `expandAll` | `(): void` | Expands all groups |
25
+ | `uncheckAll` | `(): void` | Unchecks all editable items |
26
+
27
+ ## Events
28
+
29
+ | Event | Description |
30
+ |--------------------|--------------------------------------------------|
31
+ | `expanded-changed` | Fired when an item's expanded state has changed. |
32
+ | `value-changed` | Fired when the users changed selection item. |
@@ -78,6 +78,24 @@ export declare class TreeManager<T extends TreeDataItem> {
78
78
  * @returns `True` if the item is checked
79
79
  */
80
80
  private isItemChecked;
81
+ /**
82
+ * Is the item checked indeterminately?
83
+ * @param item Original data item
84
+ * @returns `True` if the item has managed relationships and contains checked descendants
85
+ */
86
+ private isItemCheckedIndeterminate;
87
+ /**
88
+ * Determines whether the item is unchecked and can be changed to a checked state.
89
+ * @param item Original data item
90
+ * @returns True if the item can be changed to 'checked'.
91
+ */
92
+ private canCheckItem;
93
+ /**
94
+ * Determines whether the item is checked and can be changed to an unchecked state.
95
+ * @param item Original data item
96
+ * @returns True if the item can be changed to 'unchecked'.
97
+ */
98
+ private canUncheckItem;
81
99
  /**
82
100
  * Makes an item visible
83
101
  * @param item Original data item
@@ -92,10 +110,10 @@ export declare class TreeManager<T extends TreeDataItem> {
92
110
  private hideItem;
93
111
  /**
94
112
  * Forces a modification event, so that the renderer can update.
95
- * @param item Item of which to find ancestors
113
+ * @param item Item of which to find path
96
114
  * @returns {void}
97
115
  */
98
- private forceUpdateOnAncestors;
116
+ private forceUpdateOnPath;
99
117
  /**
100
118
  * Sets the mode (algorithm) the manager should use
101
119
  * @param mode Tree manager mode
@@ -48,7 +48,10 @@ export class TreeManager {
48
48
  */
49
49
  get checkedItems() {
50
50
  return this.composer.queryItems((item) => {
51
- return this.isItemChecked(item) && (!this.manageRelationships || !this.getItemChildren(item).length);
51
+ if (this.manageRelationships && this.isItemParent(item)) {
52
+ return false;
53
+ }
54
+ return this.isItemChecked(item);
52
55
  }, Infinity);
53
56
  }
54
57
  /**
@@ -112,8 +115,44 @@ export class TreeManager {
112
115
  * @returns `True` if the item is checked
113
116
  */
114
117
  isItemChecked(item) {
118
+ if (this.manageRelationships && this.isItemParent(item)) {
119
+ return !this.getItemChildren(item).some(child => !this.isItemChecked(child));
120
+ }
115
121
  return this.composer.getItemPropertyValue(item, 'selected') === true;
116
122
  }
123
+ /**
124
+ * Is the item checked indeterminately?
125
+ * @param item Original data item
126
+ * @returns `True` if the item has managed relationships and contains checked descendants
127
+ */
128
+ isItemCheckedIndeterminate(item) {
129
+ if (this.manageRelationships && this.isItemParent(item)) {
130
+ return this.getItemDescendants(item).some(desc => this.isItemChecked(desc));
131
+ }
132
+ return false;
133
+ }
134
+ /**
135
+ * Determines whether the item is unchecked and can be changed to a checked state.
136
+ * @param item Original data item
137
+ * @returns True if the item can be changed to 'checked'.
138
+ */
139
+ canCheckItem(item) {
140
+ if (this.manageRelationships && this.isItemParent(item)) {
141
+ return this.getItemChildren(item).some(child => this.canCheckItem(child));
142
+ }
143
+ return this.isItemCheckable(item) && this.composer.getItemPropertyValue(item, 'selected') !== true;
144
+ }
145
+ /**
146
+ * Determines whether the item is checked and can be changed to an unchecked state.
147
+ * @param item Original data item
148
+ * @returns True if the item can be changed to 'unchecked'.
149
+ */
150
+ canUncheckItem(item) {
151
+ if (this.manageRelationships && this.isItemParent(item)) {
152
+ return this.getItemChildren(item).some(child => this.canUncheckItem(child));
153
+ }
154
+ return this.isItemCheckable(item) && this.composer.getItemPropertyValue(item, 'selected') === true;
155
+ }
117
156
  /**
118
157
  * Makes an item visible
119
158
  * @param item Original data item
@@ -133,15 +172,12 @@ export class TreeManager {
133
172
  }
134
173
  /**
135
174
  * Forces a modification event, so that the renderer can update.
136
- * @param item Item of which to find ancestors
175
+ * @param item Item of which to find path
137
176
  * @returns {void}
138
177
  */
139
- forceUpdateOnAncestors(item) {
140
- this.composer.getItemAncestors(item).forEach(ancestor => {
141
- const allSelected = !this.getItemChildren(ancestor).some(child => this.isItemCheckable(child) && !this.isItemChecked(child));
142
- this.composer.setItemPropertyValue(ancestor, 'selected', allSelected);
143
- this.updateItem(ancestor);
144
- });
178
+ forceUpdateOnPath(item) {
179
+ const path = [...this.getItemAncestors(item), item];
180
+ path.forEach(item => this.composer.updateItemTimestamp(item));
145
181
  }
146
182
  /**
147
183
  * Sets the mode (algorithm) the manager should use
@@ -221,16 +257,13 @@ export class TreeManager {
221
257
  * @returns Checked state of the item
222
258
  */
223
259
  getItemCheckedState(item) {
224
- const descendants = this.getItemDescendants(item).filter(descendant => !this.composer.isItemLocked(descendant));
225
- const isParent = descendants.length > 0;
226
- if (isParent && this.manageRelationships) {
227
- const checkedCount = descendants.reduce((count, item) => {
228
- return count + (this.isItemChecked(item) === true ? 1 : 0);
229
- }, 0);
230
- return !checkedCount ? CheckedState.UNCHECKED
231
- : checkedCount === descendants.length ? CheckedState.CHECKED : CheckedState.INDETERMINATE;
260
+ if (this.isItemChecked(item)) {
261
+ return CheckedState.CHECKED;
232
262
  }
233
- return this.isItemChecked(item) === true ? CheckedState.CHECKED : CheckedState.UNCHECKED;
263
+ if (this.isItemCheckedIndeterminate(item)) {
264
+ return CheckedState.INDETERMINATE;
265
+ }
266
+ return CheckedState.UNCHECKED;
234
267
  }
235
268
  /**
236
269
  * Gets an item's ancestors
@@ -308,17 +341,14 @@ export class TreeManager {
308
341
  return this._checkItem(item);
309
342
  }
310
343
  _checkItem(item, manageRelationships = this.manageRelationships) {
311
- if (this.isItemCheckable(item) && !this.isItemChecked(item)) {
344
+ if (this.canCheckItem(item)) {
312
345
  this.composer.setItemPropertyValue(item, 'selected', true);
313
346
  if (manageRelationships) {
314
- this.forceUpdateOnAncestors(item);
347
+ this.forceUpdateOnPath(item);
315
348
  this.getItemDescendants(item).forEach(descendant => this._checkItem(descendant, false));
316
349
  }
317
350
  return true;
318
351
  }
319
- if (this.isItemParent(item)) {
320
- this.updateItem(item); // update parent checked state
321
- }
322
352
  return false;
323
353
  }
324
354
  /**
@@ -330,17 +360,14 @@ export class TreeManager {
330
360
  return this._uncheckItem(item);
331
361
  }
332
362
  _uncheckItem(item, manageRelationships = this.manageRelationships) {
333
- if (this.isItemCheckable(item) && this.isItemChecked(item)) {
363
+ if (this.canUncheckItem(item)) {
334
364
  this.composer.setItemPropertyValue(item, 'selected', false);
335
365
  if (manageRelationships) {
336
- this.forceUpdateOnAncestors(item);
366
+ this.forceUpdateOnPath(item);
337
367
  this.getItemDescendants(item).forEach(descendant => this._uncheckItem(descendant, false));
338
368
  }
339
369
  return true;
340
370
  }
341
- if (this.isItemParent(item)) {
342
- this.updateItem(item); // update parent checked state
343
- }
344
371
  return false;
345
372
  }
346
373
  /**
@@ -349,7 +376,7 @@ export class TreeManager {
349
376
  * @returns `True` if the item is modified
350
377
  */
351
378
  toggleItem(item) {
352
- return this.isItemChecked(item) ? this.uncheckItem(item) : this.checkItem(item);
379
+ return this.checkItem(item) || this.uncheckItem(item);
353
380
  }
354
381
  /**
355
382
  * Checks all items
@@ -21,7 +21,7 @@
21
21
  "name": "opened",
22
22
  "description": "Set dropdown to open",
23
23
  "type": "boolean",
24
- "default": "\"false\""
24
+ "default": "false"
25
25
  },
26
26
  {
27
27
  "name": "placeholder",
@@ -66,7 +66,7 @@
66
66
  "attribute": "opened",
67
67
  "description": "Set dropdown to open",
68
68
  "type": "boolean",
69
- "default": "\"false\""
69
+ "default": "false"
70
70
  },
71
71
  {
72
72
  "name": "placeholder",
@@ -0,0 +1,26 @@
1
+ # ef-tree-select
2
+
3
+ Dropdown control that allows selection from the tree list
4
+
5
+ ## Properties
6
+
7
+ | Property | Attribute | Type | Default | Description |
8
+ |---------------|---------------|----------------------|--------------------------------|--------------------------------------------------|
9
+ | `data` | | `TreeSelectData[]` | | Data object to be used for creating tree |
10
+ | `filterCount` | | `number` | 0 | Tracks the number of filter matches<br /><br />Only needed if internal filtering is unused |
11
+ | `noRelation` | `no-relation` | `boolean` | false | Breaks the relationship when multiple<br />selection mode is enabled |
12
+ | `opened` | `opened` | `boolean` | false | Set dropdown to open |
13
+ | `placeholder` | `placeholder` | `string` | | Set placeholder text |
14
+ | `renderer` | | `TreeSelectRenderer` | "new TreeSelectRenderer(this)" | Renderer used to render tree item elements |
15
+ | `showPills` | `show-pills` | `boolean` | false | Should the control show pills |
16
+ | `values` | | `string[]` | | Returns a values collection of the currently<br />selected item values |
17
+
18
+ ## Events
19
+
20
+ | Event | Description |
21
+ |------------------|---------------------------------------|
22
+ | `cancel` | Fired when selection is cancelled |
23
+ | `confirm` | Fired when selection is confirmed |
24
+ | `opened-changed` | Fires when opened state changes |
25
+ | `query-changed` | Fired when query in input box changed |
26
+ | `value-changed` | Fired when value of control changed |
package/lib/version.js CHANGED
@@ -1 +1 @@
1
- export const VERSION = '5.6.0';
1
+ export const VERSION = '5.7.0';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@refinitiv-ui/elements",
3
- "version": "5.6.0",
3
+ "version": "5.7.0",
4
4
  "description": "Element Framework Elements",
5
5
  "author": "Refinitiv",
6
6
  "license": "Apache-2.0",
@@ -312,12 +312,12 @@
312
312
  },
313
313
  "dependencies": {
314
314
  "@refinitiv-ui/browser-sparkline": "1.1.7",
315
- "@refinitiv-ui/core": "^5.3.0",
315
+ "@refinitiv-ui/core": "^5.3.1",
316
316
  "@refinitiv-ui/halo-theme": "^5.3.0",
317
- "@refinitiv-ui/i18n": "^5.2.0",
317
+ "@refinitiv-ui/i18n": "^5.2.1",
318
318
  "@refinitiv-ui/phrasebook": "^5.2.0",
319
319
  "@refinitiv-ui/solar-theme": "^5.5.0",
320
- "@refinitiv-ui/translate": "^5.2.0",
320
+ "@refinitiv-ui/translate": "^5.2.1",
321
321
  "@refinitiv-ui/utils": "^5.1.0",
322
322
  "@types/chart.js": "^2.9.31",
323
323
  "chart.js": "~2.9.4",
@@ -327,12 +327,12 @@
327
327
  "tslib": "^2.3.1"
328
328
  },
329
329
  "devDependencies": {
330
- "@refinitiv-ui/demo-block": "^5.1.0",
331
- "@refinitiv-ui/test-helpers": "^5.1.0",
330
+ "@refinitiv-ui/demo-block": "^5.1.1",
331
+ "@refinitiv-ui/test-helpers": "^5.1.1",
332
332
  "@types/d3-interpolate": "^3.0.1"
333
333
  },
334
334
  "publishConfig": {
335
335
  "access": "public"
336
336
  },
337
- "gitHead": "98890161cc4c25aa4870673a5b1f013cbe3fc6ac"
337
+ "gitHead": "442f86272d0c6dcb266d099c42b477e194355d1d"
338
338
  }