@wpmoo/ui 0.1.1 → 0.2.1

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.
@@ -430,6 +430,7 @@ caption {
430
430
  }
431
431
 
432
432
  th {
433
+ font-weight: 500;
433
434
  text-align: inherit;
434
435
  text-align: -webkit-match-parent;
435
436
  }
@@ -2207,7 +2208,7 @@ progress {
2207
2208
  }
2208
2209
 
2209
2210
  .form-control:disabled {
2210
- background-color: var(--bs-secondary-bg);
2211
+ background-color: color-mix(in srgb, var(--moo-border) 40%, transparent);
2211
2212
  opacity: 1;
2212
2213
  }
2213
2214
 
@@ -2233,7 +2234,7 @@ progress {
2233
2234
  }
2234
2235
 
2235
2236
  .form-control:hover:not(:disabled):not([readonly])::file-selector-button {
2236
- background-color: var(--bs-secondary-bg);
2237
+ background-color: var(--moo-border);
2237
2238
  }
2238
2239
 
2239
2240
  .form-control-plaintext {
@@ -2367,7 +2368,7 @@ textarea.form-control-lg {
2367
2368
  }
2368
2369
 
2369
2370
  .form-select:disabled {
2370
- background-color: var(--bs-secondary-bg);
2371
+ background-color: color-mix(in srgb, var(--moo-border) 40%, transparent);
2371
2372
  }
2372
2373
 
2373
2374
  .form-select:-moz-focusring {
@@ -2747,7 +2748,7 @@ textarea.form-control-lg {
2747
2748
 
2748
2749
  .form-floating > :disabled ~ label::after,
2749
2750
  .form-floating > .form-control:disabled ~ label::after {
2750
- background-color: var(--bs-secondary-bg);
2751
+ background-color: color-mix(in srgb, var(--moo-border) 40%, transparent);
2751
2752
  }
2752
2753
 
2753
2754
  .input-group {
@@ -4932,7 +4933,7 @@ textarea.form-control-lg {
4932
4933
  float: left;
4933
4934
  padding-right: var(--bs-breadcrumb-item-padding-x);
4934
4935
  color: var(--bs-breadcrumb-divider-color);
4935
- content: var(--bs-breadcrumb-divider, ">") /* rtl: var(--bs-breadcrumb-divider, ">") */;
4936
+ content: var(--bs-breadcrumb-divider, ">") /* rtl: var(--bs-breadcrumb-divider, "<") */;
4936
4937
  }
4937
4938
 
4938
4939
  .breadcrumb-item.active {
@@ -5044,7 +5045,7 @@ textarea.form-control-lg {
5044
5045
  --bs-badge-padding-x: 0.65em;
5045
5046
  --bs-badge-padding-y: 0.35em;
5046
5047
  --bs-badge-font-size: 0.75em;
5047
- --bs-badge-font-weight: 700;
5048
+ --bs-badge-font-weight: 500;
5048
5049
  --bs-badge-color: #fff;
5049
5050
  --bs-badge-border-radius: var(--bs-border-radius);
5050
5051
  display: inline-block;
@@ -12313,6 +12314,10 @@ textarea.form-control-lg {
12313
12314
  --moo-ring: #18181b;
12314
12315
  --moo-destructive: #dc2626;
12315
12316
  --moo-destructive-foreground: #fff;
12317
+ --moo-overlay-backdrop-opacity: 1;
12318
+ --moo-overlay-backdrop-bg: color-mix(in srgb, var(--bs-black) 10%, transparent);
12319
+ --moo-overlay-backdrop-filter: blur(8px);
12320
+ --moo-input-group-border-radius: var(--bs-border-radius-lg);
12316
12321
  --moo-sidebar: #fafafa;
12317
12322
  --moo-sidebar-foreground: var(--moo-foreground);
12318
12323
  --moo-sidebar-accent: var(--moo-muted-surface);
@@ -12332,6 +12337,10 @@ textarea.form-control-lg {
12332
12337
  --moo-ring: #fafafa;
12333
12338
  --moo-destructive: #f87171;
12334
12339
  --moo-destructive-foreground: #18181b;
12340
+ --moo-overlay-backdrop-opacity: 1;
12341
+ --moo-overlay-backdrop-bg: color-mix(in srgb, var(--bs-black) 10%, transparent);
12342
+ --moo-overlay-backdrop-filter: blur(8px);
12343
+ --moo-input-group-border-radius: var(--bs-border-radius-lg);
12335
12344
  --moo-sidebar: #1c1c1f;
12336
12345
  --moo-sidebar-foreground: var(--moo-foreground);
12337
12346
  --moo-sidebar-accent: var(--moo-muted-surface);
@@ -12348,6 +12357,12 @@ textarea.form-control-lg {
12348
12357
  box-shadow: none;
12349
12358
  }
12350
12359
 
12360
+ .btn-check:focus-visible + .btn {
12361
+ outline: var(--bs-focus-ring-width) solid var(--moo-ring);
12362
+ outline-offset: var(--bs-focus-ring-width);
12363
+ box-shadow: none;
12364
+ }
12365
+
12351
12366
  .input-group > .dropdown-toggle[aria-expanded="true"]:focus-visible {
12352
12367
  outline: 0;
12353
12368
  }
@@ -12589,17 +12604,20 @@ textarea.form-control:not(.form-control-sm, .form-control-lg) {
12589
12604
  padding: 0.5rem 0.75rem;
12590
12605
  }
12591
12606
 
12592
- .input-group {
12607
+ .input-group:not(:has(> .form-control[type="file"])) {
12593
12608
  border: var(--bs-border-width) solid var(--moo-border);
12594
- border-radius: 0.625rem;
12609
+ border-radius: var(--moo-input-group-border-radius);
12595
12610
  }
12596
12611
 
12597
- .input-group:not(:has(textarea)) {
12598
- align-items: center;
12599
- height: 2rem;
12612
+ .input-group.rounded-pill:not(:has(> .form-control[type="file"])) {
12613
+ --moo-input-group-border-radius: var(--bs-border-radius-pill);
12614
+ }
12615
+
12616
+ .input-group:not(:has(textarea)):not(:has(> .form-control[type="file"])) {
12617
+ height: calc(2rem + var(--bs-border-width) * 2);
12600
12618
  }
12601
12619
 
12602
- .input-group:not(:has(textarea)) > .form-control {
12620
+ .input-group:not(:has(textarea)):not(:has(> .form-control[type="file"])) > .form-control {
12603
12621
  min-height: 0;
12604
12622
  }
12605
12623
 
@@ -12607,19 +12625,75 @@ textarea.form-control:not(.form-control-sm, .form-control-lg) {
12607
12625
  resize: none;
12608
12626
  }
12609
12627
 
12610
- .input-group > :not(:first-child):not([class~="dropdown-menu"]):not([class~="valid-tooltip"]):not([class~="valid-feedback"]):not([class~="invalid-tooltip"]):not([class~="invalid-feedback"]) {
12628
+ .input-group:not(:has(> .form-control[type="file"])) > :not(:first-child):not([class~="dropdown-menu"]):not([class~="valid-tooltip"]):not([class~="valid-feedback"]):not([class~="invalid-tooltip"]):not([class~="invalid-feedback"]) {
12611
12629
  margin: 0;
12612
12630
  }
12613
12631
 
12614
- .input-group > :not(ul) {
12632
+ .input-group:not(:has(> .form-control[type="file"])) > :not(ul) {
12615
12633
  border: 0;
12616
12634
  border-radius: 0;
12617
12635
  }
12618
12636
 
12637
+ .input-group:not(:has(> .form-control[type="file"])) > :first-child:not(ul) {
12638
+ border-start-start-radius: var(--moo-input-group-border-radius);
12639
+ border-end-start-radius: var(--moo-input-group-border-radius);
12640
+ }
12641
+
12642
+ .input-group:not(:has(> .form-control[type="file"])) > :is(:last-child, :nth-last-child(2):has(+ .dropdown-menu)):not(ul) {
12643
+ border-start-end-radius: var(--moo-input-group-border-radius);
12644
+ border-end-end-radius: var(--moo-input-group-border-radius);
12645
+ }
12646
+
12619
12647
  .input-group > :is(button, a) {
12620
12648
  border: var(--bs-btn-border-width) var(--bs-border-style) var(--bs-btn-border-color);
12621
12649
  }
12622
12650
 
12651
+ .input-group > .btn-ghost {
12652
+ --bs-btn-hover-bg: transparent;
12653
+ --bs-btn-active-bg: transparent;
12654
+ position: relative;
12655
+ isolation: isolate;
12656
+ border-radius: var(--moo-input-group-border-radius) !important;
12657
+ }
12658
+
12659
+ .input-group > .btn-ghost::before {
12660
+ position: absolute;
12661
+ inset: 0.25rem;
12662
+ z-index: -1;
12663
+ content: "";
12664
+ border-radius: var(--moo-input-group-border-radius);
12665
+ background-color: var(--moo-muted-surface);
12666
+ opacity: 0;
12667
+ transition: opacity opacity 0.15s linear;
12668
+ }
12669
+
12670
+ .input-group > .btn-ghost:hover::before,
12671
+ .input-group > .btn-ghost:is(.show, [aria-expanded="true"])::before {
12672
+ opacity: 1;
12673
+ }
12674
+
12675
+ .input-group > .btn-ghost:is(.show, [aria-expanded="true"]) {
12676
+ color: var(--bs-btn-active-color);
12677
+ }
12678
+
12679
+ .input-group > .btn-ghost[aria-pressed="true"] {
12680
+ color: var(--bs-primary);
12681
+ }
12682
+
12683
+ .input-group > .btn-ghost[aria-pressed="true"]::before {
12684
+ opacity: 0;
12685
+ }
12686
+
12687
+ .input-group > .btn:not(:disabled):not(.disabled):not([aria-disabled="true"]):active {
12688
+ transform: none;
12689
+ }
12690
+
12691
+ .input-group > :is(.btn-xs, .btn-icon-xs) {
12692
+ --bs-btn-padding-y: 0.125rem;
12693
+ --bs-btn-padding-x: 0.375rem;
12694
+ --bs-btn-line-height: 0.875rem;
12695
+ }
12696
+
12623
12697
  .input-group > .input-group-text {
12624
12698
  color: var(--bs-secondary-color);
12625
12699
  background-color: transparent;
@@ -12671,12 +12745,12 @@ textarea.form-control:not(.form-control-sm, .form-control-lg) {
12671
12745
  background-color: transparent;
12672
12746
  }
12673
12747
 
12674
- .input-group:has(> .form-control:focus) {
12748
+ .input-group:has(> .form-control:focus):not(:has(> .form-control[type="file"])) {
12675
12749
  border-color: #8b8b8b;
12676
12750
  box-shadow: 0 0 0 2px rgba(23, 23, 23, 0.25);
12677
12751
  }
12678
12752
 
12679
- .input-group > :focus {
12753
+ .input-group:not(:has(> .form-control[type="file"])) > :focus {
12680
12754
  outline: 0;
12681
12755
  box-shadow: none;
12682
12756
  }
@@ -12846,6 +12920,8 @@ label.btn {
12846
12920
  --bs-btn-bg: transparent;
12847
12921
  --bs-btn-hover-bg: var(--moo-muted-surface);
12848
12922
  --bs-btn-hover-border-color: transparent;
12923
+ --bs-btn-active-bg: var(--bs-btn-hover-bg);
12924
+ --bs-btn-active-color: var(--bs-btn-color);
12849
12925
  --bs-btn-active-border-color: transparent;
12850
12926
  }
12851
12927
 
@@ -12895,6 +12971,12 @@ label.btn {
12895
12971
  border-bottom: 0;
12896
12972
  }
12897
12973
 
12974
+ .card-header,
12975
+ .card-body,
12976
+ .card-footer {
12977
+ padding-block: 0;
12978
+ }
12979
+
12898
12980
  .card-footer {
12899
12981
  display: flex;
12900
12982
  align-items: center;
@@ -12979,27 +13061,113 @@ label.btn {
12979
13061
  }
12980
13062
  }
12981
13063
 
13064
+ .menubar {
13065
+ gap: 0.125rem;
13066
+ padding: 0.1875rem;
13067
+ }
13068
+
13069
+ .menubar .dropdown-menu {
13070
+ z-index: 1000;
13071
+ }
13072
+
13073
+ .menubar [data-bs-toggle="dropdown"].show,
13074
+ .menubar .dropdown-toggle.show {
13075
+ --bs-btn-color: var(--moo-foreground);
13076
+ color: var(--bs-btn-color);
13077
+ font-weight: 500;
13078
+ }
13079
+
12982
13080
  .avatar {
13081
+ position: relative;
12983
13082
  display: inline-flex;
12984
13083
  align-items: center;
12985
13084
  justify-content: center;
12986
13085
  width: 2rem;
12987
13086
  height: 2rem;
12988
13087
  flex: 0 0 auto;
12989
- overflow: hidden;
12990
- border: var(--bs-border-width) solid var(--moo-border);
13088
+ overflow: visible;
13089
+ border: 0;
12991
13090
  border-radius: var(--bs-border-radius-pill);
12992
13091
  background-color: var(--moo-muted-surface);
12993
13092
  color: var(--moo-foreground);
12994
13093
  font-size: 0.875rem;
12995
13094
  font-weight: 500;
12996
13095
  line-height: 1;
13096
+ text-transform: uppercase;
13097
+ }
13098
+
13099
+ .avatar::after {
13100
+ content: "";
13101
+ position: absolute;
13102
+ inset: 0;
13103
+ z-index: 1;
13104
+ border: var(--bs-border-width) solid var(--moo-border);
13105
+ border-radius: var(--bs-border-radius-pill);
13106
+ pointer-events: none;
13107
+ opacity: 0.8;
12997
13108
  }
12998
13109
 
12999
13110
  .avatar > img {
13000
13111
  width: 100%;
13001
13112
  height: 100%;
13002
13113
  object-fit: cover;
13114
+ border-radius: var(--bs-border-radius-pill);
13115
+ }
13116
+
13117
+ .avatar-fallback {
13118
+ position: absolute;
13119
+ inset: 0;
13120
+ display: grid;
13121
+ place-items: center;
13122
+ text-align: center;
13123
+ padding: 0 0.15rem;
13124
+ }
13125
+
13126
+ .avatar--has-image > .avatar-fallback {
13127
+ display: none;
13128
+ }
13129
+
13130
+ .avatar-badge {
13131
+ position: absolute;
13132
+ inset-block-end: 0;
13133
+ inset-inline-end: 0;
13134
+ z-index: 2;
13135
+ display: inline-flex;
13136
+ align-items: center;
13137
+ justify-content: center;
13138
+ height: 0.9375rem;
13139
+ min-width: 0.9375rem;
13140
+ padding-inline: 0.2rem;
13141
+ border-radius: var(--bs-border-radius-pill);
13142
+ border: 2px solid var(--bs-body-bg);
13143
+ background-color: var(--moo-muted-surface);
13144
+ color: var(--moo-foreground);
13145
+ font-size: 0.625rem;
13146
+ font-weight: 500;
13147
+ line-height: 1;
13148
+ }
13149
+
13150
+ .avatar-badge [data-icon] {
13151
+ width: 0.625rem;
13152
+ height: 0.625rem;
13153
+ }
13154
+
13155
+ .avatar-badge--dot {
13156
+ height: 0.625rem;
13157
+ min-width: 0.625rem;
13158
+ padding-inline: 0;
13159
+ }
13160
+
13161
+ .avatar-badge--icon {
13162
+ width: 0.75rem;
13163
+ height: 0.75rem;
13164
+ min-width: 0.75rem;
13165
+ padding-inline: 0;
13166
+ }
13167
+
13168
+ .avatar-badge--icon [data-icon] {
13169
+ width: 0.375rem;
13170
+ height: 0.375rem;
13003
13171
  }
13004
13172
 
13005
13173
  .avatar-sm {
@@ -13014,6 +13182,38 @@ label.btn {
13014
13182
  font-size: 1rem;
13015
13183
  }
13016
13184
 
13185
+ .avatar-group {
13186
+ display: inline-flex;
13187
+ align-items: center;
13188
+ }
13189
+
13190
+ .avatar-group > .avatar {
13191
+ z-index: 0;
13192
+ }
13193
+
13194
+ .avatar-group .avatar + .avatar,
13195
+ .avatar-group .avatar + .avatar-count,
13196
+ .avatar-group .avatar-count + .avatar {
13197
+ margin-inline-start: -0.5rem;
13198
+ }
13199
+
13200
+ .avatar-count {
13201
+ display: inline-flex;
13202
+ align-items: center;
13203
+ justify-content: center;
13204
+ width: 2rem;
13205
+ height: 2rem;
13206
+ flex: 0 0 auto;
13207
+ border-radius: var(--bs-border-radius-pill);
13208
+ font-size: 0.75rem;
13209
+ font-weight: 500;
13210
+ }
13211
+
13212
+ .avatar-count::before {
13213
+ content: "+";
13214
+ margin-inline-end: -0.1rem;
13215
+ }
13216
+
13017
13217
  .nav {
13018
13218
  --bs-nav-link-color: var(--moo-foreground);
13019
13219
  --bs-nav-link-hover-color: var(--moo-foreground);
@@ -13047,7 +13247,13 @@ label.btn {
13047
13247
  }
13048
13248
 
13049
13249
  .skeleton {
13250
+ color: var(--moo-border);
13050
13251
  border-radius: var(--bs-border-radius);
13252
+ overflow: hidden;
13253
+ }
13254
+
13255
+ .skeleton > .placeholder {
13256
+ display: block;
13051
13257
  }
13052
13258
 
13053
13259
  .sidebar-wrapper {
@@ -13744,6 +13950,21 @@ label.btn {
13744
13950
  --bs-breadcrumb-item-active-color: var(--moo-foreground);
13745
13951
  }
13746
13952
 
13953
+ :dir(rtl) .breadcrumb {
13954
+ --bs-breadcrumb-divider: "<";
13955
+ }
13956
+
13957
+ :dir(rtl) .breadcrumb-item + .breadcrumb-item {
13958
+ padding-right: var(--bs-breadcrumb-item-padding-x);
13959
+ padding-left: 0;
13960
+ }
13961
+
13962
+ :dir(rtl) .breadcrumb-item + .breadcrumb-item::before {
13963
+ float: right;
13964
+ padding-right: 0;
13965
+ padding-left: var(--bs-breadcrumb-item-padding-x);
13966
+ }
13967
+
13747
13968
  .breadcrumb-item a {
13748
13969
  color: var(--moo-muted-foreground);
13749
13970
  text-decoration: none;
@@ -13755,6 +13976,35 @@ label.btn {
13755
13976
  text-decoration: none;
13756
13977
  }
13757
13978
 
13979
+ .breadcrumb-ellipsis {
13980
+ display: inline-flex;
13981
+ align-items: center;
13982
+ color: var(--moo-muted-foreground);
13983
+ }
13984
+
13985
+ .breadcrumb-ellipsis [data-icon] {
13986
+ width: 1rem;
13987
+ height: 1rem;
13988
+ }
13989
+
13990
+ .breadcrumb-dropdown-item {
13991
+ display: inline-flex;
13992
+ align-items: center;
13993
+ }
13994
+
13995
+ .breadcrumb-dropdown-item button {
13996
+ padding: 0;
13997
+ border: 0;
13998
+ background-color: transparent;
13999
+ color: var(--moo-muted-foreground);
14000
+ text-decoration: none;
14001
+ }
14002
+
14003
+ .breadcrumb-dropdown-item button:hover,
14004
+ .breadcrumb-dropdown-item button:focus {
14005
+ color: var(--moo-foreground);
14006
+ }
14007
+
13758
14008
  .page-link {
13759
14009
  display: inline-flex;
13760
14010
  align-items: center;
@@ -13798,21 +14048,41 @@ label.btn {
13798
14048
  }
13799
14049
 
13800
14050
  .accordion-button [data-icon] {
14051
+ position: absolute;
14052
+ inset-inline-end: var(--bs-accordion-btn-padding-x);
14053
+ top: 50%;
13801
14054
  width: 1rem;
13802
14055
  height: 1rem;
13803
- margin-inline-start: auto;
13804
14056
  flex-shrink: 0;
14057
+ pointer-events: none;
14058
+ transform: translateY(-50%);
13805
14059
  transition: transform 0.2s ease-in-out;
14060
+ transform-origin: center;
13806
14061
  }
13807
14062
 
13808
14063
  .accordion-button:not(.collapsed) [data-icon] {
13809
- transform: rotate(-180deg);
14064
+ transform: translateY(-50%) rotate(-180deg);
14065
+ }
14066
+
14067
+ .accordion-flush .accordion-button {
14068
+ text-align: start;
13810
14069
  }
13811
14070
 
13812
14071
  .accordion-button:hover {
13813
14072
  text-decoration: underline;
13814
14073
  }
13815
14074
 
14075
+ .accordion-flush {
14076
+ --bs-accordion-btn-padding-x: 0;
14077
+ --bs-accordion-btn-padding-y: 0.625rem;
14078
+ --bs-accordion-body-padding-x: 0;
14079
+ --bs-accordion-body-padding-y: 0.625rem;
14080
+ }
14081
+
14082
+ .accordion-flush .accordion-button {
14083
+ font-weight: 500;
14084
+ }
14085
+
13816
14086
  .tabs-list {
13817
14087
  display: inline-flex;
13818
14088
  gap: 0.125rem;
@@ -13848,35 +14118,74 @@ label.btn {
13848
14118
 
13849
14119
  .tab-content {
13850
14120
  display: grid;
14121
+ width: 100%;
14122
+ max-width: 100%;
14123
+ min-width: 0;
14124
+ margin-top: 0.75rem;
13851
14125
  }
13852
14126
 
13853
14127
  .tab-content > .tab-pane {
13854
14128
  grid-area: 1 / 1;
13855
14129
  display: block;
14130
+ width: 100%;
14131
+ max-width: 100%;
14132
+ min-width: 0;
14133
+ opacity: 0;
14134
+ transform: translateY(0.25rem);
13856
14135
  visibility: hidden;
14136
+ pointer-events: none;
14137
+ transition: opacity 0.16s ease, transform 0.16s ease, visibility 0s linear 0.16s;
13857
14138
  }
13858
14139
 
13859
14140
  .tab-content > .active {
14141
+ opacity: 1;
14142
+ transform: none;
13860
14143
  visibility: visible;
14144
+ pointer-events: auto;
14145
+ transition-delay: 0s;
14146
+ }
14147
+
14148
+ .collapsible {
14149
+ display: flex;
14150
+ flex-direction: column;
14151
+ gap: 0.5rem;
14152
+ width: 100%;
14153
+ max-width: 100%;
14154
+ min-width: 0;
13861
14155
  }
13862
14156
 
13863
14157
  .collapsible-header {
13864
14158
  display: flex;
13865
14159
  align-items: center;
13866
14160
  justify-content: space-between;
13867
- gap: 1rem;
14161
+ padding-inline: 0.5rem;
14162
+ gap: 0.5rem;
13868
14163
  }
13869
14164
 
13870
14165
  .collapsible-title {
13871
14166
  margin-bottom: 0;
13872
- font-size: 0.875rem;
13873
- font-weight: 600;
14167
+ font-size: 0.76562rem;
14168
+ font-weight: 500;
14169
+ color: var(--moo-foreground);
14170
+ }
14171
+
14172
+ .collapsible .btn[data-bs-toggle='collapse'] {
14173
+ color: var(--moo-muted-foreground);
14174
+ line-height: 1;
14175
+ }
14176
+
14177
+ .collapsible .btn[data-bs-toggle='collapse'] [data-icon] {
14178
+ width: 0.875rem;
14179
+ height: 0.875rem;
13874
14180
  }
13875
14181
 
13876
14182
  .collapsible-content {
13877
- padding-top: 0.5rem;
13878
- font-size: 0.875rem;
14183
+ padding: 0.5rem 0.75rem;
14184
+ border: var(--bs-border-width) solid var(--bs-border-color);
14185
+ border-radius: var(--bs-border-radius);
14186
+ font-size: 0.76562rem;
13879
14187
  color: var(--moo-muted-foreground);
14188
+ width: 100%;
13880
14189
  }
13881
14190
 
13882
14191
  .tooltip {
@@ -13951,15 +14260,36 @@ label.btn {
13951
14260
  font-weight: 500;
13952
14261
  }
13953
14262
 
13954
- .modal-footer {
13955
- padding: 1rem;
14263
+ .modal-header {
14264
+ gap: calc(var(--bs-modal-padding) * 0.75);
13956
14265
  }
13957
14266
 
13958
- body:has(.modal.show) > .modal-backdrop {
13959
- --bs-backdrop-opacity: 1;
13960
- background-color: color-mix(in srgb, var(--bs-black) 10%, transparent);
13961
- -webkit-backdrop-filter: blur(4px);
13962
- backdrop-filter: blur(4px);
14267
+ .modal--alert {
14268
+ --bs-modal-width: 24rem;
14269
+ --bs-modal-padding: 1rem;
14270
+ }
14271
+
14272
+ .modal-header--alert {
14273
+ align-items: flex-start;
14274
+ padding: var(--bs-modal-padding);
14275
+ }
14276
+
14277
+ .modal-header__content {
14278
+ min-width: 0;
14279
+ }
14280
+
14281
+ .modal-description {
14282
+ margin-top: calc(var(--bs-modal-padding) * 0.375);
14283
+ margin-bottom: 0;
14284
+ color: var(--bs-secondary-color);
14285
+ }
14286
+
14287
+ .modal--alert .modal-footer {
14288
+ padding: var(--bs-modal-padding);
14289
+ }
14290
+
14291
+ .modal-footer {
14292
+ padding: 1rem;
13963
14293
  }
13964
14294
 
13965
14295
  .offcanvas.sheet {
@@ -13978,23 +14308,6 @@ body:has(.modal.show) > .modal-backdrop {
13978
14308
  font-weight: 500;
13979
14309
  }
13980
14310
 
13981
- :has(> .offcanvas.sheet:is(.showing, .show, .hiding)) > .offcanvas-backdrop {
13982
- background-color: color-mix(in srgb, var(--bs-black) 10%, transparent);
13983
- transition: opacity 0.3s ease-in-out, -webkit-backdrop-filter 0.3s ease-in-out, backdrop-filter 0.3s ease-in-out;
13984
- }
13985
-
13986
- :has(> .offcanvas.sheet:is(.showing, .show)) > .offcanvas-backdrop {
13987
- opacity: 1;
13988
- -webkit-backdrop-filter: blur(4px);
13989
- backdrop-filter: blur(4px);
13990
- }
13991
-
13992
- :has(> .offcanvas.sheet.hiding) > .offcanvas-backdrop {
13993
- opacity: 0;
13994
- -webkit-backdrop-filter: blur(0);
13995
- backdrop-filter: blur(0);
13996
- }
13997
-
13998
14311
  .toast {
13999
14312
  --bs-toast-border-radius: var(--bs-border-radius-lg);
14000
14313
  --bs-toast-border-color: var(--moo-border);
@@ -14017,6 +14330,10 @@ body:has(.modal.show) > .modal-backdrop {
14017
14330
  font-weight: 500;
14018
14331
  }
14019
14332
 
14333
+ .field:has(> .is-invalid) > .form-label {
14334
+ color: var(--bs-danger);
14335
+ }
14336
+
14020
14337
  .field-description,
14021
14338
  .field-error {
14022
14339
  margin-top: 0;
@@ -14055,3 +14372,16 @@ body:has(.modal.show) > .modal-backdrop {
14055
14372
  .form-check-label {
14056
14373
  user-select: none;
14057
14374
  }
14375
+
14376
+ .modal-backdrop,
14377
+ .offcanvas-backdrop {
14378
+ --bs-backdrop-opacity: var(--moo-overlay-backdrop-opacity, 1);
14379
+ background-color: var(--moo-overlay-backdrop-bg, color-mix(in srgb, var(--bs-black) 10%, transparent));
14380
+ -webkit-backdrop-filter: var(--moo-overlay-backdrop-filter, blur(8px));
14381
+ backdrop-filter: var(--moo-overlay-backdrop-filter, blur(8px));
14382
+ }
14383
+
14384
+ .modal-backdrop.show,
14385
+ .offcanvas-backdrop.show {
14386
+ opacity: var(--moo-overlay-backdrop-opacity, 1);
14387
+ }