first commit

This commit is contained in:
Inshal
2024-05-29 22:34:28 +05:00
commit e63fc41a20
1470 changed files with 174828 additions and 0 deletions

View File

@@ -0,0 +1,345 @@
<script setup>
const stateList = [
'Alabama',
'Alaska',
'Arizona',
'Arkansas',
'California',
'Colorado',
'Connecticut',
'Delaware',
'Florida',
'Georgia',
'Hawaii',
]
const radios = ref('home')
const deliveryOption = ref('standard')
const paymentMethod = ref('credit-debit-card')
const panel = ref(0)
const paymentMethods = [
{
radioValue: 'credit-debit-card',
radioLabel: 'Credit/Debit/ATM Card',
icon: 'ri-bank-card-line',
},
{
radioValue: 'cash-on-delivery',
radioLabel: 'Cash On Delivery',
icon: 'ri-question-line',
},
]
</script>
<template>
<VExpansionPanels v-model="panel">
<!-- SECTION Delivery Address -->
<VExpansionPanel>
<VExpansionPanelTitle>Delivery Address</VExpansionPanelTitle>
<VExpansionPanelText>
<VForm
class="pt-4 pb-2"
@submit.prevent="() => {}"
>
<VRow>
<!-- 👉 Full Name -->
<VCol
cols="12"
md="6"
>
<VTextField
label="Full Name"
placeholder="John Doe"
/>
</VCol>
<!-- 👉 Phone No -->
<VCol
cols="12"
md="6"
>
<VTextField
label="Phone No"
type="number"
placeholder="+1 123 456 7890"
/>
</VCol>
<!-- 👉 Address -->
<VCol cols="12">
<VTextarea
label="Address"
placeholder="1234 Main St, New York, NY 10001, USA"
rows="3"
/>
</VCol>
<!-- 👉 Pincode -->
<VCol
cols="12"
md="6"
>
<VTextField
label="Pincode"
placeholder="123456"
type="number"
/>
</VCol>
<!-- 👉 Landmark -->
<VCol
cols="12"
md="6"
>
<VTextField
label="Landmark"
placeholder="Near City Mall"
/>
</VCol>
<!-- 👉 City -->
<VCol
cols="12"
md="6"
>
<VTextField
label="City"
placeholder="New York"
/>
</VCol>
<!-- 👉 State -->
<VCol
cols="12"
md="6"
>
<VSelect
:items="stateList"
label="State"
placeholder="Select State"
/>
</VCol>
<!-- 👉 Address Type -->
<VCol cols="12">
<VLabel class="mb-3">
Address Type
</VLabel>
<VRadioGroup
v-model="radios"
inline
>
<div>
<VRadio
label="Home (All day delivery)"
value="home"
/>
<VRadio
label="Office (Delivery between 10 AM - 5 PM)"
value="office"
/>
</div>
</VRadioGroup>
</VCol>
</VRow>
</VForm>
</VExpansionPanelText>
</VExpansionPanel>
<!-- !SECTION Delivery Address -->
<!-- SECTION Delivery Options -->
<VExpansionPanel>
<VExpansionPanelTitle>Delivery Options</VExpansionPanelTitle>
<VExpansionPanelText>
<!-- 👉 Radio Group -->
<VRadioGroup
v-model="deliveryOption"
class="delivery-options pt-4 pb-2"
>
<div
class="delivery-option d-flex rounded-t"
:class="deliveryOption === 'standard' ? 'active' : ''"
@click="deliveryOption = 'standard'"
>
<VRadio
inline
value="standard"
class="mt-n4"
/>
<div class="w-100">
<div class="d-flex justify-space-between">
<h6 class="text-base font-weight-medium">
Standard 3-5 Days
</h6>
<h6 class="text-base font-weight-medium">
Free
</h6>
</div>
<span class="text-sm">Friday, 15 Nov - Monday, 18 Nov</span>
</div>
</div>
<div
class="delivery-option d-flex"
:class="deliveryOption === 'express' ? 'active' : ''"
@click="deliveryOption = 'express'"
>
<VRadio
inline
class="mt-n4"
value="express"
/>
<div class="w-100">
<div class="d-flex justify-space-between">
<h5 class="text-base font-weight-medium">
Express
</h5>
<h6 class="text-base font-weight-medium">
$5.00
</h6>
</div>
<span class="text-sm">Friday, 15 Nov - Sunday, 17 Nov</span>
</div>
</div>
<div
class="delivery-option d-flex rounded-b"
:class="deliveryOption === 'overnight' ? 'active' : ''"
@click="deliveryOption = 'overnight'"
>
<VRadio
inline
class="mt-n4"
value="overnight"
/>
<div class="w-100">
<div class="d-flex justify-space-between">
<h6 class="text-base font-weight-medium">
Overnight
</h6>
<h6 class="text-base font-weight-medium">
$10.00
</h6>
</div>
<span class="text-sm">Friday, 15 Nov - Saturday, 16 Nov</span>
</div>
</div>
</VRadioGroup>
</VExpansionPanelText>
</VExpansionPanel>
<!-- !SECTION Delivery Options -->
<!-- SECTION Payment Method -->
<VExpansionPanel>
<VExpansionPanelTitle>Payment Method</VExpansionPanelTitle>
<VExpansionPanelText>
<VRow>
<VCol
md="6"
cols="12"
>
<VForm class="pt-4 pb-2">
<!-- 👉 Payment Method -->
<div>
<VRadioGroup
v-model="paymentMethod"
inline
>
<div>
<VRadio
v-for="payment in paymentMethods"
:key="payment.radioValue"
:value="payment.radioValue"
>
<template #label>
<span class="me-1">{{ payment.radioLabel }}</span>
<VIcon
size="18"
:icon="payment.icon"
/>
</template>
</VRadio>
</div>
</VRadioGroup>
</div>
<VRow v-show="paymentMethod === 'credit-debit-card'">
<!-- 👉 Card Number -->
<VCol cols="12">
<VTextField
label="Card Number"
type="number"
placeholder="1234 5678 9012 3456"
/>
</VCol>
<!-- 👉 Name -->
<VCol
cols="12"
md="6"
>
<VTextField
label="Name"
placeholder="john doe"
/>
</VCol>
<!-- 👉 Expire Date -->
<VCol
cols="6"
md="3"
>
<VTextField
label="Expiry Date"
placeholder="MM/YY"
/>
</VCol>
<!-- 👉 CVV Code -->
<VCol
cols="6"
md="3"
>
<VTextField
label="CVV Code"
type="number"
max="3"
placeholder="123"
/>
</VCol>
</VRow>
</VForm>
</VCol>
</VRow>
<VDivider class="my-5" />
<!-- 👉 Place Order -->
<div class="d-flex gap-4">
<VBtn>Place Order</VBtn>
<VBtn
color="secondary"
variant="tonal"
>
Cancel
</VBtn>
</div>
</VExpansionPanelText>
</VExpansionPanel>
<!-- !SECTION Payment Method -->
</VExpansionPanels>
</template>
<style lang="scss">
.delivery-options {
cursor: pointer;
.v-selection-control-group {
inline-size: 100%;
}
}
.delivery-option {
padding: 1rem;
border: 1px solid rgba(var(--v-border-color), var(--v-border-opacity));
&.active {
border-color: rgb(var(--v-theme-primary));
}
}
</style>

