easy-admin-rails 0.1.11 → 0.1.13

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.
@@ -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)));
@@ -1,4 +1,5 @@
1
1
  @import "jsoneditor/dist/jsoneditor.css";
2
+ @import "./swal_customizations.css";
2
3
 
3
4
  @tailwind base;
4
5
  @tailwind components;
@@ -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
+ }