add times to vehicle reservation

This commit is contained in:
Arnaud Delcasse 2025-12-02 08:30:56 +01:00
parent bf15e114f3
commit 702cbf67f1
5 changed files with 67 additions and 271 deletions

View File

@ -132,14 +132,14 @@
</div>
{{end}}
<div class="py-4 sm:py-5 sm:grid sm:grid-cols-3 sm:gap-4">
<dt class="text-sm font-medium text-gray-500">Date de récupération</dt>
<dt class="text-sm font-medium text-gray-500">Date et heure de prise en charge</dt>
<dd class="mt-1 text-sm text-gray-900 sm:mt-0 sm:col-span-2">{{(timeFrom .ViewState.booking.Startdate).Format
"02/01/2006"}}</dd>
"02/01/2006 à 15:04"}}</dd>
</div>
<div class="py-4 sm:py-5 sm:grid sm:grid-cols-3 sm:gap-4">
<dt class="text-sm font-medium text-gray-500">Date de retour</dt>
<dt class="text-sm font-medium text-gray-500">Date et heure de restitution</dt>
<dd class="mt-1 text-sm text-gray-900 sm:mt-0 sm:col-span-2">{{(timeFrom .ViewState.booking.Enddate).Format
"02/01/2006"}}</dd>
"02/01/2006 à 15:04"}}</dd>
</div>
<div>
<p class="text-sm font-medium text-gray-500 my-4">Documents</p>

View File