View File

@@ -0,0 +1,91 @@
<script setup>
const username = ref('')
const email = ref('')
const password = ref()
const checkbox = ref(false)
const items = [
'foo',
'bar',
'fizz',
'buzz',
]
const values = ref([])
</script>
<template>
<VForm @submit.prevent="() => {}">
<VRow>
<VCol cols="12">
<!-- 👉 Username -->
<VTextField
v-model="username"
label="Username"
placeholder="Johndoe"
/>
</VCol>
<VCol cols="12">
<!-- 👉 Email -->
<VTextField
v-model="email"
label="Email"
type="email"
placeholder="johndoe@email.com"
/>
</VCol>
<VCol cols="12">
<!-- 👉 Password -->
<VTextField
v-model="password"
label="Password"
autocomplete="on"
type="password"
persistent-hint
placeholder="············"
hint="Your password must be 8-20 characters long."
/>
</VCol>
<VCol cols="12">
<!-- 👉 Autocomplete -->
<VAutocomplete
v-model="values"
:items="items"
chips
multiple
label="Autocomplete"
placeholder="Select"
/>
</VCol>
<VCol cols="12">
<!-- 👉 Checkbox -->
<VCheckbox
v-model="checkbox"
label="Remember me"
/>
</VCol>
<VCol
cols="12"
class="d-flex gap-4"
>
<!-- 👉 submit and reset button -->
<VBtn type="submit">
Submit
</VBtn>
<VBtn
color="secondary"
type="reset"
variant="tonal"
>
Reset
</VBtn>
</VCol>
</VRow>
</VForm>
</template>

