@carbon/web-components 2.27.0-rc.0 → 2.27.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.
- package/custom-elements.json +169 -0
- package/dist/ai-label.min.js +1 -1
- package/dist/breadcrumb.min.js +1 -1
- package/dist/{button-21b94ffe.js → button-421874e3.js} +1 -1
- package/dist/{button-set-e6cfe6aa.js → button-set-4cd9e9e0.js} +1 -1
- package/dist/{button-skeleton-3ee09bb9.js → button-skeleton-d5a145ad.js} +4 -4
- package/dist/button.min.js +1 -1
- package/dist/chat-button.min.js +1 -1
- package/dist/code-snippet.min.js +3 -3
- package/dist/{content-switcher-item-46b3abaa.js → content-switcher-item-88de3b2e.js} +1 -1
- package/dist/content-switcher.min.js +1 -1
- package/dist/{copy-button-38c7e9b6.js → copy-button-9ec39c71.js} +1 -1
- package/dist/copy-button.min.js +1 -1
- package/dist/data-table.min.js +1 -1
- package/dist/file-uploader.min.js +1 -1
- package/dist/{icon-button-d7a3f91f.js → icon-button-9ae533d5.js} +1 -1
- package/dist/icon-button.min.js +1 -1
- package/dist/{modal-label-07e264f0.js → modal-label-88d0387a.js} +1 -1
- package/dist/modal.min.js +1 -1
- package/dist/notification.min.js +3 -3
- package/dist/overflow-menu.min.js +1 -1
- package/dist/pagination.min.js +1 -1
- package/dist/progress-indicator.min.js +1 -1
- package/dist/side-panel.min.js +1 -1
- package/dist/skip-to-content.min.js +1 -1
- package/dist/slug.min.js +1 -1
- package/dist/tabs.min.js +1 -1
- package/dist/tearsheet.min.js +1 -1
- package/dist/toggle-tip.min.js +1 -1
- package/dist/{toggletip-bf3c987e.js → toggletip-ca4a9ea9.js} +1 -1
- package/dist/tree-view.min.js +174 -0
- package/dist/ui-shell.min.js +1 -1
- package/es/components/ai-label/ai-label.scss.js +1 -1
- package/es/components/breadcrumb/breadcrumb.scss.js +1 -1
- package/es/components/button/button.scss.js +1 -1
- package/es/components/chat-button/chat-button.scss.js +1 -1
- package/es/components/code-snippet/code-snippet.scss.js +1 -1
- package/es/components/content-switcher/content-switcher.scss.js +1 -1
- package/es/components/copy-button/copy-button.scss.js +1 -1
- package/es/components/data-table/data-table.scss.js +1 -1
- package/es/components/file-uploader/file-uploader.scss.js +1 -1
- package/es/components/icon-button/icon-button.scss.js +1 -1
- package/es/components/modal/modal.scss.js +1 -1
- package/es/components/notification/actionable-notification.scss.js +1 -1
- package/es/components/notification/inline-notification.scss.js +1 -1
- package/es/components/notification/toast-notification.scss.js +1 -1
- package/es/components/overflow-menu/overflow-menu.scss.js +1 -1
- package/es/components/pagination/pagination.scss.js +1 -1
- package/es/components/progress-indicator/progress-indicator.scss.js +1 -1
- package/es/components/skip-to-content/skip-to-content.scss.js +1 -1
- package/es/components/slug/slug.scss.js +1 -1
- package/es/components/tabs/tabs.scss.js +1 -1
- package/es/components/toggle-tip/toggletip.scss.js +1 -1
- package/es/components/tree-view/defs.d.ts +18 -0
- package/es/components/tree-view/defs.js +29 -0
- package/es/components/tree-view/defs.js.map +1 -0
- package/es/components/tree-view/index.d.ts +10 -0
- package/es/components/tree-view/index.js +10 -0
- package/es/components/tree-view/index.js.map +1 -0
- package/es/components/tree-view/tree-node.d.ts +87 -0
- package/es/components/tree-view/tree-node.js +338 -0
- package/es/components/tree-view/tree-node.js.map +1 -0
- package/es/components/tree-view/tree-view.d.ts +387 -0
- package/es/components/tree-view/tree-view.js +216 -0
- package/es/components/tree-view/tree-view.js.map +1 -0
- package/es/components/tree-view/tree-view.scss.js +13 -0
- package/es/components/tree-view/tree-view.scss.js.map +1 -0
- package/es/components/ui-shell/header.scss.js +1 -1
- package/es/index.d.ts +2 -0
- package/es/index.js +2 -0
- package/es/index.js.map +1 -1
- package/es-custom/components/ai-label/ai-label.scss.js +1 -1
- package/es-custom/components/breadcrumb/breadcrumb.scss.js +1 -1
- package/es-custom/components/button/button.scss.js +1 -1
- package/es-custom/components/chat-button/chat-button.scss.js +1 -1
- package/es-custom/components/code-snippet/code-snippet.scss.js +1 -1
- package/es-custom/components/content-switcher/content-switcher.scss.js +1 -1
- package/es-custom/components/copy-button/copy-button.scss.js +1 -1
- package/es-custom/components/data-table/data-table.scss.js +1 -1
- package/es-custom/components/file-uploader/file-uploader.scss.js +1 -1
- package/es-custom/components/icon-button/icon-button.scss.js +1 -1
- package/es-custom/components/modal/modal.scss.js +1 -1
- package/es-custom/components/notification/actionable-notification.scss.js +1 -1
- package/es-custom/components/notification/inline-notification.scss.js +1 -1
- package/es-custom/components/notification/toast-notification.scss.js +1 -1
- package/es-custom/components/overflow-menu/overflow-menu.scss.js +1 -1
- package/es-custom/components/pagination/pagination.scss.js +1 -1
- package/es-custom/components/progress-indicator/progress-indicator.scss.js +1 -1
- package/es-custom/components/skip-to-content/skip-to-content.scss.js +1 -1
- package/es-custom/components/slug/slug.scss.js +1 -1
- package/es-custom/components/tabs/tabs.scss.js +1 -1
- package/es-custom/components/toggle-tip/toggletip.scss.js +1 -1
- package/es-custom/components/tree-view/defs.d.ts +18 -0
- package/es-custom/components/tree-view/defs.js +29 -0
- package/es-custom/components/tree-view/defs.js.map +1 -0
- package/es-custom/components/tree-view/index.d.ts +10 -0
- package/es-custom/components/tree-view/index.js +10 -0
- package/es-custom/components/tree-view/index.js.map +1 -0
- package/es-custom/components/tree-view/tree-node.d.ts +87 -0
- package/es-custom/components/tree-view/tree-node.js +338 -0
- package/es-custom/components/tree-view/tree-node.js.map +1 -0
- package/es-custom/components/tree-view/tree-view.d.ts +387 -0
- package/es-custom/components/tree-view/tree-view.js +216 -0
- package/es-custom/components/tree-view/tree-view.js.map +1 -0
- package/es-custom/components/tree-view/tree-view.scss.js +13 -0
- package/es-custom/components/tree-view/tree-view.scss.js.map +1 -0
- package/es-custom/components/ui-shell/header.scss.js +1 -1
- package/es-custom/index.d.ts +2 -0
- package/es-custom/index.js +2 -0
- package/es-custom/index.js.map +1 -1
- package/lib/components/tree-view/defs.d.ts +18 -0
- package/lib/components/tree-view/defs.js +31 -0
- package/lib/components/tree-view/defs.js.map +1 -0
- package/lib/components/tree-view/index.d.ts +10 -0
- package/lib/components/tree-view/tree-node.d.ts +87 -0
- package/lib/components/tree-view/tree-view.d.ts +387 -0
- package/lib/index.d.ts +2 -0
- package/package.json +7 -7
- package/scss/components/button/button.scss +12 -0
- package/scss/components/tree-view/tree-view.scss +129 -0
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*
|
|
4
|
+
* Copyright IBM Corp. 2025, 2025
|
|
5
|
+
*
|
|
6
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
|
7
|
+
* LICENSE file in the root directory of this source tree.
|
|
8
|
+
*/
|
|
9
|
+
export declare enum TREE_SIZE {
|
|
10
|
+
/**
|
|
11
|
+
* Small
|
|
12
|
+
*/
|
|
13
|
+
SMALL = "sm",
|
|
14
|
+
/**
|
|
15
|
+
* Extra small size.
|
|
16
|
+
*/
|
|
17
|
+
EXTRA_SMALL = "xs"
|
|
18
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright IBM Corp. 2024
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* @license
|
|
10
|
+
*
|
|
11
|
+
* Copyright IBM Corp. 2025, 2025
|
|
12
|
+
*
|
|
13
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
|
14
|
+
* LICENSE file in the root directory of this source tree.
|
|
15
|
+
*/
|
|
16
|
+
var TREE_SIZE;
|
|
17
|
+
(function (TREE_SIZE) {
|
|
18
|
+
/**
|
|
19
|
+
* Small
|
|
20
|
+
*/
|
|
21
|
+
TREE_SIZE["SMALL"] = "sm";
|
|
22
|
+
/**
|
|
23
|
+
* Extra small size.
|
|
24
|
+
*/
|
|
25
|
+
TREE_SIZE["EXTRA_SMALL"] = "xs";
|
|
26
|
+
})(TREE_SIZE || (TREE_SIZE = {}));
|
|
27
|
+
|
|
28
|
+
export { TREE_SIZE };
|
|
29
|
+
//# sourceMappingURL=defs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defs.js","sources":["../../../src/components/tree-view/defs.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;AAAA;;;;;;;AAOG;IAES,UAUX;AAVD,CAAA,UAAY,SAAS,EAAA;AACnB;;AAEG;AACH,IAAA,SAAA,CAAA,OAAA,CAAA,GAAA,IAAY,CAAA;AAEZ;;AAEG;AACH,IAAA,SAAA,CAAA,aAAA,CAAA,GAAA,IAAkB,CAAA;AACpB,CAAC,EAVW,SAAS,KAAT,SAAS,GAUpB,EAAA,CAAA,CAAA;;;;"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright IBM Corp. 2024
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import './tree-node.js';
|
|
9
|
+
import './tree-view.js';
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*
|
|
4
|
+
* Copyright IBM Corp. 2025, 2025
|
|
5
|
+
*
|
|
6
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
|
7
|
+
* LICENSE file in the root directory of this source tree.
|
|
8
|
+
*/
|
|
9
|
+
import { LitElement } from 'lit';
|
|
10
|
+
/**
|
|
11
|
+
* Tree node.
|
|
12
|
+
*
|
|
13
|
+
* @element cds-tree-node
|
|
14
|
+
* @fires eventSelected
|
|
15
|
+
* The name of the custom event fired when node is selected.
|
|
16
|
+
* @fires eventToggled
|
|
17
|
+
* The name of the custom event fired when a node is toggled.
|
|
18
|
+
*/
|
|
19
|
+
declare class CDSTreeNode extends LitElement {
|
|
20
|
+
private _hasChildren;
|
|
21
|
+
private _hasIcon;
|
|
22
|
+
/**
|
|
23
|
+
* Handles `slotchange` event.
|
|
24
|
+
*/
|
|
25
|
+
private _handleSlotChange;
|
|
26
|
+
/**
|
|
27
|
+
* Handles icon's `slotchange` event.
|
|
28
|
+
*/
|
|
29
|
+
private _handleIconSlotChange;
|
|
30
|
+
/**
|
|
31
|
+
* Handles style updates based on depth
|
|
32
|
+
*/
|
|
33
|
+
private _handleStyles;
|
|
34
|
+
_handleToggleClick: (event: any) => void;
|
|
35
|
+
/**
|
|
36
|
+
* sets if tree node is active
|
|
37
|
+
*/
|
|
38
|
+
active: boolean;
|
|
39
|
+
/**
|
|
40
|
+
* disabled property
|
|
41
|
+
*/
|
|
42
|
+
disabled: boolean;
|
|
43
|
+
/**
|
|
44
|
+
* **Note:** this is controlled by the parent TreeView component, do not set manually.
|
|
45
|
+
* TreeNode depth to determine spacing
|
|
46
|
+
*/
|
|
47
|
+
private _depth;
|
|
48
|
+
/**
|
|
49
|
+
* Specify if the TreeNode is expanded (only applicable to parent nodes)
|
|
50
|
+
*/
|
|
51
|
+
isExpanded: boolean;
|
|
52
|
+
/**
|
|
53
|
+
* Optional: The URL the TreeNode is linking to
|
|
54
|
+
*/
|
|
55
|
+
href: any;
|
|
56
|
+
/**
|
|
57
|
+
* Specify the TreeNode's ID. Must be unique in the DOM and is used for props.active, props.selected and aria-owns
|
|
58
|
+
*/
|
|
59
|
+
id: string;
|
|
60
|
+
/**
|
|
61
|
+
* Rendered label for the TreeNode
|
|
62
|
+
*/
|
|
63
|
+
label: string;
|
|
64
|
+
/**
|
|
65
|
+
* sets if tree node is selected
|
|
66
|
+
*/
|
|
67
|
+
selected: boolean;
|
|
68
|
+
/**
|
|
69
|
+
* when adding an href to control the click functionality
|
|
70
|
+
*/
|
|
71
|
+
onClick?: (event: Event) => void;
|
|
72
|
+
connectedCallback(): void;
|
|
73
|
+
private _dispatchSelectedEvent;
|
|
74
|
+
private _dispatchToggledEvent;
|
|
75
|
+
updated(changedProperties: any): void;
|
|
76
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
77
|
+
/**
|
|
78
|
+
* The name of the custom event fired when node is selected.
|
|
79
|
+
*/
|
|
80
|
+
static get eventSelected(): string;
|
|
81
|
+
/**
|
|
82
|
+
* The name of the custom event fired when a node is toggled
|
|
83
|
+
*/
|
|
84
|
+
static get eventToggled(): string;
|
|
85
|
+
static styles: any;
|
|
86
|
+
}
|
|
87
|
+
export default CDSTreeNode;
|
|
@@ -0,0 +1,338 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright IBM Corp. 2024
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import { __decorate } from 'tslib';
|
|
9
|
+
import { classMap } from 'lit/directives/class-map.js';
|
|
10
|
+
import { LitElement, html } from 'lit';
|
|
11
|
+
import { property, state } from 'lit/decorators.js';
|
|
12
|
+
import { prefix } from '../../globals/settings.js';
|
|
13
|
+
import CaretDown16 from '../../icons/caret--down/16.js';
|
|
14
|
+
import styles from './tree-view.scss.js';
|
|
15
|
+
import { carbonElement } from '../../globals/decorators/carbon-element.js';
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* @license
|
|
19
|
+
*
|
|
20
|
+
* Copyright IBM Corp. 2025, 2025
|
|
21
|
+
*
|
|
22
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
|
23
|
+
* LICENSE file in the root directory of this source tree.
|
|
24
|
+
*/
|
|
25
|
+
/**
|
|
26
|
+
* Tree node.
|
|
27
|
+
*
|
|
28
|
+
* @element cds-tree-node
|
|
29
|
+
* @fires eventSelected
|
|
30
|
+
* The name of the custom event fired when node is selected.
|
|
31
|
+
* @fires eventToggled
|
|
32
|
+
* The name of the custom event fired when a node is toggled.
|
|
33
|
+
*/
|
|
34
|
+
let CDSTreeNode = class CDSTreeNode extends LitElement {
|
|
35
|
+
constructor() {
|
|
36
|
+
super(...arguments);
|
|
37
|
+
this._hasChildren = false;
|
|
38
|
+
this._hasIcon = false;
|
|
39
|
+
/**
|
|
40
|
+
* Handles style updates based on depth
|
|
41
|
+
*/
|
|
42
|
+
this._handleStyles = () => {
|
|
43
|
+
const { _depth: depth, _hasChildren: hasChildren, _hasIcon: hasIcon, } = this;
|
|
44
|
+
const calcOffset = () => {
|
|
45
|
+
if (hasChildren && hasIcon) {
|
|
46
|
+
return depth + 1 + depth * 0.5;
|
|
47
|
+
}
|
|
48
|
+
if (hasChildren) {
|
|
49
|
+
return depth + 1;
|
|
50
|
+
}
|
|
51
|
+
if (hasIcon) {
|
|
52
|
+
return depth + 2 + depth * 0.5;
|
|
53
|
+
}
|
|
54
|
+
return depth + 2.5;
|
|
55
|
+
};
|
|
56
|
+
const label = this.shadowRoot.querySelector(`.${prefix}--tree-node__label`);
|
|
57
|
+
if (label) {
|
|
58
|
+
label.style.marginInlineStart = `-${calcOffset()}rem`;
|
|
59
|
+
label.style.paddingInlineStart = `${calcOffset()}rem`;
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
this._handleToggleClick = (event) => {
|
|
63
|
+
const { disabled, href } = this;
|
|
64
|
+
if (disabled)
|
|
65
|
+
return;
|
|
66
|
+
event.stopPropagation();
|
|
67
|
+
if (href) {
|
|
68
|
+
event.preventDefault();
|
|
69
|
+
}
|
|
70
|
+
this.isExpanded = !this.isExpanded;
|
|
71
|
+
if (this.hasAttribute('aria-expanded')) {
|
|
72
|
+
this.setAttribute('aria-expanded', String(this.isExpanded));
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
/**
|
|
76
|
+
* sets if tree node is active
|
|
77
|
+
*/
|
|
78
|
+
this.active = false;
|
|
79
|
+
/**
|
|
80
|
+
* disabled property
|
|
81
|
+
*/
|
|
82
|
+
this.disabled = false;
|
|
83
|
+
/**
|
|
84
|
+
* **Note:** this is controlled by the parent TreeView component, do not set manually.
|
|
85
|
+
* TreeNode depth to determine spacing
|
|
86
|
+
*/
|
|
87
|
+
this._depth = 0;
|
|
88
|
+
/**
|
|
89
|
+
* Specify if the TreeNode is expanded (only applicable to parent nodes)
|
|
90
|
+
*/
|
|
91
|
+
this.isExpanded = false;
|
|
92
|
+
/**
|
|
93
|
+
* Specify the TreeNode's ID. Must be unique in the DOM and is used for props.active, props.selected and aria-owns
|
|
94
|
+
*/
|
|
95
|
+
this.id = Math.random().toString(16).slice(2);
|
|
96
|
+
/**
|
|
97
|
+
* sets if tree node is selected
|
|
98
|
+
*/
|
|
99
|
+
this.selected = false;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Handles `slotchange` event.
|
|
103
|
+
*/
|
|
104
|
+
_handleSlotChange({ target }) {
|
|
105
|
+
const { _depth: depth, disabled } = this;
|
|
106
|
+
const items = target
|
|
107
|
+
.assignedNodes()
|
|
108
|
+
.filter((node) => node.nodeType === Node.ELEMENT_NODE &&
|
|
109
|
+
node.tagName.toLowerCase() === `${prefix}-tree-node`);
|
|
110
|
+
items.forEach((item) => {
|
|
111
|
+
item._depth = depth + 1;
|
|
112
|
+
item.disabled = disabled;
|
|
113
|
+
});
|
|
114
|
+
this._hasChildren = items.length > 0;
|
|
115
|
+
if (this._hasChildren)
|
|
116
|
+
this.setAttribute('parent', '');
|
|
117
|
+
this.requestUpdate();
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Handles icon's `slotchange` event.
|
|
121
|
+
*/
|
|
122
|
+
_handleIconSlotChange({ target }) {
|
|
123
|
+
this._hasIcon = target.assignedNodes().length > 0;
|
|
124
|
+
if (this._hasIcon)
|
|
125
|
+
this.setAttribute('has-icon', '');
|
|
126
|
+
this.requestUpdate();
|
|
127
|
+
}
|
|
128
|
+
connectedCallback() {
|
|
129
|
+
super.connectedCallback();
|
|
130
|
+
// Detect children on first render
|
|
131
|
+
this._hasChildren = Array.from(this.children).some((node) => node.tagName.toLowerCase() === `${prefix}-tree-node`);
|
|
132
|
+
this._hasIcon = Array.from(this.children).some((node) => node.getAttribute('slot') === 'icon');
|
|
133
|
+
if (!this.hasAttribute('role') && !this.href) {
|
|
134
|
+
this.setAttribute('role', 'treeitem');
|
|
135
|
+
}
|
|
136
|
+
if (!this.hasAttribute('aria-owns') && this._hasChildren && !this.href) {
|
|
137
|
+
this.setAttribute('aria-owns', `subtree-id-${this.id}`);
|
|
138
|
+
}
|
|
139
|
+
if (this._hasChildren && !this.href) {
|
|
140
|
+
this.setAttribute('aria-expanded', String(this.isExpanded));
|
|
141
|
+
}
|
|
142
|
+
if (!this.hasAttribute('aria-label')) {
|
|
143
|
+
this.setAttribute('aria-label', this.label);
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
_dispatchSelectedEvent(value) {
|
|
147
|
+
const { eventSelected } = this.constructor;
|
|
148
|
+
this.dispatchEvent(new CustomEvent(eventSelected, {
|
|
149
|
+
bubbles: true,
|
|
150
|
+
composed: true,
|
|
151
|
+
detail: {
|
|
152
|
+
value,
|
|
153
|
+
},
|
|
154
|
+
}));
|
|
155
|
+
}
|
|
156
|
+
_dispatchToggledEvent(value, expanded) {
|
|
157
|
+
const { eventToggled } = this.constructor;
|
|
158
|
+
this.dispatchEvent(new CustomEvent(eventToggled, {
|
|
159
|
+
bubbles: true,
|
|
160
|
+
composed: true,
|
|
161
|
+
detail: {
|
|
162
|
+
value,
|
|
163
|
+
expanded: expanded,
|
|
164
|
+
},
|
|
165
|
+
}));
|
|
166
|
+
}
|
|
167
|
+
updated(changedProperties) {
|
|
168
|
+
if (changedProperties.has('_depth')) {
|
|
169
|
+
this._handleStyles();
|
|
170
|
+
}
|
|
171
|
+
if (changedProperties.has('selected')) {
|
|
172
|
+
if (!this.href) {
|
|
173
|
+
this.setAttribute('aria-selected', String(!this.href ? (this.disabled ? undefined : this.selected) : undefined));
|
|
174
|
+
}
|
|
175
|
+
if (this.selected) {
|
|
176
|
+
this._dispatchSelectedEvent(this.label);
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
if (changedProperties.has('active') && !this.href) {
|
|
180
|
+
this.setAttribute('aria-current', String(!this.href
|
|
181
|
+
? this.active || undefined
|
|
182
|
+
: this.active
|
|
183
|
+
? 'page'
|
|
184
|
+
: undefined));
|
|
185
|
+
}
|
|
186
|
+
if (changedProperties.has('disabled')) {
|
|
187
|
+
this.setAttribute('aria-disabled', String(this.disabled));
|
|
188
|
+
}
|
|
189
|
+
if (changedProperties.has('isExpanded')) {
|
|
190
|
+
this._dispatchToggledEvent(this.label, this.isExpanded);
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
render() {
|
|
194
|
+
const { disabled, isExpanded, href, id, label, onClick, _hasChildren: hasChildren, _handleIconSlotChange: handleIconSlotChange, _handleSlotChange: handleSlotChange, _handleToggleClick: handleToggleClick, } = this;
|
|
195
|
+
let toggleClasses = `${prefix}--tree-parent-node__toggle-icon`;
|
|
196
|
+
if (isExpanded) {
|
|
197
|
+
toggleClasses += `${prefix}--tree-parent-node__toggle-icon--expanded`;
|
|
198
|
+
}
|
|
199
|
+
const linkClasses = classMap({
|
|
200
|
+
[`${prefix}--tree-node`]: true,
|
|
201
|
+
[`${prefix}--tree-node--active`]: this.active,
|
|
202
|
+
[`${prefix}--tree-node--disabled`]: disabled,
|
|
203
|
+
[`${prefix}--tree-node--selected`]: this.selected,
|
|
204
|
+
[`${prefix}--tree-node--with-icon`]: this._hasIcon,
|
|
205
|
+
[`${prefix}--tree-leaf-node`]: !this._hasChildren,
|
|
206
|
+
[`${prefix}--tree-parent-node`]: this._hasChildren,
|
|
207
|
+
});
|
|
208
|
+
const subTreeClasses = classMap({
|
|
209
|
+
[`${prefix}--tree-node__children`]: true,
|
|
210
|
+
[`${prefix}--tree-node__hidden`]: !isExpanded,
|
|
211
|
+
});
|
|
212
|
+
return html `
|
|
213
|
+
${!hasChildren
|
|
214
|
+
? html `
|
|
215
|
+
${href
|
|
216
|
+
? html `<a
|
|
217
|
+
class=${linkClasses}
|
|
218
|
+
href=${!disabled ? href : undefined}
|
|
219
|
+
role="treeitem"
|
|
220
|
+
?aria-disabled=${disabled}
|
|
221
|
+
aria-current=${!this.href
|
|
222
|
+
? this.active || undefined
|
|
223
|
+
: this.active
|
|
224
|
+
? 'page'
|
|
225
|
+
: undefined}
|
|
226
|
+
tabindex=${disabled ? -1 : undefined}
|
|
227
|
+
@click=${onClick}>
|
|
228
|
+
<div id="label" class="${prefix}--tree-node__label">
|
|
229
|
+
<slot
|
|
230
|
+
name="icon"
|
|
231
|
+
@slotchange=${handleIconSlotChange}></slot>
|
|
232
|
+
${label}
|
|
233
|
+
</div>
|
|
234
|
+
</a>`
|
|
235
|
+
: html ` <div id="label" class="${prefix}--tree-node__label">
|
|
236
|
+
<slot name="icon" @slotchange=${handleIconSlotChange}></slot>
|
|
237
|
+
${label}
|
|
238
|
+
</div>`}
|
|
239
|
+
`
|
|
240
|
+
: html `
|
|
241
|
+
${href
|
|
242
|
+
? html ` <a
|
|
243
|
+
role="treeitem"
|
|
244
|
+
class=${linkClasses}
|
|
245
|
+
aria-expanded=${!!isExpanded}
|
|
246
|
+
aria-owns="subtree-id-${id}"
|
|
247
|
+
href=${!disabled ? href : undefined}
|
|
248
|
+
tabindex=${disabled ? -1 : undefined}
|
|
249
|
+
@click=${onClick}>
|
|
250
|
+
<div id="label" class="${prefix}--tree-node__label">
|
|
251
|
+
<span
|
|
252
|
+
class="${prefix}--tree-parent-node__toggle"
|
|
253
|
+
?disabled=${disabled}
|
|
254
|
+
@click=${handleToggleClick}>
|
|
255
|
+
${CaretDown16({ class: toggleClasses })}
|
|
256
|
+
</span>
|
|
257
|
+
<span class="${prefix}--tree-node__label__details">
|
|
258
|
+
<slot
|
|
259
|
+
name="icon"
|
|
260
|
+
@slotchange=${handleIconSlotChange}></slot>
|
|
261
|
+
${label}
|
|
262
|
+
</span>
|
|
263
|
+
</div>
|
|
264
|
+
</a>
|
|
265
|
+
<ul id="subtree-id-${id} role="group" class="${subTreeClasses}">
|
|
266
|
+
<slot @slotchange=${handleSlotChange}></slot>
|
|
267
|
+
</ul>`
|
|
268
|
+
: html `<div id="label" class="${prefix}--tree-node__label">
|
|
269
|
+
<span
|
|
270
|
+
class="${prefix}--tree-parent-node__toggle"
|
|
271
|
+
?disabled=${disabled}
|
|
272
|
+
@click=${handleToggleClick}>
|
|
273
|
+
${CaretDown16({ class: toggleClasses })}
|
|
274
|
+
</span>
|
|
275
|
+
<span class="${prefix}--tree-node__label__details">
|
|
276
|
+
<slot
|
|
277
|
+
name="icon"
|
|
278
|
+
@slotchange=${handleIconSlotChange}></slot>
|
|
279
|
+
${label}
|
|
280
|
+
</span>
|
|
281
|
+
</div>
|
|
282
|
+
<ul
|
|
283
|
+
id="subtree-id-${id}"
|
|
284
|
+
role="group"
|
|
285
|
+
class="${subTreeClasses}">
|
|
286
|
+
<slot @slotchange=${handleSlotChange}></slot>
|
|
287
|
+
</ul>`}
|
|
288
|
+
`}
|
|
289
|
+
`;
|
|
290
|
+
}
|
|
291
|
+
/**
|
|
292
|
+
* The name of the custom event fired when node is selected.
|
|
293
|
+
*/
|
|
294
|
+
static get eventSelected() {
|
|
295
|
+
return `${prefix}-tree-node-selected`;
|
|
296
|
+
}
|
|
297
|
+
/**
|
|
298
|
+
* The name of the custom event fired when a node is toggled
|
|
299
|
+
*/
|
|
300
|
+
static get eventToggled() {
|
|
301
|
+
return `${prefix}-tree-node-toggled`;
|
|
302
|
+
}
|
|
303
|
+
};
|
|
304
|
+
CDSTreeNode.styles = styles;
|
|
305
|
+
__decorate([
|
|
306
|
+
property({ type: Boolean, reflect: true })
|
|
307
|
+
], CDSTreeNode.prototype, "active", void 0);
|
|
308
|
+
__decorate([
|
|
309
|
+
property({ type: Boolean, reflect: true })
|
|
310
|
+
], CDSTreeNode.prototype, "disabled", void 0);
|
|
311
|
+
__decorate([
|
|
312
|
+
state()
|
|
313
|
+
], CDSTreeNode.prototype, "_depth", void 0);
|
|
314
|
+
__decorate([
|
|
315
|
+
property({ type: Boolean, attribute: 'is-expanded' })
|
|
316
|
+
], CDSTreeNode.prototype, "isExpanded", void 0);
|
|
317
|
+
__decorate([
|
|
318
|
+
property({})
|
|
319
|
+
], CDSTreeNode.prototype, "href", void 0);
|
|
320
|
+
__decorate([
|
|
321
|
+
property({})
|
|
322
|
+
], CDSTreeNode.prototype, "id", void 0);
|
|
323
|
+
__decorate([
|
|
324
|
+
property({})
|
|
325
|
+
], CDSTreeNode.prototype, "label", void 0);
|
|
326
|
+
__decorate([
|
|
327
|
+
property({ type: Boolean, reflect: true })
|
|
328
|
+
], CDSTreeNode.prototype, "selected", void 0);
|
|
329
|
+
__decorate([
|
|
330
|
+
property({ type: Function })
|
|
331
|
+
], CDSTreeNode.prototype, "onClick", void 0);
|
|
332
|
+
CDSTreeNode = __decorate([
|
|
333
|
+
carbonElement(`${prefix}-tree-node`)
|
|
334
|
+
], CDSTreeNode);
|
|
335
|
+
var CDSTreeNode$1 = CDSTreeNode;
|
|
336
|
+
|
|
337
|
+
export { CDSTreeNode$1 as default };
|
|
338
|
+
//# sourceMappingURL=tree-node.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tree-node.js","sources":["../../../src/components/tree-view/tree-node.ts"],"sourcesContent":[null],"names":["customElement"],"mappings":"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"}
|