0.2.0 • Published 6 months ago
@gaubee/w3c-shim v0.2.0
@gaubee/w3c-shim
This project maintains the same style as @gaubee/util (providing functional programming style to avoid side effects) and offers common shims. It supports on-demand imports, and for runtimes with native support, there is minimal additional overhead.
scrollend - Scroll End Event Handling
- Provides functions to add and remove scrollend event listeners
- Automatically detects native browser support (Chrome 114+) and falls back to shim implementation
- The shim implementation:
- Uses scroll event + timeout detection
- Handles pointer/touch events to avoid false positives
- Cleanly manages event listener lifecycle
- Reference: https://github.com/w3c/csswg-drafts/issues/8607
Note: The shim may have slightly different timing characteristics than native implementation
inert - Inert Attribute Polyfill
- Provides element_inert() function to get/set inert state
- Automatically detects native browser support and falls back to shim implementation
- The shim implementation:
- Uses CSS to disable pointer events and user selection
- Manages aria-hidden state for accessibility
- Can be applied to any Element
- Reference: https://html.spec.whatwg.org/multipage/interaction.html#inert
Note: The shim may have slightly different behavior than native implementation in complex DOM scenarios