Skip to content

Commit 754c9fe

Browse files
author
Ayesha Mazumdar
committed
feat(trees): Added metatext state and supporting CSS classes to trees component
1 parent 3cbebbe commit 754c9fe

File tree

2 files changed

+33
-7
lines changed

2 files changed

+33
-7
lines changed

ui/components/trees/base/_index.scss

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -72,13 +72,11 @@
7272
/**
7373
* @selector .slds-tree
7474
* @restrict .slds-tree_container ul, table
75-
* @required
7675
*/
7776
.slds-tree {
7877
/**
7978
* @selector .slds-tree__item
8079
* @restrict .slds-tree div, .slds-tree th
81-
* @required
8280
*/
8381
&__item {
8482
display: flex;
@@ -90,7 +88,6 @@
9088
*
9189
* @selector .slds-is-disabled
9290
* @restrict .slds-tree__item button
93-
* @required
9491
* @modifier
9592
*/
9693
.slds-is-disabled {
@@ -119,7 +116,6 @@
119116
* @selector .slds-is-hovered
120117
* @restrict .slds-tree__item
121118
* @notes Class should be applied via Javascript
122-
* @required
123119
* @modifier
124120
*/
125121
&.slds-is-hovered,
@@ -129,6 +125,25 @@
129125
}
130126
}
131127

128+
/**
129+
* The meta text or secondary text of a tree item
130+
*
131+
* @selector .slds-tree__item-meta_text
132+
* @restrict .slds-tree__item span
133+
*/
134+
.slds-tree__item-meta_text,
135+
.slds-tree__item-meta--text {
136+
display: block;
137+
margin-top: ($spacing-xx-small * -1); // Offset $line-height-text from result-text
138+
color: $color-text-label;
139+
}
140+
141+
/**
142+
* Styles the focus and selected state for any tree item that has role="treeitem"
143+
*
144+
* @selector [role="treeitem"]
145+
* @restrict .slds-tree li
146+
*/
132147
[role="treeitem"] {
133148

134149
&:focus {
@@ -161,7 +176,6 @@
161176
* @selector .slds-is-selected
162177
* @restrict .slds-tree__item
163178
* @notes Class should be applied via Javascript
164-
* @required
165179
* @modifier
166180
*/
167181
@include deprecate('5.0.0', '.slds-is-selected is deprecated in .slds-tree, rely on aria-selected attrbiute') {
@@ -177,7 +191,6 @@
177191
*
178192
* @selector .slds-is-focused
179193
* @restrict .slds-tree__item
180-
* @required
181194
* @modifier
182195
*/
183196
@include deprecate('5.0.0', '.slds-is-focused is deprecated in .slds-tree, rely on the :focus psuedo class on the role="treeitem" element') {

ui/components/trees/base/example.jsx

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,14 @@ let TreeItem = props => (
2323
<span className="slds-truncate" title="Tree Item">
2424
Tree Item
2525
</span>
26+
{props.hasMetatext && (
27+
<span
28+
className="slds-tree__item-meta slds-tree__item-meta_text"
29+
title="Tree Item Metatext"
30+
>
31+
Tree Item Metatext
32+
</span>
33+
)}
2634
{props.children}
2735
</div>
2836
);
@@ -149,7 +157,7 @@ let Default = props => (
149157
aria-level="1"
150158
tabIndex={!props.isSelected ? '0' : null}
151159
>
152-
<TreeItem>{props.itemContent}</TreeItem>
160+
<TreeItem hasMetatext={props.hasMetatext}>{props.itemContent}</TreeItem>
153161
</li>
154162
<li
155163
role="treeitem"
@@ -211,5 +219,10 @@ export let states = [
211219
id: 'deep-nesting',
212220
label: 'Deeply nested branches',
213221
element: <Default isExpanded additionalItems={<AdditionalItems />} />
222+
},
223+
{
224+
id: 'metatext',
225+
label: 'Metatext',
226+
element: <Default hasMetatext />
214227
}
215228
];

0 commit comments

Comments
 (0)