View File

@@ -0,0 +1,377 @@
<script setup>
const radioContent = [
{
title: 'Standard',
desc: 'Delivery in 3-5 days.',
value: 'standard',
icon: 'ri-briefcase-line',
},
{
title: 'Express',
desc: 'Delivery within 2 days.',
value: 'express',
icon: 'ri-rocket-line',
},
{
title: 'Overnight',
desc: 'Delivery within a days.',
value: 'overnight',
icon: 'ri-vip-crown-line',
},
]
const promoCodeList = [
{
code: 'TAKEITALL',
desc: 'Apply this code to get 15% discount on orders above 20$.',
},
{
code: 'FESTIVE10',
desc: 'Apply this code to get 10% discount on all orders.',
},
{
code: 'MYSTERYDEAL',
desc: 'Apply this code to get discount between 10% - 50%.',
},
]
const formData = ref({
fullName: '',
email: '',
contactNumber: null,
altContactNumber: null,
address: '',
pincode: null,
Landmark: '',
city: '',
state: null,
defaultAddress: false,
addressType: 'home',
deliveryType: 'standard',
promoCode: '',
paymentMethod: 'card',
cardNumber: null,
cardName: '',
cardExDate: '',
cardCvv: '',
})
</script>
<template>
<VCard class="overflow-visible">
<div class="w-100 sticky-header overflow-hidden rounded-t">
<div class=" d-flex align-center gap-4 flex-wrap bg-custom-background pa-6">
<VCardTitle>Sticky Action Bar</VCardTitle>
<VSpacer />
<div>
<VBtn
variant="tonal"
class="me-4"
>
Back
</VBtn>
<VBtn>Place Order</VBtn>
</div>
</div>
</div>
<VCardText>
<VRow>
<VCol
md="8"
cols="12"
class="mx-auto"
>
<VForm>
<h2 class="text-lg font-weight-medium mb-6">
1. Delivery Address
</h2>
<VRow>
<VCol
cols="12"
md="6"
>
<VTextField
v-model="formData.fullName"
label="Full Name"
placeholder="John Doe"
/>
</VCol>
<VCol
cols="12"
md="6"
>
<VTextField
v-model="formData.email"
label="Email"
placeholder="john.doe"
suffix="@example.com"
/>
</VCol>
<VCol
cols="12"
md="6"
>
<VTextField
v-model="formData.contactNumber"
label="Contact Number"
placeholder="658 123 4567"
type="number"
/>
</VCol>
<VCol
cols="12"
md="6"
>
<VTextField
v-model="formData.altContactNumber"
label="Alternate Number"
placeholder="658 123 4567"
type="number"
/>
</VCol>
<VCol cols="12">
<VTextarea
v-model="formData.address"
label="Address"
placeholder="1456, Mall Road"
rows="2"
/>
</VCol>
<VCol
cols="12"
md="6"
>
<VTextField
v-model="formData.pincode"
label="Pincode"
placeholder="658468"
type="number"
/>
</VCol>
<VCol
cols="12"
md="6"
>
<VTextField
v-model="formData.Landmark"
label="Landmark"
placeholder="Nr. Wall Street"
/>
</VCol>
<VCol
cols="12"
md="6"
>
<VTextField
v-model="formData.city"
label="City"
placeholder="Jackson"
/>
</VCol>
<VCol
cols="12"
md="6"
>
<VSelect
v-model="formData.state"
label="State"
placeholder="California"
:items="['Alabama', 'Alaska', 'Arizona', 'Arkansas', 'California', 'Colorado', 'Connecticut', 'Delaware', 'Florida']"
/>
</VCol>
<VCol cols="12">
<VCheckbox
v-model="formData.defaultAddress"
label="Use this as default delivery address"
/>
</VCol>
<VCol cols="12">
<p class="text-high-emphasis text-base mb-1">
Address Type
</p>
<VRadioGroup
v-model="formData.addressType"
inline
>
<VRadio
label="Home (All day delivery)"
value="home"
/>
<VRadio
label="Office (Delivery between 10 AM - 5 PM)"
value="work"
/>
</VRadioGroup>
</VCol>
</VRow>
<VDivider class="my-4" />
<h2 class="text-lg font-weight-medium mb-6">
2. Delivery Type
</h2>
<CustomRadiosWithIcon
v-model:selected-radio="formData.deliveryType"
:radio-content="radioContent"
:grid-column="{ sm: '4', cols: '12' }"
/>
<VDivider class="my-4" />
<h2 class="text-lg font-weight-medium mb-6">
3. Apply Promo code
</h2>
<div class="d-flex align-center gap-4">
<VTextField
v-model="formData.promoCode"
density="compact"
placeholder="TAKEITALL"
/>
<VBtn>Apply</VBtn>
</div>
<div class="d-flex align-center gap-2 my-4">
<VDivider style="border-style: dashed;" />
<span>OR</span>
<VDivider style="border-style: dashed;" />
</div>
<VList
class="border rounded py-0"
lines="two"
>
<VListItem
v-for="(item, index) in promoCodeList"
:key="item.code"
:title="item.code"
:subtitle="item.desc"
:class="index !== 0 ? 'border-t' : ''"
>
<template #append>
<VBtn variant="outlined">
Apply
</VBtn>
</template>
</VListItem>
</VList>
<VDivider class="my-4" />
<h2 class="text-lg font-weight-medium mb-6">
4. Payment Method
</h2>
<VRadioGroup
v-model="formData.paymentMethod"
inline
class="mb-4"
>
<VRadio
value="card"
label="Credit/Debit/ATM Card"
/>
<VRadio
value="cash-on-delivery"
label="Cash On Delivery"
/>
</VRadioGroup>
<VRow v-show="formData.paymentMethod === 'card'">
<VCol cols="12">
<VTextField
label="Card Number"
placeholder="1356 3215 6548 7898"
/>
</VCol>
<VCol
cols="12"
md="6"
>
<VTextField
label="Name"
placeholder="John Doe"
/>
</VCol>
<VCol
cols="6"
md="3"
>
<VTextField
label="Exp. Date"
placeholder="MM/YY"
/>
</VCol>
<VCol
cols="6"
md="3"
>
<VTextField
label="CVV Code"
placeholder="654"
/>
</VCol>
</VRow>
<div v-show="formData.paymentMethod === 'cash-on-delivery'">
<p>
Cash on delivery is a mode of payment where you make the payment after the goods/services are received.
</p>
<p>You can pay cash or make the payment via debit/credit card directly to the delivery person.</p>
</div>
</VForm>
</VCol>
</VRow>
</VCardText>
</VCard>
</template>
<style lang="scss" scoped>
.sticky-header {
position: sticky;
z-index: 9;
transition: all 0.3s ease-in-out;
}
.layout-nav-type-vertical{
&.layout-navbar-sticky {
.sticky-header {
inset-block: 4rem 0;
}
}
&.layout-navbar-static{
.sticky-header {
inset-block: 0 0;
}
}
}
.layout-nav-type-horizontal{
&.horizontal-nav-static {
.sticky-header {
inset-block: 0 0;
}
}
&.layout-navbar-sticky:not(.horizontal-nav-static) {
.sticky-header{
inset-block: 7.7rem 0;
}
}
}
</style>

