47 lines
1.1 KiB
JavaScript
47 lines
1.1 KiB
JavaScript
|
import {
|
||
|
card_styles_default
|
||
|
} from "./chunk.4A5FT2GX.js";
|
||
|
import {
|
||
|
HasSlotController
|
||
|
} from "./chunk.NYIIDP5N.js";
|
||
|
import {
|
||
|
e
|
||
|
} from "./chunk.UZVKBFXH.js";
|
||
|
import {
|
||
|
ShoelaceElement
|
||
|
} from "./chunk.SEXBCYCU.js";
|
||
|
import {
|
||
|
x
|
||
|
} from "./chunk.CXZZ2LVK.js";
|
||
|
|
||
|
// src/components/card/card.component.ts
|
||
|
var SlCard = class extends ShoelaceElement {
|
||
|
constructor() {
|
||
|
super(...arguments);
|
||
|
this.hasSlotController = new HasSlotController(this, "footer", "header", "image");
|
||
|
}
|
||
|
render() {
|
||
|
return x`
|
||
|
<div
|
||
|
part="base"
|
||
|
class=${e({
|
||
|
card: true,
|
||
|
"card--has-footer": this.hasSlotController.test("footer"),
|
||
|
"card--has-image": this.hasSlotController.test("image"),
|
||
|
"card--has-header": this.hasSlotController.test("header")
|
||
|
})}
|
||
|
>
|
||
|
<slot name="image" part="image" class="card__image"></slot>
|
||
|
<slot name="header" part="header" class="card__header"></slot>
|
||
|
<slot part="body" class="card__body"></slot>
|
||
|
<slot name="footer" part="footer" class="card__footer"></slot>
|
||
|
</div>
|
||
|
`;
|
||
|
}
|
||
|
};
|
||
|
SlCard.styles = card_styles_default;
|
||
|
|
||
|
export {
|
||
|
SlCard
|
||
|
};
|