Skip to content

Bypass Leptos Function Components Attributes Max Length #9

@wiseaidev

Description

@wiseaidev

While adding support for Leptos in #7 , I noticed that Leptos currently doesn't allow passing more than 26 attributes to function component; This is marked as a TODO in their codebase.

To work around this, I think we can group related attributes (e.g. all aria-*) into a struct and pass that as a single prop:

image-rs/src/leptos.rs

Lines 126 to 142 in a30a3a9

/// Indicates the current item in a set for accessibility.
// #[prop(optional)] aria_current: &'static str,
/// ID reference to the element describing this image.
// #[prop(optional)] aria_describedby: &'static str,
/// Whether the associated content is expanded or collapsed.
// #[prop(optional)] aria_expanded: &'static str,
/// Whether the image is hidden from assistive technologies.
/// #[prop(optional)] aria_hidden: &'static str,
/// Indicates the pressed state of the image if it's used as a toggle.
// #[prop(optional, default = AriaPressed::Undefined)] aria_pressed: AriaPressed,
/// ID reference to the element this image controls.
// #[prop(optional)] aria_controls: &'static str,
/// ID reference to the element that labels this image.
// #[prop(optional)] aria_labelledby: &'static str,
/// Indicates whether updates to the image are live.
// #[prop(optional, default = AriaLive::Off)] aria_live: AriaLive,
/// URLs for Attribution Reporting (experimental feature).

This is a good first issue for anyone interested in contributing and being part of the Open SASS mission 🚀.

Good luck to the hacker who picks this up!

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions