@wpmoo/ui 1.0.0-rc.7 → 1.0.0-rc.9

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.
Files changed (41) hide show
  1. package/ASSET_LICENSE.md +1 -1
  2. package/README.md +37 -6
  3. package/certification.json +6 -2
  4. package/dist/assets/css/moo-ui.css +764 -452
  5. package/dist/assets/css/moo-ui.min.css +5 -5
  6. package/dist/assets/css/moo.css +762 -450
  7. package/dist/assets/css/moo.min.css +5 -5
  8. package/dist/js/chart.js +1 -1
  9. package/dist/js/chart.min.js +1 -1
  10. package/dist/js/combobox.js +1 -1
  11. package/dist/js/context-menu.js +1 -1
  12. package/dist/js/datatable.js +2 -2
  13. package/dist/js/datepicker.js +2 -2
  14. package/dist/js/datepicker.min.js +2 -2
  15. package/dist/js/moo-ui.js +4 -4
  16. package/dist/js/moo-ui.min.js +2 -2
  17. package/dist/js/sidebar.js +4 -4
  18. package/dist/js/slider.js +1 -1
  19. package/dist/js/state.js +102 -0
  20. package/dist/release-manifest.json +24 -0
  21. package/package.json +5 -1
  22. package/scss/_components.scss +1 -4
  23. package/scss/components/_dropdown.scss +10 -0
  24. package/scss/components/_field.scss +8 -0
  25. package/scss/components/_search_trigger.scss +62 -0
  26. package/scss/components/_sidebar.scss +1 -2
  27. package/scss/components/sidebar/_base.scss +93 -0
  28. package/scss/components/sidebar/_collapsed.scss +3 -81
  29. package/scss/foundations/_scope.scss +8 -0
  30. package/scss/layouts/_app.scss +81 -0
  31. package/scss/layouts/_page_grid.scss +30 -0
  32. package/scss/layouts/app/sidebar/_base.scss +117 -0
  33. package/scss/layouts/app/sidebar/_default.scss +26 -0
  34. package/scss/layouts/app/sidebar/_floating.scss +47 -0
  35. package/scss/{components → layouts/app}/sidebar/_inset.scss +8 -3
  36. package/scss/settings/_component_variables.scss +14 -0
  37. package/scss/settings/_forms.scss +1 -1
  38. package/scss/themes/_root.scss +1 -0
  39. package/scss/themes/_standalone.scss +3 -3
  40. package/scss/themes/_theme.scss +3 -0
  41. package/scss/components/sidebar/_layout.scss +0 -251
@@ -260,6 +260,8 @@
260
260
  --moo-chart-3: #a1a1aa;
261
261
  --moo-chart-4: #3f3f46;
262
262
  --moo-chart-5: #27272a;
263
+ --moo-heading-font-family: var(--bs-body-font-family);
264
+ font-family: var(--bs-body-font-family);
263
265
  }
264
266
 
265
267
  .moo-ui[data-bs-theme="light"] {
@@ -436,7 +438,7 @@
436
438
  direction: rtl;
437
439
  }
438
440
 
