@wpmoo/ui 0.7.1 → 0.8.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.
@@ -152,6 +152,7 @@
152
152
  --moo-border: #e4e4e7;
153
153
  --moo-foreground: #18181b;
154
154
  --moo-muted-foreground: #71717a;
155
+ --moo-disabled-foreground: #a1a1aa;
155
156
  --moo-ring: #18181b;
156
157
  --moo-destructive: #dc2626;
157
158
  --moo-destructive-foreground: #fff;
@@ -219,6 +220,7 @@
219
220
  --moo-border: #3f3f46;
220
221
  --moo-foreground: #fafafa;
221
222
  --moo-muted-foreground: #a1a1aa;
223
+ --moo-disabled-foreground: #71717a;
222
224
  --moo-ring: #fafafa;
223
225
  --moo-destructive: #f87171;
224
226
  --moo-destructive-foreground: #18181b;
@@ -286,6 +288,7 @@
286
288
  --moo-border: #e4e4e7;
287
289
  --moo-foreground: #18181b;
288
290
  --moo-muted-foreground: #71717a;
291
+ --moo-disabled-foreground: #a1a1aa;
289
292
  --moo-ring: #18181b;
290
293
  --moo-destructive: #dc2626;
291
294
  --moo-destructive-foreground: #fff;
@@ -353,6 +356,7 @@
353
356
  --moo-border: #3f3f46;
354
357
  --moo-foreground: #fafafa;
355
358
  --moo-muted-foreground: #a1a1aa;
359
+ --moo-disabled-foreground: #71717a;
356
360
  --moo-ring: #fafafa;
357
361
  --moo-destructive: #f87171;
358
362
  --moo-destructive-foreground: #18181b;
@@ -701,7 +705,7 @@
701
705
  opacity: 1;
702
706
  }
703
707
  .form-control:disabled {
704
- color: var(--bs-tertiary-color);
708
+ color: var(--moo-disabled-foreground);
705
709
  background-color: color-mix(in srgb, var(--moo-border) 40%, transparent);
706
710
  opacity: 1;
707
711
  }
@@ -837,7 +841,7 @@
837
841
  background-image: none;
838
842
  }
839
843
  .form-select:disabled {
840
- color: var(--bs-tertiary-color);
844
+ color: var(--moo-disabled-foreground);
841
845
  background-color: color-mix(in srgb, var(--moo-border) 40%, transparent);
842
846
  }
843
847
  .form-select:-moz-focusring {
@@ -909,9 +913,9 @@
909
913
  filter: brightness(90%);
910
914
  }
911
915
  .form-check-input:focus {
912
- border-color: #8b8b8b;
916
+ border-color: var(--moo-border);
913
917
  outline: 0;
914
- box-shadow: 0 0 0 2px rgba(23, 23, 23, 0.25);
918
+ box-shadow: 0 0 0 var(--bs-focus-ring-width) color-mix(in srgb, var(--moo-ring) 50%, transparent);
915
919
  }
