smbls 3.14.839 → 3.14.841

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.
Files changed (42) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +28 -4
  3. package/dist/smbls.cjs +45 -44
  4. package/dist/smbls.cjs.map +3 -3
  5. package/dist/smbls.core.chunk-LBCOGPQA.esm.js +38 -0
  6. package/dist/smbls.core.chunk-LBCOGPQA.esm.js.map +6 -0
  7. package/dist/smbls.core.chunk-MCONKV7B.esm.js +4 -0
  8. package/dist/smbls.core.chunk-MCONKV7B.esm.js.map +6 -0
  9. package/dist/{smbls.core.chunk-7JOJ6YVP.esm.js → smbls.core.chunk-TCG3IHHN.esm.js} +2 -2
  10. package/dist/smbls.core.chunk-TCG3IHHN.esm.js.map +6 -0
  11. package/dist/smbls.core.chunk-ZHQLDZRA.esm.js +36 -0
  12. package/dist/smbls.core.chunk-ZHQLDZRA.esm.js.map +6 -0
  13. package/dist/{smbls.core.dropdown-6BUJ7B4T.esm.js → smbls.core.dropdown-3KQXEVA7.esm.js} +2 -2
  14. package/dist/smbls.core.esm.js +1 -1
  15. package/dist/smbls.core.fetch-L2MDZV25.esm.js +2 -0
  16. package/dist/smbls.core.fetch-L2MDZV25.esm.js.map +6 -0
  17. package/dist/{smbls.core.fetchOnCreate-QRFDUMYQ.esm.js → smbls.core.fetchOnCreate-GJOL6VHT.esm.js} +2 -2
  18. package/dist/{smbls.core.inspect-LT4KISKW.esm.js → smbls.core.inspect-RK43N6ZS.esm.js} +2 -2
  19. package/dist/{smbls.core.sync-MZGPA246.esm.js → smbls.core.sync-EGQBZXO4.esm.js} +2 -2
  20. package/dist/{smbls.core.windows-NGKITYP7.esm.js → smbls.core.windows-J5KM6ECG.esm.js} +2 -2
  21. package/dist/smbls.embed.iife.js +1 -1
  22. package/dist/smbls.embed.iife.js.map +1 -1
  23. package/dist/smbls.esm.js +45 -44
  24. package/dist/smbls.esm.js.map +3 -3
  25. package/dist/smbls.iife-string.js +2 -2
  26. package/dist/smbls.iife.js +2 -2
  27. package/dist/smbls.iife.js.map +1 -1
  28. package/package.json +9 -9
  29. package/dist/smbls.core.chunk-22BLOP75.esm.js +0 -36
  30. package/dist/smbls.core.chunk-22BLOP75.esm.js.map +0 -6
  31. package/dist/smbls.core.chunk-7JOJ6YVP.esm.js.map +0 -6
  32. package/dist/smbls.core.chunk-NJZRPU6B.esm.js +0 -3
  33. package/dist/smbls.core.chunk-NJZRPU6B.esm.js.map +0 -6
  34. package/dist/smbls.core.chunk-PAAPLH2M.esm.js +0 -38
  35. package/dist/smbls.core.chunk-PAAPLH2M.esm.js.map +0 -6
  36. package/dist/smbls.core.fetch-CCNEQJHY.esm.js +0 -2
  37. package/dist/smbls.core.fetch-CCNEQJHY.esm.js.map +0 -6
  38. /package/dist/{smbls.core.dropdown-6BUJ7B4T.esm.js.map → smbls.core.dropdown-3KQXEVA7.esm.js.map} +0 -0
  39. /package/dist/{smbls.core.fetchOnCreate-QRFDUMYQ.esm.js.map → smbls.core.fetchOnCreate-GJOL6VHT.esm.js.map} +0 -0
  40. /package/dist/{smbls.core.inspect-LT4KISKW.esm.js.map → smbls.core.inspect-RK43N6ZS.esm.js.map} +0 -0
  41. /package/dist/{smbls.core.sync-MZGPA246.esm.js.map → smbls.core.sync-EGQBZXO4.esm.js.map} +0 -0
  42. /package/dist/{smbls.core.windows-NGKITYP7.esm.js.map → smbls.core.windows-J5KM6ECG.esm.js.map} +0 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # smbls
2
2
 
