@wpmoo/ui 0.9.0 → 1.0.0-rc.2

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.
@@ -30,42 +30,42 @@
30
30
  --bs-gray-900: #212529;
31
31
  --bs-primary: #171717;
32
32
  --bs-secondary: #f4f4f5;
33
- --bs-success: #16803c;
34
- --bs-info: #0f6e8c;
35
- --bs-warning: #a15c00;
36
- --bs-danger: #dc2626;
33
+ --bs-success: #047857;
34
+ --bs-info: #0369a1;
35
+ --bs-warning: #b45309;
36
+ --bs-danger: #e7000b;
37
37
  --bs-light: #fafafa;
38
38
  --bs-dark: #18181b;
39
39
  --bs-primary-rgb: 23, 23, 23;
40
40
  --bs-secondary-rgb: 244, 244, 245;
41
- --bs-success-rgb: 22, 128, 60;
42
- --bs-info-rgb: 15, 110, 140;
43
- --bs-warning-rgb: 161, 92, 0;
44
- --bs-danger-rgb: 220, 38, 38;
41
+ --bs-success-rgb: 4, 120, 87;
42
+ --bs-info-rgb: 3, 105, 161;
43
+ --bs-warning-rgb: 180, 83, 9;
44
+ --bs-danger-rgb: 231, 0, 11;
45
45
  --bs-light-rgb: 250, 250, 250;
46
46
  --bs-dark-rgb: 24, 24, 27;
47
47
  --bs-primary-text-emphasis: #090909;
48
48
  --bs-secondary-text-emphasis: #626262;
49
- --bs-success-text-emphasis: #093318;
50
- --bs-info-text-emphasis: #062c38;
51
- --bs-warning-text-emphasis: #402500;
52
- --bs-danger-text-emphasis: #580f0f;
49
+ --bs-success-text-emphasis: #023023;
50
+ --bs-info-text-emphasis: #012a40;
51
+ --bs-warning-text-emphasis: #482104;
52
+ --bs-danger-text-emphasis: #5c0004;
53
53
  --bs-light-text-emphasis: #495057;
54
54
  --bs-dark-text-emphasis: #495057;
55
55
  --bs-primary-bg-subtle: #d1d1d1;
56
56
  --bs-secondary-bg-subtle: #fdfdfd;
57
- --bs-success-bg-subtle: #d0e6d8;
58
- --bs-info-bg-subtle: #cfe2e8;
59
- --bs-warning-bg-subtle: #ecdecc;
60
- --bs-danger-bg-subtle: #f8d4d4;
57
+ --bs-success-bg-subtle: #cde4dd;
58
+ --bs-info-bg-subtle: #cde1ec;
59
+ --bs-warning-bg-subtle: #f0ddce;
60
+ --bs-danger-bg-subtle: #faccce;
61
61
  --bs-light-bg-subtle: #fcfcfd;
62
62
  --bs-dark-bg-subtle: #ced4da;
63
63
  --bs-primary-border-subtle: #a2a2a2;
64
64
  --bs-secondary-border-subtle: #fbfbfb;
65
- --bs-success-border-subtle: #a2ccb1;
66
- --bs-info-border-subtle: #9fc5d1;
67
- --bs-warning-border-subtle: #d9be99;
68
- --bs-danger-border-subtle: #f1a8a8;
65
+ --bs-success-border-subtle: #9bc9bc;
66
+ --bs-info-border-subtle: #9ac3d9;
67
+ --bs-warning-border-subtle: #e1ba9d;
68
+ --bs-danger-border-subtle: #f5999d;
69
69
  --bs-light-border-subtle: #e9ecef;
70
70
  --bs-dark-border-subtle: #adb5bd;
71
71
  --bs-white-rgb: 255, 255, 255;
@@ -118,10 +118,10 @@
118
118
  --bs-focus-ring-width: 2px;
119
119
  --bs-focus-ring-opacity: 0.25;
120
120
  --bs-focus-ring-color: rgba(23, 23, 23, 0.25);
121
- --bs-form-valid-color: #16803c;
122
- --bs-form-valid-border-color: #16803c;
123
- --bs-form-invalid-color: #dc2626;
124
- --bs-form-invalid-border-color: #dc2626;
121
+ --bs-form-valid-color: #047857;
122
+ --bs-form-valid-border-color: #047857;
123
+ --bs-form-invalid-color: #e7000b;
124
+ --bs-form-invalid-border-color: #e7000b;
125
125
  }
126
126
 
