nodality 1.3.8 → 1.3.10

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 (208) hide show
  1. package/bin/nodality.mjs +1 -1
  2. package/dist/animator.cjs.js.LICENSE.txt +1 -1
  3. package/dist/animator.esm.js.LICENSE.txt +1 -1
  4. package/dist/audionew.cjs.js.LICENSE.txt +1 -1
  5. package/dist/audionew.esm.js.LICENSE.txt +1 -1
  6. package/dist/base.cjs.js.LICENSE.txt +1 -1
  7. package/dist/base.esm.js.LICENSE.txt +1 -1
  8. package/dist/beta-desktop-bar.cjs.js.LICENSE.txt +1 -1
  9. package/dist/beta-desktop-bar.esm.js.LICENSE.txt +1 -1
  10. package/dist/beta-mobile-bar.cjs.js.LICENSE.txt +1 -1
  11. package/dist/beta-mobile-bar.esm.js.LICENSE.txt +1 -1
  12. package/dist/bundle.umd.js +1 -1
  13. package/dist/bundle.umd.js.LICENSE.txt +1 -1
  14. package/dist/button.cjs.js.LICENSE.txt +1 -1
  15. package/dist/button.esm.js.LICENSE.txt +1 -1
  16. package/dist/card-getter.cjs.js.LICENSE.txt +1 -1
  17. package/dist/card-getter.esm.js.LICENSE.txt +1 -1
  18. package/dist/center.cjs.js.LICENSE.txt +1 -1
  19. package/dist/center.esm.js.LICENSE.txt +1 -1
  20. package/dist/checkbox.cjs.js.LICENSE.txt +1 -1
  21. package/dist/checkbox.esm.js.LICENSE.txt +1 -1
  22. package/dist/code.cjs.js.LICENSE.txt +1 -1
  23. package/dist/code.esm.js.LICENSE.txt +1 -1
  24. package/dist/container.cjs.js.LICENSE.txt +1 -1
  25. package/dist/container.esm.js.LICENSE.txt +1 -1
  26. package/dist/data-list.cjs.js.LICENSE.txt +1 -1
  27. package/dist/data-list.esm.js.LICENSE.txt +1 -1
  28. package/dist/designer.cjs.js +1 -1
  29. package/dist/designer.cjs.js.LICENSE.txt +1 -1
  30. package/dist/designer.esm.js +1 -1
  31. package/dist/designer.esm.js.LICENSE.txt +1 -1
  32. package/dist/element-mapper.cjs.js +1 -1
  33. package/dist/element-mapper.cjs.js.LICENSE.txt +1 -1
  34. package/dist/element-mapper.esm.js +1 -1
  35. package/dist/element-mapper.esm.js.LICENSE.txt +1 -1
  36. package/dist/finalresult.esm.js +2 -2
  37. package/dist/finalresult.esm.js.LICENSE.txt +1 -1
  38. package/dist/flex-card.cjs.js.LICENSE.txt +1 -1
  39. package/dist/flex-card.esm.js.LICENSE.txt +1 -1
  40. package/dist/flex-grid.cjs.js.LICENSE.txt +1 -1
  41. package/dist/flex-grid.esm.js.LICENSE.txt +1 -1
  42. package/dist/flex-row.cjs.js.LICENSE.txt +1 -1
  43. package/dist/flex-row.esm.js.LICENSE.txt +1 -1
  44. package/dist/floating-input.cjs.js.LICENSE.txt +1 -1
  45. package/dist/floating-input.esm.js.LICENSE.txt +1 -1
  46. package/dist/free.cjs.js.LICENSE.txt +1 -1
  47. package/dist/free.esm.js.LICENSE.txt +1 -1
  48. package/dist/horizontal-scroller.cjs.js.LICENSE.txt +1 -1
  49. package/dist/horizontal-scroller.esm.js.LICENSE.txt +1 -1
  50. package/dist/image-picker.cjs.js.LICENSE.txt +1 -1
  51. package/dist/image-picker.esm.js.LICENSE.txt +1 -1
  52. package/dist/image.cjs.js.LICENSE.txt +1 -1
  53. package/dist/image.esm.js.LICENSE.txt +1 -1
  54. package/dist/index.cjs.js +1 -1
  55. package/dist/index.cjs.js.LICENSE.txt +1 -1
  56. package/dist/index.d.ts +17 -2
  57. package/dist/index.esm.js +2 -2
  58. package/dist/index.esm.js.LICENSE.txt +1 -1
  59. package/dist/keyframe-animation.cjs.js.LICENSE.txt +1 -1
  60. package/dist/keyframe-animation.esm.js.LICENSE.txt +1 -1
  61. package/dist/link-getter.cjs.js.LICENSE.txt +1 -1
  62. package/dist/link-getter.esm.js.LICENSE.txt +1 -1
  63. package/dist/link.cjs.js.LICENSE.txt +1 -1
  64. package/dist/link.esm.js.LICENSE.txt +1 -1
  65. package/dist/meta-adder.cjs.js.LICENSE.txt +1 -1
  66. package/dist/meta-adder.esm.js.LICENSE.txt +1 -1
  67. package/dist/modal-2025.cjs.js.LICENSE.txt +1 -1
  68. package/dist/modal-2025.esm.js.LICENSE.txt +1 -1
  69. package/dist/multiswitcher.cjs.js.LICENSE.txt +1 -1
  70. package/dist/multiswitcher.esm.js.LICENSE.txt +1 -1
  71. package/dist/new-nav-bar.cjs.js.LICENSE.txt +1 -1
  72. package/dist/new-nav-bar.esm.js.LICENSE.txt +1 -1
  73. package/dist/picker.cjs.js.LICENSE.txt +1 -1
  74. package/dist/picker.esm.js.LICENSE.txt +1 -1
  75. package/dist/progress.cjs.js.LICENSE.txt +1 -1
  76. package/dist/progress.esm.js.LICENSE.txt +1 -1
  77. package/dist/radio.cjs.js.LICENSE.txt +1 -1
  78. package/dist/radio.esm.js.LICENSE.txt +1 -1
  79. package/dist/range.cjs.js.LICENSE.txt +1 -1
  80. package/dist/range.esm.js.LICENSE.txt +1 -1
  81. package/dist/scroll-video.cjs.js.LICENSE.txt +1 -1
  82. package/dist/scroll-video.esm.js.LICENSE.txt +1 -1
  83. package/dist/side-bar.cjs.js.LICENSE.txt +1 -1
  84. package/dist/side-bar.esm.js.LICENSE.txt +1 -1
  85. package/dist/side-nav-bar.cjs.js.LICENSE.txt +1 -1
  86. package/dist/side-nav-bar.esm.js.LICENSE.txt +1 -1
  87. package/dist/simple-bar.cjs.js.LICENSE.txt +1 -1
  88. package/dist/simple-bar.esm.js.LICENSE.txt +1 -1
  89. package/dist/slider-2025.cjs.js.LICENSE.txt +1 -1
  90. package/dist/slider-2025.esm.js.LICENSE.txt +1 -1
  91. package/dist/spacer.cjs.js.LICENSE.txt +1 -1
  92. package/dist/spacer.esm.js.LICENSE.txt +1 -1
  93. package/dist/stack.cjs.js.LICENSE.txt +1 -1
  94. package/dist/stack.esm.js.LICENSE.txt +1 -1
  95. package/dist/stacker.cjs.js.LICENSE.txt +1 -1
  96. package/dist/stacker.esm.js.LICENSE.txt +1 -1
  97. package/dist/table.cjs.js.LICENSE.txt +1 -1
  98. package/dist/table.esm.js.LICENSE.txt +1 -1
  99. package/dist/text-field.cjs.js.LICENSE.txt +1 -1
  100. package/dist/text-field.esm.js.LICENSE.txt +1 -1
  101. package/dist/text.cjs.js.LICENSE.txt +1 -1
  102. package/dist/text.esm.js.LICENSE.txt +1 -1
  103. package/dist/theme.cjs.js.LICENSE.txt +1 -1
  104. package/dist/theme.esm.js.LICENSE.txt +1 -1
  105. package/dist/transform-anim.cjs.js.LICENSE.txt +1 -1
  106. package/dist/transform-anim.esm.js.LICENSE.txt +1 -1
  107. package/dist/ulist.cjs.js.LICENSE.txt +1 -1
  108. package/dist/ulist.esm.js.LICENSE.txt +1 -1
  109. package/dist/video.cjs.js +1 -1
  110. package/dist/video.cjs.js.LICENSE.txt +1 -1
  111. package/dist/video.esm.js +1 -1
  112. package/dist/video.esm.js.LICENSE.txt +1 -1
  113. package/dist/wrap.cjs.js.LICENSE.txt +1 -1
  114. package/dist/wrap.esm.js.LICENSE.txt +1 -1
  115. package/dist/zoom-card.cjs.js.LICENSE.txt +1 -1
  116. package/dist/zoom-card.esm.js.LICENSE.txt +1 -1
  117. package/layout/animator.js +1 -1
  118. package/layout/audio.js +1 -1
  119. package/layout/audionew.js +1 -1
  120. package/layout/base.js +1 -1
  121. package/layout/beta-desktop-bar.js +1 -1
  122. package/layout/beta-mobile-bar.js +1 -1
  123. package/layout/button.js +1 -1
  124. package/layout/center.js +1 -1
  125. package/layout/checkbox.js +1 -1
  126. package/layout/circle.js +1 -1
  127. package/layout/code.js +1 -1
  128. package/layout/container.js +1 -1
  129. package/layout/dropdown-2025.js +1 -1
  130. package/layout/flex-card.js +1 -1
  131. package/layout/flex-grid.js +1 -1
  132. package/layout/flex-row.js +1 -1
  133. package/layout/form-components/custom.js +1 -1
  134. package/layout/form-components/data-list.js +1 -1
  135. package/layout/form-components/floating-input.js +1 -1
  136. package/layout/form-components/form-all.js +1 -1
  137. package/layout/form-components/form.js +1 -1
  138. package/layout/form-components/image-picker.js +1 -1
  139. package/layout/form-components/picker.js +1 -1
  140. package/layout/form-components/radio.js +1 -1
  141. package/layout/form-components/radiogroup.js +1 -1
  142. package/layout/form-components/range.js +1 -1
  143. package/layout/free.js +1 -1
  144. package/layout/grid-overlay.js +296 -0
  145. package/layout/grid-switcher.js +1 -1
  146. package/layout/grid.js +1 -1
  147. package/layout/horizontal-scroller.js +1 -1
  148. package/layout/image.js +1 -1
  149. package/layout/index.js +5 -1
  150. package/layout/link.js +1 -1
  151. package/layout/list.js +1 -1
  152. package/layout/meta-adder.js +1 -1
  153. package/layout/modal-2025.js +1 -1
  154. package/layout/morph.js +1 -1
  155. package/layout/multiswitcher.js +1 -1
  156. package/layout/nav-bar.js +1 -1
  157. package/layout/nav-factor/custom-div.js +1 -1
  158. package/layout/new-nav-bar.js +1 -1
  159. package/layout/polygon.js +1 -1
  160. package/layout/prerender-site.js +1 -1
  161. package/layout/prerender.js +1 -1
  162. package/layout/progress.js +1 -1
  163. package/layout/row.js +1 -1
  164. package/layout/scroll-video.js +1 -1
  165. package/layout/side-bar.js +1 -1
  166. package/layout/side-nav-bar.js +1 -1
  167. package/layout/simple-bar.js +1 -1
  168. package/layout/slider-2025.js +1 -1
  169. package/layout/spacer.js +1 -1
  170. package/layout/stack.js +1 -1
  171. package/layout/svg.js +1 -1
  172. package/layout/switcher.js +1 -1
  173. package/layout/table.js +1 -1
  174. package/layout/text-field.js +1 -1
  175. package/layout/text.js +1 -1
  176. package/layout/ulist.js +1 -1
  177. package/layout/video.js +206 -38
  178. package/layout/wrap.js +1 -1
  179. package/layout/zoom-card.js +1 -1
  180. package/lib/agent-surface.js +1 -1
  181. package/lib/card-getter.js +1 -1
  182. package/lib/check-page.js +1 -1
  183. package/lib/codegen.js +1 -1
  184. package/lib/data.js +1 -1
  185. package/lib/designer.js +4 -2
  186. package/lib/element-mapper.js +36 -3
  187. package/lib/element-params.generated.js +2 -2
  188. package/lib/grid-geometry.js +137 -0
  189. package/lib/keyframe-animation.js +1 -1
  190. package/lib/link-getter.js +1 -1
  191. package/lib/morph-node.js +1 -1
  192. package/lib/normalize-spec.js +1 -1
  193. package/lib/parse-html.js +1 -1
  194. package/lib/raster-inspect.js +1 -1
  195. package/lib/raster-ops.js +1 -1
  196. package/lib/raster-presets.js +1 -1
  197. package/lib/resolve-refs.js +1 -1
  198. package/lib/scroll-video.js +1 -1
  199. package/lib/seo.js +1 -1
  200. package/lib/stacker.js +1 -1
  201. package/lib/suggest.js +1 -1
  202. package/lib/theme.js +1 -1
  203. package/lib/transform-anim.js +1 -1
  204. package/lib/transition.js +1 -1
  205. package/lib/validate-nodes.js +1 -1
  206. package/lib/webmcp-adapter.js +1 -1
  207. package/package.json +1 -1
  208. package/schema.json +165 -6
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * nodality v1.3.8
2
+ * nodality v1.3.10
3
3
  * (c) 2026 Filip Vabrousek
