diff --git a/src/lib/list/list-item/list-item.scss b/src/lib/list/list-item/list-item.scss
index b87eba319..edd01273e 100644
--- a/src/lib/list/list-item/list-item.scss
+++ b/src/lib/list/list-item/list-item.scss
@@ -93,22 +93,26 @@ $_host-tokens: [indent dense-indent disabled-cursor];
}
}
-// Dense leading/trailing
+// Dense start/end
:host([selected]) {
.forge-list-item {
@include selected;
+ ::slotted([slot=start]),
+ ::slotted([slot=end]),
::slotted([slot=leading]),
::slotted([slot=trailing]) {
- @include leading-trailing-selected;
+ @include start-end-selected;
}
+ ::slotted([slot=start]),
::slotted([slot=leading]) {
- @include leading-selected;
+ @include start-selected;
}
+ ::slotted([slot=end]),
::slotted([slot=trailing]) {
- @include trailing-selected;
+ @include end-selected;
}
}
@@ -155,31 +159,35 @@ slot[name=tertiary-text] {
@include anchor;
}
-// Leading/trailing slotted elements
+// Start/end slotted elements
+::slotted([slot=start]),
+::slotted([slot=end]),
::slotted([slot=leading]),
::slotted([slot=trailing]) {
- @include leading-trailing-base;
+ @include start-end-base;
}
// Interactive slotted form controls to hide state-layer and focus-indicator
:host(:not([noninteractive])) {
- ::slotted(:is(forge-checkbox,forge-radio,forge-switch):is([slot=leading],[slot=trailing]):not([forge-ignore])) {
+ ::slotted(:is(forge-checkbox,forge-radio,forge-switch):is([slot=start],[slot=end],[slot=leading],[slot=trailing]):not([forge-ignore])) {
@include focus-indicator.provide-theme(( display: none ));
@include state-layer.provide-theme(( display: none ));
}
}
-// Leading slotted elements
+// Start slotted elements
+::slotted([slot=start]),
::slotted([slot=leading]) {
:host([selected]) & {
- @include leading-selected;
+ @include start-selected;
}
}
-// Trailing slotted elements
+// End slotted elements
+::slotted([slot=end]),
::slotted([slot=trailing]) {
:host([selected]) & {
- @include trailing-selected;
+ @include end-selected;
}
}
diff --git a/src/lib/list/list-item/list-item.ts b/src/lib/list/list-item/list-item.ts
index 45a89a9df..e8cf4dc27 100644
--- a/src/lib/list/list-item/list-item.ts
+++ b/src/lib/list/list-item/list-item.ts
@@ -63,15 +63,10 @@ declare global {
* @event {CustomEvent} forge-list-item-select - Fires when the list item is selected.
*
* @slot - The primary text.
- * @slot primary-text - The primary text. A named alias for the default slot.
* @slot secondary-text - The secondary text.
* @slot tertiary-text - The tertiary text.
- * @slot title - The title element. An alias for the primary-text slot for backwards compatibility.
- * @slot subtitle - The subtitle element. An alias for the secondary-text slot for backwards compatibility.
- * @slot tertiary-title - The tertiary title element. An alias for the tertiary-text slot for backwards compatibility.
- * @slot leading - The leading content.
- * @slot trailing - The trailing element.
- * @slot avatar - The avatar content.
+ * @slot start - The start content.
+ * @slot end - The end element.
*
* @csspart root - The root container element.
* @csspart text-container - The container for the text content.
@@ -94,8 +89,8 @@ declare global {
* @cssproperty --forge-list-item-text-line-height - The line height of the text.
* @cssproperty --forge-list-item-selected-color - The color when in the selected state.
* @cssproperty --forge-list-item-opacity - The opacity of the background color when in the disabled state.
- * @cssproperty --forge-list-item-selected-leading-color - The color of the leading content when in the selected state.
- * @cssproperty --forge-list-item-selected-trailing-color - The color of the trailing content when in the selected state.
+ * @cssproperty --forge-list-item-selected-start-color - The color of the start content when in the selected state.
+ * @cssproperty --forge-list-item-selected-end-color - The color of the end content when in the selected state.
* @cssproperty --forge-list-item-selected-text-color - The color of the text when in the selected state.
* @cssproperty --forge-list-item-disabled-opacity - The opacity of the element when in the disabled state.
* @cssproperty --forge-list-item-disabled-cursor - The cursor when in the disabled state.
@@ -108,8 +103,8 @@ declare global {
* @cssproperty --forge-list-item-dense-font-size - The font size when in the dense state.
* @cssproperty --forge-list-item-dense-indent - The margin inline state when in the dense indented state.
* @cssproperty --forge-list-item-dense-gap - The gap between the slotted content when in the dense state.
- * @cssproperty --forge-list-item-leading-selected-color - The color of the leading content when in the selected state.
- * @cssproperty --forge-list-item-trailing-selected-color - The color of the trailing content when in the selected state.
+ * @cssproperty --forge-list-item-start-selected-color - The color of the start content when in the selected state.
+ * @cssproperty --forge-list-item-end-selected-color - The color of the end content when in the selected state.
* @cssproperty --forge-list-item-avatar-background-color - The background color of the avatar container.
* @cssproperty --forge-list-item-avatar-color - The foreground color of the avatar container.
* @cssproperty --forge-list-item-avatar-shape - The shape of the avatar container.
diff --git a/src/lib/list/list.test.ts b/src/lib/list/list.test.ts
index 26b966aab..9850256c1 100644
--- a/src/lib/list/list.test.ts
+++ b/src/lib/list/list.test.ts
@@ -231,7 +231,7 @@ describe('List', () => {
it('should have focus indicator when checkbox is present', async () => {
const el = await fixture(html`
-
+
Test Item
`);
@@ -243,7 +243,7 @@ describe('List', () => {
it('should have focus indicator when radio button is present', async () => {
const el = await fixture(html`
-
+
Test Item
`);
@@ -308,7 +308,7 @@ describe('List', () => {
it('should have state layer when checkbox is present', async () => {
const el = await fixture(html`
-
+
Test Item
`);
@@ -320,7 +320,7 @@ describe('List', () => {
it('should have state layer when radio button is present', async () => {
const el = await fixture(html`
-
+
Test Item
`);
@@ -362,7 +362,7 @@ describe('List', () => {
Test Item
-
+
`);
@@ -747,12 +747,12 @@ describe('List', () => {
});
describe('with form control', () => {
- it('should toggle slotted leading form control when clicked', async () => {
+ it('should toggle slotted start form control when clicked', async () => {
const el = await fixture(html`
Test Item
-
+
`);
@@ -766,12 +766,12 @@ describe('List', () => {
expect(checkbox.checked).to.be.true;
});
- it('should not toggle leading checkbox if forge-ignore attribute is present', async () => {
+ it('should not toggle start checkbox if forge-ignore attribute is present', async () => {
const el = await fixture(html`
Test Item
-
+
`);
@@ -790,7 +790,7 @@ describe('List', () => {
-
+
`);
@@ -814,7 +814,7 @@ describe('List', () => {
Test Item
-
+
`);
@@ -865,8 +865,8 @@ async function createFixture({
.selectedValue=${selectedValue}>
- ${withCheckbox ? html`` : null}
- ${withRadioButton ? html`` : null}
+ ${withCheckbox ? html`` : null}
+ ${withRadioButton ? html`` : null}
diff --git a/src/lib/tabs/tab/tab.html b/src/lib/tabs/tab/tab.html
index 4ac34293b..2f4f28ec9 100644
--- a/src/lib/tabs/tab/tab.html
+++ b/src/lib/tabs/tab/tab.html
@@ -1,11 +1,15 @@