nodality 1.1.9 → 1.1.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 (188) hide show
  1. package/bin/mcp-server.mjs +26 -7
  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.LICENSE.txt +1 -1
  13. package/dist/button.cjs.js.LICENSE.txt +1 -1
  14. package/dist/button.esm.js.LICENSE.txt +1 -1
  15. package/dist/card-getter.cjs.js.LICENSE.txt +1 -1
  16. package/dist/card-getter.esm.js.LICENSE.txt +1 -1
  17. package/dist/center.cjs.js.LICENSE.txt +1 -1
  18. package/dist/center.esm.js.LICENSE.txt +1 -1
  19. package/dist/checkbox.cjs.js.LICENSE.txt +1 -1
  20. package/dist/checkbox.esm.js.LICENSE.txt +1 -1
  21. package/dist/code.cjs.js.LICENSE.txt +1 -1
  22. package/dist/code.esm.js.LICENSE.txt +1 -1
  23. package/dist/container.cjs.js.LICENSE.txt +1 -1
  24. package/dist/container.esm.js.LICENSE.txt +1 -1
  25. package/dist/data-list.cjs.js.LICENSE.txt +1 -1
  26. package/dist/data-list.esm.js.LICENSE.txt +1 -1
  27. package/dist/designer.cjs.js.LICENSE.txt +1 -1
  28. package/dist/designer.esm.js.LICENSE.txt +1 -1
  29. package/dist/element-mapper.cjs.js.LICENSE.txt +1 -1
  30. package/dist/element-mapper.esm.js.LICENSE.txt +1 -1
  31. package/dist/finalresult.esm.js.LICENSE.txt +1 -1
  32. package/dist/flex-card.cjs.js.LICENSE.txt +1 -1
  33. package/dist/flex-card.esm.js.LICENSE.txt +1 -1
  34. package/dist/flex-grid.cjs.js.LICENSE.txt +1 -1
  35. package/dist/flex-grid.esm.js.LICENSE.txt +1 -1
  36. package/dist/flex-row.cjs.js.LICENSE.txt +1 -1
  37. package/dist/flex-row.esm.js.LICENSE.txt +1 -1
  38. package/dist/floating-input.cjs.js.LICENSE.txt +1 -1
  39. package/dist/floating-input.esm.js.LICENSE.txt +1 -1
  40. package/dist/free.cjs.js.LICENSE.txt +1 -1
  41. package/dist/free.esm.js.LICENSE.txt +1 -1
  42. package/dist/horizontal-scroller.cjs.js.LICENSE.txt +1 -1
  43. package/dist/horizontal-scroller.esm.js.LICENSE.txt +1 -1
  44. package/dist/image-picker.cjs.js.LICENSE.txt +1 -1
  45. package/dist/image-picker.esm.js.LICENSE.txt +1 -1
  46. package/dist/image.cjs.js.LICENSE.txt +1 -1
  47. package/dist/image.esm.js.LICENSE.txt +1 -1
  48. package/dist/index.cjs.js.LICENSE.txt +1 -1
  49. package/dist/index.d.ts +1 -1
  50. package/dist/index.esm.js.LICENSE.txt +1 -1
  51. package/dist/keyframe-animation.cjs.js.LICENSE.txt +1 -1
  52. package/dist/keyframe-animation.esm.js.LICENSE.txt +1 -1
  53. package/dist/link-getter.cjs.js.LICENSE.txt +1 -1
  54. package/dist/link-getter.esm.js.LICENSE.txt +1 -1
  55. package/dist/link.cjs.js.LICENSE.txt +1 -1
  56. package/dist/link.esm.js.LICENSE.txt +1 -1
  57. package/dist/meta-adder.cjs.js.LICENSE.txt +1 -1
  58. package/dist/meta-adder.esm.js.LICENSE.txt +1 -1
  59. package/dist/modal-2025.cjs.js.LICENSE.txt +1 -1
  60. package/dist/modal-2025.esm.js.LICENSE.txt +1 -1
  61. package/dist/multiswitcher.cjs.js.LICENSE.txt +1 -1
  62. package/dist/multiswitcher.esm.js.LICENSE.txt +1 -1
  63. package/dist/new-nav-bar.cjs.js.LICENSE.txt +1 -1
  64. package/dist/new-nav-bar.esm.js.LICENSE.txt +1 -1
  65. package/dist/picker.cjs.js.LICENSE.txt +1 -1
  66. package/dist/picker.esm.js.LICENSE.txt +1 -1
  67. package/dist/progress.cjs.js.LICENSE.txt +1 -1
  68. package/dist/progress.esm.js.LICENSE.txt +1 -1
  69. package/dist/radio.cjs.js.LICENSE.txt +1 -1
  70. package/dist/radio.esm.js.LICENSE.txt +1 -1
  71. package/dist/range.cjs.js.LICENSE.txt +1 -1
  72. package/dist/range.esm.js.LICENSE.txt +1 -1
  73. package/dist/scroll-video.cjs.js.LICENSE.txt +1 -1
  74. package/dist/scroll-video.esm.js.LICENSE.txt +1 -1
  75. package/dist/side-bar.cjs.js.LICENSE.txt +1 -1
  76. package/dist/side-bar.esm.js.LICENSE.txt +1 -1
  77. package/dist/side-nav-bar.cjs.js.LICENSE.txt +1 -1
  78. package/dist/side-nav-bar.esm.js.LICENSE.txt +1 -1
  79. package/dist/simple-bar.cjs.js.LICENSE.txt +1 -1
  80. package/dist/simple-bar.esm.js.LICENSE.txt +1 -1
  81. package/dist/slider-2025.cjs.js.LICENSE.txt +1 -1
  82. package/dist/slider-2025.esm.js.LICENSE.txt +1 -1
  83. package/dist/spacer.cjs.js.LICENSE.txt +1 -1
  84. package/dist/spacer.esm.js.LICENSE.txt +1 -1
  85. package/dist/stack.cjs.js.LICENSE.txt +1 -1
  86. package/dist/stack.esm.js.LICENSE.txt +1 -1
  87. package/dist/stacker.cjs.js.LICENSE.txt +1 -1
  88. package/dist/stacker.esm.js.LICENSE.txt +1 -1
  89. package/dist/table.cjs.js.LICENSE.txt +1 -1
  90. package/dist/table.esm.js.LICENSE.txt +1 -1
  91. package/dist/text-field.cjs.js.LICENSE.txt +1 -1
  92. package/dist/text-field.esm.js.LICENSE.txt +1 -1
  93. package/dist/text.cjs.js.LICENSE.txt +1 -1
  94. package/dist/text.esm.js.LICENSE.txt +1 -1
  95. package/dist/theme.cjs.js.LICENSE.txt +1 -1
  96. package/dist/theme.esm.js.LICENSE.txt +1 -1
  97. package/dist/transform-anim.cjs.js.LICENSE.txt +1 -1
  98. package/dist/transform-anim.esm.js.LICENSE.txt +1 -1
  99. package/dist/ulist.cjs.js.LICENSE.txt +1 -1
  100. package/dist/ulist.esm.js.LICENSE.txt +1 -1
  101. package/dist/video.cjs.js.LICENSE.txt +1 -1
  102. package/dist/video.esm.js.LICENSE.txt +1 -1
  103. package/dist/wrap.cjs.js.LICENSE.txt +1 -1
  104. package/dist/wrap.esm.js.LICENSE.txt +1 -1
  105. package/dist/zoom-card.cjs.js.LICENSE.txt +1 -1
  106. package/dist/zoom-card.esm.js.LICENSE.txt +1 -1
  107. package/layout/animator.js +1 -1
  108. package/layout/audio.js +1 -1
  109. package/layout/audionew.js +1 -1
  110. package/layout/base.js +1 -1
  111. package/layout/beta-desktop-bar.js +1 -1
  112. package/layout/beta-mobile-bar.js +1 -1
  113. package/layout/button.js +1 -1
  114. package/layout/center.js +1 -1
  115. package/layout/checkbox.js +1 -1
  116. package/layout/circle.js +1 -1
  117. package/layout/code.js +1 -1
  118. package/layout/container.js +1 -1
  119. package/layout/dropdown-2025.js +1 -1
  120. package/layout/flex-card.js +1 -1
  121. package/layout/flex-grid.js +1 -1
  122. package/layout/flex-row.js +1 -1
  123. package/layout/form-components/custom.js +1 -1
  124. package/layout/form-components/data-list.js +1 -1
  125. package/layout/form-components/floating-input.js +1 -1
  126. package/layout/form-components/form-all.js +1 -1
  127. package/layout/form-components/form.js +1 -1
  128. package/layout/form-components/image-picker.js +1 -1
  129. package/layout/form-components/picker.js +1 -1
  130. package/layout/form-components/radio.js +1 -1
  131. package/layout/form-components/radiogroup.js +1 -1
  132. package/layout/form-components/range.js +1 -1
  133. package/layout/free.js +1 -1
  134. package/layout/grid-switcher.js +1 -1
  135. package/layout/grid.js +1 -1
  136. package/layout/horizontal-scroller.js +1 -1
  137. package/layout/image.js +1 -1
  138. package/layout/index.js +1 -1
  139. package/layout/link.js +1 -1
  140. package/layout/list.js +1 -1
  141. package/layout/meta-adder.js +1 -1
  142. package/layout/modal-2025.js +1 -1
  143. package/layout/morph.js +1 -1
  144. package/layout/multiswitcher.js +1 -1
  145. package/layout/nav-bar.js +1 -1
  146. package/layout/nav-factor/custom-div.js +1 -1
  147. package/layout/new-nav-bar.js +1 -1
  148. package/layout/polygon.js +1 -1
  149. package/layout/prerender-site.js +1 -1
  150. package/layout/prerender.js +1 -1
  151. package/layout/progress.js +1 -1
  152. package/layout/row.js +1 -1
  153. package/layout/scroll-video.js +1 -1
  154. package/layout/side-bar.js +1 -1
  155. package/layout/side-nav-bar.js +1 -1
  156. package/layout/simple-bar.js +1 -1
  157. package/layout/slider-2025.js +1 -1
  158. package/layout/spacer.js +1 -1
  159. package/layout/stack.js +1 -1
  160. package/layout/svg.js +1 -1
  161. package/layout/switcher.js +1 -1
  162. package/layout/table.js +1 -1
  163. package/layout/text-field.js +1 -1
  164. package/layout/text.js +1 -1
  165. package/layout/ulist.js +1 -1
  166. package/layout/video.js +1 -1
  167. package/layout/wrap.js +1 -1
  168. package/layout/zoom-card.js +1 -1
  169. package/lib/card-getter.js +1 -1
  170. package/lib/codegen.js +1 -1
  171. package/lib/data.js +1 -1
  172. package/lib/designer.js +1 -1
  173. package/lib/element-mapper.js +1 -1
  174. package/lib/keyframe-animation.js +1 -1
  175. package/lib/link-getter.js +1 -1
  176. package/lib/morph-node.js +1 -1
  177. package/lib/raster-inspect.js +1 -1
  178. package/lib/raster-ops.js +1 -1
  179. package/lib/raster-presets.js +1 -1
  180. package/lib/scroll-video.js +1 -1
  181. package/lib/seo.js +1 -1
  182. package/lib/stacker.js +1 -1
  183. package/lib/suggest.js +1 -1
  184. package/lib/theme.js +1 -1
  185. package/lib/transform-anim.js +1 -1
  186. package/lib/transition.js +1 -1
  187. package/lib/validate-nodes.js +21 -1
  188. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * nodality v1.1.9
