easy-admin-rails 0.1.11 → 0.1.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/app/assets/builds/easy_admin.base.js +3204 -1
- data/app/assets/builds/easy_admin.base.js.map +4 -4
- data/app/assets/builds/easy_admin.css +327 -0
- data/app/assets/stylesheets/easy_admin/application.tailwind.css +1 -0
- data/app/assets/stylesheets/easy_admin/swal_customizations.css +168 -0
- data/app/components/easy_admin/versions/diff_component.rb +184 -0
- data/app/components/easy_admin/versions/diff_modal_component.rb +314 -0
- data/app/components/easy_admin/versions/history_component.rb +141 -0
- data/app/components/easy_admin/versions/pagination_component.rb +206 -0
- data/app/components/easy_admin/versions/timeline_component.rb +412 -0
- data/app/concerns/easy_admin/resource_versions.rb +306 -0
- data/app/controllers/easy_admin/application_controller.rb +8 -0
- data/app/controllers/easy_admin/resources_controller.rb +3 -1
- data/app/javascript/controllers/modal_controller.js +38 -0
- data/app/javascript/easy_admin/controllers/version_revert_controller.js +108 -0
- data/app/javascript/easy_admin/controllers.js +3 -1
- data/config/routes.rb +5 -0
- data/lib/easy-admin-rails.rb +1 -0
- data/lib/easy_admin/resource.rb +15 -0
- data/lib/easy_admin/version.rb +1 -1
- data/lib/easy_admin/versioning.rb +43 -0
- metadata +12 -2
@@ -1963,6 +1963,187 @@ div.jsoneditor-statusbar > .jsoneditor-size-info {
|
|
1963
1963
|
opacity: 1;
|
1964
1964
|
}
|
1965
1965
|
|
1966
|
+
/* SweetAlert2 Admin Panel Customizations */
|
1967
|
+
|
1968
|
+
/* Modal popup container */
|
1969
|
+
|
1970
|
+
.easy-admin-swal-popup {
|
1971
|
+
font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
|
1972
|
+
border-radius: 0.75rem;
|
1973
|
+
box-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
|
1974
|
+
border: 1px solid rgb(229 231 235);
|
1975
|
+
}
|
1976
|
+
|
1977
|
+
/* Title styling to match admin panel headers */
|
1978
|
+
|
1979
|
+
.easy-admin-swal-title {
|
1980
|
+
color: rgb(17 24 39);
|
1981
|
+
font-size: 1.125rem;
|
1982
|
+
font-weight: 600;
|
1983
|
+
line-height: 1.75rem;
|
1984
|
+
padding: 1.5rem 1.5rem 0 1.5rem;
|
1985
|
+
margin: 0;
|
1986
|
+
}
|
1987
|
+
|
1988
|
+
/* Content text styling */
|
1989
|
+
|
1990
|
+
.easy-admin-swal-content {
|
1991
|
+
color: rgb(75 85 99);
|
1992
|
+
font-size: 0.875rem;
|
1993
|
+
line-height: 1.5rem;
|
1994
|
+
padding: 1rem 1.5rem;
|
1995
|
+
margin: 0;
|
1996
|
+
}
|
1997
|
+
|
1998
|
+
/* Button container */
|
1999
|
+
|
2000
|
+
.easy-admin-swal-actions {
|
2001
|
+
padding: 1rem 1.5rem 1.5rem 1.5rem;
|
2002
|
+
gap: 0.75rem;
|
2003
|
+
flex-direction: row-reverse;
|
2004
|
+
justify-content: flex-start;
|
2005
|
+
}
|
2006
|
+
|
2007
|
+
/* Confirm button styling */
|
2008
|
+
|
2009
|
+
.easy-admin-swal-confirm-button {
|
2010
|
+
background-color: rgb(59 130 246);
|
2011
|
+
color: white;
|
2012
|
+
border: 1px solid rgb(59 130 246);
|
2013
|
+
border-radius: 0.5rem;
|
2014
|
+
padding: 0.5rem 1rem;
|
2015
|
+
font-size: 0.875rem;
|
2016
|
+
font-weight: 500;
|
2017
|
+
line-height: 1.25rem;
|
2018
|
+
transition: all 0.15s ease-in-out;
|
2019
|
+
cursor: pointer;
|
2020
|
+
outline: none;
|
2021
|
+
}
|
2022
|
+
|
2023
|
+
.easy-admin-swal-confirm-button:hover {
|
2024
|
+
background-color: rgb(37 99 235);
|
2025
|
+
border-color: rgb(37 99 235);
|
2026
|
+
}
|
2027
|
+
|
2028
|
+
.easy-admin-swal-confirm-button:focus {
|
2029
|
+
ring: 2px solid rgb(59 130 246);
|
2030
|
+
ring-offset: 2px;
|
2031
|
+
}
|
2032
|
+
|
2033
|
+
/* Cancel button styling */
|
2034
|
+
|
2035
|
+
.easy-admin-swal-cancel-button {
|
2036
|
+
background-color: rgb(249 250 251);
|
2037
|
+
color: rgb(75 85 99);
|
2038
|
+
border: 1px solid rgb(209 213 219);
|
2039
|
+
border-radius: 0.5rem;
|
2040
|
+
padding: 0.5rem 1rem;
|
2041
|
+
font-size: 0.875rem;
|
2042
|
+
font-weight: 500;
|
2043
|
+
line-height: 1.25rem;
|
2044
|
+
transition: all 0.15s ease-in-out;
|
2045
|
+
cursor: pointer;
|
2046
|
+
outline: none;
|
2047
|
+
}
|
2048
|
+
|
2049
|
+
.easy-admin-swal-cancel-button:hover {
|
2050
|
+
background-color: rgb(243 244 246);
|
2051
|
+
border-color: rgb(156 163 175);
|
2052
|
+
}
|
2053
|
+
|
2054
|
+
.easy-admin-swal-cancel-button:focus {
|
2055
|
+
ring: 2px solid rgb(59 130 246);
|
2056
|
+
ring-offset: 2px;
|
2057
|
+
}
|
2058
|
+
|
2059
|
+
/* Success state confirm button (green) */
|
2060
|
+
|
2061
|
+
.swal2-icon-success + .easy-admin-swal-title + .easy-admin-swal-content + .easy-admin-swal-actions .easy-admin-swal-confirm-button {
|
2062
|
+
background-color: rgb(34 197 94);
|
2063
|
+
border-color: rgb(34 197 94);
|
2064
|
+
}
|
2065
|
+
|
2066
|
+
.swal2-icon-success + .easy-admin-swal-title + .easy-admin-swal-content + .easy-admin-swal-actions .easy-admin-swal-confirm-button:hover {
|
2067
|
+
background-color: rgb(21 128 61);
|
2068
|
+
border-color: rgb(21 128 61);
|
2069
|
+
}
|
2070
|
+
|
2071
|
+
/* Error state confirm button (red) */
|
2072
|
+
|
2073
|
+
.swal2-icon-error + .easy-admin-swal-title + .easy-admin-swal-content + .easy-admin-swal-actions .easy-admin-swal-confirm-button {
|
2074
|
+
background-color: rgb(239 68 68);
|
2075
|
+
border-color: rgb(239 68 68);
|
2076
|
+
}
|
2077
|
+
|
2078
|
+
.swal2-icon-error + .easy-admin-swal-title + .easy-admin-swal-content + .easy-admin-swal-actions .easy-admin-swal-confirm-button:hover {
|
2079
|
+
background-color: rgb(220 38 38);
|
2080
|
+
border-color: rgb(220 38 38);
|
2081
|
+
}
|
2082
|
+
|
2083
|
+
/* Loading spinner customization */
|
2084
|
+
|
2085
|
+
.easy-admin-swal-popup .swal2-loader {
|
2086
|
+
border-color: rgb(59 130 246) transparent rgb(59 130 246) transparent;
|
2087
|
+
}
|
2088
|
+
|
2089
|
+
/* Icon customizations to match admin panel colors */
|
2090
|
+
|
2091
|
+
.easy-admin-swal-popup .swal2-icon.swal2-success [class^=swal2-success-line] {
|
2092
|
+
background-color: rgb(34 197 94);
|
2093
|
+
}
|
2094
|
+
|
2095
|
+
.easy-admin-swal-popup .swal2-icon.swal2-success .swal2-success-ring {
|
2096
|
+
border-color: rgb(34 197 94);
|
2097
|
+
}
|
2098
|
+
|
2099
|
+
.easy-admin-swal-popup .swal2-icon.swal2-error [class^=swal2-x-mark-line] {
|
2100
|
+
background-color: rgb(239 68 68);
|
2101
|
+
}
|
2102
|
+
|
2103
|
+
.easy-admin-swal-popup .swal2-icon.swal2-question {
|
2104
|
+
border-color: rgb(59 130 246);
|
2105
|
+
color: rgb(59 130 246);
|
2106
|
+
}
|
2107
|
+
|
2108
|
+
/* Focus states for better accessibility */
|
2109
|
+
|
2110
|
+
.easy-admin-swal-confirm-button:focus,
|
2111
|
+
.easy-admin-swal-cancel-button:focus {
|
2112
|
+
outline: 2px solid rgb(59 130 246);
|
2113
|
+
outline-offset: 2px;
|
2114
|
+
}
|
2115
|
+
|
2116
|
+
/* Mobile responsiveness */
|
2117
|
+
|
2118
|
+
@media (max-width: 640px) {
|
2119
|
+
.easy-admin-swal-popup {
|
2120
|
+
width: 90vw !important;
|
2121
|
+
margin: 0 auto;
|
2122
|
+
}
|
2123
|
+
|
2124
|
+
.easy-admin-swal-title {
|
2125
|
+
font-size: 1rem;
|
2126
|
+
padding: 1.25rem 1.25rem 0 1.25rem;
|
2127
|
+
}
|
2128
|
+
|
2129
|
+
.easy-admin-swal-content {
|
2130
|
+
padding: 0.75rem 1.25rem;
|
2131
|
+
font-size: 0.875rem;
|
2132
|
+
}
|
2133
|
+
|
2134
|
+
.easy-admin-swal-actions {
|
2135
|
+
padding: 1rem 1.25rem 1.25rem 1.25rem;
|
2136
|
+
flex-direction: column;
|
2137
|
+
gap: 0.5rem;
|
2138
|
+
}
|
2139
|
+
|
2140
|
+
.easy-admin-swal-confirm-button,
|
2141
|
+
.easy-admin-swal-cancel-button {
|
2142
|
+
width: 100%;
|
2143
|
+
justify-content: center;
|
2144
|
+
}
|
2145
|
+
}
|
2146
|
+
|
1966
2147
|
*, ::before, ::after {
|
1967
2148
|
--tw-border-spacing-x: 0;
|
1968
2149
|
--tw-border-spacing-y: 0;
|
@@ -3237,6 +3418,10 @@ input:checked + .toggle-switch .toggle-slider:before {
|
|
3237
3418
|
left: 50%;
|
3238
3419
|
}
|
3239
3420
|
|
3421
|
+
.left-10 {
|
3422
|
+
left: 2.5rem;
|
3423
|
+
}
|
3424
|
+
|
3240
3425
|
.left-2 {
|
3241
3426
|
left: 0.5rem;
|
3242
3427
|
}
|
@@ -3245,6 +3430,10 @@ input:checked + .toggle-switch .toggle-slider:before {
|
|
3245
3430
|
left: 1.5rem;
|
3246
3431
|
}
|
3247
3432
|
|
3433
|
+
.left-8 {
|
3434
|
+
left: 2rem;
|
3435
|
+
}
|
3436
|
+
|
3248
3437
|
.right-0 {
|
3249
3438
|
right: 0px;
|
3250
3439
|
}
|
@@ -3563,6 +3752,14 @@ input:checked + .toggle-switch .toggle-slider:before {
|
|
3563
3752
|
max-height: 15rem;
|
3564
3753
|
}
|
3565
3754
|
|
3755
|
+
.max-h-96 {
|
3756
|
+
max-height: 24rem;
|
3757
|
+
}
|
3758
|
+
|
3759
|
+
.max-h-\[90vh\] {
|
3760
|
+
max-height: 90vh;
|
3761
|
+
}
|
3762
|
+
|
3566
3763
|
.min-h-10 {
|
3567
3764
|
min-height: 2.5rem;
|
3568
3765
|
}
|
@@ -3579,6 +3776,10 @@ input:checked + .toggle-switch .toggle-slider:before {
|
|
3579
3776
|
width: 0px;
|
3580
3777
|
}
|
3581
3778
|
|
3779
|
+
.w-0\.5 {
|
3780
|
+
width: 0.125rem;
|
3781
|
+
}
|
3782
|
+
|
3582
3783
|
.w-1\/4 {
|
3583
3784
|
width: 25%;
|
3584
3785
|
}
|
@@ -3607,6 +3808,10 @@ input:checked + .toggle-switch .toggle-slider:before {
|
|
3607
3808
|
width: 0.5rem;
|
3608
3809
|
}
|
3609
3810
|
|
3811
|
+
.w-20 {
|
3812
|
+
width: 5rem;
|
3813
|
+
}
|
3814
|
+
|
3610
3815
|
.w-3 {
|
3611
3816
|
width: 0.75rem;
|
3612
3817
|
}
|
@@ -3619,6 +3824,10 @@ input:checked + .toggle-switch .toggle-slider:before {
|
|
3619
3824
|
width: 60%;
|
3620
3825
|
}
|
3621
3826
|
|
3827
|
+
.w-32 {
|
3828
|
+
width: 8rem;
|
3829
|
+
}
|
3830
|
+
|
3622
3831
|
.w-4 {
|
3623
3832
|
width: 1rem;
|
3624
3833
|
}
|
@@ -3724,6 +3933,14 @@ input:checked + .toggle-switch .toggle-slider:before {
|
|
3724
3933
|
flex-shrink: 0;
|
3725
3934
|
}
|
3726
3935
|
|
3936
|
+
.\!grow {
|
3937
|
+
flex-grow: 1 !important;
|
3938
|
+
}
|
3939
|
+
|
3940
|
+
.grow {
|
3941
|
+
flex-grow: 1;
|
3942
|
+
}
|
3943
|
+
|
3727
3944
|
.origin-top-left {
|
3728
3945
|
transform-origin: top left;
|
3729
3946
|
}
|
@@ -3906,6 +4123,12 @@ input:checked + .toggle-switch .toggle-slider:before {
|
|
3906
4123
|
gap: 1.5rem;
|
3907
4124
|
}
|
3908
4125
|
|
4126
|
+
.-space-x-px > :not([hidden]) ~ :not([hidden]) {
|
4127
|
+
--tw-space-x-reverse: 0;
|
4128
|
+
margin-right: calc(-1px * var(--tw-space-x-reverse));
|
4129
|
+
margin-left: calc(-1px * calc(1 - var(--tw-space-x-reverse)));
|
4130
|
+
}
|
4131
|
+
|
3909
4132
|
.space-x-1 > :not([hidden]) ~ :not([hidden]) {
|
3910
4133
|
--tw-space-x-reverse: 0;
|
3911
4134
|
margin-right: calc(0.25rem * var(--tw-space-x-reverse));
|
@@ -4018,6 +4241,10 @@ input:checked + .toggle-switch .toggle-slider:before {
|
|
4018
4241
|
white-space: nowrap;
|
4019
4242
|
}
|
4020
4243
|
|
4244
|
+
.whitespace-pre-wrap {
|
4245
|
+
white-space: pre-wrap;
|
4246
|
+
}
|
4247
|
+
|
4021
4248
|
.rounded {
|
4022
4249
|
border-radius: 0.25rem;
|
4023
4250
|
}
|
@@ -4060,11 +4287,21 @@ input:checked + .toggle-switch .toggle-slider:before {
|
|
4060
4287
|
border-bottom-left-radius: 0.5rem;
|
4061
4288
|
}
|
4062
4289
|
|
4290
|
+
.rounded-l-md {
|
4291
|
+
border-top-left-radius: 0.375rem;
|
4292
|
+
border-bottom-left-radius: 0.375rem;
|
4293
|
+
}
|
4294
|
+
|
4063
4295
|
.rounded-r-lg {
|
4064
4296
|
border-top-right-radius: 0.5rem;
|
4065
4297
|
border-bottom-right-radius: 0.5rem;
|
4066
4298
|
}
|
4067
4299
|
|
4300
|
+
.rounded-r-md {
|
4301
|
+
border-top-right-radius: 0.375rem;
|
4302
|
+
border-bottom-right-radius: 0.375rem;
|
4303
|
+
}
|
4304
|
+
|
4068
4305
|
.rounded-t-lg {
|
4069
4306
|
border-top-left-radius: 0.5rem;
|
4070
4307
|
border-top-right-radius: 0.5rem;
|
@@ -4187,6 +4424,16 @@ input:checked + .toggle-switch .toggle-slider:before {
|
|
4187
4424
|
border-color: rgb(220 252 231 / var(--tw-border-opacity, 1));
|
4188
4425
|
}
|
4189
4426
|
|
4427
|
+
.border-green-200 {
|
4428
|
+
--tw-border-opacity: 1;
|
4429
|
+
border-color: rgb(187 247 208 / var(--tw-border-opacity, 1));
|
4430
|
+
}
|
4431
|
+
|
4432
|
+
.border-green-500 {
|
4433
|
+
--tw-border-opacity: 1;
|
4434
|
+
border-color: rgb(34 197 94 / var(--tw-border-opacity, 1));
|
4435
|
+
}
|
4436
|
+
|
4190
4437
|
.border-red-100 {
|
4191
4438
|
--tw-border-opacity: 1;
|
4192
4439
|
border-color: rgb(254 226 226 / var(--tw-border-opacity, 1));
|
@@ -4202,6 +4449,11 @@ input:checked + .toggle-switch .toggle-slider:before {
|
|
4202
4449
|
border-color: rgb(252 165 165 / var(--tw-border-opacity, 1));
|
4203
4450
|
}
|
4204
4451
|
|
4452
|
+
.border-red-500 {
|
4453
|
+
--tw-border-opacity: 1;
|
4454
|
+
border-color: rgb(239 68 68 / var(--tw-border-opacity, 1));
|
4455
|
+
}
|
4456
|
+
|
4205
4457
|
.border-transparent {
|
4206
4458
|
border-color: transparent;
|
4207
4459
|
}
|
@@ -4215,6 +4467,16 @@ input:checked + .toggle-switch .toggle-slider:before {
|
|
4215
4467
|
border-color: rgb(254 249 195 / var(--tw-border-opacity, 1));
|
4216
4468
|
}
|
4217
4469
|
|
4470
|
+
.border-yellow-200 {
|
4471
|
+
--tw-border-opacity: 1;
|
4472
|
+
border-color: rgb(254 240 138 / var(--tw-border-opacity, 1));
|
4473
|
+
}
|
4474
|
+
|
4475
|
+
.bg-black {
|
4476
|
+
--tw-bg-opacity: 1;
|
4477
|
+
background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1));
|
4478
|
+
}
|
4479
|
+
|
4218
4480
|
.bg-blue-100 {
|
4219
4481
|
--tw-bg-opacity: 1;
|
4220
4482
|
background-color: rgb(219 234 254 / var(--tw-bg-opacity, 1));
|
@@ -4260,6 +4522,11 @@ input:checked + .toggle-switch .toggle-slider:before {
|
|
4260
4522
|
background-color: rgb(209 213 219 / var(--tw-bg-opacity, 1));
|
4261
4523
|
}
|
4262
4524
|
|
4525
|
+
.bg-gray-400 {
|
4526
|
+
--tw-bg-opacity: 1;
|
4527
|
+
background-color: rgb(156 163 175 / var(--tw-bg-opacity, 1));
|
4528
|
+
}
|
4529
|
+
|
4263
4530
|
.bg-gray-50 {
|
4264
4531
|
--tw-bg-opacity: 1;
|
4265
4532
|
background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
|
@@ -4709,6 +4976,10 @@ input:checked + .toggle-switch .toggle-slider:before {
|
|
4709
4976
|
vertical-align: middle;
|
4710
4977
|
}
|
4711
4978
|
|
4979
|
+
.font-mono {
|
4980
|
+
font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
|
4981
|
+
}
|
4982
|
+
|
4712
4983
|
.font-sans {
|
4713
4984
|
font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
|
4714
4985
|
}
|
@@ -4931,6 +5202,10 @@ input:checked + .toggle-switch .toggle-slider:before {
|
|
4931
5202
|
text-decoration-line: underline;
|
4932
5203
|
}
|
4933
5204
|
|
5205
|
+
.line-through {
|
5206
|
+
text-decoration-line: line-through;
|
5207
|
+
}
|
5208
|
+
|
4934
5209
|
.antialiased {
|
4935
5210
|
-webkit-font-smoothing: antialiased;
|
4936
5211
|
-moz-osx-font-smoothing: grayscale;
|
@@ -4946,6 +5221,16 @@ input:checked + .toggle-switch .toggle-slider:before {
|
|
4946
5221
|
color: rgb(156 163 175 / var(--tw-placeholder-opacity, 1));
|
4947
5222
|
}
|
4948
5223
|
|
5224
|
+
.placeholder-red-400::-moz-placeholder {
|
5225
|
+
--tw-placeholder-opacity: 1;
|
5226
|
+
color: rgb(248 113 113 / var(--tw-placeholder-opacity, 1));
|
5227
|
+
}
|
5228
|
+
|
5229
|
+
.placeholder-red-400::placeholder {
|
5230
|
+
--tw-placeholder-opacity: 1;
|
5231
|
+
color: rgb(248 113 113 / var(--tw-placeholder-opacity, 1));
|
5232
|
+
}
|
5233
|
+
|
4949
5234
|
.opacity-0 {
|
4950
5235
|
opacity: 0;
|
4951
5236
|
}
|
@@ -5046,6 +5331,10 @@ input:checked + .toggle-switch .toggle-slider:before {
|
|
5046
5331
|
box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
|
5047
5332
|
}
|
5048
5333
|
|
5334
|
+
.ring-inset {
|
5335
|
+
--tw-ring-inset: inset;
|
5336
|
+
}
|
5337
|
+
|
5049
5338
|
.ring-black {
|
5050
5339
|
--tw-ring-opacity: 1;
|
5051
5340
|
--tw-ring-color: rgb(0 0 0 / var(--tw-ring-opacity, 1));
|
@@ -5128,6 +5417,12 @@ input:checked + .toggle-switch .toggle-slider:before {
|
|
5128
5417
|
transition-duration: 150ms;
|
5129
5418
|
}
|
5130
5419
|
|
5420
|
+
.transition-shadow {
|
5421
|
+
transition-property: box-shadow;
|
5422
|
+
transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
|
5423
|
+
transition-duration: 150ms;
|
5424
|
+
}
|
5425
|
+
|
5131
5426
|
.transition-transform {
|
5132
5427
|
transition-property: transform;
|
5133
5428
|
transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
|
@@ -5150,6 +5445,10 @@ input:checked + .toggle-switch .toggle-slider:before {
|
|
5150
5445
|
transition-duration: 500ms;
|
5151
5446
|
}
|
5152
5447
|
|
5448
|
+
.ease-in {
|
5449
|
+
transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
|
5450
|
+
}
|
5451
|
+
|
5153
5452
|
.ease-in-out {
|
5154
5453
|
transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
|
5155
5454
|
}
|
@@ -5283,6 +5582,11 @@ input:checked + .toggle-switch .toggle-slider:before {
|
|
5283
5582
|
border-color: rgb(59 130 246 / var(--tw-border-opacity, 1));
|
5284
5583
|
}
|
5285
5584
|
|
5585
|
+
.focus-within\:border-red-500:focus-within {
|
5586
|
+
--tw-border-opacity: 1;
|
5587
|
+
border-color: rgb(239 68 68 / var(--tw-border-opacity, 1));
|
5588
|
+
}
|
5589
|
+
|
5286
5590
|
.focus-within\:ring-1:focus-within {
|
5287
5591
|
--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
|
5288
5592
|
--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
|
@@ -5294,6 +5598,11 @@ input:checked + .toggle-switch .toggle-slider:before {
|
|
5294
5598
|
--tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1));
|
5295
5599
|
}
|
5296
5600
|
|
5601
|
+
.focus-within\:ring-red-500:focus-within {
|
5602
|
+
--tw-ring-opacity: 1;
|
5603
|
+
--tw-ring-color: rgb(239 68 68 / var(--tw-ring-opacity, 1));
|
5604
|
+
}
|
5605
|
+
|
5297
5606
|
.hover\:scale-105:hover {
|
5298
5607
|
--tw-scale-x: 1.05;
|
5299
5608
|
--tw-scale-y: 1.05;
|
@@ -5534,6 +5843,10 @@ input:checked + .toggle-switch .toggle-slider:before {
|
|
5534
5843
|
z-index: 10;
|
5535
5844
|
}
|
5536
5845
|
|
5846
|
+
.focus\:z-20:focus {
|
5847
|
+
z-index: 20;
|
5848
|
+
}
|
5849
|
+
|
5537
5850
|
.focus\:border-blue-500:focus {
|
5538
5851
|
--tw-border-opacity: 1;
|
5539
5852
|
border-color: rgb(59 130 246 / var(--tw-border-opacity, 1));
|
@@ -5553,6 +5866,10 @@ input:checked + .toggle-switch .toggle-slider:before {
|
|
5553
5866
|
outline-offset: 2px;
|
5554
5867
|
}
|
5555
5868
|
|
5869
|
+
.focus\:outline-offset-0:focus {
|
5870
|
+
outline-offset: 0px;
|
5871
|
+
}
|
5872
|
+
|
5556
5873
|
.focus\:ring-0:focus {
|
5557
5874
|
--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
|
5558
5875
|
--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
|
@@ -5748,6 +6065,10 @@ input:checked + .toggle-switch .toggle-slider:before {
|
|
5748
6065
|
margin-bottom: 1.5rem;
|
5749
6066
|
}
|
5750
6067
|
|
6068
|
+
.sm\:mb-8 {
|
6069
|
+
margin-bottom: 2rem;
|
6070
|
+
}
|
6071
|
+
|
5751
6072
|
.sm\:ml-16 {
|
5752
6073
|
margin-left: 4rem;
|
5753
6074
|
}
|
@@ -5844,6 +6165,12 @@ input:checked + .toggle-switch .toggle-slider:before {
|
|
5844
6165
|
margin-left: calc(0.75rem * calc(1 - var(--tw-space-x-reverse)));
|
5845
6166
|
}
|
5846
6167
|
|
6168
|
+
.sm\:space-x-4 > :not([hidden]) ~ :not([hidden]) {
|
6169
|
+
--tw-space-x-reverse: 0;
|
6170
|
+
margin-right: calc(1rem * var(--tw-space-x-reverse));
|
6171
|
+
margin-left: calc(1rem * calc(1 - var(--tw-space-x-reverse)));
|
6172
|
+
}
|
6173
|
+
|
5847
6174
|
.sm\:space-y-0 > :not([hidden]) ~ :not([hidden]) {
|
5848
6175
|
--tw-space-y-reverse: 0;
|
5849
6176
|
margin-top: calc(0px * calc(1 - var(--tw-space-y-reverse)));
|
@@ -0,0 +1,168 @@
|
|
1
|
+
/* SweetAlert2 Admin Panel Customizations */
|
2
|
+
|
3
|
+
/* Modal popup container */
|
4
|
+
.easy-admin-swal-popup {
|
5
|
+
font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
|
6
|
+
border-radius: 0.75rem;
|
7
|
+
box-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
|
8
|
+
border: 1px solid rgb(229 231 235);
|
9
|
+
}
|
10
|
+
|
11
|
+
/* Title styling to match admin panel headers */
|
12
|
+
.easy-admin-swal-title {
|
13
|
+
color: rgb(17 24 39);
|
14
|
+
font-size: 1.125rem;
|
15
|
+
font-weight: 600;
|
16
|
+
line-height: 1.75rem;
|
17
|
+
padding: 1.5rem 1.5rem 0 1.5rem;
|
18
|
+
margin: 0;
|
19
|
+
}
|
20
|
+
|
21
|
+
/* Content text styling */
|
22
|
+
.easy-admin-swal-content {
|
23
|
+
color: rgb(75 85 99);
|
24
|
+
font-size: 0.875rem;
|
25
|
+
line-height: 1.5rem;
|
26
|
+
padding: 1rem 1.5rem;
|
27
|
+
margin: 0;
|
28
|
+
}
|
29
|
+
|
30
|
+
/* Button container */
|
31
|
+
.easy-admin-swal-actions {
|
32
|
+
padding: 1rem 1.5rem 1.5rem 1.5rem;
|
33
|
+
gap: 0.75rem;
|
34
|
+
flex-direction: row-reverse;
|
35
|
+
justify-content: flex-start;
|
36
|
+
}
|
37
|
+
|
38
|
+
/* Confirm button styling */
|
39
|
+
.easy-admin-swal-confirm-button {
|
40
|
+
background-color: rgb(59 130 246);
|
41
|
+
color: white;
|
42
|
+
border: 1px solid rgb(59 130 246);
|
43
|
+
border-radius: 0.5rem;
|
44
|
+
padding: 0.5rem 1rem;
|
45
|
+
font-size: 0.875rem;
|
46
|
+
font-weight: 500;
|
47
|
+
line-height: 1.25rem;
|
48
|
+
transition: all 0.15s ease-in-out;
|
49
|
+
cursor: pointer;
|
50
|
+
outline: none;
|
51
|
+
}
|
52
|
+
|
53
|
+
.easy-admin-swal-confirm-button:hover {
|
54
|
+
background-color: rgb(37 99 235);
|
55
|
+
border-color: rgb(37 99 235);
|
56
|
+
}
|
57
|
+
|
58
|
+
.easy-admin-swal-confirm-button:focus {
|
59
|
+
ring: 2px solid rgb(59 130 246);
|
60
|
+
ring-offset: 2px;
|
61
|
+
}
|
62
|
+
|
63
|
+
/* Cancel button styling */
|
64
|
+
.easy-admin-swal-cancel-button {
|
65
|
+
background-color: rgb(249 250 251);
|
66
|
+
color: rgb(75 85 99);
|
67
|
+
border: 1px solid rgb(209 213 219);
|
68
|
+
border-radius: 0.5rem;
|
69
|
+
padding: 0.5rem 1rem;
|
70
|
+
font-size: 0.875rem;
|
71
|
+
font-weight: 500;
|
72
|
+
line-height: 1.25rem;
|
73
|
+
transition: all 0.15s ease-in-out;
|
74
|
+
cursor: pointer;
|
75
|
+
outline: none;
|
76
|
+
}
|
77
|
+
|
78
|
+
.easy-admin-swal-cancel-button:hover {
|
79
|
+
background-color: rgb(243 244 246);
|
80
|
+
border-color: rgb(156 163 175);
|
81
|
+
}
|
82
|
+
|
83
|
+
.easy-admin-swal-cancel-button:focus {
|
84
|
+
ring: 2px solid rgb(59 130 246);
|
85
|
+
ring-offset: 2px;
|
86
|
+
}
|
87
|
+
|
88
|
+
/* Success state confirm button (green) */
|
89
|
+
.swal2-icon-success + .easy-admin-swal-title + .easy-admin-swal-content + .easy-admin-swal-actions .easy-admin-swal-confirm-button {
|
90
|
+
background-color: rgb(34 197 94);
|
91
|
+
border-color: rgb(34 197 94);
|
92
|
+
}
|
93
|
+
|
94
|
+
.swal2-icon-success + .easy-admin-swal-title + .easy-admin-swal-content + .easy-admin-swal-actions .easy-admin-swal-confirm-button:hover {
|
95
|
+
background-color: rgb(21 128 61);
|
96
|
+
border-color: rgb(21 128 61);
|
97
|
+
}
|
98
|
+
|
99
|
+
/* Error state confirm button (red) */
|
100
|
+
.swal2-icon-error + .easy-admin-swal-title + .easy-admin-swal-content + .easy-admin-swal-actions .easy-admin-swal-confirm-button {
|
101
|
+
background-color: rgb(239 68 68);
|
102
|
+
border-color: rgb(239 68 68);
|
103
|
+
}
|
104
|
+
|
105
|
+
.swal2-icon-error + .easy-admin-swal-title + .easy-admin-swal-content + .easy-admin-swal-actions .easy-admin-swal-confirm-button:hover {
|
106
|
+
background-color: rgb(220 38 38);
|
107
|
+
border-color: rgb(220 38 38);
|
108
|
+
}
|
109
|
+
|
110
|
+
/* Loading spinner customization */
|
111
|
+
.easy-admin-swal-popup .swal2-loader {
|
112
|
+
border-color: rgb(59 130 246) transparent rgb(59 130 246) transparent;
|
113
|
+
}
|
114
|
+
|
115
|
+
/* Icon customizations to match admin panel colors */
|
116
|
+
.easy-admin-swal-popup .swal2-icon.swal2-success [class^=swal2-success-line] {
|
117
|
+
background-color: rgb(34 197 94);
|
118
|
+
}
|
119
|
+
|
120
|
+
.easy-admin-swal-popup .swal2-icon.swal2-success .swal2-success-ring {
|
121
|
+
border-color: rgb(34 197 94);
|
122
|
+
}
|
123
|
+
|
124
|
+
.easy-admin-swal-popup .swal2-icon.swal2-error [class^=swal2-x-mark-line] {
|
125
|
+
background-color: rgb(239 68 68);
|
126
|
+
}
|
127
|
+
|
128
|
+
.easy-admin-swal-popup .swal2-icon.swal2-question {
|
129
|
+
border-color: rgb(59 130 246);
|
130
|
+
color: rgb(59 130 246);
|
131
|
+
}
|
132
|
+
|
133
|
+
/* Focus states for better accessibility */
|
134
|
+
.easy-admin-swal-confirm-button:focus,
|
135
|
+
.easy-admin-swal-cancel-button:focus {
|
136
|
+
outline: 2px solid rgb(59 130 246);
|
137
|
+
outline-offset: 2px;
|
138
|
+
}
|
139
|
+
|
140
|
+
/* Mobile responsiveness */
|
141
|
+
@media (max-width: 640px) {
|
142
|
+
.easy-admin-swal-popup {
|
143
|
+
width: 90vw !important;
|
144
|
+
margin: 0 auto;
|
145
|
+
}
|
146
|
+
|
147
|
+
.easy-admin-swal-title {
|
148
|
+
font-size: 1rem;
|
149
|
+
padding: 1.25rem 1.25rem 0 1.25rem;
|
150
|
+
}
|
151
|
+
|
152
|
+
.easy-admin-swal-content {
|
153
|
+
padding: 0.75rem 1.25rem;
|
154
|
+
font-size: 0.875rem;
|
155
|
+
}
|
156
|
+
|
157
|
+
.easy-admin-swal-actions {
|
158
|
+
padding: 1rem 1.25rem 1.25rem 1.25rem;
|
159
|
+
flex-direction: column;
|
160
|
+
gap: 0.5rem;
|
161
|
+
}
|
162
|
+
|
163
|
+
.easy-admin-swal-confirm-button,
|
164
|
+
.easy-admin-swal-cancel-button {
|
165
|
+
width: 100%;
|
166
|
+
justify-content: center;
|
167
|
+
}
|
168
|
+
}
|