@wpmoo/ui 0.3.1 → 0.4.0

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.
@@ -136,6 +136,14 @@
136
136
  --bs-focus-ring-width: 2px;
137
137
  --bs-focus-ring-opacity: 0.25;
138
138
  --bs-focus-ring-color: var(--moo-ring);
139
+ --moo-overlay-backdrop-opacity: 1;
140
+ --moo-overlay-backdrop-bg: color-mix(in srgb, var(--bs-black) 10%, transparent);
141
+ --moo-overlay-backdrop-filter: blur(8px);
142
+ --moo-input-group-border-radius: var(--bs-border-radius-lg);
143
+ --moo-disabled-control-opacity: 0.5;
144
+ --moo-sidebar-foreground: var(--moo-foreground);
145
+ --moo-sidebar-accent: var(--moo-muted-surface);
146
+ --moo-sidebar-border: var(--moo-border);
139
147
  color-scheme: light;
140
148
  color: var(--bs-body-color);
141
149
  background-color: var(--bs-body-bg);
@@ -147,14 +155,7 @@
147
155
  --moo-ring: #18181b;
148
156
  --moo-destructive: #dc2626;
149
157
  --moo-destructive-foreground: #fff;
150
- --moo-overlay-backdrop-opacity: 1;
151
- --moo-overlay-backdrop-bg: color-mix(in srgb, var(--bs-black) 10%, transparent);
152
- --moo-overlay-backdrop-filter: blur(8px);
153
- --moo-input-group-border-radius: var(--bs-border-radius-lg);
154
158
  --moo-sidebar: #fafafa;
155
- --moo-sidebar-foreground: var(--moo-foreground);
156
- --moo-sidebar-accent: var(--moo-muted-surface);
157
- --moo-sidebar-border: var(--moo-border);
158
159
  --bs-body-color: var(--moo-foreground);
159
160
  --bs-body-color-rgb: 24, 24, 27;
160
161
  --bs-body-bg: var(--moo-surface);
@@ -221,14 +222,7 @@
221
222
  --moo-ring: #fafafa;
222
223
  --moo-destructive: #f87171;
223
224
  --moo-destructive-foreground: #18181b;
224
- --moo-overlay-backdrop-opacity: 1;
225
- --moo-overlay-backdrop-bg: color-mix(in srgb, var(--bs-black) 10%, transparent);
226
- --moo-overlay-backdrop-filter: blur(8px);
227
- --moo-input-group-border-radius: var(--bs-border-radius-lg);
228
225
  --moo-sidebar: #1c1c1f;
229
- --moo-sidebar-foreground: var(--moo-foreground);
230
- --moo-sidebar-accent: var(--moo-muted-surface);
231
- --moo-sidebar-border: var(--moo-border);
232
226
  --bs-body-color: var(--moo-foreground);
233
227
  --bs-body-color-rgb: 250, 250, 250;
234
228
  --bs-body-bg: var(--moo-surface);
@@ -295,14 +289,7 @@
295
289
  --moo-ring: #18181b;
296
290
  --moo-destructive: #dc2626;
297
291
  --moo-destructive-foreground: #fff;
298
- --moo-overlay-backdrop-opacity: 1;
299
- --moo-overlay-backdrop-bg: color-mix(in srgb, var(--bs-black) 10%, transparent);
300
- --moo-overlay-backdrop-filter: blur(8px);
301
- --moo-input-group-border-radius: var(--bs-border-radius-lg);
302
292
  --moo-sidebar: #fafafa;
303
- --moo-sidebar-foreground: var(--moo-foreground);
304
- --moo-sidebar-accent: var(--moo-muted-surface);
305
- --moo-sidebar-border: var(--moo-border);
306
293
  --bs-body-color: var(--moo-foreground);
307
294
  --bs-body-color-rgb: 24, 24, 27;
308
295
  --bs-body-bg: var(--moo-surface);