916
920
  .form-check-input:checked {
917
921
  background-color: #171717;
@@ -2483,7 +2487,7 @@
2483
2487
  --bs-pagination-active-color: var(--bs-body-color);
2484
2488
  --bs-pagination-active-bg: var(--moo-muted-surface);
2485
2489
  --bs-pagination-active-border-color: var(--moo-border);
2486
- --bs-pagination-disabled-color: var(--bs-secondary-color);
2490
+ --bs-pagination-disabled-color: var(--moo-disabled-foreground);
2487
2491
  --bs-pagination-disabled-bg: var(--bs-secondary-bg);
2488
2492
  --bs-pagination-disabled-border-color: transparent;
2489
2493
  display: flex;
@@ -3958,6 +3962,27 @@
3958
3962
  .no-scrollbar::-webkit-scrollbar {
3959
3963
  display: none;
3960
3964
  }
3965
+ .scrollbar-thin {
3966
+ --moo-scrollbar-thin-size: 0.375rem;
3967
+ --moo-scrollbar-thin-thumb-bg: color-mix(in srgb, var(--bs-secondary-color) 28%, transparent);
3968
+ --moo-scrollbar-thin-thumb-hover-bg: color-mix(in srgb, var(--bs-secondary-color) 45%, transparent);
3969
+ scrollbar-color: var(--moo-scrollbar-thin-thumb-bg) transparent;
3970
+ scrollbar-width: thin;
3971
+ }
3972
+ .scrollbar-thin::-webkit-scrollbar {
3973
+ width: var(--moo-scrollbar-thin-size);
3974
+ height: var(--moo-scrollbar-thin-size);
3975
+ }
3976
+ .scrollbar-thin::-webkit-scrollbar-track {
3977
+ background: transparent;
3978
+ }
3979
+ .scrollbar-thin::-webkit-scrollbar-thumb {
3980
+ border-radius: var(--bs-border-radius-pill);
3981
+ background-color: var(--moo-scrollbar-thin-thumb-bg);
3982
+ }
3983
+ .scrollbar-thin::-webkit-scrollbar-thumb:hover {
3984
+ background-color: var(--moo-scrollbar-thin-thumb-hover-bg);
3985
+ }
3961
3986
  @supports not (animation-timeline: scroll()) {
3962
3987
  .scroll-fade,
3963
3988
  .scroll-fade-y {
@@ -3987,6 +4012,7 @@
3987
4012
  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";
3988
4013
  line-height: 1rem;
3989
4014
  font-weight: 500;
4015
+ border: var(--bs-border-width) solid var(--bs-border-color);
3990
4016
  }
3991
4017
  .form-control {
3992
4018
  min-height: 2rem;
@@ -4118,7 +4144,7 @@
4118
4144
  border-color: #8b8b8b;
4119
4145
  box-shadow: 0 0 0 2px rgba(23, 23, 23, 0.25);
4120
4146
  }
4121
- .input-group:not(:has(> .form-control[type="file"])) > :focus {
4147
+ .input-group:not(:has(> .form-control[type="file"])) > :is(.form-control, .form-select):focus {
4122
4148
  outline: 0;
4123
4149
  box-shadow: none;
4124
4150
  }
@@ -4270,7 +4296,7 @@ label.btn {
4270
4296
  --bs-btn-active-bg: var(--bs-btn-hover-bg);
4271
4297
  --bs-btn-active-color: var(--bs-btn-color);
4272
4298
  --bs-btn-active-border-color: transparent;
4273
- --bs-btn-disabled-color: var(--moo-muted-foreground);
4299
+ --bs-btn-disabled-color: var(--moo-disabled-foreground);
4274
4300
  }
4275
4301
  .btn-danger {
4276
4302
  --bs-btn-color: var(--moo-destructive-foreground);
@@ -4344,7 +4370,7 @@ label.btn {
4344
4370
  --bs-dropdown-link-hover-bg: var(--moo-muted-surface);
4345
4371
  --bs-dropdown-link-active-color: var(--moo-foreground);
4346
4372
  --bs-dropdown-link-active-bg: var(--moo-muted-surface);
4347
- --bs-dropdown-link-disabled-color: var(--moo-muted-foreground);
4373
+ --bs-dropdown-link-disabled-color: var(--moo-disabled-foreground);
4348
4374
  --bs-dropdown-header-color: var(--moo-muted-foreground);
4349
4375
  box-shadow: var(--bs-dropdown-box-shadow);
4350
4376
  }
@@ -4354,11 +4380,19 @@ label.btn {
4354
4380
  align-items: center;
4355
4381
  gap: 0.5rem;
4356
4382
  }
4383
+ .dropdown-item:focus:not(:focus-visible):not(:hover) {
4384
+ color: var(--bs-dropdown-link-color);
4385
+ background-color: transparent;
4386
+ }
4357
4387
  .dropdown-item > [data-icon] {
4358
4388
  width: 1rem;
4359
4389
  height: 1rem;
4360
4390
  flex: 0 0 auto;
4361
4391
  }
4392
+ .dropdown-menu .dropdown-divider {
4393
+ margin-inline: calc(-1 * var(--bs-dropdown-padding-x));
4394
+ border-block-start: var(--bs-border-width) solid var(--bs-dropdown-divider-bg);
4395
+ }
4362
4396
  .dropdown-item-check.active {
4363
4397
  color: var(--bs-dropdown-link-color);
4364
4398
  background-color: transparent;
@@ -4369,20 +4403,25 @@ label.btn {
4369
4403
  background-color: var(--bs-dropdown-link-hover-bg);
4370
4404
  }
4371
4405
  .dropdown-item-check__indicator {
4406
+ --moo-dropdown-item-check-border-radius: 0.25em;
4372
4407
  display: inline-flex;
4373
4408
  flex: 0 0 auto;
4374
4409
  align-items: center;
4375
4410
  justify-content: center;
4376
- width: 1rem;
4377
- height: 1rem;
4378
- opacity: 0;
4411
+ width: 1em;
4412
+ height: 1em;
4413
+ border: var(--bs-border-width) solid var(--bs-border-color);
4414
+ border-radius: var(--moo-dropdown-item-check-border-radius);
4415
+ color: transparent;
4379
4416
  }
4380
4417
  .dropdown-item-check.active .dropdown-item-check__indicator {
4381
- opacity: 1;
4418
+ background-color: var(--moo-foreground);
4419
+ border-color: var(--moo-foreground);
4420
+ color: var(--moo-surface);
4382
4421
  }
4383
4422
  .dropdown-item-check__indicator > [data-icon] {
4384
- width: 1rem;
4385
- height: 1rem;
4423
+ width: 0.75rem;
4424
+ height: 0.75rem;
4386
4425
  }
4387
4426
  .dropdown-item__icon-box {
4388
4427
  --moo-dropdown-item-icon-size: 1.5rem;
@@ -4552,7 +4591,7 @@ label.btn {
4552
4591
  .nav {
4553
4592
  --bs-nav-link-color: var(--moo-foreground);
4554
4593
  --bs-nav-link-hover-color: var(--moo-foreground);
4555
- --bs-nav-link-disabled-color: var(--moo-muted-foreground);
4594
+ --bs-nav-link-disabled-color: var(--moo-disabled-foreground);
4556
4595
  }
4557
4596
  .nav-pills {
4558
4597
  --bs-nav-pills-border-radius: var(--bs-border-radius);
@@ -4570,6 +4609,9 @@ label.btn {
4570
4609
  .nav-pills .nav-link:not(.active, .disabled):hover {
4571
4610
  background-color: var(--moo-muted-surface);
4572
4611
  }
4612
+ .nav-pills:has(.nav-link:hover) .nav-link.active:not(:hover) {
4613
+ background-color: transparent;
4614
+ }
4573
4615
  .nav-link [data-icon] {
4574
4616
  width: 1rem;
4575
4617
  height: 1rem;
@@ -5239,7 +5281,10 @@ label.btn {
5239
5281
  .page-link {
5240
5282
  display: inline-flex;
5241
5283
  align-items: center;
5284
+ justify-content: center;
5242
5285
  gap: 0.25rem;
5286
+ min-width: calc( 1em * var(--bs-body-line-height, 1.5) + var(--bs-pagination-padding-y) * 2 + var(--bs-pagination-border-width) * 2);
5287
+ min-height: calc( 1em * var(--bs-body-line-height, 1.5) + var(--bs-pagination-padding-y) * 2 + var(--bs-pagination-border-width) * 2);
5243
5288
  }
5244
5289
  .page-link [data-icon] {
5245
5290
  width: 1rem;
@@ -5251,15 +5296,40 @@ label.btn {
5251
5296
  .progress {
5252
5297
  --bs-progress-bar-bg: var(--moo-foreground);
5253
5298
  }
5299
+ hr {
5300
+ opacity: 1;
5301
+ border-top: var(--bs-border-width) solid var(--moo-border);
5302
+ }
5303
+ .vr {
5304
+ opacity: 1;
5305
+ background-color: var(--moo-border);
5306
+ }
5254
5307
  [data-bs-theme="dark"] .form-check-input:checked {
5255
5308
  filter: invert(1);
5256
5309
  }
5310
+ .form-check-input[type="checkbox"]:focus:active,
5311
+ .form-check-input[type="checkbox"]:focus:not(:focus-visible) {
5312
+ border-color: var(--bs-border-color);
5313
+ box-shadow: none;
5314
+ }
5315
+ .form-check-input[type="checkbox"]:checked:focus:active,
5316
+ .form-check-input[type="checkbox"]:checked:focus:not(:focus-visible) {
5317
+ border-color: #171717;
5318
+ }
5319
+ .form-check-input[type="checkbox"]:indeterminate:focus:active,
5320
+ .form-check-input[type="checkbox"]:indeterminate:focus:not(:focus-visible) {
5321
+ border-color: #171717;
5322
+ }
5257
5323
  .radio-group legend.form-label {
5258
5324
  font-size: inherit;
5259
5325
  }
5260
5326
  .form-switch .form-check-input {
5261
5327
  height: 1.15rem;
5262
5328
  }
5329
+ .form-switch .form-check-input:focus:active:not(:checked),
5330
+ .form-switch .form-check-input:focus:not(:focus-visible):not(:checked) {
5331
+ --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");
5332
+ }
5263
5333
  .spinner [data-icon] {
5264
5334
  width: 1rem;
5265
5335
  height: 1rem;
@@ -5294,7 +5364,7 @@ label.btn {
5294
5364
  text-decoration: underline;
5295
5365
  }
5296
5366
  .accordion-button:disabled {
5297
- color: var(--moo-muted-foreground);
5367
+ color: var(--moo-disabled-foreground);
5298
5368
  opacity: var(--moo-disabled-control-opacity);
5299
5369
  pointer-events: none;
5300
5370
  }
@@ -5340,7 +5410,7 @@ label.btn {
5340
5410
  }
5341
5411
  .tabs-list .nav-link:disabled,
5342
5412
  .tabs-list .nav-link.disabled {
5343
- color: var(--moo-muted-foreground);
5413
+ color: var(--moo-disabled-foreground);
5344
5414
  opacity: var(--moo-disabled-control-opacity);
5345
5415
  pointer-events: none;
5346
5416
  }
@@ -5776,6 +5846,859 @@ label.btn {
5776
5846
  color: var(--bs-secondary-color);
5777
5847
  text-align: center;
5778
5848
  }
5849
+ .context-menu {
5850
+ position: relative;
5851
+ }
5852
+ .context-menu-trigger:not([data-context-menu-fallback]) {
5853
+ cursor: default;
5854
+ }
5855
+ .context-menu-trigger[data-context-menu-fallback] {
5856
+ position: absolute;
5857
+ inset-block-start: 0.5rem;
5858
+ inset-inline-end: 0.5rem;
5859
+ }
5860
+ ul.context-menu-menu:focus-visible {
5861
+ outline: 0;
5862
+ }
5863
+ .datatable {
5864
+ --moo-datatable-min-width: 48rem;
5865
+ --moo-datatable-card-label-width: 7rem;
5866
+ --moo-datatable-frame-header-min-height: 2.78125rem;
5867
+ --moo-datatable-select-cell-inset: 0.89062rem;
5868
+ --moo-datatable-table-select-all-offset-y: 0.04688rem;
5869
+ --moo-datatable-toolbar-control-height: calc(2rem + var(--bs-border-width) * 2);
5870
+ --moo-datatable-search-filter-menu-width: 12.5rem;
5871
+ --moo-datatable-search-filter-options-menu-width: 17rem;
5872
+ --moo-datatable-scrollbar-size: 0.375rem;
5873
+ }
5874
+ .datatable-table {
5875
+ table-layout: fixed;
5876
+ }
5877
+ .datatable--responsive-scroll .datatable-table,
5878
+ .datatable--responsive-toggle .datatable-table {
5879
+ min-width: var(--moo-datatable-min-width);
5880
+ }
5881
+ .datatable--responsive-toggle[data-datatable-view="table"] .datatable-card-frame {
5882
+ display: none;
5883
+ }
5884
+ .datatable--responsive-toggle[data-datatable-view="cards"] .datatable-frame {
5885
+ display: none;
5886
+ }
5887
+ .datatable-frame {
5888
+ border: var(--bs-border-width) solid var(--bs-border-color);
5889
+ border-radius: var(--bs-border-radius);
5890
+ overflow: hidden;
5891
+ }
5892
+ .datatable-card-frame {
5893
+ border: var(--bs-border-width) solid var(--bs-border-color);
5894
+ border-radius: var(--bs-border-radius);
5895
+ overflow: hidden;
5896
+ }
5897
+ .datatable-frame:has(.table-row-actions .dropdown-menu.show),
5898
+ .datatable-frame .table-responsive:has(.table-row-actions .dropdown-menu.show) {
5899
+ overflow: visible;
5900
+ }
5901
+ .datatable-frame-header {
5902
+ display: flex;
5903
+ align-items: center;
5904
+ justify-content: space-between;
5905
+ gap: 0.625rem;
5906
+ min-block-size: var(--moo-datatable-frame-header-min-height);
5907
+ padding-block: 0.375rem;
5908
+ padding-inline-start: var(--moo-datatable-select-cell-inset);
5909
+ padding-inline-end: 0.5rem;
5910
+ border-bottom: var(--bs-border-width) solid var(--bs-border-color);
5911
+ background-color: var(--bs-body-bg);
5912
+ }
5913
+ .datatable-frame .table-responsive {
5914
+ position: relative;
5915
+ margin-bottom: 0;
5916
+ }
5917
+ .datatable-frame .datatable-table {
5918
+ margin-bottom: 0;
5919
+ }
5920
+ .datatable-table > :not(caption) > * > * {
5921
+ vertical-align: middle;
5922
+ }
5923
+ .datatable-toolbar {
5924
+ display: flex;
5925
+ flex-wrap: wrap;
5926
+ align-items: center;
5927
+ gap: 0.5rem;
5928
+ margin-bottom: 0.5rem;
5929
+ }
5930
+ .datatable-toolbar-actions {
5931
+ display: flex;
5932
+ align-items: center;
5933
+ gap: 0.5rem;
5934
+ margin-inline-start: auto;
5935
+ }
5936
+ .datatable-toolbar-query {
5937
+ display: flex;
5938
+ flex: 0 1 22rem;
5939
+ gap: 0.5rem;
5940
+ align-items: center;
5941
+ min-width: 20rem;
5942
+ max-width: 100%;
5943
+ }
5944
+ .datatable-search-filter {
5945
+ position: relative;
5946
+ flex: 1 1 auto;
5947
+ min-width: 0;
5948
+ }
5949
+ .datatable-searchbar {
5950
+ position: relative;
5951
+ display: flex;
5952
+ flex: 1 1 auto;
5953
+ flex-wrap: nowrap;
5954
+ align-items: center;
5955
+ min-block-size: var(--moo-datatable-toolbar-control-height);
5956
+ width: 100%;
5957
+ }
5958
+ .datatable-searchbar .datatable-search {
5959
+ flex: 1 1 auto;
5960
+ max-width: none;
5961
+ min-width: 0;
5962
+ width: 1%;
5963
+ padding-inline-start: 2rem;
5964
+ }
5965
+ .datatable-search-icon {
5966
+ position: absolute;
5967
+ inset-block-start: 50%;
5968
+ inset-inline-start: 0.625rem;
5969
+ z-index: 2;
5970
+ display: inline-flex;
5971
+ align-items: center;
5972
+ justify-content: center;
5973
+ color: var(--bs-secondary-color);
5974
+ pointer-events: none;
5975
+ transform: translateY(-50%);
5976
+ }
5977
+ .datatable-search-icon > [data-icon] {
5978
+ width: 0.875rem;
5979
+ height: 0.875rem;
5980
+ }
5981
+ .datatable-filter-picker-trigger {
5982
+ display: inline-flex;
5983
+ flex: 0 0 auto;
5984
+ align-items: center;
5985
+ justify-content: center;
5986
+ inline-size: 2rem;
5987
+ block-size: 2rem;
5988
+ padding: 0;
5989
+ margin-inline-end: 0;
5990
+ border-radius: var(--bs-border-radius-sm);
5991
+ gap: 0;
5992
+ }
5993
+ .btn.datatable-filter-picker-trigger:focus:not(:focus-visible) {
5994
+ outline: 0;
5995
+ box-shadow: none;
5996
+ }
5997
+ .btn.datatable-filter-picker-trigger:focus-visible {
5998
+ z-index: 3;
5999
+ outline: var(--bs-focus-ring-width) solid var(--moo-ring);
6000
+ outline-offset: 0;
6001
+ box-shadow: none;
6002
+ }
6003
+ .input-group > .btn-ghost.datatable-filter-picker-trigger:focus-visible::before {
6004
+ opacity: 1;
6005
+ }
6006
+ .datatable-filter-picker-trigger > [data-icon] {
6007
+ width: 0.875rem;
6008
+ height: 0.875rem;
6009
+ margin: 0;
6010
+ }
6011
+ .datatable-search-filter-menu {
6012
+ --bs-dropdown-border-radius: var(--bs-border-radius);
6013
+ width: var(--moo-datatable-search-filter-menu-width);
6014
+ max-width: calc(100vw - 1.5rem);
6015
+ max-height: calc(100vh - 8rem);
6016
+ overflow-y: auto;
6017
+ overscroll-behavior: contain;
6018
+ }
6019
+ .datatable-search-filter-menu[data-datatable-filter-menu-panel="options"] {
6020
+ width: var(--moo-datatable-search-filter-options-menu-width);
6021
+ }
6022
+ .datatable-facet-menu {
6023
+ --bs-dropdown-border-radius: var(--bs-border-radius);
6024
+ min-width: 12.5rem;
6025
+ }
6026
+ .datatable-filter-panel {
6027
+ min-width: 0;
6028
+ }
6029
+ .datatable-facet-options,
6030
+ .datatable-filter-options {
6031
+ max-height: 20rem;
6032
+ margin: 0;
6033
+ padding: 0;
6034
+ overflow-y: auto;
6035
+ overscroll-behavior: contain;
6036
+ list-style: none;
6037
+ }
6038
+ .datatable-search-filter-menu .dropdown-header {
6039
+ padding-block: 0.125rem 0.375rem;
6040
+ padding-inline: 0.5rem;
6041
+ color: var(--bs-secondary-color);
6042
+ font-size: 0.76562rem;
6043
+ font-weight: 600;
6044
+ line-height: 1.25rem;
6045
+ }
6046
+ .datatable-search-filter-menu .dropdown-item,
6047
+ .datatable-facet-menu .dropdown-item {
6048
+ min-height: 2rem;
6049
+ padding-block: 0.375rem;
6050
+ padding-inline: 0.5rem;
6051
+ border-radius: var(--bs-border-radius-sm);
6052
+ gap: 0.5rem;
6053
+ cursor: default;
6054
+ line-height: 1.25rem;
6055
+ }
6056
+ .datatable-search-filter-menu .dropdown-item.active,
6057
+ .datatable-facet-menu .dropdown-item.active {
6058
+ color: var(--bs-dropdown-link-color);
6059
+ background-color: transparent;
6060
+ }
6061
+ .datatable-search-filter-menu .dropdown-item:hover,
6062
+ .datatable-search-filter-menu .dropdown-item:focus-visible,
6063
+ .datatable-facet-menu .dropdown-item:hover,
6064
+ .datatable-facet-menu .dropdown-item:focus-visible {
6065
+ color: var(--bs-dropdown-link-hover-color);
6066
+ background-color: var(--bs-dropdown-link-hover-bg);
6067
+ outline: 0;
6068
+ box-shadow: none;
6069
+ }
6070
+ .datatable-search-filter-menu .dropdown-item:focus:not(:focus-visible, :hover),
6071
+ .datatable-facet-menu .dropdown-item:focus:not(:focus-visible, :hover) {
6072
+ color: var(--bs-dropdown-link-color);
6073
+ background-color: transparent;
6074
+ outline: 0;
6075
+ box-shadow: none;
6076
+ }
6077
+ .datatable-filter-group,
6078
+ .datatable-filter-panel-back {
6079
+ gap: 0.5rem;
6080
+ }
6081
+ .datatable-filter-group {
6082
+ justify-content: flex-start;
6083
+ }
6084
+ .datatable-filter-group-summary {
6085
+ color: var(--bs-secondary-color);
6086
+ font-size: 0.76562rem;
6087
+ font-weight: var(--bs-body-font-weight);
6088
+ font-variant-numeric: tabular-nums;
6089
+ }
6090
+ .datatable-filter-group > [data-icon],
6091
+ .datatable-filter-panel-back > [data-icon] {
6092
+ width: 0.875rem;
6093
+ height: 0.875rem;
6094
+ color: var(--bs-secondary-color);
6095
+ }
6096
+ .datatable-filter-panel-back {
6097
+ color: var(--bs-secondary-color);
6098
+ font-weight: var(--bs-body-font-weight);
6099
+ }
6100
+ .datatable-filter-panel-back span {
6101
+ color: var(--bs-body-color);
6102
+ }
6103
+ .datatable-filter-picker-item .text-body-secondary,
6104
+ .datatable-facet-item .text-body-secondary {
6105
+ flex: 0 0 auto;
6106
+ font-variant-numeric: tabular-nums;
6107
+ }
6108
+ .datatable-filter-picker-item > [data-datatable-filter-option-label],
6109
+ .datatable-facet-item > [data-datatable-facet-option-label] {
6110
+ min-width: 0;
6111
+ overflow: hidden;
6112
+ text-overflow: ellipsis;
6113
+ white-space: nowrap;
6114
+ }
6115
+ .datatable-filter-option-search-wrap,
6116
+ .datatable-facet-search-wrap {
6117
+ position: relative;
6118
+ display: flex;
6119
+ min-height: 2.25rem;
6120
+ align-items: center;
6121
+ gap: 0.5rem;
6122
+ padding: 0 0.75rem;
6123
+ }
6124
+ .datatable-filter-option-search-wrap::after,
6125
+ .datatable-facet-search-wrap::after {
6126
+ position: absolute;
6127
+ inset-inline: calc(-1 * var(--bs-dropdown-padding-x, 0));
6128
+ inset-block-end: 0;
6129
+ border-bottom: var(--bs-border-width) solid var(--bs-border-color);
6130
+ content: "";
6131
+ }
6132
+ .datatable-dropdown-search-icon {
6133
+ display: inline-flex;
6134
+ flex: 0 0 auto;
6135
+ align-items: center;
6136
+ justify-content: center;
6137
+ color: var(--bs-secondary-color);
6138
+ }
6139
+ .datatable-dropdown-search-icon > [data-icon] {
6140
+ width: 0.875rem;
6141
+ height: 0.875rem;
6142
+ }
6143
+ .datatable-filter-option-search,
6144
+ .datatable-facet-search {
6145
+ flex: 1 1 auto;
6146
+ min-width: 0;
6147
+ height: 2.25rem;
6148
+ min-height: 2.25rem;
6149
+ padding: 0;
6150
+ border: 0;
6151
+ border-radius: 0;
6152
+ background-color: transparent;
6153
+ box-shadow: none;
6154
+ color: var(--bs-body-color);
6155
+ font-size: 0.875rem;
6156
+ line-height: 1.25rem;
6157
+ }
6158
+ .datatable-filter-option-search::placeholder,
6159
+ .datatable-facet-search::placeholder {
6160
+ color: var(--bs-secondary-color);
6161
+ }
6162
+ .datatable-filter-option-search:focus,
6163
+ .datatable-facet-search:focus {
6164
+ border-color: transparent;
6165
+ background-color: transparent;
6166
+ box-shadow: none;
6167
+ outline: 0;
6168
+ }
6169
+ .datatable-filter-option-search-hidden,
6170
+ .datatable-facet-search-hidden {
6171
+ display: none;
6172
+ }
6173
+ .datatable-toolbar-filters {
6174
+ display: flex;
6175
+ flex: 0 1 auto;
6176
+ flex-wrap: wrap;
6177
+ gap: 0.5rem;
6178
+ align-items: center;
6179
+ }
6180
+ .datatable-layout-switch {
6181
+ display: flex;
6182
+ flex: 0 0 auto;
6183
+ align-items: center;
6184
+ justify-content: flex-end;
6185
+ }
6186
+ .datatable-view-option {
6187
+ display: inline-flex;
6188
+ align-items: center;
6189
+ justify-content: center;
6190
+ gap: 0.375rem;
6191
+ min-block-size: var(--moo-datatable-toolbar-control-height);
6192
+ min-width: 2rem;
6193
+ padding-inline: 0.5rem;
6194
+ }
6195
+ .datatable .datatable-layout-switch .btn-group-sm > .btn.datatable-view-option:has(> [data-icon="inline-start"]) {
6196
+ padding-inline: 0.5rem;
6197
+ }
6198
+ .datatable-view-option > [data-icon] {
6199
+ width: 1rem;
6200
+ height: 1rem;
6201
+ }
6202
+ .datatable-view-toggle .btn-check:checked + .datatable-view-option {
6203
+ border-color: var(--moo-border);
6204
+ color: var(--bs-body-color);
6205
+ background-color: var(--moo-muted-surface);
6206
+ }
6207
+ .datatable-view-trigger {
6208
+ min-block-size: var(--moo-datatable-toolbar-control-height);
6209
+ }
6210
+ .datatable .datatable-toolbar-actions .btn.btn-sm.datatable-view-trigger:has(> [data-icon="inline-start"]), .datatable .datatable-toolbar-actions .btn-group-sm > .btn.datatable-view-trigger:has(> [data-icon="inline-start"]) {
6211
+ padding-inline: 0.625rem;
6212
+ }
6213
+ .datatable-select-all {
6214
+ display: inline-flex;
6215
+ align-items: center;
6216
+ gap: 0.625rem;
6217
+ margin: 0;
6218
+ padding-inline-start: 0;
6219
+ color: var(--bs-secondary-color);
6220
+ white-space: nowrap;
6221
+ }
6222
+ .datatable-select-all .form-check-input {
6223
+ float: none;
6224
+ margin: 0;
6225
+ }
6226
+ .datatable-select-all-table {
6227
+ transform: translateY(var(--moo-datatable-table-select-all-offset-y));
6228
+ }
6229
+ .datatable-checkbox-target {
6230
+ position: relative;
6231
+ display: grid;
6232
+ width: 1rem;
6233
+ height: 1rem;
6234
+ min-height: 1rem;
6235
+ padding-inline-start: 0;
6236
+ margin: 0;
6237
+ place-items: center;
6238
+ cursor: pointer;
6239
+ }
6240
+ .datatable-checkbox-target::before {
6241
+ position: absolute;
6242
+ inset: -0.5625rem;
6243
+ border-radius: var(--bs-border-radius);
6244
+ content: "";
6245
+ }
6246
+ .datatable-checkbox-target .form-check-input {
6247
+ position: relative;
6248
+ z-index: 1;
6249
+ float: none;
6250
+ margin: 0;
6251
+ }
6252
+ @media (pointer: coarse) {
6253
+ .datatable-checkbox-target::before {
6254
+ inset: -0.8125rem;
6255
+ }
6256
+ }
6257
+ .datatable-table > :not(caption) > * > .datatable-col-select {
6258
+ width: 2.75rem;
6259
+ padding-inline-start: var(--moo-datatable-select-cell-inset);
6260
+ padding-inline-end: 0.5rem;
6261
+ white-space: nowrap;
6262
+ }
6263
+ .datatable-col-hidden {
6264
+ display: none;
6265
+ }
6266
+ .datatable-item-cell {
6267
+ display: flex;
6268
+ min-width: 0;
6269
+ align-items: center;
6270
+ gap: 0.5rem;
6271
+ }
6272
+ .datatable-item-cell > .text-truncate {
6273
+ flex: 1 1 auto;
6274
+ min-width: 0;
6275
+ }
6276
+ .datatable-item-cell > .badge {
6277
+ flex: 0 0 auto;
6278
+ }
6279
+ .datatable-icon-label {
6280
+ display: inline-flex;
6281
+ align-items: center;
6282
+ gap: 0.5rem;
6283
+ }
6284
+ .datatable-sort-trigger {
6285
+ margin-inline-start: calc(-1 * var(--bs-btn-padding-x, 0.5rem));
6286
+ gap: 0.5rem;
6287
+ }
6288
+ .datatable-sort-icon {
6289
+ display: inline-flex;
6290
+ align-items: center;
6291
+ justify-content: center;
6292
+ }
6293
+ .datatable-sort-icon-asc,
6294
+ .datatable-sort-icon-desc {
6295
+ display: none;
6296
+ }
6297
+ .datatable-sort-icon > [data-icon],
6298
+ .datatable-icon-label > [data-icon] {
6299
+ width: 1rem;
6300
+ height: 1rem;
6301
+ flex: 0 0 auto;
6302
+ margin: 0;
6303
+ }
6304
+ [data-datatable-sort-direction="asc"] .datatable-sort-icon-none,
6305
+ [data-datatable-sort-direction="desc"] .datatable-sort-icon-none {
6306
+ display: none;
6307
+ }
6308
+ [data-datatable-sort-direction="asc"] .datatable-sort-icon-asc {
6309
+ display: inline-flex;
6310
+ }
6311
+ [data-datatable-sort-direction="desc"] .datatable-sort-icon-desc {
6312
+ display: inline-flex;
6313
+ }
6314
+ .datatable-cards {
6315
+ --moo-datatable-card-min-width: 20rem;
6316
+ display: grid;
6317
+ gap: 0.625rem;
6318
+ grid-template-columns: repeat(auto-fill, minmax(var(--moo-datatable-card-min-width), 1fr));
6319
+ padding: 0.625rem;
6320
+ }
6321
+ .datatable-card {
6322
+ position: relative;
6323
+ overflow: hidden;
6324
+ border: var(--bs-border-width) solid var(--bs-border-color);
6325
+ border-radius: var(--bs-border-radius);
6326
+ background-color: var(--bs-body-bg);
6327
+ }
6328
+ .datatable-card-frame:has(.datatable-card .dropdown-menu.show),
6329
+ .datatable-card:has(.dropdown-menu.show) {
6330
+ overflow: visible;
6331
+ }
6332
+ .datatable-card:has(.dropdown-menu.show) {
6333
+ z-index: 2;
6334
+ }
6335
+ .datatable-card-header {
6336
+ display: grid;
6337
+ grid-template-columns: auto minmax(0, 1fr) auto;
6338
+ gap: 0.75rem;
6339
+ align-items: center;
6340
+ padding: 0.5rem 0.75rem;
6341
+ border-bottom: var(--bs-border-width) solid var(--bs-border-color);
6342
+ background-color: var(--bs-tertiary-bg);
6343
+ }
6344
+ .datatable-card-select {
6345
+ display: inline-flex;
6346
+ align-items: center;
6347
+ justify-content: center;
6348
+ }
6349
+ .datatable-card-select .form-check-input {
6350
+ margin: 0;
6351
+ }
6352
+ .datatable-card-heading {
6353
+ min-width: 0;
6354
+ }
6355
+ .datatable-card-title {
6356
+ overflow: hidden;
6357
+ font-weight: 600;
6358
+ text-overflow: ellipsis;
6359
+ white-space: nowrap;
6360
+ }
6361
+ .datatable-card-code {
6362
+ overflow: hidden;
6363
+ color: var(--bs-secondary-color);
6364
+ font-family: var(--bs-font-monospace);
6365
+ font-size: var(--bs-body-font-size);
6366
+ text-overflow: ellipsis;
6367
+ white-space: nowrap;
6368
+ }
6369
+ .datatable-card-actions {
6370
+ display: inline-flex;
6371
+ align-items: center;
6372
+ justify-content: flex-end;
6373
+ }
6374
+ .datatable-card-actions .btn {
6375
+ min-width: 2rem;
6376
+ min-height: 2rem;
6377
+ padding: 0.25rem;
6378
+ }
6379
+ .datatable-card-list {
6380
+ margin: 0;
6381
+ }
6382
+ .datatable-card-row {
6383
+ display: grid;
6384
+ grid-template-columns: minmax(var(--moo-datatable-card-label-width), 30%) minmax(0, 1fr);
6385
+ gap: 0.75rem;
6386
+ align-items: center;
6387
+ padding: 0.375rem 0.875rem;
6388
+ }
6389
+ .datatable-card-row.datatable-col-hidden {
6390
+ display: none;
6391
+ }
6392
+ .datatable-card-row:first-child {
6393
+ padding-top: 0.875rem;
6394
+ }
6395
+ .datatable-card-row:last-child {
6396
+ padding-bottom: 0.875rem;
6397
+ }
6398
+ .datatable-card-row dt,
6399
+ .datatable-card-row dd {
6400
+ min-width: 0;
6401
+ margin: 0;
6402
+ }
6403
+ .datatable-card-row dt {
6404
+ font-weight: var(--bs-body-font-weight);
6405
+ color: var(--bs-secondary-color);
6406
+ }
6407
+ .datatable-card-value {
6408
+ display: flex;
6409
+ min-width: 0;
6410
+ justify-content: flex-start;
6411
+ text-align: start;
6412
+ }
6413
+ .datatable-card-value .datatable-item-cell {
6414
+ justify-content: flex-start;
6415
+ }
6416
+ .datatable-card-value .datatable-item-cell > .text-truncate {
6417
+ flex: 0 1 auto;
6418
+ }
6419
+ .datatable-row-selected > td {
6420
+ background-color: var(--moo-muted-surface);
6421
+ }
6422
+ .datatable-card.datatable-row-selected {
6423
+ border-color: var(--moo-border);
6424
+ background-color: var(--moo-muted-surface);
6425
+ }
6426
+ .datatable-empty {
6427
+ padding: 2rem 1rem;
6428
+ border-width: var(--bs-border-width);
6429
+ border-style: dashed;
6430
+ border-color: var(--bs-border-color);
6431
+ border-radius: var(--bs-border-radius);
6432
+ text-align: center;
6433
+ }
6434
+ .datatable-empty-title {
6435
+ font-weight: var(--bs-font-weight-semibold, 600);
6436
+ }
6437
+ .datatable-pagination {
6438
+ display: grid;
6439
+ grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
6440
+ align-items: center;
6441
+ gap: 0.75rem 1rem;
6442
+ }
6443
+ .datatable-page-size {
6444
+ justify-self: start;
6445
+ }
6446
+ .datatable-page-size-trigger {
6447
+ min-width: 3.25rem;
6448
+ justify-content: space-between;
6449
+ }
6450
+ .datatable-page-size-menu {
6451
+ min-width: 4rem;
6452
+ }
6453
+ .datatable-results-summary {
6454
+ justify-self: center;
6455
+ text-align: center;
6456
+ white-space: nowrap;
6457
+ }
6458
+ .datatable-page-nav {
6459
+ max-width: 100%;
6460
+ justify-self: end;
6461
+ overflow-x: auto;
6462
+ -webkit-overflow-scrolling: touch;
6463
+ }
6464
+ .datatable-page-nav .pagination {
6465
+ flex-wrap: nowrap;
6466
+ justify-content: flex-end;
6467
+ min-width: max-content;
6468
+ }
6469
+ .datatable-card-row--selection .form-check-input {
6470
+ margin: 0;
6471
+ }
6472
+ .datatable-facet-item__indicator {
6473
+ --moo-datatable-facet-item-border-radius: 0.25em;
6474
+ display: inline-flex;
6475
+ flex: 0 0 auto;
6476
+ align-items: center;
6477
+ justify-content: center;
6478
+ width: 1em;
6479
+ height: 1em;
6480
+ border: var(--bs-border-width) solid var(--bs-border-color);
6481
+ border-radius: var(--moo-datatable-facet-item-border-radius);
6482
+ color: transparent;
6483
+ }
6484
+ .datatable-facet-item.active .datatable-facet-item__indicator {
6485
+ background-color: var(--moo-foreground);
6486
+ border-color: var(--moo-foreground);
6487
+ color: var(--moo-surface);
6488
+ }
6489
+ .datatable-facet-item__indicator > [data-icon] {
6490
+ width: 0.75rem;
6491
+ height: 0.75rem;
6492
+ }
6493
+ .datatable-facet-trigger {
6494
+ --bs-btn-active-bg: var(--bs-body-bg);
6495
+ --bs-btn-active-border-color: var(--bs-border-color);
6496
+ --bs-btn-active-color: var(--bs-body-color);
6497
+ --bs-btn-border-color: var(--bs-border-color);
6498
+ --bs-btn-border-radius: var(--bs-border-radius);
6499
+ --bs-btn-border-width: var(--bs-border-width);
6500
+ --bs-btn-font-size: 0.8rem;
6501
+ --bs-btn-hover-bg: var(--moo-muted-surface);
6502
+ --bs-btn-hover-border-color: var(--bs-border-color);
6503
+ --bs-btn-hover-color: var(--bs-body-color);
6504
+ --bs-btn-line-height: 1.25rem;
6505
+ --bs-btn-padding-x: 0.625rem;
6506
+ --bs-btn-padding-y: 0;
6507
+ display: inline-flex;
6508
+ align-items: center;
6509
+ gap: 0.375rem;
6510
+ min-height: 2rem;
6511
+ border-style: dashed;
6512
+ color: var(--bs-secondary-color);
6513
+ }
6514
+ .datatable-facet-trigger:hover,
6515
+ .datatable-facet-trigger:focus,
6516
+ .datatable-facet-trigger:focus-visible,
6517
+ .datatable-facet-trigger:active,
6518
+ .datatable-facet-trigger.show {
6519
+ border-color: var(--bs-border-color);
6520
+ color: var(--bs-body-color);
6521
+ }
6522
+ .btn.datatable-facet-trigger:focus:not(:focus-visible) {
6523
+ outline: 0;
6524
+ box-shadow: none;
6525
+ }
6526
+ .btn.datatable-facet-trigger:focus-visible,
6527
+ .btn.datatable-facet-trigger.show:focus-visible,
6528
+ .btn.datatable-facet-trigger-active:focus-visible {
6529
+ box-shadow: none;
6530
+ }
6531
+ .datatable-facet-trigger-active {
6532
+ border-style: dashed;
6533
+ border-color: var(--bs-border-color);
6534
+ color: var(--bs-body-color);
6535
+ }
6536
+ .datatable-facet-summary {
6537
+ display: inline-flex;
6538
+ align-items: center;
6539
+ gap: 0.25rem;
6540
+ padding-inline-start: 0.5rem;
6541
+ margin-inline-start: 0.5rem;
6542
+ border-inline-start: var(--bs-border-width) solid var(--bs-border-color);
6543
+ }
6544
+ .datatable-facet-badge {
6545
+ display: inline-flex;
6546
+ align-items: center;
6547
+ justify-content: center;
6548
+ min-height: 1.5rem;
6549
+ padding-block: 0;
6550
+ padding-inline: 0.5rem;
6551
+ border: 0;
6552
+ border-radius: var(--bs-border-radius-sm);
6553
+ background-color: var(--moo-muted-surface);
6554
+ color: var(--bs-body-color);
6555
+ font-size: 0.74987rem;
6556
+ font-weight: var(--bs-body-font-weight);
6557
+ line-height: 1rem;
6558
+ white-space: nowrap;
6559
+ }
6560
+ .datatable-bulk-actions {
6561
+ --moo-datatable-bulk-actions-hover-scale: 1.02;
6562
+ --moo-datatable-bulk-actions-backdrop-blur: 8px;
6563
+ position: fixed;
6564
+ inset-inline-start: 50%;
6565
+ inset-block-end: 1rem;
6566
+ transform: translateX(-50%) scale(1);
6567
+ transition: transform 0.15s ease-out;
6568
+ z-index: var(--bs-zindex-fixed, 1030);
6569
+ display: flex;
6570
+ align-items: center;
6571
+ gap: 0.5rem;
6572
+ padding: 0.5rem;
6573
+ border: var(--bs-border-width) solid var(--bs-border-color);
6574
+ border-radius: var(--bs-border-radius-xl);
6575
+ background-color: var(--bs-body-bg);
6576
+ background-color: color-mix(in srgb, var(--bs-body-bg) 95%, transparent);
6577
+ backdrop-filter: blur(var(--moo-datatable-bulk-actions-backdrop-blur));
6578
+ box-shadow: var(--bs-box-shadow-lg);
6579
+ }
6580
+ @media (prefers-reduced-motion: reduce) {
6581
+ .datatable-bulk-actions {
6582
+ transition: none;
6583
+ }
6584
+ }
6585
+ .datatable-bulk-actions:hover,
6586
+ .datatable-bulk-actions:focus-within {
6587
+ transform: translateX(-50%) scale(var(--moo-datatable-bulk-actions-hover-scale));
6588
+ }
6589
+ .datatable-bulk-summary {
6590
+ display: inline-flex;
6591
+ align-items: center;
6592
+ gap: 0.5rem;
6593
+ white-space: nowrap;
6594
+ }
6595
+ .datatable-preview-shell {
6596
+ max-width: 82rem;
6597
+ }
6598
+ @media (max-width: 991.98px) {
6599
+ .datatable-pagination {
6600
+ grid-template-columns: minmax(0, 1fr) auto;
6601
+ }
6602
+ .datatable-results-summary {
6603
+ justify-self: end;
6604
+ text-align: end;
6605
+ }
6606
+ .datatable-page-nav {
6607
+ grid-column: 1 / -1;
6608
+ justify-self: start;
6609
+ margin-block-start: 0.25rem;
6610
+ }
6611
+ .datatable-page-nav .pagination {
6612
+ justify-content: flex-start;
6613
+ }
6614
+ }
6615
+ @media (max-width: 575.98px) {
6616
+ .datatable-toolbar {
6617
+ display: grid;
6618
+ grid-template-columns: minmax(0, 1fr) auto;
6619
+ align-items: start;
6620
+ }
6621
+ .datatable-search-filter {
6622
+ grid-column: 1 / -1;
6623
+ min-width: 0;
6624
+ }
6625
+ .datatable-toolbar-query {
6626
+ grid-column: 1 / -1;
6627
+ min-width: 0;
6628
+ }
6629
+ .datatable-toolbar-query .datatable-search-filter {
6630
+ flex: 1 1 auto;
6631
+ }
6632
+ .datatable-searchbar .datatable-search {
6633
+ max-width: none;
6634
+ }
6635
+ .datatable-search-filter-menu {
6636
+ max-width: calc(100vw - 2rem);
6637
+ }
6638
+ .datatable-search-filter-menu .dropdown-header {
6639
+ padding-block-end: 0.25rem;
6640
+ font-size: 0.76562rem;
6641
+ }
6642
+ .datatable-search-filter-menu .dropdown-item {
6643
+ min-height: 1.875rem;
6644
+ padding-block: 0.3125rem;
6645
+ font-size: 0.76562rem;
6646
+ }
6647
+ .datatable-toolbar-filters {
6648
+ display: flex;
6649
+ grid-column: 1 / -1;
6650
+ flex-direction: column;
6651
+ align-items: flex-start;
6652
+ min-width: 0;
6653
+ }
6654
+ .datatable-layout-switch {
6655
+ grid-column: 2;
6656
+ justify-self: end;
6657
+ }
6658
+ .datatable-select-all {
6659
+ grid-column: 1;
6660
+ }
6661
+ .datatable-toolbar-actions {
6662
+ grid-column: 1 / -1;
6663
+ margin-inline-start: 0;
6664
+ justify-self: end;
6665
+ }
6666
+ .datatable-toolbar-actions .datatable-view-trigger {
6667
+ display: inline-flex;
6668
+ align-items: center;
6669
+ justify-content: center;
6670
+ gap: 0.375rem;
6671
+ flex: 0 0 auto;
6672
+ min-width: 0;
6673
+ min-height: var(--moo-datatable-toolbar-control-height);
6674
+ inline-size: auto;
6675
+ block-size: var(--moo-datatable-toolbar-control-height);
6676
+ padding-inline: 0.625rem;
6677
+ }
6678
+ .datatable-toolbar-actions .btn.btn-sm.datatable-view-trigger:has(> [data-icon="inline-start"]), .datatable-toolbar-actions .btn-group-sm > .btn.datatable-view-trigger:has(> [data-icon="inline-start"]) {
6679
+ padding-inline: 0.625rem;
6680
+ }
6681
+ .datatable-toolbar-actions .datatable-view-trigger > [data-icon] {
6682
+ width: 0.875rem;
6683
+ height: 0.875rem;
6684
+ }
6685
+ .datatable-view-trigger-label {
6686
+ display: inline;
6687
+ }
6688
+ .datatable-pagination {
6689
+ grid-template-columns: minmax(0, 1fr) auto;
6690
+ }
6691
+ .datatable-page-nav {
6692
+ grid-column: 1 / -1;
6693
+ justify-self: start;
6694
+ }
6695
+ .datatable-page-nav .pagination {
6696
+ justify-content: flex-start;
6697
+ }
6698
+ }
6699
+ .datatable--release-review {
6700
+ --moo-datatable-min-width: 64rem;
6701
+ }
5779
6702
  .form-label,
5780
6703
  .form-check-label {
5781
6704
  user-select: none;