Skip to content

Commit 46e0871

Browse files
authored
fix: remove message list markdown outermost margins (#9254) (#9263)
1 parent 781a02a commit 46e0871

File tree

12 files changed

+56
-2
lines changed

12 files changed

+56
-2
lines changed

packages/message-list/src/vaadin-message-list-mixin.d.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
*/
66
import type { Constructor } from '@open-wc/dedupe-mixin';
77
import type { KeyboardDirectionMixinClass } from '@vaadin/a11y-base/src/keyboard-direction-mixin.js';
8+
import type { SlotStylesMixinClass } from '@vaadin/component-base/src/slot-styles-mixin.js';
89

910
export interface MessageListItem {
1011
text?: string;
@@ -19,7 +20,10 @@ export interface MessageListItem {
1920

2021
export declare function MessageListMixin<T extends Constructor<HTMLElement>>(
2122
base: T,
22-
): Constructor<KeyboardDirectionMixinClass> & Constructor<MessageListMixinClass> & T;
23+
): Constructor<KeyboardDirectionMixinClass> &
24+
Constructor<MessageListMixinClass> &
25+
Constructor<SlotStylesMixinClass> &
26+
T;
2327

2428
export declare class MessageListMixinClass {
2529
/**

packages/message-list/src/vaadin-message-list-mixin.js

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,15 @@
66
import { html, render } from 'lit';
77
import { ifDefined } from 'lit/directives/if-defined.js';
88
import { KeyboardDirectionMixin } from '@vaadin/a11y-base/src/keyboard-direction-mixin.js';
9+
import { SlotStylesMixin } from '@vaadin/component-base/src/slot-styles-mixin';
910

1011
/**
1112
* @polymerMixin
1213
* @mixes KeyboardDirectionMixin
14+
* @mixes SlotStylesMixin
1315
*/
1416
export const MessageListMixin = (superClass) =>
15-
class MessageListMixinClass extends KeyboardDirectionMixin(superClass) {
17+
class MessageListMixinClass extends SlotStylesMixin(KeyboardDirectionMixin(superClass)) {
1618
static get properties() {
1719
return {
1820
/**
@@ -64,6 +66,22 @@ export const MessageListMixin = (superClass) =>
6466
this.setAttribute('role', 'log');
6567
}
6668

69+
/** @protected */
70+
get slotStyles() {
71+
const tag = this.localName;
72+
return [
73+
`
74+
${tag} :where(vaadin-markdown > :is(h1, h2, h3, h4, h5, h6, p, ul, ol):first-child) {
75+
margin-top: 0;
76+
}
77+
78+
${tag} :where(vaadin-markdown > :is(h1, h2, h3, h4, h5, h6, p, ul, ol):last-child) {
79+
margin-bottom: 0;
80+
}
81+
`,
82+
];
83+
}
84+
6785
/**
6886
* Override method inherited from `KeyboardDirectionMixin`
6987
* to use the list of message elements as items.

packages/message-list/test/visual/lumo/message-list.test.js

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,22 @@ describe('message-list', () => {
6868
await nextFrame();
6969
await visualDiff(div, `${dir}-markdown`);
7070
});
71+
72+
it('markdown - margin overrides', async () => {
73+
// Override the default margins in application styles with a stronger selector
74+
fixtureSync(`
75+
<style>
76+
vaadin-message-list p {
77+
margin: 20px;
78+
}
79+
</style>
80+
`);
81+
82+
element.markdown = true;
83+
await customElements.whenDefined('vaadin-markdown');
84+
await nextFrame();
85+
await visualDiff(div, `${dir}-markdown-margin-overrides`);
86+
});
7187
});
7288
});
7389
});
14.3 KB
Loading
-550 Bytes
Loading
13.8 KB
Loading
-508 Bytes
Loading

packages/message-list/test/visual/material/message-list.test.js

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,22 @@ describe('message-list', () => {
6868
await nextFrame();
6969
await visualDiff(div, `${dir}-markdown`);
7070
});
71+
72+
it('markdown - margin overrides', async () => {
73+
// Override the default margins in application styles with a stronger selector
74+
fixtureSync(`
75+
<style>
76+
vaadin-message-list p {
77+
margin: 20px;
78+
}
79+
</style>
80+
`);
81+
82+
element.markdown = true;
83+
await customElements.whenDefined('vaadin-markdown');
84+
await nextFrame();
85+
await visualDiff(div, `${dir}-markdown-margin-overrides`);
86+
});
7187
});
7288
});
7389
});
14.6 KB
Loading
-608 Bytes
Loading

0 commit comments

Comments
 (0)