Compare commits

...

5 Commits

7 changed files with 225 additions and 20 deletions

View File

@ -6,6 +6,25 @@
to { transform: rotate(360deg); } to { transform: rotate(360deg); }
} }
.animate-removeRow {
animation-name: removeRow;
animation-fill-mode: forwards;
animation-duration: 800ms;
animation-iteration-count: 1;
animation-timing-function: cubic-bezier(0.38, 0.97, 0.56, 0.76);
}
@keyframes removeRow {
50% { height: 10px; padding: 5px; }
100% {
transform: rotateX(-90deg);
transform-origin: top center;
height: 5px;
opacity: 0;
padding: 0;
}
}
/** https://thinkdobecreate.com/articles/css-animating-newly-added-element/ **/ /** https://thinkdobecreate.com/articles/css-animating-newly-added-element/ **/
.anim-show { .anim-show {

View File

@ -1,23 +1,202 @@
/** +------------------------+ **/
/** | Base styling | **/
/** +------------------------+ **/
.button-xs, .button-sm, .button, .button-lg {
@apply inline-grid grid-rows-1 auto-cols-max grid-flow-col gap-x-1 items-center justify-center;
}
.button-xs:not(.button-group > .button-xs),
.button-sm:not(.button-group > .button-sm),
.button:not(.button-group > .button),
.button-lg:not(.button-group > .button-lg) {
@apply rounded-lg;
}
.button-xs {
@apply p-1;
}
.button-sm {
@apply px-3 py-1;
}
.button { .button {
@apply inline-grid grid-flow-col auto-cols-max gap-x-2 items-center; @apply px-4 py-2;
} }
.button-primary { .button-lg {
@apply border-blue-300 bg-gradient-to-br from-blue-400 to-blue-700; @apply px-5 py-3;
} }
.button-secondary {
@apply border-indigo-300 bg-gradient-to-br from-indigo-400 to-indigo-700; /** +------------------------+ **/
/** | Gradient Buttons | **/
/** +------------------------+ **/
.button-xs[class*="button-gradient"],
.button-sm[class*="button-gradient"],
.button[class*="button-gradient"],
.button-lg[class*="button-gradient"] {
@apply transition-all duration-300 ease-in-out border-2;
} }
.button-tertiary { .button-gradient-primary {
@apply border-blue-300 bg-gradient-to-br from-green-400 to-blue-500; @apply text-white;
background: linear-gradient(to right, hsl(291, 95.9%, 61.8%), hsl(187, 100%, 41.6%));
border-color: hsl(187, 100%, 41.6%);
box-shadow: 0 4px 12px 0 hsla(223, 15.7%, 65.1%, 0.1);
}
.button-gradient-primary:hover {
border-color: hsl(187, 100%, 51.6%);
} }
.button-success { .button-gradient-secondary {
@apply border-green-300 bg-gradient-to-br from-green-400 to-green-700; @apply text-white;
background: linear-gradient(to right, hsl(229, 75.9%, 65.9%), hsl(270, 36.7%, 46.5%) 90%);
border-color: hsl(270, 36.7%, 46.5%);
box-shadow: 0 4px 15px 0 hsla(265, 36%, 48.4%, 0.75);
}
.button-gradient-secondary:hover {
border-color: hsl(270, 36.7%, 56.5%);
} }
.button-danger { .button-gradient-tertiary {
@apply border-red-300 bg-gradient-to-br from-red-400 to-red-700; @apply text-white;
background: linear-gradient(to right, hsl(212, 18.8%, 19.8%), hsl(211, 15.8%, 33.5%));
border-color: hsl(211, 15.8%, 33.5%);
box-shadow: 0 4px 15px 0 hsla(213, 18.2%, 21.6%, 0.75);
}
.button-gradient-tertiary:hover {
border-color: hsl(211, 15.8%, 43.5%);
backdrop-filter: blur(25px) brightness(125%) hue-rotate(20deg);
}
.button-gradient-info {
@apply text-white;
background: linear-gradient(to right, hsl(198, 75.8%, 51.4%), hsl(218, 80.7%, 59.4%));
border-color: hsl(218, 80.7%, 59.4%);
box-shadow: 0 4px 15px 0 hsla(216, 80.1%, 58.6%, 0.75);
}
.button-gradient-info:hover {
border-color: hsl(218, 80.7%, 69.4%);
}
.button-gradient-success {
@apply text-white;
background: linear-gradient(to right, hsl(151, 71.8%, 52.7%), hsl(151, 61.8%, 44.1%));
border-color: hsl(151, 61.8%, 44.1%);
box-shadow: 0 4px 15px 0 hsla(155, 75.9%, 37.5%, 0.75);
}
.button-gradient-success:hover {
border-color: hsl(151, 61.8%, 54.1%);
}
.button-gradient-warning {
@apply text-white;
background: linear-gradient(to right, hsl(44, 88%, 67.3%), hsl(14, 97.4%, 45.3%));
border-color: hsl(14, 97.4%, 45.3%);
box-shadow: 0 4px 15px 0 hsla(15, 91.6%, 46.9%, 0.75);
}
.button-gradient-warning:hover {
border-color: hsl(14, 97.4%, 55.3%);
}
.button-gradient-danger {
@apply text-white;
background: linear-gradient(to right, hsl(357, 81.7%, 57.3%), hsl(358, 84%, 65.7%));
border-color: hsl(358, 84%, 65.7%);
box-shadow: 0 5px 15px hsla(358, 96.1%, 69.8%, 0.4);
}
.button-gradient-danger:hover {
border-color: hsl(358, 84%, 75.7%);
}
/** +------------------------+ **/
/** | Outline Buttons | **/
/** +------------------------+ **/
.button-xs[class*="button-outline"],
.button-sm[class*="button-outline"],
.button[class*="button-outline"],
.button-lg[class*="button-outline"] {
@apply font-bold transition-all duration-300 ease-in-out border-2 bg-transparent;
}
.button-outline-primary {
color: hsl(187, 100%, 41.6%);
border-color: hsl(187, 100%, 41.6%);
box-shadow: 0 4px 12px 0 hsla(187, 100%, 41.6%, 0.25), inset 0 4px 12px 0 hsla(187, 100%, 41.6%, 0.25);
}
.button-outline-primary:hover {
color: hsl(187, 100%, 61.6%);
border-color: hsl(187, 100%, 61.6%);
box-shadow: 0 6px 16px 0 hsla(187, 100%, 61.6%, 0.33), inset 0 6px 16px 0 hsla(187, 100%, 61.6%, 0.33);
}
.button-outline-secondary {
color: hsl(270, 36.7%, 46.5%);
border-color: hsl(270, 36.7%, 46.5%);
box-shadow: 0 4px 12px 0 hsla(270, 36.7%, 46.5%, 0.25), inset 0 4px 12px 0 hsla(270, 36.7%, 46.5%, 0.25);
}
.button-outline-secondary:hover {
color: hsl(270, 36.7%, 66.5%);
border-color: hsl(270, 36.7%, 66.5%);
box-shadow: 0 6px 16px 0 hsla(270, 36.7%, 66.5%, 0.33), inset 0 6px 16px 0 hsla(270, 36.7%, 66.5%, 0.33);
}
.button-outline-tertiary {
color: hsl(211, 15.8%, 33.5%);
border-color: hsl(211, 15.8%, 33.5%);
box-shadow: 0 4px 12px 0 hsla(211, 15.8%, 33.5%, 0.25), inset 0 4px 12px 0 hsla(211, 15.8%, 33.5%, 0.25);
}
.button-outline-tertiary:hover {
color: hsl(211, 15.8%, 53.5%);
border-color: hsl(211, 15.8%, 53.5%);
box-shadow: 0 6px 16px 0 hsla(211, 15.8%, 53.5%, 0.33), inset 0 6px 16px 0 hsla(211, 15.8%, 53.5%, 0.33);
}
.button-outline-info {
color: hsl(218, 80.7%, 59.4%);
border-color: hsl(218, 80.7%, 59.4%);
box-shadow: 0 4px 12px 0 hsla(218, 80.7%, 59.4%, 0.25), inset 0 4px 12px 0 hsla(218, 80.7%, 59.4%, 0.25);
}
.button-outline-info:hover {
color: hsl(218, 80.7%, 79.4%);
border-color: hsl(218, 80.7%, 79.4%);
box-shadow: 0 6px 16px 0 hsla(218, 80.7%, 79.4%, 0.33), inset 0 6px 16px 0 hsla(218, 80.7%, 79.4%, 0.33);
}
.button-outline-success {
color: hsl(151, 61.8%, 44.1%);
border-color: hsl(151, 61.8%, 44.1%);
box-shadow: 0 4px 12px 0 hsla(151, 61.8%, 44.1%, 0.25), inset 0 4px 12px 0 hsla(151, 61.8%, 44.1%, 0.25);
}
.button-outline-success:hover {
color: hsl(151, 61.8%, 64.1%);
border-color: hsl(151, 61.8%, 64.1%);
box-shadow: 0 6px 16px 0 hsla(151, 61.8%, 64.1%, 0.33), inset 0 6px 16px 0 hsla(151, 61.8%, 64.1%, 0.33);
}
.button-outline-warning {
color: hsl(14, 97.4%, 45.3%);
border-color: hsl(14, 97.4%, 45.3%);
box-shadow: 0 4px 12px 0 hsla(14, 97.4%, 45.3%, 0.25), inset 0 4px 12px 0 hsla(14, 97.4%, 45.3%, 0.25);
}
.button-outline-warning:hover {
color: hsl(14, 97.4%, 65.3%);
border-color: hsl(14, 97.4%, 65.3%);
box-shadow: 0 6px 16px 0 hsla(14, 97.4%, 65.3%, 0.33), inset 0 6px 16px 0 hsla(14, 97.4%, 65.3%, 0.33);
}
.button-outline-danger {
color: hsl(358, 84%, 65.7%);
border-color: hsl(358, 84%, 65.7%);
box-shadow: 0 4px 12px 0 hsla(358, 84%, 65.7%, 0.25), inset 0 4px 12px 0 hsla(358, 84%, 65.7%, 0.25);
}
.button-outline-danger:hover {
color: hsl(358, 84%, 85.7%);
border-color: hsl(358, 84%, 85.7%);
box-shadow: 0 6px 16px 0 hsla(358, 84%, 85.7%, 0.33), inset 0 6px 16px 0 hsla(358, 84%, 85.7%, 0.33);
} }

View File

@ -6,10 +6,7 @@
@apply uppercase font-semibold text-xs text-zinc-600 dark:text-zinc-300; @apply uppercase font-semibold text-xs text-zinc-600 dark:text-zinc-300;
} }
input.form-input[type="date"],
input.form-input[type="datetime-local"],
input.form-input[type="email"], input.form-input[type="email"],
input.form-input[type="month"],
input.form-input[type="number"], input.form-input[type="number"],
input.form-input[type="password"], input.form-input[type="password"],
input.form-input[type="search"], input.form-input[type="search"],
@ -17,7 +14,6 @@ input.form-input[type="tel"],
input.form-input[type="text"], input.form-input[type="text"],
input.form-input[type="textarea"], input.form-input[type="textarea"],
input.form-input[type="url"], input.form-input[type="url"],
input.form-input[type="week"],
textarea.form-input { textarea.form-input {
@apply relative px-3 py-1 border rounded focus:border-indigo-300 focus:ring focus:ring-indigo-200 focus:ring-opacity-50 bg-white dark:bg-indigo-900 text-zinc-900 dark:text-zinc-100 border-stone-300 dark:border-stone-600 shadow dark:shadow-white; @apply relative px-3 py-1 border rounded focus:border-indigo-300 focus:ring focus:ring-indigo-200 focus:ring-opacity-50 bg-white dark:bg-indigo-900 text-zinc-900 dark:text-zinc-100 border-stone-300 dark:border-stone-600 shadow dark:shadow-white;
} }