@ -21,9 +21,8 @@
<div class="bg-white shadow sm:rounded-2xl">
<h2 id="timeline-title" class="text-lg font-medium text-gray-900 p-4 sm:px-6">Chercher un véhicule</h2>
<div class="border-t border-gray-200 px-4 py-5 sm:px-6">
<form method="GET">
<div x-data="{
<form method="GET" x-data="{
beneficiarySelected: {{if .ViewState.search}}true{{else}}false{{end}},
text: '{{if .ViewState.search}}{{.ViewState.search.beneficiary.Data.first_name}} {{.ViewState.search.beneficiary.Data.last_name}}{{end}}',
beneficiariesListOpen: false,
beneficiaries: {{json .ViewState.beneficiaries}},
@ -37,13 +36,16 @@
beneficiaryid: {{if .ViewState.search}}'{{.ViewState.search.beneficiary.ID}}'{{else}}null{{end}},
},
selectbeneficiary(beneficiary) {
this.fields.beneficiaryid = beneficiary.id
this.fields.beneficiaryid = beneficiary.id
this.text = beneficiary.data.first_name + ' ' + beneficiary.data.last_name
this.beneficiariesListOpen = false
this.beneficiarySelected = true
},
}">
}" @submit="if(!beneficiarySelected) { $event.preventDefault(); alert('Veuillez sélectionner un bénéficiaire'); }">
<div>
<input type="hidden" name="beneficiaryid" x-model="fields.beneficiaryid">
<label for="combobox" class="block text-sm font-medium text-gray-700">Bénéficiaire</label>
<label for="combobox" class="block text-sm font-medium text-gray-700">Bénéficiaire <span class="text-red-600">*</span></label>
<div class="relative mt-1 mb-4">
<input autocomplete="off" @focus="beneficiariesListOpen = true" x-model="text" id="combobox" type="text" class="w-full rounded-2xl border border-gray-300 bg-white py-2 pl-3 pr-12 shadow-sm focus:border-co-blue focus:outline-none focus:ring-1 focus:ring-co-blue sm:text-sm" role="combobox" aria-controls="options" aria-expanded="false">
@ -89,20 +91,36 @@
{{ template "address_autocomplete" dict "FieldName" $fieldName }} -->
<div class="py-4 grid grid-cols-2">
<div class="lg:col-span-1">
<label for="startdate" class="block text-sm font-medium text-gray-700">Du</label>
<label for="startdate" class="block text-sm font-medium text-gray-700">Du <span class="text-red-600">*</span></label>
<div class="mt-1">
<input type="date" id="startdate" name="startdate" value="{{.ViewState.search.startdate}}"
<input type="date" id="startdate" name="startdate" value="{{if .ViewState.search}}{{(timeFrom .ViewState.search.startdate).Format "2006-01-02"}}{{end}}" required
class="shadow-sm focus:ring-co-blue focus:border-co-blue block w-full sm:text-sm border-gray-300 rounded-l-2xl border-r-1">
</div>
</div>
<div class="lg:col-span-1">
<label for="enddate" class="block text-sm font-medium text-gray-700">Au</label>
<label for="enddate" class="block text-sm font-medium text-gray-700">Au <span class="text-red-600">*</span></label>
<div class="mt-1">
<input type="date" id="enddate" name="enddate" value="{{.ViewState.search.enddate}}"
<input type="date" id="enddate" name="enddate" value="{{if .ViewState.search}}{{(timeFrom .ViewState.search.enddate).Format "2006-01-02"}}{{end}}" required
class="shadow-sm focus:ring-co-blue focus:border-co-blue block w-full sm:text-sm border-gray-300 rounded-r-2xl border-l-0">
</div>
</div>
</div>
<div class="py-4 grid grid-cols-2 gap-4">
<div class="lg:col-span-1">
<label for="starttime" class="block text-sm font-medium text-gray-700">Prise en charge</label>
<div class="mt-1">
<input type="time" id="starttime" name="starttime" value="{{if .ViewState.search}}{{(timeFrom .ViewState.search.startdate).Format "15:04"}}{{else}}09:00{{end}}"
class="shadow-sm focus:ring-co-blue focus:border-co-blue block w-full sm:text-sm border-gray-300 rounded-2xl">
</div>
</div>
<div class="lg:col-span-1">
<label for="endtime" class="block text-sm font-medium text-gray-700">Restitution</label>
<div class="mt-1">
<input type="time" id="endtime" name="endtime" value="{{if .ViewState.search}}{{(timeFrom .ViewState.search.enddate).Format "15:04"}}{{else}}18:00{{end}}"
class="shadow-sm focus:ring-co-blue focus:border-co-blue block w-full sm:text-sm border-gray-300 rounded-2xl">
</div>
</div>
</div>
<div class="py-4"
x-data="{
@ -147,20 +165,6 @@
<div class="lg:col-start-2 lg:col-span-2">
{{if .ViewState.searched}}
<div class="bg-white px-4 py-5 shadow sm:rounded-2xl sm:px-6">
<h2 id="timeline-title" class="text-lg font-medium text-gray-900">Documents demandés</h2>
<table>
<tbody>
{{range .ViewState.search.mandatory_documents}}
<tr>
<td class="whitespace-nowrap py-4 px-3 text-sm text-gray-500">
{{index $.ViewState.search.file_types_map .}}
</td>
</tr>
{{end}}
</tbody>
</table>
</div>
<div class="bg-white mt-8 px-4 py-5 shadow sm:rounded-2xl sm:px-6">
<h2 id="timeline-title" class="text-lg font-medium text-gray-900">Véhicules disponibles</h2>
<div class="mt-8 flex flex-col">
<div class="-my-2 -mx-4 overflow-x-auto sm:-mx-6 lg:-mx-8">
@ -169,7 +173,6 @@
<thead>
<tr>
<th scope="col" class="py-3.5 pl-4 pr-3 text-left text-sm font-semibold text-gray-900 sm:pl-6 md:pl-0">Véhicule</th>
<th scope="col" class="py-3.5 px-3 text-left text-sm font-semibold text-gray-900">Numéro</th>
<th scope="col" class="py-3.5 px-3 text-left text-sm font-semibold text-gray-900">Gestionnaire</th>
<th scope="col" class="py-3.5 px-3 text-left text-sm font-semibold text-gray-900">Lieu</th>
<th scope="col" class="relative py-3.5 pl-3 pr-4 sm:pr-6 md:pr-0">
@ -180,7 +183,7 @@
<tbody class="divide-y divide-gray-200">
{{range .ViewState.search.vehicles}}
<tr>
<td class="whitespace-nowrap py-4 pl-4 pr-3 text-sm font-medium text-gray-900 sm:pl-6 md:pl-0">
<td class="py-4 pl-4 pr-3 text-sm font-medium text-gray-900 sm:pl-6 md:pl-0">
<div class="font-medium text-gray-900">{{.Data.name}}</div>
<div class="text-gray-500">
{{.Type}}
@ -188,10 +191,12 @@
{{ if .Data.automatic}} (boite auto){{ end }}
{{end}}
</div>
{{if .Data.licence_plate}}
<div class="text-gray-500 text-xs mt-1">{{.Data.licence_plate}}</div>
{{end}}
</td>
<td class="whitespace-nowrap py-4 px-3 text-sm text-gray-500">{{.Data.licence_plate}}</td>
<td class="whitespace-nowrap py-4 px-3 text-sm text-gray-500">{{(index $.ViewState.search.admingroups (index .Administrators 0)).Data.name}}</td>
<td class="whitespace-nowrap py-4 px-3 text-sm text-gray-500">{{if .Data.address}}{{.Data.address.properties.label}}{{end}}</td>
<td class="py-4 px-3 text-sm text-gray-500">{{if .Data.address}}{{.Data.address.properties.label}}{{end}}</td>
<td class="relative whitespace-nowrap py-4 pl-3 pr-4 text-right text-sm font-medium sm:pr-6 md:pr-0"
x-data="{
documentsdialog: false
@ -216,7 +221,7 @@
</div>
</div>
</div>
<form enctype="multipart/form-data" method="POST" action="/app/vehicles/v/{{.ID}}/b/{{$.ViewState.search.beneficiary.ID}}?startdate={{$.ViewState.search.startdate}}&enddate={{$.ViewState.search.enddate}}">
<form enctype="multipart/form-data" method="POST" action="/app/vehicles/v/{{.ID}}/b/{{$.ViewState.search.beneficiary.ID}}?startdate={{(timeFrom $.ViewState.search.startdate).Format "2006-01-02"}}&enddate={{(timeFrom $.ViewState.search.enddate).Format "2006-01-02"}}&starttime={{(timeFrom $.ViewState.search.startdate).Format "15:04"}}&endtime={{(timeFrom $.ViewState.search.enddate).Format "15:04"}}">
{{range $.ViewState.search.mandatory_documents}}
{{$type := .}}
<div class="p-2"

