@nxgt/material-core 0.9.0 → 0.9.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/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # @nxgt/material-core
2
2
 
3
+ ## 0.9.1
4
+
5
+ ### Patch Changes
6
+
7
+ - [#541](https://github.com/softistx/nxgt-material/pull/541) [`6d10133`](https://github.com/softistx/nxgt-material/commit/6d1013356e8c42631166b6281081811912e31323) Thanks [@SteveGT96](https://github.com/SteveGT96)! - The roadmaps plan one Vite plugin for the setup, and list the strict Content
8
+ Security Policy as shipped.
9
+
3
10
  ## 0.9.0
4
11
 
5
12
  ### Minor Changes
package/docs/roadmap.md CHANGED
@@ -6,18 +6,33 @@ major they target.
6
6
 
7
7
  ## Now
8
8
 
9
- - **The page's Content Security Policy nonce** (`/csp-nonce`) — one place
10
- both libraries read the nonce from, so every `<style>` they create carries
11
- it under a strict `style-src-elem`, and a `build.assetsInlineLimit`
12
- (`cspAssetsInlineLimit` in `/vite`) that keeps fonts out of `data:` URIs.
13
- Shipped here first; both libraries use it now.
14
-
15
- - **Built on first use** (`/lazy-object`) — `buildOnce` and `lazyObject`,
16
- with which both libraries build their zod schemas on first use rather
17
- than at import, so an app under a strict CSP can configure zod first.
9
+ Nothing is in progress.
18
10
 
19
11
  ## Next
20
12
 
13
+ - **One Vite plugin for the whole setup** — `nxgtMaterial()` is implemented
14
+ once in `/vite` and re-exported by `@nxgt/material/vite` and
15
+ `@nxgt/material-vue/vite`, so both libraries get the same one-call setup.
16
+ Every option is on by default and each can be turned off or refined; the
17
+ helpers that exist today (`cspAssetsInlineLimit` and the others) stay
18
+ exported.
19
+ - `csp`: a nonce placeholder through `html.cspNonce` and
20
+ `applyCspNonce(html, nonce)`; zod's jitless mode as an inline nonced
21
+ script in `index.html` (`ZOD_JITLESS_SCRIPT` for server rendering); the
22
+ recommended policy sent by the dev server as Report-Only.
23
+ - `fonts`: the KaTeX fonts emitted as files, and `sans: 'inter'` for a
24
+ self-hosted Inter.
25
+ - `styles`: a build that fails with the exact fix when the stylesheet import
26
+ or the `@source` line is missing.
27
+ - `pdf`: pdfkit's standard fonts handled automatically when
28
+ `@react-pdf/renderer` is installed, and `bundle: true` (the Nuxt module's
29
+ `pdf.bundleStandardFonts` today) for a server that has no
30
+ `node_modules`.
31
+ - Nuxt: the Nuxt module takes the same options.
32
+ - Server helpers: `createCspNonce()` (Web Crypto) and `cspPolicy({ ... })`,
33
+ which returns `{ directives, header }` as `@nxgt/material`'s
34
+ Content Security Policy guide describes; `NonceProvider`'s `nonce`
35
+ becomes optional on the client. Ships as minors.
21
36
  - **The shared media player** — the player state machine (playback, queue and
22
37
  shuffle, chapters, transcript sync, resume position, quality levels, Wake
23
38
  Lock), its keyboard shortcuts and the shortcut-help list, so
@@ -46,6 +61,8 @@ major they target.
46
61
 
47
62
  ## Not planned
48
63
 
64
+ - **A Next.js plugin** — the plugin targets Vite only. No supported consumer
65
+ builds with Next.js, and `withNxgtPrint` stays the config helper for it.
49
66
  - **Components.** This package stays framework-free: React components are in
50
67
  `@nxgt/material`, Vue ones in `@nxgt/material-vue`.
51
68
  - **A fake DOM for tests.** The one the libraries' own tests use is the
@@ -59,6 +76,13 @@ major they target.
59
76
 
60
77
  ## Shipped
61
78
 
79
+ - **The page's Content Security Policy nonce** (`/csp-nonce`) — one place both
80
+ libraries read the nonce from, so every `<style>` they create carries it
81
+ under a strict `style-src-elem`, and `cspAssetsInlineLimit` (`/vite`), which
82
+ keeps fonts out of `data:` URIs. 0.9.0.
83
+ - **Built on first use** (`/lazy-object`) — `buildOnce` and `lazyObject`, with
84
+ which both libraries build their zod schemas on first use rather than at
85
+ import, so an app under a strict CSP can configure zod first. 0.9.0.
62
86
  - **Debounce, text matching and the async search** (`/debounce`,
63
87
  `/text-match`, `/async-search`) — the debounce both libraries'
64
88
  `SearchField` kept a copy of each, accent- and case-insensitive matching,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nxgt/material-core",
3
- "version": "0.9.0",
3
+ "version": "0.9.1",
4
4
  "description": "The framework-free core of @nxgt/material and @nxgt/material-vue: the PDF document model and its react-pdf renderer, print formatters, PDF file helpers, the PDF viewer's pure modules, the currency digits, the file-size formatter, the field-blur layers, a field's first focusable control, the aria-describedby joiner, the inert background of a modal layer, Escape forwarded while an overlay closes, the Toaster's touch-hover guard and its focus hand-back, the page's Content Security Policy nonce, an object built on first use, the zod issue messages, the date range presets, the debounce, accent-insensitive text matching and the race-free async search behind Autocomplete and SearchField, the file preview's kind detection and text reader, the pdfkit fonts Vite plugin, a CSP-safe Vite assetsInlineLimit and the Node-only pdfkit fonts resolution for Next.js and Nuxt builds",
5
5
  "license": "MIT",
6
6
  "bugs": {