@@ -369,14 +356,7 @@
369
356
  --moo-ring: #fafafa;
370
357
  --moo-destructive: #f87171;
371
358
  --moo-destructive-foreground: #18181b;
372
- --moo-overlay-backdrop-opacity: 1;
373
- --moo-overlay-backdrop-bg: color-mix(in srgb, var(--bs-black) 10%, transparent);
374
- --moo-overlay-backdrop-filter: blur(8px);
375
- --moo-input-group-border-radius: var(--bs-border-radius-lg);
376
359
  --moo-sidebar: #1c1c1f;
377
- --moo-sidebar-foreground: var(--moo-foreground);
378
- --moo-sidebar-accent: var(--moo-muted-surface);
379
- --moo-sidebar-border: var(--moo-border);
380
360
  --bs-body-color: var(--moo-foreground);
381
361
  --bs-body-color-rgb: 250, 250, 250;
382
362
  --bs-body-bg: var(--moo-surface);
@@ -652,7 +632,7 @@
652
632
  padding-bottom: calc(0.25rem + var(--bs-border-width));
653
633
  margin-bottom: 0;
654
634
  font-size: inherit;
655
- line-height: 1.5;
635
+ line-height: 1.42857;
656
636
  }
657
637
  .col-form-label-lg {
658
638
  padding-top: calc(0.5rem + var(--bs-border-width));
@@ -680,7 +660,7 @@
680
660
  padding: 0.25rem 0.625rem;
681
661
  font-size: 0.875rem;
682
662
  font-weight: 400;
683
- line-height: 1.5;
663
+ line-height: 1.42857;
684
664
  color: var(--bs-body-color);
685
665
  appearance: none;
686
666
  background-color: transparent;
@@ -709,7 +689,7 @@
709
689
  }
710
690
  .form-control::-webkit-date-and-time-value {
711
691
  min-width: 85px;
712
- height: 1.5em;
692
+ height: 1.42857em;
713
693
  margin: 0;
714
694
  }
715
695
  .form-control::-webkit-datetime-edit {
@@ -721,6 +701,7 @@
721
701
  opacity: 1;
722
702
  }
723
703
  .form-control:disabled {
704
+ color: var(--bs-tertiary-color);
724
705
  background-color: color-mix(in srgb, var(--moo-border) 40%, transparent);
725
706
  opacity: 1;
726
707
  }
@@ -751,7 +732,7 @@
751
732
  width: 100%;
752
733
  padding: 0.25rem 0;
753
734
  margin-bottom: 0;
754
- line-height: 1.5;
735
+ line-height: 1.42857;
755
736
  color: var(--bs-body-color);
756
737
  background-color: transparent;
757
738
  border: solid transparent;
@@ -765,7 +746,7 @@
765
746
  padding-left: 0;
766
747
  }
767
748
  .form-control-sm {
768
- min-height: calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2));
749
+ min-height: calc(1.42857em + 0.5rem + calc(var(--bs-border-width) * 2));
769
750
  padding: 0.25rem 0.5rem;
770
751
  font-size: 0.76563rem;
771
752
  border-radius: var(--bs-border-radius-sm);
@@ -781,7 +762,7 @@
781
762
  margin-inline-end: 0.5rem;
782
763
  }
783
764
  .form-control-lg {
784
- min-height: calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));
765
+ min-height: calc(1.42857em + 1rem + calc(var(--bs-border-width) * 2));
785
766
  padding: 0.5rem 1rem;
786
767
  font-size: 1.09375rem;
787
768
  border-radius: var(--bs-border-radius-lg);
@@ -795,10 +776,10 @@
795
776
  min-height: 2rem;
796
777
  }
797
778
  textarea.form-control-sm {
798
- min-height: calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2));
779
+ min-height: calc(1.42857em + 0.5rem + calc(var(--bs-border-width) * 2));
799
780
  }