4
4
  * License: MIT
5
5
  */
package/lib/seo.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * nodality v1.3.8
2
+ * nodality v1.3.10
3
3
  * (c) 2026 Filip Vabrousek
4
4
  * License: MIT
5
5
  */
package/lib/stacker.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * nodality v1.3.8
2
+ * nodality v1.3.10
3
3
  * (c) 2026 Filip Vabrousek
4
4
  * License: MIT
5
5
  */
package/lib/suggest.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * nodality v1.3.8
2
+ * nodality v1.3.10
3
3
  * (c) 2026 Filip Vabrousek
4
4
  * License: MIT
5
5
  */
package/lib/theme.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * nodality v1.3.8
2
+ * nodality v1.3.10
3
3
  * (c) 2026 Filip Vabrousek
4
4
  * License: MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * nodality v1.3.8
2
+ * nodality v1.3.10
3
3
  * (c) 2026 Filip Vabrousek
4
4
  * License: MIT
5
5
  */
package/lib/transition.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * nodality v1.3.8
2
+ * nodality v1.3.10
3
3
  * (c) 2026 Filip Vabrousek
4
4
  * License: MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * nodality v1.3.8
2
+ * nodality v1.3.10
3
3
  * (c) 2026 Filip Vabrousek
4
4
  * License: MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * nodality v1.3.8
