@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.
Files changed (120) hide show
  1. package/custom-elements.json +169 -0
  2. package/dist/ai-label.min.js +1 -1
  3. package/dist/breadcrumb.min.js +1 -1
  4. package/dist/{button-21b94ffe.js → button-421874e3.js} +1 -1
  5. package/dist/{button-set-e6cfe6aa.js → button-set-4cd9e9e0.js} +1 -1
  6. package/dist/{button-skeleton-3ee09bb9.js → button-skeleton-d5a145ad.js} +4 -4
  7. package/dist/button.min.js +1 -1
  8. package/dist/chat-button.min.js +1 -1
  9. package/dist/code-snippet.min.js +3 -3
  10. package/dist/{content-switcher-item-46b3abaa.js → content-switcher-item-88de3b2e.js} +1 -1
  11. package/dist/content-switcher.min.js +1 -1
  12. package/dist/{copy-button-38c7e9b6.js → copy-button-9ec39c71.js} +1 -1
  13. package/dist/copy-button.min.js +1 -1
  14. package/dist/data-table.min.js +1 -1
  15. package/dist/file-uploader.min.js +1 -1
  16. package/dist/{icon-button-d7a3f91f.js → icon-button-9ae533d5.js} +1 -1
  17. package/dist/icon-button.min.js +1 -1
  18. package/dist/{modal-label-07e264f0.js → modal-label-88d0387a.js} +1 -1
  19. package/dist/modal.min.js +1 -1
  20. package/dist/notification.min.js +3 -3
  21. package/dist/overflow-menu.min.js +1 -1
  22. package/dist/pagination.min.js +1 -1
  23. package/dist/progress-indicator.min.js +1 -1
  24. package/dist/side-panel.min.js +1 -1
  25. package/dist/skip-to-content.min.js +1 -1
  26. package/dist/slug.min.js +1 -1
  27. package/dist/tabs.min.js +1 -1
  28. package/dist/tearsheet.min.js +1 -1
  29. package/dist/toggle-tip.min.js +1 -1
  30. package/dist/{toggletip-bf3c987e.js → toggletip-ca4a9ea9.js} +1 -1
  31. package/dist/tree-view.min.js +174 -0
  32. package/dist/ui-shell.min.js +1 -1
  33. package/es/components/ai-label/ai-label.scss.js +1 -1
  34. package/es/components/breadcrumb/breadcrumb.scss.js +1 -1
  35. package/es/components/button/button.scss.js +1 -1
  36. package/es/components/chat-button/chat-button.scss.js +1 -1
  37. package/es/components/code-snippet/code-snippet.scss.js +1 -1
  38. package/es/components/content-switcher/content-switcher.scss.js +1 -1
  39. package/es/components/copy-button/copy-button.scss.js +1 -1
  40. package/es/components/data-table/data-table.scss.js +1 -1
  41. package/es/components/file-uploader/file-uploader.scss.js +1 -1
  42. package/es/components/icon-button/icon-button.scss.js +1 -1
  43. package/es/components/modal/modal.scss.js +1 -1
  44. package/es/components/notification/actionable-notification.scss.js +1 -1
  45. package/es/components/notification/inline-notification.scss.js +1 -1
  46. package/es/components/notification/toast-notification.scss.js +1 -1
  47. package/es/components/overflow-menu/overflow-menu.scss.js +1 -1
  48. package/es/components/pagination/pagination.scss.js +1 -1
  49. package/es/components/progress-indicator/progress-indicator.scss.js +1 -1
  50. package/es/components/skip-to-content/skip-to-content.scss.js +1 -1
  51. package/es/components/slug/slug.scss.js +1 -1
  52. package/es/components/tabs/tabs.scss.js +1 -1
  53. package/es/components/toggle-tip/toggletip.scss.js +1 -1
  54. package/es/components/tree-view/defs.d.ts +18 -0
  55. package/es/components/tree-view/defs.js +29 -0
  56. package/es/components/tree-view/defs.js.map +1 -0
  57. package/es/components/tree-view/index.d.ts +10 -0
  58. package/es/components/tree-view/index.js +10 -0
  59. package/es/components/tree-view/index.js.map +1 -0
  60. package/es/components/tree-view/tree-node.d.ts +87 -0
  61. package/es/components/tree-view/tree-node.js +338 -0
  62. package/es/components/tree-view/tree-node.js.map +1 -0
  63. package/es/components/tree-view/tree-view.d.ts +387 -0
  64. package/es/components/tree-view/tree-view.js +216 -0
  65. package/es/components/tree-view/tree-view.js.map +1 -0
  66. package/es/components/tree-view/tree-view.scss.js +13 -0
  67. package/es/components/tree-view/tree-view.scss.js.map +1 -0
  68. package/es/components/ui-shell/header.scss.js +1 -1
  69. package/es/index.d.ts +2 -0
  70. package/es/index.js +2 -0
  71. package/es/index.js.map +1 -1
  72. package/es-custom/components/ai-label/ai-label.scss.js +1 -1
  73. package/es-custom/components/breadcrumb/breadcrumb.scss.js +1 -1
  74. package/es-custom/components/button/button.scss.js +1 -1
  75. package/es-custom/components/chat-button/chat-button.scss.js +1 -1
  76. package/es-custom/components/code-snippet/code-snippet.scss.js +1 -1
  77. package/es-custom/components/content-switcher/content-switcher.scss.js +1 -1
  78. package/es-custom/components/copy-button/copy-button.scss.js +1 -1
  79. package/es-custom/components/data-table/data-table.scss.js +1 -1
  80. package/es-custom/components/file-uploader/file-uploader.scss.js +1 -1
  81. package/es-custom/components/icon-button/icon-button.scss.js +1 -1
  82. package/es-custom/components/modal/modal.scss.js +1 -1
  83. package/es-custom/components/notification/actionable-notification.scss.js +1 -1
  84. package/es-custom/components/notification/inline-notification.scss.js +1 -1
  85. package/es-custom/components/notification/toast-notification.scss.js +1 -1
  86. package/es-custom/components/overflow-menu/overflow-menu.scss.js +1 -1
  87. package/es-custom/components/pagination/pagination.scss.js +1 -1
  88. package/es-custom/components/progress-indicator/progress-indicator.scss.js +1 -1
  89. package/es-custom/components/skip-to-content/skip-to-content.scss.js +1 -1
  90. package/es-custom/components/slug/slug.scss.js +1 -1
  91. package/es-custom/components/tabs/tabs.scss.js +1 -1
  92. package/es-custom/components/toggle-tip/toggletip.scss.js +1 -1
  93. package/es-custom/components/tree-view/defs.d.ts +18 -0
  94. package/es-custom/components/tree-view/defs.js +29 -0
  95. package/es-custom/components/tree-view/defs.js.map +1 -0
  96. package/es-custom/components/tree-view/index.d.ts +10 -0
  97. package/es-custom/components/tree-view/index.js +10 -0
  98. package/es-custom/components/tree-view/index.js.map +1 -0
  99. package/es-custom/components/tree-view/tree-node.d.ts +87 -0
  100. package/es-custom/components/tree-view/tree-node.js +338 -0
  101. package/es-custom/components/tree-view/tree-node.js.map +1 -0
  102. package/es-custom/components/tree-view/tree-view.d.ts +387 -0
  103. package/es-custom/components/tree-view/tree-view.js +216 -0
  104. package/es-custom/components/tree-view/tree-view.js.map +1 -0
  105. package/es-custom/components/tree-view/tree-view.scss.js +13 -0
  106. package/es-custom/components/tree-view/tree-view.scss.js.map +1 -0
  107. package/es-custom/components/ui-shell/header.scss.js +1 -1
  108. package/es-custom/index.d.ts +2 -0
  109. package/es-custom/index.js +2 -0
  110. package/es-custom/index.js.map +1 -1
  111. package/lib/components/tree-view/defs.d.ts +18 -0
  112. package/lib/components/tree-view/defs.js +31 -0
  113. package/lib/components/tree-view/defs.js.map +1 -0
  114. package/lib/components/tree-view/index.d.ts +10 -0
  115. package/lib/components/tree-view/tree-node.d.ts +87 -0
  116. package/lib/components/tree-view/tree-view.d.ts +387 -0
  117. package/lib/index.d.ts +2 -0
  118. package/package.json +7 -7
  119. package/scss/components/button/button.scss +12 -0
  120. 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
+ * @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 './tree-node';
10
+ import './tree-view';
@@ -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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"}