Widgets

@pandaidx/widgets is the component library behind every Panda IDX website: MLS search, listing pages, condo and new development directories, home valuation, lead forms and visitor accounts. Drop a complete widget in one line or take it apart down to typed data, while Panda keeps the data, the MLS compliance and the lead routing current.

v1.14.1Next.js 16 · React 1948 widgets

How it works

Every widget comes apart the same five ways. Pick the lowest level that does what you need; parts and hooks always live inside their root, and the required parts (MLS disclaimers, consent) render at every level.

Level 1Complete widget<PropertySearch layout="map-right" />One line renders the whole feature with its design props.
Level 2Slotparts={{ gallery: <MyGallery /> }}Swap one piece and keep the rest of the page.
Level 3Root + parts<PropertyDetailRoot> + partsPlace the parts or blocks in any order or grid of your own.
Level 4Headless hooksusePropertySearch()Typed, formatted data and actions for your own markup.
Level 5Server datagetListingDetail()A typed loader for a page you design from scratch.

Installation

  1. 1npm install <tarball or @pandaidx/widgets>
  2. 2import "@pandaidx/widgets/styles.css" in app/layout.tsx
  3. 3Wrap the site in <PandaProvider publicKey apiUrl preset theme> (app/layout.tsx)
  4. 4In each page (Server Component) call the widget's server loader, then render the widget with its data
  5. 5Allow the images: next.config images.remotePatterns [{ protocol: "https", hostname: "**" }] (listing and blog photos come from several CDNs)
Terminal
npm install https://github.com/pandaidx/panda-widgets/releases/download/v1.14.1/pandaidx-widgets-1.14.1.tgz

Widgets