2
+ * nodality v1.1.10
3
3
  * (c) 2026 Filip Vabrousek
4
4
  * License: MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * nodality v1.1.9
2
+ * nodality v1.1.10
3
3
  * (c) 2026 Filip Vabrousek
4
4
  * License: MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * nodality v1.1.9
2
+ * nodality v1.1.10
3
3
  * (c) 2026 Filip Vabrousek
4
4
  * License: MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * nodality v1.1.9
2
+ * nodality v1.1.10
3
3
  * (c) 2026 Filip Vabrousek
4
4
  * License: MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * nodality v1.1.9
2
+ * nodality v1.1.10
3
3
  * (c) 2026 Filip Vabrousek
4
4
  * License: MIT
5
5
  */
package/layout/spacer.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * nodality v1.1.9
2
+ * nodality v1.1.10
3
3
  * (c) 2026 Filip Vabrousek
4
4
  * License: MIT
5
5
  */
package/layout/stack.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * nodality v1.1.9
2
+ * nodality v1.1.10
3
3
  * (c) 2026 Filip Vabrousek
4
4
  * License: MIT
5
5
  */
package/layout/svg.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * nodality v1.1.9
2
+ * nodality v1.1.10
3
3
  * (c) 2026 Filip Vabrousek
4
4
  * License: MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * nodality v1.1.9