3
+ ## 3.14.841
4
+
5
+ ### Patch Changes
6
+
7
+ - Regressions of 3.14.840 found by the workspace bump: a `<style>` without a sheet drops its rules instead of throwing a WeakMap error (an iframe app whose frame is removed); a boot whose document goes away during the first-render yield resolves unmounted; the iife and embed bundles end with a newline again (code appended after the source-map comment ran as a comment); an `inertOutside` layer opened at boot is modal at once.
8
+
9
+ ## 3.14.840
10
+
11
+ ### Patch Changes
12
+
13
+ - XMA round 3 (performance): a pre-rendered page is adopted in short tasks; the first render puts rows on screen whole; the design system is prepared at build time and adopted by the page; `smbls build` adds V8 compile hints and (opt-in, `build.modulePreload`) lazy-module preloads; brender's preload goes after the import map; pre-built pages can be flagged stale (`fetch.seed.isStale` / `maxAge` / `onRefresh`, `<html data-smbls-stale>`); routes without their own page answer with 200.html on every deploy target; the app starts in the address's language (`addressLang`) and adopts the seeded answers; `DropdownDisclosure` and Dialog `locked`; frank-audit accepts DOM work on a bridged library's and a parsed document's own nodes; a server render waits for its own labels (label loads in flight are per app); mermaid renderProjectHtml takes a caller-resolved head (`options.metadata`) and `metadata.source` is never a tag.
14
+
3
15
  ## 3.14.839
4
16
 
5
17
  ### Patch Changes
package/README.md CHANGED
@@ -98,7 +98,11 @@ page are built in chunks of 10 ms (`@symbo.ls/element` yielding mounts).
98
98
  The first view is painted once. The root is built outside the document and
99
99
  goes in with one insertion when the shell and the first page are complete, so
100
100
  the first paint shows the whole first view, as when the boot was one task, and
101
- nothing on screen moves.
101
+ nothing on screen moves. What reaches the document while the first render
102
+ still yields — rows a state update (a fetched list) builds as the root goes
103
+ in — goes in whole too: an element whose children are still being built
104
+ waits outside its parent until its last chunk is in (`@symbo.ls/element`
105
+ `mountWhole`), so a row never shows with only its first children.
102
106
 
103
107
  ```js
104
108
  create(App, { firstRender: 8 }) // chunks of 8 ms
@@ -131,9 +135,29 @@ When things happen:
131
135
  - A project's own `domqlOptions.mountYield` wins over the 10 ms budget. After
132
136
  the first render, reconciles, `if:` and navigations build in one go again
133
137
  unless the project set `domqlOptions.mountYield`.
134
- - A boot over a pre-rendered (brender) page builds its shell and page in one
135
- task over the server markup (only the entry script's task ends first); a
136
- server render keeps the whole boot in one task.
138
+ - A boot over a pre-rendered (brender) page adopts the server markup in the
139
+ same short tasks: the shell, then the first page in a task of its own, in
140
+ chunks of the budget. The server's nodes stay on screen while each element
141
+ takes its own, so nothing visible changes. `create()` resolves once the
142
+ adoption is done; no `onMounted` runs before it; the hydration window (and
143
+ `window.__BRENDER_HYDRATION__`) is counted from its end. A click on a server
144
+ node whose element is not built yet is held and dispatched again, once, on
145
+ the same node when the adoption is done (an element already adopted handles
146
+ its own events at once); input during the adoption does not close the
147
+ window. `firstRender: false` adopts in one task, as before; a page that
148
+ replaces the server markup (no registry, `hydrate: false`) renders in one
149
+ task; a server render keeps the whole boot in one task.
150
+ - A pre-rendered page shows the data of its build (`smbls build` pages: until
151
+ the next build). `el.context.prerender` is the build it comes from,
152
+ `{ stamp, time }` (`<meta name="brender-stamp">`). When the page is flagged
153
+ stale (`<html data-smbls-stale>`, or the project's `fetch.seed.isStale` /
154
+ `fetch.seed.maxAge`), it is adopted from the build's data as any page is,
155
+ and when the hydration window closes (on a replaced page: when its first
156
+ view has settled) the fetch plugin asks again, at idle, for exactly what
157
+ took a recorded answer and swaps in what changed;
158
+ `window.__BRENDER_HYDRATION__.refreshed` counts it. A page that is not
159
+ stale sends nothing extra. See `@symbo.ls/fetch`, "A pre-built page shows
160
+ the data of its build".
137
161
 
138
162
  ## Plugins
139
163