@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
@@ -229,6 +229,8 @@
229
229
  --moo-chart-3: #a1a1aa;
230
230
  --moo-chart-4: #3f3f46;
231
231
  --moo-chart-5: #27272a;
232
+ --moo-heading-font-family: var(--bs-body-font-family);
233
+ font-family: var(--bs-body-font-family);
232
234
  }
233
235
 
234
236
  .moo-ui[data-bs-theme="light"] {
@@ -656,7 +658,7 @@
656
658
  background-color: var(--moo-input-bg, transparent);
657
659
  background-clip: padding-box;
658
660
  border: var(--bs-border-width) solid var(--moo-border);
659
- border-radius: 0.625rem;
661
+ border-radius: var(--bs-border-radius-lg);
660
662
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
661
663
  }
662
664
  @media (prefers-reduced-motion: reduce) {
@@ -781,11 +783,11 @@
781
783
  }
782
784
  .form-control-color::-moz-color-swatch {
783
785
  border: 0 !important;
784
- border-radius: 0.625rem;
786
+ border-radius: var(--bs-border-radius-lg);
785
787
  }
786
788
  .form-control-color::-webkit-color-swatch {
787
789
  border: 0 !important;
788
- border-radius: 0.625rem;
790
+ border-radius: var(--bs-border-radius-lg);
789
791
  }
790
792
  .form-control-color.form-control-sm {
791
793
  height: calc(1.42857em + 0.5rem + calc(var(--bs-border-width) * 2));
@@ -809,7 +811,7 @@
809
811
  background-position: right 0.625rem center;
810
812
  background-size: 16px 12px;
811
813
  border: var(--bs-border-width) solid var(--moo-border);
812
- border-radius: 0.625rem;
814
+ border-radius: var(--bs-border-radius-lg);
813
815
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
814
816
  }
815
817
  @media (prefers-reduced-motion: reduce) {
@@ -1012,7 +1014,7 @@
1012
1014
  white-space: nowrap;
1013
1015
  background-color: var(--moo-input-bg, transparent);
1014
1016
  border: var(--bs-border-width) solid var(--moo-border);
1015
- border-radius: 0.625rem;
1017
+ border-radius: var(--bs-border-radius-lg);
1016
1018
  }
1017
1019
  .input-group-lg > .form-control,
1018
1020
  .input-group-lg > .form-select,
@@ -3771,244 +3773,6 @@
3771
3773
  color: #fff !important;
3772
3774
  background-color: RGBA(var(--bs-dark-rgb), var(--bs-bg-opacity, 1)) !important;
3773
3775
  }
