@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.
Files changed (65) hide show
  1. package/CHANGELOG.md +21 -2
  2. package/dist/dts/anchor-button/index.d.ts +1 -0
  3. package/dist/dts/index-rollup.d.ts +2 -0
  4. package/dist/dts/index.d.ts +7 -8
  5. package/dist/dts/tree/define.d.ts +1 -0
  6. package/dist/dts/tree/index.d.ts +5 -0
  7. package/dist/dts/tree/tree.base.d.ts +68 -0
  8. package/dist/dts/tree/tree.bench.d.ts +3 -0
  9. package/dist/dts/tree/tree.d.ts +28 -0
  10. package/dist/dts/tree/tree.definition.d.ts +8 -0
  11. package/dist/dts/tree/tree.styles.d.ts +1 -0
  12. package/dist/dts/tree/tree.template.d.ts +2 -0
  13. package/dist/dts/tree-item/define.d.ts +1 -0
  14. package/dist/dts/tree-item/index.d.ts +6 -0
  15. package/dist/dts/tree-item/tree-item.base.d.ts +99 -0
  16. package/dist/dts/tree-item/tree-item.bench.d.ts +3 -0
  17. package/dist/dts/tree-item/tree-item.d.ts +38 -0
  18. package/dist/dts/tree-item/tree-item.definition.d.ts +8 -0
  19. package/dist/dts/tree-item/tree-item.options.d.ts +22 -0
  20. package/dist/dts/tree-item/tree-item.styles.d.ts +1 -0
  21. package/dist/dts/tree-item/tree-item.template.d.ts +2 -0
  22. package/dist/esm/anchor-button/index.js +1 -0
  23. package/dist/esm/anchor-button/index.js.map +1 -1
  24. package/dist/esm/index-rollup.js +2 -0
  25. package/dist/esm/index-rollup.js.map +1 -1
  26. package/dist/esm/index.js +6 -5
  27. package/dist/esm/index.js.map +1 -1
  28. package/dist/esm/tree/define.js +4 -0
  29. package/dist/esm/tree/define.js.map +1 -0
  30. package/dist/esm/tree/index.js +6 -0
  31. package/dist/esm/tree/index.js.map +1 -0
  32. package/dist/esm/tree/tree.base.js +232 -0
  33. package/dist/esm/tree/tree.base.js.map +1 -0
  34. package/dist/esm/tree/tree.bench.js +10 -0
  35. package/dist/esm/tree/tree.bench.js.map +1 -0
  36. package/dist/esm/tree/tree.definition.js +16 -0
  37. package/dist/esm/tree/tree.definition.js.map +1 -0
  38. package/dist/esm/tree/tree.js +55 -0
  39. package/dist/esm/tree/tree.js.map +1 -0
  40. package/dist/esm/tree/tree.styles.js +9 -0
  41. package/dist/esm/tree/tree.styles.js.map +1 -0
  42. package/dist/esm/tree/tree.template.js +19 -0
  43. package/dist/esm/tree/tree.template.js.map +1 -0
  44. package/dist/esm/tree-item/define.js +4 -0
  45. package/dist/esm/tree-item/define.js.map +1 -0
  46. package/dist/esm/tree-item/index.js +6 -0
  47. package/dist/esm/tree-item/index.js.map +1 -0
  48. package/dist/esm/tree-item/tree-item.base.js +165 -0
  49. package/dist/esm/tree-item/tree-item.base.js.map +1 -0
  50. package/dist/esm/tree-item/tree-item.bench.js +10 -0
  51. package/dist/esm/tree-item/tree-item.bench.js.map +1 -0
  52. package/dist/esm/tree-item/tree-item.definition.js +16 -0
  53. package/dist/esm/tree-item/tree-item.definition.js.map +1 -0
  54. package/dist/esm/tree-item/tree-item.js +65 -0
  55. package/dist/esm/tree-item/tree-item.js.map +1 -0
  56. package/dist/esm/tree-item/tree-item.options.js +24 -0
  57. package/dist/esm/tree-item/tree-item.options.js.map +1 -0
  58. package/dist/esm/tree-item/tree-item.styles.js +157 -0
  59. package/dist/esm/tree-item/tree-item.styles.js.map +1 -0
  60. package/dist/esm/tree-item/tree-item.template.js +39 -0
  61. package/dist/esm/tree-item/tree-item.template.js.map +1 -0
  62. package/dist/web-components.d.ts +173 -0
  63. package/dist/web-components.js +1327 -800
  64. package/dist/web-components.min.js +291 -284
  65. 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,9 @@
1
+ import { css } from '@microsoft/fast-element';
2
+ import { display } from '../utils/display';
3
+ export const styles = css `
4
+ ${display('block')}
5
+ :host {
6
+ outline: none;
7
+ }
8
+ `;
9
+ //# sourceMappingURL=tree.styles.js.map
@@ -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,4 @@
1
+ import { FluentDesignSystem } from '../fluent-design-system.js';
2
+ import { definition } from './tree-item.definition.js';
3
+ definition.define(FluentDesignSystem.registry);
4
+ //# sourceMappingURL=define.js.map
@@ -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"}