jssm 5.162.12 → 5.162.15

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/README.md CHANGED
@@ -18,10 +18,10 @@ Please edit the file it's derived from, instead: `./src/md/readme_base.md`
18
18
 
19
19
 
20
20
 
21
- * Generated for version 5.162.12 at 7/12/2026, 10:09:04 AM
21
+ * Generated for version 5.162.15 at 7/13/2026, 9:45:00 AM
22
22
 
23
23
  -->
24
- # jssm 5.162.12
24
+ # jssm 5.162.15
25
25
 
26
26
  [**Try the live editor**](https://stonecypher.github.io/jssm-viz-demo/graph_explorer.html) ·
27
27
  [Documentation](https://stonecypher.github.io/jssm/docs/) ·
@@ -333,7 +333,7 @@ That decision shows up everywhere downstream:
333
333
  or run `npm run benny` against your own machine.
334
334
 
335
335
  - **More thoroughly tested than any other JavaScript state-machine
336
- library.** 8,640 tests at 100.0% line coverage
336
+ library.** 8,691 tests at 100.0% line coverage
337
337
  ([report](https://coveralls.io/github/StoneCypher/jssm)), plus
338
338
  fuzz testing via `fast-check`, with parser test data across ten natural
339
339
  languages and Emoji.
@@ -350,6 +350,7 @@ That decision shows up everywhere downstream:
350
350
  - [Tutorial: a four-state traffic light](https://github.com/StoneCypher/jssm/blob/main/src/doc_md/Tutorial_TrafficLight.md) - short walkthrough that introduces the three arrow types
351
351
  - [Tutorial: building an ATM state machine](https://github.com/StoneCypher/jssm/blob/main/src/doc_md/Tutorial_ATM.md) - longer walkthrough that builds a real-world machine in nine incremental steps
352
352
  - [Language reference](https://github.com/StoneCypher/jssm/blob/main/src/doc_md/LanguageReference.md) - DSL reference for people already comfortable with state machines
353
+ - [Styling nodes and graphs](https://github.com/StoneCypher/jssm/blob/main/src/doc_md/Styling.md) - the built-in named color themes and how to select them from FSL source, code, Markdown fences, the CLI, and web components
353
354
  - [Catalog of example machines](https://github.com/StoneCypher/jssm/blob/main/src/doc_md/ExampleMachines.md) - comparison table of worked examples (light switch, traffic light, intersection, vending machine, more)
354
355
  - [Generated API reference](https://stonecypher.github.io/jssm/docs/) - full surface, generated from the TypeScript source
355
356
 
@@ -467,11 +468,11 @@ If your contribution is missing here, please open an issue.
467
468
 
468
469
  <br/>
469
470
 
470
- ***8,640 tests***, run 98,037 times.
471
+ ***8,691 tests***, run 98,088 times.
471
472
 
472
- - 7,737 specs with 100.0% coverage
473
- - 903 fuzz tests with 56.5% coverage
474
- - 10,946 TypeScript lines - 0.8 tests per line, 9.0 generated tests per line
473
+ - 7,788 specs with 100.0% coverage
474
+ - 903 fuzz tests with 56.3% coverage
475
+ - 11,054 TypeScript lines - 0.8 tests per line, 8.9 generated tests per line
475
476
 
476
477
  [![Actions Status](https://github.com/StoneCypher/jssm/workflows/Node%20CI/badge.svg)](https://github.com/StoneCypher/jssm/actions)
477
478
  [![NPM version](https://img.shields.io/npm/v/jssm.svg)](https://www.npmjs.com/package/jssm)
@@ -4489,6 +4489,11 @@
4489
4489
  "description": "Minimum height of the rendered SVG container.",
4490
4490
  "name": "--jssm-viz-min-height",
4491
4491
  "default": "100px"
4492
+ },
4493
+ {
4494
+ "description": "Maximum height of the control; the rendered SVG stays bounded (aspect preserved, letterboxed) within it. Equivalent to setting `max-height` on the host from outside, without shadow surgery.",
4495
+ "name": "--jssm-viz-max-height",
4496
+ "default": "none"
4492
4497
  }
4493
4498
  ],
4494
4499
  "members": [
@@ -4610,7 +4615,7 @@
4610
4615
  "description": "Highlight styling; see {@link HighlightOptions}. Defaults\r\n * to crimson with off-trace fading enabled.\r\n * "
4611
4616
  }
4612
4617
  ],
4613
- "description": "Programmatically highlights one execution trace (a path of state names)\r\nthrough the rendered graph, optionally fading everything off the path.\r\n\r\nMatches nodes by their Graphviz `<title>` (the state name) and edges by\r\nthe `from->to` title Graphviz emits, applying inline style overrides so\r\nthe highlight composes over — and is reversible against — the default\r\nrendering (see clearHighlights, which this calls first). No-ops\r\nwhen detached, before the first render, or given an empty trace.\r\n\r\n```typescript\r\n// Highlight a -> b -> c in green, without dimming the rest:\r\nviz.highlightTrace(['a', 'b', 'c'], { color: '#2e7d32', fadeOthers: false });\r\n```"
4618
+ "description": "Programmatically highlights one execution trace (a path of state names)\r\nthrough the rendered graph, optionally fading everything off the path.\r\n\r\nMatches nodes by their Graphviz `<title>` and edges by the `from->to`\r\ntitle Graphviz emits, applying inline style overrides so the highlight\r\ncomposes over — and is reversible against — the default rendering (see\r\nclearHighlights, which this calls first). No-ops when detached,\r\nbefore the first render, or given an empty trace.\r\n\r\nBecause dot generation slugs state names into node identifiers (fsl#1935\r\n— `'Wrong Pin'` renders with `<title>wrong-pin</title>`), each trace name\r\nis matched in **both** its raw form and its slugged form, using the same\r\n`slug_for` the dot generator uses. Display names (`'Red'`, `'Wrong Pin'`,\r\n`'Röd'`) and already-slug-form names (`'red'`, `'wrong-pin'`) therefore\r\nboth work. Names whose slug is empty (e.g. `'!!!'`, which renders under\r\nan indexed `node-N` title) are only matchable by passing that literal\r\n`node-N` title.\r\n\r\n```typescript\r\n// Highlight a -> b -> c in green, without dimming the rest:\r\nviz.highlightTrace(['a', 'b', 'c'], { color: '#2e7d32', fadeOthers: false });\r\n\r\n// Display-form names match their slugged titles:\r\nviz.highlightTrace(['Wrong Pin', 'Alarm']); // titles wrong-pin, alarm\r\n```"
4614
4619
  }
4615
4620
  ],
4616
4621
  "events": [
@@ -4970,6 +4975,14 @@
4970
4975
  "name": "FslStochastic",
4971
4976
  "module": "./fsl_stochastic_wc.js"
4972
4977
  }
4978
+ },
4979
+ {
4980
+ "kind": "js",
4981
+ "name": "FslInfoPanel",
4982
+ "declaration": {
4983
+ "name": "FslInfoPanel",
4984
+ "module": "./fsl_info_panel_wc.js"
4985
+ }
4973
4986
  }
4974
4987
  ]
4975
4988
  }