View File

@ -78,11 +78,14 @@
</div>
{{end}}
</td>
<td class="whitespace-nowrap py-4 pl-4 pr-3 text-sm sm:pl-6">
<td class="py-4 pl-4 pr-3 text-sm sm:pl-6">
{{if .Data.administrator_unavailability}}
<div class="text-gray-900" >Retiré du {{(timeFrom .Unavailablefrom).Format "02/01/2006"}} au {{(timeFrom .Unavailableto).Format "02/01/2006"}}</div>
{{else}}
<div class="text-gray-900" >Du {{(timeFrom .Startdate).Format "02/01/2006"}} au {{(timeFrom .Enddate).Format "02/01/2006"}}</div>
<div class="text-gray-900" >
<div>Du {{(timeFrom .Startdate).Format "02/01/2006 à 15:04"}}</div>
<div>au {{(timeFrom .Enddate).Format "02/01/2006 à 15:04"}}</div>
</div>
{{end}}
</td>
<td class="whitespace-nowrap py-4 pl-4 pr-3 text-sm sm:pl-6">

View File

@ -39,6 +39,11 @@
<div class="text-center">
<h3 class="text-lg font-medium leading-6 text-gray-900" id="modal-title">Changer de véhicule</h3>
</div>
{{if eq (len .ViewState.alternative_vehicles) 0}}
<div class="mt-4 text-center">
<p class="text-sm text-gray-500">Aucun véhicule disponible pour les dates de cette réservation.</p>
</div>
{{else}}
<form method="POST" action="/app/vehicles-management/bookings/{{.ViewState.booking.ID}}/change-vehicle" class="mt-4" @submit="submitSelectedvehicle">
<select x-model="selectedvehicle" id="vehicle" name="vehicle" class="mt-1 block w-full rounded-2xl border-gray-300 py-2 pl-3 pr-10 text-base focus:border-co-blue focus:outline-none focus:ring-co-blue sm:text-sm">
<option value=""></option>
@ -50,6 +55,7 @@
<button type="submit" class="inline-flex w-full justify-center rounded-2xl border border-transparent bg-co-blue px-4 py-2 text-base font-medium text-white shadow-sm hover:bg-co-blue focus:outline-none focus:ring-2 focus:ring-co-blue focus:ring-offset-2 sm:text-sm">Changer de véhicule</button>
</div>
</form>
{{end}}
<div class="mt-5 sm:mt-6">
<button @click="changeVehicle=false" type="button" class="inline-flex w-full justify-center max-w-xs bg-white hover:bg-gray-50 border-gray-300 border px-4 py-2 text-gray-700 items-center text-sm rounded-2xl focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-co-blue">Annuler</button>
</div>
@ -212,44 +218,48 @@
</div>
{{end}}
<div class="py-4 sm:py-5 sm:grid sm:grid-cols-3 sm:gap-4">
<dt class="text-sm font-medium text-gray-500">Date de récupération</dt>
<dd class="mt-1 text-sm text-gray-900 sm:mt-0 sm:col-span-2 inline-flex"
<dt class="text-sm font-medium text-gray-500">Date et heure de prise en charge</dt>
<dd class="mt-1 text-sm text-gray-900 sm:mt-0 sm:col-span-2"
x-data="{ updateOpen: false }">
<div class="w-full inline-flex" x-show="!updateOpen">
<div class="flex-1">{{(timeFrom .ViewState.booking.Startdate).Format "02/01/2006"}}</div>
<div class="flex-1">{{(timeFrom .ViewState.booking.Startdate).Format "02/01/2006 à 15:04"}}</div>
{{if (not .ViewState.booking.Deleted)}}
<a href="#" class="text-co-blue hover:text-co-blue ml-5" @click="updateOpen = ! updateOpen">Modifier</a>
{{end}}
</div>
<form method="POST" class="inline-flex" x-show="updateOpen">
<div class="flex-1">
<form method="POST" class="inline-flex flex-col gap-2" x-show="updateOpen">
<div class="flex gap-2">
<input type="date" name="startdate" value="{{(timeFrom .ViewState.booking.Startdate).Format "2006-01-02"}}"
class="shadow-sm focus:ring-co-blue focus:border-co-blue block sm:text-sm border-gray-300 rounded-2xl">
<input type="time" name="starttime" value="{{(timeFrom .ViewState.booking.Startdate).Format "15:04"}}"
class="shadow-sm focus:ring-co-blue focus:border-co-blue block sm:text-sm border-gray-300 rounded-2xl">
</div>
<button
class=" justify-center text-co-blue px-4">
<button
class="justify-center text-co-blue px-4 self-start">
OK
</button>
</form>
</dd>
</div>
<div class="py-4 sm:py-5 sm:grid sm:grid-cols-3 sm:gap-4">
<dt class="text-sm font-medium text-gray-500">Date de retour</dt>
<dt class="text-sm font-medium text-gray-500">Date et heure de restitution</dt>
<dd class="mt-1 text-sm text-gray-900 sm:mt-0 sm:col-span-2"
x-data="{ updateOpen: false }">
<div class="w-full inline-flex" x-show="!updateOpen">
<div class="flex-1">{{(timeFrom .ViewState.booking.Enddate).Format "02/01/2006"}}</div>
<div class="flex-1">{{(timeFrom .ViewState.booking.Enddate).Format "02/01/2006 à 15:04"}}</div>
{{if (not .ViewState.booking.Deleted)}}
<a href="#" class="text-co-blue hover:text-co-blue ml-5" @click="updateOpen = ! updateOpen">Modifier</a>
{{end}}
</div>
<form method="POST" class="inline-flex" x-show="updateOpen">
<div class="flex-1">
<form method="POST" class="inline-flex flex-col gap-2" x-show="updateOpen">
<div class="flex gap-2">
<input type="date" name="enddate" value="{{(timeFrom .ViewState.booking.Enddate).Format "2006-01-02"}}"
class="shadow-sm focus:ring-co-blue focus:border-co-blue block sm:text-sm border-gray-300 rounded-2xl">
<input type="time" name="endtime" value="{{(timeFrom .ViewState.booking.Enddate).Format "15:04"}}"
class="shadow-sm focus:ring-co-blue focus:border-co-blue block sm:text-sm border-gray-300 rounded-2xl">
</div>
<button
class=" justify-center text-co-blue px-4">
<button
class="justify-center text-co-blue px-4 self-start">
OK
</button>
</form>