View File

@@ -0,0 +1,91 @@
<script setup>
const name = ref('')
const email = ref('')
const items = [
'Item 1',
'Item 2',
'Item 3',
'Item 4',
]
const select = ref()
const checkbox = ref(false)
const form = ref()
</script>
<template>
<VForm
ref="form"
lazy-validation
>
<VRow>
<VCol cols="12">
<VTextField
v-model="name"
:rules="[requiredValidator]"
label="Name"
placeholder="John Doe"
required
/>
</VCol>
<VCol cols="12">
<VTextField
v-model="email"
:rules="[emailValidator, requiredValidator]"
label="E-mail"
placeholder="johndoe@email.com"
required
/>
</VCol>
<VCol cols="12">
<VSelect
v-model="select"
:items="items"
:rules="[requiredValidator]"
placeholder="Select an Item"
label="Item"
name="select"
require
/>
</VCol>
<VCol cols="12">
<VCheckbox
v-model="checkbox"
:rules="[requiredValidator]"
label="Do you agree?"
required
/>
</VCol>
<VCol
cols="12"
class="d-flex flex-wrap gap-4"
>
<VBtn
color="success"
@click="form?.validate()"
>
Validate
</VBtn>
<VBtn
color="error"
@click="form?.reset()"
>
Reset Form
</VBtn>
<VBtn
color="warning"
@click="form?.resetValidation()"
>
Reset Validation
</VBtn>
</VCol>
</VRow>
</VForm>
</template>

