@wpmoo/ui 1.0.0-rc.8 → 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.
package/ASSET_LICENSE.md CHANGED
@@ -14,6 +14,6 @@ product, site, template, library, training dataset, or marketing asset without
14
14
  prior written permission from WPMoo.
15
15
 
16
16
  Third-party assets remain under their own licenses. See the
17
- [version-pinned third-party notices](https://github.com/wpmoo-org/ui/blob/v1.0.0-rc.8/THIRD_PARTY_NOTICES.md).
17
+ [version-pinned third-party notices](https://github.com/wpmoo-org/ui/blob/v1.0.0-rc.9/THIRD_PARTY_NOTICES.md).
18
18
  Those notices are repository-only and are intentionally not shipped in the npm
19
19
  package.
package/README.md CHANGED
@@ -96,7 +96,7 @@ knows the request or session preference. Put it on the first application owner;
96
96
  keep `lang` and the document's default `dir` on `html`:
97
97
 
98
98
  ```html
99
- <!-- Server-resolved document: no prepaint required. -->
99
+ <!-- Server-resolved document: no state bootstrap required. -->
100
100
  <html lang="en" dir="ltr">
101
101
  <body>
102
102
  <div class="moo-ui" data-bs-theme="dark" data-moo-document-owner="true">
@@ -113,7 +113,7 @@ when it needs independent browser persistence:
113
113
  ```html
114
114
  <!-- Static or strict-CSP fallback: classic script is the root's first child. -->
115
115
  <div class="moo-ui" data-bs-theme="light" data-moo-theme-key="portal:theme">
116
- <script src="/vendor/@wpmoo/ui/theme-prepaint.js"></script>
116
+ <script src="/vendor/@wpmoo/ui/state.js"></script>
117
117
  <!-- embedded Moo UI fragment -->
118
118
  </div>
119
119
  ```
@@ -121,8 +121,8 @@ when it needs independent browser persistence:
121
121
  On a first visit, a static host without a known server preference can only
122
122
  correct a browser-only preference after the external asset is fetched, so that
123
123
  correction may be visible. The server value remains the deterministic fallback;
124
- an external fetch cannot guarantee zero flash in this profile. The published
125
- asset is available as `@wpmoo/ui/theme-prepaint.js`.
124
+ an external fetch cannot guarantee zero flash in this profile. RC9 exposes
125
+ this asset as `@wpmoo/ui/state.js`.
126
126
 
127
127
  ### Optional runtime
128
128
 
@@ -166,7 +166,7 @@ calm.
166
166
 
167
167
  ## Status And Support
168
168
 
169
- Moo UI is preparing the `1.0.0-rc.8` release candidate. Public exports, package boundaries, browser support, and release evidence live in [Support & Evidence](https://ui.wpmoo.org/support/).
169
+ The current release candidate is `1.0.0-rc.9`. Public exports, package boundaries, browser support, and release evidence live in [Support & Evidence](https://ui.wpmoo.org/support/).
170
170
  Complete release notes are on
171
171
  [GitHub Releases](https://github.com/wpmoo-org/ui/releases).
172
172
 
@@ -189,4 +189,4 @@ Moo UI source code is MIT licensed. License details live in
189
189
  [LICENSE](LICENSE) and the [License page](https://ui.wpmoo.org/license/).
190
190
  Asset terms live in [ASSET_LICENSE.md](ASSET_LICENSE.md); dependency notices
191
191
  live in the
192
- [version-pinned third-party notices](https://github.com/wpmoo-org/ui/blob/v1.0.0-rc.8/THIRD_PARTY_NOTICES.md).
192
+ [version-pinned third-party notices](https://github.com/wpmoo-org/ui/blob/v1.0.0-rc.9/THIRD_PARTY_NOTICES.md).
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "schemaVersion": "0.1",
3
3
  "status": "preview",
4
- "coreVersion": "1.0.0-rc.8",
4
+ "coreVersion": "1.0.0-rc.9",
5
5
  "bootstrap": {
6
6
  "canonicalVersion": "5.3.3",
7
7
  "targetRange": ">=5.3.0 <5.4",
@@ -41,7 +41,7 @@
41
41
  "./scss/settings"
42
42
  ],
43
43
  "browser": [
44
- "./theme-prepaint.js"
44
+ "./state.js"
45
45
  ],
46
46
  "metadata": [
47
47
  "./certification.json",
@@ -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,
@@ -15006,6 +15008,10 @@ label.btn {
15006
15008
  .field-group > hr {
15007
15009
  margin-block: 0;
15008
15010
  }
15011
+ .field-group.row {
15012
+ flex-direction: row;
15013
+ gap: 0;
15014
+ }
15009
15015
  .field-form {
15010
15016
  display: flex;
15011
15017
  flex-direction: column;
@@ -16643,7 +16649,7 @@ label.btn {
16643
16649
  max-height: none;
16644
16650
  }
16645
16651
  }
16646
- .sidebar[data-side="left"] .sidebar-inner {
16652
+ .sidebar[data-side="left"]:not([data-variant="inset"]) .sidebar-inner {
16647
16653
  border-right: var(--bs-border-width) solid var(--moo-sidebar-border);
16648
16654
  }
16649
16655
  .sidebar[data-side="right"] {
@@ -16655,11 +16661,11 @@ label.btn {
16655
16661
  .wrapper[data-layout="app"]:dir(rtl) > .sidebar[data-side="right"] {
16656
16662
  order: 0;
16657
16663
  }
16658
- .sidebar[data-side="right"] .sidebar-inner {
16664
+ .sidebar[data-side="right"]:not([data-variant="inset"]) .sidebar-inner {
16659
16665
  border-left: var(--bs-border-width) solid var(--moo-sidebar-border);
16660
16666
  }
16661
16667
  @media (min-width: 992px) {
16662
- .sidebar {
16668
+ :where(.wrapper[data-layout="app"][data-sidebar-ready]) > .sidebar {
16663
16669
  transition: flex-basis 0.2s ease, width 0.2s ease;
16664
16670
  }
16665
16671
  .sidebar[data-variant="floating"] .sidebar-inner {
@@ -16699,6 +16705,10 @@ label.btn {
16699
16705
  box-shadow: var(--bs-box-shadow-sm);
16700
16706
  background: var(--bs-body-bg);
16701
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
+ }
16702
16712
  .wrapper[data-layout="app"][data-sidebar-state="collapsed"]:has(> .sidebar[data-variant="inset"]) > [data-slot="page"] {
16703
16713
  margin-left: 0.5rem;
16704
16714
  }
@@ -16730,7 +16740,6 @@ label.btn {
16730
16740
  min-height: 0;
16731
16741
  flex: 1 1 auto;
16732
16742
  flex-direction: column;
16733
- overflow-y: auto;
16734
16743
  }
16735
16744
  .wrapper[data-layout="app"] > [data-slot="page"] > header,
16736
16745
  .wrapper[data-layout="app"] > [data-slot="page"] > main,
@@ -16742,6 +16751,7 @@ label.btn {
16742
16751
  min-height: 0;
16743
16752
  flex: 1 1 auto;
16744
16753
  flex-direction: column;
16754
+ overflow-y: auto;
16745
16755
  }
16746
16756
  .wrapper[data-layout="app"] > [data-slot="page"] > main > :is( .container, .container-sm, .container-md, .container-lg, .container-xl, .container-xxl, .container-fluid ) {
16747
16757
  display: flex;
@@ -16759,6 +16769,235 @@ label.btn {
16759
16769
  .wrapper[data-layout="app"][data-shell-mode="contained"] > [data-slot="page"] {
16760
16770
  overflow: visible;
16761
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
+ }
16762
17001
  }
16763
17002
  :scope[data-bs-theme="light"] .form-select {
16764
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");
@@ -16808,4 +17047,7 @@ label.btn {
16808
17047
  .offcanvas-backdrop.show::before {
16809
17048
  animation: moo-overlay-backdrop-enter var(--moo-overlay-motion-duration, 0.3s) ease-out both;
16810
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
+ }
16811
17053
  }