439
- body > .moo-ui[data-bs-theme] {
441
+ body > .moo-ui[data-bs-theme]:not([data-moo-overlay-host]) {
440
442
  min-block-size: 100dvh;
441
443
  }
442
444
 
@@ -2777,7 +2779,7 @@ progress {
2777
2779
  height: 1.5em;
2778
2780
  content: "";
2779
2781
  background-color: var(--moo-input-bg, transparent);
2780
- border-radius: 0.625rem;
2782
+ border-radius: var(--bs-border-radius-lg);
2781
2783
  }
2782
2784
 
2783
2785
  .form-floating > .form-control:-webkit-autofill ~ label {
@@ -9534,7 +9536,7 @@ progress {
9534
9536
  background-color: var(--moo-input-bg, transparent);
9535
9537
  background-clip: padding-box;
9536
9538
  border: var(--bs-border-width) solid var(--moo-border);
9537
- border-radius: 0.625rem;
9539
+ border-radius: var(--bs-border-radius-lg);
9538
9540
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
9539
9541
  }
9540
9542
  @media (prefers-reduced-motion: reduce) {
@@ -9659,11 +9661,11 @@ progress {
9659
9661
  }
9660
9662
  .form-control-color::-moz-color-swatch {
9661
9663
  border: 0 !important;
9662
- border-radius: 0.625rem;
9664
+ border-radius: var(--bs-border-radius-lg);
9663
9665
  }
9664
9666
  .form-control-color::-webkit-color-swatch {
9665
9667
  border: 0 !important;
9666
- border-radius: 0.625rem;
9668
+ border-radius: var(--bs-border-radius-lg);
9667
9669
  }
9668
9670
  .form-control-color.form-control-sm {
9669
9671
  height: calc(1.42857em + 0.5rem + calc(var(--bs-border-width) * 2));
@@ -9687,7 +9689,7 @@ progress {
9687
9689
  background-position: right 0.625rem center;
9688
9690
  background-size: 16px 12px;
9689
9691
  border: var(--bs-border-width) solid var(--moo-border);
9690
- border-radius: 0.625rem;
9692
+ border-radius: var(--bs-border-radius-lg);
9691
9693
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
9692
9694
  }
9693
9695
  @media (prefers-reduced-motion: reduce) {
@@ -9896,7 +9898,7 @@ progress {
9896
9898
  white-space: nowrap;
9897
9899
  background-color: var(--moo-input-bg, transparent);
9898
9900
  border: var(--bs-border-width) solid var(--moo-border);
9899
- border-radius: 0.625rem;
9901
+ border-radius: var(--bs-border-radius-lg);
9900
9902
  }
9901
9903
  .input-group-lg > .form-control,
9902
9904
  .input-group-lg > .form-select,
@@ -12662,244 +12664,6 @@ progress {
12662
12664
  color: #fff !important;
12663
12665
  background-color: RGBA(var(--bs-dark-rgb), var(--bs-bg-opacity, 1)) !important;
12664
12666
  }
12665
- .form-label,
12666
- .form-check-label {
12667
- user-select: none;
12668
- }
12669
- :is(.btn, a, button, summary, [tabindex]):not(input, textarea, select):focus-visible,
12670
- :is(.form-control, .form-select, .form-check-input):focus-visible {
12671
- border-color: var(--moo-ring);
12672
- outline: 0;
12673
- box-shadow: 0 0 0 3px color-mix(in srgb, var(--moo-ring) 50%, transparent);
12674
- }
12675
- .btn:focus-visible:hover,
12676
- .btn.show:focus-visible {
12677
- border-color: var(--bs-btn-hover-border-color);
12678
- box-shadow: none;
12679
- }
12680
- .form-control:focus:not(:focus-visible),
12681
- .form-select:focus:not(:focus-visible) {
12682
- border-color: var(--moo-border);
12683
- box-shadow: none;
12684
- }
12685
- .page-link:focus:not(:focus-visible) {
12686
- outline: 0;
12687
- box-shadow: none;
12688
- }
12689
- .page-item:not(.active) > .page-link:focus:not(:focus-visible) {
12690
- color: var(--bs-pagination-color);
12691
- background-color: var(--bs-pagination-bg);
12692
- border-color: var(--bs-pagination-border-color);
12693
- }
12694
- .form-control.is-invalid,
12695
- .form-control.is-invalid:focus,
12696
- .was-validated .form-control:invalid,
12697
- .was-validated .form-control:invalid:focus,
12698
- .form-select.is-invalid,
12699
- .form-select.is-invalid:focus,
12700
- .was-validated .form-select:invalid,
12701
- .was-validated .form-select:invalid:focus {
12702
- box-shadow: 0 0 0 3px var(--moo-form-invalid-ring-color);
12703
- }
12704
- .btn-check:focus:not(:focus-visible) + .btn {
12705
- outline: 0;
12706
- box-shadow: none;
12707
- }
12708
- .btn-check:focus-visible + .btn {
12709
- border-color: var(--moo-ring);
12710
- outline: 0;
12711
- box-shadow: 0 0 0 3px color-mix(in srgb, var(--moo-ring) 50%, transparent);
12712
- }
12713
- .input-group > .dropdown-toggle[aria-expanded="true"]:focus-visible {
12714
- box-shadow: none;
12715
- }
12716
- .combobox-chips:focus-within {
12717
- border-color: var(--moo-ring);
12718
- outline: 0;
12719
- box-shadow: 0 0 0 3px color-mix(in srgb, var(--moo-ring) 50%, transparent);
12720
- }
12721
- .input-group:has(> .form-control:focus):not(:has(> .form-control[type="file"])) {
12722
- border-color: var(--moo-ring);
12723
- outline: 0;
12724
- box-shadow: 0 0 0 3px color-mix(in srgb, var(--moo-ring) 50%, transparent);
12725
- }
12726
- .input-group.has-validation:not(:has(> :is(.valid-feedback, .invalid-feedback, .valid-tooltip, .invalid-tooltip))):has(> :is(.form-control, .form-select).is-invalid),
12727
- .was-validated .input-group.has-validation:not(:has(> :is(.valid-feedback, .invalid-feedback, .valid-tooltip, .invalid-tooltip))):has(> :is(.form-control, .form-select):invalid) {
12728
- border-color: var(--bs-form-invalid-border-color);
12729
- box-shadow: 0 0 0 3px var(--moo-form-invalid-ring-color);
12730
- }
12731
- .input-group.has-validation:not(:has(> :is(.valid-feedback, .invalid-feedback, .valid-tooltip, .invalid-tooltip))) > :is(.form-control, .form-select).is-invalid,
12732
- .was-validated .input-group.has-validation:not(:has(> :is(.valid-feedback, .invalid-feedback, .valid-tooltip, .invalid-tooltip))) > :is(.form-control, .form-select):invalid {
12733
- box-shadow: none;
12734
- }
12735
- :where( .scroll-fade, .scroll-fade-y, .scroll-fade-x, .scroll-fade-t, .scroll-fade-b, .scroll-fade-l, .scroll-fade-r, .scroll-fade-s, .scroll-fade-e ) {
12736
- --scroll-fade-size: min(12%, 2.5rem);
12737
- --scroll-fade-reveal: 6rem;
12738
- --moo-scroll-fade-t-size: var(--scroll-fade-size);
12739
- --moo-scroll-fade-b-size: var(--scroll-fade-size);
12740
- --moo-scroll-fade-s-size: var(--scroll-fade-size);
12741
- --moo-scroll-fade-e-size: var(--scroll-fade-size);
12742
- --moo-scroll-fade-mask: linear-gradient(
12743
- to bottom,
12744
- transparent 0,
12745
- #000 var(--moo-scroll-fade-t),
12746
- #000 calc(100% - var(--moo-scroll-fade-b)),
12747
- transparent 100%
12748
- );
12749
- mask-image: var(--moo-scroll-fade-mask);
12750
- }
12751
- .scroll-fade,
12752
- .scroll-fade-y {
12753
- animation-name: moo-scroll-fade-reveal-t, moo-scroll-fade-reveal-b;
12754
- animation-duration: 1ms, 1ms;
12755
- animation-fill-mode: both, both;
12756
- animation-timing-function: linear, linear;
12757
- animation-timeline: scroll(self y), scroll(self y);
12758
- animation-range: 0 var(--scroll-fade-reveal), calc(100% - var(--scroll-fade-reveal)) 100%;
12759
- }
12760
- .scroll-fade-t {
12761
- animation-name: moo-scroll-fade-reveal-t;
12762
- animation-duration: 1ms;
12763
- animation-fill-mode: both;
12764
- animation-timing-function: linear;
12765
- animation-timeline: scroll(self y);
12766
- animation-range: 0 var(--scroll-fade-reveal);
12767
- }
12768
- .scroll-fade-b {
12769
- animation-name: moo-scroll-fade-reveal-b;
12770
- animation-duration: 1ms;
12771
- animation-fill-mode: both;
12772
- animation-timing-function: linear;
12773
- animation-timeline: scroll(self y);
12774
- animation-range: calc(100% - var(--scroll-fade-reveal)) 100%;
12775
- }
12776
- .scroll-fade-x,
12777
- .scroll-fade-s,
12778
- .scroll-fade-e {
12779
- --moo-scroll-fade-mask: linear-gradient(
12780
- to right,
12781
- transparent 0,
12782
- #000 var(--moo-scroll-fade-s),
12783
- #000 calc(100% - var(--moo-scroll-fade-e)),
12784
- transparent 100%
12785
- );
12786
- }
12787
- .scroll-fade-x {
12788
- animation-name: moo-scroll-fade-reveal-s, moo-scroll-fade-reveal-e;
12789
- animation-duration: 1ms, 1ms;
12790
- animation-fill-mode: both, both;
12791
- animation-timing-function: linear, linear;
12792
- animation-timeline: scroll(self inline), scroll(self inline);
12793
- animation-range: 0 var(--scroll-fade-reveal), calc(100% - var(--scroll-fade-reveal)) 100%;
12794
- }
12795
- .scroll-fade-s {
12796
- animation-name: moo-scroll-fade-reveal-s;
12797
- animation-duration: 1ms;
12798
- animation-fill-mode: both;
12799
- animation-timing-function: linear;
12800
- animation-timeline: scroll(self inline);
12801
- animation-range: 0 var(--scroll-fade-reveal);
12802
- }
12803
- .scroll-fade-e {
12804
- animation-name: moo-scroll-fade-reveal-e;
12805
- animation-duration: 1ms;
12806
- animation-fill-mode: both;
12807
- animation-timing-function: linear;
12808
- animation-timeline: scroll(self inline);
12809
- animation-range: calc(100% - var(--scroll-fade-reveal)) 100%;
12810
- }
12811
- .scroll-fade-x:where([dir="rtl"], [dir="rtl"] *),
12812
- .scroll-fade-s:where([dir="rtl"], [dir="rtl"] *),
12813
- .scroll-fade-e:where([dir="rtl"], [dir="rtl"] *) {
12814
- --moo-scroll-fade-mask: linear-gradient(
12815
- to left,
12816
- transparent 0,
12817
- #000 var(--moo-scroll-fade-s),
12818
- #000 calc(100% - var(--moo-scroll-fade-e)),
12819
- transparent 100%
12820
- );
12821
- }
12822
- .scroll-fade-l,
12823
- .scroll-fade-r {
12824
- --moo-scroll-fade-mask: linear-gradient(
12825
- to right,
12826
- transparent 0,
12827
- #000 var(--moo-scroll-fade-s),
12828
- #000 calc(100% - var(--moo-scroll-fade-e)),
12829
- transparent 100%
12830
- );
12831
- }
12832
- .scroll-fade-l {
12833
- animation-name: moo-scroll-fade-reveal-s;
12834
- animation-duration: 1ms;
12835
- animation-fill-mode: both;
12836
- animation-timing-function: linear;
12837
- animation-timeline: scroll(self x);
12838
- animation-range: 0 var(--scroll-fade-reveal);
12839
- }
12840
- .scroll-fade-r {
12841
- animation-name: moo-scroll-fade-reveal-e;
12842
- animation-duration: 1ms;
12843
- animation-fill-mode: both;
12844
- animation-timing-function: linear;
12845
- animation-timeline: scroll(self x);
12846
- animation-range: calc(100% - var(--scroll-fade-reveal)) 100%;
12847
- }
12848
- .scroll-fade-none {
12849
- --moo-scroll-fade-mask: none;
12850
- }
12851
- .no-scrollbar {
12852
- scrollbar-width: none;
12853
- }
12854
- .no-scrollbar::-webkit-scrollbar {
12855
- display: none;
12856
- }
12857
- .scrollbar-thin {
12858
- --moo-scrollbar-thin-size: 0.375rem;
12859
- --moo-scrollbar-thin-thumb-bg: color-mix(in srgb, var(--bs-secondary-color) 28%, transparent);
12860
- --moo-scrollbar-thin-thumb-hover-bg: color-mix(in srgb, var(--bs-secondary-color) 45%, transparent);
12861
- scrollbar-color: var(--moo-scrollbar-thin-thumb-bg) transparent;
12862
- scrollbar-width: thin;
12863
- }
12864
- .scrollbar-thin::-webkit-scrollbar {
12865
- width: var(--moo-scrollbar-thin-size);
12866
- height: var(--moo-scrollbar-thin-size);
12867
- }
12868
- .scrollbar-thin::-webkit-scrollbar-track {
12869
- background: transparent;
12870
- }
12871
- .scrollbar-thin::-webkit-scrollbar-thumb {
12872
- border-radius: var(--bs-border-radius-pill);
12873
- background-color: var(--moo-scrollbar-thin-thumb-bg);
12874
- }
12875
- .scrollbar-thin::-webkit-scrollbar-thumb:hover {
12876
- background-color: var(--moo-scrollbar-thin-thumb-hover-bg);
12877
- }
12878
- @supports not (animation-timeline: scroll()) {
12879
- .scroll-fade,
12880
- .scroll-fade-y {
12881
- --moo-scroll-fade-t: var(--moo-scroll-fade-t-size);
12882
- --moo-scroll-fade-b: var(--moo-scroll-fade-b-size);
12883
- }
12884
- .scroll-fade-x {
12885
- --moo-scroll-fade-s: var(--moo-scroll-fade-s-size);
12886
- --moo-scroll-fade-e: var(--moo-scroll-fade-e-size);
12887
- }
12888
- .scroll-fade-t {
12889
- --moo-scroll-fade-t: var(--moo-scroll-fade-t-size);
12890
- }
12891
- .scroll-fade-b {
12892
- --moo-scroll-fade-b: var(--moo-scroll-fade-b-size);
12893
- }
12894
- .scroll-fade-l,
12895
- .scroll-fade-s {
12896
- --moo-scroll-fade-s: var(--moo-scroll-fade-s-size);
12897
- }
12898
- .scroll-fade-r,
12899
- .scroll-fade-e {
12900
- --moo-scroll-fade-e: var(--moo-scroll-fade-e-size);
12901
- }
12902
- }
12903
12667
  kbd {
12904
12668
  display: inline-flex;
12905
12669
  height: 1.25rem;
@@ -13240,18 +13004,72 @@ label.btn {
13240
13004
  --bs-btn-hover-color: var(--moo-muted-foreground);
13241
13005
  text-underline-offset: 0.25rem;
13242
13006
  }
13243
- .btn-close {
13244
- --bs-btn-close-color: var(--moo-foreground);
13245
- --bs-btn-hover-color: var(--bs-btn-close-color);
13246
- --bs-btn-hover-bg: var(--moo-muted-surface);
13247
- --bs-btn-hover-border-color: transparent;
13248
- --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");
13249
- display: inline-flex;
13250
- flex: 0 0 auto;
13251
- align-items: center;
13252
- justify-content: center;
13253
- border-width: var(--bs-border-width);
13254
- border-style: var(--bs-border-style);
13007
+ .search-trigger {
13008
+ width: 10rem;
13009
+ max-width: 100%;
13010
+ flex: 0 1 10rem;
13011
+ min-width: 0;
13012
+ justify-content: space-between;
13013
+ height: 2rem;
13014
+ padding: 0.5rem 0.75rem;
13015
+ color: var(--bs-secondary-color);
13016
+ border: var(--bs-border-width) solid transparent;
13017
+ border-radius: var(--bs-border-radius);
13018
+ background: color-mix(in srgb, var(--bs-secondary-bg) 55%, var(--bs-body-bg));
13019
+ font-size: 0.875rem;
13020
+ font-weight: 400;
13021
+ box-shadow: none;
13022
+ }
13023
+ .search-trigger:hover {
13024
+ color: var(--bs-secondary-color);
13025
+ border-color: transparent;
13026
+ background: color-mix(in srgb, var(--bs-secondary-bg) 78%, var(--bs-body-bg));
13027
+ }
13028
+ .search-trigger:focus-visible {
13029
+ color: var(--bs-secondary-color);
13030
+ border-color: transparent;
13031
+ background: color-mix(in srgb, var(--bs-secondary-bg) 78%, var(--bs-body-bg));
13032
+ }
13033
+ .search-trigger__label {
13034
+ display: inline-flex;
13035
+ min-width: 0;
13036
+ align-items: center;
13037
+ gap: 0.5rem;
13038
+ overflow: hidden;
13039
+ text-overflow: ellipsis;
13040
+ white-space: nowrap;
13041
+ }
13042
+ .search-trigger__shortcut {
13043
+ display: inline-flex;
13044
+ flex: 0 0 auto;
13045
+ align-items: center;
13046
+ gap: 0.25rem;
13047
+ margin-inline-start: auto;
13048
+ }
13049
+ @media (min-width: 992px) {
13050
+ .search-trigger {
13051
+ width: 13rem;
13052
+ flex-basis: 13rem;
13053
+ }
13054
+ }
13055
+ @media (min-width: 1400px) {
13056
+ .search-trigger {
13057
+ width: 16rem;
13058
+ flex-basis: 16rem;
13059
+ }
13060
+ }
13061
+ .btn-close {
13062
+ --bs-btn-close-color: var(--moo-foreground);
13063
+ --bs-btn-hover-color: var(--bs-btn-close-color);
13064
+ --bs-btn-hover-bg: var(--moo-muted-surface);
13065
+ --bs-btn-hover-border-color: transparent;
13066
+ --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");
13067
+ display: inline-flex;
13068
+ flex: 0 0 auto;
13069
+ align-items: center;
13070
+ justify-content: center;
13071
+ border-width: var(--bs-border-width);
13072
+ border-style: var(--bs-border-style);
13255
13073
  border-color: transparent;
13256
13074
  border-radius: var(--bs-border-radius-pill);
13257
13075
  color: var(--bs-btn-close-color);
@@ -13558,6 +13376,10 @@ label.btn {
13558
13376
  --moo-dropdown-sidebar-min-width: 14rem;
13559
13377
  min-width: max(100%, var(--moo-dropdown-sidebar-min-width));
13560
13378
  }
13379
+ [data-identity-trigger="1"] + .dropdown-menu {
13380
+ --moo-dropdown-sidebar-min-width: 14rem;
13381
+ min-width: var(--moo-dropdown-sidebar-min-width);
13382
+ }
13561
13383
  @media (max-width: 575.98px) {
13562
13384
  [data-slot="sidebar-header"] .dropend > .dropdown-menu,
13563
13385
  [data-slot="sidebar-footer"] .dropend > .dropdown-menu {
@@ -13786,73 +13608,6 @@ label.btn {
13786
13608
  .skeleton > .placeholder {
13787
13609
  display: block;
13788
13610
  }
13789
- .wrapper[data-layout="app"] {
13790
- display: flex;
13791
- width: 100%;
13792
- height: 100svh;
13793
- min-height: 0;
13794
- overflow: hidden;
13795
- }
13796
- .wrapper[data-layout="app"][data-shell-mode="contained"] {
13797
- min-height: 0;
13798
- height: 34rem;
13799
- overflow: hidden;
13800
- border: var(--bs-border-width) solid var(--moo-border);
13801
- border-radius: var(--bs-border-radius-xl);
13802
- }
13803
- .sidebar {
13804
- --moo-sidebar-width: 16rem;
13805
- --moo-sidebar-width-icon: 3rem;
13806
- --bs-offcanvas-width: var(--moo-sidebar-width);
13807
- flex: 0 0 var(--moo-sidebar-width);
13808
- width: var(--moo-sidebar-width);
13809
- color: var(--moo-sidebar-foreground);
13810
- }
13811
- .sidebar[data-side="left"] .sidebar-inner {
13812
- border-right: var(--bs-border-width) solid var(--moo-sidebar-border);
13813
- }
13814
- .sidebar[data-side="right"] {
13815
- order: 1;
13816
- }
13817
- .wrapper[data-layout="app"]:dir(rtl) > .sidebar[data-side="left"] {
13818
- order: 1;
13819
- }
13820
- .wrapper[data-layout="app"]:dir(rtl) > .sidebar[data-side="right"] {
13821
- order: 0;
13822
- }
13823
- .sidebar[data-side="right"] .sidebar-inner {
13824
- border-left: var(--bs-border-width) solid var(--moo-sidebar-border);
13825
- }
13826
- @media (min-width: 992px) {
13827
- .sidebar {
13828
- transition: flex-basis 0.2s ease, width 0.2s ease;
13829
- }
13830
- .sidebar[data-variant="floating"] .sidebar-inner {
13831
- width: auto;
13832
- height: calc(100svh - 1rem);
13833
- max-height: calc(100svh - 1rem);
13834
- margin: 0.5rem;
13835
- border: var(--bs-border-width) solid var(--moo-sidebar-border);
13836
- border-radius: var(--bs-border-radius-lg);
13837
- box-shadow: var(--bs-box-shadow-sm);
13838
- }
13839
- .wrapper[data-layout="app"][data-shell-mode="contained"] .sidebar[data-variant="floating"] .sidebar-inner {
13840
- height: calc(100% - 1rem);
13841
- max-height: calc(100% - 1rem);
13842
- }
13843
- .wrapper[data-layout="app"][data-sidebar-state="collapsed"] .sidebar[data-variant="floating"][data-collapsible="icon"] {
13844
- flex-basis: calc(var(--moo-sidebar-width-icon) + 1rem);
13845
- width: calc(var(--moo-sidebar-width-icon) + 1rem);
13846
- }
13847
- .wrapper[data-layout="app"][data-sidebar-state="collapsed"] .sidebar[data-variant="floating"][data-collapsible="icon"] .sidebar-inner {
13848
- box-shadow: var(--bs-box-shadow);
13849
- }
13850
- }
13851
- @media (prefers-reduced-motion: reduce) {
13852
- .sidebar {
13853
- transition: none;
13854
- }
13855
- }
13856
13611
  .sidebar-inner {
13857
13612
  position: sticky;
13858
13613
  top: 0;
@@ -13863,47 +13618,6 @@ label.btn {
13863
13618
  max-height: 100svh;
13864
13619
  background: var(--moo-sidebar);
13865
13620
  }
13866
- .wrapper[data-layout="app"][data-shell-mode="contained"] .sidebar-inner {
13867
- position: relative;
13868
- height: 100%;
13869
- max-height: 100%;
13870
- }
13871
- .wrapper[data-layout="app"] > [data-slot="page"] {
13872
- display: flex;
13873
- min-width: 0;
13874
- min-height: 0;
13875
- flex: 1 1 auto;
13876
- flex-direction: column;
13877
- overflow-y: auto;
13878
- }
13879
- .wrapper[data-layout="app"] > [data-slot="page"] > header,
13880
- .wrapper[data-layout="app"] > [data-slot="page"] > main,
13881
- .wrapper[data-layout="app"] > [data-slot="page"] > footer {
13882
- flex: 0 0 auto;
13883
- }
13884
- .wrapper[data-layout="app"] > [data-slot="page"] > main {
13885
- display: flex;
13886
- min-height: 0;
13887
- flex: 1 1 auto;
13888
- flex-direction: column;
13889
- }
13890
- .wrapper[data-layout="app"] > [data-slot="page"] > main > :is( .container, .container-sm, .container-md, .container-lg, .container-xl, .container-xxl, .container-fluid ) {
13891
- display: flex;
13892
- min-height: 0;
13893
- flex: 1 1 auto;
13894
- flex-direction: column;
13895
- }
13896
- @media (max-width: 991.98px) {
13897
- .wrapper[data-layout="app"][data-shell-mode="contained"] {
13898
- flex-direction: column;
13899
- height: auto;
13900
- min-height: 0;
13901
- overflow: visible;
13902
- }
13903
- .wrapper[data-layout="app"][data-shell-mode="contained"] > [data-slot="page"] {
13904
- overflow: visible;
13905
- }
13906
- }
13907
13621
  .sidebar-header,
13908
13622
  .sidebar-footer {
13909
13623
  display: flex;
@@ -14211,69 +13925,6 @@ label.btn {
14211
13925
  white-space: nowrap;
14212
13926
  }
14213
13927
  @media (min-width: 992px) {
14214
- .wrapper[data-layout="app"]:has(> .sidebar[data-variant="inset"]) {
14215
- background: var(--moo-sidebar);
14216
- }
14217
- .wrapper[data-layout="app"]:has(> .sidebar[data-variant="inset"]) > [data-slot="page"] {
14218
- margin: 0.5rem;
14219
- margin-left: 0;
14220
- border-radius: var(--bs-border-radius-xl);
14221
- box-shadow: var(--bs-box-shadow-sm);
14222
- background: var(--bs-body-bg);
14223
- }
14224
- .wrapper[data-layout="app"][data-sidebar-state="collapsed"]:has(> .sidebar[data-variant="inset"]) > [data-slot="page"] {
14225
- margin-left: 0.5rem;
14226
- }
14227
- .wrapper[data-layout="app"]:has(> .sidebar[data-variant="inset"][data-side="right"]) > [data-slot="page"] {
14228
- margin-left: 0.5rem;
14229
- margin-right: 0;
14230
- }
14231
- .wrapper[data-layout="app"][data-sidebar-state="collapsed"]:has(> .sidebar[data-variant="inset"][data-side="right"]) > [data-slot="page"] {
14232
- margin-right: 0.5rem;
14233
- }
14234
- }
14235
- .sidebar-rail {
14236
- position: absolute;
14237
- inset-block: 0;
14238
- inset-inline-end: 0;
14239
- z-index: 20;
14240
- width: 1rem;
14241
- padding: 0;
14242
- transform: translateX(50%);
14243
- border: 0;
14244
- background: transparent;
14245
- cursor: pointer;
14246
- }
14247
- .sidebar:dir(rtl) .sidebar-rail {
14248
- transform: translateX(-50%);
14249
- }
14250
- .sidebar-rail::after {
14251
- content: "";
14252
- position: absolute;
14253
- inset-block: 0;
14254
- inset-inline-start: 50%;
14255
- width: var(--bs-border-width);
14256
- background: transparent;
14257
- transition: background 0.15s ease;
14258
- }
14259
- .sidebar-rail:hover::after {
14260
- background: var(--moo-sidebar-border);
14261
- }
14262
- @media (min-width: 992px) {
14263
- .sidebar {
14264
- position: relative;
14265
- }
14266
- .wrapper[data-layout="app"]:has([data-sidebar-dropdown-positioned] > .dropdown-menu.show) > .sidebar {
14267
- position: relative;
14268
- z-index: 1031;
14269
- }
14270
- .wrapper[data-layout="app"]:has([data-sidebar-dropdown-positioned] > .dropdown-menu.show) > .sidebar > .sidebar-inner {
14271
- z-index: 1031;
14272
- }
14273
- .wrapper[data-layout="app"][data-sidebar-state="collapsed"] .sidebar[data-collapsible="icon"] {
14274
- flex-basis: var(--moo-sidebar-width-icon);
14275
- width: var(--moo-sidebar-width-icon);
14276
- }
14277
13928
  [data-sidebar-state="collapsed"] .sidebar[data-collapsible="icon"] .sidebar-group-label,
14278
13929
  [data-sidebar-state="collapsed"] .sidebar[data-collapsible="icon"] .sidebar-menu-button__text,
14279
13930
  [data-sidebar-state="collapsed"] .sidebar[data-collapsible="icon"] .sidebar-menu-button__subtitle,
@@ -14366,24 +14017,6 @@ label.btn {
14366
14017
  display: none;
14367
14018
  }
14368
14019
  }
14369
- @media (max-width: 991.98px) {
14370
- .sidebar-rail {
14371
- display: none;
14372
- }
14373
- .wrapper[data-layout="app"][data-shell-mode="contained"] .sidebar {
14374
- position: relative;
14375
- inset: auto;
14376
- flex: 0 0 auto;
14377
- width: 100%;
14378
- height: auto;
14379
- visibility: visible;
14380
- transform: none;
14381
- }
14382
- .wrapper[data-layout="app"][data-shell-mode="contained"] .sidebar-inner {
14383
- height: auto;
14384
- max-height: none;
14385
- }
14386
- }
14387
14020
  .alert {
14388
14021
  --bs-alert-border-color: var(--moo-border);
14389
14022
  --bs-alert-color: var(--moo-foreground);
@@ -15375,6 +15008,10 @@ label.btn {
15375
15008
  .field-group > hr {
15376
15009
  margin-block: 0;
15377
15010
  }
15011
+ .field-group.row {
15012
+ flex-direction: row;
15013
+ gap: 0;
15014
+ }
15378
15015
  .field-form {
15379
15016
  display: flex;
15380
15017
  flex-direction: column;
@@ -16690,14 +16327,686 @@ label.btn {
16690
16327
  .datatable--release-review {
16691
16328
  --moo-datatable-min-width: 64rem;
16692
16329
  }
16693
- :scope[data-bs-theme="light"] .form-select {
16694
- --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");
16330
+ .form-label,
16331
+ .form-check-label {
16332
+ user-select: none;
16695
16333
  }
16696
- :scope[data-bs-theme="dark"] .form-select {
16697
- --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='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
16334
+ :is(.btn, a, button, summary, [tabindex]):not(input, textarea, select):focus-visible,
16335
+ :is(.form-control, .form-select, .form-check-input):focus-visible {
16336
+ border-color: var(--moo-ring);
16337
+ outline: 0;
16338
+ box-shadow: 0 0 0 3px color-mix(in srgb, var(--moo-ring) 50%, transparent);
16698
16339
  }
16699
- :scope[data-bs-theme="light"] .form-switch .form-check-input:not(:checked):not(:focus) {
16700
- --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");
16340
+ .btn:focus-visible:hover,
16341
+ .btn.show:focus-visible {
16342
+ border-color: var(--bs-btn-hover-border-color);
16343
+ box-shadow: none;
16344
+ }
16345
+ .form-control:focus:not(:focus-visible),
16346
+ .form-select:focus:not(:focus-visible) {
16347
+ border-color: var(--moo-border);
16348
+ box-shadow: none;
16349
+ }
16350
+ .page-link:focus:not(:focus-visible) {
16351
+ outline: 0;
16352
+ box-shadow: none;
16353
+ }
16354
+ .page-item:not(.active) > .page-link:focus:not(:focus-visible) {
16355
+ color: var(--bs-pagination-color);
16356
+ background-color: var(--bs-pagination-bg);
16357
+ border-color: var(--bs-pagination-border-color);
16358
+ }
16359
+ .form-control.is-invalid,
16360
+ .form-control.is-invalid:focus,
16361
+ .was-validated .form-control:invalid,
16362
+ .was-validated .form-control:invalid:focus,
16363
+ .form-select.is-invalid,
16364
+ .form-select.is-invalid:focus,
16365
+ .was-validated .form-select:invalid,
16366
+ .was-validated .form-select:invalid:focus {
16367
+ box-shadow: 0 0 0 3px var(--moo-form-invalid-ring-color);
16368
+ }
16369
+ .btn-check:focus:not(:focus-visible) + .btn {
16370
+ outline: 0;
16371
+ box-shadow: none;
16372
+ }
16373
+ .btn-check:focus-visible + .btn {
16374
+ border-color: var(--moo-ring);
16375
+ outline: 0;
16376
+ box-shadow: 0 0 0 3px color-mix(in srgb, var(--moo-ring) 50%, transparent);
16377
+ }
16378
+ .input-group > .dropdown-toggle[aria-expanded="true"]:focus-visible {
16379
+ box-shadow: none;
16380
+ }
16381
+ .combobox-chips:focus-within {
16382
+ border-color: var(--moo-ring);
16383
+ outline: 0;
16384
+ box-shadow: 0 0 0 3px color-mix(in srgb, var(--moo-ring) 50%, transparent);
16385
+ }
16386
+ .input-group:has(> .form-control:focus):not(:has(> .form-control[type="file"])) {
16387
+ border-color: var(--moo-ring);
16388
+ outline: 0;
16389
+ box-shadow: 0 0 0 3px color-mix(in srgb, var(--moo-ring) 50%, transparent);
16390
+ }
16391
+ .input-group.has-validation:not(:has(> :is(.valid-feedback, .invalid-feedback, .valid-tooltip, .invalid-tooltip))):has(> :is(.form-control, .form-select).is-invalid),
16392
+ .was-validated .input-group.has-validation:not(:has(> :is(.valid-feedback, .invalid-feedback, .valid-tooltip, .invalid-tooltip))):has(> :is(.form-control, .form-select):invalid) {
16393
+ border-color: var(--bs-form-invalid-border-color);
16394
+ box-shadow: 0 0 0 3px var(--moo-form-invalid-ring-color);
16395
+ }
16396
+ .input-group.has-validation:not(:has(> :is(.valid-feedback, .invalid-feedback, .valid-tooltip, .invalid-tooltip))) > :is(.form-control, .form-select).is-invalid,
16397
+ .was-validated .input-group.has-validation:not(:has(> :is(.valid-feedback, .invalid-feedback, .valid-tooltip, .invalid-tooltip))) > :is(.form-control, .form-select):invalid {
16398
+ box-shadow: none;
16399
+ }
16400
+ :where( .scroll-fade, .scroll-fade-y, .scroll-fade-x, .scroll-fade-t, .scroll-fade-b, .scroll-fade-l, .scroll-fade-r, .scroll-fade-s, .scroll-fade-e ) {
16401
+ --scroll-fade-size: min(12%, 2.5rem);
16402
+ --scroll-fade-reveal: 6rem;
16403
+ --moo-scroll-fade-t-size: var(--scroll-fade-size);
16404
+ --moo-scroll-fade-b-size: var(--scroll-fade-size);
16405
+ --moo-scroll-fade-s-size: var(--scroll-fade-size);
16406
+ --moo-scroll-fade-e-size: var(--scroll-fade-size);
16407
+ --moo-scroll-fade-mask: linear-gradient(
16408
+ to bottom,
16409
+ transparent 0,
16410
+ #000 var(--moo-scroll-fade-t),
16411
+ #000 calc(100% - var(--moo-scroll-fade-b)),
16412
+ transparent 100%
16413
+ );
16414
+ mask-image: var(--moo-scroll-fade-mask);
16415
+ }
16416
+ .scroll-fade,
16417
+ .scroll-fade-y {
16418
+ animation-name: moo-scroll-fade-reveal-t, moo-scroll-fade-reveal-b;
16419
+ animation-duration: 1ms, 1ms;
16420
+ animation-fill-mode: both, both;
16421
+ animation-timing-function: linear, linear;
16422
+ animation-timeline: scroll(self y), scroll(self y);
16423
+ animation-range: 0 var(--scroll-fade-reveal), calc(100% - var(--scroll-fade-reveal)) 100%;
16424
+ }
16425
+ .scroll-fade-t {
16426
+ animation-name: moo-scroll-fade-reveal-t;
16427
+ animation-duration: 1ms;
16428
+ animation-fill-mode: both;
16429
+ animation-timing-function: linear;
16430
+ animation-timeline: scroll(self y);
16431
+ animation-range: 0 var(--scroll-fade-reveal);
16432
+ }
16433
+ .scroll-fade-b {
16434
+ animation-name: moo-scroll-fade-reveal-b;
16435
+ animation-duration: 1ms;
16436
+ animation-fill-mode: both;
16437
+ animation-timing-function: linear;
16438
+ animation-timeline: scroll(self y);
16439
+ animation-range: calc(100% - var(--scroll-fade-reveal)) 100%;
16440
+ }
16441
+ .scroll-fade-x,
16442
+ .scroll-fade-s,
16443
+ .scroll-fade-e {
16444
+ --moo-scroll-fade-mask: linear-gradient(
16445
+ to right,
16446
+ transparent 0,
16447
+ #000 var(--moo-scroll-fade-s),
16448
+ #000 calc(100% - var(--moo-scroll-fade-e)),
16449
+ transparent 100%
16450
+ );
16451
+ }
16452
+ .scroll-fade-x {
16453
+ animation-name: moo-scroll-fade-reveal-s, moo-scroll-fade-reveal-e;
16454
+ animation-duration: 1ms, 1ms;
16455
+ animation-fill-mode: both, both;
16456
+ animation-timing-function: linear, linear;
16457
+ animation-timeline: scroll(self inline), scroll(self inline);
16458
+ animation-range: 0 var(--scroll-fade-reveal), calc(100% - var(--scroll-fade-reveal)) 100%;
16459
+ }
16460
+ .scroll-fade-s {
16461
+ animation-name: moo-scroll-fade-reveal-s;
16462
+ animation-duration: 1ms;
16463
+ animation-fill-mode: both;
16464
+ animation-timing-function: linear;
16465
+ animation-timeline: scroll(self inline);
16466
+ animation-range: 0 var(--scroll-fade-reveal);
16467
+ }
16468
+ .scroll-fade-e {
16469
+ animation-name: moo-scroll-fade-reveal-e;
16470
+ animation-duration: 1ms;
16471
+ animation-fill-mode: both;
16472
+ animation-timing-function: linear;
16473
+ animation-timeline: scroll(self inline);
16474
+ animation-range: calc(100% - var(--scroll-fade-reveal)) 100%;
16475
+ }
16476
+ .scroll-fade-x:where([dir="rtl"], [dir="rtl"] *),
16477
+ .scroll-fade-s:where([dir="rtl"], [dir="rtl"] *),
16478
+ .scroll-fade-e:where([dir="rtl"], [dir="rtl"] *) {
16479
+ --moo-scroll-fade-mask: linear-gradient(
16480
+ to left,
16481
+ transparent 0,
16482
+ #000 var(--moo-scroll-fade-s),
16483
+ #000 calc(100% - var(--moo-scroll-fade-e)),
16484
+ transparent 100%
16485
+ );
16486
+ }
16487
+ .scroll-fade-l,
16488
+ .scroll-fade-r {
16489
+ --moo-scroll-fade-mask: linear-gradient(
16490
+ to right,
16491
+ transparent 0,
16492
+ #000 var(--moo-scroll-fade-s),
16493
+ #000 calc(100% - var(--moo-scroll-fade-e)),
16494
+ transparent 100%
16495
+ );
16496
+ }
16497
+ .scroll-fade-l {
16498
+ animation-name: moo-scroll-fade-reveal-s;
16499
+ animation-duration: 1ms;
16500
+ animation-fill-mode: both;
16501
+ animation-timing-function: linear;
16502
+ animation-timeline: scroll(self x);
16503
+ animation-range: 0 var(--scroll-fade-reveal);
16504
+ }
16505
+ .scroll-fade-r {
16506
+ animation-name: moo-scroll-fade-reveal-e;
16507
+ animation-duration: 1ms;
16508
+ animation-fill-mode: both;
16509
+ animation-timing-function: linear;
16510
+ animation-timeline: scroll(self x);
16511
+ animation-range: calc(100% - var(--scroll-fade-reveal)) 100%;
16512
+ }
16513
+ .scroll-fade-none {
16514
+ --moo-scroll-fade-mask: none;
16515
+ }
16516
+ .no-scrollbar {
16517
+ scrollbar-width: none;
16518
+ }
16519
+ .no-scrollbar::-webkit-scrollbar {
16520
+ display: none;
16521
+ }
16522
+ .scrollbar-thin {
16523
+ --moo-scrollbar-thin-size: 0.375rem;
16524
+ --moo-scrollbar-thin-thumb-bg: color-mix(in srgb, var(--bs-secondary-color) 28%, transparent);
16525
+ --moo-scrollbar-thin-thumb-hover-bg: color-mix(in srgb, var(--bs-secondary-color) 45%, transparent);
16526
+ scrollbar-color: var(--moo-scrollbar-thin-thumb-bg) transparent;
16527
+ scrollbar-width: thin;
16528
+ }
16529
+ .scrollbar-thin::-webkit-scrollbar {
16530
+ width: var(--moo-scrollbar-thin-size);
16531
+ height: var(--moo-scrollbar-thin-size);
16532
+ }
16533
+ .scrollbar-thin::-webkit-scrollbar-track {
16534
+ background: transparent;
16535
+ }
16536
+ .scrollbar-thin::-webkit-scrollbar-thumb {
16537
+ border-radius: var(--bs-border-radius-pill);
16538
+ background-color: var(--moo-scrollbar-thin-thumb-bg);
16539
+ }
16540
+ .scrollbar-thin::-webkit-scrollbar-thumb:hover {
16541
+ background-color: var(--moo-scrollbar-thin-thumb-hover-bg);
16542
+ }
16543
+ @supports not (animation-timeline: scroll()) {
16544
+ .scroll-fade,
16545
+ .scroll-fade-y {
16546
+ --moo-scroll-fade-t: var(--moo-scroll-fade-t-size);
16547
+ --moo-scroll-fade-b: var(--moo-scroll-fade-b-size);
16548
+ }
16549
+ .scroll-fade-x {
16550
+ --moo-scroll-fade-s: var(--moo-scroll-fade-s-size);
16551
+ --moo-scroll-fade-e: var(--moo-scroll-fade-e-size);
16552
+ }
16553
+ .scroll-fade-t {
16554
+ --moo-scroll-fade-t: var(--moo-scroll-fade-t-size);
16555
+ }
16556
+ .scroll-fade-b {
16557
+ --moo-scroll-fade-b: var(--moo-scroll-fade-b-size);
16558
+ }
16559
+ .scroll-fade-l,
16560
+ .scroll-fade-s {
16561
+ --moo-scroll-fade-s: var(--moo-scroll-fade-s-size);
16562
+ }
16563
+ .scroll-fade-r,
16564
+ .scroll-fade-e {
16565
+ --moo-scroll-fade-e: var(--moo-scroll-fade-e-size);
16566
+ }
16567
+ }
16568
+ .sidebar {
16569
+ --moo-sidebar-width: 16rem;
16570
+ --moo-sidebar-width-icon: 3rem;
16571
+ --bs-offcanvas-width: var(--moo-sidebar-width);
16572
+ flex: 0 0 var(--moo-sidebar-width);
16573
+ width: var(--moo-sidebar-width);
16574
+ color: var(--moo-sidebar-foreground);
16575
+ }
16576
+ .sidebar-rail {
16577
+ position: absolute;
16578
+ inset-block: 0;
16579
+ inset-inline-end: 0;
16580
+ z-index: 20;
16581
+ width: 1rem;
16582
+ padding: 0;
16583
+ transform: translateX(50%);
16584
+ border: 0;
16585
+ background: transparent;
16586
+ cursor: pointer;
16587
+ }
16588
+ .sidebar:dir(rtl) .sidebar-rail {
16589
+ transform: translateX(-50%);
16590
+ }
16591
+ .sidebar-rail::after {
16592
+ content: "";
16593
+ position: absolute;
16594
+ inset-block: 0;
16595
+ inset-inline-start: 50%;
16596
+ width: var(--bs-border-width);
16597
+ background: transparent;
16598
+ transition: background 0.15s ease;
16599
+ }
16600
+ .sidebar-rail:hover::after {
16601
+ background: var(--moo-sidebar-border);
16602
+ }
16603
+ .wrapper[data-layout="app"][data-shell-mode="contained"] .sidebar-inner {
16604
+ position: relative;
16605
+ height: 100%;
16606
+ max-height: 100%;
16607
+ }
16608
+ @media (min-width: 992px) {
16609
+ .sidebar {
16610
+ position: relative;
16611
+ }
16612
+ .sidebar.offcanvas-lg[data-collapsible="offcanvas"] {
16613
+ visibility: visible;
16614
+ transform: none;
16615
+ }
16616
+ .wrapper[data-layout="app"][data-sidebar-state="collapsed"] > .sidebar.offcanvas-lg[data-collapsible="offcanvas"] {
16617
+ flex-basis: 0;
16618
+ width: 0;
16619
+ overflow: hidden;
16620
+ visibility: hidden;
16621
+ }
16622
+ .wrapper[data-layout="app"]:has([data-sidebar-dropdown-positioned] > .dropdown-menu.show) > .sidebar {
16623
+ position: relative;
16624
+ z-index: 1031;
16625
+ }
16626
+ .wrapper[data-layout="app"]:has([data-sidebar-dropdown-positioned] > .dropdown-menu.show) > .sidebar > .sidebar-inner {
16627
+ z-index: 1031;
16628
+ }
16629
+ .wrapper[data-layout="app"][data-sidebar-state="collapsed"] .sidebar[data-collapsible="icon"] {
16630
+ flex-basis: var(--moo-sidebar-width-icon);
16631
+ width: var(--moo-sidebar-width-icon);
16632
+ }
16633
+ }
16634
+ @media (max-width: 991.98px) {
16635
+ .sidebar-rail {
16636
+ display: none;
16637
+ }
16638
+ .wrapper[data-layout="app"][data-shell-mode="contained"] .sidebar {
16639
+ position: relative;
16640
+ inset: auto;
16641
+ flex: 0 0 auto;
16642
+ width: 100%;
16643
+ height: auto;
16644
+ visibility: visible;
16645
+ transform: none;
16646
+ }
16647
+ .wrapper[data-layout="app"][data-shell-mode="contained"] .sidebar-inner {
16648
+ height: auto;
16649
+ max-height: none;
16650
+ }
16651
+ }
16652
+ .sidebar[data-side="left"]:not([data-variant="inset"]) .sidebar-inner {
16653
+ border-right: var(--bs-border-width) solid var(--moo-sidebar-border);
16654
+ }
16655
+ .sidebar[data-side="right"] {
16656
+ order: 1;
16657
+ }
16658
+ .wrapper[data-layout="app"]:dir(rtl) > .sidebar[data-side="left"] {
16659
+ order: 1;
16660
+ }
16661
+ .wrapper[data-layout="app"]:dir(rtl) > .sidebar[data-side="right"] {
16662
+ order: 0;
16663
+ }
16664
+ .sidebar[data-side="right"]:not([data-variant="inset"]) .sidebar-inner {
16665
+ border-left: var(--bs-border-width) solid var(--moo-sidebar-border);
16666
+ }
16667
+ @media (min-width: 992px) {
16668
+ :where(.wrapper[data-layout="app"][data-sidebar-ready]) > .sidebar {
16669
+ transition: flex-basis 0.2s ease, width 0.2s ease;
16670
+ }
16671
+ .sidebar[data-variant="floating"] .sidebar-inner {
16672
+ width: auto;
16673
+ height: calc(100svh - 1rem);
16674
+ max-height: calc(100svh - 1rem);
16675
+ margin: 0.5rem;
16676
+ border: var(--bs-border-width) solid var(--moo-sidebar-border);
16677
+ border-radius: var(--bs-border-radius-lg);
16678
+ box-shadow: var(--bs-box-shadow-sm);
16679
+ }
16680
+ .wrapper[data-layout="app"][data-shell-mode="contained"] .sidebar[data-variant="floating"] .sidebar-inner {
16681
+ height: calc(100% - 1rem);
16682
+ max-height: calc(100% - 1rem);
16683
+ }
16684
+ .wrapper[data-layout="app"][data-sidebar-state="collapsed"] .sidebar[data-variant="floating"][data-collapsible="icon"] {
16685
+ flex-basis: calc(var(--moo-sidebar-width-icon) + 1rem);
16686
+ width: calc(var(--moo-sidebar-width-icon) + 1rem);
16687
+ }
16688
+ .wrapper[data-layout="app"][data-sidebar-state="collapsed"] .sidebar[data-variant="floating"][data-collapsible="icon"] .sidebar-inner {
16689
+ box-shadow: var(--bs-box-shadow);
16690
+ }
16691
+ }
16692
+ @media (prefers-reduced-motion: reduce) {
16693
+ .sidebar {
16694
+ transition: none;
16695
+ }
16696
+ }
16697
+ @media (min-width: 992px) {
16698
+ .wrapper[data-layout="app"]:has(> .sidebar[data-variant="inset"]) {
16699
+ background: var(--moo-sidebar);
16700
+ }
16701
+ .wrapper[data-layout="app"]:has(> .sidebar[data-variant="inset"]) > [data-slot="page"] {
16702
+ margin: 0.5rem;
16703
+ margin-left: 0;
16704
+ border-radius: var(--bs-border-radius-xl);
16705
+ box-shadow: var(--bs-box-shadow-sm);
16706
+ background: var(--bs-body-bg);
16707
+ }
16708
+ .wrapper[data-layout="app"]:has(> .sidebar[data-variant="inset"]) > [data-slot="page"] > header {
16709
+ border-top-left-radius: inherit;
16710
+ border-top-right-radius: inherit;
16711
+ }
16712
+ .wrapper[data-layout="app"][data-sidebar-state="collapsed"]:has(> .sidebar[data-variant="inset"]) > [data-slot="page"] {
16713
+ margin-left: 0.5rem;
16714
+ }
16715
+ .wrapper[data-layout="app"]:has(> .sidebar[data-variant="inset"][data-side="right"]) > [data-slot="page"] {
16716
+ margin-left: 0.5rem;
16717
+ margin-right: 0;
16718
+ }
16719
+ .wrapper[data-layout="app"][data-sidebar-state="collapsed"]:has(> .sidebar[data-variant="inset"][data-side="right"]) > [data-slot="page"] {
16720
+ margin-right: 0.5rem;
16721
+ }
16722
+ }
16723
+ .wrapper[data-layout="app"] {
16724
+ display: flex;
16725
+ width: 100%;
16726
+ height: 100svh;
16727
+ min-height: 0;
16728
+ overflow: hidden;
16729
+ }
16730
+ .wrapper[data-layout="app"][data-shell-mode="contained"] {
16731
+ min-height: 0;
16732
+ height: 34rem;
16733
+ overflow: hidden;
16734
+ border: var(--bs-border-width) solid var(--moo-border);
16735
+ border-radius: var(--bs-border-radius-xl);
16736
+ }
16737
+ .wrapper[data-layout="app"] > [data-slot="page"] {
16738
+ display: flex;
16739
+ min-width: 0;
16740
+ min-height: 0;
16741
+ flex: 1 1 auto;
16742
+ flex-direction: column;
16743
+ }
16744
+ .wrapper[data-layout="app"] > [data-slot="page"] > header,
16745
+ .wrapper[data-layout="app"] > [data-slot="page"] > main,
16746
+ .wrapper[data-layout="app"] > [data-slot="page"] > footer {
16747
+ flex: 0 0 auto;
16748
+ }
16749
+ .wrapper[data-layout="app"] > [data-slot="page"] > main {
16750
+ display: flex;
16751
+ min-height: 0;
16752
+ flex: 1 1 auto;
16753
+ flex-direction: column;
16754
+ overflow-y: auto;
16755
+ }
16756
+ .wrapper[data-layout="app"] > [data-slot="page"] > main > :is( .container, .container-sm, .container-md, .container-lg, .container-xl, .container-xxl, .container-fluid ) {
16757
+ display: flex;
16758
+ min-height: 0;
16759
+ flex: 1 1 auto;
16760
+ flex-direction: column;
16761
+ }
16762
+ @media (max-width: 991.98px) {
16763
+ .wrapper[data-layout="app"][data-shell-mode="contained"] {
16764
+ flex-direction: column;
16765
+ height: auto;
16766
+ min-height: 0;
16767
+ overflow: visible;
16768
+ }
16769
+ .wrapper[data-layout="app"][data-shell-mode="contained"] > [data-slot="page"] {
16770
+ overflow: visible;
16771
+ }
16772
+ .wrapper[data-layout="app"][data-shell-mode="contained"] > [data-slot="page"] > main {
16773
+ overflow: visible;
16774
+ }
16775
+ }
16776
+ [data-page-container] {
16777
+ container: moo-page / inline-size;
16778
+ }
16779
+ [data-page-container] [data-page-show-from] {
16780
+ display: none !important;
16781
+ }
16782
+ @container moo-page (min-width: 576px) {
16783
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-sm="1"] {
16784
+ width: 8.33333%;
16785
+ }
16786
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-sm="2"] {
16787
+ width: 16.66667%;
16788
+ }
16789
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-sm="3"] {
16790
+ width: 25%;
16791
+ }
16792
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-sm="4"] {
16793
+ width: 33.33333%;
16794
+ }
16795
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-sm="5"] {
16796
+ width: 41.66667%;
16797
+ }
16798
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-sm="6"] {
16799
+ width: 50%;
16800
+ }
16801
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-sm="7"] {
16802
+ width: 58.33333%;
16803
+ }
16804
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-sm="8"] {
16805
+ width: 66.66667%;
16806
+ }
16807
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-sm="9"] {
16808
+ width: 75%;
16809
+ }
16810
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-sm="10"] {
16811
+ width: 83.33333%;
16812
+ }
16813
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-sm="11"] {
16814
+ width: 91.66667%;
16815
+ }
16816
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-sm="12"] {
16817
+ width: 100%;
16818
+ }
16819
+ [data-page-container] [data-page-show-from="sm"] {
16820
+ display: block !important;
16821
+ }
16822
+ [data-page-container] [data-page-hide-from="sm"] {
16823
+ display: none !important;
16824
+ }
16825
+ }
16826
+ @container moo-page (min-width: 768px) {
16827
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-md="1"] {
16828
+ width: 8.33333%;
16829
+ }
16830
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-md="2"] {
16831
+ width: 16.66667%;
16832
+ }
16833
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-md="3"] {
16834
+ width: 25%;
16835
+ }
16836
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-md="4"] {
16837
+ width: 33.33333%;
16838
+ }
16839
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-md="5"] {
16840
+ width: 41.66667%;
16841
+ }
16842
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-md="6"] {
16843
+ width: 50%;
16844
+ }
16845
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-md="7"] {
16846
+ width: 58.33333%;
16847
+ }
16848
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-md="8"] {
16849
+ width: 66.66667%;
16850
+ }
16851
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-md="9"] {
16852
+ width: 75%;
16853
+ }
16854
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-md="10"] {
16855
+ width: 83.33333%;
16856
+ }
16857
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-md="11"] {
16858
+ width: 91.66667%;
16859
+ }
16860
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-md="12"] {
16861
+ width: 100%;
16862
+ }
16863
+ [data-page-container] [data-page-show-from="md"] {
16864
+ display: block !important;
16865
+ }
16866
+ [data-page-container] [data-page-hide-from="md"] {
16867
+ display: none !important;
16868
+ }
16869
+ }
16870
+ @container moo-page (min-width: 992px) {
16871
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-lg="1"] {
16872
+ width: 8.33333%;
16873
+ }
16874
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-lg="2"] {
16875
+ width: 16.66667%;
16876
+ }
16877
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-lg="3"] {
16878
+ width: 25%;
16879
+ }
16880
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-lg="4"] {
16881
+ width: 33.33333%;
16882
+ }
16883
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-lg="5"] {
16884
+ width: 41.66667%;
16885
+ }
16886
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-lg="6"] {
16887
+ width: 50%;
16888
+ }
16889
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-lg="7"] {
16890
+ width: 58.33333%;
16891
+ }
16892
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-lg="8"] {
16893
+ width: 66.66667%;
16894
+ }
16895
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-lg="9"] {
16896
+ width: 75%;
16897
+ }
16898
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-lg="10"] {
16899
+ width: 83.33333%;
16900
+ }
16901
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-lg="11"] {
16902
+ width: 91.66667%;
16903
+ }
16904
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-lg="12"] {
16905
+ width: 100%;
16906
+ }
16907
+ [data-page-container] [data-page-show-from="lg"] {
16908
+ display: block !important;
16909
+ }
16910
+ [data-page-container] [data-page-hide-from="lg"] {
16911
+ display: none !important;
16912
+ }
16913
+ }
16914
+ @container moo-page (min-width: 1200px) {
16915
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-xl="1"] {
16916
+ width: 8.33333%;
16917
+ }
16918
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-xl="2"] {
16919
+ width: 16.66667%;
16920
+ }
16921
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-xl="3"] {
16922
+ width: 25%;
16923
+ }
16924
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-xl="4"] {
16925
+ width: 33.33333%;
16926
+ }
16927
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-xl="5"] {
16928
+ width: 41.66667%;
16929
+ }
16930
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-xl="6"] {
16931
+ width: 50%;
16932
+ }
16933
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-xl="7"] {
16934
+ width: 58.33333%;
16935
+ }
16936
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-xl="8"] {
16937
+ width: 66.66667%;
16938
+ }
16939
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-xl="9"] {
16940
+ width: 75%;
16941
+ }
16942
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-xl="10"] {
16943
+ width: 83.33333%;
16944
+ }
16945
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-xl="11"] {
16946
+ width: 91.66667%;
16947
+ }
16948
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-xl="12"] {
16949
+ width: 100%;
16950
+ }
16951
+ [data-page-container] [data-page-show-from="xl"] {
16952
+ display: block !important;
16953
+ }
16954
+ [data-page-container] [data-page-hide-from="xl"] {
16955
+ display: none !important;
16956
+ }
16957
+ }
16958
+ @container moo-page (min-width: 1400px) {
16959
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-xxl="1"] {
16960
+ width: 8.33333%;
16961
+ }
16962
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-xxl="2"] {
16963
+ width: 16.66667%;
16964
+ }
16965
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-xxl="3"] {
16966
+ width: 25%;
16967
+ }
16968
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-xxl="4"] {
16969
+ width: 33.33333%;
16970
+ }
16971
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-xxl="5"] {
16972
+ width: 41.66667%;
16973
+ }
16974
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-xxl="6"] {
16975
+ width: 50%;
16976
+ }
16977
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-xxl="7"] {
16978
+ width: 58.33333%;
16979
+ }
16980
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-xxl="8"] {
16981
+ width: 66.66667%;
16982
+ }
16983
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-xxl="9"] {
16984
+ width: 75%;
16985
+ }
16986
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-xxl="10"] {
16987
+ width: 83.33333%;
16988
+ }
16989
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-xxl="11"] {
16990
+ width: 91.66667%;
16991
+ }
16992
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-xxl="12"] {
16993
+ width: 100%;
16994
+ }
16995
+ [data-page-container] [data-page-show-from="xxl"] {
16996
+ display: block !important;
16997
+ }
16998
+ [data-page-container] [data-page-hide-from="xxl"] {
16999
+ display: none !important;
17000
+ }
17001
+ }
17002
+ :scope[data-bs-theme="light"] .form-select {
17003
+ --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");
17004
+ }
17005
+ :scope[data-bs-theme="dark"] .form-select {
17006
+ --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='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
17007
+ }
17008
+ :scope[data-bs-theme="light"] .form-switch .form-check-input:not(:checked):not(:focus) {
17009
+ --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");
16701
17010
  }
16702
17011
  :scope[data-bs-theme="dark"] .form-switch .form-check-input:not(:checked):not(:focus) {
16703
17012
  --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");
@@ -16738,4 +17047,7 @@ label.btn {
16738
17047
  .offcanvas-backdrop.show::before {
16739
17048
  animation: moo-overlay-backdrop-enter var(--moo-overlay-motion-duration, 0.3s) ease-out both;
16740
17049
  }
17050
+ :where(h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6, .display-1, .display-2, .display-3, .display-4, .display-5, .display-6) {
17051
+ font-family: var(--moo-heading-font-family, var(--bs-body-font-family));
17052
+ }
16741
17053
  }