View File

@@ -0,0 +1,278 @@
<script setup>
const tab = ref('personal-info')
const firstName = ref('')
const lastName = ref('')
const country = ref()
const birthDate = ref('')
const phoneNo = ref()
const countryList = [
'USA',
'Canada',
'UK',
'Denmark',
'Germany',
'Iceland',
'Israel',
'Mexico',
]
const languageList = [
'English',
'German',
'French',
'Spanish',
'Portuguese',
'Russian',
'Korean',
]
const username = ref('')
const email = ref('')
const password = ref('')
const cPassword = ref('')
const twitterLink = ref('')
const facebookLink = ref('')
const googlePlusLink = ref('')
const linkedInLink = ref('')
const instagramLink = ref('')
const quoraLink = ref('')
const languages = ref([])
const isPasswordVisible = ref(false)
const isCPasswordVisible = ref(false)
</script>
<template>
<VTabs v-model="tab">
<VTab value="personal-info">
Personal Info
</VTab>
<VTab value="account-details">
Account Details
</VTab>
<VTab value="social-links">
Social Links
</VTab>
</VTabs>
<VCard flat>
<VCardText>
<VWindow
v-model="tab"
class="disable-tab-transition"
>
<VWindowItem value="personal-info">
<VForm class="mt-2">
<VRow>
<VCol
md="6"
cols="12"
>
<VTextField
v-model="firstName"
label="First name"
placeholder="John"
/>
</VCol>
<VCol
md="6"
cols="12"
>
<VTextField
v-model="lastName"
label="Last name"
placeholder="Doe"
/>
</VCol>
<VCol
cols="12"
md="6"
>
<VSelect
v-model="country"
:items="countryList"
label="Country"
placeholder="Select Country"
/>
</VCol>
<VCol
cols="12"
md="6"
>
<VSelect
v-model="languages"
:items="languageList"
multiple
chips
clearable
label="Language"
placeholder="Select Language"
/>
</VCol>
<VCol
cols="12"
md="6"
>
<AppDateTimePicker
v-model="birthDate"
label="Birth Date"
placeholder="Select Birth Date"
/>
</VCol>
<VCol
cols="12"
md="6"
>
<VTextField
v-model="phoneNo"
type="number"
label="Phone No."
placeholder="+1 123 456 7890"
/>
</VCol>
</VRow>
</VForm>
</VWindowItem>
<VWindowItem value="account-details">
<VForm class="mt-2">
<VRow>
<VCol
cols="12"
md="6"
>
<VTextField
v-model="username"
label="Username"
placeholder="Johndoe"
/>
</VCol>
<VCol
cols="12"
md="6"
>
<VTextField
v-model="email"
label="Email"
suffix="@example.com"
placeholder="johndoe@email.com"
/>
</VCol>
<VCol
cols="12"
md="6"
>
<VTextField
v-model="password"
label="Password"
placeholder="············"
:type="isPasswordVisible ? 'text' : 'password'"
:append-inner-icon="isPasswordVisible ? 'ri-eye-off-line' : 'ri-eye-line'"
@click:append-inner="isPasswordVisible = !isPasswordVisible"
/>
</VCol>
<VCol
cols="12"
md="6"
>
<VTextField
v-model="cPassword"
label="Confirm Password"
placeholder="············"
:type="isCPasswordVisible ? 'text' : 'password'"
:append-inner-icon="isCPasswordVisible ? 'ri-eye-off-line' : 'ri-eye-line'"
@click:append-inner="isCPasswordVisible = !isCPasswordVisible"
/>
</VCol>
</VRow>
</VForm>
</VWindowItem>
<VWindowItem value="social-links">
<VForm class="mt-2">
<VRow>
<VCol
cols="12"
md="6"
>
<VTextField
v-model="twitterLink"
label="Twitter"
placeholder="https://twitter.com/username"
/>
</VCol>
<VCol
cols="12"
md="6"
>
<VTextField
v-model="facebookLink"
label="Facebook"
placeholder="https://facebook.com/username"
/>
</VCol>
<VCol
cols="12"
md="6"
>
<VTextField
v-model="googlePlusLink"
label="Google+"
placeholder="https://plus.google.com/username"
/>
</VCol>
<VCol
cols="12"
md="6"
>
<VTextField
v-model="linkedInLink"
label="LinkedIn"
placeholder="https://linkedin.com/username"
/>
</VCol>
<VCol
cols="12"
md="6"
>
<VTextField
v-model="instagramLink"
label="Instagram"
placeholder="https://instagram.com/username"
/>
</VCol>
<VCol
cols="12"
md="6"
>
<VTextField
v-model="quoraLink"
label="Quora"
placeholder="https://quora.com/username"
/>
</VCol>
</VRow>
</VForm>
</VWindowItem>
</VWindow>
</VCardText>
<VDivider />
<VCardText class="d-flex gap-4">
<VBtn>Submit</VBtn>
<VBtn
color="secondary"
variant="tonal"
>
Cancel
</VBtn>
</VCardText>
</VCard>
</template>

