@wpmoo/ui 0.2.0 → 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.
package/LICENSE CHANGED
@@ -2,17 +2,6 @@ MIT License
2
2
 
3
3
  Copyright (c) 2026 WPMoo (wpmoo.org)
4
4
 
5
- This license applies to the source code in this repository, except where a
6
- file, directory, or third-party notice states otherwise.
7
-
8
- WPMoo-generated visual assets are not licensed under the MIT License unless
9
- explicitly stated. This includes brand assets, component preview images,
10
- marketing images, screenshots, generated artwork, and other WPMoo-owned image
11
- assets under `static/images/`. See `ASSET_LICENSE.md`.
12
-
13
- Vendored third-party material keeps its original license and attribution.
14
- See `THIRD_PARTY_NOTICES.md`.
15
-
16
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
17
6
  of this software and associated documentation files (the "Software"), to deal
18
7
  in the Software without restriction, including without limitation the rights
package/README.md CHANGED
@@ -46,7 +46,7 @@ Drop the stylesheet into ordinary Bootstrap markup:
46
46
 
47
47
  ```html
48
48
  <link rel="stylesheet"
49
- href="https://unpkg.com/@wpmoo/ui@0.2.0/dist/assets/css/moo-ui.css">
49
+ href="https://unpkg.com/@wpmoo/ui@0.2.1/dist/assets/css/moo-ui.css">
50
50
 
51
51
  <button type="button" class="btn btn-primary">Create workspace</button>
52
52
  ```
@@ -2208,7 +2208,7 @@ progress {
2208
2208
  }
2209
2209
 
2210
2210
  .form-control:disabled {
2211
- background-color: var(--bs-secondary-bg);
2211
+ background-color: color-mix(in srgb, var(--moo-border) 40%, transparent);
2212
2212
  opacity: 1;
2213
2213
  }
2214
2214
 
@@ -2234,7 +2234,7 @@ progress {
2234
2234
  }
2235
2235
 
2236
2236
  .form-control:hover:not(:disabled):not([readonly])::file-selector-button {
2237
- background-color: var(--bs-secondary-bg);
2237
+ background-color: var(--moo-border);
2238
2238
  }
2239
2239
 
