Initial commit
This commit is contained in:
148
app/(main)/uikit/formlayout/page.tsx
Normal file
148
app/(main)/uikit/formlayout/page.tsx
Normal file
@@ -0,0 +1,148 @@
|
||||
'use client';
|
||||
|
||||
import React, { useState, useEffect, useMemo } from 'react';
|
||||
import { InputText } from 'primereact/inputtext';
|
||||
import { Button } from 'primereact/button';
|
||||
import { InputTextarea } from 'primereact/inputtextarea';
|
||||
import { Dropdown } from 'primereact/dropdown';
|
||||
|
||||
interface DropdownItem {
|
||||
name: string;
|
||||
code: string;
|
||||
}
|
||||
|
||||
const FormLayoutDemo = () => {
|
||||
const [dropdownItem, setDropdownItem] = useState<DropdownItem | null>(null);
|
||||
const dropdownItems: DropdownItem[] = useMemo(
|
||||
() => [
|
||||
{ name: 'Option 1', code: 'Option 1' },
|
||||
{ name: 'Option 2', code: 'Option 2' },
|
||||
{ name: 'Option 3', code: 'Option 3' }
|
||||
],
|
||||
[]
|
||||
);
|
||||
|
||||
useEffect(() => {
|
||||
setDropdownItem(dropdownItems[0]);
|
||||
}, [dropdownItems]);
|
||||
|
||||
return (
|
||||
<div className="grid">
|
||||
<div className="col-12 md:col-6">
|
||||
<div className="card p-fluid">
|
||||
<h5>Vertical</h5>
|
||||
<div className="field">
|
||||
<label htmlFor="name1">Name</label>
|
||||
<InputText id="name1" type="text" />
|
||||
</div>
|
||||
<div className="field">
|
||||
<label htmlFor="email1">Email</label>
|
||||
<InputText id="email1" type="text" />
|
||||
</div>
|
||||
<div className="field">
|
||||
<label htmlFor="age1">Age</label>
|
||||
<InputText id="age1" type="text" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="card p-fluid">
|
||||
<h5>Vertical Grid</h5>
|
||||
<div className="formgrid grid">
|
||||
<div className="field col">
|
||||
<label htmlFor="name2">Name</label>
|
||||
<InputText id="name2" type="text" />
|
||||
</div>
|
||||
<div className="field col">
|
||||
<label htmlFor="email2">Email</label>
|
||||
<InputText id="email2" type="text" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="col-12 md:col-6">
|
||||
<div className="card p-fluid">
|
||||
<h5>Horizontal</h5>
|
||||
<div className="field grid">
|
||||
<label htmlFor="name3" className="col-12 mb-2 md:col-2 md:mb-0">
|
||||
Name
|
||||
</label>
|
||||
<div className="col-12 md:col-10">
|
||||
<InputText id="name3" type="text" />
|
||||
</div>
|
||||
</div>
|
||||
<div className="field grid">
|
||||
<label htmlFor="email3" className="col-12 mb-2 md:col-2 md:mb-0">
|
||||
Email
|
||||
</label>
|
||||
<div className="col-12 md:col-10">
|
||||
<InputText id="email3" type="text" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="card">
|
||||
<h5>Inline</h5>
|
||||
<div className="formgroup-inline">
|
||||
<div className="field">
|
||||
<label htmlFor="firstname1" className="p-sr-only">
|
||||
Firstname
|
||||
</label>
|
||||
<InputText id="firstname1" type="text" placeholder="Firstname" />
|
||||
</div>
|
||||
<div className="field">
|
||||
<label htmlFor="lastname1" className="p-sr-only">
|
||||
Lastname
|
||||
</label>
|
||||
<InputText id="lastname1" type="text" placeholder="Lastname" />
|
||||
</div>
|
||||
<Button label="Submit"></Button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="card">
|
||||
<h5>Help Text</h5>
|
||||
<div className="field p-fluid">
|
||||
<label htmlFor="username">Username</label>
|
||||
<InputText id="username" type="text" />
|
||||
<small>Enter your username to reset your password.</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="col-12">
|
||||
<div className="card">
|
||||
<h5>Advanced</h5>
|
||||
<div className="p-fluid formgrid grid">
|
||||
<div className="field col-12 md:col-6">
|
||||
<label htmlFor="firstname2">Firstname</label>
|
||||
<InputText id="firstname2" type="text" />
|
||||
</div>
|
||||
<div className="field col-12 md:col-6">
|
||||
<label htmlFor="lastname2">Lastname</label>
|
||||
<InputText id="lastname2" type="text" />
|
||||
</div>
|
||||
<div className="field col-12">
|
||||
<label htmlFor="address">Address</label>
|
||||
<InputTextarea id="address" rows={4} />
|
||||
</div>
|
||||
<div className="field col-12 md:col-6">
|
||||
<label htmlFor="city">City</label>
|
||||
<InputText id="city" type="text" />
|
||||
</div>
|
||||
<div className="field col-12 md:col-3">
|
||||
<label htmlFor="state">State</label>
|
||||
<Dropdown id="state" value={dropdownItem} onChange={(e) => setDropdownItem(e.value)} options={dropdownItems} optionLabel="name" placeholder="Select One"></Dropdown>
|
||||
</div>
|
||||
<div className="field col-12 md:col-3">
|
||||
<label htmlFor="zip">Zip</label>
|
||||
<InputText id="zip" type="text" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
export default FormLayoutDemo;
|
||||
Reference in New Issue
Block a user