View File

@@ -0,0 +1,143 @@
<script setup>
const firstName = ref('')
const email = ref('')
const mobile = ref()
const password = ref()
const checkbox = ref(false)
</script>
<template>
<VForm @submit.prevent="() => {}">
<VRow>
<VCol cols="12">
<VRow no-gutters>
<!-- 👉 First Name -->
<VCol
cols="12"
md="3"
>
<label for="firstName">First Name</label>
</VCol>
<VCol
cols="12"
md="9"
>
<VTextField
id="firstName"
v-model="firstName"
placeholder="John"
persistent-placeholder
/>
</VCol>
</VRow>
</VCol>
<VCol cols="12">
<VRow no-gutters>
<!-- 👉 Email -->
<VCol
cols="12"
md="3"
>
<label for="email">Email</label>
</VCol>
<VCol
cols="12"
md="9"
>
<VTextField
id="email"
v-model="email"
placeholder="johndoe@email.com"
persistent-placeholder
/>
</VCol>
</VRow>
</VCol>
<VCol cols="12">
<VRow no-gutters>
<!-- 👉 Mobile -->
<VCol
cols="12"
md="3"
>
<label for="mobile">Mobile</label>
</VCol>
<VCol
cols="12"
md="9"
>
<VTextField
id="mobile"
v-model="mobile"
type="number"
placeholder="+1 123 456 7890"
persistent-placeholder
/>
</VCol>
</VRow>
</VCol>
<VCol cols="12">
<VRow no-gutters>
<!-- 👉 Password -->
<VCol
cols="12"
md="3"
>
<label for="password">Password</label>
</VCol>
<VCol
cols="12"
md="9"
>
<VTextField
id="password"
v-model="password"
autocomplete="on"
type="password"
placeholder="············"
persistent-placeholder
/>
</VCol>
</VRow>
</VCol>
<!-- 👉 Remember me -->
<VCol
offset-md="3"
cols="12"
md="9"
>
<VCheckbox
v-model="checkbox"
label="Remember me"
/>
</VCol>
<!-- 👉 submit and reset button -->
<VCol
offset-md="3"
cols="12"
md="9"
class="d-flex gap-4"
>
<VBtn type="submit">
Submit
</VBtn>
<VBtn
color="secondary"
variant="tonal"
type="reset"
>
Reset
</VBtn>
</VCol>
</VRow>
</VForm>
</template>

