Skip to content

v0.12.0

Choose a tag to compare

@lxsmnsyc lxsmnsyc released this 19 Jul 12:33
· 369 commits to main since this release

image

  • This release adds the Tabs implementation for solid-headless. You can check out the demo here.
  • Drops the use of JSX
    • The code is manually written so that props are properly optimized and applies DRY much better. This also means that solid-headless can now be used without building the package.
    • For Vite SSR, solid-headless is no longer needed to be added for ssr.noExternal.
  • Deprecated the use of data-sh-*={ownerID}. Components are now accompanied with data-sh={tag}, this allows querying components properly as well as writing better selectors. Components that previously do not have those tags also now have their own tags.
    Example:
[data-sh="tab-group"] {
  width: 100%;
  display: flex;
  align-items: stretch;
  justify-content: center;
}
  • Fix some components not strictly following proper hierarchy.
  • Fix some components with mismatching default constructor vs type constructor.
  • Rework for controllable components
    • multiple is now static for HeadlessSelect-based components (RadioGroup, Listbox, Select, etc.)
    • Dirty check for controllable detection is removed for future proof.
    • Better type inference for controlled vs uncontrolled usage (e.g. Modal will now complain if either defaultOpen or isOpen isn't used)
  • Fix components with focus lock (e.g. Modal) now also resume focus to last focus start point if the last focused element is no longer available.