800
781
  textarea.form-control-lg {
801
- min-height: calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));
782
+ min-height: calc(1.42857em + 1rem + calc(var(--bs-border-width) * 2));
802
783
  }
803
784
  .form-control-color {
804
785
  width: 3rem;
@@ -817,10 +798,10 @@
817
798
  border-radius: 0.625rem;
818
799
  }
819
800
  .form-control-color.form-control-sm {
820
- height: calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2));
801
+ height: calc(1.42857em + 0.5rem + calc(var(--bs-border-width) * 2));
821
802
  }
822
803
  .form-control-color.form-control-lg {
823
- height: calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));
804
+ height: calc(1.42857em + 1rem + calc(var(--bs-border-width) * 2));
824
805
  }
825
806
  .form-select {
826
807
  --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
@@ -829,7 +810,7 @@
829
810
  padding: 0.25rem 1.875rem 0.25rem 0.625rem;
830
811
  font-size: 0.875rem;
831
812
  font-weight: 400;
832
- line-height: 1.5;
813
+ line-height: 1.42857;
833
814
  color: var(--bs-body-color);
834
815
  appearance: none;
835
816
  background-color: transparent;
@@ -856,6 +837,7 @@
856
837
  background-image: none;
857
838
  }
858
839
  .form-select:disabled {
840
+ color: var(--bs-tertiary-color);
859
841
  background-color: color-mix(in srgb, var(--moo-border) 40%, transparent);
860
842
  }
861
843
  .form-select:-moz-focusring {
@@ -1034,7 +1016,7 @@
1034
1016
  padding: 0.25rem 0.625rem;
1035
1017
  font-size: 0.875rem;
1036
1018
  font-weight: 400;
1037
- line-height: 1.5;
1019
+ line-height: 1.42857;
1038
1020
  color: var(--bs-body-color);
1039
1021
  text-align: center;
1040
1022
  white-space: nowrap;
@@ -1127,19 +1109,19 @@
1127
1109
  }
1128
1110
  .was-validated .form-control:valid, .form-control.is-valid {
1129
1111
  border-color: var(--bs-form-valid-border-color);
1130
- padding-right: calc(1.5em + 0.5rem);
1112
+ padding-right: calc(1.42857em + 0.5rem);
1131
1113
  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");
1132
1114
  background-repeat: no-repeat;
1133
- background-position: right calc(0.375em + 0.125rem) center;
1134
- background-size: calc(0.75em + 0.25rem) calc(0.75em + 0.25rem);
1115
+ background-position: right calc(0.35714em + 0.125rem) center;
1116
+ background-size: calc(0.71429em + 0.25rem) calc(0.71429em + 0.25rem);
1135
1117
  }
1136
1118
  .was-validated .form-control:valid:focus, .form-control.is-valid:focus {
1137
1119
  border-color: var(--bs-form-valid-border-color);
1138
1120
  box-shadow: 0 0 0 2px rgba(var(--bs-success-rgb), 0.25);
1139
1121
  }
1140
1122
  .was-validated textarea.form-control:valid, textarea.form-control.is-valid {
1141
- padding-right: calc(1.5em + 0.5rem);
1142
- background-position: top calc(0.375em + 0.125rem) right calc(0.375em + 0.125rem);
1123
+ padding-right: calc(1.42857em + 0.5rem);
1124
+ background-position: top calc(0.35714em + 0.125rem) right calc(0.35714em + 0.125rem);
1143
1125
  }
1144
1126
  .was-validated .form-select:valid, .form-select.is-valid {
1145
1127
  border-color: var(--bs-form-valid-border-color);
@@ -1148,14 +1130,14 @@
1148
1130
  --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");
1149
1131
  padding-right: 3.4375rem;
1150
1132
  background-position: right 0.625rem center, center right 1.875rem;
1151
- background-size: 16px 12px, calc(0.75em + 0.25rem) calc(0.75em + 0.25rem);
1133
+ background-size: 16px 12px, calc(0.71429em + 0.25rem) calc(0.71429em + 0.25rem);
1152
1134
  }
