← Design System Portal Component Demo

IGrow Design System — Component Library

Every component below uses tokens from system/tokens.css and class names from system/components.css. Copy the markup, keep the class names, and you'll inherit the IGrow brand for free.

Buttons

Use .ig-btn + one variant. Pill shape comes for free. Primary red is the only "this is the action we want" colour — limit one per surface.

Variants
Sizes
Inverse (on dark surfaces)
States
With icon

Forms

Every form field is a .ig-field wrapping a label + control + optional helper/error. Pair with .ig-field--error or .ig-field--success on the wrapper for state.

Inputs & states
We'll only use this to confirm your viewing.
Enter a valid SA phone number, e.g. 021 206 0850
Choice controls
Search input

Cards

A handful of card variants cover 90% of surfaces: generic, property, stat, testimonial.

Property card (matches rentals.igrow.co.za)
Apartment

1 Bedroom Apartment To Rent in Witfield

R 7 000

1 Unit 309, Cnr Sett Street & Pretoria Rd

Experience the perfect blend of privacy and open-plan living in this cleverly designed apartment…

  • 1 Bed
  • 1 Bath
  • 44 m²
Townhouse

3 Bedroom Townhouse in Parsonsvlei

R 9 100

66 Joslyn Crescent, Fourleaf Estate

This property ticks all the boxes when it comes to a great rental — pets allowed and a private garden.

  • 3 Beds
  • 1 Bath
  • Pets allowed

Generic info card

Cards without media work too — use .ig-card--bordered for the flat, no-shadow variant.

Read more
Stat cards (dashboards)
Active Listings 177 ▲ 12 this week
Avg. Days on Market 18 ▼ 4 vs last month
Occupancy Rate 97.4% ▲ 0.6%
Rent Collected R 4.8M ▲ R 240k
Testimonial
★★★★★
"I had an outstanding experience with Malanie Lewis who went above and beyond to make this process smooth. From the first inquiry she was professional, responsive and genuinely attentive to my needs."
— Janine Strydom
★★★★★
"This is one of the best services I've ever had! I appreciate the professionalism, his work ethic and knowledge is highly recommended."

Hero

Photo hero with brand-gradient overlay. Use .ig-hero-section--dark for utility pages (contact, legal) and --compact for sub-pages.

Marketing hero
IGrow Rentals

Explore amazing properties to rent

Browse available properties by location, budget, and features — trusted property management across South Africa.

Compact page header

Contact

  1. Home
  2. Contact

CTA band

Inverse, full-bleed, single message. Use to bookend a long marketing page.

Ready to grow your portfolio?

Speak to a consultant about how IGrow Rentals manages buy-to-let properties from tenant placement to monthly payouts.

Alerts

Coloured left-border + tinted background. Use for inline page messages. For ephemeral notifications use .ig-toast instead.

Application received

We'll be in touch within one business day.

Lease signed

All parties have signed. Welcome to your new home.

Rent due in 3 days

Payments after the 1st incur a R 150 admin fee.

Could not submit

Please correct the highlighted fields and try again.

Accordion

Built on native <details>/<summary> — works without JS, keyboard-accessible by default, no content clipping. Use sparingly — typically on FAQ or single-property pages where space matters.

What does IGrow's rental management cost?
Standard management is 10% + VAT of monthly rent collected. Tenant placement is a one-off fee equal to one month's rent. No hidden admin fees.
How do you vet tenants?
Three-tier check: TPN, credit bureau, and employment verification. No tenant is presented to an owner without all three.
When do I receive monthly rent?
Within 3 business days of the tenant paying. Payouts run on a daily settlement cycle.

Tabs

Pill-styled tabs. Implements the APG tab pattern: ArrowLeft/Right cycles tabs, Home/End jumps to first/last, focused tab uses roving tabindex. Don't use for primary navigation — use the main nav.

The first floor unit offers two bedrooms, two bathrooms, and an open-plan living area with private balcony.

No-JS fallback: if you can't ship JavaScript, render each panel as a regular <section id="…"> with a heading, and replace the tab buttons with anchor links to those ids. The page works perfectly without scripting — the user just scrolls to each section instead of switching tabs in place.

Pagination

Loaders

Spinner
Loading properties…
Skeleton card

Tables

Data-dense. Pair with status pills (.ig-pill) for at-a-glance state.

PropertyTenantRentStatus
Unit 309, Willow Park ManorJ. SmithR 7 000PaidView
Unit 9162, Willow Park ManorK. NaidooR 12 500Due in 3 daysView
43 De La Rey Rd, RivoniaR 8 790VacantView
66 Joslyn Crescent, ParsonsvleiM. PillayR 9 100OverdueView

Filter row + Listing bar

Matches the listing pattern from rentals.igrow.co.za/to-rent/.

All filters

177 properties found

Empty state

No properties match your filters

Try widening the price range, or clearing the suburb selection to see more results.