2240
2240
  .form-control-plaintext {
@@ -2368,7 +2368,7 @@ textarea.form-control-lg {
2368
2368
  }
2369
2369
 
2370
2370
  .form-select:disabled {
2371
- background-color: var(--bs-secondary-bg);
2371
+ background-color: color-mix(in srgb, var(--moo-border) 40%, transparent);
2372
2372
  }
2373
2373
 
2374
2374
  .form-select:-moz-focusring {
@@ -2748,7 +2748,7 @@ textarea.form-control-lg {
2748
2748
 
2749
2749
  .form-floating > :disabled ~ label::after,
2750
2750
  .form-floating > .form-control:disabled ~ label::after {
2751
- background-color: var(--bs-secondary-bg);
2751
+ background-color: color-mix(in srgb, var(--moo-border) 40%, transparent);
2752
2752
  }
2753
2753
 
2754
2754
  .input-group {
@@ -5045,7 +5045,7 @@ textarea.form-control-lg {
5045
5045
  --bs-badge-padding-x: 0.65em;
5046
5046
  --bs-badge-padding-y: 0.35em;
5047
5047
  --bs-badge-font-size: 0.75em;
5048
- --bs-badge-font-weight: 700;
5048
+ --bs-badge-font-weight: 500;
5049
5049
  --bs-badge-color: #fff;
5050
5050
  --bs-badge-border-radius: var(--bs-border-radius);
5051
5051
  display: inline-block;
@@ -12317,6 +12317,7 @@ textarea.form-control-lg {
12317
12317
  --moo-overlay-backdrop-opacity: 1;
12318
12318
  --moo-overlay-backdrop-bg: color-mix(in srgb, var(--bs-black) 10%, transparent);
12319
12319
  --moo-overlay-backdrop-filter: blur(8px);
12320
+ --moo-input-group-border-radius: var(--bs-border-radius-lg);
12320
12321
  --moo-sidebar: #fafafa;
12321
12322
  --moo-sidebar-foreground: var(--moo-foreground);
12322
12323
  --moo-sidebar-accent: var(--moo-muted-surface);
@@ -12339,6 +12340,7 @@ textarea.form-control-lg {
12339
12340
  --moo-overlay-backdrop-opacity: 1;
12340
12341
  --moo-overlay-backdrop-bg: color-mix(in srgb, var(--bs-black) 10%, transparent);
12341
12342
  --moo-overlay-backdrop-filter: blur(8px);
12343
+ --moo-input-group-border-radius: var(--bs-border-radius-lg);
12342
12344
  --moo-sidebar: #1c1c1f;
12343
12345
  --moo-sidebar-foreground: var(--moo-foreground);
12344
12346
  --moo-sidebar-accent: var(--moo-muted-surface);
@@ -12602,17 +12604,20 @@ textarea.form-control:not(.form-control-sm, .form-control-lg) {
12602
12604
  padding: 0.5rem 0.75rem;
12603
12605
  }
12604
12606
 
12605
- .input-group {
12607
+ .input-group:not(:has(> .form-control[type="file"])) {
12606
12608
  border: var(--bs-border-width) solid var(--moo-border);
12607
- border-radius: 0.625rem;
12609
+ border-radius: var(--moo-input-group-border-radius);
12608
12610
  }
12609
12611
 
12610
- .input-group:not(:has(textarea)) {
12611
- align-items: center;
12612
- height: 2rem;
12612
+ .input-group.rounded-pill:not(:has(> .form-control[type="file"])) {
12613
+ --moo-input-group-border-radius: var(--bs-border-radius-pill);
12613
12614
  }
12614
12615
 
12615
- .input-group:not(:has(textarea)) > .form-control {
12616
+ .input-group:not(:has(textarea)):not(:has(> .form-control[type="file"])) {
12617
+ height: calc(2rem + var(--bs-border-width) * 2);
12618
+ }
12619
+
12620
+ .input-group:not(:has(textarea)):not(:has(> .form-control[type="file"])) > .form-control {
12616
12621
  min-height: 0;
12617
12622
  }
12618
12623
 
@@ -12620,19 +12625,75 @@ textarea.form-control:not(.form-control-sm, .form-control-lg) {
12620
12625
  resize: none;
12621
12626
  }
12622
12627
 
12623
- .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"]) {
12624
12629
  margin: 0;
12625
12630
  }
12626
12631
 
12627
- .input-group > :not(ul) {
12632
+ .input-group:not(:has(> .form-control[type="file"])) > :not(ul) {
12628
12633
  border: 0;
12629
12634
  border-radius: 0;
12630
12635
  }
12631
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
+
12632
12647
  .input-group > :is(button, a) {
12633
12648
  border: var(--bs-btn-border-width) var(--bs-border-style) var(--bs-btn-border-color);
12634
12649
  }
12635
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
+
12636
12697
  .input-group > .input-group-text {
12637
12698
  color: var(--bs-secondary-color);
12638
12699
  background-color: transparent;
@@ -12684,12 +12745,12 @@ textarea.form-control:not(.form-control-sm, .form-control-lg) {
12684
12745
  background-color: transparent;
12685
12746
  }
12686
12747
 
12687
- .input-group:has(> .form-control:focus) {
12748
+ .input-group:has(> .form-control:focus):not(:has(> .form-control[type="file"])) {
12688
12749
  border-color: #8b8b8b;
12689
12750
  box-shadow: 0 0 0 2px rgba(23, 23, 23, 0.25);
12690
12751
  }
12691
12752
 
12692
- .input-group > :focus {
12753
+ .input-group:not(:has(> .form-control[type="file"])) > :focus {
12693
12754
  outline: 0;
12694
12755
  box-shadow: none;
12695
12756
  }
@@ -14269,6 +14330,10 @@ label.btn {
14269
14330
  font-weight: 500;
14270
14331
  }
14271
14332
 
14333
+ .field:has(> .is-invalid) > .form-label {
14334
+ color: var(--bs-danger);
14335
+ }
14336
+
14272
14337
  .field-description,
14273
14338
  .field-error {
14274
14339
  margin-top: 0;