@wpmoo/ui 1.4.3 → 2.0.0

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
@@ -19,31 +19,3 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
19
  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
20
  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
21
  SOFTWARE.
22
-
23
- ---
24
-
25
- Chart.js v4.5.1
26
-
27
- The MIT License (MIT)
28
-
29
- Copyright (c) 2014-2024 Chart.js Contributors
30
-
31
- Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
32
-
33
- The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
34
-
35
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
36
-
37
- ---
38
-
39
- @kurkle/color v0.3.4
40
-
41
- The MIT License (MIT)
42
-
43
- Copyright (c) 2018-2024 Jukka Kurkela
44
-
45
- Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
46
-
47
- The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
48
-
49
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
package/README.md CHANGED
@@ -140,6 +140,17 @@ if (combobox) {
140
140
 
141
141
  The runtime bundle is optional and side-effect-free. Import the aggregate
142
142
  `@wpmoo/ui/moo-ui.js` entrypoint, or import only the component module you use.
143
+ Chart consumers install the optional peer explicitly (other components need no Chart dependency):
144
+
145
+ ```sh
146
+ npm install chart.js@4.6.1
147
+ ```
148
+
149
+ Chart.js supplies its own `@kurkle/color` dependency and vendor licenses. Neither
150
+ implementation is embedded in Moo UI's npm archive. Bundlers resolve `chart.js/auto`
151
+ from that installation. Native browser/CDN hosts must configure the version-pinned
152
+ import map in the [Installation guide](https://ui.wpmoo.org/installation/) before
153
+ loading MooChart. Self-hosted vendors must retain their upstream license files.
143
154
  The aggregate loads Chart.js only when `loadChart()` is called:
144
155
 
145
156
  ```js
@@ -168,6 +179,22 @@ import { initSheets } from "@wpmoo/ui/sheet.js";
168
179
  initSheets(document);
169
180
  ```
170
181
 
182
+ For a non-modal floating Card, initialize the optional controller explicitly:
183
+
184
+ ```js
185
+ import FloatingPanel from "@wpmoo/ui/floating-panel.js";
186
+ const panel = FloatingPanel.getOrCreateInstance(document.getElementById("onboarding"));
187
+ // panel.dispose(); // release listeners and restore the original hidden/ARIA state
188
+ ```
189
+
190
+ Use an id on the `data-floating-panel` element. Plain buttons target that id with
191
+ `data-floating-panel-open` or, inside the panel, `data-floating-panel-dismiss`.
192
+ Controls share the panel's nearest `.moo-ui` boundary. An optional
193
+ `data-floating-panel-key` remembers dismissal in browser local storage; use an
194
+ application-owned, account-specific key when appropriate. This is a local UI
195
+ preference, not authorization or server-side task state. See the
196
+ [Card example](https://ui.wpmoo.org/components/card/#floating-panel) for markup.
197
+
171
198
  For an opt-in document overlay scrollbar, load the stylesheet first and pass
172
199
  the resolved page theme owner explicitly:
173
200
 
@@ -181,6 +208,31 @@ const scrollbar = OverlayScrollbar.getOrCreateInstance(document.querySelector(".
181
208
  // scrollbar.dispose(); // restore the native scrollbar
182
209
  ```
183
210
 
211
+ For dependency-free password requirements feedback, initialize an identified
212
+ `fieldset[data-password-requirements]` explicitly:
213
+
214
+ ```js
215
+ import PasswordRequirements from "@wpmoo/ui/password-requirements.js";
216
+ const feedback = PasswordRequirements.getOrCreateInstance(
217
+ document.getElementById("password-rules"),
218
+ );
219
+ await feedback.ready;
220
+ // feedback.dispose(); // restore original markup, attributes and control state
221
+ ```
222
+
223
+ The [Field example](https://ui.wpmoo.org/components/field/#password-feedback-preview)
224
+ shows the rendered contract. Policy version3 supports length, maximum, case,
225
+ number and symbol requirements, plus optional confirmation and submit binding.
226
+ All controls share a form and nearest `.moo-ui` owner. Submit feedback requires
227
+ Bootstrap Tooltip on that document's window. There is no bundled estimator,
228
+ strength score, breached-password lookup, network request or storage access.
229
+ Meeting these checks does **not** establish password strength or replace server
230
+ validation. A trusted host may supply synchronous `analyze(value)`, returning
231
+ `{met: boolean, score: 0..4}`; this callback receives the normalized password and
232
+ owns its security/privacy behavior. Without it no score is produced. `onChange`
233
+ receives only Boolean check states, an active flag and the optional host score.
234
+ See the [public policy contract](https://github.com/wpmoo-org/ui/blob/main/docs/contracts/PACKAGE_SURFACE_DECISIONS.md#200-external-chart-vendors-and-password-requirements).
235
+
184
236
  The module preserves native document/touch/wheel scrolling. Its thin thumb
185
237
  appears while scrolling, near the trailing mouse edge or on keyboard focus;
186
238
  show/hide never reserves a layout gutter. Initial activation removes any native
@@ -223,10 +275,12 @@ calm.
223
275
 
224
276
  ## Status And Support
225
277
 
226
- The `1.4.3` patch release target prepares native-hidden document scrolling
227
- before first paint and preserves the original visibility for explicit overlay
228
- native mode and disposal. Public exports and Bootstrap compatibility remain
229
- unchanged from 1.4.2.
278
+ The `2.0.0` major release target externalizes Chart.js and adds dependency-free password requirements,
279
+ optional host-supplied analysis and native confirmation/submit feedback.
280
+ Field, Input, Button and Tooltip gain additive composition options. Existing
281
+ exports and Bootstrap compatibility are preserved; no estimator is bundled.
282
+ Chart consumers must now install the external Chart.js peer or provide a browser
283
+ import map; the previously self-contained Chart setup changes in this major.
230
284
  Component certification remains
231
285
  `preview`, with its documented manual and browser/device limits. Public exports, package boundaries, browser support, and release evidence live in [Support & Evidence](https://ui.wpmoo.org/support/).
232
286
  Complete release notes are on
@@ -249,8 +303,8 @@ paths live in the [Installation guide](https://ui.wpmoo.org/installation/).
249
303
 
250
304
  Moo UI source code is MIT licensed. License details live in
251
305
  [LICENSE](LICENSE) and the [License page](https://ui.wpmoo.org/license/).
252
- The published `LICENSE` also retains the full MIT notices for bundled
253
- Chart.js and `@kurkle/color`.
254
- Asset terms live in [ASSET_LICENSE.md](ASSET_LICENSE.md); dependency notices
255
- live in the
256
- [version-pinned third-party notices](https://github.com/wpmoo-org/ui/blob/v1.4.3/THIRD_PARTY_NOTICES.md).
306
+ Third-party distribution details and notices are kept separately in
307
+ [THIRD_PARTY_NOTICES.md](https://github.com/wpmoo-org/ui/blob/v2.0.0/THIRD_PARTY_NOTICES.md).
308
+ Catalog visual assets and their license are repository-only and are not
309
+ included in the npm package. Asset terms live in the
310
+ [visual asset license](https://github.com/wpmoo-org/ui/blob/v2.0.0/ASSET_LICENSE.md).
@@ -0,0 +1,87 @@
1
+ # Third-Party Notices
2
+
3
+ Moo UI's own MIT license is kept separately in `LICENSE`. The full Moo CSS
4
+ includes Bootstrap-derived styles. Catalog-only assets and optional external
5
+ Chart vendors have separate distributions and licenses as described below.
6
+
7
+ ## Bootstrap
8
+
9
+ Moo UI vendors the official `twbs/bootstrap` v5.3.3 SCSS source and bundled
10
+ JavaScript. Bootstrap is licensed under the MIT License; the bundled license is
11
+ stored at `vendor/bootstrap/LICENSE`.
12
+
13
+ The MIT License (MIT)
14
+
15
+ Copyright (c) 2011-2024 The Bootstrap Authors
16
+
17
+ Permission is hereby granted, free of charge, to any person obtaining a copy
18
+ of this software and associated documentation files (the "Software"), to deal
19
+ in the Software without restriction, including without limitation the rights
20
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
21
+ copies of the Software, and to permit persons to whom the Software is
22
+ furnished to do so, subject to the following conditions:
23
+
24
+ The above copyright notice and this permission notice shall be included in
25
+ all copies or substantial portions of the Software.
26
+
27
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
28
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
29
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
30
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
31
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
32
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
33
+ THE SOFTWARE.
34
+
35
+ Bootstrap's component and Button documentation are behavior, semantics, and
36
+ accessibility references for this product.
37
+
38
+ ## shadcn/ui
39
+
40
+ Moo UI is designed for server-rendered interfaces that keep Bootstrap markup as
41
+ the durable contract. shadcn/ui is used as a visual-intent and catalog-coverage
42
+ reference. If you are building React and Tailwind applications, use shadcn/ui
43
+ directly: https://ui.shadcn.com/
44
+
45
+ ## Lucide
46
+
47
+ Moo UI vendors a build-time icon metadata subset from Iconify's Lucide icon
48
+ set at `src/icons/lucide-icons.json` and renders selected Lucide icons into the
49
+ generated catalog. Lucide is licensed under the ISC License. The source
50
+ metadata identifies the Lucide project, its contributors, and the upstream
51
+ license URL. The root favicon set (`favicon.svg`, `favicon.ico`,
52
+ `apple-touch-icon.png`, `icon-192.png`, and `icon-512.png`) uses the Lucide
53
+ Blocks geometry and remains covered by the same ISC license notice.
54
+
55
+ ## Geist
56
+
57
+ Moo UI vendors `Geist-Variable.woff2` for catalog chrome typography only.
58
+ Geist is licensed under the SIL Open Font License 1.1 (`OFL-1.1`); the bundled
59
+ license is stored at `vendor/geist/LICENSE`.
60
+
61
+ ## Chart.js
62
+
63
+ Chart.js4.6.1 is an external optional peer of Moo UI, not embedded in either
64
+ `dist/js/chart.js` or `dist/js/chart.min.js`. These files contain the MooChart
65
+ adapter. Consumers install Chart.js separately or serve its native ESM files
66
+ with an import map. The catalog serves exact locked files separately under
67
+ `vendor/chart.js/`, including its unchanged `LICENSE.md`.
68
+
69
+ - **License:** MIT
70
+ - **Source and license:** <https://github.com/chartjs/Chart.js/blob/v4.6.1/LICENSE.md>
71
+
72
+ ## @kurkle/color
73
+
74
+ Color0.3.4 is Chart.js's own dependency, not embedded in the Moo npm archive.
75
+ The catalog serves its native ESM file and unchanged license separately under
76
+ `vendor/@kurkle/color/`. npm consumers receive it through their Chart.js install.
77
+
78
+ - **License:** MIT
79
+ - **Source and license:** <https://github.com/kurkle/color/blob/v0.3.4/LICENSE.md>
80
+
81
+ ## WPMoo visual assets
82
+
83
+ WPMoo-generated visual assets, including image assets under `site/static/images/`,
84
+ are original WPMoo work and are not licensed under MIT unless explicitly
85
+ stated. See the
86
+ [repository visual asset license](https://github.com/wpmoo-org/ui/blob/v2.0.0/ASSET_LICENSE.md).
87
+ These assets and their license file are not included in the npm package.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "schemaVersion": "0.1",
3
3
  "status": "preview",
4
- "coreVersion": "1.4.3",
4
+ "coreVersion": "2.0.0",
5
5
  "bootstrap": {
6
6
  "canonicalVersion": "5.3.3",
7
7
  "targetRange": ">=5.3.0 <5.4",
@@ -21,6 +21,7 @@
21
21
  "./moo.min.css"
22
22
  ],
23
23
  "esm": [
24
+ "./password-requirements.js",
24
25
  "./moo-ui.js",
25
26
  "./moo-ui.min.js",
26
27
  "./combobox.js",
@@ -32,6 +33,7 @@
32
33
  "./overlay-scrollbar.js",
33
34
  "./table-of-contents.js",
34
35
  "./sheet.js",
36
+ "./floating-panel.js",
35
37
  "./chart.js",
36
38
  "./chart.min.js",
37
39
  "./datepicker.js",
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Moo UI v1.4.3 (https://wpmoo.org/)
2
+ * Moo UI v2.0.0 (https://wpmoo.org/)
3
3
  * Copyright 2026 WPMoo Authors
4
4
  * Licensed under MIT (https://github.com/wpmoo-org/ui/blob/main/LICENSE)
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Moo UI v1.4.3 (https://wpmoo.org/)
2
+ * Moo UI v2.0.0 (https://wpmoo.org/)
3
3
  * Copyright 2026 WPMoo Authors
4
4
  * Licensed under MIT (https://github.com/wpmoo-org/ui/blob/main/LICENSE)
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Moo UI v1.4.3 (https://wpmoo.org/)
2
+ * Moo UI v2.0.0 (https://wpmoo.org/)
3
3
  * Copyright 2026 WPMoo Authors
4
4
  * Licensed under MIT (https://github.com/wpmoo-org/ui/blob/main/LICENSE)
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Moo UI v1.4.3 (https://wpmoo.org/)
2
+ * Moo UI v2.0.0 (https://wpmoo.org/)
3
3
  * Copyright 2026 WPMoo Authors
4
4
  * Licensed under MIT (https://github.com/wpmoo-org/ui/blob/main/LICENSE)
5
5
  *