2
+ * nodality v1.1.10
3
3
  * (c) 2026 Filip Vabrousek
4
4
  * License: MIT
5
5
  */
package/layout/table.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * nodality v1.1.9
2
+ * nodality v1.1.10
3
3
  * (c) 2026 Filip Vabrousek
4
4
  * License: MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * nodality v1.1.9
2
+ * nodality v1.1.10
3
3
  * (c) 2026 Filip Vabrousek
4
4
  * License: MIT
5
5
  */
package/layout/text.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * nodality v1.1.9
2
+ * nodality v1.1.10
3
3
  * (c) 2026 Filip Vabrousek
4
4
  * License: MIT
5
5
  */
package/layout/ulist.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * nodality v1.1.9
2
+ * nodality v1.1.10
3
3
  * (c) 2026 Filip Vabrousek
4
4
  * License: MIT
5
5
  */
package/layout/video.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * nodality v1.1.9
2
+ * nodality v1.1.10
3
3
  * (c) 2026 Filip Vabrousek
4
4
  * License: MIT
5
5
  */
package/layout/wrap.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * nodality v1.1.9
2
+ * nodality v1.1.10
3
3
  * (c) 2026 Filip Vabrousek
4
4
  * License: MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * nodality v1.1.9
2
+ * nodality v1.1.10
3
3
  * (c) 2026 Filip Vabrousek