View File

@@ -0,0 +1,147 @@
<script setup>
const firstName = ref('')
const email = ref('')
const mobile = ref()
const password = ref()
const checkbox = ref(false)
</script>
<template>
<VForm @submit.prevent="() => {}">
<VRow>
<!-- 👉 First Name -->
<VCol cols="12">
<VRow no-gutters>
<VCol
cols="12"
md="3"
>
<label for="firstNameHorizontalIcons">First Name</label>
</VCol>
<VCol
cols="12"
md="9"
>
<VTextField
id="firstNameHorizontalIcons"
v-model="firstName"
prepend-inner-icon="ri-user-line"
placeholder="John"
persistent-placeholder
/>
</VCol>
</VRow>
</VCol>
<!-- 👉 Email -->
<VCol cols="12">
<VRow no-gutters>
<VCol
cols="12"
md="3"
>
<label for="emailHorizontalIcons">Email</label>
</VCol>
<VCol
cols="12"
md="9"
>
<VTextField
id="emailHorizontalIcons"
v-model="email"
prepend-inner-icon="ri-mail-line"
placeholder="johndoe@email.com"
persistent-placeholder
/>
</VCol>
</VRow>
</VCol>
<!-- 👉 Mobile -->
<VCol cols="12">
<VRow no-gutters>
<VCol
cols="12"
md="3"
>
<label for="mobileHorizontalIcons">Mobile</label>
</VCol>
<VCol
cols="12"
md="9"
>
<VTextField
id="mobileHorizontalIcons"
v-model="mobile"
type="number"
prepend-inner-icon="ri-smartphone-line"
placeholder="+1 123 456 7890"
persistent-placeholder
/>
</VCol>
</VRow>
</VCol>
<!-- 👉 Password -->
<VCol cols="12">
<VRow no-gutters>
<VCol
cols="12"
md="3"
>
<label for="passwordHorizontalIcons">Password</label>
</VCol>
<VCol
cols="12"
md="9"
>
<VTextField
id="passwordHorizontalIcons"
v-model="password"
prepend-inner-icon="ri-lock-line"
autocomplete="on"
type="password"
placeholder="············"
persistent-placeholder
/>
</VCol>
</VRow>
</VCol>
<!-- 👉 Checkbox -->
<VCol
offset-md="3"
cols="12"
md="9"
>
<VCheckbox
v-model="checkbox"
label="Remember me"
/>
</VCol>
<!-- 👉 submit and reset button -->
<VCol
offset-md="3"
cols="12"
md="9"
class="d-flex gap-4"
>
<VBtn type="submit">
Submit
</VBtn>
<VBtn
color="secondary"
type="reset"
variant="tonal"
>
Reset
</VBtn>
</VCol>
</VRow>
</VForm>
</template>

View File