View File

@ -0,0 +1 @@
a {}

View File

@ -0,0 +1,3 @@
pre {}
code {}

View File

@ -0,0 +1,5 @@
.progress-bar {}
.progress-arc {}
.progress-ring {}

View File

@ -53,9 +53,10 @@
<!-- Files listing who was involved in this site and copyrights --> <!-- Files listing who was involved in this site and copyrights -->
<link href="{{ url('/humans.txt') }}" rel="author" integrity="{{ env('INTEGRITY_HASH_HUMANS_TXT') }}"> <link href="{{ url('/humans.txt') }}" rel="author" integrity="{{ env('INTEGRITY_HASH_HUMANS_TXT') }}">
<link href="{{ url('/copyright.html') }}" rel="copyright" integrity="{{ env('INTEGRITY_HASH_COPYRIGHT_HTML') }}"> <link href="{{ url('/copyright.html') }}" rel="copyright" integrity="{{ env('INTEGRITY_HASH_COPYRIGHT_HTML') }}">
<link href="{{ url('/copyright.md') }}" rel="copyright" integrity="{{ env('INTEGRITY_HASH_COPYRIGHT_MD') }}">
<!-- Feeds --> <!-- Feeds -->
{{-- <link href="https://feeds.feedburner.com/example" type="application/rss+xml" title="RSS" rel="alternate"> --}} {{-- <link href="{{ url('/rss.xml') }}" type="application/rss+xml" title="RSS" rel="alternate"> --}}
{{-- <link href="{{ url('/feed.atom') }}" type="application/atom+xml" title="Atom 0.3" rel="alternate"> --}} {{-- <link href="{{ url('/feed.atom') }}" type="application/atom+xml" title="Atom 0.3" rel="alternate"> --}}
<!-- oEmbed links --> <!-- oEmbed links -->
@ -68,12 +69,12 @@
{{-- <link href="{{ asset('/favicon.png') }}" rel="icon" sizes="192x192" integrity="{{ env('INTEGRITY_HASH_FAVICON_PNG') }}"> --}} {{-- <link href="{{ asset('/favicon.png') }}" rel="icon" sizes="192x192" integrity="{{ env('INTEGRITY_HASH_FAVICON_PNG') }}"> --}}
<!-- Font preloads (should be done for each font file) --> <!-- Font preloads (should be done for each font file) -->
<link href="{{ asset('/fonts/Nunito/Nunito-Bold.woff2') }}" rel="preload" as="font" type="font/woff2" crossorigin="anonymous">
<link href="{{ asset('/fonts/Nunito/Nunito-SemiBold.woff2') }}" rel="preload" as="font" type="font/woff2" crossorigin="anonymous">
<link href="{{ asset('/fonts/Nunito/Nunito-Regular.woff2') }}" rel="preload" as="font" type="font/woff2" crossorigin="anonymous"> <link href="{{ asset('/fonts/Nunito/Nunito-Regular.woff2') }}" rel="preload" as="font" type="font/woff2" crossorigin="anonymous">
<link href="{{ asset('/fonts/OpenSans/OpenSans-Bold.woff2') }}" rel="preload" as="font" type="font/woff2" crossorigin="anonymous"> <link href="{{ asset('/fonts/Nunito/Nunito-SemiBold.woff2') }}" rel="preload" as="font" type="font/woff2" crossorigin="anonymous">
<link href="{{ asset('/fonts/OpenSans/OpenSans-SemiBold.woff2') }}" rel="preload" as="font" type="font/woff2" crossorigin="anonymous"> <link href="{{ asset('/fonts/Nunito/Nunito-Bold.woff2') }}" rel="preload" as="font" type="font/woff2" crossorigin="anonymous">
<link href="{{ asset('/fonts/OpenSans/OpenSans-Regular.woff2') }}" rel="preload" as="font" type="font/woff2" crossorigin="anonymous"> <link href="{{ asset('/fonts/OpenSans/OpenSans-Regular.woff2') }}" rel="preload" as="font" type="font/woff2" crossorigin="anonymous">
<link href="{{ asset('/fonts/OpenSans/OpenSans-SemiBold.woff2') }}" rel="preload" as="font" type="font/woff2" crossorigin="anonymous">
<link href="{{ asset('/fonts/OpenSans/OpenSans-Bold.woff2') }}" rel="preload" as="font" type="font/woff2" crossorigin="anonymous">
<!-- CSS --> <!-- CSS -->
<link href="{{ mix('/css/app.css') }}" rel="stylesheet" integrity="{{ env('INTEGRITY_HASH_APP_CSS') }}" media="screen"> <link href="{{ mix('/css/app.css') }}" rel="stylesheet" integrity="{{ env('INTEGRITY_HASH_APP_CSS') }}" media="screen">
@ -89,6 +90,7 @@
@routes @routes
<script src="{{ mix('/js/app.js') }}" integrity="{{ env('INTEGRITY_HASH_APP_JS') }}" defer></script> <script src="{{ mix('/js/app.js') }}" integrity="{{ env('INTEGRITY_HASH_APP_JS') }}" defer></script>
@inertiaHead
</head> </head>
<body class="bg-gray-100 font-sans antialiased"> <body class="bg-gray-100 font-sans antialiased">
<x-flags></x-flags> <x-flags></x-flags>