1153
1135
  .was-validated .form-select:valid:focus, .form-select.is-valid:focus {
1154
1136
  border-color: var(--bs-form-valid-border-color);
1155
1137
  box-shadow: 0 0 0 2px rgba(var(--bs-success-rgb), 0.25);
1156
1138
  }
1157
1139
  .was-validated .form-control-color:valid, .form-control-color.is-valid {
1158
- width: calc(3rem + calc(1.5em + 0.5rem));
1140
+ width: calc(3rem + calc(1.42857em + 0.5rem));
1159
1141
  }
1160
1142
  .was-validated .form-check-input:valid, .form-check-input.is-valid {
1161
1143
  border-color: var(--bs-form-valid-border-color);
@@ -1210,19 +1192,19 @@
1210
1192
  }
1211
1193
  .was-validated .form-control:invalid, .form-control.is-invalid {
1212
1194
  border-color: var(--bs-form-invalid-border-color);
1213
- padding-right: calc(1.5em + 0.5rem);
1195
+ padding-right: calc(1.42857em + 0.5rem);
1214
1196
  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");
1215
1197
  background-repeat: no-repeat;
1216
- background-position: right calc(0.375em + 0.125rem) center;
1217
- background-size: calc(0.75em + 0.25rem) calc(0.75em + 0.25rem);
1198
+ background-position: right calc(0.35714em + 0.125rem) center;
1199
+ background-size: calc(0.71429em + 0.25rem) calc(0.71429em + 0.25rem);
1218
1200
  }
1219
1201
  .was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {
1220
1202
  border-color: var(--bs-form-invalid-border-color);
1221
1203
  box-shadow: 0 0 0 2px rgba(var(--bs-danger-rgb), 0.25);
1222
1204
  }
1223
1205
  .was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {
1224
- padding-right: calc(1.5em + 0.5rem);
1225
- background-position: top calc(0.375em + 0.125rem) right calc(0.375em + 0.125rem);
1206
+ padding-right: calc(1.42857em + 0.5rem);
1207
+ background-position: top calc(0.35714em + 0.125rem) right calc(0.35714em + 0.125rem);
1226
1208
  }
1227
1209
  .was-validated .form-select:invalid, .form-select.is-invalid {
1228
1210
  border-color: var(--bs-form-invalid-border-color);
@@ -1231,14 +1213,14 @@
1231
1213
  --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");
1232
1214
  padding-right: 3.4375rem;
1233
1215
  background-position: right 0.625rem center, center right 1.875rem;
1234
- background-size: 16px 12px, calc(0.75em + 0.25rem) calc(0.75em + 0.25rem);
1216
+ background-size: 16px 12px, calc(0.71429em + 0.25rem) calc(0.71429em + 0.25rem);
1235
1217
  }
1236
1218
  .was-validated .form-select:invalid:focus, .form-select.is-invalid:focus {
1237
1219
  border-color: var(--bs-form-invalid-border-color);
1238
1220
  box-shadow: 0 0 0 2px rgba(var(--bs-danger-rgb), 0.25);
1239
1221
  }
1240
1222
  .was-validated .form-control-color:invalid, .form-control-color.is-invalid {
1241
- width: calc(3rem + calc(1.5em + 0.5rem));
1223
+ width: calc(3rem + calc(1.42857em + 0.5rem));
1242
1224
  }
1243
1225
  .was-validated .form-check-input:invalid, .form-check-input.is-invalid {
1244
1226
  border-color: var(--bs-form-invalid-border-color);
@@ -3840,6 +3822,12 @@
3840
3822
  outline-offset: var(--bs-focus-ring-width);
3841
3823
  box-shadow: none;
3842
3824
  }