3774
- .form-label,
3775
- .form-check-label {
3776
- user-select: none;
3777
- }
3778
- :is(.btn, a, button, summary, [tabindex]):not(input, textarea, select):focus-visible,
3779
- :is(.form-control, .form-select, .form-check-input):focus-visible {
3780
- border-color: var(--moo-ring);
3781
- outline: 0;
3782
- box-shadow: 0 0 0 3px color-mix(in srgb, var(--moo-ring) 50%, transparent);
3783
- }
3784
- .btn:focus-visible:hover,
3785
- .btn.show:focus-visible {
3786
- border-color: var(--bs-btn-hover-border-color);
3787
- box-shadow: none;
3788
- }
3789
- .form-control:focus:not(:focus-visible),
3790
- .form-select:focus:not(:focus-visible) {
3791
- border-color: var(--moo-border);
3792
- box-shadow: none;
3793
- }
3794
- .page-link:focus:not(:focus-visible) {
3795
- outline: 0;
3796
- box-shadow: none;
3797
- }
3798
- .page-item:not(.active) > .page-link:focus:not(:focus-visible) {
3799
- color: var(--bs-pagination-color);
3800
- background-color: var(--bs-pagination-bg);
3801
- border-color: var(--bs-pagination-border-color);
3802
- }
3803
- .form-control.is-invalid,
3804
- .form-control.is-invalid:focus,
3805
- .was-validated .form-control:invalid,
3806
- .was-validated .form-control:invalid:focus,
3807
- .form-select.is-invalid,
3808
- .form-select.is-invalid:focus,
3809
- .was-validated .form-select:invalid,
3810
- .was-validated .form-select:invalid:focus {
3811
- box-shadow: 0 0 0 3px var(--moo-form-invalid-ring-color);
3812
- }
3813
- .btn-check:focus:not(:focus-visible) + .btn {
3814
- outline: 0;
3815
- box-shadow: none;
3816
- }
3817
- .btn-check:focus-visible + .btn {
3818
- border-color: var(--moo-ring);
3819
- outline: 0;
3820
- box-shadow: 0 0 0 3px color-mix(in srgb, var(--moo-ring) 50%, transparent);
3821
- }
3822
- .input-group > .dropdown-toggle[aria-expanded="true"]:focus-visible {
3823
- box-shadow: none;
3824
- }
3825
- .combobox-chips:focus-within {
3826
- border-color: var(--moo-ring);
3827
- outline: 0;
3828
- box-shadow: 0 0 0 3px color-mix(in srgb, var(--moo-ring) 50%, transparent);
3829
- }
3830
- .input-group:has(> .form-control:focus):not(:has(> .form-control[type="file"])) {
3831
- border-color: var(--moo-ring);
3832
- outline: 0;
3833
- box-shadow: 0 0 0 3px color-mix(in srgb, var(--moo-ring) 50%, transparent);
3834
- }
3835
- .input-group.has-validation:not(:has(> :is(.valid-feedback, .invalid-feedback, .valid-tooltip, .invalid-tooltip))):has(> :is(.form-control, .form-select).is-invalid),
3836
- .was-validated .input-group.has-validation:not(:has(> :is(.valid-feedback, .invalid-feedback, .valid-tooltip, .invalid-tooltip))):has(> :is(.form-control, .form-select):invalid) {
3837
- border-color: var(--bs-form-invalid-border-color);
3838
- box-shadow: 0 0 0 3px var(--moo-form-invalid-ring-color);
3839
- }
3840
- .input-group.has-validation:not(:has(> :is(.valid-feedback, .invalid-feedback, .valid-tooltip, .invalid-tooltip))) > :is(.form-control, .form-select).is-invalid,
3841
- .was-validated .input-group.has-validation:not(:has(> :is(.valid-feedback, .invalid-feedback, .valid-tooltip, .invalid-tooltip))) > :is(.form-control, .form-select):invalid {
3842
- box-shadow: none;
3843
- }
3844
- :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 ) {
3845
- --scroll-fade-size: min(12%, 2.5rem);
3846
- --scroll-fade-reveal: 6rem;
3847
- --moo-scroll-fade-t-size: var(--scroll-fade-size);
3848
- --moo-scroll-fade-b-size: var(--scroll-fade-size);
3849
- --moo-scroll-fade-s-size: var(--scroll-fade-size);
3850
- --moo-scroll-fade-e-size: var(--scroll-fade-size);
3851
- --moo-scroll-fade-mask: linear-gradient(
3852
- to bottom,
3853
- transparent 0,
3854
- #000 var(--moo-scroll-fade-t),
3855
- #000 calc(100% - var(--moo-scroll-fade-b)),
3856
- transparent 100%
3857
- );
3858
- mask-image: var(--moo-scroll-fade-mask);
3859
- }
3860
- .scroll-fade,
3861
- .scroll-fade-y {
3862
- animation-name: moo-scroll-fade-reveal-t, moo-scroll-fade-reveal-b;
3863
- animation-duration: 1ms, 1ms;
3864
- animation-fill-mode: both, both;
3865
- animation-timing-function: linear, linear;
3866
- animation-timeline: scroll(self y), scroll(self y);
3867
- animation-range: 0 var(--scroll-fade-reveal), calc(100% - var(--scroll-fade-reveal)) 100%;
3868
- }
3869
- .scroll-fade-t {
3870
- animation-name: moo-scroll-fade-reveal-t;
3871
- animation-duration: 1ms;
3872
- animation-fill-mode: both;
3873
- animation-timing-function: linear;
3874
- animation-timeline: scroll(self y);
3875
- animation-range: 0 var(--scroll-fade-reveal);
3876
- }
3877
- .scroll-fade-b {
3878
- animation-name: moo-scroll-fade-reveal-b;
3879
- animation-duration: 1ms;
3880
- animation-fill-mode: both;
3881
- animation-timing-function: linear;
3882
- animation-timeline: scroll(self y);
3883
- animation-range: calc(100% - var(--scroll-fade-reveal)) 100%;
3884
- }
3885
- .scroll-fade-x,
3886
- .scroll-fade-s,
3887
- .scroll-fade-e {
3888
- --moo-scroll-fade-mask: linear-gradient(
3889
- to right,
3890
- transparent 0,
3891
- #000 var(--moo-scroll-fade-s),
3892
- #000 calc(100% - var(--moo-scroll-fade-e)),
3893
- transparent 100%
3894
- );
3895
- }
3896
- .scroll-fade-x {
3897
- animation-name: moo-scroll-fade-reveal-s, moo-scroll-fade-reveal-e;
3898
- animation-duration: 1ms, 1ms;
3899
- animation-fill-mode: both, both;
3900
- animation-timing-function: linear, linear;
3901
- animation-timeline: scroll(self inline), scroll(self inline);
3902
- animation-range: 0 var(--scroll-fade-reveal), calc(100% - var(--scroll-fade-reveal)) 100%;
3903
- }
3904
- .scroll-fade-s {
3905
- animation-name: moo-scroll-fade-reveal-s;
3906
- animation-duration: 1ms;
3907
- animation-fill-mode: both;
3908
- animation-timing-function: linear;
3909
- animation-timeline: scroll(self inline);
3910
- animation-range: 0 var(--scroll-fade-reveal);
3911
- }
3912
- .scroll-fade-e {
3913
- animation-name: moo-scroll-fade-reveal-e;
3914
- animation-duration: 1ms;
3915
- animation-fill-mode: both;
3916
- animation-timing-function: linear;
3917
- animation-timeline: scroll(self inline);
3918
- animation-range: calc(100% - var(--scroll-fade-reveal)) 100%;
3919
- }
3920
- .scroll-fade-x:where([dir="rtl"], [dir="rtl"] *),
3921
- .scroll-fade-s:where([dir="rtl"], [dir="rtl"] *),
3922
- .scroll-fade-e:where([dir="rtl"], [dir="rtl"] *) {
3923
- --moo-scroll-fade-mask: linear-gradient(
3924
- to left,
3925
- transparent 0,
3926
- #000 var(--moo-scroll-fade-s),
3927
- #000 calc(100% - var(--moo-scroll-fade-e)),
3928
- transparent 100%
3929
- );
3930
- }
3931
- .scroll-fade-l,
3932
- .scroll-fade-r {
3933
- --moo-scroll-fade-mask: linear-gradient(
3934
- to right,
3935
- transparent 0,
3936
- #000 var(--moo-scroll-fade-s),
3937
- #000 calc(100% - var(--moo-scroll-fade-e)),
3938
- transparent 100%
3939
- );
3940
- }
3941
- .scroll-fade-l {
3942
- animation-name: moo-scroll-fade-reveal-s;
3943
- animation-duration: 1ms;
3944
- animation-fill-mode: both;
3945
- animation-timing-function: linear;
3946
- animation-timeline: scroll(self x);
3947
- animation-range: 0 var(--scroll-fade-reveal);
3948
- }
3949
- .scroll-fade-r {
3950
- animation-name: moo-scroll-fade-reveal-e;
3951
- animation-duration: 1ms;
3952
- animation-fill-mode: both;
3953
- animation-timing-function: linear;
3954
- animation-timeline: scroll(self x);
3955
- animation-range: calc(100% - var(--scroll-fade-reveal)) 100%;
3956
- }
3957
- .scroll-fade-none {
3958
- --moo-scroll-fade-mask: none;
3959
- }
3960
- .no-scrollbar {
3961
- scrollbar-width: none;
3962
- }
3963
- .no-scrollbar::-webkit-scrollbar {
3964
- display: none;
3965
- }
3966
- .scrollbar-thin {
3967
- --moo-scrollbar-thin-size: 0.375rem;
3968
- --moo-scrollbar-thin-thumb-bg: color-mix(in srgb, var(--bs-secondary-color) 28%, transparent);
3969
- --moo-scrollbar-thin-thumb-hover-bg: color-mix(in srgb, var(--bs-secondary-color) 45%, transparent);
3970
- scrollbar-color: var(--moo-scrollbar-thin-thumb-bg) transparent;
3971
- scrollbar-width: thin;
3972
- }
3973
- .scrollbar-thin::-webkit-scrollbar {
3974
- width: var(--moo-scrollbar-thin-size);
3975
- height: var(--moo-scrollbar-thin-size);
3976
- }
3977
- .scrollbar-thin::-webkit-scrollbar-track {
3978
- background: transparent;
3979
- }
3980
- .scrollbar-thin::-webkit-scrollbar-thumb {
3981
- border-radius: var(--bs-border-radius-pill);
3982
- background-color: var(--moo-scrollbar-thin-thumb-bg);
3983
- }
3984
- .scrollbar-thin::-webkit-scrollbar-thumb:hover {
3985
- background-color: var(--moo-scrollbar-thin-thumb-hover-bg);
3986
- }
3987
- @supports not (animation-timeline: scroll()) {
3988
- .scroll-fade,
3989
- .scroll-fade-y {
3990
- --moo-scroll-fade-t: var(--moo-scroll-fade-t-size);
3991
- --moo-scroll-fade-b: var(--moo-scroll-fade-b-size);
3992
- }
3993
- .scroll-fade-x {
3994
- --moo-scroll-fade-s: var(--moo-scroll-fade-s-size);
3995
- --moo-scroll-fade-e: var(--moo-scroll-fade-e-size);
3996
- }
3997
- .scroll-fade-t {
3998
- --moo-scroll-fade-t: var(--moo-scroll-fade-t-size);
3999
- }
4000
- .scroll-fade-b {
4001
- --moo-scroll-fade-b: var(--moo-scroll-fade-b-size);
4002
- }
4003
- .scroll-fade-l,
4004
- .scroll-fade-s {
4005
- --moo-scroll-fade-s: var(--moo-scroll-fade-s-size);
4006
- }
4007
- .scroll-fade-r,
4008
- .scroll-fade-e {
4009
- --moo-scroll-fade-e: var(--moo-scroll-fade-e-size);
4010
- }
4011
- }
4012
3776
  kbd {
4013
3777
  display: inline-flex;
4014
3778
  height: 1.25rem;
@@ -4349,19 +4113,73 @@ label.btn {
4349
4113
  --bs-btn-hover-color: var(--moo-muted-foreground);
4350
4114
  text-underline-offset: 0.25rem;
4351
4115
  }
4352
- .btn-close {
4353
- --bs-btn-close-color: var(--moo-foreground);
4354
- --bs-btn-hover-color: var(--bs-btn-close-color);
4355
- --bs-btn-hover-bg: var(--moo-muted-surface);
4356
- --bs-btn-hover-border-color: transparent;
4357
- --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");
4358
- display: inline-flex;
4359
- flex: 0 0 auto;
4360
- align-items: center;
4361
- justify-content: center;
4362
- border-width: var(--bs-border-width);
4363
- border-style: var(--bs-border-style);
4364
- border-color: transparent;
4116
+ .search-trigger {
4117
+ width: 10rem;
4118
+ max-width: 100%;
4119
+ flex: 0 1 10rem;
4120
+ min-width: 0;
4121
+ justify-content: space-between;
4122
+ height: 2rem;
4123
+ padding: 0.5rem 0.75rem;
4124
+ color: var(--bs-secondary-color);
4125
+ border: var(--bs-border-width) solid transparent;
4126
+ border-radius: var(--bs-border-radius);
4127
+ background: color-mix(in srgb, var(--bs-secondary-bg) 55%, var(--bs-body-bg));
4128
+ font-size: 0.875rem;
4129
+ font-weight: 400;
4130
+ box-shadow: none;
4131
+ }
4132
+ .search-trigger:hover {
4133
+ color: var(--bs-secondary-color);
4134
+ border-color: transparent;
4135
+ background: color-mix(in srgb, var(--bs-secondary-bg) 78%, var(--bs-body-bg));
4136
+ }
4137
+ .search-trigger:focus-visible {
4138
+ color: var(--bs-secondary-color);
4139
+ border-color: transparent;
4140
+ background: color-mix(in srgb, var(--bs-secondary-bg) 78%, var(--bs-body-bg));
4141
+ }
4142
+ .search-trigger__label {
4143
+ display: inline-flex;
4144
+ min-width: 0;
4145
+ align-items: center;
4146
+ gap: 0.5rem;
4147
+ overflow: hidden;
4148
+ text-overflow: ellipsis;
4149
+ white-space: nowrap;
4150
+ }
4151
+ .search-trigger__shortcut {
4152
+ display: inline-flex;
4153
+ flex: 0 0 auto;
4154
+ align-items: center;
4155
+ gap: 0.25rem;
4156
+ margin-inline-start: auto;
4157
+ }
4158
+ @media (min-width: 992px) {
4159
+ .search-trigger {
4160
+ width: 13rem;
4161
+ flex-basis: 13rem;
4162
+ }
4163
+ }
4164
+ @media (min-width: 1400px) {
4165
+ .search-trigger {
4166
+ width: 16rem;
4167
+ flex-basis: 16rem;
4168
+ }
4169
+ }
4170
+ .btn-close {
4171
+ --bs-btn-close-color: var(--moo-foreground);
4172
+ --bs-btn-hover-color: var(--bs-btn-close-color);
4173
+ --bs-btn-hover-bg: var(--moo-muted-surface);
4174
+ --bs-btn-hover-border-color: transparent;
4175
+ --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");
4176
+ display: inline-flex;
4177
+ flex: 0 0 auto;
4178
+ align-items: center;
4179
+ justify-content: center;
4180
+ border-width: var(--bs-border-width);
4181
+ border-style: var(--bs-border-style);
4182
+ border-color: transparent;
4365
4183
  border-radius: var(--bs-border-radius-pill);
4366
4184
  color: var(--bs-btn-close-color);
4367
4185
  background-image: none;
@@ -4667,6 +4485,10 @@ label.btn {
4667
4485
  --moo-dropdown-sidebar-min-width: 14rem;
4668
4486
  min-width: max(100%, var(--moo-dropdown-sidebar-min-width));
4669
4487
  }
4488
+ [data-identity-trigger="1"] + .dropdown-menu {
4489
+ --moo-dropdown-sidebar-min-width: 14rem;
4490
+ min-width: var(--moo-dropdown-sidebar-min-width);
4491
+ }
4670
4492
  @media (max-width: 575.98px) {
4671
4493
  [data-slot="sidebar-header"] .dropend > .dropdown-menu,
4672
4494
  [data-slot="sidebar-footer"] .dropend > .dropdown-menu {
@@ -4895,73 +4717,6 @@ label.btn {
4895
4717
  .skeleton > .placeholder {
4896
4718
  display: block;
4897
4719
  }
4898
- .wrapper[data-layout="app"] {
4899
- display: flex;
4900
- width: 100%;
4901
- height: 100svh;
4902
- min-height: 0;
4903
- overflow: hidden;
4904
- }
4905
- .wrapper[data-layout="app"][data-shell-mode="contained"] {
4906
- min-height: 0;
4907
- height: 34rem;
4908
- overflow: hidden;
4909
- border: var(--bs-border-width) solid var(--moo-border);
4910
- border-radius: var(--bs-border-radius-xl);
4911
- }
4912
- .sidebar {
4913
- --moo-sidebar-width: 16rem;
4914
- --moo-sidebar-width-icon: 3rem;
4915
- --bs-offcanvas-width: var(--moo-sidebar-width);
4916
- flex: 0 0 var(--moo-sidebar-width);
4917
- width: var(--moo-sidebar-width);
4918
- color: var(--moo-sidebar-foreground);
4919
- }
4920
- .sidebar[data-side="left"] .sidebar-inner {
4921
- border-right: var(--bs-border-width) solid var(--moo-sidebar-border);
4922
- }
4923
- .sidebar[data-side="right"] {
4924
- order: 1;
4925
- }
4926
- .wrapper[data-layout="app"]:dir(rtl) > .sidebar[data-side="left"] {
4927
- order: 1;
4928
- }
4929
- .wrapper[data-layout="app"]:dir(rtl) > .sidebar[data-side="right"] {
4930
- order: 0;
4931
- }
4932
- .sidebar[data-side="right"] .sidebar-inner {
4933
- border-left: var(--bs-border-width) solid var(--moo-sidebar-border);
4934
- }
4935
- @media (min-width: 992px) {
4936
- .sidebar {
4937
- transition: flex-basis 0.2s ease, width 0.2s ease;
4938
- }
4939
- .sidebar[data-variant="floating"] .sidebar-inner {
4940
- width: auto;
4941
- height: calc(100svh - 1rem);
4942
- max-height: calc(100svh - 1rem);
4943
- margin: 0.5rem;
4944
- border: var(--bs-border-width) solid var(--moo-sidebar-border);
4945
- border-radius: var(--bs-border-radius-lg);
4946
- box-shadow: var(--bs-box-shadow-sm);
4947
- }
4948
- .wrapper[data-layout="app"][data-shell-mode="contained"] .sidebar[data-variant="floating"] .sidebar-inner {
4949
- height: calc(100% - 1rem);
4950
- max-height: calc(100% - 1rem);
4951
- }
4952
- .wrapper[data-layout="app"][data-sidebar-state="collapsed"] .sidebar[data-variant="floating"][data-collapsible="icon"] {
4953
- flex-basis: calc(var(--moo-sidebar-width-icon) + 1rem);
4954
- width: calc(var(--moo-sidebar-width-icon) + 1rem);
4955
- }
4956
- .wrapper[data-layout="app"][data-sidebar-state="collapsed"] .sidebar[data-variant="floating"][data-collapsible="icon"] .sidebar-inner {
4957
- box-shadow: var(--bs-box-shadow);
4958
- }
4959
- }
4960
- @media (prefers-reduced-motion: reduce) {
4961
- .sidebar {
4962
- transition: none;
4963
- }
4964
- }
4965
4720
  .sidebar-inner {
4966
4721
  position: sticky;
4967
4722
  top: 0;
@@ -4972,47 +4727,6 @@ label.btn {
4972
4727
  max-height: 100svh;
4973
4728
  background: var(--moo-sidebar);
4974
4729
  }
4975
- .wrapper[data-layout="app"][data-shell-mode="contained"] .sidebar-inner {
4976
- position: relative;
4977
- height: 100%;
4978
- max-height: 100%;
4979
- }
4980
- .wrapper[data-layout="app"] > [data-slot="page"] {
4981
- display: flex;
4982
- min-width: 0;
4983
- min-height: 0;
4984
- flex: 1 1 auto;
4985
- flex-direction: column;
4986
- overflow-y: auto;
4987
- }
4988
- .wrapper[data-layout="app"] > [data-slot="page"] > header,
4989
- .wrapper[data-layout="app"] > [data-slot="page"] > main,
4990
- .wrapper[data-layout="app"] > [data-slot="page"] > footer {
4991
- flex: 0 0 auto;
4992
- }
4993
- .wrapper[data-layout="app"] > [data-slot="page"] > main {
4994
- display: flex;
4995
- min-height: 0;
4996
- flex: 1 1 auto;
4997
- flex-direction: column;
4998
- }
4999
- .wrapper[data-layout="app"] > [data-slot="page"] > main > :is( .container, .container-sm, .container-md, .container-lg, .container-xl, .container-xxl, .container-fluid ) {
5000
- display: flex;
5001
- min-height: 0;
5002
- flex: 1 1 auto;
5003
- flex-direction: column;
5004
- }
5005
- @media (max-width: 991.98px) {
5006
- .wrapper[data-layout="app"][data-shell-mode="contained"] {
5007
- flex-direction: column;
5008
- height: auto;
5009
- min-height: 0;
5010
- overflow: visible;
5011
- }
5012
- .wrapper[data-layout="app"][data-shell-mode="contained"] > [data-slot="page"] {
5013
- overflow: visible;
5014
- }
5015
- }
5016
4730
  .sidebar-header,
5017
4731
  .sidebar-footer {
5018
4732
  display: flex;
@@ -5320,69 +5034,6 @@ label.btn {
5320
5034
  white-space: nowrap;
5321
5035
  }
5322
5036
  @media (min-width: 992px) {
5323
- .wrapper[data-layout="app"]:has(> .sidebar[data-variant="inset"]) {
5324
- background: var(--moo-sidebar);
5325
- }
5326
- .wrapper[data-layout="app"]:has(> .sidebar[data-variant="inset"]) > [data-slot="page"] {
5327
- margin: 0.5rem;
5328
- margin-left: 0;
5329
- border-radius: var(--bs-border-radius-xl);
5330
- box-shadow: var(--bs-box-shadow-sm);
5331
- background: var(--bs-body-bg);
5332
- }
5333
- .wrapper[data-layout="app"][data-sidebar-state="collapsed"]:has(> .sidebar[data-variant="inset"]) > [data-slot="page"] {
5334
- margin-left: 0.5rem;
5335
- }
5336
- .wrapper[data-layout="app"]:has(> .sidebar[data-variant="inset"][data-side="right"]) > [data-slot="page"] {
5337
- margin-left: 0.5rem;
5338
- margin-right: 0;
5339
- }
5340
- .wrapper[data-layout="app"][data-sidebar-state="collapsed"]:has(> .sidebar[data-variant="inset"][data-side="right"]) > [data-slot="page"] {
5341
- margin-right: 0.5rem;
5342
- }
5343
- }
5344
- .sidebar-rail {
5345
- position: absolute;
5346
- inset-block: 0;
5347
- inset-inline-end: 0;
5348
- z-index: 20;
5349
- width: 1rem;
5350
- padding: 0;
5351
- transform: translateX(50%);
5352
- border: 0;
5353
- background: transparent;
5354
- cursor: pointer;
5355
- }
5356
- .sidebar:dir(rtl) .sidebar-rail {
5357
- transform: translateX(-50%);
5358
- }
5359
- .sidebar-rail::after {
5360
- content: "";
5361
- position: absolute;
5362
- inset-block: 0;
5363
- inset-inline-start: 50%;
5364
- width: var(--bs-border-width);
5365
- background: transparent;
5366
- transition: background 0.15s ease;
5367
- }
5368
- .sidebar-rail:hover::after {
5369
- background: var(--moo-sidebar-border);
5370
- }
5371
- @media (min-width: 992px) {
5372
- .sidebar {
5373
- position: relative;
5374
- }
5375
- .wrapper[data-layout="app"]:has([data-sidebar-dropdown-positioned] > .dropdown-menu.show) > .sidebar {
5376
- position: relative;
5377
- z-index: 1031;
5378
- }
5379
- .wrapper[data-layout="app"]:has([data-sidebar-dropdown-positioned] > .dropdown-menu.show) > .sidebar > .sidebar-inner {
5380
- z-index: 1031;
5381
- }
5382
- .wrapper[data-layout="app"][data-sidebar-state="collapsed"] .sidebar[data-collapsible="icon"] {
5383
- flex-basis: var(--moo-sidebar-width-icon);
5384
- width: var(--moo-sidebar-width-icon);
5385
- }
5386
5037
  [data-sidebar-state="collapsed"] .sidebar[data-collapsible="icon"] .sidebar-group-label,
5387
5038
  [data-sidebar-state="collapsed"] .sidebar[data-collapsible="icon"] .sidebar-menu-button__text,
5388
5039
  [data-sidebar-state="collapsed"] .sidebar[data-collapsible="icon"] .sidebar-menu-button__subtitle,
@@ -5475,24 +5126,6 @@ label.btn {
5475
5126
  display: none;
5476
5127
  }
5477
5128
  }
5478
- @media (max-width: 991.98px) {
5479
- .sidebar-rail {
5480
- display: none;
5481
- }
5482
- .wrapper[data-layout="app"][data-shell-mode="contained"] .sidebar {
5483
- position: relative;
5484
- inset: auto;
5485
- flex: 0 0 auto;
5486
- width: 100%;
5487
- height: auto;
5488
- visibility: visible;
5489
- transform: none;
5490
- }
5491
- .wrapper[data-layout="app"][data-shell-mode="contained"] .sidebar-inner {
5492
- height: auto;
5493
- max-height: none;
5494
- }
5495
- }
5496
5129
  .alert {
5497
5130
  --bs-alert-border-color: var(--moo-border);
5498
5131
  --bs-alert-color: var(--moo-foreground);
@@ -6484,6 +6117,10 @@ label.btn {
6484
6117
  .field-group > hr {
6485
6118
  margin-block: 0;
6486
6119
  }
6120
+ .field-group.row {
6121
+ flex-direction: row;
6122
+ gap: 0;
6123
+ }
6487
6124
  .field-form {
6488
6125
  display: flex;
6489
6126
  flex-direction: column;
@@ -7799,13 +7436,685 @@ label.btn {
7799
7436
  .datatable--release-review {
7800
7437
  --moo-datatable-min-width: 64rem;
7801
7438
  }
7802
- :scope[data-bs-theme="light"] .form-select {
7803
- --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");
7439
+ .form-label,
7440
+ .form-check-label {
7441
+ user-select: none;
7804
7442
  }
7805
- :scope[data-bs-theme="dark"] .form-select {
7806
- --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");
7443
+ :is(.btn, a, button, summary, [tabindex]):not(input, textarea, select):focus-visible,
7444
+ :is(.form-control, .form-select, .form-check-input):focus-visible {
7445
+ border-color: var(--moo-ring);
7446
+ outline: 0;
7447
+ box-shadow: 0 0 0 3px color-mix(in srgb, var(--moo-ring) 50%, transparent);
7807
7448
  }
7808
- :scope[data-bs-theme="light"] .form-switch .form-check-input:not(:checked):not(:focus) {
7449
+ .btn:focus-visible:hover,
7450
+ .btn.show:focus-visible {
7451
+ border-color: var(--bs-btn-hover-border-color);
7452
+ box-shadow: none;
7453
+ }
7454
+ .form-control:focus:not(:focus-visible),
7455
+ .form-select:focus:not(:focus-visible) {
7456
+ border-color: var(--moo-border);
7457
+ box-shadow: none;
7458
+ }
7459
+ .page-link:focus:not(:focus-visible) {
7460
+ outline: 0;
7461
+ box-shadow: none;
7462
+ }
7463
+ .page-item:not(.active) > .page-link:focus:not(:focus-visible) {
7464
+ color: var(--bs-pagination-color);
7465
+ background-color: var(--bs-pagination-bg);
7466
+ border-color: var(--bs-pagination-border-color);
7467
+ }
7468
+ .form-control.is-invalid,
7469
+ .form-control.is-invalid:focus,
7470
+ .was-validated .form-control:invalid,
7471
+ .was-validated .form-control:invalid:focus,
7472
+ .form-select.is-invalid,
7473
+ .form-select.is-invalid:focus,
7474
+ .was-validated .form-select:invalid,
7475
+ .was-validated .form-select:invalid:focus {
7476
+ box-shadow: 0 0 0 3px var(--moo-form-invalid-ring-color);
7477
+ }
7478
+ .btn-check:focus:not(:focus-visible) + .btn {
7479
+ outline: 0;
7480
+ box-shadow: none;
7481
+ }
7482
+ .btn-check:focus-visible + .btn {
7483
+ border-color: var(--moo-ring);
7484
+ outline: 0;
7485
+ box-shadow: 0 0 0 3px color-mix(in srgb, var(--moo-ring) 50%, transparent);
7486
+ }
7487
+ .input-group > .dropdown-toggle[aria-expanded="true"]:focus-visible {
7488
+ box-shadow: none;
7489
+ }
7490
+ .combobox-chips:focus-within {
7491
+ border-color: var(--moo-ring);
7492
+ outline: 0;
7493
+ box-shadow: 0 0 0 3px color-mix(in srgb, var(--moo-ring) 50%, transparent);
7494
+ }
7495
+ .input-group:has(> .form-control:focus):not(:has(> .form-control[type="file"])) {
7496
+ border-color: var(--moo-ring);
7497
+ outline: 0;
7498
+ box-shadow: 0 0 0 3px color-mix(in srgb, var(--moo-ring) 50%, transparent);
7499
+ }
7500
+ .input-group.has-validation:not(:has(> :is(.valid-feedback, .invalid-feedback, .valid-tooltip, .invalid-tooltip))):has(> :is(.form-control, .form-select).is-invalid),
7501
+ .was-validated .input-group.has-validation:not(:has(> :is(.valid-feedback, .invalid-feedback, .valid-tooltip, .invalid-tooltip))):has(> :is(.form-control, .form-select):invalid) {
7502
+ border-color: var(--bs-form-invalid-border-color);
7503
+ box-shadow: 0 0 0 3px var(--moo-form-invalid-ring-color);
7504
+ }
7505
+ .input-group.has-validation:not(:has(> :is(.valid-feedback, .invalid-feedback, .valid-tooltip, .invalid-tooltip))) > :is(.form-control, .form-select).is-invalid,
7506
+ .was-validated .input-group.has-validation:not(:has(> :is(.valid-feedback, .invalid-feedback, .valid-tooltip, .invalid-tooltip))) > :is(.form-control, .form-select):invalid {
7507
+ box-shadow: none;
7508
+ }
7509
+ :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 ) {
7510
+ --scroll-fade-size: min(12%, 2.5rem);
7511
+ --scroll-fade-reveal: 6rem;
7512
+ --moo-scroll-fade-t-size: var(--scroll-fade-size);
7513
+ --moo-scroll-fade-b-size: var(--scroll-fade-size);
7514
+ --moo-scroll-fade-s-size: var(--scroll-fade-size);
7515
+ --moo-scroll-fade-e-size: var(--scroll-fade-size);
7516
+ --moo-scroll-fade-mask: linear-gradient(
7517
+ to bottom,
7518
+ transparent 0,
7519
+ #000 var(--moo-scroll-fade-t),
7520
+ #000 calc(100% - var(--moo-scroll-fade-b)),
7521
+ transparent 100%
7522
+ );
7523
+ mask-image: var(--moo-scroll-fade-mask);
7524
+ }
7525
+ .scroll-fade,
7526
+ .scroll-fade-y {
7527
+ animation-name: moo-scroll-fade-reveal-t, moo-scroll-fade-reveal-b;
7528
+ animation-duration: 1ms, 1ms;
7529
+ animation-fill-mode: both, both;
7530
+ animation-timing-function: linear, linear;
7531
+ animation-timeline: scroll(self y), scroll(self y);
7532
+ animation-range: 0 var(--scroll-fade-reveal), calc(100% - var(--scroll-fade-reveal)) 100%;
7533
+ }
7534
+ .scroll-fade-t {
7535
+ animation-name: moo-scroll-fade-reveal-t;
7536
+ animation-duration: 1ms;
7537
+ animation-fill-mode: both;
7538
+ animation-timing-function: linear;
7539
+ animation-timeline: scroll(self y);
7540
+ animation-range: 0 var(--scroll-fade-reveal);
7541
+ }
7542
+ .scroll-fade-b {
7543
+ animation-name: moo-scroll-fade-reveal-b;
7544
+ animation-duration: 1ms;
7545
+ animation-fill-mode: both;
7546
+ animation-timing-function: linear;
7547
+ animation-timeline: scroll(self y);
7548
+ animation-range: calc(100% - var(--scroll-fade-reveal)) 100%;
7549
+ }
7550
+ .scroll-fade-x,
7551
+ .scroll-fade-s,
7552
+ .scroll-fade-e {
7553
+ --moo-scroll-fade-mask: linear-gradient(
7554
+ to right,
7555
+ transparent 0,
7556
+ #000 var(--moo-scroll-fade-s),
7557
+ #000 calc(100% - var(--moo-scroll-fade-e)),
7558
+ transparent 100%
7559
+ );
7560
+ }
7561
+ .scroll-fade-x {
7562
+ animation-name: moo-scroll-fade-reveal-s, moo-scroll-fade-reveal-e;
7563
+ animation-duration: 1ms, 1ms;
7564
+ animation-fill-mode: both, both;
7565
+ animation-timing-function: linear, linear;
7566
+ animation-timeline: scroll(self inline), scroll(self inline);
7567
+ animation-range: 0 var(--scroll-fade-reveal), calc(100% - var(--scroll-fade-reveal)) 100%;
7568
+ }
7569
+ .scroll-fade-s {
7570
+ animation-name: moo-scroll-fade-reveal-s;
7571
+ animation-duration: 1ms;
7572
+ animation-fill-mode: both;
7573
+ animation-timing-function: linear;
7574
+ animation-timeline: scroll(self inline);
7575
+ animation-range: 0 var(--scroll-fade-reveal);
7576
+ }
7577
+ .scroll-fade-e {
7578
+ animation-name: moo-scroll-fade-reveal-e;
7579
+ animation-duration: 1ms;
7580
+ animation-fill-mode: both;
7581
+ animation-timing-function: linear;
7582
+ animation-timeline: scroll(self inline);
7583
+ animation-range: calc(100% - var(--scroll-fade-reveal)) 100%;
7584
+ }
7585
+ .scroll-fade-x:where([dir="rtl"], [dir="rtl"] *),
7586
+ .scroll-fade-s:where([dir="rtl"], [dir="rtl"] *),
7587
+ .scroll-fade-e:where([dir="rtl"], [dir="rtl"] *) {
7588
+ --moo-scroll-fade-mask: linear-gradient(
7589
+ to left,
7590
+ transparent 0,
7591
+ #000 var(--moo-scroll-fade-s),
7592
+ #000 calc(100% - var(--moo-scroll-fade-e)),
7593
+ transparent 100%
7594
+ );
7595
+ }
7596
+ .scroll-fade-l,
7597
+ .scroll-fade-r {
7598
+ --moo-scroll-fade-mask: linear-gradient(
7599
+ to right,
7600
+ transparent 0,
7601
+ #000 var(--moo-scroll-fade-s),
7602
+ #000 calc(100% - var(--moo-scroll-fade-e)),
7603
+ transparent 100%
7604
+ );
7605
+ }
7606
+ .scroll-fade-l {
7607
+ animation-name: moo-scroll-fade-reveal-s;
7608
+ animation-duration: 1ms;
7609
+ animation-fill-mode: both;
7610
+ animation-timing-function: linear;
7611
+ animation-timeline: scroll(self x);
7612
+ animation-range: 0 var(--scroll-fade-reveal);
7613
+ }
7614
+ .scroll-fade-r {
7615
+ animation-name: moo-scroll-fade-reveal-e;
7616
+ animation-duration: 1ms;
7617
+ animation-fill-mode: both;
7618
+ animation-timing-function: linear;
7619
+ animation-timeline: scroll(self x);
7620
+ animation-range: calc(100% - var(--scroll-fade-reveal)) 100%;
7621
+ }
7622
+ .scroll-fade-none {
7623
+ --moo-scroll-fade-mask: none;
7624
+ }
7625
+ .no-scrollbar {
7626
+ scrollbar-width: none;
7627
+ }
7628
+ .no-scrollbar::-webkit-scrollbar {
7629
+ display: none;
7630
+ }
7631
+ .scrollbar-thin {
7632
+ --moo-scrollbar-thin-size: 0.375rem;
7633
+ --moo-scrollbar-thin-thumb-bg: color-mix(in srgb, var(--bs-secondary-color) 28%, transparent);
7634
+ --moo-scrollbar-thin-thumb-hover-bg: color-mix(in srgb, var(--bs-secondary-color) 45%, transparent);
7635
+ scrollbar-color: var(--moo-scrollbar-thin-thumb-bg) transparent;
7636
+ scrollbar-width: thin;
7637
+ }
7638
+ .scrollbar-thin::-webkit-scrollbar {
7639
+ width: var(--moo-scrollbar-thin-size);
7640
+ height: var(--moo-scrollbar-thin-size);
7641
+ }
7642
+ .scrollbar-thin::-webkit-scrollbar-track {
7643
+ background: transparent;
7644
+ }
7645
+ .scrollbar-thin::-webkit-scrollbar-thumb {
7646
+ border-radius: var(--bs-border-radius-pill);
7647
+ background-color: var(--moo-scrollbar-thin-thumb-bg);
7648
+ }
7649
+ .scrollbar-thin::-webkit-scrollbar-thumb:hover {
7650
+ background-color: var(--moo-scrollbar-thin-thumb-hover-bg);
7651
+ }
7652
+ @supports not (animation-timeline: scroll()) {
7653
+ .scroll-fade,
7654
+ .scroll-fade-y {
7655
+ --moo-scroll-fade-t: var(--moo-scroll-fade-t-size);
7656
+ --moo-scroll-fade-b: var(--moo-scroll-fade-b-size);
7657
+ }
7658
+ .scroll-fade-x {
7659
+ --moo-scroll-fade-s: var(--moo-scroll-fade-s-size);
7660
+ --moo-scroll-fade-e: var(--moo-scroll-fade-e-size);
7661
+ }
7662
+ .scroll-fade-t {
7663
+ --moo-scroll-fade-t: var(--moo-scroll-fade-t-size);
7664
+ }
7665
+ .scroll-fade-b {
7666
+ --moo-scroll-fade-b: var(--moo-scroll-fade-b-size);
7667
+ }
7668
+ .scroll-fade-l,
7669
+ .scroll-fade-s {
7670
+ --moo-scroll-fade-s: var(--moo-scroll-fade-s-size);
7671
+ }
7672
+ .scroll-fade-r,
7673
+ .scroll-fade-e {
7674
+ --moo-scroll-fade-e: var(--moo-scroll-fade-e-size);
7675
+ }
7676
+ }
7677
+ .sidebar {
7678
+ --moo-sidebar-width: 16rem;
7679
+ --moo-sidebar-width-icon: 3rem;
7680
+ --bs-offcanvas-width: var(--moo-sidebar-width);
7681
+ flex: 0 0 var(--moo-sidebar-width);
7682
+ width: var(--moo-sidebar-width);
7683
+ color: var(--moo-sidebar-foreground);
7684
+ }
7685
+ .sidebar-rail {
7686
+ position: absolute;
7687
+ inset-block: 0;
7688
+ inset-inline-end: 0;
7689
+ z-index: 20;
7690
+ width: 1rem;
7691
+ padding: 0;
7692
+ transform: translateX(50%);
7693
+ border: 0;
7694
+ background: transparent;
7695
+ cursor: pointer;
7696
+ }
7697
+ .sidebar:dir(rtl) .sidebar-rail {
7698
+ transform: translateX(-50%);
7699
+ }
7700
+ .sidebar-rail::after {
7701
+ content: "";
7702
+ position: absolute;
7703
+ inset-block: 0;
7704
+ inset-inline-start: 50%;
7705
+ width: var(--bs-border-width);
7706
+ background: transparent;
7707
+ transition: background 0.15s ease;
7708
+ }
7709
+ .sidebar-rail:hover::after {
7710
+ background: var(--moo-sidebar-border);
7711
+ }
7712
+ .wrapper[data-layout="app"][data-shell-mode="contained"] .sidebar-inner {
7713
+ position: relative;
7714
+ height: 100%;
7715
+ max-height: 100%;
7716
+ }
7717
+ @media (min-width: 992px) {
7718
+ .sidebar {
7719
+ position: relative;
7720
+ }
7721
+ .sidebar.offcanvas-lg[data-collapsible="offcanvas"] {
7722
+ visibility: visible;
7723
+ transform: none;
7724
+ }
7725
+ .wrapper[data-layout="app"][data-sidebar-state="collapsed"] > .sidebar.offcanvas-lg[data-collapsible="offcanvas"] {
7726
+ flex-basis: 0;
7727
+ width: 0;
7728
+ overflow: hidden;
7729
+ visibility: hidden;
7730
+ }
7731
+ .wrapper[data-layout="app"]:has([data-sidebar-dropdown-positioned] > .dropdown-menu.show) > .sidebar {
7732
+ position: relative;
7733
+ z-index: 1031;
7734
+ }
7735
+ .wrapper[data-layout="app"]:has([data-sidebar-dropdown-positioned] > .dropdown-menu.show) > .sidebar > .sidebar-inner {
7736
+ z-index: 1031;
7737
+ }
7738
+ .wrapper[data-layout="app"][data-sidebar-state="collapsed"] .sidebar[data-collapsible="icon"] {
7739
+ flex-basis: var(--moo-sidebar-width-icon);
7740
+ width: var(--moo-sidebar-width-icon);
7741
+ }
7742
+ }
7743
+ @media (max-width: 991.98px) {
7744
+ .sidebar-rail {
7745
+ display: none;
7746
+ }
7747
+ .wrapper[data-layout="app"][data-shell-mode="contained"] .sidebar {
7748
+ position: relative;
7749
+ inset: auto;
7750
+ flex: 0 0 auto;
7751
+ width: 100%;
7752
+ height: auto;
7753
+ visibility: visible;
7754
+ transform: none;
7755
+ }
7756
+ .wrapper[data-layout="app"][data-shell-mode="contained"] .sidebar-inner {
7757
+ height: auto;
7758
+ max-height: none;
7759
+ }
7760
+ }
7761
+ .sidebar[data-side="left"]:not([data-variant="inset"]) .sidebar-inner {
7762
+ border-right: var(--bs-border-width) solid var(--moo-sidebar-border);
7763
+ }
7764
+ .sidebar[data-side="right"] {
7765
+ order: 1;
7766
+ }
7767
+ .wrapper[data-layout="app"]:dir(rtl) > .sidebar[data-side="left"] {
7768
+ order: 1;
7769
+ }
7770
+ .wrapper[data-layout="app"]:dir(rtl) > .sidebar[data-side="right"] {
7771
+ order: 0;
7772
+ }
7773
+ .sidebar[data-side="right"]:not([data-variant="inset"]) .sidebar-inner {
7774
+ border-left: var(--bs-border-width) solid var(--moo-sidebar-border);
7775
+ }
7776
+ @media (min-width: 992px) {
7777
+ :where(.wrapper[data-layout="app"][data-sidebar-ready]) > .sidebar {
7778
+ transition: flex-basis 0.2s ease, width 0.2s ease;
7779
+ }
7780
+ .sidebar[data-variant="floating"] .sidebar-inner {
7781
+ width: auto;
7782
+ height: calc(100svh - 1rem);
7783
+ max-height: calc(100svh - 1rem);
7784
+ margin: 0.5rem;
7785
+ border: var(--bs-border-width) solid var(--moo-sidebar-border);
7786
+ border-radius: var(--bs-border-radius-lg);
7787
+ box-shadow: var(--bs-box-shadow-sm);
7788
+ }
7789
+ .wrapper[data-layout="app"][data-shell-mode="contained"] .sidebar[data-variant="floating"] .sidebar-inner {
7790
+ height: calc(100% - 1rem);
7791
+ max-height: calc(100% - 1rem);
7792
+ }
7793
+ .wrapper[data-layout="app"][data-sidebar-state="collapsed"] .sidebar[data-variant="floating"][data-collapsible="icon"] {
7794
+ flex-basis: calc(var(--moo-sidebar-width-icon) + 1rem);
7795
+ width: calc(var(--moo-sidebar-width-icon) + 1rem);
7796
+ }
7797
+ .wrapper[data-layout="app"][data-sidebar-state="collapsed"] .sidebar[data-variant="floating"][data-collapsible="icon"] .sidebar-inner {
7798
+ box-shadow: var(--bs-box-shadow);
7799
+ }
7800
+ }
7801
+ @media (prefers-reduced-motion: reduce) {
7802
+ .sidebar {
7803
+ transition: none;
7804
+ }
7805
+ }
7806
+ @media (min-width: 992px) {
7807
+ .wrapper[data-layout="app"]:has(> .sidebar[data-variant="inset"]) {
7808
+ background: var(--moo-sidebar);
7809
+ }
7810
+ .wrapper[data-layout="app"]:has(> .sidebar[data-variant="inset"]) > [data-slot="page"] {
7811
+ margin: 0.5rem;
7812
+ margin-left: 0;
7813
+ border-radius: var(--bs-border-radius-xl);
7814
+ box-shadow: var(--bs-box-shadow-sm);
7815
+ background: var(--bs-body-bg);
7816
+ }
7817
+ .wrapper[data-layout="app"]:has(> .sidebar[data-variant="inset"]) > [data-slot="page"] > header {
7818
+ border-top-left-radius: inherit;
7819
+ border-top-right-radius: inherit;
7820
+ }
7821
+ .wrapper[data-layout="app"][data-sidebar-state="collapsed"]:has(> .sidebar[data-variant="inset"]) > [data-slot="page"] {
7822
+ margin-left: 0.5rem;
7823
+ }
7824
+ .wrapper[data-layout="app"]:has(> .sidebar[data-variant="inset"][data-side="right"]) > [data-slot="page"] {
7825
+ margin-left: 0.5rem;
7826
+ margin-right: 0;
7827
+ }
7828
+ .wrapper[data-layout="app"][data-sidebar-state="collapsed"]:has(> .sidebar[data-variant="inset"][data-side="right"]) > [data-slot="page"] {
7829
+ margin-right: 0.5rem;
7830
+ }
7831
+ }
7832
+ .wrapper[data-layout="app"] {
7833
+ display: flex;
7834
+ width: 100%;
7835
+ height: 100svh;
7836
+ min-height: 0;
7837
+ overflow: hidden;
7838
+ }
7839
+ .wrapper[data-layout="app"][data-shell-mode="contained"] {
7840
+ min-height: 0;
7841
+ height: 34rem;
7842
+ overflow: hidden;
7843
+ border: var(--bs-border-width) solid var(--moo-border);
7844
+ border-radius: var(--bs-border-radius-xl);
7845
+ }
7846
+ .wrapper[data-layout="app"] > [data-slot="page"] {
7847
+ display: flex;
7848
+ min-width: 0;
7849
+ min-height: 0;
7850
+ flex: 1 1 auto;
7851
+ flex-direction: column;
7852
+ }
7853
+ .wrapper[data-layout="app"] > [data-slot="page"] > header,
7854
+ .wrapper[data-layout="app"] > [data-slot="page"] > main,
7855
+ .wrapper[data-layout="app"] > [data-slot="page"] > footer {
7856
+ flex: 0 0 auto;
7857
+ }
7858
+ .wrapper[data-layout="app"] > [data-slot="page"] > main {
7859
+ display: flex;
7860
+ min-height: 0;
7861
+ flex: 1 1 auto;
7862
+ flex-direction: column;
7863
+ overflow-y: auto;
7864
+ }
7865
+ .wrapper[data-layout="app"] > [data-slot="page"] > main > :is( .container, .container-sm, .container-md, .container-lg, .container-xl, .container-xxl, .container-fluid ) {
7866
+ display: flex;
7867
+ min-height: 0;
7868
+ flex: 1 1 auto;
7869
+ flex-direction: column;
7870
+ }
7871
+ @media (max-width: 991.98px) {
7872
+ .wrapper[data-layout="app"][data-shell-mode="contained"] {
7873
+ flex-direction: column;
7874
+ height: auto;
7875
+ min-height: 0;
7876
+ overflow: visible;
7877
+ }
7878
+ .wrapper[data-layout="app"][data-shell-mode="contained"] > [data-slot="page"] {
7879
+ overflow: visible;
7880
+ }
7881
+ .wrapper[data-layout="app"][data-shell-mode="contained"] > [data-slot="page"] > main {
7882
+ overflow: visible;
7883
+ }
7884
+ }
7885
+ [data-page-container] {
7886
+ container: moo-page / inline-size;
7887
+ }
7888
+ [data-page-container] [data-page-show-from] {
7889
+ display: none !important;
7890
+ }
7891
+ @container moo-page (min-width: 576px) {
7892
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-sm="1"] {
7893
+ width: 8.33333%;
7894
+ }
7895
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-sm="2"] {
7896
+ width: 16.66667%;
7897
+ }
7898
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-sm="3"] {
7899
+ width: 25%;
7900
+ }
7901
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-sm="4"] {
7902
+ width: 33.33333%;
7903
+ }
7904
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-sm="5"] {
7905
+ width: 41.66667%;
7906
+ }
7907
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-sm="6"] {
7908
+ width: 50%;
7909
+ }
7910
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-sm="7"] {
7911
+ width: 58.33333%;
7912
+ }
7913
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-sm="8"] {
7914
+ width: 66.66667%;
7915
+ }
7916
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-sm="9"] {
7917
+ width: 75%;
7918
+ }
7919
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-sm="10"] {
7920
+ width: 83.33333%;
7921
+ }
7922
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-sm="11"] {
7923
+ width: 91.66667%;
7924
+ }
7925
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-sm="12"] {
7926
+ width: 100%;
7927
+ }
7928
+ [data-page-container] [data-page-show-from="sm"] {
7929
+ display: block !important;
7930
+ }
7931
+ [data-page-container] [data-page-hide-from="sm"] {
7932
+ display: none !important;
7933
+ }
7934
+ }
7935
+ @container moo-page (min-width: 768px) {
7936
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-md="1"] {
7937
+ width: 8.33333%;
7938
+ }
7939
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-md="2"] {
7940
+ width: 16.66667%;
7941
+ }
7942
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-md="3"] {
7943
+ width: 25%;
7944
+ }
7945
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-md="4"] {
7946
+ width: 33.33333%;
7947
+ }
7948
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-md="5"] {
7949
+ width: 41.66667%;
7950
+ }
7951
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-md="6"] {
7952
+ width: 50%;
7953
+ }
7954
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-md="7"] {
7955
+ width: 58.33333%;
7956
+ }
7957
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-md="8"] {
7958
+ width: 66.66667%;
7959
+ }
7960
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-md="9"] {
7961
+ width: 75%;
7962
+ }
7963
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-md="10"] {
7964
+ width: 83.33333%;
7965
+ }
7966
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-md="11"] {
7967
+ width: 91.66667%;
7968
+ }
7969
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-md="12"] {
7970
+ width: 100%;
7971
+ }
7972
+ [data-page-container] [data-page-show-from="md"] {
7973
+ display: block !important;
7974
+ }
7975
+ [data-page-container] [data-page-hide-from="md"] {
7976
+ display: none !important;
7977
+ }
7978
+ }
7979
+ @container moo-page (min-width: 992px) {
7980
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-lg="1"] {
7981
+ width: 8.33333%;
7982
+ }
7983
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-lg="2"] {
7984
+ width: 16.66667%;
7985
+ }
7986
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-lg="3"] {
7987
+ width: 25%;
7988
+ }
7989
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-lg="4"] {
7990
+ width: 33.33333%;
7991
+ }
7992
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-lg="5"] {
7993
+ width: 41.66667%;
7994
+ }
7995
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-lg="6"] {
7996
+ width: 50%;
7997
+ }
7998
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-lg="7"] {
7999
+ width: 58.33333%;
8000
+ }
8001
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-lg="8"] {
8002
+ width: 66.66667%;
8003
+ }
8004
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-lg="9"] {
8005
+ width: 75%;
8006
+ }
8007
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-lg="10"] {
8008
+ width: 83.33333%;
8009
+ }
8010
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-lg="11"] {
8011
+ width: 91.66667%;
8012
+ }
8013
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-lg="12"] {
8014
+ width: 100%;
8015
+ }
8016
+ [data-page-container] [data-page-show-from="lg"] {
8017
+ display: block !important;
8018
+ }
8019
+ [data-page-container] [data-page-hide-from="lg"] {
8020
+ display: none !important;
8021
+ }
8022
+ }
8023
+ @container moo-page (min-width: 1200px) {
8024
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-xl="1"] {
8025
+ width: 8.33333%;
8026
+ }
8027
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-xl="2"] {
8028
+ width: 16.66667%;
8029
+ }
8030
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-xl="3"] {
8031
+ width: 25%;
8032
+ }
8033
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-xl="4"] {
8034
+ width: 33.33333%;
8035
+ }
8036
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-xl="5"] {
8037
+ width: 41.66667%;
8038
+ }
8039
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-xl="6"] {
8040
+ width: 50%;
8041
+ }
8042
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-xl="7"] {
8043
+ width: 58.33333%;
8044
+ }
8045
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-xl="8"] {
8046
+ width: 66.66667%;
8047
+ }
8048
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-xl="9"] {
8049
+ width: 75%;
8050
+ }
8051
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-xl="10"] {
8052
+ width: 83.33333%;
8053
+ }
8054
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-xl="11"] {
8055
+ width: 91.66667%;
8056
+ }
8057
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-xl="12"] {
8058
+ width: 100%;
8059
+ }
8060
+ [data-page-container] [data-page-show-from="xl"] {
8061
+ display: block !important;
8062
+ }
8063
+ [data-page-container] [data-page-hide-from="xl"] {
8064
+ display: none !important;
8065
+ }
8066
+ }
8067
+ @container moo-page (min-width: 1400px) {
8068
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-xxl="1"] {
8069
+ width: 8.33333%;
8070
+ }
8071
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-xxl="2"] {
8072
+ width: 16.66667%;
8073
+ }
8074
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-xxl="3"] {
8075
+ width: 25%;
8076
+ }
8077
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-xxl="4"] {
8078
+ width: 33.33333%;
8079
+ }
8080
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-xxl="5"] {
8081
+ width: 41.66667%;
8082
+ }
8083
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-xxl="6"] {
8084
+ width: 50%;
8085
+ }
8086
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-xxl="7"] {
8087
+ width: 58.33333%;
8088
+ }
8089
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-xxl="8"] {
8090
+ width: 66.66667%;
8091
+ }
8092
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-xxl="9"] {
8093
+ width: 75%;
8094
+ }
8095
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-xxl="10"] {
8096
+ width: 83.33333%;
8097
+ }
8098
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-xxl="11"] {
8099
+ width: 91.66667%;
8100
+ }
8101
+ [data-page-container] .row[data-layout="page-grid"] > [data-page-col-xxl="12"] {
8102
+ width: 100%;
8103
+ }
8104
+ [data-page-container] [data-page-show-from="xxl"] {
8105
+ display: block !important;
8106
+ }
8107
+ [data-page-container] [data-page-hide-from="xxl"] {
8108
+ display: none !important;
8109
+ }
8110
+ }
8111
+ :scope[data-bs-theme="light"] .form-select {
8112
+ --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");
8113
+ }
8114
+ :scope[data-bs-theme="dark"] .form-select {
8115
+ --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");
8116
+ }
8117
+ :scope[data-bs-theme="light"] .form-switch .form-check-input:not(:checked):not(:focus) {
7809
8118
  --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");
7810
8119
  }
7811
8120
  :scope[data-bs-theme="dark"] .form-switch .form-check-input:not(:checked):not(:focus) {
@@ -7847,4 +8156,7 @@ label.btn {
7847
8156
  .offcanvas-backdrop.show::before {
7848
8157
  animation: moo-overlay-backdrop-enter var(--moo-overlay-motion-duration, 0.3s) ease-out both;
7849
8158
  }
8159
+ :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) {
8160
+ font-family: var(--moo-heading-font-family, var(--bs-body-font-family));
8161
+ }
7850
8162
  }