2
+ * nodality v1.3.10
3
3
  * (c) 2026 Filip Vabrousek
4
4
  * License: MIT
5
5
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nodality",
3
- "version": "1.3.8",
3
+ "version": "1.3.10",
4
4
  "description": "A lightweight library for declarative UI elements.",
5
5
  "main": "dist/index.cjs.js",
6
6
  "module": "dist/index.esm.js",
package/schema.json CHANGED
@@ -4593,16 +4593,85 @@
4593
4593
  "Set"
4594
4594
  ],
4595
4595
  "params": [
4596
+ {
4597
+ "name": "aspectRatio",
4598
+ "description": "Box proportion held before the video loads, e.g. \"16 / 9\". Prevents the page shifting when the first frame arrives."
4599
+ },
4600
+ {
4601
+ "name": "autoplay",
4602
+ "description": "Start on its own. Implies muted and playsinline, pauses off screen and in a hidden tab, and is cancelled by prefers-reduced-motion (the poster stays)."
4603
+ },
4604
+ {
4605
+ "name": "background",
4606
+ "description": "CSS background behind the frame — visible while the poster loads."
4607
+ },
4608
+ {
4609
+ "name": "controls",
4610
+ "description": "Show the browser's playback controls. Default true — pass false for an ambient loop."
4611
+ },
4612
+ {
4613
+ "name": "decorative",
4614
+ "description": "Hide from assistive technology. For an ambient loop that repeats what the page already says in text."
4615
+ },
4616
+ {
4617
+ "name": "height",
4618
+ "description": "CSS height of the element."
4619
+ },
4596
4620
  {
4597
4621
  "name": "id",
4598
- "description": "This element's DOM id. Also what a design node's `target` names, and what `parse` recovers an element by."
4622
+ "description": "DOM id. Also what a node's `target` names, so a clip carrying a raster op needs one."
4599
4623
  },
4600
4624
  {
4601
- "name": "opacity"
4625
+ "name": "label",
4626
+ "description": "Accessible name, for a clip that carries meaning."
4627
+ },
4628
+ {
4629
+ "name": "lazy",
4630
+ "description": "Only play while on screen. On by default whenever `autoplay` is set; pass false to keep an autoplaying clip running off screen."
4631
+ },
4632
+ {
4633
+ "name": "loop",
4634
+ "description": "Restart when the clip ends."
4635
+ },
4636
+ {
4637
+ "name": "maxWidth",
4638
+ "description": "CSS max-width of the element."
4639
+ },
4640
+ {
4641
+ "name": "muted",
4642
+ "description": "Mute the audio track. Forced on by `autoplay`, because browsers block an unmuted autoplay; pass false only if you mean to accept that."
4643
+ },
4644
+ {
4645
+ "name": "objectFit",
4646
+ "description": "How the frame fills the element box: \"cover\", \"contain\", \"fill\", \"none\"."
4647
+ },
4648
+ {
4649
+ "name": "opacity",
4650
+ "description": "0–1."
4651
+ },
4652
+ {
4653
+ "name": "playsinline",
4654
+ "description": "Play in place on iPhone instead of taking over the screen. Implied by `autoplay`; there is no reason to refuse it on a background loop."
4655
+ },
4656
+ {
4657
+ "name": "poster",
4658
+ "description": "Image shown before the first frame decodes. Give one on any autoplaying clip: it is what holds the layout still and what reduced-motion visitors see instead of the video."
4659
+ },
4660
+ {
4661
+ "name": "preload",
4662
+ "description": "\"none\", \"metadata\" (a good default for a loop) or \"auto\"."
4602
4663
  },
4603
4664
  {
4604
4665
  "name": "radius",
4605
- "description": "Corner radius in pixels. A bare number, not a CSS length."
4666
+ "description": "Corner radius. A CSS length; a bare number is read as pixels."
4667
+ },
4668
+ {
4669
+ "name": "raster",
4670
+ "description": "Raster op nodes to run over this element."
4671
+ },
4672
+ {
4673
+ "name": "sources",
4674
+ "description": "Several encodings of the same clip: [{url, type}] or plain url strings. The browser picks the first it can play, so order best-first (AV1, then HEVC, then H.264). `type` is inferred from the extension when omitted."
4606
4675
  },
4607
4676
  {
4608
4677
  "name": "type",
@@ -4612,7 +4681,8 @@
4612
4681
  "name": "url"
4613
4682
  },
4614
4683
  {
4615
- "name": "width"
4684
+ "name": "width",
4685
+ "description": "CSS width of the element."
4616
4686
  }
4617
4687
  ]