3825
+ .form-control.is-invalid,
3826
+ .form-control.is-invalid:focus,
3827
+ .form-select.is-invalid,
3828
+ .form-select.is-invalid:focus {
3829
+ box-shadow: 0 0 0 var(--bs-focus-ring-width) color-mix(in srgb, var(--bs-form-invalid-border-color) 20%, transparent);
3830
+ }
3843
3831
  .btn-check:focus-visible + .btn {
3844
3832
  outline: var(--bs-focus-ring-width) solid var(--moo-ring);
3845
3833
  outline-offset: var(--bs-focus-ring-width);
@@ -4003,9 +3991,16 @@
4003
3991
  .form-control {
4004
3992
  min-height: 2rem;
4005
3993
  }
3994
+ .form-control:disabled,
3995
+ .form-select:disabled {
3996
+ opacity: var(--moo-disabled-control-opacity);
3997
+ }
4006
3998
  textarea.form-control:not(.form-control-sm, .form-control-lg) {
4007
3999
  padding: 0.5rem 0.75rem;
4008
4000
  }
4001
+ textarea.form-control:disabled {
4002
+ resize: none;
4003
+ }
4009
4004
  .input-group:not(:has(> .form-control[type="file"])) {
4010
4005
  border: var(--bs-border-width) solid var(--moo-border);
4011
4006
  border-radius: var(--moo-input-group-border-radius);
@@ -4214,7 +4209,11 @@ label.btn {
4214
4209
  .btn.disabled,
4215
4210
  .btn[aria-disabled="true"] {
4216
4211
  pointer-events: none;
4217
- opacity: var(--bs-btn-disabled-opacity);
4212
+ opacity: var(--moo-disabled-control-opacity);
4213
+ }
4214
+ .btn-check:disabled + .btn {
4215
+ pointer-events: none;
4216
+ opacity: var(--moo-disabled-control-opacity);
4218
4217
  }
4219
4218
  .btn:not(:disabled):not(.disabled):not([aria-disabled="true"]):active {
4220
4219
  transform: translateY(0.5px);
@@ -5219,6 +5218,9 @@ label.btn {
5219
5218
  width: 1rem;
5220
5219
  height: 1rem;
5221
5220
  }
5221
+ .page-item.disabled {
5222
+ opacity: var(--moo-disabled-control-opacity);
5223
+ }
5222
5224
  .progress {
5223
5225
  --bs-progress-bar-bg: var(--moo-foreground);
5224
5226
  }
@@ -5264,6 +5266,14 @@ label.btn {
5264
5266
  .accordion-button:hover {
5265
5267
  text-decoration: underline;
5266
5268
  }
5269
+ .accordion-button:disabled {
5270
+ color: var(--moo-muted-foreground);
5271
+ opacity: var(--moo-disabled-control-opacity);
5272
+ pointer-events: none;
5273
+ }
5274
+ .accordion-button:disabled:hover {
5275
+ text-decoration: none;
5276
+ }
5267
5277
  .accordion-flush {
5268
5278
  --bs-accordion-btn-padding-x: 0;
5269
5279
  --bs-accordion-btn-padding-y: 0.625rem;
@@ -5301,6 +5311,12 @@ label.btn {
5301
5311
  background-color: var(--moo-surface);
5302
5312
  box-shadow: var(--bs-box-shadow-sm);
5303
5313
  }
5314
+ .tabs-list .nav-link:disabled,
5315
+ .tabs-list .nav-link.disabled {
5316
+ color: var(--moo-muted-foreground);
5317
+ opacity: var(--moo-disabled-control-opacity);
5318
+ pointer-events: none;
5319
+ }
5304
5320
  .tab-content {
5305
5321
  display: grid;
5306
5322
  width: 100%;
@@ -5512,6 +5528,216 @@ label.btn {
5512
5528
  .field-fieldset + hr {
5513
5529
  opacity: 0.1;
5514
5530
  }
5531
+ .combobox {
5532
+ --moo-combobox-width: 12.5rem;
5533
+ --moo-combobox-multiple-width: 20rem;
5534
+ --moo-combobox-menu-max-height: 16rem;
5535
+ --moo-combobox-option-line-height: 1.25rem;
5536
+ --moo-combobox-description-font-size: 0.75rem;
5537
+ width: 100%;
5538
+ max-width: var(--moo-combobox-width);
5539
+ }
5540
+ .combobox--multiple {
5541
+ max-width: var(--moo-combobox-multiple-width);
5542
+ }
5543
+ .combobox-control {
5544
+ position: relative;
5545
+ width: 100%;
5546
+ }
5547
+ .combobox-control:has(.combobox-input:disabled) {
5548
+ opacity: var(--moo-disabled-control-opacity);
5549
+ }
5550
+ .combobox-control:has(.combobox-input:disabled) .combobox-input:disabled {
5551
+ opacity: 1;
5552
+ }
5553
+ .combobox-input {
5554
+ padding-inline-end: calc(0.625rem + 2rem);
5555
+ }
5556
+ .combobox-input.is-invalid {
5557
+ padding-inline-end: calc(0.625rem + 2rem);
5558
+ background-image: none;
5559
+ }
5560
+ .combobox-indicator {
5561
+ position: absolute;
5562
+ inset-block: 0;
5563
+ inset-inline-end: 0;
5564
+ display: flex;
5565
+ align-items: center;
5566
+ justify-content: center;
5567
+ width: 2rem;
5568
+ color: var(--bs-secondary-color);
5569
+ pointer-events: none;
5570
+ }
5571
+ .combobox-indicator > [data-icon] {
5572
+ width: 1rem;
5573
+ height: 1rem;
5574
+ flex: 0 0 auto;
5575
+ }
5576
+ .combobox-clear {
5577
+ position: absolute;
5578
+ inset-block: 0;
5579
+ inset-inline-end: 0;
5580
+ display: flex;
5581
+ width: 2rem;
5582
+ align-items: center;
5583
+ justify-content: center;
5584
+ padding: 0;
5585
+ border: 0;
5586
+ background: transparent;
5587
+ color: var(--bs-secondary-color);
5588
+ cursor: pointer;
5589
+ }
5590
+ .combobox-clear:hover,
5591
+ .combobox-clear:focus-visible {
5592
+ color: var(--bs-body-color);
5593
+ }
5594
+ .combobox-clear > [data-icon] {
5595
+ width: 0.875em;
5596
+ height: 0.875em;
5597
+ flex: 0 0 auto;
5598
+ }
5599
+ .combobox-chips {
5600
+ display: flex;
5601
+ min-height: 2rem;
5602
+ align-items: center;
5603
+ gap: 0.25rem;
5604
+ flex-wrap: wrap;
5605
+ padding-block: 0.25rem;
5606
+ padding-inline: 0.625rem;
5607
+ cursor: text;
5608
+ }
5609
+ .combobox-chips:focus-within {
5610
+ border-color: #8b8b8b;
5611
+ box-shadow: 0 0 0 2px rgba(23, 23, 23, 0.25);
5612
+ }
5613
+ .combobox-value {
5614
+ display: flex;
5615
+ min-width: 0;
5616
+ align-items: center;
5617
+ gap: 0.25rem;
5618
+ flex-wrap: wrap;
5619
+ }
5620
+ .combobox-chip {
5621
+ display: inline-flex;
5622
+ max-width: 100%;
5623
+ align-items: center;
5624
+ gap: 0.25rem;
5625
+ cursor: default;
5626
+ }
5627
+ .combobox-chip__label {
5628
+ min-width: 0;
5629
+ overflow: hidden;
5630
+ text-overflow: ellipsis;
5631
+ }
5632
+ .combobox-chip__remove {
5633
+ display: inline-flex;
5634
+ align-items: center;
5635
+ justify-content: center;
5636
+ padding: 0;
5637
+ border: 0;
5638
+ border-radius: var(--bs-border-radius-pill);
5639
+ background: transparent;
5640
+ color: inherit;
5641
+ cursor: pointer;
5642
+ opacity: 0.65;
5643
+ }
5644
+ .combobox-chip__remove:hover,
5645
+ .combobox-chip__remove:focus-visible {
5646
+ opacity: 1;
5647
+ }
5648
+ .combobox-chip__remove > [data-icon] {
5649
+ width: 0.875rem;
5650
+ height: 0.875rem;
5651
+ flex: 0 0 auto;
5652
+ }
5653
+ .combobox-chips-input {
5654
+ min-width: 5rem;
5655
+ flex: 1 1 5rem;
5656
+ padding: 0;
5657
+ border: 0;
5658
+ outline: 0;
5659
+ background: transparent;
5660
+ color: inherit;
5661
+ }
5662
+ .combobox-chips-input::placeholder {
5663
+ color: var(--bs-tertiary-color);
5664
+ }
5665
+ .combobox-menu {
5666
+ position: absolute;
5667
+ inset-block-start: calc(100% + 0.125rem);
5668
+ inset-inline-start: 0;
5669
+ z-index: 1000;
5670
+ width: max-content;
5671
+ min-width: 100%;
5672
+ max-width: calc(100vw - 1rem);
5673
+ max-height: var(--moo-combobox-menu-max-height);
5674
+ overflow-y: auto;
5675
+ overscroll-behavior: contain;
5676
+ scrollbar-width: none;
5677
+ }
5678
+ .combobox-menu::-webkit-scrollbar {
5679
+ display: none;
5680
+ }
5681
+ .combobox-option {
5682
+ display: flex;
5683
+ align-items: center;
5684
+ gap: 0.5rem;
5685
+ padding-inline-end: 2rem;
5686
+ line-height: var(--moo-combobox-option-line-height);
5687
+ }
5688
+ .combobox-option__content {
5689
+ display: flex;
5690
+ min-width: 0;
5691
+ flex: 1 1 auto;
5692
+ flex-direction: column;
5693
+ }
5694
+ .combobox-option[aria-current="true"] {
5695
+ background-color: var(--bs-dropdown-link-hover-bg);
5696
+ }
5697
+ .combobox-option[aria-selected="true"] {
5698
+ font-weight: 500;
5699
+ }
5700
+ .combobox-option__label {
5701
+ min-width: 0;
5702
+ overflow: hidden;
5703
+ text-overflow: ellipsis;
5704
+ }
5705
+ .combobox--custom-items .combobox-option__label {
5706
+ font-weight: 500;
5707
+ }
5708
+ .combobox-option__description {
5709
+ min-width: 0;
5710
+ overflow: hidden;
5711
+ color: var(--bs-secondary-color);
5712
+ font-size: var(--moo-combobox-description-font-size);
5713
+ line-height: 1.5;
5714
+ text-overflow: ellipsis;
5715
+ }
5716
+ .combobox-option__check {
5717
+ display: inline-flex;
5718
+ flex: 0 0 auto;
5719
+ margin-inline-start: auto;
5720
+ visibility: hidden;
5721
+ }
5722
+ .combobox-option[aria-selected="true"] .combobox-option__check {
5723
+ visibility: visible;
5724
+ }
5725
+ .combobox-option__check > [data-icon] {
5726
+ width: 1rem;
5727
+ height: 1rem;
5728
+ flex: 0 0 auto;
5729
+ }
5730
+ .combobox-group-label {
5731
+ padding: 0.375rem 0.5rem;
5732
+ font-size: var(--moo-combobox-description-font-size);
5733
+ font-weight: 400;
5734
+ line-height: 1rem;
5735
+ }
5736
+ .combobox-empty {
5737
+ padding: 0.25rem 0.375rem;
5738
+ color: var(--bs-secondary-color);
5739
+ text-align: center;
5740
+ }
5515
5741
  .form-label,
5516
5742
  .form-check-label {
5517
5743
  user-select: none;