@fluentui/web-components 3.0.0-beta.84 → 3.0.0-beta.86
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 +21 -2
- package/dist/dts/anchor-button/index.d.ts +1 -0
- package/dist/dts/index-rollup.d.ts +2 -0
- package/dist/dts/index.d.ts +7 -8
- package/dist/dts/tree/define.d.ts +1 -0
- package/dist/dts/tree/index.d.ts +5 -0
- package/dist/dts/tree/tree.base.d.ts +68 -0
- package/dist/dts/tree/tree.bench.d.ts +3 -0
- package/dist/dts/tree/tree.d.ts +28 -0
- package/dist/dts/tree/tree.definition.d.ts +8 -0
- package/dist/dts/tree/tree.styles.d.ts +1 -0
- package/dist/dts/tree/tree.template.d.ts +2 -0
- package/dist/dts/tree-item/define.d.ts +1 -0
- package/dist/dts/tree-item/index.d.ts +6 -0
- package/dist/dts/tree-item/tree-item.base.d.ts +99 -0
- package/dist/dts/tree-item/tree-item.bench.d.ts +3 -0
- package/dist/dts/tree-item/tree-item.d.ts +38 -0
- package/dist/dts/tree-item/tree-item.definition.d.ts +8 -0
- package/dist/dts/tree-item/tree-item.options.d.ts +22 -0
- package/dist/dts/tree-item/tree-item.styles.d.ts +1 -0
- package/dist/dts/tree-item/tree-item.template.d.ts +2 -0
- package/dist/esm/anchor-button/index.js +1 -0
- package/dist/esm/anchor-button/index.js.map +1 -1
- package/dist/esm/index-rollup.js +2 -0
- package/dist/esm/index-rollup.js.map +1 -1
- package/dist/esm/index.js +6 -5
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/tree/define.js +4 -0
- package/dist/esm/tree/define.js.map +1 -0
- package/dist/esm/tree/index.js +6 -0
- package/dist/esm/tree/index.js.map +1 -0
- package/dist/esm/tree/tree.base.js +232 -0
- package/dist/esm/tree/tree.base.js.map +1 -0
- package/dist/esm/tree/tree.bench.js +10 -0
- package/dist/esm/tree/tree.bench.js.map +1 -0
- package/dist/esm/tree/tree.definition.js +16 -0
- package/dist/esm/tree/tree.definition.js.map +1 -0
- package/dist/esm/tree/tree.js +55 -0
- package/dist/esm/tree/tree.js.map +1 -0
- package/dist/esm/tree/tree.styles.js +9 -0
- package/dist/esm/tree/tree.styles.js.map +1 -0
- package/dist/esm/tree/tree.template.js +19 -0
- package/dist/esm/tree/tree.template.js.map +1 -0
- package/dist/esm/tree-item/define.js +4 -0
- package/dist/esm/tree-item/define.js.map +1 -0
- package/dist/esm/tree-item/index.js +6 -0
- package/dist/esm/tree-item/index.js.map +1 -0
- package/dist/esm/tree-item/tree-item.base.js +165 -0
- package/dist/esm/tree-item/tree-item.base.js.map +1 -0
- package/dist/esm/tree-item/tree-item.bench.js +10 -0
- package/dist/esm/tree-item/tree-item.bench.js.map +1 -0
- package/dist/esm/tree-item/tree-item.definition.js +16 -0
- package/dist/esm/tree-item/tree-item.definition.js.map +1 -0
- package/dist/esm/tree-item/tree-item.js +65 -0
- package/dist/esm/tree-item/tree-item.js.map +1 -0
- package/dist/esm/tree-item/tree-item.options.js +24 -0
- package/dist/esm/tree-item/tree-item.options.js.map +1 -0
- package/dist/esm/tree-item/tree-item.styles.js +157 -0
- package/dist/esm/tree-item/tree-item.styles.js.map +1 -0
- package/dist/esm/tree-item/tree-item.template.js +39 -0
- package/dist/esm/tree-item/tree-item.template.js.map +1 -0
- package/dist/web-components.d.ts +173 -0
- package/dist/web-components.js +1327 -800
- package/dist/web-components.min.js +291 -284
- package/package.json +1 -1
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { FASTElement, observable } from '@microsoft/fast-element';
|
|
3
|
+
import { isHTMLElement, keyArrowDown, keyArrowLeft, keyArrowRight, keyArrowUp, keyEnd, keyEnter, keyHome, keySpace, } from '@microsoft/fast-web-utilities';
|
|
4
|
+
import { isTreeItem } from '../tree-item/tree-item.options';
|
|
5
|
+
export class BaseTree extends FASTElement {
|
|
6
|
+
constructor() {
|
|
7
|
+
super();
|
|
8
|
+
/**
|
|
9
|
+
* The currently selected tree item
|
|
10
|
+
* @public
|
|
11
|
+
*/
|
|
12
|
+
this.currentSelected = null;
|
|
13
|
+
/**
|
|
14
|
+
* The tree item that is designated to be in the tab queue.
|
|
15
|
+
*
|
|
16
|
+
* @internal
|
|
17
|
+
*/
|
|
18
|
+
this.currentFocused = null;
|
|
19
|
+
/**
|
|
20
|
+
* The internal {@link https://developer.mozilla.org/docs/Web/API/ElementInternals | `ElementInternals`} instance for the component.
|
|
21
|
+
*
|
|
22
|
+
* @internal
|
|
23
|
+
*/
|
|
24
|
+
this.elementInternals = this.attachInternals();
|
|
25
|
+
this.childTreeItems = [];
|
|
26
|
+
this.elementInternals.role = 'tree';
|
|
27
|
+
}
|
|
28
|
+
childTreeItemsChanged() {
|
|
29
|
+
this.updateCurrentSelected();
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Updates current selected when slottedTreeItems changes
|
|
33
|
+
*/
|
|
34
|
+
updateCurrentSelected() {
|
|
35
|
+
// force single selection
|
|
36
|
+
// defaults to first one found
|
|
37
|
+
const selectedItem = this.querySelector(`[aria-selected='true']`);
|
|
38
|
+
this.currentSelected = selectedItem;
|
|
39
|
+
// invalidate the current focused item if it is no longer valid
|
|
40
|
+
if (this.currentFocused === null || !this.contains(this.currentFocused)) {
|
|
41
|
+
this.currentFocused = this.getValidFocusableItem();
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* KeyDown handler
|
|
46
|
+
*
|
|
47
|
+
* @internal
|
|
48
|
+
*/
|
|
49
|
+
keydownHandler(e) {
|
|
50
|
+
if (e.defaultPrevented) {
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
const item = e.target;
|
|
54
|
+
if (!isTreeItem(item) || this.childTreeItems.length < 1) {
|
|
55
|
+
return true;
|
|
56
|
+
}
|
|
57
|
+
const elements = this.getVisibleNodes();
|
|
58
|
+
switch (e.key) {
|
|
59
|
+
case keyHome: {
|
|
60
|
+
if (elements.length) {
|
|
61
|
+
elements[0].focus();
|
|
62
|
+
}
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
case keyEnd: {
|
|
66
|
+
if (elements.length) {
|
|
67
|
+
elements[elements.length - 1].focus();
|
|
68
|
+
}
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
case keyArrowLeft: {
|
|
72
|
+
if (item?.childTreeItems?.length && item.expanded) {
|
|
73
|
+
item.expanded = false;
|
|
74
|
+
}
|
|
75
|
+
else if (isTreeItem(item.parentElement)) {
|
|
76
|
+
item.parentElement.focus();
|
|
77
|
+
}
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
case keyArrowRight: {
|
|
81
|
+
if (item?.childTreeItems?.length) {
|
|
82
|
+
if (!item.expanded) {
|
|
83
|
+
item.expanded = true;
|
|
84
|
+
}
|
|
85
|
+
else {
|
|
86
|
+
this.focusNextNode(1, item);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
case keyArrowDown: {
|
|
92
|
+
this.focusNextNode(1, item);
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
|
+
case keyArrowUp: {
|
|
96
|
+
this.focusNextNode(-1, item);
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
case keyEnter: {
|
|
100
|
+
// In single-select trees where selection does not follow focus (see note below),
|
|
101
|
+
// the default action is typically to select the focused node.
|
|
102
|
+
this.clickHandler(e);
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
case keySpace: {
|
|
106
|
+
item.toggleSelection();
|
|
107
|
+
return;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
// don't prevent default if we took no action
|
|
111
|
+
return true;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Handle focus events
|
|
115
|
+
*
|
|
116
|
+
* @internal
|
|
117
|
+
*/
|
|
118
|
+
focusHandler(e) {
|
|
119
|
+
if (this.childTreeItems.length < 1) {
|
|
120
|
+
// no child items, nothing to do
|
|
121
|
+
return;
|
|
122
|
+
}
|
|
123
|
+
if (e.target === this) {
|
|
124
|
+
if (this.currentFocused === null) {
|
|
125
|
+
this.currentFocused = this.getValidFocusableItem();
|
|
126
|
+
}
|
|
127
|
+
if (this.currentFocused !== null) {
|
|
128
|
+
this.currentFocused.focus();
|
|
129
|
+
}
|
|
130
|
+
return;
|
|
131
|
+
}
|
|
132
|
+
if (this.contains(e.target)) {
|
|
133
|
+
this.setAttribute('tabindex', '-1');
|
|
134
|
+
this.currentFocused = e.target;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Handle blur events
|
|
139
|
+
*
|
|
140
|
+
* @internal
|
|
141
|
+
*/
|
|
142
|
+
blurHandler(e) {
|
|
143
|
+
if (e.target instanceof HTMLElement && (e.relatedTarget === null || !this.contains(e.relatedTarget))) {
|
|
144
|
+
this.setAttribute('tabindex', '0');
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Handles click events bubbling up
|
|
149
|
+
*
|
|
150
|
+
* @internal
|
|
151
|
+
*/
|
|
152
|
+
clickHandler(e) {
|
|
153
|
+
if (e.defaultPrevented) {
|
|
154
|
+
// handled, do nothing
|
|
155
|
+
return;
|
|
156
|
+
}
|
|
157
|
+
if (!isTreeItem(e.target)) {
|
|
158
|
+
// not a tree item, ignore
|
|
159
|
+
// return true, do not prevent default
|
|
160
|
+
return true;
|
|
161
|
+
}
|
|
162
|
+
const item = e.target;
|
|
163
|
+
item.toggleExpansion();
|
|
164
|
+
item.toggleSelection();
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Handles the selected-changed events bubbling up
|
|
168
|
+
* from child tree items
|
|
169
|
+
*
|
|
170
|
+
* @internal
|
|
171
|
+
*/
|
|
172
|
+
changeHandler(e) {
|
|
173
|
+
if (e.defaultPrevented) {
|
|
174
|
+
return;
|
|
175
|
+
}
|
|
176
|
+
if (!isTreeItem(e.target)) {
|
|
177
|
+
return true;
|
|
178
|
+
}
|
|
179
|
+
const item = e.target;
|
|
180
|
+
if (item.selected) {
|
|
181
|
+
// Deselect the prevously selected item
|
|
182
|
+
if (this.currentSelected && this.currentSelected !== item && isTreeItem(this.currentSelected)) {
|
|
183
|
+
this.currentSelected.selected = false;
|
|
184
|
+
}
|
|
185
|
+
// New selected item
|
|
186
|
+
this.currentSelected = item;
|
|
187
|
+
}
|
|
188
|
+
else if (!item.selected && this.currentSelected === item) {
|
|
189
|
+
// Selected item deselected
|
|
190
|
+
this.currentSelected = null;
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* checks if there are any nested tree items
|
|
195
|
+
*/
|
|
196
|
+
getValidFocusableItem() {
|
|
197
|
+
const elements = this.getVisibleNodes();
|
|
198
|
+
// default to selected element if there is one
|
|
199
|
+
let focusIndex = elements.findIndex(el => el.selected);
|
|
200
|
+
if (focusIndex === -1) {
|
|
201
|
+
// otherwise first focusable tree item
|
|
202
|
+
focusIndex = elements.findIndex(el => isTreeItem(el));
|
|
203
|
+
}
|
|
204
|
+
if (focusIndex !== -1) {
|
|
205
|
+
return elements[focusIndex];
|
|
206
|
+
}
|
|
207
|
+
return null;
|
|
208
|
+
}
|
|
209
|
+
getVisibleNodes() {
|
|
210
|
+
return Array.from(this.querySelectorAll('*')).filter(node => isTreeItem(node) && node.offsetParent !== null);
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* Move focus to a tree item based on its offset from the provided item
|
|
214
|
+
*/
|
|
215
|
+
focusNextNode(delta, item) {
|
|
216
|
+
const visibleNodes = this.getVisibleNodes();
|
|
217
|
+
if (!visibleNodes.length) {
|
|
218
|
+
return;
|
|
219
|
+
}
|
|
220
|
+
const focusItem = visibleNodes[visibleNodes.indexOf(item) + delta];
|
|
221
|
+
if (isHTMLElement(focusItem)) {
|
|
222
|
+
focusItem.focus();
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
__decorate([
|
|
227
|
+
observable
|
|
228
|
+
], BaseTree.prototype, "currentSelected", void 0);
|
|
229
|
+
__decorate([
|
|
230
|
+
observable
|
|
231
|
+
], BaseTree.prototype, "childTreeItems", void 0);
|
|
232
|
+
//# sourceMappingURL=tree.base.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tree.base.js","sourceRoot":"","sources":["../../../src/tree/tree.base.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { FluentDesignSystem } from '../fluent-design-system.js';
|
|
2
|
+
import { definition } from './tree.definition.js';
|
|
3
|
+
definition.define(FluentDesignSystem.registry);
|
|
4
|
+
const itemRenderer = () => {
|
|
5
|
+
const tree = document.createElement('fluent-tree');
|
|
6
|
+
return tree;
|
|
7
|
+
};
|
|
8
|
+
export default itemRenderer;
|
|
9
|
+
export { tests } from '../utils/benchmark-wrapper.js';
|
|
10
|
+
//# sourceMappingURL=tree.bench.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tree.bench.js","sourceRoot":"","sources":["../../../src/tree/tree.bench.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,UAAU,CAAC,MAAM,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;AAE/C,MAAM,YAAY,GAAG,GAAG,EAAE;IACxB,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;IACnD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,eAAe,YAAY,CAAC;AAC5B,OAAO,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { FluentDesignSystem } from '../fluent-design-system.js';
|
|
2
|
+
import { Tree } from './tree.js';
|
|
3
|
+
import { styles as treeStyle } from './tree.styles.js';
|
|
4
|
+
import { template as treeTemplate } from './tree.template.js';
|
|
5
|
+
/**
|
|
6
|
+
*
|
|
7
|
+
* @public
|
|
8
|
+
* @remarks
|
|
9
|
+
* HTML Element: \<fluent-tree\>
|
|
10
|
+
*/
|
|
11
|
+
export const definition = Tree.compose({
|
|
12
|
+
name: `${FluentDesignSystem.prefix}-tree`,
|
|
13
|
+
template: treeTemplate,
|
|
14
|
+
styles: treeStyle,
|
|
15
|
+
});
|
|
16
|
+
//# sourceMappingURL=tree.definition.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tree.definition.js","sourceRoot":"","sources":["../../../src/tree/tree.definition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAE9D;;;;;GAKG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC;IACrC,IAAI,EAAE,GAAG,kBAAkB,CAAC,MAAM,OAAO;IACzC,QAAQ,EAAE,YAAY;IACtB,MAAM,EAAE,SAAS;CAClB,CAAC,CAAC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { attr } from '@microsoft/fast-element';
|
|
3
|
+
import { TreeItemAppearance, TreeItemSize } from '../tree-item/tree-item.options';
|
|
4
|
+
import { BaseTree } from './tree.base';
|
|
5
|
+
export class Tree extends BaseTree {
|
|
6
|
+
constructor() {
|
|
7
|
+
super(...arguments);
|
|
8
|
+
/**
|
|
9
|
+
* The size of the tree item element
|
|
10
|
+
* @public
|
|
11
|
+
* HTML Attribute: size
|
|
12
|
+
*/
|
|
13
|
+
this.size = TreeItemSize.small;
|
|
14
|
+
/**
|
|
15
|
+
* The appearance variants of the tree item element
|
|
16
|
+
* @public
|
|
17
|
+
* HTML Attribute: appearance
|
|
18
|
+
*/
|
|
19
|
+
this.appearance = TreeItemAppearance.subtle;
|
|
20
|
+
}
|
|
21
|
+
sizeChanged() {
|
|
22
|
+
this.updateSizeAndAppearance();
|
|
23
|
+
}
|
|
24
|
+
appearanceChanged() {
|
|
25
|
+
this.updateSizeAndAppearance();
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* child tree items supered change event
|
|
29
|
+
* @internal
|
|
30
|
+
*/
|
|
31
|
+
childTreeItemsChanged() {
|
|
32
|
+
super.childTreeItemsChanged();
|
|
33
|
+
this.updateSizeAndAppearance();
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* 1. Update the child items' size based on the tree's size
|
|
37
|
+
* 2. Update the child items' appearance based on the tree's appearance
|
|
38
|
+
*/
|
|
39
|
+
updateSizeAndAppearance() {
|
|
40
|
+
if (!this.childTreeItems?.length) {
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
this.childTreeItems.forEach(item => {
|
|
44
|
+
item.size = this.size;
|
|
45
|
+
item.appearance = this.appearance;
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
__decorate([
|
|
50
|
+
attr
|
|
51
|
+
], Tree.prototype, "size", void 0);
|
|
52
|
+
__decorate([
|
|
53
|
+
attr
|
|
54
|
+
], Tree.prototype, "appearance", void 0);
|
|
55
|
+
//# sourceMappingURL=tree.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tree.js","sourceRoot":"","sources":["../../../src/tree/tree.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAElF,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,MAAM,OAAO,IAAK,SAAQ,QAAQ;IAAlC;;QACE;;;;WAIG;QAEI,SAAI,GAAiB,YAAY,CAAC,KAAK,CAAC;QAK/C;;;;WAIG;QAEI,eAAU,GAAuB,kBAAkB,CAAC,MAAM,CAAC;IA4BpE,CAAC;IAtCS,WAAW;QACjB,IAAI,CAAC,uBAAuB,EAAE,CAAC;IACjC,CAAC;IASO,iBAAiB;QACvB,IAAI,CAAC,uBAAuB,EAAE,CAAC;IACjC,CAAC;IAED;;;OAGG;IACI,qBAAqB;QAC1B,KAAK,CAAC,qBAAqB,EAAE,CAAC;QAC9B,IAAI,CAAC,uBAAuB,EAAE,CAAC;IACjC,CAAC;IAED;;;OAGG;IACI,uBAAuB;QAC5B,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,EAAE,CAAC;YACjC,OAAO;QACT,CAAC;QAED,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAChC,IAAiB,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACnC,IAAiB,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAClD,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAvCQ;IADN,IAAI;kCAC0C;AAWxC;IADN,IAAI;wCAC6D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tree.styles.js","sourceRoot":"","sources":["../../../src/tree/tree.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE3C,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;IACrB,OAAO,CAAC,OAAO,CAAC;;;;CAInB,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { children, html } from '@microsoft/fast-element';
|
|
2
|
+
import { isTreeItem } from '../tree-item/tree-item.options';
|
|
3
|
+
export const template = html `
|
|
4
|
+
<template
|
|
5
|
+
tabindex="0"
|
|
6
|
+
@click="${(x, c) => x.clickHandler(c.event)}"
|
|
7
|
+
@focusin="${(x, c) => x.focusHandler(c.event)}"
|
|
8
|
+
@focusout="${(x, c) => x.blurHandler(c.event)}"
|
|
9
|
+
@keydown="${(x, c) => x.keydownHandler(c.event)}"
|
|
10
|
+
@change="${(x, c) => x.changeHandler(c.event)}"
|
|
11
|
+
${children({
|
|
12
|
+
property: 'childTreeItems',
|
|
13
|
+
filter: node => isTreeItem(node),
|
|
14
|
+
})}
|
|
15
|
+
>
|
|
16
|
+
<slot></slot>
|
|
17
|
+
</template>
|
|
18
|
+
`;
|
|
19
|
+
//# sourceMappingURL=tree.template.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tree.template.js","sourceRoot":"","sources":["../../../src/tree/tree.template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAY,IAAI,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAG5D,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAM;;;cAGpB,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC;gBAC/B,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,KAAmB,CAAC;iBAC9C,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,KAAmB,CAAC;gBAC/C,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,KAAsB,CAAC;eACrD,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC;MAC3C,QAAQ,CAAC;IACT,QAAQ,EAAE,gBAAgB;IAC1B,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC;CACjC,CAAC;;;;CAIL,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"define.js","sourceRoot":"","sources":["../../../src/tree-item/define.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAEvD,UAAU,CAAC,MAAM,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { BaseTreeItem } from './tree-item.base.js';
|
|
2
|
+
export { TreeItem } from './tree-item.js';
|
|
3
|
+
export { template as TreeItemTemplate } from './tree-item.template.js';
|
|
4
|
+
export { styles as TreeItemStyles } from './tree-item.styles.js';
|
|
5
|
+
export { definition as TreeItemDefinition } from './tree-item.definition.js';
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tree-item/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,QAAQ,IAAI,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAE,MAAM,IAAI,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,UAAU,IAAI,kBAAkB,EAAE,MAAM,2BAA2B,CAAC"}
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { attr, css, FASTElement, observable } from '@microsoft/fast-element';
|
|
3
|
+
import { toggleState } from '../utils/element-internals.js';
|
|
4
|
+
import { isTreeItem } from './tree-item.options.js';
|
|
5
|
+
export class BaseTreeItem extends FASTElement {
|
|
6
|
+
constructor() {
|
|
7
|
+
super();
|
|
8
|
+
/**
|
|
9
|
+
* The internal {@link https://developer.mozilla.org/docs/Web/API/ElementInternals | `ElementInternals`} instance for the component.
|
|
10
|
+
*
|
|
11
|
+
* @internal
|
|
12
|
+
*/
|
|
13
|
+
this.elementInternals = this.attachInternals();
|
|
14
|
+
/**
|
|
15
|
+
* When true, the control will be appear expanded by user interaction.
|
|
16
|
+
* @public
|
|
17
|
+
* HTML Attribute: `expanded`
|
|
18
|
+
*/
|
|
19
|
+
this.expanded = false;
|
|
20
|
+
/**
|
|
21
|
+
* When true, the control will appear selected by user interaction.
|
|
22
|
+
* @public
|
|
23
|
+
* @remarks
|
|
24
|
+
* HTML Attribute: selected
|
|
25
|
+
*/
|
|
26
|
+
this.selected = false;
|
|
27
|
+
/**
|
|
28
|
+
* When true, the control has no child tree items
|
|
29
|
+
* @public
|
|
30
|
+
* HTML Attribute: empty
|
|
31
|
+
*/
|
|
32
|
+
this.empty = false;
|
|
33
|
+
this.childTreeItems = [];
|
|
34
|
+
this.elementInternals.role = 'treeitem';
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Handles changes to the expanded attribute
|
|
38
|
+
* @param prev - the previous state
|
|
39
|
+
* @param next - the next state
|
|
40
|
+
*
|
|
41
|
+
* @public
|
|
42
|
+
*/
|
|
43
|
+
expandedChanged(prev, next) {
|
|
44
|
+
toggleState(this.elementInternals, 'expanded', next);
|
|
45
|
+
if (this.childTreeItems && this.childTreeItems.length > 0) {
|
|
46
|
+
this.elementInternals.ariaExpanded = next ? 'true' : 'false';
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Handles changes to the selected attribute
|
|
51
|
+
* @param prev - the previous state
|
|
52
|
+
* @param next - the next state
|
|
53
|
+
*
|
|
54
|
+
* @internal
|
|
55
|
+
*/
|
|
56
|
+
selectedChanged(prev, next) {
|
|
57
|
+
this.$emit('change');
|
|
58
|
+
toggleState(this.elementInternals, 'selected', next);
|
|
59
|
+
this.elementInternals.ariaSelected = next ? 'true' : 'false';
|
|
60
|
+
}
|
|
61
|
+
dataIndentChanged(prev, next) {
|
|
62
|
+
if (this.styles !== undefined) {
|
|
63
|
+
this.$fastController.removeStyles(this.styles);
|
|
64
|
+
}
|
|
65
|
+
this.styles = css `
|
|
66
|
+
:host {
|
|
67
|
+
--indent: ${next};
|
|
68
|
+
}
|
|
69
|
+
`;
|
|
70
|
+
this.$fastController.addStyles(this.styles);
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Handles changes to the child tree items
|
|
74
|
+
*
|
|
75
|
+
* @public
|
|
76
|
+
*/
|
|
77
|
+
childTreeItemsChanged() {
|
|
78
|
+
this.empty = this.childTreeItems?.length === 0;
|
|
79
|
+
this.updateChildTreeItems();
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Updates the childrens indent
|
|
83
|
+
*
|
|
84
|
+
* @public
|
|
85
|
+
*/
|
|
86
|
+
updateChildTreeItems() {
|
|
87
|
+
if (!this.childTreeItems?.length) {
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
this.childTreeItems.forEach(item => {
|
|
91
|
+
this.setIndent(item);
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Sets the indent for each item
|
|
96
|
+
*/
|
|
97
|
+
setIndent(item) {
|
|
98
|
+
const indent = this.dataIndent ?? 0;
|
|
99
|
+
item.dataIndent = indent + 1;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Handle focus events
|
|
103
|
+
*
|
|
104
|
+
* @public
|
|
105
|
+
*/
|
|
106
|
+
focusHandler(e) {
|
|
107
|
+
if (e.target === this ||
|
|
108
|
+
// In case where the tree-item contains a focusable element, we should not set the tabindex to 0 when the focus is on its child focusable element,
|
|
109
|
+
// so users can shift+tab to navigate to the tree-item from its child focusable element.
|
|
110
|
+
this.contains(e.target)) {
|
|
111
|
+
this.setAttribute('tabindex', '0');
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Handle blur events
|
|
116
|
+
*
|
|
117
|
+
* @public
|
|
118
|
+
*/
|
|
119
|
+
blurHandler(e) {
|
|
120
|
+
if (e.target === this) {
|
|
121
|
+
this.setAttribute('tabindex', '-1');
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Toggle the expansion state of the tree item
|
|
126
|
+
*
|
|
127
|
+
* @public
|
|
128
|
+
*/
|
|
129
|
+
toggleExpansion() {
|
|
130
|
+
if (this.childTreeItems?.length) {
|
|
131
|
+
this.expanded = !this.expanded;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Toggle the single selection state of the tree item
|
|
136
|
+
*
|
|
137
|
+
* @public
|
|
138
|
+
*/
|
|
139
|
+
toggleSelection() {
|
|
140
|
+
this.selected = !this.selected;
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Whether the tree is nested
|
|
144
|
+
* @internal
|
|
145
|
+
*/
|
|
146
|
+
get isNestedItem() {
|
|
147
|
+
return isTreeItem(this.parentElement);
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
__decorate([
|
|
151
|
+
attr({ mode: 'boolean' })
|
|
152
|
+
], BaseTreeItem.prototype, "expanded", void 0);
|
|
153
|
+
__decorate([
|
|
154
|
+
attr({ mode: 'boolean' })
|
|
155
|
+
], BaseTreeItem.prototype, "selected", void 0);
|
|
156
|
+
__decorate([
|
|
157
|
+
attr({ mode: 'boolean' })
|
|
158
|
+
], BaseTreeItem.prototype, "empty", void 0);
|
|
159
|
+
__decorate([
|
|
160
|
+
attr({ attribute: 'data-indent' })
|
|
161
|
+
], BaseTreeItem.prototype, "dataIndent", void 0);
|
|
162
|
+
__decorate([
|
|
163
|
+
observable
|
|
164
|
+
], BaseTreeItem.prototype, "childTreeItems", void 0);
|
|
165
|
+
//# sourceMappingURL=tree-item.base.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tree-item.base.js","sourceRoot":"","sources":["../../../src/tree-item/tree-item.base.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { FluentDesignSystem } from '../fluent-design-system.js';
|
|
2
|
+
import { definition } from './tree-item.definition.js';
|
|
3
|
+
definition.define(FluentDesignSystem.registry);
|
|
4
|
+
const itemRenderer = () => {
|
|
5
|
+
const treeItem = document.createElement('fluent-tree-item');
|
|
6
|
+
return treeItem;
|
|
7
|
+
};
|
|
8
|
+
export default itemRenderer;
|
|
9
|
+
export { tests } from '../utils/benchmark-wrapper.js';
|
|
10
|
+
//# sourceMappingURL=tree-item.bench.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tree-item.bench.js","sourceRoot":"","sources":["../../../src/tree-item/tree-item.bench.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAEvD,UAAU,CAAC,MAAM,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;AAE/C,MAAM,YAAY,GAAG,GAAG,EAAE;IACxB,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;IAC5D,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAEF,eAAe,YAAY,CAAC;AAC5B,OAAO,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { FluentDesignSystem } from '../fluent-design-system.js';
|
|
2
|
+
import { TreeItem } from './tree-item.js';
|
|
3
|
+
import { styles as treeItemStyle } from './tree-item.styles.js';
|
|
4
|
+
import { template as treeItemTemplate } from './tree-item.template.js';
|
|
5
|
+
/**
|
|
6
|
+
*
|
|
7
|
+
* @public
|
|
8
|
+
* @remarks
|
|
9
|
+
* HTML Element: \<fluent-tree-item\>
|
|
10
|
+
*/
|
|
11
|
+
export const definition = TreeItem.compose({
|
|
12
|
+
name: `${FluentDesignSystem.prefix}-tree-item`,
|
|
13
|
+
template: treeItemTemplate,
|
|
14
|
+
styles: treeItemStyle,
|
|
15
|
+
});
|
|
16
|
+
//# sourceMappingURL=tree-item.definition.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tree-item.definition.js","sourceRoot":"","sources":["../../../src/tree-item/tree-item.definition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,QAAQ,IAAI,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEvE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC;IACzC,IAAI,EAAE,GAAG,kBAAkB,CAAC,MAAM,YAAY;IAC9C,QAAQ,EAAE,gBAAgB;IAC1B,MAAM,EAAE,aAAa;CACtB,CAAC,CAAC"}
|