4618
4688
  },
@@ -6285,11 +6355,100 @@
6285
6355
  "name": "width"
6286
6356
  }
6287
6357
  ]
6358
+ },
6359
+ "gridOverlay": {
6360
+ "resolved": true,
6361
+ "mapper": "mapGridOverlay",
6362
+ "components": [
6363
+ "GridOverlay"
6364
+ ],
6365
+ "params": [
6366
+ {
6367
+ "name": "breakpoint",
6368
+ "description": "Viewport width in px below which `mobile` applies. Default 768."
6369
+ },
6370
+ {
6371
+ "name": "color",
6372
+ "description": "Colour of lines, marks and readouts (drawn with currentColor). Falls back to the Theme text colour."
6373
+ },
6374
+ {
6375
+ "name": "columns",
6376
+ "description": "Columns, counted as cells (N cells draw N+1 lines). 0 draws no vertical lines. Default 4. Named `columns`, not `cols`: the library's shared `cols` means grid-template-columns verbatim."
6377
+ },
6378
+ {
6379
+ "name": "font",
6380
+ "description": "Font family of the readouts. Default a monospace stack."
6381
+ },
6382
+ {
6383
+ "name": "fontSize",
6384
+ "description": "Readout font size in px. Default 11."
6385
+ },
6386
+ {
6387
+ "name": "id",
6388
+ "description": "This element's DOM id. Also what a design node's `target` names, and what `parse` recovers an element by."
6389
+ },
6390
+ {
6391
+ "name": "inset",
6392
+ "description": "Distance of the outermost lines from the edge in px. A number, or {x, y}. Default 16."
6393
+ },
6394
+ {
6395
+ "name": "letterSpacing",
6396
+ "description": "Readout letter spacing, any CSS length. Default \"0.04em\"."
6397
+ },
6398
+ {
6399
+ "name": "lineOpacity",
6400
+ "description": "Opacity of the lines only; marks and readouts stay opaque. 0–1, default 0.35."
6401
+ },
6402
+ {
6403
+ "name": "lineWidth",
6404
+ "description": "Stroke width of the grid lines in px. Default 1."
6405
+ },
6406
+ {
6407
+ "name": "markSize",
6408
+ "description": "Size of each registration mark in px. Default 8."
6409
+ },
6410
+ {
6411
+ "name": "marks",
6412
+ "description": "Registration mark at each intersection: \"square\" (default), \"cross\" or \"none\"."
6413
+ },
6414
+ {
6415
+ "name": "mobile",
6416
+ "description": "Options that replace their desktop values below `breakpoint`, e.g. {columns: 1, rows: 4}."
6417
+ },
6418
+ {
6419
+ "name": "position",
6420
+ "description": "\"fixed\" (default) pins the grid to the viewport; \"absolute\" fills the nearest positioned ancestor."
6421
+ },
6422
+ {
6423
+ "name": "raster",
6424
+ "description": "Raster op nodes for the overlay, e.g. an offset driven by hover to bend the lines near the cursor."
6425
+ },
6426
+ {
6427
+ "name": "readouts",
6428
+ "description": "Labels beside intersections: [{id, col, row, text, anchor}]. col/row index lines from 0; anchor \"br\" (default), \"bl\", \"tr\" or \"tl\", flipped automatically when the label would fall outside. Decorative — say the same thing in real page text."
6429
+ },
6430
+ {
6431
+ "name": "rows",
6432
+ "description": "Rows across the overlay's height, counted as cells. 0 draws no horizontal lines. Default 2."
6433
+ },
6434
+ {
6435
+ "name": "type",
6436
+ "description": "The element type, which selects the mapper that builds it -- \"h1\", \"cards\", \"form\", and so on."
6437
+ },
6438
+ {
6439
+ "name": "uppercase",
6440
+ "description": "Uppercase the readout text. Default true."
6441
+ },
6442
+ {
6443
+ "name": "zIndex",
6444
+ "description": "Stacking order of the overlay. Default 2 — keep navigation above it."
6445
+ }
6446
+ ]
6288
6447
  }
6289
6448
  },
6290
6449
  "summary": {
6291
- "types": 35,
6292
- "resolved": 35,
6450
+ "types": 36,
6451
+ "resolved": 36,
6293
6452
  "unresolved": 0
6294
6453
  }
6295
6454
  }