zurb/foundation
Responsive front-end framework by ZURB for building modern websites and apps. Includes a flexible grid, UI components, typography, forms, navigation, and JavaScript plugins, with customization via Sass and support for rapid prototyping and production-ready layouts.
npm install foundation-sites or yarn add foundation-sites) — Laravel Mix (or Vite) is typically used to compile the Sass.resources/sass/app.scss):
@import '~foundation-sites/scss/foundation';
@include foundation-everything;
<div class="grid-container">
<div class="grid-x grid-padding-x">
<div class="cell small-12 medium-6 large-4">...</div>
<div class="cell small-12 medium-6 large-4">...</div>
<div class="cell small-12 large-4">...</div>
</div>
</div>
<div data-accordion>
<button class="accordion-button" aria-expanded="true" aria-controls="panel1">Section 1</button>
<div class="accordion-content" data-panel="panel1" id="panel1">
<p>Content goes here.</p>
</div>
</div>
Tip: Run npm run dev or npm run build after first setup to see changes.app.scss):
$primary-color: #1779ba;
$global-padding: 1rem;
@import '~foundation-sites/scss/foundation';
@include foundation-everything;
mounted():
Alpine.data('accordion', () => ({
init() {
new foundation.Accordion(this.$el, {
slideSpeed: 300
});
}
}));
<div class="grid-x grid-margin-x align-center">
<div class="cell auto text-center py-3">Centered content</div>
</div>
webpack.mix.js, ensure sass() processes Foundation’s source files (set sourceMaps = true for easier debugging).@include foundation-xy-grid-classes; + selective imports (e.g., @import '~foundation-sites/scss/components/accordion';) to reduce CSS bundle size..grid-x (Flexbox grid) and legacy .row/.column. Prefer .grid-x unless explicitly migrating.Foundation.addToJquery($); before $(document).foundation(); if using jQuery, or instantiate manually with vanilla JS (recommended in modern stacks).@import to take effect.$global-rtl: true; before import — but test thoroughly; some components (e.g., tooltips) need manual tweaks.dropdown or orbit require correct aria- attributes — use the official component demos as templates.Foundation.zf_init(); to rebind event listeners after DOM updates (e.g., in SPA workflows or Livewire re-renders).@import '~foundation-sites/scss/util/util';
@import '~foundation-sites/scss/components/grid/grid';
@import '~foundation-sites/scss/components/buttons/buttons';
// Skip heavier components like Reveal or Interchange if not needed
How can I help you explore Laravel packages today?