♻️ (html): API para id's en Props y componentes

This commit is contained in:
Manuel Cillero 2026-06-20 15:02:23 +02:00
parent 8d0103c257
commit 62219584b0
31 changed files with 541 additions and 405 deletions

View file

@ -15,7 +15,7 @@ pub enum IconKind {
#[derive(AutoDefault, Clone, Debug, Getters)]
pub struct Icon {
/// Devuelve los atributos HTML y clases CSS del icono.
/// Devuelve los atributos HTML y clases CSS del componente.
props: Props,
icon_kind: IconKind,
aria_label: AttrL10n,
@ -26,6 +26,10 @@ impl Component for Icon {
Self::default()
}
fn id(&self) -> Option<String> {
self.props.get_id()
}
fn setup(&mut self, _cx: &Context) {
if !matches!(self.icon_kind(), IconKind::None) {
self.alter_prop(PropsOp::prepend_classes("icon"));
@ -98,7 +102,14 @@ impl Icon {
// **< Icon BUILDER >***************************************************************************
/// Modifica los atributos HTML o las clases CSS del icono.
/// Establece el identificador único del componente; igual a `with_prop(PropsOp::set_id(id))`.
#[builder_fn]
pub fn with_id(mut self, id: impl Into<CowStr>) -> Self {
self.props.alter_id(id);
self
}
/// Modifica identificador, clases CSS o atributos HTML del componente.
#[builder_fn]
pub fn with_prop(mut self, op: PropsOp) -> Self {
self.props.alter_prop(op);