Build stunning, professional websites with 25+ production-ready UI components
The RapidWeaver Elements Core Pack is the essential component library that powers RapidWeaver Elements—the modern, visual website builder for macOS. This pack provides everything you need to create beautiful, responsive websites without writing code.
Whether you're building a portfolio, business site, blog, or landing page, the Core Pack delivers:
- 25+ Professional Components — From navigation bars and image galleries to accordions and modals
- 6 Designer Themes — Beautifully crafted color palettes and typography presets
- 300+ Ready-to-Use Resources — Icons, images, and SVG graphics
- 170+ Page Templates — Pre-built layouts to jumpstart your projects
The Core Pack is designed to work seamlessly with the Elements editor, giving you a pixel-perfect WYSIWYG experience.
| Category | Components |
|---|---|
| Layout | Container, Flex, Grid, Background |
| Navigation | Navbar, Nav Tree, Nav Page List, Dropdown |
| Media | Image, Gallery, Image Slider, Video, Audio Playlist, SVG |
| Content | Text, Typography, Button, Divider, Accordion |
| Interactive | Modal, Modal Close, Filter, Filter Tags, Reveal |
- Architect — Clean, professional aesthetic
- Blush — Soft, elegant tones
- Build — Bold, modern design
- Solar — Warm, energetic palette
- System — Native macOS styling
- Typesetter — Typography-focused refinement
Before you begin, ensure you have the following installed:
- Node.js (v18 or higher recommended)
- npm (comes with Node.js)
- Git (for cloning the repository)
-
Clone the repository
git clone https://github.com/realmacsoftware/RWElementsCorePack.git cd RWElementsCorePack -
Install dependencies
npm install
This installs the rw-elements-tools build system and any other required dependencies.
-
Verify the installation
npm run build
If successful, you'll see output confirming that the
properties.jsonandhooks.jsfiles have been generated for each component.
RWElementsCorePack/
├── packs/ # Elements packs
│ └── Core.elementsdevpack/ # Core pack
│ ├── components/ # 25+ UI components
│ │ ├── com.realmacsoftware.*/ # Individual component folders
│ │ └── shared/ # Shared utilities & hooks
│ ├── themes/ # 6 theme definitions
│ ├── templates/ # 170+ page templates
│ └── resources/ # SVGs, images, icons
├── package.json # npm configuration
└── README.md
Each component follows a consistent structure:
com.realmacsoftware.componentName/
├── info.json # Component metadata (name, identifier)
├── properties.config.json # Source: Property inspector configuration
├── properties.json # Generated: Compiled properties (don't edit)
├── hooks.source.js # Source: Transform logic & hooks
├── hooks.js # Generated: Bundled hooks (don't edit)
├── templates/ # HTML templates for rendering
├── collections/ # Optional: Pre-built variations
├── icon.pdf # Component icon
└── paletteIcon.pdf # Palette/sidebar icon
| Command | Description |
|---|---|
npm run build |
Build all properties.json and hooks.js files |
npm run build:properties |
Build only properties.json files |
npm run build:hooks |
Build only hooks.js files |
npm run dev |
Watch mode — automatically rebuilds on file changes |
This project uses rw-elements-tools to transform source files:
| Source File | Output File | Purpose |
|---|---|---|
properties.config.json |
properties.json |
Expands reusable control definitions into full property inspector configs |
hooks.source.js |
hooks.js |
Bundles shared hooks with dead code elimination for optimal file size |
-
Modify the property inspector UI
Edit
properties.config.jsonto add, remove, or configure controls that appear in the Elements inspector panel. -
Modify the transform logic
Edit
hooks.source.jsto change how component properties are transformed into HTML/CSS output. -
Rebuild the component
npm run build
Or use watch mode for continuous development:
npm run dev
⚠️ Important: Never editproperties.jsonorhooks.jsdirectly—they are auto-generated and will be overwritten on the next build.
Once built, the Core.elementsdevpack folder can be loaded into RapidWeaver Elements:
- Open RapidWeaver Elements
- Go to Preferences → Addons
- Click Add Pack and select the
Core.elementsdevpackfolder - The components will now appear in your Elements palette
We welcome contributions! Here's how to get involved:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-component) - Make your changes and test thoroughly
- Run
npm run buildto ensure everything compiles - Commit your changes (
git commit -m 'Add amazing component') - Push to the branch (
git push origin feature/amazing-component) - Open a Pull Request
This project is licensed under the Elements Source License (ESL) — a custom license designed for the RapidWeaver Elements ecosystem.
✅ Use, study, and modify the source code
✅ Create component packs and extensions for RapidWeaver Elements
✅ Redistribute in source or compiled form for use with RapidWeaver Elements
❌ Use in other website builders or competing platforms
❌ Incorporate into SaaS products or other applications
❌ Use independently outside the RapidWeaver Elements ecosystem
See the LICENSE file for the complete license terms.