

Components
EdgeJS has fantastic support for components, which features support for state, props, slots, slot scopes, and data injection. Components allow you to define markup or functionality once, and use it throughout your app.
Lessons.



Adding Button Variants
In this lesson, we'll add variant options for our base button. These will provide light and dark options as well as stateful coloring blue, green, red, and yellow.



Adding Button Size Options
In this lesson, we'll add four size options to our base button large, base, small, and extra small. These sizes will then automatically be available as we add our button variants and styles.



Adding Interactivity to our Button
In this lesson, we'll add extendable interactivity to our button using AlpineJS. We'll also walk through a demonstration of how we can utilize event propagation in AlpineJS to our advantage.



Creating Our Base Button
In this lesson, we'll create our base button component which al our other button styles will derive from. It'll be in charge of building our classes, adding interactivity, and more.



Main Slot, Named Slots, and Slot Scopes
In this lesson, we'll learn all about the main slot, how to define and use named slots, as well as passing state information from within our components to our slots using slot scopes.



Serializing Props as Element Attributes
In this lesson, we'll learn about EdgeJS' serialize only and serialize except utility methods, which allow us to directly serialize key-value pairs from our props as element attributes within our components.



Component Props and Default State
In this lesson, we'll learn how about props and how props and state interact within EdgeJS Components. We'll also take a look at how we can default default state values for our components.



Component State & Passing State from EdgeJS to ApineJS
In this lesson, we'll take a look at how we can define and manage state within EdgeJS Components. We'll also learn how we can pass single properties or full objects from EdgeJS to AlpineJS and our client-side scripts.



A Look At Component Reactivity
In this lesson, we'll take a look at how we'll approach reactivity within our EdgeJS components using AlpineJS. We'll also briefly discuss where the line between EdgeJS and AlpineJS is, in terms of our component state and reactivity.



Dynamic Demo Routes for Components
In this lesson, we'll set up a dynamic route, which will be used to serve demos of the various components we'll be building.


View Structure and Component-Based Layouts
In this lesson, we'll get our view and component structures set up. Then, we'll take an abnormal approach and cover how to use components for your layouts.


Getting Started, Installing AlpineJS and TailwindCSS
In this lesson, we'll quickly create a new AdonisJS 5 project to house our components. Then, we'll install the dependencies needed by PinesUI; AlpineJS and TailwindCSS.


Exploring EdgeJS' Component System
In this lesson, we'll walk through a high-level overview of this series' objectives, including the various components we'll build throughout this series.

Http Method Spoofing & Helper Components in AdonisJS
In this lesson, we'll learn how we can utilize Http Method Spoofing to send PUT, PATCH, and DELETE requests using native HTML forms. We'll then create utility functions to make the implementation cleaner.
Showing 21 to 34 of 34 results