bslib icon indicating copy to clipboard operation
bslib copied to clipboard

Make `card()` a custom element

Open cpsievert opened this issue 3 months ago • 0 comments

This is a minimal take on having card() leverage the benefits of custom elements (namely, connectedCallback() and disconnectedCallback() hooks). This allows us to immediately get rid of some hacky initialization logic, as well as putting us in a better place to handle situations like #1005.

The largest risk with this change is that we're introducing a container around the actual <div class="card"> container. This has the outside chance of breaking some CSS, and maybe some R/Python code digging into $children/.children, but it seems better to rip that band-aid now vs later. We'll also need to update Quarto's dashboarding code to wrap <div class="card"> markup into a <bslib-card> container.

I don't think we should take on this PR for this immediate release, but ideally we'll do it immediately after and as a precursor to #1005.

cpsievert avatar Mar 12 '24 22:03 cpsievert