@refinitiv-ui/elements 5.10.0 → 5.10.2-build.1841524222.1.59
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.
- package/CHANGELOG.md +25 -0
- package/README.md +4 -4
- package/lib/accordion/index.js +2 -2
- package/lib/appstate-bar/index.js +2 -2
- package/lib/autosuggest/index.js +6 -6
- package/lib/button/index.d.ts +10 -4
- package/lib/button/index.js +26 -8
- package/lib/button-bar/index.d.ts +49 -0
- package/lib/button-bar/index.js +151 -11
- package/lib/calendar/constants.js +1 -1
- package/lib/calendar/index.d.ts +1 -1
- package/lib/calendar/index.js +11 -11
- package/lib/calendar/types.d.ts +1 -1
- package/lib/calendar/utils.js +1 -1
- package/lib/canvas/index.js +2 -2
- package/lib/card/index.js +5 -5
- package/lib/chart/index.js +4 -4
- package/lib/checkbox/index.js +3 -4
- package/lib/checkbox/themes/halo/dark/index.js +1 -1
- package/lib/checkbox/themes/halo/light/index.js +1 -1
- package/lib/clock/index.js +6 -6
- package/lib/clock/utils/TickManager.js +2 -2
- package/lib/collapse/index.js +3 -3
- package/lib/color-dialog/elements/color-palettes.js +1 -1
- package/lib/color-dialog/elements/grayscale-palettes.js +2 -2
- package/lib/color-dialog/elements/palettes.js +3 -3
- package/lib/color-dialog/helpers/value-model.js +1 -1
- package/lib/color-dialog/index.d.ts +1 -1
- package/lib/color-dialog/index.js +6 -6
- package/lib/combo-box/helpers/filter.d.ts +1 -1
- package/lib/combo-box/helpers/types.d.ts +1 -1
- package/lib/combo-box/index.d.ts +4 -4
- package/lib/combo-box/index.js +9 -9
- package/lib/counter/index.js +2 -2
- package/lib/datetime-picker/index.js +5 -5
- package/lib/datetime-picker/utils.js +1 -1
- package/lib/dialog/custom-elements.json +11 -0
- package/lib/dialog/custom-elements.md +4 -3
- package/lib/dialog/index.d.ts +18 -1
- package/lib/dialog/index.js +35 -10
- package/lib/email-field/index.d.ts +1 -1
- package/lib/email-field/index.js +2 -2
- package/lib/flag/index.js +3 -3
- package/lib/flag/utils/FlagLoader.d.ts +1 -1
- package/lib/flag/utils/FlagLoader.js +1 -1
- package/lib/header/index.js +2 -2
- package/lib/heatmap/helpers/color.d.ts +1 -1
- package/lib/heatmap/helpers/color.js +1 -1
- package/lib/heatmap/index.js +5 -5
- package/lib/icon/index.js +3 -3
- package/lib/icon/utils/IconLoader.d.ts +1 -1
- package/lib/icon/utils/IconLoader.js +1 -1
- package/lib/interactive-chart/helpers/types.d.ts +1 -1
- package/lib/interactive-chart/index.js +4 -4
- package/lib/item/helpers/types.d.ts +1 -1
- package/lib/item/index.js +3 -3
- package/lib/label/index.js +4 -4
- package/lib/layout/index.js +2 -2
- package/lib/led-gauge/index.js +2 -2
- package/lib/list/custom-elements.json +13 -0
- package/lib/list/custom-elements.md +10 -9
- package/lib/list/helpers/types.d.ts +1 -1
- package/lib/list/index.d.ts +5 -1
- package/lib/list/index.js +10 -3
- package/lib/list/renderer.d.ts +1 -1
- package/lib/loader/index.js +1 -1
- package/lib/multi-input/helpers/types.d.ts +1 -1
- package/lib/multi-input/index.js +6 -6
- package/lib/notification/elements/notification-tray.js +3 -3
- package/lib/notification/elements/notification.js +2 -2
- package/lib/number-field/index.d.ts +1 -1
- package/lib/number-field/index.js +4 -3
- package/lib/overlay/elements/overlay-backdrop.js +2 -2
- package/lib/overlay/elements/overlay-viewport.js +1 -1
- package/lib/overlay/elements/overlay.js +4 -4
- package/lib/overlay/managers/focus-manager.js +1 -1
- package/lib/overlay/managers/interaction-lock-manager.js +1 -1
- package/lib/overlay/managers/viewport-manager.js +1 -1
- package/lib/overlay/managers/zindex-manager.js +1 -1
- package/lib/overlay-menu/helpers/types.d.ts +1 -1
- package/lib/overlay-menu/index.js +6 -6
- package/lib/overlay-menu/managers/menu-manager.js +1 -1
- package/lib/pagination/index.d.ts +2 -2
- package/lib/pagination/index.js +9 -11
- package/lib/panel/index.js +2 -2
- package/lib/password-field/index.d.ts +2 -2
- package/lib/password-field/index.js +3 -3
- package/lib/pill/index.js +3 -3
- package/lib/progress-bar/index.js +3 -3
- package/lib/radio-button/index.d.ts +2 -2
- package/lib/radio-button/index.js +10 -7
- package/lib/radio-button/themes/halo/dark/index.js +1 -1
- package/lib/radio-button/themes/halo/light/index.js +1 -1
- package/lib/rating/index.js +4 -4
- package/lib/search-field/index.d.ts +2 -2
- package/lib/search-field/index.js +3 -3
- package/lib/select/index.js +6 -6
- package/lib/sidebar-layout/index.js +4 -4
- package/lib/slider/index.js +14 -4
- package/lib/sparkline/index.js +4 -4
- package/lib/swing-gauge/index.js +5 -5
- package/lib/tab/custom-elements.json +13 -0
- package/lib/tab/custom-elements.md +1 -0
- package/lib/tab/index.d.ts +13 -15
- package/lib/tab/index.js +28 -35
- package/lib/tab-bar/custom-elements.json +12 -0
- package/lib/tab-bar/custom-elements.md +7 -0
- package/lib/tab-bar/index.d.ts +56 -7
- package/lib/tab-bar/index.js +139 -40
- package/lib/text-field/index.d.ts +1 -1
- package/lib/text-field/index.js +4 -4
- package/lib/time-picker/index.d.ts +1 -1
- package/lib/time-picker/index.js +9 -9
- package/lib/toggle/index.js +2 -2
- package/lib/tooltip/index.js +4 -4
- package/lib/tooltip/managers/tooltip-manager.js +2 -2
- package/lib/tornado-chart/elements/tornado-chart.js +2 -2
- package/lib/tornado-chart/elements/tornado-item.js +3 -3
- package/lib/tree/elements/tree-item.d.ts +33 -0
- package/lib/tree/elements/tree-item.js +83 -24
- package/lib/tree/elements/tree.d.ts +2 -1
- package/lib/tree/elements/tree.js +3 -2
- package/lib/tree/helpers/types.d.ts +1 -1
- package/lib/tree/managers/tree-manager.d.ts +1 -1
- package/lib/tree-select/index.d.ts +3 -3
- package/lib/tree-select/index.js +9 -9
- package/lib/tree-select/themes/halo/dark/index.js +1 -1
- package/lib/tree-select/themes/halo/light/index.js +1 -1
- package/lib/version.js +1 -1
- package/package.json +24 -295
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { __decorate } from "tslib";
|
|
2
2
|
import { BasicElement, html, css } from '@refinitiv-ui/core';
|
|
3
|
-
import { customElement } from '@refinitiv-ui/core/
|
|
4
|
-
import { property } from '@refinitiv-ui/core/
|
|
5
|
-
import { query } from '@refinitiv-ui/core/
|
|
6
|
-
import { ifDefined } from '@refinitiv-ui/core/
|
|
3
|
+
import { customElement } from '@refinitiv-ui/core/decorators/custom-element.js';
|
|
4
|
+
import { property } from '@refinitiv-ui/core/decorators/property.js';
|
|
5
|
+
import { query } from '@refinitiv-ui/core/decorators/query.js';
|
|
6
|
+
import { ifDefined } from '@refinitiv-ui/core/directives/if-defined.js';
|
|
7
7
|
import { VERSION } from '../version.js';
|
|
8
8
|
import '../layout/index.js';
|
|
9
9
|
/**
|
package/lib/slider/index.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { __decorate } from "tslib";
|
|
2
2
|
import { html, css, ControlElement, WarningNotice } from '@refinitiv-ui/core';
|
|
3
|
-
import { customElement } from '@refinitiv-ui/core/
|
|
4
|
-
import { property } from '@refinitiv-ui/core/
|
|
5
|
-
import { query } from '@refinitiv-ui/core/
|
|
6
|
-
import { styleMap } from '@refinitiv-ui/core/
|
|
3
|
+
import { customElement } from '@refinitiv-ui/core/decorators/custom-element.js';
|
|
4
|
+
import { property } from '@refinitiv-ui/core/decorators/property.js';
|
|
5
|
+
import { query } from '@refinitiv-ui/core/decorators/query.js';
|
|
6
|
+
import { styleMap } from '@refinitiv-ui/core/directives/style-map.js';
|
|
7
7
|
import { VERSION } from '../version.js';
|
|
8
8
|
import '../number-field/index.js';
|
|
9
9
|
var SliderNameType;
|
|
@@ -779,6 +779,10 @@ let Slider = class Slider extends ControlElement {
|
|
|
779
779
|
}
|
|
780
780
|
}
|
|
781
781
|
}
|
|
782
|
+
if (!this.dragging) {
|
|
783
|
+
// Update internal `valuePrevious` when `value` was programatically set by user.
|
|
784
|
+
this.valuePrevious = this.value;
|
|
785
|
+
}
|
|
782
786
|
}
|
|
783
787
|
/**
|
|
784
788
|
* From value observer
|
|
@@ -805,6 +809,9 @@ let Slider = class Slider extends ControlElement {
|
|
|
805
809
|
}
|
|
806
810
|
}
|
|
807
811
|
}
|
|
812
|
+
if (!this.dragging) {
|
|
813
|
+
this.fromPrevious = this.from;
|
|
814
|
+
}
|
|
808
815
|
}
|
|
809
816
|
/**
|
|
810
817
|
* Return fallback number of the value is invalid
|
|
@@ -884,6 +891,9 @@ let Slider = class Slider extends ControlElement {
|
|
|
884
891
|
}
|
|
885
892
|
}
|
|
886
893
|
}
|
|
894
|
+
if (!this.dragging) {
|
|
895
|
+
this.toPrevious = this.to;
|
|
896
|
+
}
|
|
887
897
|
}
|
|
888
898
|
/**
|
|
889
899
|
* Step observer
|
package/lib/sparkline/index.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { __decorate } from "tslib";
|
|
2
2
|
import { css, ResponsiveElement, html } from '@refinitiv-ui/core';
|
|
3
|
-
import { customElement } from '@refinitiv-ui/core/
|
|
4
|
-
import { property } from '@refinitiv-ui/core/
|
|
5
|
-
import { query } from '@refinitiv-ui/core/
|
|
3
|
+
import { customElement } from '@refinitiv-ui/core/decorators/custom-element.js';
|
|
4
|
+
import { property } from '@refinitiv-ui/core/decorators/property.js';
|
|
5
|
+
import { query } from '@refinitiv-ui/core/decorators/query.js';
|
|
6
6
|
import { VERSION } from '../version.js';
|
|
7
|
-
import { color } from '@refinitiv-ui/utils/
|
|
7
|
+
import { color } from '@refinitiv-ui/utils/color.js';
|
|
8
8
|
import '@refinitiv-ui/browser-sparkline';
|
|
9
9
|
let Sparkline = class Sparkline extends ResponsiveElement {
|
|
10
10
|
constructor() {
|
package/lib/swing-gauge/index.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { __decorate } from "tslib";
|
|
2
2
|
import { ResponsiveElement, css, html, WarningNotice } from '@refinitiv-ui/core';
|
|
3
|
-
import { customElement } from '@refinitiv-ui/core/
|
|
4
|
-
import { property } from '@refinitiv-ui/core/
|
|
5
|
-
import { query } from '@refinitiv-ui/core/
|
|
6
|
-
import { state } from '@refinitiv-ui/core/
|
|
7
|
-
import { styleMap } from '@refinitiv-ui/core/
|
|
3
|
+
import { customElement } from '@refinitiv-ui/core/decorators/custom-element.js';
|
|
4
|
+
import { property } from '@refinitiv-ui/core/decorators/property.js';
|
|
5
|
+
import { query } from '@refinitiv-ui/core/decorators/query.js';
|
|
6
|
+
import { state } from '@refinitiv-ui/core/decorators/state.js';
|
|
7
|
+
import { styleMap } from '@refinitiv-ui/core/directives/style-map.js';
|
|
8
8
|
import { VERSION } from '../version.js';
|
|
9
9
|
import '../canvas/index.js';
|
|
10
10
|
import '../label/index.js';
|
|
@@ -52,6 +52,12 @@
|
|
|
52
52
|
"description": "Set disabled state",
|
|
53
53
|
"type": "boolean",
|
|
54
54
|
"default": "false"
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"name": "value",
|
|
58
|
+
"description": "Tab's value",
|
|
59
|
+
"type": "string",
|
|
60
|
+
"default": "\"\""
|
|
55
61
|
}
|
|
56
62
|
],
|
|
57
63
|
"properties": [
|
|
@@ -110,6 +116,13 @@
|
|
|
110
116
|
"description": "Set disabled state",
|
|
111
117
|
"type": "boolean",
|
|
112
118
|
"default": "false"
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
"name": "value",
|
|
122
|
+
"attribute": "value",
|
|
123
|
+
"description": "Tab's value",
|
|
124
|
+
"type": "string",
|
|
125
|
+
"default": "\"\""
|
|
113
126
|
}
|
|
114
127
|
],
|
|
115
128
|
"events": [
|
|
@@ -14,6 +14,7 @@ A building block for individual tab
|
|
|
14
14
|
| `label` | `label` | `string` | "" | Specify tab's label text |
|
|
15
15
|
| `lineClamp` | `line-clamp` | `number` | 1 | Limit the number of lines before truncating |
|
|
16
16
|
| `subLabel` | `sub-label` | `string` | "" | Specify tab's sub-label text |
|
|
17
|
+
| `value` | `value` | `string` | "" | Tab's value |
|
|
17
18
|
|
|
18
19
|
## Events
|
|
19
20
|
|
package/lib/tab/index.d.ts
CHANGED
|
@@ -7,6 +7,9 @@ import '../label/index.js';
|
|
|
7
7
|
* @attr {boolean} disabled - Set disabled state
|
|
8
8
|
* @prop {boolean} [disabled=false] - Set disabled state
|
|
9
9
|
*
|
|
10
|
+
* @attr {string} value - Tab's value
|
|
11
|
+
* @prop {string} [value=""] - Tab's value
|
|
12
|
+
*
|
|
10
13
|
* @fires clear - Dispatched when click on cross button occurs
|
|
11
14
|
*/
|
|
12
15
|
export declare class Tab extends ControlElement {
|
|
@@ -15,6 +18,13 @@ export declare class Tab extends ControlElement {
|
|
|
15
18
|
* @returns version number
|
|
16
19
|
*/
|
|
17
20
|
static get version(): string;
|
|
21
|
+
/**
|
|
22
|
+
* A `CSSResultGroup` that will be used
|
|
23
|
+
* to style the host, slotted children
|
|
24
|
+
* and the internal template of the element.
|
|
25
|
+
* @returns CSS template
|
|
26
|
+
*/
|
|
27
|
+
static get styles(): CSSResultGroup;
|
|
18
28
|
/**
|
|
19
29
|
* Specify icon name to display in tab
|
|
20
30
|
*/
|
|
@@ -51,18 +61,13 @@ export declare class Tab extends ControlElement {
|
|
|
51
61
|
/**
|
|
52
62
|
* True, if there is slotted content
|
|
53
63
|
*/
|
|
54
|
-
private
|
|
64
|
+
private isSlotHasContent;
|
|
55
65
|
/**
|
|
56
|
-
*
|
|
57
|
-
* @returns whether node can be ignored.
|
|
58
|
-
*/
|
|
59
|
-
private isIgnorable;
|
|
60
|
-
/**
|
|
61
|
-
* Checks slotted children nodes and updates component to refresh label and sub-label templates.
|
|
66
|
+
* Run on default slot slotchange
|
|
62
67
|
* @param event slotchange
|
|
63
68
|
* @returns {void}
|
|
64
69
|
*/
|
|
65
|
-
private
|
|
70
|
+
private onSlotChange;
|
|
66
71
|
/**
|
|
67
72
|
* Omitted lineClamp if subLabel is provided
|
|
68
73
|
* @returns line Clamp value
|
|
@@ -73,13 +78,6 @@ export declare class Tab extends ControlElement {
|
|
|
73
78
|
* @returns {void}
|
|
74
79
|
*/
|
|
75
80
|
private handleClickClear;
|
|
76
|
-
/**
|
|
77
|
-
* A `CSSResultGroup` that will be used
|
|
78
|
-
* to style the host, slotted children
|
|
79
|
-
* and the internal template of the element.
|
|
80
|
-
* @returns CSS template
|
|
81
|
-
*/
|
|
82
|
-
static get styles(): CSSResultGroup;
|
|
83
81
|
/**
|
|
84
82
|
* Show Close Button if allow clears
|
|
85
83
|
* @returns close button template
|
package/lib/tab/index.js
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
import { __decorate } from "tslib";
|
|
2
2
|
import { html, css, ControlElement } from '@refinitiv-ui/core';
|
|
3
|
-
import { customElement } from '@refinitiv-ui/core/
|
|
4
|
-
import { property } from '@refinitiv-ui/core/
|
|
3
|
+
import { customElement } from '@refinitiv-ui/core/decorators/custom-element.js';
|
|
4
|
+
import { property } from '@refinitiv-ui/core/decorators/property.js';
|
|
5
|
+
import { state } from '@refinitiv-ui/core/decorators/state.js';
|
|
6
|
+
import { isSlotEmpty } from '@refinitiv-ui/utils/is-slot-empty.js';
|
|
5
7
|
import { VERSION } from '../version.js';
|
|
6
8
|
import '../icon/index.js';
|
|
7
9
|
import '../label/index.js';
|
|
8
|
-
const isAllWhitespaceTextNode = (node) => {
|
|
9
|
-
var _a;
|
|
10
|
-
return node.nodeType === document.TEXT_NODE
|
|
11
|
-
&& !((_a = node.textContent) === null || _a === void 0 ? void 0 : _a.trim());
|
|
12
|
-
};
|
|
13
10
|
/**
|
|
14
11
|
* A building block for individual tab
|
|
15
12
|
* @attr {boolean} disabled - Set disabled state
|
|
16
13
|
* @prop {boolean} [disabled=false] - Set disabled state
|
|
17
14
|
*
|
|
15
|
+
* @attr {string} value - Tab's value
|
|
16
|
+
* @prop {string} [value=""] - Tab's value
|
|
17
|
+
*
|
|
18
18
|
* @fires clear - Dispatched when click on cross button occurs
|
|
19
19
|
*/
|
|
20
20
|
let Tab = class Tab extends ControlElement {
|
|
@@ -56,16 +56,15 @@ let Tab = class Tab extends ControlElement {
|
|
|
56
56
|
/**
|
|
57
57
|
* True, if there is slotted content
|
|
58
58
|
*/
|
|
59
|
-
this.
|
|
59
|
+
this.isSlotHasContent = false;
|
|
60
60
|
/**
|
|
61
|
-
*
|
|
61
|
+
* Run on default slot slotchange
|
|
62
62
|
* @param event slotchange
|
|
63
63
|
* @returns {void}
|
|
64
64
|
*/
|
|
65
|
-
this.
|
|
65
|
+
this.onSlotChange = (event) => {
|
|
66
66
|
const slot = event.target;
|
|
67
|
-
this.
|
|
68
|
-
this.requestUpdate();
|
|
67
|
+
this.isSlotHasContent = !!slot.assignedNodes().length && isSlotEmpty(slot);
|
|
69
68
|
};
|
|
70
69
|
}
|
|
71
70
|
/**
|
|
@@ -76,12 +75,18 @@ let Tab = class Tab extends ControlElement {
|
|
|
76
75
|
return VERSION;
|
|
77
76
|
}
|
|
78
77
|
/**
|
|
79
|
-
*
|
|
80
|
-
*
|
|
78
|
+
* A `CSSResultGroup` that will be used
|
|
79
|
+
* to style the host, slotted children
|
|
80
|
+
* and the internal template of the element.
|
|
81
|
+
* @returns CSS template
|
|
81
82
|
*/
|
|
82
|
-
|
|
83
|
-
return
|
|
84
|
-
|
|
83
|
+
static get styles() {
|
|
84
|
+
return css `
|
|
85
|
+
:host {
|
|
86
|
+
display: inline-flex;
|
|
87
|
+
flex-shrink: 0;
|
|
88
|
+
}
|
|
89
|
+
`;
|
|
85
90
|
}
|
|
86
91
|
/**
|
|
87
92
|
* Omitted lineClamp if subLabel is provided
|
|
@@ -101,20 +106,6 @@ let Tab = class Tab extends ControlElement {
|
|
|
101
106
|
*/
|
|
102
107
|
this.dispatchEvent(new CustomEvent('clear'));
|
|
103
108
|
}
|
|
104
|
-
/**
|
|
105
|
-
* A `CSSResultGroup` that will be used
|
|
106
|
-
* to style the host, slotted children
|
|
107
|
-
* and the internal template of the element.
|
|
108
|
-
* @returns CSS template
|
|
109
|
-
*/
|
|
110
|
-
static get styles() {
|
|
111
|
-
return css `
|
|
112
|
-
:host {
|
|
113
|
-
display: inline-flex;
|
|
114
|
-
flex-shrink: 0;
|
|
115
|
-
}
|
|
116
|
-
`;
|
|
117
|
-
}
|
|
118
109
|
/**
|
|
119
110
|
* Show Close Button if allow clears
|
|
120
111
|
* @returns close button template
|
|
@@ -131,7 +122,7 @@ let Tab = class Tab extends ControlElement {
|
|
|
131
122
|
* @returns Label template
|
|
132
123
|
*/
|
|
133
124
|
get LabelTemplate() {
|
|
134
|
-
if (!this.label ||
|
|
125
|
+
if (!this.label || this.isSlotHasContent) {
|
|
135
126
|
return null;
|
|
136
127
|
}
|
|
137
128
|
return html `
|
|
@@ -147,7 +138,7 @@ let Tab = class Tab extends ControlElement {
|
|
|
147
138
|
* @returns SubLabel template
|
|
148
139
|
*/
|
|
149
140
|
get SubLabelTemplate() {
|
|
150
|
-
if (!this.subLabel ||
|
|
141
|
+
if (!this.subLabel || this.isSlotHasContent) {
|
|
151
142
|
return null;
|
|
152
143
|
}
|
|
153
144
|
return html `
|
|
@@ -169,8 +160,7 @@ let Tab = class Tab extends ControlElement {
|
|
|
169
160
|
<div part="label-container">
|
|
170
161
|
${this.LabelTemplate}
|
|
171
162
|
${this.SubLabelTemplate}
|
|
172
|
-
<slot @slotchange="${this.
|
|
173
|
-
</slot>
|
|
163
|
+
<slot @slotchange="${this.onSlotChange}"></slot>
|
|
174
164
|
</div>
|
|
175
165
|
${this.CloseTemplate}
|
|
176
166
|
`;
|
|
@@ -200,6 +190,9 @@ __decorate([
|
|
|
200
190
|
__decorate([
|
|
201
191
|
property({ type: String, reflect: true })
|
|
202
192
|
], Tab.prototype, "level", void 0);
|
|
193
|
+
__decorate([
|
|
194
|
+
state()
|
|
195
|
+
], Tab.prototype, "isSlotHasContent", void 0);
|
|
203
196
|
Tab = __decorate([
|
|
204
197
|
customElement('ef-tab', {
|
|
205
198
|
alias: 'coral-tab'
|
|
@@ -45,6 +45,18 @@
|
|
|
45
45
|
"description": "Use to switch from horizontal to vertical layout.",
|
|
46
46
|
"type": "boolean",
|
|
47
47
|
"default": "false"
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"name": "value",
|
|
51
|
+
"description": "Value of tab-bar, derived from value of an active tab.",
|
|
52
|
+
"type": "string",
|
|
53
|
+
"default": "\"\""
|
|
54
|
+
}
|
|
55
|
+
],
|
|
56
|
+
"events": [
|
|
57
|
+
{
|
|
58
|
+
"name": "value-changed",
|
|
59
|
+
"description": "Fired when the `value` changes."
|
|
48
60
|
}
|
|
49
61
|
]
|
|
50
62
|
}
|
|
@@ -8,4 +8,11 @@ Container for tabs
|
|
|
8
8
|
|-------------|-------------|---------------------------------|---------|--------------------------------------------------|
|
|
9
9
|
| `alignment` | `alignment` | `"left" \| "center" \| "right"` | "left" | Specify tab's horizontal alignment |
|
|
10
10
|
| `level` | `level` | `"1" \| "2" \| "3"` | "1" | Use level styling from theme |
|
|
11
|
+
| `value` | | `string` | "" | Value of tab-bar, derived from value of an active tab. |
|
|
11
12
|
| `vertical` | `vertical` | `boolean` | false | Use to switch from horizontal to vertical layout. |
|
|
13
|
+
|
|
14
|
+
## Events
|
|
15
|
+
|
|
16
|
+
| Event | Description |
|
|
17
|
+
|-----------------|---------------------------------|
|
|
18
|
+
| `value-changed` | Fired when the `value` changes. |
|
package/lib/tab-bar/index.d.ts
CHANGED
|
@@ -3,6 +3,8 @@ import { TemplateResult, CSSResultGroup, PropertyValues, ResponsiveElement, Elem
|
|
|
3
3
|
import '../button/index.js';
|
|
4
4
|
/**
|
|
5
5
|
* Container for tabs
|
|
6
|
+
*
|
|
7
|
+
* @fires value-changed - Fired when the `value` changes.
|
|
6
8
|
*/
|
|
7
9
|
export declare class TabBar extends ResponsiveElement {
|
|
8
10
|
/**
|
|
@@ -29,6 +31,18 @@ export declare class TabBar extends ResponsiveElement {
|
|
|
29
31
|
* Use to switch from horizontal to vertical layout.
|
|
30
32
|
*/
|
|
31
33
|
vertical: boolean;
|
|
34
|
+
/**
|
|
35
|
+
* Internal value of tab bar.
|
|
36
|
+
* Controlled by public setter and getter
|
|
37
|
+
*/
|
|
38
|
+
private _value;
|
|
39
|
+
/**
|
|
40
|
+
* Value of tab-bar, derived from value of an active tab.
|
|
41
|
+
* @param value Element value
|
|
42
|
+
* @default -
|
|
43
|
+
*/
|
|
44
|
+
set value(value: string);
|
|
45
|
+
get value(): string;
|
|
32
46
|
private content;
|
|
33
47
|
private leftBtn;
|
|
34
48
|
private rightBtn;
|
|
@@ -55,26 +69,61 @@ export declare class TabBar extends ResponsiveElement {
|
|
|
55
69
|
*/
|
|
56
70
|
resizedCallback(size: ElementSize): void;
|
|
57
71
|
/**
|
|
58
|
-
*
|
|
72
|
+
* Return true if incoming value matches one of the existing tabs
|
|
73
|
+
* @param value Value to check
|
|
74
|
+
* @returns true if incoming value matches one of the existing tabs
|
|
75
|
+
*/
|
|
76
|
+
private isValidValue;
|
|
77
|
+
/**
|
|
78
|
+
* When the slot changes, set the level, toggle the scroll button, and set the value
|
|
59
79
|
* @returns {void}
|
|
60
80
|
*/
|
|
61
|
-
private
|
|
81
|
+
private onSlotChange;
|
|
62
82
|
/**
|
|
63
|
-
*
|
|
64
|
-
* @param
|
|
83
|
+
* Mark tab as active
|
|
84
|
+
* @param value value of tab to select
|
|
65
85
|
* @returns {void}
|
|
66
86
|
*/
|
|
67
|
-
private
|
|
87
|
+
private activateTab;
|
|
88
|
+
/**
|
|
89
|
+
* Set tab value and fires `tab-changed` event
|
|
90
|
+
* @param event - Event
|
|
91
|
+
* @returns {void}
|
|
92
|
+
*/
|
|
93
|
+
private onTap;
|
|
94
|
+
/**
|
|
95
|
+
* Get the value of a tab
|
|
96
|
+
* @param tab - The tab element.
|
|
97
|
+
* @returns The value of the tab.
|
|
98
|
+
*/
|
|
99
|
+
private getTabValue;
|
|
100
|
+
/**
|
|
101
|
+
* Return the tab's label, or its textContent, or an empty string
|
|
102
|
+
* @param tab - The tab element.
|
|
103
|
+
* @returns The tab label.
|
|
104
|
+
*/
|
|
105
|
+
private getTabLabel;
|
|
106
|
+
/**
|
|
107
|
+
* Get Tab elements from slot
|
|
108
|
+
* @returns the array of Tab
|
|
109
|
+
*/
|
|
110
|
+
private getTabElements;
|
|
111
|
+
/**
|
|
112
|
+
* Get focusable tab elements
|
|
113
|
+
* @returns the array of focusable tab
|
|
114
|
+
*/
|
|
115
|
+
private getFocusableTabs;
|
|
68
116
|
/**
|
|
69
117
|
* Set tab level attribute accordingly
|
|
70
118
|
* @returns {void}
|
|
71
119
|
*/
|
|
72
120
|
private setLevel;
|
|
73
121
|
/**
|
|
74
|
-
*
|
|
122
|
+
* Hide/Show scroll button when element is overflow.
|
|
123
|
+
* @param elementWidth width of element
|
|
75
124
|
* @returns {void}
|
|
76
125
|
*/
|
|
77
|
-
private
|
|
126
|
+
private toggleScrollButton;
|
|
78
127
|
/**
|
|
79
128
|
* Update scroll position when clicked on left button
|
|
80
129
|
* @returns {void}
|