@@ -0,0 +1,112 @@
<script setup>
const firstName = ref('')
const lastName = ref('')
const city = ref('')
const country = ref('')
const company = ref('')
const email = ref('')
const checkbox = ref(false)
</script>
<template>
<VForm @submit.prevent="() => {}">
<VRow>
<!-- 👉 First Name -->
<VCol
cols="12"
md="6"
>
<VTextField
v-model="firstName"
label="First Name"
placeholder="John"
/>
</VCol>
<!-- 👉 Last Name -->
<VCol
cols="12"
md="6"
>
<VTextField
v-model="lastName"
label="Last Name"
placeholder="Doe"
/>
</VCol>
<!-- 👉 Email -->
<VCol
cols="12"
md="6"
>
<VTextField
v-model="email"
label="Email"
placeholder="johndoe@email.com"
/>
</VCol>
<!-- 👉 City -->
<VCol
cols="12"
md="6"
>
<VTextField
v-model="city"
label="City"
placeholder="New York"
/>
</VCol>
<!-- 👉 Country -->
<VCol
cols="12"
md="6"
>
<VTextField
v-model="country"
label="Country"
placeholder="United States"
/>
</VCol>
<!-- 👉 Company -->
<VCol
cols="12"
md="6"
>
<VTextField
v-model="company"
label="Company"
placeholder="Themeselection"
/>
</VCol>
<!-- 👉 Remember me -->
<VCol cols="12">
<VCheckbox
v-model="checkbox"
label="Remember me"
/>
</VCol>
<VCol
cols="12"
class="d-flex gap-4"
>
<VBtn type="submit">
Submit
</VBtn>
<VBtn
type="reset"
color="secondary"
variant="tonal"
>
Reset
</VBtn>
</VCol>
</VRow>
</VForm>
</template>

View File

@@ -0,0 +1,73 @@
<script setup>
const firstName = ref('')
const email = ref('')
const mobile = ref('')
const password = ref()
const checkbox = ref(false)
</script>
<template>
<VForm @submit.prevent="() => {}">
<VRow>
<VCol cols="12">
<VTextField
v-model="firstName"
label="First Name"
placeholder="John"
/>
</VCol>
<VCol cols="12">
<VTextField
v-model="email"
label="Email"
type="email"
placeholder="johndoe@example.com"
/>
</VCol>
<VCol cols="12">
<VTextField
v-model="mobile"
label="Mobile"
placeholder="+1 123 456 7890"
type="number"
/>
</VCol>
<VCol cols="12">
<VTextField
v-model="password"
label="Password"
autocomplete="on"
type="password"
placeholder="············"
/>
</VCol>
<VCol cols="12">
<VCheckbox
v-model="checkbox"
label="Remember me"
/>
</VCol>
<VCol
cols="12"
class="d-flex gap-4"
>
<VBtn type="submit">
Submit
</VBtn>
<VBtn
type="reset"
color="secondary"
variant="tonal"
>
Reset
</VBtn>
</VCol>
</VRow>
</VForm>
</template>

View File

@@ -0,0 +1,76 @@
<script setup>
const firstName = ref('')
const email = ref('')
const mobile = ref('')
const password = ref()
const checkbox = ref(false)
</script>
<template>
<VForm @submit.prevent>
<VRow>
<VCol cols="12">
<VTextField
v-model="firstName"
prepend-inner-icon="ri-user-line"
label="First Name"
placeholder="John"
/>
</VCol>
<VCol cols="12">
<VTextField
v-model="email"
prepend-inner-icon="ri-mail-line"
label="Email"
type="email"
placeholder="johndoe@example.com"
/>
</VCol>
<VCol cols="12">
<VTextField
v-model="mobile"
prepend-inner-icon="ri-smartphone-line"
label="Mobile"
placeholder="+1 123 456 7890"
/>
</VCol>
<VCol cols="12">
<VTextField
v-model="password"
prepend-inner-icon="ri-lock-line"
label="Password"
autocomplete="on"
type="password"
placeholder="············"
/>
</VCol>
<VCol cols="12">
<VCheckbox
v-model="checkbox"
label="Remember me"
/>
</VCol>
<VCol cols="12">
<VBtn
type="submit"
class="me-4"
>
Submit
</VBtn>
<VBtn
color="secondary"
type="reset"
variant="tonal"
>
Reset
</VBtn>
</VCol>
</VRow>
</VForm>
</template>

File diff suppressed because it is too large Load Diff