127
127
  [data-bs-theme="dark"] {
@@ -142,26 +142,26 @@
142
142
  --bs-tertiary-bg-rgb: 32, 32, 36;
143
143
  --bs-primary-text-emphasis: #747474;
144
144
  --bs-secondary-text-emphasis: #f8f8f9;
145
- --bs-success-text-emphasis: #73b38a;
146
- --bs-info-text-emphasis: #6fa8ba;
147
- --bs-warning-text-emphasis: #c79d66;
148
- --bs-danger-text-emphasis: #ea7d7d;
145
+ --bs-success-text-emphasis: #68ae9a;
146
+ --bs-info-text-emphasis: #68a5c7;
147
+ --bs-warning-text-emphasis: #d2986b;
148
+ --bs-danger-text-emphasis: #f1666d;
149
149
  --bs-light-text-emphasis: #f8f9fa;
150
150
  --bs-dark-text-emphasis: #dee2e6;
151
151
  --bs-primary-bg-subtle: #050505;
152
152
  --bs-secondary-bg-subtle: #313131;
153
- --bs-success-bg-subtle: #041a0c;
154
- --bs-info-bg-subtle: #03161c;
155
- --bs-warning-bg-subtle: #201200;
156
- --bs-danger-bg-subtle: #2c0808;
153
+ --bs-success-bg-subtle: #011811;
154
+ --bs-info-bg-subtle: #011520;
155
+ --bs-warning-bg-subtle: #241102;
156
+ --bs-danger-bg-subtle: #2e0002;
157
157
  --bs-light-bg-subtle: #343a40;
158
158
  --bs-dark-bg-subtle: #1f2225;
159
159
  --bs-primary-border-subtle: #0e0e0e;
160
160
  --bs-secondary-border-subtle: #929293;
161
- --bs-success-border-subtle: #0d4d24;
162
- --bs-info-border-subtle: #094254;
163
- --bs-warning-border-subtle: #613700;
164
- --bs-danger-border-subtle: #841717;
161
+ --bs-success-border-subtle: #024834;
162
+ --bs-info-border-subtle: #023f61;
163
+ --bs-warning-border-subtle: #6c3205;
164
+ --bs-danger-border-subtle: #8b0007;
165
165
  --bs-light-border-subtle: #495057;
166
166
  --bs-dark-border-subtle: #343a40;
167
167
  --bs-heading-color: inherit;
@@ -396,10 +396,10 @@ a > code {
396
396
  }
397
397
 
398
398
  kbd {
399
- padding: 0.125rem 0.375rem;
399
+ padding: 0 0.25rem;
400
400
  font-size: 0.75rem;
401
401
  color: var(--bs-secondary-text-emphasis);
402
- background-color: var(--bs-secondary-bg-subtle);
402
+ background-color: var(--moo-muted-surface);
403
403
  border-radius: 0.375rem;
404
404
  }
405
405
 
@@ -1995,13 +1995,13 @@ progress {
1995
1995
 
1996
1996
  .table-success {
1997
1997
  --bs-table-color: #0a0a0a;
1998
- --bs-table-bg: #d0e6d8;
1999
- --bs-table-border-color: #a8baaf;
2000
- --bs-table-striped-bg: #c6dbce;
1998
+ --bs-table-bg: #cde4dd;
1999
+ --bs-table-border-color: #a6b8b3;
2000
+ --bs-table-striped-bg: #c3d9d2;
2001
2001
  --bs-table-striped-color: #0a0a0a;
2002
- --bs-table-active-bg: #bcd0c3;
2002
+ --bs-table-active-bg: #bacec8;
2003
2003
  --bs-table-active-color: #0a0a0a;
2004
- --bs-table-hover-bg: #c1d6c9;
2004
+ --bs-table-hover-bg: #bed4cd;
2005
2005
  --bs-table-hover-color: #0a0a0a;
2006
2006
  color: var(--bs-table-color);
2007
2007
  border-color: var(--bs-table-border-color);
@@ -2009,13 +2009,13 @@ progress {
2009
2009
 
2010
2010
  .table-info {
2011
2011
  --bs-table-color: #0a0a0a;
2012
- --bs-table-bg: #cfe2e8;
2013
- --bs-table-border-color: #a8b7bc;
2014
- --bs-table-striped-bg: #c5d7dd;
2012
+ --bs-table-bg: #cde1ec;
2013
+ --bs-table-border-color: #a6b6bf;
2014
+ --bs-table-striped-bg: #c3d6e1;
2015
2015
  --bs-table-striped-color: #0a0a0a;
2016
- --bs-table-active-bg: #bbccd2;
2016
+ --bs-table-active-bg: #baccd5;
2017
2017
  --bs-table-active-color: #0a0a0a;
2018
- --bs-table-hover-bg: #c0d2d7;
2018
+ --bs-table-hover-bg: #bed1db;
2019
2019
  --bs-table-hover-color: #0a0a0a;
2020
2020
  color: var(--bs-table-color);
2021
2021
  border-color: var(--bs-table-border-color);
@@ -2023,13 +2023,13 @@ progress {
2023
2023
 
2024
2024
  .table-warning {
2025
2025
  --bs-table-color: #0a0a0a;
2026
- --bs-table-bg: #ecdecc;
2027
- --bs-table-border-color: #bfb4a5;
2028
- --bs-table-striped-bg: #e1d3c2;
2026
+ --bs-table-bg: #f0ddce;
2027
+ --bs-table-border-color: #c2b3a7;
2028
+ --bs-table-striped-bg: #e5d2c4;
2029
2029
  --bs-table-striped-color: #0a0a0a;
2030
- --bs-table-active-bg: #d5c9b9;
2030
+ --bs-table-active-bg: #d9c8ba;
2031
2031
  --bs-table-active-color: #0a0a0a;
2032
- --bs-table-hover-bg: #dbcebd;
2032
+ --bs-table-hover-bg: #dfcdbf;
2033
2033
  --bs-table-hover-color: #0a0a0a;
2034
2034
  color: var(--bs-table-color);
2035
2035
  border-color: var(--bs-table-border-color);
@@ -2037,13 +2037,13 @@ progress {
2037
2037
 
2038
2038
  .table-danger {
2039
2039
  --bs-table-color: #0a0a0a;
2040
- --bs-table-bg: #f8d4d4;
2041
- --bs-table-border-color: #c8acac;
2042
- --bs-table-striped-bg: #eccaca;
2040
+ --bs-table-bg: #faccce;
2041
+ --bs-table-border-color: #caa5a7;
2042
+ --bs-table-striped-bg: #eec2c4;
2043
2043
  --bs-table-striped-color: #0a0a0a;
2044
- --bs-table-active-bg: #e0c0c0;
2044
+ --bs-table-active-bg: #e2b9ba;
2045
2045
  --bs-table-active-color: #0a0a0a;
2046
- --bs-table-hover-bg: #e6c5c5;
2046
+ --bs-table-hover-bg: #e8bdbf;
2047
2047
  --bs-table-hover-color: #0a0a0a;
2048
2048
  color: var(--bs-table-color);
2049
2049
  border-color: var(--bs-table-border-color);
@@ -2407,33 +2407,33 @@ textarea.form-control-lg {
2407
2407
  .form-check {
2408
2408
  display: block;
2409
2409
  min-height: 1.3125rem;
2410
- padding-left: 1.5em;
2410
+ padding-left: 1.5rem;
2411
2411
  margin-bottom: 0.125rem;
2412
2412
  }
2413
2413
 
2414
2414
  .form-check .form-check-input {
2415
2415
  float: left;
2416
- margin-left: -1.5em;
2416
+ margin-left: -1.5rem;
2417
2417
  }
2418
2418
 
2419
2419
  .form-check-reverse {
2420
- padding-right: 1.5em;
2420
+ padding-right: 1.5rem;
2421
2421
  padding-left: 0;
2422
2422
  text-align: right;
2423
2423
  }
2424
2424
 
2425
2425
  .form-check-reverse .form-check-input {
2426
2426
  float: right;
2427
- margin-right: -1.5em;
2427
+ margin-right: -1.5rem;
2428
2428
  margin-left: 0;
2429
2429
  }
2430
2430
 
2431
2431
  .form-check-input {
2432
2432
  --bs-form-check-bg: transparent;
2433
2433
  flex-shrink: 0;
2434
- width: 1em;
2435
- height: 1em;
2436
- margin-top: 0.25em;
2434
+ width: 1rem;
2435
+ height: 1rem;
2436
+ margin-top: 0.25rem;
2437
2437
  vertical-align: top;
2438
2438
  appearance: none;
2439
2439
  background-color: var(--bs-form-check-bg);
@@ -2897,11 +2897,6 @@ textarea.form-control-lg {
2897
2897
 
2898
2898
  .was-validated .form-control:valid, .form-control.is-valid {
2899
2899
  border-color: var(--bs-form-valid-border-color);
2900
- padding-right: calc(1.42857em + 0.5rem);
2901
- background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2316803c' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
2902
- background-repeat: no-repeat;
2903
- background-position: right calc(0.35714em + 0.125rem) center;
2904
- background-size: calc(0.71429em + 0.25rem) calc(0.71429em + 0.25rem);
2905
2900
  }
2906
2901
 
2907
2902
  .was-validated .form-control:valid:focus, .form-control.is-valid:focus {
@@ -2909,31 +2904,15 @@ textarea.form-control-lg {
2909
2904
  box-shadow: 0 0 0 2px rgba(var(--bs-success-rgb), 0.25);
2910
2905
  }
2911
2906
 
2912
- .was-validated textarea.form-control:valid, textarea.form-control.is-valid {
2913
- padding-right: calc(1.42857em + 0.5rem);
2914
- background-position: top calc(0.35714em + 0.125rem) right calc(0.35714em + 0.125rem);
2915
- }
2916
-
2917
2907
  .was-validated .form-select:valid, .form-select.is-valid {
2918
2908
  border-color: var(--bs-form-valid-border-color);
2919
2909
  }
2920
2910
 
2921
- .was-validated .form-select:valid:not([multiple]):not([size]), .was-validated .form-select:valid:not([multiple])[size="1"], .form-select.is-valid:not([multiple]):not([size]), .form-select.is-valid:not([multiple])[size="1"] {
2922
- --bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2316803c' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
2923
- padding-right: 3.4375rem;
2924
- background-position: right 0.625rem center, center right 1.875rem;
2925
- background-size: 16px 12px, calc(0.71429em + 0.25rem) calc(0.71429em + 0.25rem);
2926
- }
2927
-
2928
2911
  .was-validated .form-select:valid:focus, .form-select.is-valid:focus {
2929
2912
  border-color: var(--bs-form-valid-border-color);
2930
2913
  box-shadow: 0 0 0 2px rgba(var(--bs-success-rgb), 0.25);
2931
2914
  }
2932
2915
 
2933
- .was-validated .form-control-color:valid, .form-control-color.is-valid {
2934
- width: calc(3rem + calc(1.42857em + 0.5rem));
2935
- }
2936
-
2937
2916
  .was-validated .form-check-input:valid, .form-check-input.is-valid {
2938
2917
  border-color: var(--bs-form-valid-border-color);
2939
2918
  }
@@ -2997,11 +2976,6 @@ textarea.form-control-lg {
2997
2976
 
2998
2977
  .was-validated .form-control:invalid, .form-control.is-invalid {
2999
2978
  border-color: var(--bs-form-invalid-border-color);
3000
- padding-right: calc(1.42857em + 0.5rem);
3001
- background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc2626'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc2626' stroke='none'/%3e%3c/svg%3e");
3002
- background-repeat: no-repeat;
3003
- background-position: right calc(0.35714em + 0.125rem) center;
3004
- background-size: calc(0.71429em + 0.25rem) calc(0.71429em + 0.25rem);
3005
2979
  }
3006
2980
 
3007
2981
  .was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {
@@ -3009,31 +2983,15 @@ textarea.form-control-lg {
3009
2983
  box-shadow: 0 0 0 2px rgba(var(--bs-danger-rgb), 0.25);
3010
2984
  }
3011
2985
 
3012
- .was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {
3013
- padding-right: calc(1.42857em + 0.5rem);
3014
- background-position: top calc(0.35714em + 0.125rem) right calc(0.35714em + 0.125rem);
3015
- }
3016
-
3017
2986
  .was-validated .form-select:invalid, .form-select.is-invalid {
3018
2987
  border-color: var(--bs-form-invalid-border-color);
3019
2988
  }
3020
2989
 
3021
- .was-validated .form-select:invalid:not([multiple]):not([size]), .was-validated .form-select:invalid:not([multiple])[size="1"], .form-select.is-invalid:not([multiple]):not([size]), .form-select.is-invalid:not([multiple])[size="1"] {
3022
- --bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc2626'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc2626' stroke='none'/%3e%3c/svg%3e");
3023
- padding-right: 3.4375rem;
3024
- background-position: right 0.625rem center, center right 1.875rem;
3025
- background-size: 16px 12px, calc(0.71429em + 0.25rem) calc(0.71429em + 0.25rem);
3026
- }
3027
-
3028
2990
  .was-validated .form-select:invalid:focus, .form-select.is-invalid:focus {
3029
2991
  border-color: var(--bs-form-invalid-border-color);
3030
2992
  box-shadow: 0 0 0 2px rgba(var(--bs-danger-rgb), 0.25);
3031
2993
  }
3032
2994
 
3033
- .was-validated .form-control-color:invalid, .form-control-color.is-invalid {
3034
- width: calc(3rem + calc(1.42857em + 0.5rem));
3035
- }
3036
-
3037
2995
  .was-validated .form-check-input:invalid, .form-check-input.is-invalid {
3038
2996
  border-color: var(--bs-form-invalid-border-color);
3039
2997
  }
@@ -3184,70 +3142,70 @@ textarea.form-control-lg {
3184
3142
 
3185
3143
  .btn-success {
3186
3144
  --bs-btn-color: #fff;
3187
- --bs-btn-bg: #16803c;
3188
- --bs-btn-border-color: #16803c;
3145
+ --bs-btn-bg: #047857;
3146
+ --bs-btn-border-color: #047857;
3189
3147
  --bs-btn-hover-color: #fff;
3190
- --bs-btn-hover-bg: #136d33;
3191
- --bs-btn-hover-border-color: #126630;
3192
- --bs-btn-focus-shadow-rgb: 57, 147, 89;
3148
+ --bs-btn-hover-bg: #03664a;
3149
+ --bs-btn-hover-border-color: #036046;
3150
+ --bs-btn-focus-shadow-rgb: 42, 140, 112;
3193
3151
  --bs-btn-active-color: #fff;
3194
- --bs-btn-active-bg: #126630;
3195
- --bs-btn-active-border-color: #11602d;
3152
+ --bs-btn-active-bg: #036046;
3153
+ --bs-btn-active-border-color: #035a41;
3196
3154
  --bs-btn-active-shadow: none;
3197
3155
  --bs-btn-disabled-color: #fff;
3198
- --bs-btn-disabled-bg: #16803c;
3199
- --bs-btn-disabled-border-color: #16803c;
3156
+ --bs-btn-disabled-bg: #047857;
3157
+ --bs-btn-disabled-border-color: #047857;
3200
3158
  }
3201
3159
 
3202
3160
  .btn-info {
3203
3161
  --bs-btn-color: #fff;
3204
- --bs-btn-bg: #0f6e8c;
3205
- --bs-btn-border-color: #0f6e8c;
3162
+ --bs-btn-bg: #0369a1;
3163
+ --bs-btn-border-color: #0369a1;
3206
3164
  --bs-btn-hover-color: #fff;
3207
- --bs-btn-hover-bg: #0d5e77;
3208
- --bs-btn-hover-border-color: #0c5870;
3209
- --bs-btn-focus-shadow-rgb: 51, 132, 157;
3165
+ --bs-btn-hover-bg: #035989;
3166
+ --bs-btn-hover-border-color: #025481;
3167
+ --bs-btn-focus-shadow-rgb: 41, 128, 175;
3210
3168
  --bs-btn-active-color: #fff;
3211
- --bs-btn-active-bg: #0c5870;
3212
- --bs-btn-active-border-color: #0b5369;
3169
+ --bs-btn-active-bg: #025481;
3170
+ --bs-btn-active-border-color: #024f79;
3213
3171
  --bs-btn-active-shadow: none;
3214
3172
  --bs-btn-disabled-color: #fff;
3215
- --bs-btn-disabled-bg: #0f6e8c;
3216
- --bs-btn-disabled-border-color: #0f6e8c;
3173
+ --bs-btn-disabled-bg: #0369a1;
3174
+ --bs-btn-disabled-border-color: #0369a1;
3217
3175
  }
3218
3176
 
3219
3177
  .btn-warning {
3220
3178
  --bs-btn-color: #fff;
3221
- --bs-btn-bg: #a15c00;
3222
- --bs-btn-border-color: #a15c00;
3179
+ --bs-btn-bg: #b45309;
3180
+ --bs-btn-border-color: #b45309;
3223
3181
  --bs-btn-hover-color: #fff;
3224
- --bs-btn-hover-bg: #894e00;
3225
- --bs-btn-hover-border-color: #814a00;
3226
- --bs-btn-focus-shadow-rgb: 175, 116, 38;
3182
+ --bs-btn-hover-bg: #994708;
3183
+ --bs-btn-hover-border-color: #904207;
3184
+ --bs-btn-focus-shadow-rgb: 191, 109, 46;
3227
3185
  --bs-btn-active-color: #fff;
3228
- --bs-btn-active-bg: #814a00;
3229
- --bs-btn-active-border-color: #794500;
3186
+ --bs-btn-active-bg: #904207;
3187
+ --bs-btn-active-border-color: #873e07;
3230
3188
  --bs-btn-active-shadow: none;
3231
3189
  --bs-btn-disabled-color: #fff;
3232
- --bs-btn-disabled-bg: #a15c00;
3233
- --bs-btn-disabled-border-color: #a15c00;
3190
+ --bs-btn-disabled-bg: #b45309;
3191
+ --bs-btn-disabled-border-color: #b45309;
3234
3192
  }
3235
3193
 
3236
3194
  .btn-danger {
3237
3195
  --bs-btn-color: #fff;
3238
- --bs-btn-bg: #dc2626;
3239
- --bs-btn-border-color: #dc2626;
3196
+ --bs-btn-bg: #e7000b;
3197
+ --bs-btn-border-color: #e7000b;
3240
3198
  --bs-btn-hover-color: #fff;
3241
- --bs-btn-hover-bg: #bb2020;
3242
- --bs-btn-hover-border-color: #b01e1e;
3243
- --bs-btn-focus-shadow-rgb: 225, 71, 71;
3199
+ --bs-btn-hover-bg: #c40009;
3200
+ --bs-btn-hover-border-color: #b90009;
3201
+ --bs-btn-focus-shadow-rgb: 235, 38, 48;
3244
3202
  --bs-btn-active-color: #fff;
3245
- --bs-btn-active-bg: #b01e1e;
3246
- --bs-btn-active-border-color: #a51d1d;
3203
+ --bs-btn-active-bg: #b90009;
3204
+ --bs-btn-active-border-color: #ad0008;
3247
3205
  --bs-btn-active-shadow: none;
3248
3206
  --bs-btn-disabled-color: #fff;
3249
- --bs-btn-disabled-bg: #dc2626;
3250
- --bs-btn-disabled-border-color: #dc2626;
3207
+ --bs-btn-disabled-bg: #e7000b;
3208
+ --bs-btn-disabled-border-color: #e7000b;
3251
3209
  }
3252
3210
 
3253
3211
  .btn-light {
@@ -3319,70 +3277,70 @@ textarea.form-control-lg {
3319
3277
  }
3320
3278
 
3321
3279
  .btn-outline-success {
3322
- --bs-btn-color: #16803c;
3323
- --bs-btn-border-color: #16803c;
3280
+ --bs-btn-color: #047857;
3281
+ --bs-btn-border-color: #047857;
3324
3282
  --bs-btn-hover-color: #fff;
3325
- --bs-btn-hover-bg: #16803c;
3326
- --bs-btn-hover-border-color: #16803c;
3327
- --bs-btn-focus-shadow-rgb: 22, 128, 60;
3283
+ --bs-btn-hover-bg: #047857;
3284
+ --bs-btn-hover-border-color: #047857;
3285
+ --bs-btn-focus-shadow-rgb: 4, 120, 87;
3328
3286
  --bs-btn-active-color: #fff;
3329
- --bs-btn-active-bg: #16803c;
3330
- --bs-btn-active-border-color: #16803c;
3287
+ --bs-btn-active-bg: #047857;
3288
+ --bs-btn-active-border-color: #047857;
3331
3289
  --bs-btn-active-shadow: none;
3332
- --bs-btn-disabled-color: #16803c;
3290
+ --bs-btn-disabled-color: #047857;
3333
3291
  --bs-btn-disabled-bg: transparent;
3334
- --bs-btn-disabled-border-color: #16803c;
3292
+ --bs-btn-disabled-border-color: #047857;
3335
3293
  --bs-gradient: none;
3336
3294
  }
3337
3295
 
3338
3296
  .btn-outline-info {
3339
- --bs-btn-color: #0f6e8c;
3340
- --bs-btn-border-color: #0f6e8c;
3297
+ --bs-btn-color: #0369a1;
3298
+ --bs-btn-border-color: #0369a1;
3341
3299
  --bs-btn-hover-color: #fff;
3342
- --bs-btn-hover-bg: #0f6e8c;
3343
- --bs-btn-hover-border-color: #0f6e8c;
3344
- --bs-btn-focus-shadow-rgb: 15, 110, 140;
3300
+ --bs-btn-hover-bg: #0369a1;
3301
+ --bs-btn-hover-border-color: #0369a1;
3302
+ --bs-btn-focus-shadow-rgb: 3, 105, 161;
3345
3303
  --bs-btn-active-color: #fff;
3346
- --bs-btn-active-bg: #0f6e8c;
3347
- --bs-btn-active-border-color: #0f6e8c;
3304
+ --bs-btn-active-bg: #0369a1;
3305
+ --bs-btn-active-border-color: #0369a1;
3348
3306
  --bs-btn-active-shadow: none;
3349
- --bs-btn-disabled-color: #0f6e8c;
3307
+ --bs-btn-disabled-color: #0369a1;
3350
3308
  --bs-btn-disabled-bg: transparent;
3351
- --bs-btn-disabled-border-color: #0f6e8c;
3309
+ --bs-btn-disabled-border-color: #0369a1;
3352
3310
  --bs-gradient: none;
3353
3311
  }
3354
3312
 
3355
3313
  .btn-outline-warning {
3356
- --bs-btn-color: #a15c00;
3357
- --bs-btn-border-color: #a15c00;
3314
+ --bs-btn-color: #b45309;
3315
+ --bs-btn-border-color: #b45309;
3358
3316
  --bs-btn-hover-color: #fff;
3359
- --bs-btn-hover-bg: #a15c00;
3360
- --bs-btn-hover-border-color: #a15c00;
3361
- --bs-btn-focus-shadow-rgb: 161, 92, 0;
3317
+ --bs-btn-hover-bg: #b45309;
3318
+ --bs-btn-hover-border-color: #b45309;
3319
+ --bs-btn-focus-shadow-rgb: 180, 83, 9;
3362
3320
  --bs-btn-active-color: #fff;
3363
- --bs-btn-active-bg: #a15c00;
3364
- --bs-btn-active-border-color: #a15c00;
3321
+ --bs-btn-active-bg: #b45309;
3322
+ --bs-btn-active-border-color: #b45309;
3365
3323
  --bs-btn-active-shadow: none;
3366
- --bs-btn-disabled-color: #a15c00;
3324
+ --bs-btn-disabled-color: #b45309;
3367
3325
  --bs-btn-disabled-bg: transparent;
3368
- --bs-btn-disabled-border-color: #a15c00;
3326
+ --bs-btn-disabled-border-color: #b45309;
3369
3327
  --bs-gradient: none;
3370
3328
  }
3371
3329
 
3372
3330
  .btn-outline-danger {
3373
- --bs-btn-color: #dc2626;
3374
- --bs-btn-border-color: #dc2626;
3331
+ --bs-btn-color: #e7000b;
3332
+ --bs-btn-border-color: #e7000b;
3375
3333
  --bs-btn-hover-color: #fff;
3376
- --bs-btn-hover-bg: #dc2626;
3377
- --bs-btn-hover-border-color: #dc2626;
3378
- --bs-btn-focus-shadow-rgb: 220, 38, 38;
3334
+ --bs-btn-hover-bg: #e7000b;
3335
+ --bs-btn-hover-border-color: #e7000b;
3336
+ --bs-btn-focus-shadow-rgb: 231, 0, 11;
3379
3337
  --bs-btn-active-color: #fff;
3380
- --bs-btn-active-bg: #dc2626;
3381
- --bs-btn-active-border-color: #dc2626;
3338
+ --bs-btn-active-bg: #e7000b;
3339
+ --bs-btn-active-border-color: #e7000b;
3382
3340
  --bs-btn-active-shadow: none;
3383
- --bs-btn-disabled-color: #dc2626;
3341
+ --bs-btn-disabled-color: #e7000b;
3384
3342
  --bs-btn-disabled-bg: transparent;
3385
- --bs-btn-disabled-border-color: #dc2626;
3343
+ --bs-btn-disabled-border-color: #e7000b;
3386
3344
  --bs-gradient: none;
3387
3345
  }
3388
3346
 
@@ -4943,25 +4901,25 @@ textarea.form-control-lg {
4943
4901
  }
4944
4902
 
4945
4903
  .pagination {
4946
- --bs-pagination-padding-x: 0.75rem;
4947
- --bs-pagination-padding-y: 0.375rem;
4904
+ --bs-pagination-padding-x: 0;
4905
+ --bs-pagination-padding-y: 0;
4948
4906
  --bs-pagination-font-size: 0.875rem;
4949
4907
  --bs-pagination-color: var(--moo-muted-foreground);
4950
- --bs-pagination-bg: var(--bs-body-bg);
4908
+ --bs-pagination-bg: transparent;
4951
4909
  --bs-pagination-border-width: var(--bs-border-width);
4952
4910
  --bs-pagination-border-color: transparent;
4953
- --bs-pagination-border-radius: var(--bs-border-radius);
4911
+ --bs-pagination-border-radius: var(--bs-border-radius-lg);
4954
4912
  --bs-pagination-hover-color: var(--bs-body-color);
4955
- --bs-pagination-hover-bg: var(--moo-muted-surface);
4913
+ --bs-pagination-hover-bg: color-mix(in srgb, var(--moo-muted-surface) 50%, transparent);
4956
4914
  --bs-pagination-hover-border-color: transparent;
4957
4915
  --bs-pagination-focus-color: var(--bs-link-hover-color);
4958
- --bs-pagination-focus-bg: var(--moo-muted-surface);
4916
+ --bs-pagination-focus-bg: color-mix(in srgb, var(--moo-muted-surface) 50%, transparent);
4959
4917
  --bs-pagination-focus-box-shadow: 0 0 0 2px rgba(23, 23, 23, 0.25);
4960
4918
  --bs-pagination-active-color: var(--bs-body-color);
4961
- --bs-pagination-active-bg: var(--moo-muted-surface);
4919
+ --bs-pagination-active-bg: color-mix(in srgb, var(--moo-muted-surface) 50%, transparent);
4962
4920
  --bs-pagination-active-border-color: var(--moo-border);
4963
4921
  --bs-pagination-disabled-color: var(--moo-disabled-foreground);
4964
- --bs-pagination-disabled-bg: var(--bs-secondary-bg);
4922
+ --bs-pagination-disabled-bg: transparent;
4965
4923
  --bs-pagination-disabled-border-color: transparent;
4966
4924
  display: flex;
4967
4925
  padding-left: 0;
@@ -5044,12 +5002,12 @@ textarea.form-control-lg {
5044
5002
  }
5045
5003
 
5046
5004
  .badge {
5047
- --bs-badge-padding-x: 0.65em;
5048
- --bs-badge-padding-y: 0.35em;
5049
- --bs-badge-font-size: 0.75em;
5005
+ --bs-badge-padding-x: 0.5rem;
5006
+ --bs-badge-padding-y: 0.125rem;
5007
+ --bs-badge-font-size: 0.75rem;
5050
5008
  --bs-badge-font-weight: 500;
5051
5009
  --bs-badge-color: #fff;
5052
- --bs-badge-border-radius: var(--bs-border-radius);
5010
+ --bs-badge-border-radius: var(--bs-border-radius-pill);
5053
5011
  display: inline-block;
5054
5012
  padding: var(--bs-badge-padding-y) var(--bs-badge-padding-x);
5055
5013
  font-size: var(--bs-badge-font-size);
@@ -5599,18 +5557,18 @@ textarea.form-control-lg {
5599
5557
  .btn-close {
5600
5558
  --bs-btn-close-color: #0a0a0a;
5601
5559
  --bs-btn-close-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230a0a0a'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e");
5602
- --bs-btn-close-opacity: 0.5;
5603
- --bs-btn-close-hover-opacity: 0.75;
5560
+ --bs-btn-close-opacity: 1;
5561
+ --bs-btn-close-hover-opacity: 1;
5604
5562
  --bs-btn-close-focus-shadow: 0 0 0 2px rgba(23, 23, 23, 0.25);
5605
5563
  --bs-btn-close-focus-opacity: 1;
5606
- --bs-btn-close-disabled-opacity: 0.25;
5564
+ --bs-btn-close-disabled-opacity: 0.5;
5607
5565
  --bs-btn-close-white-filter: invert(1) grayscale(100%) brightness(200%);
5608
5566
  box-sizing: content-box;
5609
- width: 1em;
5610
- height: 1em;
5611
- padding: 0.25em 0.25em;
5567
+ width: 0.75rem;
5568
+ height: 0.75rem;
5569
+ padding: 0.34375rem 0.34375rem;
5612
5570
  color: var(--bs-btn-close-color);
5613
- background: transparent var(--bs-btn-close-bg) center/1em auto no-repeat;
5571
+ background: transparent var(--bs-btn-close-bg) center/0.75rem auto no-repeat;
5614
5572
  border: 0;
5615
5573
  border-radius: 0.5rem;
5616
5574
  opacity: var(--bs-btn-close-opacity);
@@ -7248,8 +7206,8 @@ textarea.form-control-lg {
7248
7206
  }
7249
7207
 
7250
7208
  .link-success:hover, .link-success:focus {
7251
- color: RGBA(18, 102, 48, var(--bs-link-opacity, 1)) !important;
7252
- text-decoration-color: RGBA(18, 102, 48, var(--bs-link-underline-opacity, 1)) !important;
7209
+ color: RGBA(3, 96, 70, var(--bs-link-opacity, 1)) !important;
7210
+ text-decoration-color: RGBA(3, 96, 70, var(--bs-link-underline-opacity, 1)) !important;
7253
7211
  }
7254
7212
 
7255
7213
  .link-info {
@@ -7258,8 +7216,8 @@ textarea.form-control-lg {
7258
7216
  }
7259
7217
 
7260
7218
  .link-info:hover, .link-info:focus {
7261
- color: RGBA(12, 88, 112, var(--bs-link-opacity, 1)) !important;
7262
- text-decoration-color: RGBA(12, 88, 112, var(--bs-link-underline-opacity, 1)) !important;
7219
+ color: RGBA(2, 84, 129, var(--bs-link-opacity, 1)) !important;
7220
+ text-decoration-color: RGBA(2, 84, 129, var(--bs-link-underline-opacity, 1)) !important;
7263
7221
  }
7264
7222
 
7265
7223
  .link-warning {
@@ -7268,8 +7226,8 @@ textarea.form-control-lg {
7268
7226
  }
7269
7227
 
7270
7228
  .link-warning:hover, .link-warning:focus {
7271
- color: RGBA(129, 74, 0, var(--bs-link-opacity, 1)) !important;
7272
- text-decoration-color: RGBA(129, 74, 0, var(--bs-link-underline-opacity, 1)) !important;
7229
+ color: RGBA(144, 66, 7, var(--bs-link-opacity, 1)) !important;
7230
+ text-decoration-color: RGBA(144, 66, 7, var(--bs-link-underline-opacity, 1)) !important;
7273
7231
  }
7274
7232
 
7275
7233
  .link-danger {
@@ -7278,8 +7236,8 @@ textarea.form-control-lg {
7278
7236
  }
7279
7237
 
7280
7238
  .link-danger:hover, .link-danger:focus {
7281
- color: RGBA(176, 30, 30, var(--bs-link-opacity, 1)) !important;
7282
- text-decoration-color: RGBA(176, 30, 30, var(--bs-link-underline-opacity, 1)) !important;
7239
+ color: RGBA(185, 0, 9, var(--bs-link-opacity, 1)) !important;
7240
+ text-decoration-color: RGBA(185, 0, 9, var(--bs-link-underline-opacity, 1)) !important;
7283
7241
  }
7284
7242
 
7285
7243
  .link-light {
@@ -12322,57 +12280,167 @@ textarea.form-control-lg {
12322
12280
  --moo-surface: #fff;
12323
12281
  --moo-muted-surface: #f4f4f5;
12324
12282
  --moo-border: #e4e4e7;
12283
+ --moo-primary: #171717;
12284
+ --moo-primary-foreground: #fafafa;
12325
12285
  --moo-foreground: #18181b;
12326
12286
  --moo-muted-foreground: #71717a;
12327
12287
  --moo-disabled-foreground: #a1a1aa;
12328
- --moo-ring: #18181b;
12329
- --moo-destructive: #dc2626;
12330
- --moo-destructive-foreground: #fff;
12288
+ --moo-ring: color-mix(in srgb, #fff 60%, #171717);
12289
+ --moo-destructive: #e7000b;
12290
+ --moo-destructive-surface: color-mix(in srgb, #e7000b 3%, transparent);
12291
+ --moo-destructive-surface-hover: color-mix(in srgb, #e7000b 6%, transparent);
12292
+ --moo-destructive-foreground: #e7000b;
12293
+ --moo-form-invalid-ring-color: color-mix(in srgb, #e7000b 20%, transparent);
12294
+ --moo-warning: #b45309;
12295
+ --moo-warning-surface: color-mix(in srgb, #b45309 10%, transparent);
12296
+ --moo-warning-surface-hover: color-mix(in srgb, #b45309 20%, transparent);
12297
+ --moo-warning-foreground: #b45309;
12298
+ --moo-success: #047857;
12299
+ --moo-success-surface: color-mix(in srgb, #047857 10%, transparent);
12300
+ --moo-success-surface-hover: color-mix(in srgb, #047857 20%, transparent);
12301
+ --moo-success-foreground: #047857;
12302
+ --moo-info: #0369a1;
12303
+ --moo-info-surface: color-mix(in srgb, #0369a1 10%, transparent);
12304
+ --moo-info-surface-hover: color-mix(in srgb, #0369a1 20%, transparent);
12305
+ --moo-info-foreground: #0369a1;
12331
12306
  --moo-sidebar: #fafafa;
12332
12307
  --bs-body-color: var(--moo-foreground);
12333
12308
  --bs-body-color-rgb: 24, 24, 27;
12334
12309
  --bs-heading-color: var(--moo-foreground);
12335
12310
  --bs-secondary-color: var(--moo-muted-foreground);
12311
+ --bs-body-bg: var(--moo-surface);
12312
+ --bs-body-bg-rgb: 255, 255, 255;
12313
+ --bs-secondary-bg: var(--moo-muted-surface);
12314
+ --bs-secondary-bg-rgb: 244, 244, 245;
12315
+ --bs-tertiary-bg: #fafafa;
12316
+ --bs-tertiary-bg-rgb: 250, 250, 250;
12317
+ --bs-tertiary-color: #a1a1aa;
12318
+ --bs-tertiary-color-rgb: 161, 161, 170;
12319
+ --bs-form-invalid-color: var(--moo-destructive);
12320
+ --bs-form-invalid-border-color: #e7000b;
12336
12321
  }
12337
12322
 
12338
12323
  [data-bs-theme="dark"] {
12339
- --moo-surface: #18181b;
12324
+ --moo-surface: #0a0a0a;
12340
12325
  --moo-muted-surface: #27272a;
12341
12326
  --moo-border: #3f3f46;
12327
+ --moo-primary: #e4e4e7;
12328
+ --moo-primary-foreground: #18181b;
12342
12329
  --moo-foreground: #fafafa;
12343
12330
  --moo-muted-foreground: #a1a1aa;
12344
12331
  --moo-disabled-foreground: #71717a;
12345
- --moo-ring: #fafafa;
12346
- --moo-destructive: #f87171;
12347
- --moo-destructive-foreground: #18181b;
12332
+ --moo-ring: color-mix(in srgb, #fff 40%, #171717);
12333
+ --moo-destructive: #ff6467;
12334
+ --moo-destructive-surface: color-mix(in srgb, #ff6467 20%, transparent);
12335
+ --moo-destructive-surface-hover: color-mix(in srgb, #ff6467 30%, transparent);
12336
+ --moo-destructive-foreground: #ff6467;
12337
+ --moo-form-invalid-ring-color: color-mix(in srgb, #ff6467 40%, transparent);
12338
+ --moo-warning: color-mix(in srgb, #fafafa 60%, #b45309);
12339
+ --moo-warning-surface: color-mix(in srgb, color-mix(in srgb, #fafafa 60%, #b45309) 20%, transparent);
12340
+ --moo-warning-surface-hover: color-mix(in srgb, color-mix(in srgb, #fafafa 60%, #b45309) 30%, transparent);
12341
+ --moo-warning-foreground: color-mix(in srgb, #fafafa 60%, #b45309);
12342
+ --moo-success: color-mix(in srgb, #fafafa 60%, #047857);
12343
+ --moo-success-surface: color-mix(in srgb, color-mix(in srgb, #fafafa 60%, #047857) 20%, transparent);
12344
+ --moo-success-surface-hover: color-mix(in srgb, color-mix(in srgb, #fafafa 60%, #047857) 30%, transparent);
12345
+ --moo-success-foreground: color-mix(in srgb, #fafafa 60%, #047857);
12346
+ --moo-info: color-mix(in srgb, #fafafa 60%, #0369a1);
12347
+ --moo-info-surface: color-mix(in srgb, color-mix(in srgb, #fafafa 60%, #0369a1) 20%, transparent);
12348
+ --moo-info-surface-hover: color-mix(in srgb, color-mix(in srgb, #fafafa 60%, #0369a1) 30%, transparent);
12349
+ --moo-info-foreground: color-mix(in srgb, #fafafa 60%, #0369a1);
12348
12350
  --moo-sidebar: #1c1c1f;
12349
12351
  --bs-body-color: var(--moo-foreground);
12350
12352
  --bs-body-color-rgb: 250, 250, 250;
12351
12353
  --bs-heading-color: var(--moo-foreground);
12352
12354
  --bs-secondary-color: var(--moo-muted-foreground);
12355
+ --bs-body-bg: var(--moo-surface);
12356
+ --bs-body-bg-rgb: 10, 10, 10;
12357
+ --bs-secondary-bg: var(--moo-muted-surface);
12358
+ --bs-secondary-bg-rgb: 39, 39, 42;
12359
+ --bs-tertiary-bg: #202024;
12360
+ --bs-tertiary-bg-rgb: 32, 32, 36;
12361
+ --bs-tertiary-color: #71717a;
12362
+ --bs-tertiary-color-rgb: 113, 113, 122;
12363
+ --bs-form-invalid-color: var(--moo-destructive);
12364
+ --bs-form-invalid-border-color: color-mix(in srgb, #ff6467 50%, transparent);
12353
12365
  }
12354
12366
 
12355
- :is(.btn, a, button, summary, [tabindex]):not(input, textarea, select):focus-visible {
12356
- outline: var(--bs-focus-ring-width) solid var(--moo-ring);
12357
- outline-offset: var(--bs-focus-ring-width);
12367
+ :is(.btn, a, button, summary, [tabindex]):not(input, textarea, select):focus-visible,
12368
+ :is(.form-control, .form-select, .form-check-input):focus-visible {
12369
+ border-color: var(--moo-ring);
12370
+ outline: 0;
12371
+ box-shadow: 0 0 0 3px color-mix(in srgb, var(--moo-ring) 50%, transparent);
12372
+ }
12373
+
12374
+ .btn:focus-visible:hover,
12375
+ .btn.show:focus-visible {
12376
+ border-color: var(--bs-btn-hover-border-color);
12377
+ box-shadow: none;
12378
+ }
12379
+
12380
+ .form-control:focus:not(:focus-visible),
12381
+ .form-select:focus:not(:focus-visible) {
12382
+ border-color: var(--moo-border);
12383
+ box-shadow: none;
12384
+ }
12385
+
12386
+ .page-link:focus:not(:focus-visible) {
12387
+ outline: 0;
12358
12388
  box-shadow: none;
12359
12389
  }
12360
12390
 
12391
+ .page-item:not(.active) > .page-link:focus:not(:focus-visible) {
12392
+ color: var(--bs-pagination-color);
12393
+ background-color: var(--bs-pagination-bg);
12394
+ border-color: var(--bs-pagination-border-color);
12395
+ }
12396
+
12361
12397
  .form-control.is-invalid,
12362
12398
  .form-control.is-invalid:focus,
12399
+ .was-validated .form-control:invalid,
12400
+ .was-validated .form-control:invalid:focus,
12363
12401
  .form-select.is-invalid,
12364
- .form-select.is-invalid:focus {
12365
- box-shadow: 0 0 0 var(--bs-focus-ring-width) color-mix(in srgb, var(--bs-form-invalid-border-color) 20%, transparent);
12402
+ .form-select.is-invalid:focus,
12403
+ .was-validated .form-select:invalid,
12404
+ .was-validated .form-select:invalid:focus {
12405
+ box-shadow: 0 0 0 3px var(--moo-form-invalid-ring-color);
12366
12406
  }
12367
12407
 
12368
- .btn-check:focus-visible + .btn {
12369
- outline: var(--bs-focus-ring-width) solid var(--moo-ring);
12370
- outline-offset: var(--bs-focus-ring-width);
12408
+ .btn-check:focus:not(:focus-visible) + .btn {
12409
+ outline: 0;
12371
12410
  box-shadow: none;
12372
12411
  }
12373
12412
 
12413
+ .btn-check:focus-visible + .btn {
12414
+ border-color: var(--moo-ring);
12415
+ outline: 0;
12416
+ box-shadow: 0 0 0 3px color-mix(in srgb, var(--moo-ring) 50%, transparent);
12417
+ }
12418
+
12374
12419
  .input-group > .dropdown-toggle[aria-expanded="true"]:focus-visible {
12420
+ box-shadow: none;
12421
+ }
12422
+
12423
+ .combobox-chips:focus-within {
12424
+ border-color: var(--moo-ring);
12425
+ outline: 0;
12426
+ box-shadow: 0 0 0 3px color-mix(in srgb, var(--moo-ring) 50%, transparent);
12427
+ }
12428
+
12429
+ .input-group:has(> .form-control:focus):not(:has(> .form-control[type="file"])) {
12430
+ border-color: var(--moo-ring);
12375
12431
  outline: 0;
12432
+ box-shadow: 0 0 0 3px color-mix(in srgb, var(--moo-ring) 50%, transparent);
12433
+ }
12434
+
12435
+ .input-group.has-validation:not(:has(> :is(.valid-feedback, .invalid-feedback, .valid-tooltip, .invalid-tooltip))):has(> :is(.form-control, .form-select).is-invalid),
12436
+ .was-validated .input-group.has-validation:not(:has(> :is(.valid-feedback, .invalid-feedback, .valid-tooltip, .invalid-tooltip))):has(> :is(.form-control, .form-select):invalid) {
12437
+ border-color: var(--bs-form-invalid-border-color);
12438
+ box-shadow: 0 0 0 3px var(--moo-form-invalid-ring-color);
12439
+ }
12440
+
12441
+ .input-group.has-validation:not(:has(> :is(.valid-feedback, .invalid-feedback, .valid-tooltip, .invalid-tooltip))) > :is(.form-control, .form-select).is-invalid,
12442
+ .was-validated .input-group.has-validation:not(:has(> :is(.valid-feedback, .invalid-feedback, .valid-tooltip, .invalid-tooltip))) > :is(.form-control, .form-select):invalid {
12443
+ box-shadow: none;
12376
12444
  }
12377
12445
 
12378
12446
  @property --moo-scroll-fade-t {
@@ -12625,10 +12693,14 @@ textarea.form-control-lg {
12625
12693
  }
12626
12694
 
12627
12695
  kbd {
12696
+ display: inline-flex;
12697
+ height: 1.25rem;
12698
+ min-width: 1.25rem;
12699
+ align-items: center;
12700
+ justify-content: center;
12628
12701
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
12629
12702
  line-height: 1rem;
12630
12703
  font-weight: 500;
12631
- border: var(--bs-border-width) solid var(--bs-border-color);
12632
12704
  }
12633
12705
 
12634
12706
  .form-control {
@@ -12648,6 +12720,12 @@ textarea.form-control:disabled {
12648
12720
  resize: none;
12649
12721
  }
12650
12722
 
12723
+ .form-select option,
12724
+ .form-select optgroup {
12725
+ color: var(--bs-body-color);
12726
+ background-color: var(--bs-body-bg);
12727
+ }
12728
+
12651
12729
  .input-group:not(:has(> .form-control[type="file"])) {
12652
12730
  border: var(--bs-border-width) solid var(--moo-border);
12653
12731
  border-radius: var(--moo-input-group-border-radius);
@@ -12657,11 +12735,11 @@ textarea.form-control:disabled {
12657
12735
  --moo-input-group-border-radius: var(--bs-border-radius-pill);
12658
12736
  }
12659
12737
 
12660
- .input-group:not(:has(textarea)):not(:has(> .form-control[type="file"])) {
12738
+ .input-group:not(:has(> :is(.valid-feedback, .invalid-feedback, .valid-tooltip, .invalid-tooltip))):not(:has(textarea)):not(:has(> .form-control[type="file"])):not(:has(> [data-align])) {
12661
12739
  height: calc(2rem + var(--bs-border-width) * 2);
12662
12740
  }
12663
12741
 
12664
- .input-group:not(:has(textarea)):not(:has(> .form-control[type="file"])) > .form-control {
12742
+ .input-group:not(:has(> :is(.valid-feedback, .invalid-feedback, .valid-tooltip, .invalid-tooltip))):not(:has(textarea)):not(:has(> .form-control[type="file"])):not(:has(> [data-align])) > .form-control {
12665
12743
  min-height: 0;
12666
12744
  }
12667
12745
 
@@ -12789,11 +12867,6 @@ textarea.form-control:disabled {
12789
12867
  background-color: transparent;
12790
12868
  }
12791
12869
 
12792
- .input-group:has(> .form-control:focus):not(:has(> .form-control[type="file"])) {
12793
- border-color: #8b8b8b;
12794
- box-shadow: 0 0 0 2px rgba(23, 23, 23, 0.25);
12795
- }
12796
-
12797
12870
  .input-group:not(:has(> .form-control[type="file"])) > :is(.form-control, .form-select):focus {
12798
12871
  outline: 0;
12799
12872
  box-shadow: none;
@@ -12863,13 +12936,22 @@ label.btn {
12863
12936
  padding-inline-end: 0.375rem;
12864
12937
  }
12865
12938
 
12939
+ .btn-icon {
12940
+ --bs-btn-line-height: 1.25rem;
12941
+ --bs-btn-padding-y: 0.3125rem;
12942
+ }
12943
+
12866
12944
  .btn-icon,
12867
12945
  .btn-icon-xs,
12868
12946
  .btn-icon-sm,
12869
12947
  .btn-icon-lg {
12870
- padding: 0;
12871
- inline-size: calc( var(--bs-btn-line-height) + var(--bs-btn-padding-y) + var(--bs-btn-padding-y) + var(--bs-btn-border-width) + var(--bs-btn-border-width));
12872
- aspect-ratio: 1;
12948
+ --moo-btn-icon-size: calc(
12949
+ var(--bs-btn-line-height) +
12950
+ var(--bs-btn-padding-y) * 2 +
12951
+ var(--bs-btn-border-width) * 2);
12952
+ padding-inline: 0;
12953
+ inline-size: var(--moo-btn-icon-size);
12954
+ block-size: var(--moo-btn-icon-size);
12873
12955
  }
12874
12956
 
12875
12957
  :is(.btn-icon, .btn-icon-xs, .btn-icon-sm, .btn-icon-lg)::after {
@@ -12933,20 +13015,20 @@ label.btn {
12933
13015
  }
12934
13016
 
12935
13017
  .btn-primary {
12936
- --bs-btn-color: var(--moo-surface);
12937
- --bs-btn-bg: var(--moo-foreground);
12938
- --bs-btn-hover-bg: color-mix(in srgb, var(--moo-foreground) 88%, var(--moo-surface));
12939
- --bs-btn-active-bg: color-mix(in srgb, var(--moo-foreground) 80%, var(--moo-surface));
13018
+ --bs-btn-color: var(--moo-primary-foreground);
13019
+ --bs-btn-bg: var(--moo-primary);
13020
+ --bs-btn-hover-bg: color-mix(in srgb, var(--moo-primary) 80%, var(--moo-surface));
13021
+ --bs-btn-active-bg: color-mix(in srgb, var(--moo-primary) 72%, var(--moo-surface));
12940
13022
  }
12941
13023
 
12942
13024
  .btn-secondary {
12943
13025
  --bs-btn-color: var(--moo-foreground);
12944
- --bs-btn-bg: var(--moo-muted-surface);
13026
+ --bs-btn-bg: var(--moo-surface);
12945
13027
  --bs-btn-border-color: var(--moo-border);
12946
- --bs-btn-hover-bg: color-mix(in srgb, var(--moo-muted-surface) 86%, var(--moo-foreground));
12947
- --bs-btn-hover-border-color: color-mix(in srgb, var(--moo-border) 80%, var(--moo-foreground));
12948
- --bs-btn-active-bg: color-mix(in srgb, var(--moo-muted-surface) 78%, var(--moo-foreground));
12949
- --bs-btn-active-border-color: color-mix(in srgb, var(--moo-border) 72%, var(--moo-foreground));
13028
+ --bs-btn-hover-bg: color-mix(in srgb, var(--moo-muted-surface) 95%, var(--moo-foreground));
13029
+ --bs-btn-hover-border-color: color-mix(in srgb, var(--moo-border) 90%, var(--moo-foreground));
13030
+ --bs-btn-active-bg: color-mix(in srgb, var(--moo-muted-surface) 88%, var(--moo-foreground));
13031
+ --bs-btn-active-border-color: color-mix(in srgb, var(--moo-border) 82%, var(--moo-foreground));
12950
13032
  }
12951
13033
 
12952
13034
  .btn-outline-secondary {
@@ -12977,9 +13059,14 @@ label.btn {
12977
13059
 
12978
13060
  .btn-danger {
12979
13061
  --bs-btn-color: var(--moo-destructive-foreground);
12980
- --bs-btn-bg: var(--moo-destructive);
12981
- --bs-btn-hover-bg: color-mix(in srgb, var(--moo-destructive) 88%, var(--moo-foreground));
12982
- --bs-btn-active-bg: color-mix(in srgb, var(--moo-destructive) 80%, var(--moo-foreground));
13062
+ --bs-btn-bg: var(--moo-destructive-surface);
13063
+ --bs-btn-border-color: transparent;
13064
+ --bs-btn-hover-color: var(--moo-destructive-foreground);
13065
+ --bs-btn-hover-bg: var(--moo-destructive-surface-hover);
13066
+ --bs-btn-hover-border-color: transparent;
13067
+ --bs-btn-active-color: var(--moo-destructive-foreground);
13068
+ --bs-btn-active-bg: var(--moo-destructive-surface-hover);
13069
+ --bs-btn-active-border-color: transparent;
12983
13070
  }
12984
13071
 
12985
13072
  .btn-link {
@@ -12988,6 +13075,60 @@ label.btn {
12988
13075
  text-underline-offset: 0.25rem;
12989
13076
  }
12990
13077
 
13078
+ .btn-close {
13079
+ --bs-btn-close-color: var(--moo-foreground);
13080
+ --bs-btn-hover-color: var(--bs-btn-close-color);
13081
+ --bs-btn-hover-bg: var(--moo-muted-surface);
13082
+ --bs-btn-hover-border-color: transparent;
13083
+ --bs-btn-close-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%230a0a0a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M18 6 6 18'/%3e%3cpath d='m6 6 12 12'/%3e%3c/svg%3e");
13084
+ display: inline-flex;
13085
+ flex: 0 0 auto;
13086
+ align-items: center;
13087
+ justify-content: center;
13088
+ border-width: var(--bs-border-width);
13089
+ border-style: var(--bs-border-style);
13090
+ border-color: transparent;
13091
+ border-radius: var(--bs-border-radius-xl);
13092
+ color: var(--bs-btn-close-color);
13093
+ background-image: none;
13094
+ transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
13095
+ }
13096
+
13097
+ .btn-close::before {
13098
+ width: 0.75rem;
13099
+ height: 0.75rem;
13100
+ content: "";
13101
+ background-color: currentColor;
13102
+ -webkit-mask: var(--bs-btn-close-bg) center/contain no-repeat;
13103
+ mask: var(--bs-btn-close-bg) center/contain no-repeat;
13104
+ }
13105
+
13106
+ [data-bs-theme="dark"] .btn-close {
13107
+ filter: none;
13108
+ }
13109
+
13110
+ .btn-close:hover {
13111
+ border-color: var(--bs-btn-hover-border-color);
13112
+ color: var(--bs-btn-hover-color);
13113
+ background-color: var(--bs-btn-hover-bg);
13114
+ }
13115
+
13116
+ .btn-close:focus-visible {
13117
+ border-color: var(--moo-ring);
13118
+ color: var(--bs-btn-hover-color);
13119
+ background-color: var(--bs-btn-hover-bg);
13120
+ }
13121
+
13122
+ .btn-close:focus:not(:focus-visible) {
13123
+ box-shadow: none;
13124
+ }
13125
+
13126
+ .btn-close:disabled,
13127
+ .btn-close.disabled {
13128
+ pointer-events: none;
13129
+ opacity: var(--moo-disabled-control-opacity);
13130
+ }
13131
+
12991
13132
  [dir="rtl"] .btn-group,
12992
13133
  [dir="rtl"] .btn-toolbar {
12993
13134
  direction: ltr;
@@ -12998,6 +13139,43 @@ label.btn {
12998
13139
  unicode-bidi: plaintext;
12999
13140
  }
13000
13141
 
13142
+ .btn-group > .btn-icon,
13143
+ .btn-group > .btn-icon-xs,
13144
+ .btn-group > .btn-icon-sm,
13145
+ .btn-group > .btn-icon-lg,
13146
+ .btn-group-vertical > .btn-icon,
13147
+ .btn-group-vertical > .btn-icon-xs,
13148
+ .btn-group-vertical > .btn-icon-sm,
13149
+ .btn-group-vertical > .btn-icon-lg {
13150
+ flex: 0 0 auto;
13151
+ }
13152
+
13153
+ .btn-group-vertical > .btn-icon,
13154
+ .btn-group-vertical > .btn-icon-xs,
13155
+ .btn-group-vertical > .btn-icon-sm,
13156
+ .btn-group-vertical > .btn-icon-lg {
13157
+ width: var(--moo-btn-icon-size);
13158
+ }
13159
+
13160
+ .btn-group-select,
13161
+ .input-group > .btn-group-select {
13162
+ flex: 0 0 auto;
13163
+ width: auto;
13164
+ min-width: calc(1.875rem + 1rem);
13165
+ padding-inline-end: 1.875rem;
13166
+ }
13167
+
13168
+ .toggle-group > .btn:not(:disabled):not(.disabled):not([aria-disabled="true"]):active {
13169
+ transform: none;
13170
+ }
13171
+
13172
+ .toggle-group > .btn-check:focus-visible + .btn,
13173
+ .toggle-group > .btn-check:checked:focus-visible + .btn {
13174
+ border-color: var(--moo-ring);
13175
+ outline: 0;
13176
+ box-shadow: 0 0 0 3px color-mix(in srgb, var(--moo-ring) 50%, transparent);
13177
+ }
13178
+
13001
13179
  .card {
13002
13180
  --bs-card-bg: var(--moo-surface);
13003
13181
  --bs-card-color: var(--moo-foreground);
@@ -13009,16 +13187,44 @@ label.btn {
13009
13187
  --bs-card-cap-color: var(--moo-foreground);
13010
13188
  --bs-card-title-color: var(--moo-foreground);
13011
13189
  --bs-card-subtitle-color: var(--moo-muted-foreground);
13012
- gap: var(--bs-card-spacer-x);
13013
- padding-block: var(--bs-card-spacer-x);
13190
+ --moo-card-spacing: 1rem;
13191
+ gap: var(--moo-card-spacing);
13192
+ padding-block: var(--moo-card-spacing);
13193
+ border: var(--bs-card-border-width) solid var(--bs-card-border-color);
13014
13194
  box-shadow: var(--bs-card-box-shadow);
13015
13195
  }
13016
13196
 
13197
+ .card:has(.card-footer) {
13198
+ padding-block-end: 0;
13199
+ }
13200
+
13201
+ .card:has(> .card-image) {
13202
+ padding-block-start: 0;
13203
+ }
13204
+
13205
+ .card--sm {
13206
+ --moo-card-spacing: 0.75rem;
13207
+ }
13208
+
13017
13209
  .card-header {
13210
+ display: grid;
13211
+ grid-template-columns: 1fr auto;
13212
+ column-gap: var(--moo-card-spacing);
13213
+ align-items: flex-start;
13214
+ border-bottom: 0;
13215
+ }
13216
+
13217
+ .card-header__text {
13018
13218
  display: flex;
13019
13219
  flex-direction: column;
13020
- gap: 0.375rem;
13021
- border-bottom: 0;
13220
+ gap: 0.25rem;
13221
+ min-width: 0;
13222
+ grid-column: 1;
13223
+ }
13224
+
13225
+ .card-action {
13226
+ grid-column: 2;
13227
+ grid-row: 1;
13022
13228
  }
13023
13229
 
13024
13230
  .card-header,
@@ -13027,11 +13233,38 @@ label.btn {
13027
13233
  padding-block: 0;
13028
13234
  }
13029
13235
 
13236
+ .card-header,
13237
+ .card-body {
13238
+ padding-inline: var(--moo-card-spacing);
13239
+ }
13240
+
13030
13241
  .card-footer {
13031
13242
  display: flex;
13032
13243
  align-items: center;
13033
13244
  gap: 0.5rem;
13034
- border-top: 0;
13245
+ padding: var(--moo-card-spacing);
13246
+ border-top: var(--bs-card-border-width) solid var(--bs-card-border-color);
13247
+ background-color: var(--moo-muted-surface);
13248
+ }
13249
+
13250
+ .card-img-top {
13251
+ border-top-left-radius: var(--bs-card-border-radius);
13252
+ border-top-right-radius: var(--bs-card-border-radius);
13253
+ }
13254
+
13255
+ .card-image {
13256
+ aspect-ratio: 16 / 9;
13257
+ overflow: hidden;
13258
+ border-top-left-radius: var(--bs-card-border-radius);
13259
+ border-top-right-radius: var(--bs-card-border-radius);
13260
+ background-color: var(--moo-muted-surface);
13261
+ }
13262
+
13263
+ .card-image .card-img-top {
13264
+ width: 100%;
13265
+ height: 100%;
13266
+ object-fit: cover;
13267
+ border-radius: 0;
13035
13268
  }
13036
13269
 
13037
13270
  .card-title {
@@ -13045,6 +13278,15 @@ label.btn {
13045
13278
  .card-subtitle {
13046
13279
  margin-top: 0;
13047
13280
  font-size: 0.875rem;
13281
+ color: var(--moo-muted-foreground);
13282
+ }
13283
+
13284
+ .table-responsive:not(.scroll-fade-x):has(.table-row-actions > [aria-expanded="true"]) {
13285
+ overflow: visible;
13286
+ }
13287
+
13288
+ .table-row-actions:has(> [aria-expanded="true"]) {
13289
+ z-index: 1000;
13048
13290
  }
13049
13291
 
13050
13292
  .dropdown-menu {
@@ -13080,6 +13322,20 @@ label.btn {
13080
13322
  flex: 0 0 auto;
13081
13323
  }
13082
13324
 
13325
+ .dropdown-item[data-variant="destructive"] {
13326
+ color: var(--moo-destructive) !important;
13327
+ }
13328
+
13329
+ .dropdown-item[data-variant="destructive"]:hover,
13330
+ .dropdown-item[data-variant="destructive"]:focus {
13331
+ color: var(--moo-destructive) !important;
13332
+ background-color: var(--moo-destructive-surface) !important;
13333
+ }
13334
+
13335
+ .dropdown-item[data-variant="destructive"] > [data-icon] {
13336
+ color: var(--moo-destructive) !important;
13337
+ }
13338
+
13083
13339
  .dropdown-menu .dropdown-divider {
13084
13340
  margin-inline: calc(-1 * var(--bs-dropdown-padding-x));
13085
13341
  border-block-start: var(--bs-border-width) solid var(--bs-dropdown-divider-bg);
@@ -13102,8 +13358,8 @@ label.btn {
13102
13358
  flex: 0 0 auto;
13103
13359
  align-items: center;
13104
13360
  justify-content: center;
13105
- width: 1em;
13106
- height: 1em;
13361
+ width: 1rem;
13362
+ height: 1rem;
13107
13363
  border: var(--bs-border-width) solid var(--bs-border-color);
13108
13364
  border-radius: var(--moo-dropdown-item-check-border-radius);
13109
13365
  color: transparent;
@@ -13154,6 +13410,25 @@ label.btn {
13154
13410
  min-width: max(100%, var(--moo-dropdown-sidebar-min-width));
13155
13411
  }
13156
13412
 
13413
+ @media (max-width: 575.98px) {
13414
+ [data-slot="sidebar-header"] .dropend > .dropdown-menu,
13415
+ [data-slot="sidebar-footer"] .dropend > .dropdown-menu {
13416
+ left: 0 !important;
13417
+ right: 0 !important;
13418
+ min-width: 100%;
13419
+ margin: 0;
13420
+ transform: none !important;
13421
+ }
13422
+ [data-slot="sidebar-header"] .dropend > .dropdown-menu {
13423
+ top: calc(100% + 0.25rem) !important;
13424
+ bottom: auto !important;
13425
+ }
13426
+ [data-slot="sidebar-footer"] .dropend > .dropdown-menu {
13427
+ top: auto !important;
13428
+ bottom: calc(100% + 0.25rem) !important;
13429
+ }
13430
+ }
13431
+
13157
13432
  @media (min-width: 992px) {
13158
13433
  [data-slot="sidebar-header"] [data-moo-sidebar-dropdown-positioned] > .dropdown-menu {
13159
13434
  position: fixed !important;
@@ -13244,8 +13519,9 @@ label.btn {
13244
13519
  height: 0.9375rem;
13245
13520
  min-width: 0.9375rem;
13246
13521
  padding-inline: 0.2rem;
13522
+ border: 0;
13247
13523
  border-radius: var(--bs-border-radius-pill);
13248
- border: 2px solid var(--bs-body-bg);
13524
+ box-shadow: 0 0 0 2px var(--bs-body-bg);
13249
13525
  background-color: var(--moo-muted-surface);
13250
13526
  color: var(--moo-foreground);
13251
13527
  font-size: 0.625rem;
@@ -13265,15 +13541,15 @@ label.btn {
13265
13541
  }
13266
13542
 
13267
13543
  .avatar-badge--icon {
13268
- width: 0.75rem;
13269
- height: 0.75rem;
13270
- min-width: 0.75rem;
13544
+ width: 0.625rem;
13545
+ height: 0.625rem;
13546
+ min-width: 0.625rem;
13271
13547
  padding-inline: 0;
13272
13548
  }
13273
13549
 
13274
13550
  .avatar-badge--icon [data-icon] {
13275
- width: 0.375rem;
13276
- height: 0.375rem;
13551
+ width: 0.5rem;
13552
+ height: 0.5rem;
13277
13553
  }
13278
13554
 
13279
13555
  .avatar-sm {
@@ -13294,6 +13570,7 @@ label.btn {
13294
13570
  }
13295
13571
 
13296
13572
  .avatar-group > .avatar {
13573
+ box-shadow: 0 0 0 2px var(--bs-body-bg);
13297
13574
  z-index: 0;
13298
13575
  }
13299
13576
 
@@ -13759,10 +14036,6 @@ label.btn {
13759
14036
  background: var(--moo-sidebar-accent);
13760
14037
  }
13761
14038
 
13762
- .sidebar-avatar {
13763
- border-radius: var(--bs-border-radius);
13764
- }
13765
-
13766
14039
  .sidebar-footer .sidebar-account-menu {
13767
14040
  width: auto;
13768
14041
  min-width: var(--moo-dropdown-sidebar-min-width);
@@ -14021,9 +14294,26 @@ label.btn {
14021
14294
  .alert {
14022
14295
  --bs-alert-border-color: var(--moo-border);
14023
14296
  --bs-alert-color: var(--moo-foreground);
14297
+ --bs-alert-padding-x: 0.625rem;
14298
+ --bs-alert-padding-y: 0.5rem;
14024
14299
  display: flex;
14025
14300
  align-items: flex-start;
14026
- gap: 0.75rem;
14301
+ gap: 0.375rem;
14302
+ }
14303
+
14304
+ .alert-dismissible {
14305
+ padding-right: 0;
14306
+ padding-left: 0;
14307
+ padding-inline-start: var(--bs-alert-padding-x);
14308
+ padding-inline-end: calc(var(--bs-alert-padding-x) + 1.5rem);
14309
+ }
14310
+
14311
+ .alert-dismissible .btn-close {
14312
+ top: auto;
14313
+ right: auto;
14314
+ inset-block-start: var(--bs-alert-padding-y);
14315
+ inset-inline-end: var(--bs-alert-padding-x);
14316
+ padding: 0.34375rem 0.34375rem;
14027
14317
  }
14028
14318
 
14029
14319
  .alert-danger {
@@ -14032,6 +14322,24 @@ label.btn {
14032
14322
  --bs-alert-color: var(--moo-destructive);
14033
14323
  }
14034
14324
 
14325
+ .alert-warning {
14326
+ --bs-alert-bg: var(--moo-warning-surface);
14327
+ --bs-alert-border-color: var(--moo-border);
14328
+ --bs-alert-color: var(--moo-warning);
14329
+ }
14330
+
14331
+ .alert-success {
14332
+ --bs-alert-bg: var(--moo-success-surface);
14333
+ --bs-alert-border-color: var(--moo-border);
14334
+ --bs-alert-color: var(--moo-success);
14335
+ }
14336
+
14337
+ .alert-info {
14338
+ --bs-alert-bg: var(--moo-info-surface);
14339
+ --bs-alert-border-color: var(--moo-border);
14340
+ --bs-alert-color: var(--moo-info);
14341
+ }
14342
+
14035
14343
  .alert-icon {
14036
14344
  display: flex;
14037
14345
  flex: 0 0 auto;
@@ -14048,6 +14356,10 @@ label.btn {
14048
14356
  min-width: 0;
14049
14357
  }
14050
14358
 
14359
+ .alert-body p {
14360
+ color: color-mix(in srgb, var(--bs-alert-color) 60%, var(--bs-secondary-color));
14361
+ }
14362
+
14051
14363
  .alert-heading {
14052
14364
  margin-bottom: 0.25rem;
14053
14365
  font-size: 0.875rem;
@@ -14060,6 +14372,45 @@ label.btn {
14060
14372
 
14061
14373
  .breadcrumb {
14062
14374
  --bs-breadcrumb-item-active-color: var(--moo-foreground);
14375
+ --bs-breadcrumb-item-padding-x: 0.375rem;
14376
+ column-gap: var(--bs-breadcrumb-item-padding-x);
14377
+ line-height: 1.25rem;
14378
+ }
14379
+
14380
+ .breadcrumb-item {
14381
+ display: inline-flex;
14382
+ align-items: center;
14383
+ }
14384
+
14385
+ .breadcrumb-item + .breadcrumb-item::before {
14386
+ float: none;
14387
+ flex: 0 0 auto;
14388
+ }
14389
+
14390
+ .breadcrumb-item + .breadcrumb-item {
14391
+ padding-left: 0;
14392
+ }
14393
+
14394
+ .breadcrumb:not(.breadcrumb--custom-divider) .breadcrumb-item + .breadcrumb-item::before {
14395
+ width: 0.875rem;
14396
+ height: 0.875rem;
14397
+ padding-right: 0;
14398
+ margin-inline-end: var(--bs-breadcrumb-item-padding-x);
14399
+ background-color: var(--moo-muted-foreground);
14400
+ content: "";
14401
+ -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E") center/100% 100% no-repeat;
14402
+ mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E") center/100% 100% no-repeat;
14403
+ }
14404
+
14405
+ .breadcrumb--custom-divider .breadcrumb-item + .breadcrumb-item::before {
14406
+ display: inline-flex;
14407
+ align-items: center;
14408
+ justify-content: center;
14409
+ width: 0.875rem;
14410
+ height: 0.875rem;
14411
+ padding-right: 0;
14412
+ margin-inline-end: var(--bs-breadcrumb-item-padding-x);
14413
+ line-height: 1;
14063
14414
  }
14064
14415
 
14065
14416
  :dir(rtl) .breadcrumb {
@@ -14067,14 +14418,18 @@ label.btn {
14067
14418
  }
14068
14419
 
14069
14420
  :dir(rtl) .breadcrumb-item + .breadcrumb-item {
14070
- padding-right: var(--bs-breadcrumb-item-padding-x);
14421
+ padding-right: 0;
14071
14422
  padding-left: 0;
14072
14423
  }
14073
14424
 
14074
14425
  :dir(rtl) .breadcrumb-item + .breadcrumb-item::before {
14075
- float: right;
14076
14426
  padding-right: 0;
14077
- padding-left: var(--bs-breadcrumb-item-padding-x);
14427
+ padding-left: 0;
14428
+ }
14429
+
14430
+ :dir(rtl) .breadcrumb:not(.breadcrumb--custom-divider) .breadcrumb-item + .breadcrumb-item::before {
14431
+ padding-left: 0;
14432
+ transform: scaleX(-1);
14078
14433
  }
14079
14434
 
14080
14435
  .breadcrumb-item a {
@@ -14099,42 +14454,127 @@ label.btn {
14099
14454
  height: 1rem;
14100
14455
  }
14101
14456
 
14102
- .breadcrumb-dropdown-item {
14457
+ .breadcrumb-dropdown-item,
14458
+ .breadcrumb-dropdown-item .dropdown {
14103
14459
  display: inline-flex;
14104
14460
  align-items: center;
14105
14461
  }
14106
14462
 
14107
- .breadcrumb-dropdown-item button {
14463
+ .breadcrumb-dropdown-trigger {
14464
+ display: inline-flex;
14465
+ align-items: center;
14466
+ gap: 0.25rem;
14108
14467
  padding: 0;
14109
14468
  border: 0;
14110
14469
  background-color: transparent;
14111
14470
  color: var(--moo-muted-foreground);
14471
+ font: inherit;
14472
+ line-height: 1.25rem;
14112
14473
  text-decoration: none;
14113
14474
  }
14114
14475
 
14115
- .breadcrumb-dropdown-item button:hover,
14116
- .breadcrumb-dropdown-item button:focus {
14476
+ .breadcrumb-dropdown-trigger:hover,
14477
+ .breadcrumb-dropdown-trigger:focus {
14117
14478
  color: var(--moo-foreground);
14118
14479
  }
14119
14480
 
14481
+ .breadcrumb .breadcrumb-dropdown-trigger:focus-visible {
14482
+ outline: 0;
14483
+ box-shadow: 0 0 0 3px color-mix(in srgb, var(--moo-ring) 50%, transparent);
14484
+ }
14485
+
14486
+ .breadcrumb-dropdown-trigger > [data-icon] {
14487
+ width: 0.875rem;
14488
+ height: 0.875rem;
14489
+ }
14490
+
14120
14491
  .page-link {
14121
14492
  display: inline-flex;
14122
14493
  align-items: center;
14123
14494
  justify-content: center;
14124
- gap: 0.25rem;
14125
- min-width: calc( 1em * var(--bs-body-line-height, 1.5) + var(--bs-pagination-padding-y) * 2 + var(--bs-pagination-border-width) * 2);
14126
- min-height: calc( 1em * var(--bs-body-line-height, 1.5) + var(--bs-pagination-padding-y) * 2 + var(--bs-pagination-border-width) * 2);
14495
+ flex-shrink: 0;
14496
+ gap: 0.375rem;
14497
+ min-width: calc( 1.25rem + 0.625rem + var(--bs-pagination-border-width) * 2);
14498
+ min-height: calc( 1.25rem + 0.625rem + var(--bs-pagination-border-width) * 2);
14499
+ line-height: 1.25rem;
14500
+ font-weight: 500;
14501
+ white-space: nowrap;
14502
+ user-select: none;
14503
+ }
14504
+
14505
+ .page-link[aria-label]:has(> span:not(.visually-hidden):not(.d-none)):has([data-icon="inline-start"]) {
14506
+ padding-inline-start: 0.375rem;
14507
+ padding-inline-end: 0.625rem;
14508
+ }
14509
+
14510
+ .page-link[aria-label]:has(> span:not(.visually-hidden):not(.d-none)):has([data-icon="inline-end"]) {
14511
+ padding-inline-start: 0.625rem;
14512
+ padding-inline-end: 0.375rem;
14513
+ }
14514
+
14515
+ @media (min-width: 576px) {
14516
+ .page-link[aria-label]:has(> .d-sm-inline):has([data-icon="inline-start"]) {
14517
+ padding-inline-start: 0.375rem;
14518
+ padding-inline-end: 0.625rem;
14519
+ }
14520
+ .page-link[aria-label]:has(> .d-sm-inline):has([data-icon="inline-end"]) {
14521
+ padding-inline-start: 0.625rem;
14522
+ padding-inline-end: 0.375rem;
14523
+ }
14524
+ }
14525
+
14526
+ .page-link:has([data-icon]):not(:has(> span:not(.visually-hidden))) {
14527
+ padding-inline: 0;
14127
14528
  }
14128
14529
 
14129
14530
  .page-link [data-icon] {
14130
14531
  width: 1rem;
14131
14532
  height: 1rem;
14533
+ flex: 0 0 auto;
14534
+ }
14535
+
14536
+ .page-item:not(.disabled) .page-link:active {
14537
+ transform: translateY(0.5px);
14132
14538
  }
14133
14539
 
14134
14540
  .page-item.disabled {
14135
14541
  opacity: var(--moo-disabled-control-opacity);
14136
14542
  }
14137
14543
 
14544
+ .badge {
14545
+ display: inline-flex;
14546
+ height: 1.25rem;
14547
+ align-items: center;
14548
+ justify-content: center;
14549
+ border: var(--bs-border-width) solid var(--bs-border-color);
14550
+ border-color: transparent;
14551
+ gap: 0.25rem;
14552
+ line-height: 1rem;
14553
+ }
14554
+
14555
+ .badge[class~="border"] {
14556
+ border-color: var(--moo-border) !important;
14557
+ }
14558
+
14559
+ .badge[class~="text-bg-primary"] {
14560
+ color: var(--moo-primary-foreground) !important;
14561
+ background-color: var(--moo-primary) !important;
14562
+ }
14563
+
14564
+ .badge[class~="text-bg-secondary"] {
14565
+ color: var(--moo-foreground) !important;
14566
+ background-color: var(--moo-muted-surface) !important;
14567
+ }
14568
+
14569
+ .badge[class~="text-bg-danger"] {
14570
+ color: var(--moo-destructive) !important;
14571
+ background-color: var(--moo-destructive-surface) !important;
14572
+ }
14573
+
14574
+ .badge[class~="text-body-secondary"] {
14575
+ color: var(--moo-foreground) !important;
14576
+ }
14577
+
14138
14578
  .progress {
14139
14579
  --bs-progress-bar-bg: var(--moo-foreground);
14140
14580
  }
@@ -14149,26 +14589,56 @@ hr {
14149
14589
  background-color: var(--moo-border);
14150
14590
  }
14151
14591
 
14152
- [data-bs-theme="dark"] .form-check-input:checked {
14592
+ [data-bs-theme="dark"] .form-check-input:is(:checked, :indeterminate):not([role="switch"]) {
14153
14593
  filter: invert(1);
14154
14594
  }
14155
14595
 
14156
- .form-check-input[type="checkbox"]:focus:active,
14157
- .form-check-input[type="checkbox"]:focus:not(:focus-visible) {
14596
+ .form-check-input {
14597
+ margin-top: 0.125rem;
14598
+ }
14599
+
14600
+ .form-check-input:is([type="checkbox"], [type="radio"]):not(.is-invalid):focus:active,
14601
+ .form-check-input:is([type="checkbox"], [type="radio"]):not(.is-invalid):focus:not(:focus-visible) {
14158
14602
  border-color: var(--bs-border-color);
14159
14603
  box-shadow: none;
14160
14604
  }
14161
14605
 
14162
- .form-check-input[type="checkbox"]:checked:focus:active,
14163
- .form-check-input[type="checkbox"]:checked:focus:not(:focus-visible) {
14606
+ .form-check-input:is([type="checkbox"], [type="radio"]):checked:not(.is-invalid):focus:active,
14607
+ .form-check-input:is([type="checkbox"], [type="radio"]):checked:not(.is-invalid):focus:not(:focus-visible) {
14164
14608
  border-color: #171717;
14165
14609
  }
14166
14610
 
14167
- .form-check-input[type="checkbox"]:indeterminate:focus:active,
14168
- .form-check-input[type="checkbox"]:indeterminate:focus:not(:focus-visible) {
14611
+ .form-check-input[type="checkbox"]:not(.is-invalid):indeterminate:focus:active,
14612
+ .form-check-input[type="checkbox"]:not(.is-invalid):indeterminate:focus:not(:focus-visible) {
14169
14613
  border-color: #171717;
14170
14614
  }
14171
14615
 
14616
+ .form-check-input.is-invalid {
14617
+ box-shadow: 0 0 0 3px var(--moo-form-invalid-ring-color);
14618
+ }
14619
+
14620
+ .form-check-input.is-invalid:focus:active,
14621
+ .form-check-input.is-invalid:focus:not(:focus-visible) {
14622
+ box-shadow: 0 0 0 3px var(--moo-form-invalid-ring-color);
14623
+ }
14624
+
14625
+ .form-check-input:is([type="checkbox"], [type="radio"]).is-invalid:checked:focus:active,
14626
+ .form-check-input:is([type="checkbox"], [type="radio"]).is-invalid:checked:focus:not(:focus-visible) {
14627
+ box-shadow: 0 0 0 3px var(--moo-form-invalid-ring-color);
14628
+ }
14629
+
14630
+ .form-check-input[type="checkbox"].is-invalid:indeterminate:focus:active,
14631
+ .form-check-input[type="checkbox"].is-invalid:indeterminate:focus:not(:focus-visible) {
14632
+ box-shadow: 0 0 0 3px var(--moo-form-invalid-ring-color);
14633
+ }
14634
+
14635
+ .form-check-input:is([type="checkbox"], [type="radio"]):not([role="switch"]).is-invalid:checked,
14636
+ .form-check-input:is([type="checkbox"], [type="radio"]):not([role="switch"]).is-invalid:checked:focus:active,
14637
+ .form-check-input:is([type="checkbox"], [type="radio"]):not([role="switch"]).is-invalid:checked:focus:not(:focus-visible) {
14638
+ border-color: var(--bs-primary);
14639
+ background-color: var(--bs-primary);
14640
+ }
14641
+
14172
14642
  .radio-group legend.form-label {
14173
14643
  font-size: inherit;
14174
14644
  }
@@ -14177,11 +14647,23 @@ hr {
14177
14647
  height: 1.15rem;
14178
14648
  }
14179
14649
 
14650
+ :where([data-bs-theme="dark"]) .form-switch .form-check-input:checked {
14651
+ --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2318181b'/%3e%3c/svg%3e");
14652
+ background-color: var(--moo-foreground);
14653
+ border-color: var(--moo-foreground);
14654
+ filter: none;
14655
+ }
14656
+
14180
14657
  .form-switch .form-check-input:focus:active:not(:checked),
14181
14658
  .form-switch .form-check-input:focus:not(:focus-visible):not(:checked) {
14182
14659
  --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%2810, 10, 10, 0.25%29'/%3e%3c/svg%3e");
14183
14660
  }
14184
14661
 
14662
+ :where([data-bs-theme="dark"]) .form-switch .form-check-input:focus:active:not(:checked),
14663
+ :where([data-bs-theme="dark"]) .form-switch .form-check-input:focus:not(:focus-visible):not(:checked) {
14664
+ --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e");
14665
+ }
14666
+
14185
14667
  .spinner [data-icon] {
14186
14668
  width: 1rem;
14187
14669
  height: 1rem;
@@ -14257,6 +14739,7 @@ hr {
14257
14739
  font-weight: 500;
14258
14740
  color: var(--bs-secondary-text-emphasis);
14259
14741
  border-radius: var(--bs-border-radius);
14742
+ cursor: default;
14260
14743
  transition: all 0.2s ease-in-out;
14261
14744
  }
14262
14745
 
@@ -14270,12 +14753,65 @@ hr {
14270
14753
  color: var(--moo-foreground);
14271
14754
  }
14272
14755
 
14756
+ .tabs-list .nav-link:not(.active, .disabled):hover {
14757
+ background-color: transparent;
14758
+ box-shadow: none;
14759
+ }
14760
+
14761
+ .tabs-list .nav-link:focus:not(:focus-visible) {
14762
+ outline: 0;
14763
+ box-shadow: none;
14764
+ }
14765
+
14273
14766
  .tabs-list .nav-link.active {
14274
14767
  color: var(--moo-foreground);
14275
14768
  background-color: var(--moo-surface);
14276
14769
  box-shadow: var(--bs-box-shadow-sm);
14277
14770
  }
14278
14771
 
14772
+ .tabs-list .nav-link.active:focus-visible {
14773
+ border-color: var(--moo-ring);
14774
+ outline: 0;
14775
+ box-shadow: 0 0 0 3px color-mix(in srgb, var(--moo-ring) 50%, transparent);
14776
+ }
14777
+
14778
+ .tabs-list:has(.nav-link:hover) .nav-link.active:not(:hover) {
14779
+ background-color: var(--moo-surface);
14780
+ box-shadow: var(--bs-box-shadow-sm);
14781
+ }
14782
+
14783
+ .tabs--vertical {
14784
+ display: flex;
14785
+ align-items: flex-start;
14786
+ gap: 1rem;
14787
+ width: 100%;
14788
+ max-width: 100%;
14789
+ }
14790
+
14791
+ .tabs--vertical .tabs-list {
14792
+ flex: 0 0 auto;
14793
+ }
14794
+
14795
+ .tabs--vertical .nav-link {
14796
+ justify-content: flex-start;
14797
+ text-align: start;
14798
+ }
14799
+
14800
+ .tabs--vertical .tab-content {
14801
+ flex: 1 1 auto;
14802
+ min-width: 0;
14803
+ margin-top: 0;
14804
+ }
14805
+
14806
+ @media (max-width: 575.98px) {
14807
+ .tabs--vertical {
14808
+ flex-direction: column;
14809
+ }
14810
+ .tabs--vertical .tabs-list {
14811
+ flex-direction: row !important;
14812
+ }
14813
+ }
14814
+
14279
14815
  .tabs-list .nav-link:disabled,
14280
14816
  .tabs-list .nav-link.disabled {
14281
14817
  color: var(--moo-disabled-foreground);
@@ -14298,15 +14834,13 @@ hr {
14298
14834
  max-width: 100%;
14299
14835
  min-width: 0;
14300
14836
  opacity: 0;
14301
- transform: translateY(0.25rem);
14302
14837
  visibility: hidden;
14303
14838
  pointer-events: none;
14304
- transition: opacity 0.16s ease, transform 0.16s ease, visibility 0s linear 0.16s;
14839
+ transition: opacity 0.16s ease, visibility 0s linear 0.16s;
14305
14840
  }
14306
14841
 
14307
14842
  .tab-content > .active {
14308
14843
  opacity: 1;
14309
- transform: none;
14310
14844
  visibility: visible;
14311
14845
  pointer-events: auto;
14312
14846
  transition-delay: 0s;
@@ -14361,9 +14895,52 @@ hr {
14361
14895
  --bs-tooltip-padding-y: 0.375rem;
14362
14896
  --bs-tooltip-font-size: 0.75rem;
14363
14897
  --bs-tooltip-opacity: 1;
14898
+ --moo-tooltip-motion-duration: 150ms;
14899
+ --moo-tooltip-motion-easing: cubic-bezier(0.16, 1, 0.3, 1);
14900
+ --moo-tooltip-motion-scale: 0.95;
14901
+ --moo-tooltip-motion-translate: 0.25rem;
14364
14902
  line-height: 1.333;
14365
14903
  }
14366
14904
 
14905
+ .tooltip.fade .tooltip-inner {
14906
+ transition: transform var(--moo-tooltip-motion-duration) var(--moo-tooltip-motion-easing);
14907
+ transform: scale(var(--moo-tooltip-motion-scale));
14908
+ transform-origin: center;
14909
+ will-change: transform;
14910
+ }
14911
+
14912
+ .tooltip.show .tooltip-inner {
14913
+ transform: translate3d(0, 0, 0) scale(1);
14914
+ }
14915
+
14916
+ .bs-tooltip-top.fade:not(.show) .tooltip-inner,
14917
+ .bs-tooltip-auto[data-popper-placement^="top"].fade:not(.show) .tooltip-inner {
14918
+ transform: translate3d(0, var(--moo-tooltip-motion-translate), 0) scale(var(--moo-tooltip-motion-scale));
14919
+ }
14920
+
14921
+ .bs-tooltip-bottom.fade:not(.show) .tooltip-inner,
14922
+ .bs-tooltip-auto[data-popper-placement^="bottom"].fade:not(.show) .tooltip-inner {
14923
+ transform: translate3d(0, calc(var(--moo-tooltip-motion-translate) * -1), 0) scale(var(--moo-tooltip-motion-scale));
14924
+ }
14925
+
14926
+ .bs-tooltip-start.fade:not(.show) .tooltip-inner,
14927
+ .bs-tooltip-auto[data-popper-placement^="left"].fade:not(.show) .tooltip-inner {
14928
+ transform: translate3d(var(--moo-tooltip-motion-translate), 0, 0) scale(var(--moo-tooltip-motion-scale));
14929
+ }
14930
+
14931
+ .bs-tooltip-end.fade:not(.show) .tooltip-inner,
14932
+ .bs-tooltip-auto[data-popper-placement^="right"].fade:not(.show) .tooltip-inner {
14933
+ transform: translate3d(calc(var(--moo-tooltip-motion-translate) * -1), 0, 0) scale(var(--moo-tooltip-motion-scale));
14934
+ }
14935
+
14936
+ @media (prefers-reduced-motion: reduce) {
14937
+ .tooltip.fade .tooltip-inner {
14938
+ transition: none;
14939
+ transform: none;
14940
+ will-change: auto;
14941
+ }
14942
+ }
14943
+
14367
14944
  .tooltip-trigger {
14368
14945
  color: var(--moo-foreground);
14369
14946
  text-decoration-line: underline;
@@ -14372,12 +14949,8 @@ hr {
14372
14949
  text-underline-offset: 0.2em;
14373
14950
  }
14374
14951
 
14375
- .tooltip-kbd {
14376
- padding: 0.125rem 0.375rem;
14377
- font-size: 0.75rem;
14378
- color: var(--bs-body-bg);
14379
- background-color: var(--bs-body-color);
14380
- border-radius: var(--bs-border-radius-sm);
14952
+ .tooltip-inner kbd {
14953
+ margin-inline-start: 0.25rem;
14381
14954
  }
14382
14955
 
14383
14956
  .popover {
@@ -14411,6 +14984,7 @@ hr {
14411
14984
  --bs-modal-border-color: var(--moo-border);
14412
14985
  --bs-modal-header-border-width: 0;
14413
14986
  --bs-modal-footer-border-color: var(--moo-border);
14987
+ --bs-modal-footer-bg: color-mix(in srgb, var(--bs-secondary-bg) 50%, transparent);
14414
14988
  --bs-modal-title-line-height: 1;
14415
14989
  }
14416
14990
 
@@ -14434,6 +15008,7 @@ hr {
14434
15008
  .modal--alert {
14435
15009
  --bs-modal-width: 24rem;
14436
15010
  --bs-modal-padding: 1rem;
15011
+ --bs-modal-footer-bg: color-mix(in srgb, var(--bs-secondary-bg) 50%, transparent);
14437
15012
  }
14438
15013
 
14439
15014
  .modal-header--alert {
@@ -14478,10 +15053,16 @@ hr {
14478
15053
  .toast {
14479
15054
  --bs-toast-border-radius: var(--bs-border-radius-lg);
14480
15055
  --bs-toast-border-color: var(--moo-border);
15056
+ --bs-toast-bg: var(--bs-body-bg);
14481
15057
  --bs-toast-box-shadow: var(--bs-box-shadow-lg);
15058
+ --bs-toast-header-bg: var(--bs-body-bg);
14482
15059
  --bs-toast-padding-x: 1rem;
14483
15060
  }
14484
15061
 
15062
+ .toast-container {
15063
+ z-index: var(--bs-toast-zindex, 1090);
15064
+ }
15065
+
14485
15066
  .toast-header strong {
14486
15067
  font-weight: 500;
14487
15068
  }
@@ -14497,10 +15078,36 @@ hr {
14497
15078
  font-weight: 500;
14498
15079
  }
14499
15080
 
14500
- .field:has(> .is-invalid) > .form-label {
15081
+ .field[data-invalid="true"] {
14501
15082
  color: var(--bs-form-invalid-color);
14502
15083
  }
14503
15084
 
15085
+ .field--switch {
15086
+ flex-direction: row;
15087
+ align-items: flex-start;
15088
+ justify-content: space-between;
15089
+ gap: 1.25rem;
15090
+ }
15091
+
15092
+ .field--switch > :first-child {
15093
+ min-width: 0;
15094
+ }
15095
+
15096
+ .field--switch > label {
15097
+ flex: 0 0 auto;
15098
+ margin: 0;
15099
+ }
15100
+
15101
+ .field--switch .form-label {
15102
+ margin-bottom: 0.25rem;
15103
+ font-weight: 500;
15104
+ }
15105
+
15106
+ .field--disabled {
15107
+ opacity: 0.5;
15108
+ pointer-events: none;
15109
+ }
15110
+
14504
15111
  .field-description,
14505
15112
  .field-error {
14506
15113
  margin-top: 0;
@@ -14640,11 +15247,6 @@ hr {
14640
15247
  cursor: text;
14641
15248
  }
14642
15249
 
14643
- .combobox-chips:focus-within {
14644
- border-color: #8b8b8b;
14645
- box-shadow: 0 0 0 2px rgba(23, 23, 23, 0.25);
14646
- }
14647
-
14648
15250
  .combobox-value {
14649
15251
  display: flex;
14650
15252
  min-width: 0;
@@ -14815,9 +15417,10 @@ ul.context-menu-menu:focus-visible {
14815
15417
 
14816
15418
  .datatable {
14817
15419
  --moo-datatable-min-width: 48rem;
15420
+ --moo-datatable-actions-cell-fade-width: 1.25rem;
14818
15421
  --moo-datatable-card-label-width: 7rem;
14819
15422
  --moo-datatable-frame-header-min-height: 2.78125rem;
14820
- --moo-datatable-select-cell-inset: 0.89062rem;
15423
+ --moo-datatable-select-cell-inset: 0.82812rem;
14821
15424
  --moo-datatable-table-select-all-offset-y: 0.04688rem;
14822
15425
  --moo-datatable-toolbar-control-height: calc(2rem + var(--bs-border-width) * 2);
14823
15426
  --moo-datatable-search-filter-menu-width: 12.5rem;
@@ -14854,8 +15457,21 @@ ul.context-menu-menu:focus-visible {
14854
15457
  overflow: hidden;
14855
15458
  }
14856
15459
 
14857
- .datatable-frame:has(.table-row-actions .dropdown-menu.show),
14858
- .datatable-frame .table-responsive:has(.table-row-actions .dropdown-menu.show) {
15460
+ .datatable-frame [data-datatable-column="actions"] {
15461
+ position: sticky;
15462
+ inset-inline-end: 0;
15463
+ z-index: 2;
15464
+ background: linear-gradient(90deg, transparent 0, var(--bs-body-bg) var(--moo-datatable-actions-cell-fade-width));
15465
+ }
15466
+
15467
+ [dir="rtl"] .datatable-frame [data-datatable-column="actions"],
15468
+ .datatable-frame [dir="rtl"] [data-datatable-column="actions"] {
15469
+ background: linear-gradient(270deg, transparent 0, var(--bs-body-bg) var(--moo-datatable-actions-cell-fade-width));
15470
+ }
15471
+
15472
+ .datatable-card-frame:has(.datatable-card .dropdown-menu.show) {
15473
+ position: relative;
15474
+ z-index: 1000;
14859
15475
  overflow: visible;
14860
15476
  }
14861
15477
 
@@ -15214,6 +15830,12 @@ ul.context-menu-menu:focus-visible {
15214
15830
  background-color: var(--moo-muted-surface);
15215
15831
  }
15216
15832
 
15833
+ .datatable-view-toggle .btn-check:focus-visible + .datatable-view-option {
15834
+ z-index: 3;
15835
+ border-color: var(--moo-ring);
15836
+ box-shadow: 0 0 0 3px color-mix(in srgb, var(--moo-ring) 50%, transparent);
15837
+ }
15838
+
15217
15839
  .datatable-view-trigger {
15218
15840
  min-block-size: var(--moo-datatable-toolbar-control-height);
15219
15841
  }
@@ -15359,15 +15981,6 @@ ul.context-menu-menu:focus-visible {
15359
15981
  background-color: var(--bs-body-bg);
15360
15982
  }
15361
15983
 
15362
- .datatable-card-frame:has(.datatable-card .dropdown-menu.show),
15363
- .datatable-card:has(.dropdown-menu.show) {
15364
- overflow: visible;
15365
- }
15366
-
15367
- .datatable-card:has(.dropdown-menu.show) {
15368
- z-index: 2;
15369
- }
15370
-
15371
15984
  .datatable-card-header {
15372
15985
  display: grid;
15373
15986
  grid-template-columns: auto minmax(0, 1fr) auto;
@@ -15522,6 +16135,7 @@ ul.context-menu-menu:focus-visible {
15522
16135
  max-width: 100%;
15523
16136
  justify-self: end;
15524
16137
  overflow-x: auto;
16138
+ overflow-y: hidden;
15525
16139
  -webkit-overflow-scrolling: touch;
15526
16140
  }
15527
16141
 
@@ -15541,8 +16155,8 @@ ul.context-menu-menu:focus-visible {
15541
16155
  flex: 0 0 auto;
15542
16156
  align-items: center;
15543
16157
  justify-content: center;
15544
- width: 1em;
15545
- height: 1em;
16158
+ width: 1rem;
16159
+ height: 1rem;
15546
16160
  border: var(--bs-border-width) solid var(--bs-border-color);
15547
16161
  border-radius: var(--moo-datatable-facet-item-border-radius);
15548
16162
  color: transparent;