| Install | |
|---|---|
composer require mrshanebarron/calendar |
|
| Latest Version: | v1.0.2 |
| PHP: | ^8.1 |
A date picker calendar component for Laravel applications. Month view with date selection. Works with Livewire and Vue 3.
composer require mrshanebarron/calendar
<livewire:sb-calendar wire:model="selectedDate" />
<livewire:sb-calendar wire:model="date" />
<p>Selected: {{ $date }}</p>
| Prop | Type | Default | Description |
|---|---|---|---|
wire:model |
string | - | Selected date (YYYY-MM-DD format) |
import { SbCalendar } from './vendor/sb-calendar';
app.component('SbCalendar', SbCalendar);
<template>
<SbCalendar v-model="selectedDate" />
<p v-if="selectedDate">Selected: {{ selectedDate }}</p>
</template>
<script setup>
import { ref } from 'vue';
const selectedDate = ref(null);
</script>
<template>
<SbCalendar v-model="selectedDate" />
</template>
<script setup>
import { ref } from 'vue';
// Pre-select today
const selectedDate = ref(new Date().toISOString().split('T')[0]);
</script>
<template>
<form @submit.prevent="submit">
<div class="space-y-4">
<div>
<label class="block text-sm font-medium mb-1">Event Date</label>
<SbCalendar v-model="form.date" />
</div>
<div>
<label class="block text-sm font-medium mb-1">Event Name</label>
<input v-model="form.name" type="text" class="w-full border rounded px-3 py-2" />
</div>
<button type="submit" class="px-4 py-2 bg-blue-600 text-white rounded">
Create Event
</button>
</div>
</form>
</template>
<script setup>
import { ref } from 'vue';
const form = ref({
date: null,
name: ''
});
const submit = () => {
console.log('Creating event on:', form.value.date);
};
</script>
| Prop | Type | Default | Description |
|---|---|---|---|
modelValue |
String | - | Selected date in YYYY-MM-DD format |
| Event | Payload | Description |
|---|---|---|
update:modelValue |
string |
Emitted when date is selected |
The component uses ISO date format: YYYY-MM-DD
Examples:
2024-01-15 (January 15, 2024)2024-12-25 (December 25, 2024)Uses Tailwind CSS:
MIT License