Chore: Bump version to v1.1.0 and implement automated release system

This commit is contained in:
dyzulk
2026-01-17 13:01:05 +07:00
parent 64609a5821
commit 5b0b6de2dc
69 changed files with 3157 additions and 2375 deletions

View File

@@ -791,15 +791,21 @@ body {
.form-label {
margin-bottom: 0.25rem;
display: block;
font-size: 0.875rem;
line-height: 1.25rem;
font-weight: 500;
color: var(--accents-5);
font-size: 0.75rem;
line-height: 1rem;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.05em;
color: var(--accents-6);
transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
transition-duration: 200ms;
}
.form-label:is(.dark *) {
color: var(--accents-3);
}
.glass-label, .modal-glass .form-label {
font-weight: 600;
color: var(--foreground);
@@ -1114,12 +1120,15 @@ input:-webkit-autofill,
}
.checkbox:checked {
border-color: var(--foreground);
background-color: var(--foreground);
--tw-border-opacity: 1;
border-color: rgb(37 99 235 / var(--tw-border-opacity, 1));
--tw-bg-opacity: 1;
background-color: rgb(37 99 235 / var(--tw-bg-opacity, 1));
}
.checkbox:hover {
border-color: var(--foreground);
--tw-border-opacity: 1;
border-color: rgb(59 130 246 / var(--tw-border-opacity, 1));
--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
@@ -1131,7 +1140,7 @@ input:-webkit-autofill,
--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
--tw-ring-color: var(--accents-2);
--tw-ring-color: rgb(37 99 235 / 0.2);
}
.checkbox:disabled {
@@ -1140,7 +1149,13 @@ input:-webkit-autofill,
}
.checkbox:is(.dark *) {
background-color: rgb(255 255 255 / 0.05);
border-color: rgb(255 255 255 / 0.3);
background-color: rgb(255 255 255 / 0.1);
}
.checkbox:hover:is(.dark *) {
--tw-border-opacity: 1;
border-color: rgb(96 165 250 / var(--tw-border-opacity, 1));
}
.checkbox {
@@ -1150,11 +1165,11 @@ input:-webkit-autofill,
}
.checkbox:checked {
background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e");
background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='%23ffffff' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e");
}
.dark .checkbox:checked {
background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='black' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e");
background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='%23ffffff' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e");
}
.card, .glass-card {
@@ -1233,6 +1248,7 @@ input:-webkit-autofill,
pointer-events: none;
visibility: hidden;
position: absolute;
top: 100%;
z-index: 50;
margin-top: 0.25rem;
display: flex;
@@ -1280,6 +1296,21 @@ input:-webkit-autofill,
opacity: 1;
}
.custom-select-dropdown.dropdown-up {
bottom: 100%;
top: auto;
margin-bottom: 0.25rem;
margin-top: 0px;
transform-origin: bottom;
--tw-translate-y: 0.5rem;
transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.custom-select-dropdown.dropdown-up.open {
--tw-translate-y: 0px;
transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
/* Premium Control Pill & Segmented Switch */
.control-pill {
@@ -1454,6 +1485,28 @@ input:-webkit-autofill,
--tw-ring-color: var(--accents-3);
}
/* Dropdown Bridge to prevent accidental closure on margin gaps */
.dropdown-bridge::before {
content: "";
position: absolute;
top: -1.25rem;
left: 0;
right: 0;
height: 1.25rem;
background: transparent;
z-index: -1;
}
/* Specific Bridge expansion for Notification to make it more "sticky" */
#notification-dropdown.dropdown-bridge::before {
inset: -2rem -3rem;
/* Expand 32px top/bottom, 48px left/right */
top: -2.5rem;
/* Ensure it covers the gap to the button */
}
/* Glassmorphism Table */
.table-container {
@@ -1571,14 +1624,6 @@ input:-webkit-autofill,
opacity: 1;
}
.modal-title {
font-size: 1.125rem;
line-height: 1.75rem;
font-weight: 700;
letter-spacing: -0.025em;
color: var(--foreground);
}
.sr-only {
position: absolute;
width: 1px;
@@ -1673,6 +1718,10 @@ input:-webkit-autofill,
top: -20%;
}
.bottom-1 {
bottom: 0.25rem;
}
.bottom-6 {
bottom: 1.5rem;
}
@@ -1693,6 +1742,10 @@ input:-webkit-autofill,
right: 0px;
}
.right-1 {
right: 0.25rem;
}
.right-2 {
right: 0.5rem;
}
@@ -1705,16 +1758,12 @@ input:-webkit-autofill,
right: 1rem;
}
.right-6 {
right: 1.5rem;
}
.top-0 {
top: 0px;
}
.top-1\/2 {
top: 50%;
.top-1 {
top: 0.25rem;
}
.top-2 {
@@ -1795,11 +1844,6 @@ input:-webkit-autofill,
margin-right: 0.25rem;
}
.mx-4 {
margin-left: 1rem;
margin-right: 1rem;
}
.mx-auto {
margin-left: auto;
margin-right: auto;
@@ -2132,10 +2176,6 @@ input:-webkit-autofill,
width: 5rem;
}
.w-24 {
width: 6rem;
}
.w-3 {
width: 0.75rem;
}
@@ -2192,6 +2232,10 @@ input:-webkit-autofill,
width: calc(100% - 1.5rem);
}
.w-\[calc\(50\%-4px\)\] {
width: calc(50% - 4px);
}
.w-auto {
width: auto;
}
@@ -2225,10 +2269,6 @@ input:-webkit-autofill,
max-width: 56rem;
}
.max-w-5xl {
max-width: 64rem;
}
.max-w-7xl {
max-width: 80rem;
}
@@ -2289,6 +2329,14 @@ input:-webkit-autofill,
flex-grow: 1;
}
.origin-bottom-left {
transform-origin: bottom left;
}
.origin-bottom-right {
transform-origin: bottom right;
}
.origin-right {
transform-origin: right;
}
@@ -2315,11 +2363,6 @@ input:-webkit-autofill,
transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-translate-y-1\/2 {
--tw-translate-y: -50%;
transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-x-full {
--tw-translate-x: 100%;
transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
@@ -2520,10 +2563,10 @@ input:-webkit-autofill,
gap: 2rem;
}
.space-x-2 > :not([hidden]) ~ :not([hidden]) {
.space-x-3 > :not([hidden]) ~ :not([hidden]) {
--tw-space-x-reverse: 0;
margin-right: calc(0.5rem * var(--tw-space-x-reverse));
margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse)));
margin-right: calc(0.75rem * var(--tw-space-x-reverse));
margin-left: calc(0.75rem * calc(1 - var(--tw-space-x-reverse)));
}
.space-x-4 > :not([hidden]) ~ :not([hidden]) {
@@ -2608,6 +2651,10 @@ input:-webkit-autofill,
overflow: hidden;
}
.overflow-visible {
overflow: visible;
}
.overflow-x-auto {
overflow-x: auto;
}
@@ -2697,9 +2744,9 @@ input:-webkit-autofill,
border-bottom-right-radius: 0px;
}
.rounded-t-md {
border-top-left-radius: 0.375rem;
border-top-right-radius: 0.375rem;
.rounded-t-xl {
border-top-left-radius: 0.75rem;
border-top-right-radius: 0.75rem;
}
.border {
@@ -2722,6 +2769,10 @@ input:-webkit-autofill,
border-bottom-width: 2px;
}
.border-l {
border-left-width: 1px;
}
.border-l-0 {
border-left-width: 0px;
}
@@ -2822,6 +2873,10 @@ input:-webkit-autofill,
border-color: rgb(255 255 255 / 0.2);
}
.border-white\/5 {
border-color: rgb(255 255 255 / 0.05);
}
.\!bg-red-50\/50 {
background-color: rgb(254 242 242 / 0.5) !important;
}
@@ -3067,6 +3122,11 @@ input:-webkit-autofill,
object-fit: contain;
}
.object-cover {
-o-object-fit: cover;
object-fit: cover;
}
.\!p-0 {
padding: 0px !important;
}
@@ -3234,6 +3294,14 @@ input:-webkit-autofill,
padding-left: 0.75rem;
}
.pl-4 {
padding-left: 1rem;
}
.pl-6 {
padding-left: 1.5rem;
}
.pl-9 {
padding-left: 2.25rem;
}
@@ -3250,6 +3318,10 @@ input:-webkit-autofill,
padding-right: 0.75rem;
}
.pr-6 {
padding-right: 1.5rem;
}
.pr-8 {
padding-right: 2rem;
}
@@ -3577,6 +3649,11 @@ input:-webkit-autofill,
color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.text-yellow-400 {
--tw-text-opacity: 1;
color: rgb(250 204 21 / var(--tw-text-opacity, 1));
}
.text-yellow-500 {
--tw-text-opacity: 1;
color: rgb(234 179 8 / var(--tw-text-opacity, 1));
@@ -3611,10 +3688,6 @@ input:-webkit-autofill,
opacity: 0.5;
}
.opacity-60 {
opacity: 0.6;
}
.opacity-70 {
opacity: 0.7;
}
@@ -3709,6 +3782,11 @@ input:-webkit-autofill,
backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.backdrop-blur-2xl {
--tw-backdrop-blur: blur(40px);
backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.backdrop-blur-\[40px\] {
--tw-backdrop-blur: blur(40px);
backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
@@ -3867,6 +3945,15 @@ div.swal2-popup {
padding: 1.5rem !important;
}
div:where(.swal2-container) {
z-index: 9999 !important;
}
div:where(.swal2-popup).swal-wide {
width: auto !important;
max-width: 900px !important;
}
/* Dark mode background fix for glassmorphism */
.dark div.swal2-popup {
@@ -4203,6 +4290,66 @@ div:where(.swal2-container) div:where(.swal2-popup).swal2-premium-card {
border-color: rgba(255, 255, 255, 0.1) !important;
}
/* SweetAlert2 Premium Input Styles Override */
.swal2-premium-card .form-label {
margin-bottom: 0.5rem;
font-weight: 700;
color: var(--accents-8);
}
.swal2-premium-card .form-label:is(.dark *) {
color: var(--accents-2);
}
.swal2-premium-card input:not([type="checkbox"]):not([type="radio"]),
.swal2-premium-card select,
.swal2-premium-card textarea {
display: block;
width: 100%;
border-radius: 0.5rem;
border-width: 1px;
border-color: var(--accents-2);
background-color: rgb(255 255 255 / 0.5);
padding-top: 0.5rem;
padding-bottom: 0.5rem;
padding-left: 0.75rem;
padding-right: 0.75rem;
font-size: 0.875rem;
line-height: 1.25rem;
color: var(--foreground);
transition-property: all;
transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
transition-duration: 200ms;
}
.swal2-premium-card input:not([type="checkbox"]):not([type="radio"]):focus,
.swal2-premium-card select:focus,
.swal2-premium-card textarea:focus {
border-color: var(--foreground);
background-color: rgb(255 255 255 / 0.8);
outline: 2px solid transparent;
outline-offset: 2px;
--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
--tw-ring-color: var(--accents-2);
}
.dark .swal2-premium-card input:not([type="checkbox"]):not([type="radio"]),
.dark .swal2-premium-card select,
.dark .swal2-premium-card textarea {
background-color: rgb(0 0 0 / 0.2);
border-color: var(--accents-2);
}
.dark .swal2-premium-card input:not([type="checkbox"]):not([type="radio"]):focus,
.dark .swal2-premium-card select:focus,
.dark .swal2-premium-card textarea:focus {
background-color: rgb(0 0 0 / 0.4);
border-color: var(--foreground);
}
.selection\:bg-accents-2 *::-moz-selection {
background-color: var(--accents-2);
}
@@ -4251,14 +4398,6 @@ div:where(.swal2-container) div:where(.swal2-popup).swal2-premium-card {
color: var(--foreground);
}
.placeholder\:text-accents-3::-moz-placeholder {
color: var(--accents-3);
}
.placeholder\:text-accents-3::placeholder {
color: var(--accents-3);
}
.after\:absolute::after {
content: var(--tw-content);
position: absolute;
@@ -4310,6 +4449,10 @@ div:where(.swal2-container) div:where(.swal2-popup).swal2-premium-card {
transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.hover\:border-accents-2:hover {
border-color: var(--accents-2);
}
.hover\:border-foreground:hover {
border-color: var(--foreground);
}
@@ -4349,6 +4492,11 @@ div:where(.swal2-container) div:where(.swal2-popup).swal2-premium-card {
background-color: rgb(37 99 235 / var(--tw-bg-opacity, 1));
}
.hover\:bg-blue-700:hover {
--tw-bg-opacity: 1;
background-color: rgb(29 78 216 / var(--tw-bg-opacity, 1));
}
.hover\:bg-emerald-600:hover {
--tw-bg-opacity: 1;
background-color: rgb(5 150 105 / var(--tw-bg-opacity, 1));
@@ -4998,6 +5146,10 @@ div:where(.swal2-container) div:where(.swal2-popup).swal2-premium-card {
grid-column: span 2 / span 2;
}
.lg\:block {
display: block;
}
.lg\:h-\[calc\(100vh-8rem\)\] {
height: calc(100vh - 8rem);
}