Releases: edadma/riposte
Releases · edadma/riposte
v0.2.0
Riposte 0.2.0 — a React-shaped virtual-DOM stack for Scala.js.
This release adds two new library artifacts and broadens the component and docs coverage. All six modules publish to Maven Central under io.github.edadma for Scala.js 1 / Scala 3.
New artifacts
- riposte-query — a TanStack-Query-style async data layer built on riposte-atoms: keyed query cache with SWR, in-flight dedup, prefix invalidation, retry/backoff, focus/reconnect refetch,
useMutationwith optimistic updates + rollback,useInfiniteQuery(bidirectional), and request cancellation viaAbortSignal. - riposte-forms — a react-hook-form-style form layer over the core public API: uncontrolled ref-based fields (typing never re-renders),
useForm/register/handleSubmit/formState,Controllerfor controlled components,useWatch,useFieldArray(dynamic keyed rows), and async resolver/validation.
Highlights since 0.1.0
- riposte (core): hand-expanded builder DSL (sectioning/forms/tables/media tags, ARIA/data helpers, full pointer/keyboard/drag/touch events), SVG namespacing, portals, error boundaries,
unsafeHtml,EnumAttrKey,defaultValue/defaultChecked, and new DOM hooks (useClickOutside,useIntersectionObserver,useMediaQuery,useEventListener,useResizeObserver,useFocusTrap). - riposte-router: nested routes +
Outlet/index,NavLink,useSearchParams,lazyViewcode-split routes,Route.catchErrors,ScrollRestoration, anduseQueryState. - riposte-salle: many new components — Tabs, Tooltip, Toast, Pagination, Menu/Dropdown, Modal, Drawer, Carousel/Hero, Lightbox, Layout/Navbar/Footer, Segmented, Breadcrumb, Descriptions, Empty, Skeleton, Badge/Tag, and more — with a Skin abstraction (native + DaisyUI) and a Playwright e2e harness.
- riposte-atoms: writable/derived/action atoms, Provider-scoped stores,
selectAtom/atomFamily/onMount/atomWithStorage, and loadable async atoms.