View File

@ -6,20 +6,14 @@
"Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
"Courier New", monospace;
--color-red-50: oklch(0.971 0.013 17.38);
--color-red-100: oklch(0.936 0.032 17.717);
--color-red-500: oklch(0.637 0.237 25.331);
--color-red-600: oklch(0.577 0.245 27.325);
--color-red-700: oklch(0.505 0.213 27.518);
--color-red-800: oklch(0.444 0.177 26.899);
--color-red-900: oklch(0.396 0.141 25.723);
--color-orange-50: oklch(0.98 0.016 73.684);
--color-orange-200: oklch(0.901 0.076 70.697);
--color-yellow-50: oklch(0.987 0.026 102.212);
--color-yellow-100: oklch(0.973 0.071 103.193);
--color-yellow-800: oklch(0.476 0.114 61.907);
--color-green-100: oklch(0.962 0.044 156.743);
--color-green-500: oklch(0.723 0.219 149.579);
--color-green-600: oklch(0.627 0.194 149.214);
--color-green-800: oklch(0.448 0.119 151.328);
--color-blue-50: oklch(0.97 0.014 254.604);
@ -32,13 +26,6 @@
--color-indigo-50: oklch(0.962 0.018 272.314);
--color-indigo-500: oklch(0.585 0.233 277.117);
--color-indigo-600: oklch(0.511 0.262 276.966);
--color-purple-50: oklch(0.977 0.014 308.299);
--color-purple-100: oklch(0.946 0.033 307.174);
--color-purple-200: oklch(0.902 0.063 306.703);
--color-purple-500: oklch(0.627 0.265 303.9);
--color-purple-600: oklch(0.558 0.288 302.321);
--color-purple-700: oklch(0.496 0.265 301.924);
--color-purple-800: oklch(0.438 0.218 303.724);
--color-gray-50: oklch(0.985 0.002 247.839);
--color-gray-100: oklch(0.967 0.003 264.542);
--color-gray-200: oklch(0.928 0.006 264.531);
@ -353,15 +340,9 @@
.z-10 {
z-index: 10;
}
.z-20 {
z-index: 20;
}
.z-40 {
z-index: 40;
}
.z-50 {
z-index: 50;
}
.z-auto {
z-index: auto;
}
@ -380,9 +361,6 @@
.col-span-1 {
grid-column: span 1 / span 1;
}
.col-span-2 {
grid-column: span 2 / span 2;
}
.col-span-3 {
grid-column: span 3 / span 3;
}
@ -509,18 +487,12 @@
.mx-auto {
margin-inline: auto;
}
.-my-1 {
margin-block: calc(var(--spacing) * -1);
}
.-my-1\.5 {
margin-block: calc(var(--spacing) * -1.5);
}
.-my-2 {
margin-block: calc(var(--spacing) * -2);
}
.my-1 {
margin-block: calc(var(--spacing) * 1);
}
.my-2 {
margin-block: calc(var(--spacing) * 2);
}
@ -539,9 +511,6 @@
.-mt-4 {
margin-top: calc(var(--spacing) * -4);
}
.mt-0 {
margin-top: calc(var(--spacing) * 0);
}
.mt-0\.5 {
margin-top: calc(var(--spacing) * 0.5);
}
@ -569,9 +538,6 @@
.mt-10 {
margin-top: calc(var(--spacing) * 10);
}
.-mr-1 {
margin-right: calc(var(--spacing) * -1);
}
.-mr-1\.5 {
margin-right: calc(var(--spacing) * -1.5);
}
@ -611,9 +577,6 @@
.mb-4 {
margin-bottom: calc(var(--spacing) * 4);
}
.mb-6 {
margin-bottom: calc(var(--spacing) * 6);
}
.mb-10 {
margin-bottom: calc(var(--spacing) * 10);
}
@ -768,15 +731,9 @@
.h-16 {
height: calc(var(--spacing) * 16);
}
.h-48 {
height: calc(var(--spacing) * 48);
}
.h-50 {
height: calc(var(--spacing) * 50);
}
.h-\[600px\] {
height: 600px;
}
.h-full {
height: 100%;
}
@ -786,9 +743,6 @@
.max-h-60 {
max-height: calc(var(--spacing) * 60);
}
.max-h-\[600px\] {
max-height: 600px;
}
.max-h-none {
max-height: none;
}
@ -804,15 +758,9 @@
.min-h-screen {
min-height: 100vh;
}
.w-0 {
width: calc(var(--spacing) * 0);
}
.w-0\.5 {
width: calc(var(--spacing) * 0.5);
}
.w-1 {
width: calc(var(--spacing) * 1);
}
.w-1\/2 {
width: calc(1/2 * 100%);
}
@ -1196,9 +1144,6 @@
.grid-cols-7 {
grid-template-columns: repeat(7, minmax(0, 1fr));
}
.grid-cols-12 {
grid-template-columns: repeat(12, minmax(0, 1fr));
}
.grid-cols-none {
grid-template-columns: none;
}
@ -1811,9 +1756,6 @@
.border-co-red {
border-color: var(--color-co-red);
}
.border-co-yellow {
border-color: var(--color-co-yellow);
}
.border-gray-200 {
border-color: var(--color-gray-200);
}
@ -1826,12 +1768,6 @@
.border-orange-200 {
border-color: var(--color-orange-200);
}
.border-purple-200 {
border-color: var(--color-purple-200);
}
.border-purple-600 {
border-color: var(--color-purple-600);
}
.border-transparent {
border-color: transparent;
}
@ -1862,9 +1798,6 @@
.bg-blue-100 {
background-color: var(--color-blue-100);
}
.bg-blue-500 {
background-color: var(--color-blue-500);
}
.bg-blue-600 {
background-color: var(--color-blue-600);
}
@ -1910,9 +1843,6 @@
.bg-green-100 {
background-color: var(--color-green-100);
}
.bg-green-500 {
background-color: var(--color-green-500);
}
.bg-green-600 {
background-color: var(--color-green-600);
}
@ -1925,21 +1855,6 @@
.bg-orange-50 {
background-color: var(--color-orange-50);
}
.bg-purple-50 {
background-color: var(--color-purple-50);
}
.bg-purple-100 {
background-color: var(--color-purple-100);
}
.bg-purple-500 {
background-color: var(--color-purple-500);
}
.bg-purple-600 {
background-color: var(--color-purple-600);
}
.bg-red-100 {
background-color: var(--color-red-100);
}
.bg-red-500 {
background-color: var(--color-red-500);
}
@ -1958,9 +1873,6 @@
.bg-yellow-50 {
background-color: var(--color-yellow-50);
}
.bg-yellow-100 {
background-color: var(--color-yellow-100);
}
.-bg-conic {
--tw-gradient-position: in oklab;
background-image: conic-gradient(var(--tw-gradient-stops));
@ -1969,10 +1881,6 @@
--tw-gradient-position: in oklab;
background-image: conic-gradient(var(--tw-gradient-stops));
}
.bg-gradient-to-r {
--tw-gradient-position: to right in oklab;
background-image: linear-gradient(var(--tw-gradient-stops));
}
.bg-radial {
--tw-gradient-position: in oklab;
background-image: radial-gradient(var(--tw-gradient-stops));
@ -1983,14 +1891,6 @@
.via-none {
--tw-gradient-via-stops: initial;
}
.from-co-blue {
--tw-gradient-from: var(--color-co-blue);
--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
}
.to-co-lightblue {
--tw-gradient-to: var(--color-co-lightblue);
--tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
}
.box-decoration-clone {
-webkit-box-decoration-break: clone;
box-decoration-break: clone;
@ -2094,9 +1994,6 @@
.fill-none {
fill: none;
}
.stroke-gray-600 {
stroke: var(--color-gray-600);
}
.stroke-gray-700 {
stroke: var(--color-gray-700);
}
@ -2199,9 +2096,6 @@
.px-6 {
padding-inline: calc(var(--spacing) * 6);
}
.py-0 {
padding-block: calc(var(--spacing) * 0);
}
.py-0\.5 {
padding-block: calc(var(--spacing) * 0.5);
}
@ -2238,12 +2132,6 @@
.py-12 {
padding-block: calc(var(--spacing) * 12);
}
.pt-0 {
padding-top: calc(var(--spacing) * 0);
}
.pt-0\.5 {
padding-top: calc(var(--spacing) * 0.5);
}
.pt-1 {
padding-top: calc(var(--spacing) * 1);
}
@ -2504,12 +2392,6 @@
.\[color\:red\]\/50\! {
color: color-mix(in oklab, red 50%, transparent) !important;
}
.text-black {
color: var(--color-black);
}
.text-blue-600 {
color: var(--color-blue-600);
}
.text-blue-800 {
color: var(--color-blue-800);
}
@ -2528,9 +2410,6 @@
.text-co-red {
color: var(--color-co-red);
}
.text-co-yellow {
color: var(--color-co-yellow);
}
.text-gray-400 {
color: var(--color-gray-400);
}
@ -2558,27 +2437,12 @@
.text-indigo-600 {
color: var(--color-indigo-600);
}
.text-purple-600 {
color: var(--color-purple-600);
}
.text-purple-800 {
color: var(--color-purple-800);
}
.text-red-600 {
color: var(--color-red-600);
}
.text-red-700 {
color: var(--color-red-700);
}
.text-red-800 {
color: var(--color-red-800);
}
.text-white {
color: var(--color-white);
}
.text-yellow-800 {
color: var(--color-yellow-800);
}
.capitalize {
text-transform: capitalize;
}
@ -3218,20 +3082,6 @@
}
}
}
.hover\:bg-purple-700 {
&:hover {
@media (hover: hover) {
background-color: var(--color-purple-700);
}
}
}
.hover\:bg-red-50 {
&:hover {
@media (hover: hover) {
background-color: var(--color-red-50);
}
}
}
.hover\:bg-red-700 {
&:hover {
@media (hover: hover) {
@ -3394,11 +3244,6 @@
--tw-ring-color: var(--color-indigo-500);
}
}
.focus\:ring-red-500 {
&:focus {
--tw-ring-color: var(--color-red-500);
}
}
.focus\:ring-white {
&:focus {
--tw-ring-color: var(--color-white);
@ -3870,16 +3715,6 @@
display: none;
}
}
.md\:h-auto {
@media (width >= 48rem) {
height: auto;
}
}
.md\:w-1\/3 {
@media (width >= 48rem) {
width: calc(1/3 * 100%);
}
}
.md\:w-64 {
@media (width >= 48rem) {
width: calc(var(--spacing) * 64);
@ -4018,16 +3853,6 @@
display: table-cell;
}
}
.lg\:w-1\/3 {
@media (width >= 64rem) {
width: calc(1/3 * 100%);
}
}
.lg\:w-2\/3 {
@media (width >= 64rem) {
width: calc(2/3 * 100%);
}
}
.lg\:max-w-7xl {
@media (width >= 64rem) {
max-width: var(--container-7xl);
@ -4058,11 +3883,6 @@
grid-template-columns: repeat(4, minmax(0, 1fr));
}
}
.lg\:flex-row {
@media (width >= 64rem) {
flex-direction: row;
}
}
.lg\:px-8 {
@media (width >= 64rem) {
padding-inline: calc(var(--spacing) * 8);
@ -4246,48 +4066,6 @@
inherits: false;
initial-value: 0;
}
@property --tw-gradient-position {
syntax: "*";
inherits: false;
}
@property --tw-gradient-from {
syntax: "<color>";
inherits: false;
initial-value: #0000;
}
@property --tw-gradient-via {
syntax: "<color>";
inherits: false;
initial-value: #0000;
}
@property --tw-gradient-to {
syntax: "<color>";
inherits: false;
initial-value: #0000;
}
@property --tw-gradient-stops {
syntax: "*";
inherits: false;
}
@property --tw-gradient-via-stops {
syntax: "*";
inherits: false;
}
@property --tw-gradient-from-position {
syntax: "<length-percentage>";
inherits: false;
initial-value: 0%;
}
@property --tw-gradient-via-position {
syntax: "<length-percentage>";
inherits: false;
initial-value: 50%;
}
@property --tw-gradient-to-position {
syntax: "<length-percentage>";
inherits: false;
initial-value: 100%;
}
@property --tw-leading {
syntax: "*";
inherits: false;