Find this useful? Enter your email to receive occasional updates for securing PHP code.
Signing you up...
Thank you for signing up!
PHP Decode
@props([ 'isActive' => false, ]) <v-modal is-active="{{ $isActive }}" {{ $att..
Decoded Output download
<? @props([
'isActive' => false,
])
<v-modal
is-active="{{ $isActive }}"
{{ $attributes }}
>
@isset($toggle)
<template v-slot:toggle>
{{ $toggle }}
</template>
@endisset
@isset($header)
<template v-slot:header="{ toggle, isOpen }">
<div {{ $header->attributes->merge(['class' => 'flex items-center justify-between gap-5 border-b border-zinc-200 bg-white p-8 max-sm:px-4 max-sm:py-3']) }}>
{{ $header }}
<span
class="icon-cancel cursor-pointer text-3xl max-sm:text-2xl"
@click="toggle"
>
</span>
</div>
</template>
@endisset
@isset($content)
<template v-slot:content>
<div {{ $content->attributes->merge(['class' => 'bg-white p-8 max-sm:p-5']) }}>
{{ $content }}
</div>
</template>
@endisset
@isset($footer)
<template v-slot:footer>
<div {{ $content->attributes->merge(['class' => 'mt-5 bg-white p-8 max-sm:mt-0.5 max-sm:py-4 max-sm:px-4']) }}>
{{ $footer }}
</div>
</template>
@endisset
</v-modal>
@pushOnce('scripts')
<script
type="text/x-template"
id="v-modal-template"
>
<div>
<div @click="toggle">
<slot name="toggle">
</slot>
</div>
<transition
tag="div"
name="modal-overlay"
enter-class="duration-300 ease-out"
enter-from-class="opacity-0"
enter-to-class="opacity-100"
leave-class="duration-200 ease-in"
leave-from-class="opacity-100"
leave-to-class="opacity-0"
>
<div
class="fixed inset-0 z-10 bg-gray-500 bg-opacity-50 transition-opacity"
v-show="isOpen"
></div>
</transition>
<transition
tag="div"
name="modal-content"
enter-class="duration-300 ease-out"
enter-from-class="translate-y-4 opacity-0 md:translate-y-0 md:scale-95"
enter-to-class="translate-y-0 opacity-100 md:scale-100"
leave-class="duration-200 ease-in"
leave-from-class="translate-y-0 opacity-100 md:scale-100"
leave-to-class="translate-y-4 opacity-0 md:translate-y-0 md:scale-95"
>
<div
class="fixed inset-0 z-10 transform overflow-y-auto transition" v-show="isOpen"
>
<div class="flex min-h-full items-end justify-center p-4 sm:items-center sm:p-0">
<div class="absolute left-1/2 top-1/2 z-[999] w-full max-w-[595px] -translate-x-1/2 -translate-y-1/2 overflow-hidden rounded-lg bg-zinc-100 max-md:w-[90%]">
<!-- Header Slot-->
<slot
name="header"
:toggle="toggle"
:isOpen="isOpen"
>
</slot>
<!-- Content Slot-->
<slot name="content"></slot>
<!-- Footer Slot-->
<slot name="footer"></slot>
</div>
</div>
</div>
</transition>
</div>
</script>
<script type="module">
app.component('v-modal', {
template: '#v-modal-template',
props: ['isActive'],
data() {
return {
isOpen: this.isActive,
};
},
methods: {
toggle() {
this.isOpen = ! this.isOpen;
if (this.isOpen) {
document.body.style.overflow = 'hidden';
} else {
document.body.style.overflow ='auto';
}
this.$emit('toggle', { isActive: this.isOpen });
},
open() {
this.isOpen = true;
document.body.style.overflow = 'hidden';
this.$emit('open', { isActive: this.isOpen });
},
close() {
this.isOpen = false;
document.body.style.overflow = 'auto';
this.$emit('close', { isActive: this.isOpen });
}
}
});
</script>
@endPushOnce
?>
Did this file decode correctly?
Original Code
@props([
'isActive' => false,
])
<v-modal
is-active="{{ $isActive }}"
{{ $attributes }}
>
@isset($toggle)
<template v-slot:toggle>
{{ $toggle }}
</template>
@endisset
@isset($header)
<template v-slot:header="{ toggle, isOpen }">
<div {{ $header->attributes->merge(['class' => 'flex items-center justify-between gap-5 border-b border-zinc-200 bg-white p-8 max-sm:px-4 max-sm:py-3']) }}>
{{ $header }}
<span
class="icon-cancel cursor-pointer text-3xl max-sm:text-2xl"
@click="toggle"
>
</span>
</div>
</template>
@endisset
@isset($content)
<template v-slot:content>
<div {{ $content->attributes->merge(['class' => 'bg-white p-8 max-sm:p-5']) }}>
{{ $content }}
</div>
</template>
@endisset
@isset($footer)
<template v-slot:footer>
<div {{ $content->attributes->merge(['class' => 'mt-5 bg-white p-8 max-sm:mt-0.5 max-sm:py-4 max-sm:px-4']) }}>
{{ $footer }}
</div>
</template>
@endisset
</v-modal>
@pushOnce('scripts')
<script
type="text/x-template"
id="v-modal-template"
>
<div>
<div @click="toggle">
<slot name="toggle">
</slot>
</div>
<transition
tag="div"
name="modal-overlay"
enter-class="duration-300 ease-out"
enter-from-class="opacity-0"
enter-to-class="opacity-100"
leave-class="duration-200 ease-in"
leave-from-class="opacity-100"
leave-to-class="opacity-0"
>
<div
class="fixed inset-0 z-10 bg-gray-500 bg-opacity-50 transition-opacity"
v-show="isOpen"
></div>
</transition>
<transition
tag="div"
name="modal-content"
enter-class="duration-300 ease-out"
enter-from-class="translate-y-4 opacity-0 md:translate-y-0 md:scale-95"
enter-to-class="translate-y-0 opacity-100 md:scale-100"
leave-class="duration-200 ease-in"
leave-from-class="translate-y-0 opacity-100 md:scale-100"
leave-to-class="translate-y-4 opacity-0 md:translate-y-0 md:scale-95"
>
<div
class="fixed inset-0 z-10 transform overflow-y-auto transition" v-show="isOpen"
>
<div class="flex min-h-full items-end justify-center p-4 sm:items-center sm:p-0">
<div class="absolute left-1/2 top-1/2 z-[999] w-full max-w-[595px] -translate-x-1/2 -translate-y-1/2 overflow-hidden rounded-lg bg-zinc-100 max-md:w-[90%]">
<!-- Header Slot-->
<slot
name="header"
:toggle="toggle"
:isOpen="isOpen"
>
</slot>
<!-- Content Slot-->
<slot name="content"></slot>
<!-- Footer Slot-->
<slot name="footer"></slot>
</div>
</div>
</div>
</transition>
</div>
</script>
<script type="module">
app.component('v-modal', {
template: '#v-modal-template',
props: ['isActive'],
data() {
return {
isOpen: this.isActive,
};
},
methods: {
toggle() {
this.isOpen = ! this.isOpen;
if (this.isOpen) {
document.body.style.overflow = 'hidden';
} else {
document.body.style.overflow ='auto';
}
this.$emit('toggle', { isActive: this.isOpen });
},
open() {
this.isOpen = true;
document.body.style.overflow = 'hidden';
this.$emit('open', { isActive: this.isOpen });
},
close() {
this.isOpen = false;
document.body.style.overflow = 'auto';
this.$emit('close', { isActive: this.isOpen });
}
}
});
</script>
@endPushOnce
Function Calls
None |
Stats
MD5 | 5c5766cedaa185f8c57b6bac8566c9da |
Eval Count | 0 |
Decode Time | 84 ms |