4
4
  * License: MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * nodality v1.1.9
2
+ * nodality v1.1.10
3
3
  * (c) 2026 Filip Vabrousek
4
4
  * License: MIT
5
5
  */
package/lib/codegen.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * nodality v1.1.9
2
+ * nodality v1.1.10
3
3
  * (c) 2026 Filip Vabrousek
4
4
  * License: MIT
5
5
  */
package/lib/data.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * nodality v1.1.9
2
+ * nodality v1.1.10
3
3
  * (c) 2026 Filip Vabrousek
4
4
  * License: MIT
5
5
  */
package/lib/designer.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * nodality v1.1.9
2
+ * nodality v1.1.10
3
3
  * (c) 2026 Filip Vabrousek
4
4
  * License: MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * nodality v1.1.9
2
+ * nodality v1.1.10
3
3
  * (c) 2026 Filip Vabrousek
4
4
  * License: MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * nodality v1.1.9
2
+ * nodality v1.1.10
3
3
  * (c) 2026 Filip Vabrousek
4
4
  * License: MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * nodality v1.1.9
2
+ * nodality v1.1.10
3
3
  * (c) 2026 Filip Vabrousek
4
4
  * License: MIT
5
5
  */
package/lib/morph-node.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * nodality v1.1.9
2
+ * nodality v1.1.10
3
3
  * (c) 2026 Filip Vabrousek
4
4
  * License: MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * nodality v1.1.9
2
+ * nodality v1.1.10
3
3
  * (c) 2026 Filip Vabrousek
4
4
  * License: MIT
5
5
  */
package/lib/raster-ops.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * nodality v1.1.9
2
+ * nodality v1.1.10
3
3
  * (c) 2026 Filip Vabrousek
4
4
  * License: MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * nodality v1.1.9
2
+ * nodality v1.1.10
3
3
  * (c) 2026 Filip Vabrousek
4
4
  * License: MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * nodality v1.1.9
2
+ * nodality v1.1.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.1.9
2
+ * nodality v1.1.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.1.9
2
+ * nodality v1.1.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.1.9
2
+ * nodality v1.1.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.1.9
2
+ * nodality v1.1.10
3
3
  * (c) 2026 Filip Vabrousek
4
4
  * License: MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * nodality v1.1.9
2
+ * nodality v1.1.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.1.9
2
+ * nodality v1.1.10
3
3
  * (c) 2026 Filip Vabrousek
4
4
  * License: MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * nodality v1.1.9
2
+ * nodality v1.1.10
3
3
  * (c) 2026 Filip Vabrousek
4
4
  * License: MIT
5
5
  */
@@ -31,6 +31,15 @@ import {
31
31
  } from "./raster-ops.js";
32
32
  import { didYouMean, suggest } from "./suggest.js";
33
33
 
34
+ /**
35
+ * Every key a morph node reads. Anything else on the node is ignored by
36
+ * the runtime, which is why it has to be reported here.
37
+ */
38
+ const MORPH_FIELDS = [
39
+ "op", "target", "from", "to",
40
+ "effect", "duration", "back", "live", "fade",
41
+ ];
42
+
34
43
  /** Node families, told apart exactly the way the runtime tells them apart. */
35
44
  const familyOf = (node) => {
36
45
  if (!node || typeof node !== "object") return "invalid";
@@ -143,6 +152,17 @@ export function validateNodes(nodes, elements) {
143
152
  push("BAD_FIELD", `${path}.effect`, node.effect, [],
144
153
  ["a preset name, or an inline array of raster nodes"]);
145
154
  }
155
+ // Unknown keys, checked here for the same reason they are
156
+ // checked on a raster node: a morph silently ignores what it
157
+ // does not recognise, so `duraton: 900` produces a transition
158
+ // that runs at the default speed and reports nothing. Found by
159
+ // driving the published server end to end, which is precisely
160
+ // the mistake an agent makes.
161
+ for (const key in node) {
162
+ if (MORPH_FIELDS.includes(key)) continue;
163
+ push("UNKNOWN_PARAM", `${path}.${key}`, key,
164
+ suggest(key, MORPH_FIELDS), MORPH_FIELDS);
165
+ }
146
166
  return;
147
167
  }
148
168
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nodality",
3
- "version": "1.1.9",
3
+ "version": "1.1.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",