@wpmoo/ui 1.0.0-rc.3 → 1.0.0-rc.5
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 +3 -1
- package/README.md +55 -123
- package/certification.json +14 -2
- package/dist/assets/css/moo-ui.css +189 -122
- package/dist/assets/css/moo-ui.min.css +3 -3
- package/dist/assets/css/moo.css +72 -17
- package/dist/assets/css/moo.min.css +3 -3
- package/dist/js/chart.js +1 -1
- package/dist/js/chart.min.js +1 -1
- package/dist/js/combobox.js +71 -18
- package/dist/js/context-menu.js +1 -1
- package/dist/js/datatable.js +135 -25
- package/dist/js/datepicker.js +1 -1
- package/dist/js/datepicker.min.js +1 -1
- package/dist/js/moo-ui.js +19047 -0
- package/dist/js/moo-ui.min.js +27 -0
- package/dist/js/sidebar.js +1 -1
- package/dist/js/slider.js +1 -1
- package/package.json +18 -6
- package/scss/_components.scss +73 -0
- package/scss/_settings.scss +8 -0
- package/scss/components/_accordion.scss +65 -0
- package/scss/components/_alert.scss +94 -0
- package/scss/components/_avatar.scss +154 -0
- package/scss/components/_badge.scss +33 -0
- package/scss/components/_breadcrumb.scss +130 -0
- package/scss/components/_button.scss +228 -0
- package/scss/components/_button_group.scss +81 -0
- package/scss/components/_card.scss +142 -0
- package/scss/components/_checkbox.scss +115 -0
- package/scss/components/_close_button.scss +59 -0
- package/scss/components/_collapsible.scss +43 -0
- package/scss/components/_combobox.scss +258 -0
- package/scss/components/_context-menu.scss +28 -0
- package/scss/components/_datatable.scss +1082 -0
- package/scss/components/_datepicker.scss +236 -0
- package/scss/components/_dialog.scss +66 -0
- package/scss/components/_dropdown.scss +202 -0
- package/scss/components/_field.scss +125 -0
- package/scss/components/_input.scss +35 -0
- package/scss/components/_input_group.scss +201 -0
- package/scss/components/_kbd.scss +10 -0
- package/scss/components/_menubar.scss +16 -0
- package/scss/components/_navigation.scss +41 -0
- package/scss/components/_pagination.scss +70 -0
- package/scss/components/_popover.scss +47 -0
- package/scss/components/_progress.scss +7 -0
- package/scss/components/_radio_group.scss +9 -0
- package/scss/components/_select.scss +7 -0
- package/scss/components/_separator.scss +15 -0
- package/scss/components/_sheet.scss +32 -0
- package/scss/components/_sidebar.scss +7 -0
- package/scss/components/_skeleton.scss +17 -0
- package/scss/components/_slider.scss +214 -0
- package/scss/components/_spinner.scss +17 -0
- package/scss/components/_switch.scss +25 -0
- package/scss/components/_table.scss +7 -0
- package/scss/components/_tabs.scss +139 -0
- package/scss/components/_textarea.scss +7 -0
- package/scss/components/_toast.scss +119 -0
- package/scss/components/_toggle_group.scss +19 -0
- package/scss/components/_tooltip.scss +83 -0
- package/scss/components/sidebar/_collapsed.scss +187 -0
- package/scss/components/sidebar/_identity.scss +72 -0
- package/scss/components/sidebar/_inset.scss +59 -0
- package/scss/components/sidebar/_layout.scss +176 -0
- package/scss/components/sidebar/_menus.scss +236 -0
- package/scss/foundations/_core_global_primitives.scss +5 -0
- package/scss/foundations/_core_state_layer.scss +25 -0
- package/scss/foundations/_focus.scss +139 -0
- package/scss/foundations/_overlay_backdrop.scss +19 -0
- package/scss/moo-core.scss +47 -0
- package/scss/moo-ui.scss +50 -0
- package/scss/settings/_bootstrap_overrides.scss +11 -0
- package/scss/settings/_component_variables.scss +480 -0
- package/scss/settings/_forms.scss +65 -0
- package/scss/settings/_palette.scss +132 -0
- package/scss/themes/_scoped_core.scss +239 -0
- package/scss/themes/_standalone_root.scss +119 -0
- package/scss/utilities/_scroll_fade.scss +193 -0
- package/scss/utilities/_scroll_fade_primitives.scss +43 -0
- package/THIRD_PARTY_NOTICES.md +0 -53
package/ASSET_LICENSE.md
CHANGED
|
@@ -14,4 +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.
|
|
17
|
+
[version-pinned third-party notices](https://github.com/wpmoo-org/ui/blob/v1.0.0-rc.5/THIRD_PARTY_NOTICES.md).
|
|
18
|
+
Those notices are repository-only and are intentionally not shipped in the npm
|
|
19
|
+
package.
|
package/README.md
CHANGED
|
@@ -24,18 +24,26 @@
|
|
|
24
24
|
|
|
25
25
|
# Moo UI
|
|
26
26
|
|
|
27
|
-
Moo UI
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
- **
|
|
36
|
-
|
|
37
|
-
- **
|
|
38
|
-
|
|
27
|
+
Moo UI gives Bootstrap 5.3 applications a calmer, shadcn-inspired product
|
|
28
|
+
surface without asking teams to abandon the markup, variables, and plugin
|
|
29
|
+
contracts they already use.
|
|
30
|
+
|
|
31
|
+
It is built for server-rendered products, admin screens, dashboards, and SaaS
|
|
32
|
+
interfaces where Bootstrap remains the public contract but the default visual
|
|
33
|
+
language needs to feel more current.
|
|
34
|
+
|
|
35
|
+
- **Bootstrap-native.** Keep familiar classes, form markup, layout utilities,
|
|
36
|
+
and Bootstrap JavaScript where Bootstrap already owns the behavior.
|
|
37
|
+
- **CSS-first.** Most components need only one stylesheet and ordinary HTML.
|
|
38
|
+
- **Gradual when needed.** Use the full build or scope Moo UI inside a
|
|
39
|
+
`.moo-ui` boundary while an existing Bootstrap app migrates piece by piece.
|
|
40
|
+
- **Explicit runtime.** Optional Moo UI behavior loads through ESM entrypoints
|
|
41
|
+
only when a component needs behavior Bootstrap does not provide.
|
|
42
|
+
|
|
43
|
+
This branch prepares `@wpmoo/ui@1.0.0-rc.5` for release. Until that
|
|
44
|
+
npm tag is published, use npm's current published package or the floating
|
|
45
|
+
quick demo below. Catalog CodePen exports remain pinned to the latest
|
|
46
|
+
published package until the RC5 npm tag exists.
|
|
39
47
|
|
|
40
48
|
## Try It in 30 Seconds
|
|
41
49
|
|
|
@@ -50,23 +58,9 @@ The quick demo intentionally follows the floating npm tag:
|
|
|
50
58
|
|
|
51
59
|
`moo-ui.css` is a complete Bootstrap CSS build with Moo UI defaults. Use it
|
|
52
60
|
instead of another Bootstrap stylesheet, not in addition to one.
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
| Surface | Runtime owner | What to load |
|
|
57
|
-
| --- | --- | --- |
|
|
58
|
-
| Static HTML and CSS components | Browser + Bootstrap markup | `moo-ui.css`, or Bootstrap CSS followed by scoped `moo.css` |
|
|
59
|
-
| Dropdown, Modal, Offcanvas, Tooltip, Popover, Toast, and other Bootstrap plugins | Bootstrap | Bootstrap's JavaScript bundle and documented initialization |
|
|
60
|
-
| Combobox | Optional Moo UI ESM | `@wpmoo/ui/combobox.js`, then explicit initialization |
|
|
61
|
-
| Context Menu pointer and keyboard invocation | Optional Moo UI ESM, composed with Bootstrap Dropdown | `@wpmoo/ui/context-menu.js`, then explicit initialization |
|
|
62
|
-
| DataTable sorting, filtering, selection, pagination, and responsive card sync | Optional Moo UI ESM, composed with Bootstrap Table and controls | `@wpmoo/ui/datatable.js`, then explicit initialization |
|
|
63
|
-
| Sidebar state and responsive coordination | Optional Moo UI ESM, composed with Bootstrap plugins | `@wpmoo/ui/sidebar.js`, then explicit initialization |
|
|
64
|
-
| Chart rendering with light/dark theme toggle | Optional Moo UI ESM, self-contained bundle (Chart.js 4.5.1 bundled) | `@wpmoo/ui/chart.js`, then explicit initialization |
|
|
65
|
-
| Datepicker with shadcn-like trigger/popover/calendar | Optional Moo UI ESM, self-contained (no third-party runtime) | `@wpmoo/ui/datepicker.js`, then explicit initialization |
|
|
66
|
-
| Slider with native range input semantics | Optional Moo UI ESM, no third-party runtime | `@wpmoo/ui/slider.js`, then explicit initialization |
|
|
67
|
-
|
|
68
|
-
Moo UI does not replace Bootstrap plugins and does not publish a mandatory
|
|
69
|
-
aggregate JavaScript runtime.
|
|
61
|
+
It emits Moo UI's root/body theme tokens before Bootstrap's reboot body rules;
|
|
62
|
+
if you persist dark or system mode, set `data-bs-theme` synchronously in the
|
|
63
|
+
head before this stylesheet loads.
|
|
70
64
|
|
|
71
65
|
## Install
|
|
72
66
|
|
|
@@ -100,71 +94,23 @@ import "bootstrap/dist/js/bootstrap.bundle.min.js"; // only when plugins are use
|
|
|
100
94
|
</div>
|
|
101
95
|
```
|
|
102
96
|
|
|
103
|
-
### Optional
|
|
104
|
-
|
|
105
|
-
Initialize only the documented behavior gaps you use:
|
|
97
|
+
### Optional runtime
|
|
106
98
|
|
|
107
99
|
```js
|
|
108
|
-
import
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
import Slider from "@wpmoo/ui/slider.js";
|
|
115
|
-
|
|
116
|
-
Combobox.getOrCreateInstance(document.querySelector(".combobox"));
|
|
117
|
-
ContextMenu.getOrCreateInstance(document.querySelector(".context-menu"));
|
|
118
|
-
DataTable.getOrCreateInstance(document.querySelector(".datatable"));
|
|
119
|
-
Sidebar.getOrCreateInstance(document.querySelector('[data-slot="sidebar-wrapper"]'));
|
|
120
|
-
Chart.getOrCreateInstance(document.querySelector(".chart"));
|
|
121
|
-
Datepicker.getOrCreateInstance(document.querySelector("[data-datepicker]"));
|
|
122
|
-
Slider.getOrCreateInstance(document.querySelector("[data-slider]"));
|
|
100
|
+
import MooUI from "@wpmoo/ui/moo-ui.js";
|
|
101
|
+
|
|
102
|
+
const combobox = document.querySelector(".combobox");
|
|
103
|
+
if (combobox) {
|
|
104
|
+
MooUI.Combobox.getOrCreateInstance(combobox);
|
|
105
|
+
}
|
|
123
106
|
```
|
|
124
107
|
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
| --- | --- |
|
|
132
|
-
| New page or whole application | Replace Bootstrap CSS with `moo-ui.css`. |
|
|
133
|
-
| Existing Bootstrap application | Load `moo.css` after Bootstrap CSS and add `.moo-ui` around migrated regions. |
|
|
134
|
-
| Static page with no interactive plugins | Load CSS only. |
|
|
135
|
-
| Page using Bootstrap plugins | Keep Bootstrap's bundle and its documented initialization. |
|
|
136
|
-
| Page using Combobox, Context Menu, DataTable, or Sidebar | Add only the corresponding optional Moo UI ESM module. |
|
|
137
|
-
| Page using Chart, Datepicker, or Slider | Add only the corresponding optional Moo UI ESM module. Chart bundles its third-party runtime; Datepicker and Slider are self-contained with no third-party dependency. |
|
|
138
|
-
|
|
139
|
-
## Public Package Surface
|
|
140
|
-
|
|
141
|
-
`@wpmoo/ui` exports exactly these public entrypoints:
|
|
142
|
-
|
|
143
|
-
| Export | Purpose |
|
|
144
|
-
| --- | --- |
|
|
145
|
-
| `@wpmoo/ui/moo-ui.css` | Full expanded CSS build |
|
|
146
|
-
| `@wpmoo/ui/moo-ui.min.css` | Full minified CSS build |
|
|
147
|
-
| `@wpmoo/ui/moo.css` | Scoped expanded component layer for `.moo-ui` |
|
|
148
|
-
| `@wpmoo/ui/moo.min.css` | Scoped minified component layer |
|
|
149
|
-
| `@wpmoo/ui/combobox.js` | Optional Combobox ESM lifecycle |
|
|
150
|
-
| `@wpmoo/ui/context-menu.js` | Optional Context Menu ESM lifecycle |
|
|
151
|
-
| `@wpmoo/ui/datatable.js` | Optional DataTable ESM lifecycle |
|
|
152
|
-
| `@wpmoo/ui/chart.js` | Optional Chart ESM lifecycle (Chart.js 4.5.1 bundled) |
|
|
153
|
-
| `@wpmoo/ui/chart.min.js` | Minified Chart bundle (artifact variant of chart.js) |
|
|
154
|
-
| `@wpmoo/ui/datepicker.js` | Optional Datepicker ESM lifecycle (self-contained, no third-party runtime) |
|
|
155
|
-
| `@wpmoo/ui/datepicker.min.js` | Minified Datepicker bundle (artifact variant of datepicker.js) |
|
|
156
|
-
| `@wpmoo/ui/slider.js` | Optional Slider ESM lifecycle (native range input, no third-party runtime) |
|
|
157
|
-
| `@wpmoo/ui/sidebar.js` | Optional Sidebar ESM lifecycle |
|
|
158
|
-
| `@wpmoo/ui/scss/config` | Public Sass variable allow-list (LibSass `@import`) |
|
|
159
|
-
| `@wpmoo/ui/certification.json` | Versioned support/evidence manifest |
|
|
160
|
-
| `@wpmoo/ui/package.json` | Package metadata |
|
|
161
|
-
|
|
162
|
-
The tarball also contains `README.md`, `LICENSE`, `ASSET_LICENSE.md`, and
|
|
163
|
-
THIRD_PARTY_NOTICES.md. It does not publish catalog templates, preview
|
|
164
|
-
artwork, catalog JavaScript, or internal SCSS partials beyond the public Sass
|
|
165
|
-
config. Internal Sass partials and Jinja macros are repository build tools, not npm APIs.
|
|
166
|
-
|
|
167
|
-
## Why Bootstrap Teams Try It
|
|
108
|
+
The runtime bundle is optional and side-effect-free. Import the aggregate
|
|
109
|
+
`@wpmoo/ui/moo-ui.js` entrypoint, or import only the component module you use.
|
|
110
|
+
See the [Installation guide](https://ui.wpmoo.org/installation/) for npm, CDN,
|
|
111
|
+
Sass, Bootstrap JavaScript, and ESM recipes.
|
|
112
|
+
|
|
113
|
+
## Why Teams Try It
|
|
168
114
|
|
|
169
115
|
- Keep server-rendered HTML, Bootstrap classes, and familiar plugin behavior.
|
|
170
116
|
- Apply a restrained product rhythm to forms, overlays, navigation, data
|
|
@@ -172,15 +118,15 @@ config. Internal Sass partials and Jinja macros are repository build tools, not
|
|
|
172
118
|
- Inspect static rendered examples and copy the resulting HTML contracts.
|
|
173
119
|
- Start with one scoped region or replace the full stylesheet after review.
|
|
174
120
|
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
121
|
+
Browse the [component catalog](https://ui.wpmoo.org/components/), composed
|
|
122
|
+
[blocks](https://ui.wpmoo.org/blocks/), and full
|
|
123
|
+
[examples](https://ui.wpmoo.org/examples/).
|
|
178
124
|
|
|
179
125
|
## Designed, Not Just Restyled
|
|
180
126
|
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
127
|
+
Moo UI is tuned for product interfaces: compact controls, quiet cards,
|
|
128
|
+
predictable overlays, readable forms, and data-heavy screens that still feel
|
|
129
|
+
calm.
|
|
184
130
|
|
|
185
131
|
<p align="center">
|
|
186
132
|
<a href="https://ui.wpmoo.org/components/button/"><picture><source media="(prefers-color-scheme: dark)" srcset="https://ui.wpmoo.org/assets/images/readme/button-dark.svg"><img src="https://ui.wpmoo.org/assets/images/readme/button-light.svg" alt="Button preview" width="31%"></picture></a>
|
|
@@ -190,41 +136,27 @@ are not part of the npm package.
|
|
|
190
136
|
|
|
191
137
|
## Status And Support
|
|
192
138
|
|
|
193
|
-
Moo UI is
|
|
194
|
-
|
|
195
|
-
availability is WPMoo-maintained preview evidence, not independent or
|
|
196
|
-
accredited certification. Read [Support & Evidence](https://ui.wpmoo.org/support/)
|
|
197
|
-
for the Bootstrap range, browser policy, maturity definitions, limitations, and
|
|
198
|
-
release evidence. Complete release notes are on
|
|
139
|
+
Moo UI is preparing the `1.0.0-rc.5` release candidate. Public exports, package boundaries, browser support, and release evidence live in [Support & Evidence](https://ui.wpmoo.org/support/).
|
|
140
|
+
Complete release notes are on
|
|
199
141
|
[GitHub Releases](https://github.com/wpmoo-org/ui/releases).
|
|
200
142
|
|
|
201
143
|
## Contributing
|
|
202
144
|
|
|
203
145
|
Small documentation corrections, reduced reproductions, accessibility checks,
|
|
204
|
-
and bounded component improvements are welcome.
|
|
205
|
-
[
|
|
206
|
-
|
|
207
|
-
[Code of Conduct](CODE_OF_CONDUCT.md) and [security policy](SECURITY.md).
|
|
146
|
+
and bounded component improvements are welcome. The
|
|
147
|
+
[Contributing guide](https://ui.wpmoo.org/contributing/) covers local
|
|
148
|
+
development, project boundaries, workflow, and issue types.
|
|
208
149
|
|
|
209
150
|
## Repository Layout And Development
|
|
210
151
|
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
preview artwork; it builds to `site-dist/`.
|
|
215
|
-
|
|
216
|
-
```bash
|
|
217
|
-
.venv/bin/python build.py
|
|
218
|
-
.venv/bin/python dev.py
|
|
219
|
-
.venv/bin/python -m unittest discover -s tests -v
|
|
220
|
-
```
|
|
221
|
-
|
|
222
|
-
Browse the local catalog at `http://localhost:4173/` while `dev.py` runs.
|
|
152
|
+
Development setup and repository boundary notes live in the
|
|
153
|
+
[Contributing guide](https://ui.wpmoo.org/contributing/). Consumer install
|
|
154
|
+
paths live in the [Installation guide](https://ui.wpmoo.org/installation/).
|
|
223
155
|
|
|
224
156
|
## Licensing
|
|
225
157
|
|
|
226
|
-
Moo UI source code is MIT licensed.
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
[version-pinned third-party notices](https://github.com/wpmoo-org/ui/blob/v1.0.0-rc.
|
|
158
|
+
Moo UI source code is MIT licensed. License details live in
|
|
159
|
+
[LICENSE](LICENSE) and the [License page](https://ui.wpmoo.org/license/).
|
|
160
|
+
Asset terms live in [ASSET_LICENSE.md](ASSET_LICENSE.md); dependency notices
|
|
161
|
+
live in the
|
|
162
|
+
[version-pinned third-party notices](https://github.com/wpmoo-org/ui/blob/v1.0.0-rc.5/THIRD_PARTY_NOTICES.md).
|
package/certification.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": "0.1",
|
|
3
3
|
"status": "preview",
|
|
4
|
-
"coreVersion": "1.0.0-rc.
|
|
4
|
+
"coreVersion": "1.0.0-rc.5",
|
|
5
5
|
"bootstrap": {
|
|
6
6
|
"canonicalVersion": "5.3.3",
|
|
7
7
|
"targetRange": ">=5.3.0 <5.4",
|
|
@@ -21,6 +21,8 @@
|
|
|
21
21
|
"./moo.min.css"
|
|
22
22
|
],
|
|
23
23
|
"esm": [
|
|
24
|
+
"./moo-ui.js",
|
|
25
|
+
"./moo-ui.min.js",
|
|
24
26
|
"./combobox.js",
|
|
25
27
|
"./sidebar.js",
|
|
26
28
|
"./context-menu.js",
|
|
@@ -31,7 +33,17 @@
|
|
|
31
33
|
"./datepicker.js",
|
|
32
34
|
"./datepicker.min.js"
|
|
33
35
|
],
|
|
34
|
-
"sass": [
|
|
36
|
+
"sass": [
|
|
37
|
+
"./scss/config",
|
|
38
|
+
"./scss/moo-ui",
|
|
39
|
+
"./scss/moo-core",
|
|
40
|
+
"./scss/components",
|
|
41
|
+
"./scss/settings"
|
|
42
|
+
],
|
|
43
|
+
"metadata": [
|
|
44
|
+
"./certification.json",
|
|
45
|
+
"./package.json"
|
|
46
|
+
]
|
|
35
47
|
},
|
|
36
48
|
"supportPolicy": "https://github.com/wpmoo-org/ui/blob/main/SUPPORT.md"
|
|
37
49
|
}
|