nodality 1.3.14 → 1.3.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.
Files changed (207) 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 +20 -1
  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.LICENSE.txt +1 -1
  110. package/dist/video.esm.js.LICENSE.txt +1 -1
  111. package/dist/wrap.cjs.js.LICENSE.txt +1 -1
  112. package/dist/wrap.esm.js.LICENSE.txt +1 -1
  113. package/dist/zoom-card.cjs.js.LICENSE.txt +1 -1
  114. package/dist/zoom-card.esm.js.LICENSE.txt +1 -1
  115. package/layout/animator.js +1 -1
  116. package/layout/audio.js +1 -1
  117. package/layout/audionew.js +1 -1
  118. package/layout/base.js +1 -1
  119. package/layout/beta-desktop-bar.js +1 -1
  120. package/layout/beta-mobile-bar.js +1 -1
  121. package/layout/button.js +1 -1
  122. package/layout/center.js +1 -1
  123. package/layout/checkbox.js +1 -1
  124. package/layout/circle.js +1 -1
  125. package/layout/code.js +1 -1
  126. package/layout/container.js +1 -1
  127. package/layout/dropdown-2025.js +1 -1
  128. package/layout/flex-card.js +1 -1
  129. package/layout/flex-grid.js +1 -1
  130. package/layout/flex-row.js +1 -1
  131. package/layout/form-components/custom.js +1 -1
  132. package/layout/form-components/data-list.js +1 -1
  133. package/layout/form-components/floating-input.js +1 -1
  134. package/layout/form-components/form-all.js +1 -1
  135. package/layout/form-components/form.js +1 -1
  136. package/layout/form-components/image-picker.js +1 -1
  137. package/layout/form-components/picker.js +1 -1
  138. package/layout/form-components/radio.js +1 -1
  139. package/layout/form-components/radiogroup.js +1 -1
  140. package/layout/form-components/range.js +1 -1
  141. package/layout/free.js +1 -1
  142. package/layout/grid-overlay.js +1 -1
  143. package/layout/grid-switcher.js +1 -1
  144. package/layout/grid.js +1 -1
  145. package/layout/horizontal-scroller.js +1 -1
  146. package/layout/image.js +1 -1
  147. package/layout/index.js +5 -1
  148. package/layout/link.js +1 -1
  149. package/layout/list.js +1 -1
  150. package/layout/meta-adder.js +1 -1
  151. package/layout/modal-2025.js +1 -1
  152. package/layout/morph.js +1 -1
  153. package/layout/multiswitcher.js +1 -1
  154. package/layout/nav-bar.js +1 -1
  155. package/layout/nav-factor/custom-div.js +1 -1
  156. package/layout/new-nav-bar.js +1 -1
  157. package/layout/polygon.js +1 -1
  158. package/layout/prerender-site.js +1 -1
  159. package/layout/prerender.js +1 -1
  160. package/layout/progress.js +1 -1
  161. package/layout/row.js +1 -1
  162. package/layout/scroll-video.js +1 -1
  163. package/layout/shop.js +261 -0
  164. package/layout/side-bar.js +1 -1
  165. package/layout/side-nav-bar.js +1 -1
  166. package/layout/simple-bar.js +1 -1
  167. package/layout/slider-2025.js +1 -1
  168. package/layout/spacer.js +1 -1
  169. package/layout/stack.js +1 -1
  170. package/layout/svg.js +1 -1
  171. package/layout/switcher.js +1 -1
  172. package/layout/table.js +1 -1
  173. package/layout/text-field.js +1 -1
  174. package/layout/text.js +1 -1
  175. package/layout/ulist.js +1 -1
  176. package/layout/video.js +1 -1
  177. package/layout/wrap.js +1 -1
  178. package/layout/zoom-card.js +1 -1
  179. package/lib/agent-surface.js +24 -2
  180. package/lib/card-getter.js +1 -1
  181. package/lib/check-page.js +1 -1
  182. package/lib/codegen.js +1 -1
  183. package/lib/data.js +1 -1
  184. package/lib/designer.js +3 -2
  185. package/lib/element-mapper.js +116 -1
  186. package/lib/element-params.generated.js +4 -4
  187. package/lib/grid-geometry.js +1 -1
  188. package/lib/keyframe-animation.js +1 -1
  189. package/lib/link-getter.js +1 -1
  190. package/lib/morph-node.js +1 -1
  191. package/lib/normalize-spec.js +1 -1
  192. package/lib/parse-html.js +1 -1
  193. package/lib/raster-inspect.js +1 -1
  194. package/lib/raster-ops.js +1 -1
  195. package/lib/raster-presets.js +1 -1
  196. package/lib/resolve-refs.js +1 -1
  197. package/lib/scroll-video.js +1 -1
  198. package/lib/seo.js +1 -1
  199. package/lib/stacker.js +1 -1
  200. package/lib/suggest.js +1 -1
  201. package/lib/theme.js +1 -1
  202. package/lib/transform-anim.js +1 -1
  203. package/lib/transition.js +1 -1
  204. package/lib/validate-nodes.js +42 -4
  205. package/lib/webmcp-adapter.js +36 -1
  206. package/package.json +1 -1
  207. package/schema.json +1000 -2
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * nodality v1.3.14
2
+ * nodality v1.3.15
3
3
  * (c) 2026 Filip Vabrousek
4
4
  * License: MIT
5
5
  */
@@ -315,6 +315,28 @@ export function deriveSurface(elements, nodes, { specDraft = null } = {}) {
315
315
  });
316
316
  }
317
317
 
318
+ // ── products, allow-listed by id ─────────────────────────────────
319
+ //
320
+ // Read-only. An agent can learn what is for sale, at what price and in
321
+ // which options; it cannot put anything in a cart. Paying stays a human
322
+ // act on the shop's own checkout.
323
+ const productIds = (Array.isArray(node.products) ? node.products : [])
324
+ .filter((s) => typeof s === "string").map((s) => s.replace(/^#/, ""));
325
+ for (const id of productIds) {
326
+ const product = byId.get(id) || byId.get(`#${id}`);
327
+ if (!product || product.type !== "product") continue;
328
+ tools.push({
329
+ name: named(`get_product_${id.replace(/[^a-zA-Z0-9_-]/g, "_")}`),
330
+ kind: "product",
331
+ productId: id,
332
+ description:
333
+ `Read the product "${product.handle}" as it is shown on this page: ` +
334
+ "name, price for the visitor's market, options and availability. " +
335
+ "Read-only; buying happens on the shop's checkout.",
336
+ inputSchema: { type: "object", properties: {} },
337
+ });
338
+ }
339
+
318
340
  // ── what is on screen ────────────────────────────────────────────
319
341
  tools.push({
320
342
  name: named("read_view"),
@@ -331,7 +353,7 @@ export function deriveSurface(elements, nodes, { specDraft = null } = {}) {
331
353
  // deciding whether to visit at all can actually read.
332
354
  const manifest = {
333
355
  spec: specDraft,
334
- tools: tools.map(({ kind, formId, ...decl }) => decl),
356
+ tools: tools.map(({ kind, formId, productId, ...decl }) => decl),
335
357
  ...(graph
336
358
  ? {
337
359
  views: {
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * nodality v1.3.14
2
+ * nodality v1.3.15
3
3
  * (c) 2026 Filip Vabrousek
4
4
  * License: MIT
5
5
  */
package/lib/check-page.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * nodality v1.3.14
2
+ * nodality v1.3.15
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.3.14
2
+ * nodality v1.3.15
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.3.14
2
+ * nodality v1.3.15
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.3.14
2
+ * nodality v1.3.15
3
3
  * (c) 2026 Filip Vabrousek
4
4
  * License: MIT
5
5
  */
@@ -76,6 +76,7 @@ import { AreaSwitcher } from "../layout/grid-switcher.js";
76
76
  import { Polygon } from "../layout/polygon.js";
77
77
  import { Circle } from "../layout/circle.js";
78
78
  import { GridOverlay } from "../layout/grid-overlay.js";
79
+ import { Shop } from "../layout/shop.js";
79
80
 
80
81
 
81
82
 
@@ -1446,7 +1447,7 @@ new Slider(texts, null, { tintColor: "#e74c3c", inactiveColor: "#ccc" })
1446
1447
  Text, Image, Link, FlexRow, UINavBar, Free, Audio, Progress, Center, Code,
1447
1448
  Stack, Wrapper, MetaAdder, Table, Dropdown, Modal, TextField, Card,
1448
1449
  Wrap, FlexGrid, ZoomCard, Switcher, MobileBar, DesktopBar, SideNav, Spacer, HScroller, Polygon, Circle, UList,
1449
- GridOverlay
1450
+ GridOverlay, Shop
1450
1451
  };
1451
1452
 
1452
1453
  const formComponents = {
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * nodality v1.3.14
2
+ * nodality v1.3.15
3
3
  * (c) 2026 Filip Vabrousek
4
4
  * License: MIT
5
5
  */
@@ -71,6 +71,7 @@ import { AreaSwitcher } from "../layout/grid-switcher.js";
71
71
  import { Polygon } from "../layout/polygon.js";
72
72
  import { Circle } from "../layout/circle.js";
73
73
  import { GridOverlay } from "../layout/grid-overlay.js";
74
+ import { Shop } from "../layout/shop.js";
74
75
 
75
76
 
76
77
  // The closed set of `type:` values mapType understands, in the order it
@@ -83,6 +84,7 @@ const ELEMENT_TYPES = [
83
84
  "audio", "multiswitcher", "button", "form", "checkbox", "stack",
84
85
  "simple", "copy", "wrap", "circle", "polygon", "code", "table", "ulist",
85
86
  "gridOverlay",
87
+ "store", "product", "price", "productData", "productMedia", "variantPicker", "buy", "cart",
86
88
  ];
87
89
 
88
90
  // A nav entry is {title, link}. A bare string is accepted as the title: that
@@ -157,6 +159,7 @@ const CONTENT_SLOT = Object.freeze({
157
159
  nav: "items", sideNav: "items",
158
160
  dropdown: "items", picker: "items", radio: "items",
159
161
  row: "children", form: "children", stack: "children", wrap: "children",
162
+ product: "children",
160
163
  });
161
164
 
162
165
  /** Warn when content was declared in the slot this type does not read. */
@@ -299,6 +302,22 @@ class ElementMapper { // 22:09:58 04/11/2024
299
302
  return this.mapUList(obj);
300
303
  } else if (obj.el.type === "gridOverlay"){
301
304
  return this.mapGridOverlay(obj);
305
+ } else if (obj.el.type === "store"){
306
+ return this.mapStore(obj);
307
+ } else if (obj.el.type === "product"){
308
+ return this.mapProduct(obj);
309
+ } else if (obj.el.type === "price"){
310
+ return this.mapPrice(obj);
311
+ } else if (obj.el.type === "productData"){
312
+ return this.mapProductData(obj);
313
+ } else if (obj.el.type === "productMedia"){
314
+ return this.mapProductMedia(obj);
315
+ } else if (obj.el.type === "variantPicker"){
316
+ return this.mapVariantPicker(obj);
317
+ } else if (obj.el.type === "buy"){
318
+ return this.mapBuy(obj);
319
+ } else if (obj.el.type === "cart"){
320
+ return this.mapCart(obj);
302
321
  }
303
322
 
304
323
  // Everything above returned. Falling through used to return
@@ -782,6 +801,102 @@ animation: {
782
801
 
783
802
 
784
803
 
804
+ // ── Commerce: Shopify Storefront Web Components (layout/shop.js) ──────
805
+ //
806
+ // One method per type, each reading its own fields by name, so the
807
+ // schema credits each type with exactly what it reads. All of them build
808
+ // a Shop of the matching kind; style options (font, color, keySet) apply
809
+ // to every kind. Placed above `dropdown` for the reason mapGridOverlay
810
+ // gives.
811
+
812
+ static shop(kind, el, fields, obj) {
813
+ const options = { kind, id: el.id, font: el.font, color: el.color, keySet: el.keySet, ...fields };
814
+ // Inside a product's placeholder every commerce element renders its
815
+ // static form; the flag rides along through nested children.
816
+ if (obj.shopFallback) options.fallback = true;
817
+ for (const k of Object.keys(options)) if (options[k] == null) delete options[k];
818
+ return new Shop().set(options);
819
+ }
820
+
821
+ static mapStore(obj) {
822
+ const el = obj.el;
823
+ //@ store.domain {url}: The shop, e.g. "https://shop.example.com" or "https://mock.shop" for development. Place one store per page.
824
+ //@ store.token {text}: Storefront API public access token. Only needed for inventory and custom data; public product data works without one.
825
+ //@ store.country {text}: Market for prices and availability, ISO code such as "DE". Omit to use the shop's default.
826
+ //@ store.language {text}: Content language, ISO code such as "EN".
827
+ return this.shop("store", el, { domain: el.domain, token: el.token, country: el.country, language: el.language }, obj);
828
+ }
829
+
830
+ static mapProduct(obj) {
831
+ const el = obj.el;
832
+ //@ product.handle {text}: The product's handle in the shop — its URL name, e.g. "suitcase-n01".
833
+ //@ product.children: What to show for the product: price, variantPicker, buy, productData, productMedia, and any other element. Rendered live from the shop, and statically (from each element's `text`/`url`) until the data arrives and in the prerendered HTML.
834
+ // Its own layout options (background, pad, width, …) style the
835
+ // product box, as on a wrap.
836
+ const product = this.shop("product", el, { ...this.elOpts(el), handle: el.handle }, obj);
837
+ const kids = Array.isArray(el.children) ? el.children : [];
838
+ product.add(kids.map((child) => this.mapType({ ...obj, el: child, shopFallback: false })));
839
+ // The static copy carries different ids: once Shopify stamps the
840
+ // template, both copies are in the document at the same time.
841
+ const staticIds = (spec) => {
842
+ if (!spec || typeof spec !== "object") return spec;
843
+ const out = { ...spec };
844
+ if (out.id) out.id = `${String(out.id).replace(/^#/, "")}-static`;
845
+ if (Array.isArray(out.children)) out.children = out.children.map(staticIds);
846
+ return out;
847
+ };
848
+ product.fallback(kids.map((child) => this.mapType({ ...obj, el: staticIds(child), shopFallback: true })));
849
+ return product;
850
+ }
851
+
852
+ static mapPrice(obj) {
853
+ const el = obj.el;
854
+ //@ price.text {text}: The price as text, shown before the shop answers and in the prerendered HTML — e.g. from build-time data.
855
+ //@ price.query {text}: Storefront API field to show. Default "product.selectedOrFirstAvailableVariant.price".
856
+ return this.shop("price", el, { text: el.text, query: el.query }, obj);
857
+ }
858
+
859
+ static mapProductData(obj) {
860
+ const el = obj.el;
861
+ //@ productData.query {text}: Storefront API field to show, e.g. "product.title" or "product.selectedOrFirstAvailableVariant.quantityAvailable" (needs a store token).
862
+ //@ productData.text {text}: The value as text before the shop answers and in the prerendered HTML.
863
+ return this.shop("productData", el, { query: el.query, text: el.text }, obj);
864
+ }
865
+
866
+ static mapProductMedia(obj) {
867
+ const el = obj.el;
868
+ //@ productMedia.query {text}: Storefront API image field. Default "product.selectedOrFirstAvailableVariant.image", which follows the chosen options.
869
+ //@ productMedia.url {url}: Image shown before the shop answers and in the prerendered HTML.
870
+ //@ productMedia.alt {text}: Description of the static image.
871
+ //@ productMedia.width {count}: Requested width in px.
872
+ //@ productMedia.height {count}: Requested height in px.
873
+ return this.shop("productMedia", el, { query: el.query, url: el.url, alt: el.alt, width: el.width, height: el.height }, obj);
874
+ }
875
+
876
+ static mapVariantPicker(obj) {
877
+ const el = obj.el;
878
+ //@ variantPicker.text {text}: The options as text before the shop answers and in the prerendered HTML, e.g. "Size: Cabin · Check-in".
879
+ return this.shop("variantPicker", el, { text: el.text }, obj);
880
+ }
881
+
882
+ static mapBuy(obj) {
883
+ const el = obj.el;
884
+ //@ buy.text {text}: The button's label. Default "Add to cart".
885
+ //@ buy.mode {enum(cart|buyNow)}: "cart" adds the chosen variant and opens the cart; "buyNow" goes straight to checkout. Default "cart".
886
+ //@ buy.cart {text}: Id of the cart element to add to. Default "cart".
887
+ //@ buy.store {text}: Id of the store element, for buyNow. Default "store".
888
+ //@ buy.url {url}: Where the static link goes before the script loads and without JavaScript — the product on the shop.
889
+ return this.shop("buy", el, { text: el.text, mode: el.mode, cart: el.cart, store: el.store, url: el.url }, obj);
890
+ }
891
+
892
+ static mapCart(obj) {
893
+ const el = obj.el;
894
+ //@ cart.theme {object}: Styles for the cart dialog: {background, color, font, headingFont, accent, accentText, radius, buttonRadius}. Applied through the parts Shopify exposes.
895
+ //@ cart.target {text}: Where checkout opens. Default "_top".
896
+ //@ cart.discountCodes {text}: Comma-separated discount codes applied automatically.
897
+ return this.shop("cart", el, { theme: el.theme, target: el.target, discountCodes: el.discountCodes }, obj);
898
+ }
899
+
785
900
  static dropdown(obj){
786
901
  // A label for the trigger, which is what makes every declared option
787
902
  // selectable. Without one the first item becomes the label and is
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * nodality v1.3.14
2
+ * nodality v1.3.15
3
3
  * (c) 2026 Filip Vabrousek
4
4
  * License: MIT
5
5
  */
@@ -8,15 +8,15 @@
8
8
  // Every parameter name any element type reads, recovered from source.
9
9
  // Used for near-miss typo detection in validate-nodes.js. A drift test
10
10
  // regenerates this and fails if it differs, so it cannot rot silently.
11
- export const ELEMENT_PARAM_NAMES = ["absolute","accept","action","align","alignItems","alignIts","alignTo","aligns","alt","animate","animation","area","ariaLabel","arrayMargin","arrayPadding","as","aspectRatio","at","auto","autoplay","backTo","background","backgroundCard","backgroundColor","backgroundOp","barPad","behaviour","blast","blastData","block","bold","border","borderBottom","borderObj","borderObja","brand","breakWord","breakpoint","breakpoints","center","centerColumn","centerSelf","centered","checkedBackgroundColor","child","children","clampc","class","clipPath","colat","color","column","columns","contentWidth","controls","cursor","customAlign","customJustify","customStyle","data","decoding","decorative","desktopSize","diameter","disp","dropdown","els","em","exact","fetchPriority","filter","filtera","fitContent","fixMobileTap","fixed","flex","flexCenter","flexDir","fluid","fluidc","font","fontSize","frame","ga","gap","gpos","gradient","hamColour","hamburgerColour","hamburgerInset","height","hideField","hideOverflow","hover","icon","id","img","index","initLetter","inline","inpad","inputType","inset","isBackground","isFull","isHidden","isLink","isNavA","isSide","italic","items","justifo","justify","keySet","kind","label","layout","lazy","left","length","letterSpacing","lineOpacity","lineWidth","link","loading","loop","map","mar","margin","marginOp","markSize","marks","maxHeight","maxWidth","mboth","menuId","menuLabel","method","minHeight","mobile","mobileSize","multiple","muted","name","new","nowrap","objectFit","objectPosition","offcanvas","okayColor","onScroll","onTap","opacity","openColor","overflow","owrap","pad","padding","placeholder","playsinline","position","positions","poster","preffersId","preload","radius","ranges","raster","react","readouts","removeDecoration","required","resmar","respad","responsive","resprop","reveal","rounded","rows","scale","sequence","shadow","sides","simpleBorder","simpleCenter","size","sizes","sources","spacing","span","srcset","sticky","stretch","stroke","stype","svg","tag","tags","templateCols","text","theme","tint","title","toColumn","top","transform","transition","type","uppercase","url","useBrightness","value","vtn","weight","width","wrap","x","y","zIndex"];
11
+ export const ELEMENT_PARAM_NAMES = ["absolute","accept","action","align","alignItems","alignIts","alignTo","aligns","alt","animate","animation","area","ariaLabel","arrayMargin","arrayPadding","as","aspectRatio","at","auto","autoplay","backTo","background","backgroundCard","backgroundColor","backgroundOp","barPad","behaviour","blast","blastData","block","bold","border","borderBottom","borderObj","borderObja","brand","breakWord","breakpoint","breakpoints","cart","center","centerColumn","centerSelf","centered","checkedBackgroundColor","child","children","clampc","class","clipPath","colat","color","column","columns","contentWidth","controls","country","cursor","customAlign","customJustify","customStyle","data","decoding","decorative","desktopSize","diameter","discountCodes","disp","domain","dropdown","els","em","exact","fetchPriority","filter","filtera","fitContent","fixMobileTap","fixed","flex","flexCenter","flexDir","fluid","fluidc","font","fontSize","frame","ga","gap","gpos","gradient","hamColour","hamburgerColour","hamburgerInset","handle","height","hideField","hideOverflow","hover","icon","id","img","index","initLetter","inline","inpad","inputType","inset","isBackground","isFull","isHidden","isLink","isNavA","isSide","italic","items","justifo","justify","keySet","kind","label","language","layout","lazy","left","length","letterSpacing","lineOpacity","lineWidth","link","loading","loop","map","mar","margin","marginOp","markSize","marks","maxHeight","maxWidth","mboth","menuId","menuLabel","method","minHeight","mobile","mobileSize","mode","multiple","muted","name","new","nowrap","objectFit","objectPosition","offcanvas","okayColor","onScroll","onTap","opacity","openColor","overflow","owrap","pad","padding","placeholder","playsinline","position","positions","poster","preffersId","preload","query","radius","ranges","raster","react","readouts","removeDecoration","required","resmar","respad","responsive","resprop","reveal","rounded","rows","scale","sequence","shadow","sides","simpleBorder","simpleCenter","size","sizes","sources","spacing","span","srcset","sticky","store","stretch","stroke","stype","svg","tag","tags","target","templateCols","text","theme","tint","title","toColumn","token","top","transform","transition","type","uppercase","url","useBrightness","value","vtn","weight","width","wrap","x","y","zIndex"];
12
12
 
13
13
  // Per-type vocabulary. The union above answers "is this a real parameter
14
14
  // anywhere"; this answers "does THIS type accept it", which is what a page
15
15
  // actually needs to know — writing `keySet` on a `table` is a name the
16
16
  // union knows and the type ignores.
17
- export const ELEMENT_PARAMS_BY_TYPE = {"h1":["absolute","align","alt","animation","area","background","backgroundOp","block","border","borderObj","breakWord","center","clampc","class","color","cursor","em","filtera","flex","fluid","fluidc","font","gpos","gradient","height","icon","id","index","initLetter","italic","keySet","layout","left","mar","marginOp","maxWidth","onScroll","onTap","preffersId","raster","removeDecoration","responsive","resprop","shadow","size","span","stroke","tag","text","top","transform","type","url","value","vtn","width"],"h2":["absolute","align","alt","animation","area","background","backgroundOp","block","border","borderObj","breakWord","center","clampc","class","color","cursor","em","filtera","flex","fluid","fluidc","font","gpos","gradient","height","icon","id","index","initLetter","italic","keySet","layout","left","mar","marginOp","maxWidth","onScroll","onTap","preffersId","raster","removeDecoration","responsive","resprop","shadow","size","span","stroke","tag","text","top","transform","type","url","value","vtn","width"],"h3":["absolute","align","alt","animation","area","background","backgroundOp","block","border","borderObj","breakWord","center","clampc","class","color","cursor","em","filtera","flex","fluid","fluidc","font","gpos","gradient","height","icon","id","index","initLetter","italic","keySet","layout","left","mar","marginOp","maxWidth","onScroll","onTap","preffersId","raster","removeDecoration","responsive","resprop","shadow","size","span","stroke","tag","text","top","transform","type","url","value","vtn","width"],"h4":["absolute","align","alt","animation","area","background","backgroundOp","block","border","borderObj","breakWord","center","clampc","class","color","cursor","em","filtera","flex","fluid","fluidc","font","gpos","gradient","height","icon","id","index","initLetter","italic","keySet","layout","left","mar","marginOp","maxWidth","onScroll","onTap","preffersId","raster","removeDecoration","responsive","resprop","shadow","size","span","stroke","tag","text","top","transform","type","url","value","vtn","width"],"h5":["absolute","align","alt","animation","area","background","backgroundOp","block","border","borderObj","breakWord","center","clampc","class","color","cursor","em","filtera","flex","fluid","fluidc","font","gpos","gradient","height","icon","id","index","initLetter","italic","keySet","layout","left","mar","marginOp","maxWidth","onScroll","onTap","preffersId","raster","removeDecoration","responsive","resprop","shadow","size","span","stroke","tag","text","top","transform","type","url","value","vtn","width"],"h6":["absolute","align","alt","animation","area","background","backgroundOp","block","border","borderObj","breakWord","center","clampc","class","color","cursor","em","filtera","flex","fluid","fluidc","font","gpos","gradient","height","icon","id","index","initLetter","italic","keySet","layout","left","mar","marginOp","maxWidth","onScroll","onTap","preffersId","raster","removeDecoration","responsive","resprop","shadow","size","span","stroke","tag","text","top","transform","type","url","value","vtn","width"],"p":["absolute","align","alt","animation","area","background","backgroundOp","block","border","borderObj","breakWord","center","clampc","class","color","cursor","em","filtera","flex","fluid","fluidc","font","gpos","gradient","height","icon","id","index","initLetter","italic","keySet","layout","left","mar","marginOp","maxWidth","onScroll","onTap","preffersId","raster","removeDecoration","responsive","resprop","shadow","size","span","stroke","tag","text","top","transform","type","url","value","vtn","width"],"img":["alt","animation","area","as","at","backgroundOp","centerSelf","class","clipPath","color","decoding","fetchPriority","filtera","fitContent","gpos","gradient","height","id","index","isBackground","isFull","keySet","layout","loading","marginOp","maxWidth","minHeight","objectFit","objectPosition","onScroll","onTap","opacity","radius","resprop","reveal","shadow","sizes","span","srcset","stroke","stype","type","url","vtn","width","x","y","zIndex"],"a":["align","animation","background","backgroundOp","blast","blastData","block","bold","border","borderObj","clampc","class","color","data","fixMobileTap","flex","fluidc","font","gradient","hover","icon","id","isNavA","link","mar","marginOp","maxWidth","new","nowrap","onTap","pad","padding","preffersId","radius","rounded","shadow","span","stroke","tags","text","transform","type","url","width"],"cards":["absolute","action","align","alignIts","alt","animation","area","as","at","backTo","background","backgroundCard","backgroundColor","backgroundOp","blast","blastData","block","bold","border","borderObj","borderObja","breakWord","center","centerColumn","centerSelf","checkedBackgroundColor","child","children","clampc","class","clipPath","colat","color","column","cursor","customAlign","customJustify","customStyle","data","decoding","disp","em","fetchPriority","filter","filtera","fitContent","fixMobileTap","flex","flexCenter","flexDir","fluid","fluidc","font","ga","gap","gpos","gradient","height","hideOverflow","hover","icon","id","index","initLetter","inpad","isBackground","isFull","isHidden","isLink","isNavA","italic","items","keySet","kind","label","layout","left","loading","map","mar","marginOp","maxHeight","maxWidth","mboth","method","minHeight","name","new","nowrap","objectFit","objectPosition","onScroll","onTap","opacity","overflow","pad","padding","position","preffersId","radius","ranges","raster","react","removeDecoration","resmar","respad","responsive","resprop","reveal","rounded","scale","sequence","shadow","simpleBorder","simpleCenter","size","sizes","span","srcset","sticky","stretch","stroke","stype","tag","tags","text","title","top","transform","transition","type","url","useBrightness","vtn","weight","width","wrap","x","y","zIndex"],"free":["els","id","type"],"nav":["absolute","action","align","alignItems","alignIts","alt","animate","animation","area","ariaLabel","as","at","backTo","background","backgroundCard","backgroundColor","backgroundOp","barPad","behaviour","blast","blastData","block","bold","border","borderBottom","borderObj","borderObja","brand","breakWord","breakpoint","breakpoints","center","centerColumn","centerSelf","checkedBackgroundColor","child","children","clampc","class","clipPath","colat","color","column","contentWidth","cursor","customAlign","customJustify","customStyle","data","decoding","desktopSize","diameter","disp","dropdown","els","em","fetchPriority","filter","filtera","fitContent","fixMobileTap","fixed","flex","flexCenter","flexDir","fluid","fluidc","font","ga","gap","gpos","gradient","hamColour","hamburgerColour","hamburgerInset","height","hideOverflow","hover","icon","id","index","initLetter","inline","inpad","isBackground","isFull","isHidden","isLink","isNavA","isSide","italic","items","justify","keySet","kind","label","layout","left","link","loading","map","mar","margin","marginOp","maxHeight","maxWidth","mboth","menuId","menuLabel","method","minHeight","mobileSize","name","new","nowrap","objectFit","objectPosition","offcanvas","onScroll","onTap","opacity","openColor","overflow","pad","padding","position","positions","preffersId","radius","ranges","raster","react","removeDecoration","resmar","respad","responsive","resprop","reveal","rounded","scale","sequence","shadow","sides","simpleBorder","simpleCenter","size","sizes","spacing","span","srcset","sticky","stretch","stroke","stype","tag","tags","templateCols","text","title","top","transform","transition","type","url","useBrightness","value","vtn","weight","width","wrap","x","y","zIndex"],"sideNav":["absolute","action","align","alignIts","alt","animate","animation","area","as","at","backTo","background","backgroundCard","backgroundColor","backgroundOp","behaviour","blast","blastData","block","bold","border","borderObj","borderObja","breakWord","center","centerColumn","centerSelf","checkedBackgroundColor","child","children","clampc","class","clipPath","colat","color","column","contentWidth","cursor","customAlign","customJustify","customStyle","data","decoding","diameter","disp","dropdown","els","em","fetchPriority","filter","filtera","fitContent","fixMobileTap","fixed","flex","flexCenter","flexDir","fluid","fluidc","font","ga","gap","gpos","gradient","hamColour","height","hideOverflow","hover","icon","id","index","initLetter","inline","inpad","isBackground","isFull","isHidden","isLink","isNavA","italic","items","keySet","kind","label","layout","left","link","loading","map","mar","margin","marginOp","maxHeight","maxWidth","mboth","method","minHeight","name","new","nowrap","objectFit","objectPosition","offcanvas","onScroll","onTap","opacity","overflow","pad","padding","position","positions","preffersId","radius","ranges","raster","react","removeDecoration","resmar","respad","responsive","resprop","reveal","rounded","scale","sequence","shadow","sides","simpleBorder","simpleCenter","size","sizes","span","srcset","sticky","stretch","stroke","stype","tag","tags","templateCols","text","title","top","transform","transition","type","url","useBrightness","value","vtn","weight","width","wrap","x","y","zIndex"],"row":["absolute","align","alignIts","alignTo","aligns","alt","animation","area","background","backgroundOp","block","border","borderObj","breakWord","center","children","clampc","class","colat","color","column","cursor","em","filtera","flex","fluid","fluidc","font","gap","gpos","gradient","height","icon","id","index","initLetter","italic","justifo","justify","keySet","layout","left","mar","marginOp","maxWidth","mobile","onScroll","onTap","owrap","padding","position","preffersId","radius","raster","removeDecoration","responsive","shadow","size","span","stroke","tag","toColumn","top","transform","type","url","vtn","width","wrap"],"dropdown":["id","items","label","title","type"],"radio":["color","exact","font","id","items","length","multiple","tint","type"],"input":["background","bold","color","exact","font","id","inputType","label","mar","maxWidth","name","pad","placeholder","radius","required","theme","title","type","weight"],"labelInput":["color","exact","font","id","inputType","label","mar","name","pad","text","title","type"],"filePicker":["accept","background","color","font","hideField","id","index","name","okayColor","radius","title","type"],"picker":["arrayMargin","arrayPadding","background","id","items","label","mar","name","pad","radius","title","type"],"video":["aspectRatio","autoplay","background","controls","decorative","height","id","label","lazy","loop","maxWidth","muted","objectFit","opacity","playsinline","poster","preload","radius","raster","sources","type","url","width"],"audio":["id","type","url"],"multiswitcher":["area","breakpoints","id","type"],"button":["align","auto","background","bold","border","centered","class","color","exact","fluidc","frame","height","id","img","keySet","margin","onTap","padding","radius","resmar","respad","svg","text","type","url","weight","width"],"form":["action","children","id","method","type"],"checkbox":["absolute","align","alt","animation","area","background","backgroundColor","backgroundOp","block","border","borderObj","breakWord","center","checkedBackgroundColor","clampc","class","clipPath","color","cursor","customStyle","em","filtera","flex","fluid","fluidc","font","gpos","gradient","height","icon","id","index","initLetter","italic","keySet","label","layout","left","mar","marginOp","maxWidth","name","onScroll","onTap","pad","preffersId","raster","removeDecoration","resmar","respad","responsive","shadow","size","span","stroke","tag","title","top","transform","type","url","vtn","width"],"stack":["children","height","id","sticky","type"],"simple":["children","gap","height","id","react","type"],"copy":["id","type"],"wrap":["absolute","align","alignIts","alt","animation","area","at","backTo","background","backgroundOp","blast","block","border","borderObj","borderObja","breakWord","center","centerColumn","child","children","clampc","class","color","column","cursor","customAlign","customJustify","disp","em","filter","filtera","flex","flexCenter","flexDir","fluid","fluidc","font","ga","gpos","gradient","height","hideOverflow","icon","id","index","initLetter","isHidden","isLink","italic","keySet","kind","layout","left","mar","marginOp","maxHeight","maxWidth","mboth","name","onScroll","onTap","opacity","overflow","pad","position","preffersId","radius","ranges","raster","removeDecoration","responsive","resprop","scale","sequence","shadow","simpleBorder","simpleCenter","size","span","sticky","stretch","stroke","tag","top","transform","transition","type","url","vtn","weight","width","zIndex"],"circle":["id","transform","type"],"polygon":["id","sides","transform","type"],"code":["id","transform","type"],"table":["id","items","transform","type"],"ulist":["absolute","align","alt","animation","area","background","backgroundOp","block","border","borderObj","breakWord","center","clampc","class","color","cursor","em","filtera","flex","fluid","fluidc","font","gpos","gradient","height","icon","id","index","initLetter","italic","items","keySet","kind","layout","left","mar","marginOp","maxWidth","onScroll","onTap","pad","preffersId","raster","removeDecoration","responsive","shadow","size","span","stroke","tag","top","transform","type","url","vtn","width"],"gridOverlay":["breakpoint","color","columns","font","fontSize","id","inset","letterSpacing","lineOpacity","lineWidth","markSize","marks","mobile","position","readouts","rows","type","uppercase","zIndex"]};
17
+ export const ELEMENT_PARAMS_BY_TYPE = {"h1":["absolute","align","alt","animation","area","background","backgroundOp","block","border","borderObj","breakWord","center","clampc","class","color","cursor","em","filtera","flex","fluid","fluidc","font","gpos","gradient","height","icon","id","index","initLetter","italic","keySet","layout","left","mar","marginOp","maxWidth","onScroll","onTap","preffersId","raster","removeDecoration","responsive","resprop","shadow","size","span","stroke","tag","text","top","transform","type","url","value","vtn","width"],"h2":["absolute","align","alt","animation","area","background","backgroundOp","block","border","borderObj","breakWord","center","clampc","class","color","cursor","em","filtera","flex","fluid","fluidc","font","gpos","gradient","height","icon","id","index","initLetter","italic","keySet","layout","left","mar","marginOp","maxWidth","onScroll","onTap","preffersId","raster","removeDecoration","responsive","resprop","shadow","size","span","stroke","tag","text","top","transform","type","url","value","vtn","width"],"h3":["absolute","align","alt","animation","area","background","backgroundOp","block","border","borderObj","breakWord","center","clampc","class","color","cursor","em","filtera","flex","fluid","fluidc","font","gpos","gradient","height","icon","id","index","initLetter","italic","keySet","layout","left","mar","marginOp","maxWidth","onScroll","onTap","preffersId","raster","removeDecoration","responsive","resprop","shadow","size","span","stroke","tag","text","top","transform","type","url","value","vtn","width"],"h4":["absolute","align","alt","animation","area","background","backgroundOp","block","border","borderObj","breakWord","center","clampc","class","color","cursor","em","filtera","flex","fluid","fluidc","font","gpos","gradient","height","icon","id","index","initLetter","italic","keySet","layout","left","mar","marginOp","maxWidth","onScroll","onTap","preffersId","raster","removeDecoration","responsive","resprop","shadow","size","span","stroke","tag","text","top","transform","type","url","value","vtn","width"],"h5":["absolute","align","alt","animation","area","background","backgroundOp","block","border","borderObj","breakWord","center","clampc","class","color","cursor","em","filtera","flex","fluid","fluidc","font","gpos","gradient","height","icon","id","index","initLetter","italic","keySet","layout","left","mar","marginOp","maxWidth","onScroll","onTap","preffersId","raster","removeDecoration","responsive","resprop","shadow","size","span","stroke","tag","text","top","transform","type","url","value","vtn","width"],"h6":["absolute","align","alt","animation","area","background","backgroundOp","block","border","borderObj","breakWord","center","clampc","class","color","cursor","em","filtera","flex","fluid","fluidc","font","gpos","gradient","height","icon","id","index","initLetter","italic","keySet","layout","left","mar","marginOp","maxWidth","onScroll","onTap","preffersId","raster","removeDecoration","responsive","resprop","shadow","size","span","stroke","tag","text","top","transform","type","url","value","vtn","width"],"p":["absolute","align","alt","animation","area","background","backgroundOp","block","border","borderObj","breakWord","center","clampc","class","color","cursor","em","filtera","flex","fluid","fluidc","font","gpos","gradient","height","icon","id","index","initLetter","italic","keySet","layout","left","mar","marginOp","maxWidth","onScroll","onTap","preffersId","raster","removeDecoration","responsive","resprop","shadow","size","span","stroke","tag","text","top","transform","type","url","value","vtn","width"],"img":["alt","animation","area","as","at","backgroundOp","centerSelf","class","clipPath","color","decoding","fetchPriority","filtera","fitContent","gpos","gradient","height","id","index","isBackground","isFull","keySet","layout","loading","marginOp","maxWidth","minHeight","objectFit","objectPosition","onScroll","onTap","opacity","radius","resprop","reveal","shadow","sizes","span","srcset","stroke","stype","type","url","vtn","width","x","y","zIndex"],"a":["align","animation","background","backgroundOp","blast","blastData","block","bold","border","borderObj","clampc","class","color","data","fixMobileTap","flex","fluidc","font","gradient","hover","icon","id","isNavA","link","mar","marginOp","maxWidth","new","nowrap","onTap","pad","padding","preffersId","radius","rounded","shadow","span","stroke","tags","text","transform","type","url","width"],"cards":["absolute","action","align","alignIts","alt","animation","area","as","at","backTo","background","backgroundCard","backgroundColor","backgroundOp","blast","blastData","block","bold","border","borderObj","borderObja","breakWord","center","centerColumn","centerSelf","checkedBackgroundColor","child","children","clampc","class","clipPath","colat","color","column","cursor","customAlign","customJustify","customStyle","data","decoding","disp","em","fetchPriority","filter","filtera","fitContent","fixMobileTap","flex","flexCenter","flexDir","fluid","fluidc","font","ga","gap","gpos","gradient","height","hideOverflow","hover","icon","id","index","initLetter","inpad","isBackground","isFull","isHidden","isLink","isNavA","italic","items","keySet","kind","label","layout","left","loading","map","mar","marginOp","maxHeight","maxWidth","mboth","method","minHeight","name","new","nowrap","objectFit","objectPosition","onScroll","onTap","opacity","overflow","pad","padding","position","preffersId","radius","ranges","raster","react","removeDecoration","resmar","respad","responsive","resprop","reveal","rounded","scale","sequence","shadow","simpleBorder","simpleCenter","size","sizes","span","srcset","sticky","stretch","stroke","stype","tag","tags","text","title","top","transform","transition","type","url","useBrightness","vtn","weight","width","wrap","x","y","zIndex"],"free":["els","id","type"],"nav":["absolute","action","align","alignItems","alignIts","alt","animate","animation","area","ariaLabel","as","at","backTo","background","backgroundCard","backgroundColor","backgroundOp","barPad","behaviour","blast","blastData","block","bold","border","borderBottom","borderObj","borderObja","brand","breakWord","breakpoint","breakpoints","center","centerColumn","centerSelf","checkedBackgroundColor","child","children","clampc","class","clipPath","colat","color","column","contentWidth","cursor","customAlign","customJustify","customStyle","data","decoding","desktopSize","diameter","disp","dropdown","els","em","fetchPriority","filter","filtera","fitContent","fixMobileTap","fixed","flex","flexCenter","flexDir","fluid","fluidc","font","ga","gap","gpos","gradient","hamColour","hamburgerColour","hamburgerInset","height","hideOverflow","hover","icon","id","index","initLetter","inline","inpad","isBackground","isFull","isHidden","isLink","isNavA","isSide","italic","items","justify","keySet","kind","label","layout","left","link","loading","map","mar","margin","marginOp","maxHeight","maxWidth","mboth","menuId","menuLabel","method","minHeight","mobileSize","name","new","nowrap","objectFit","objectPosition","offcanvas","onScroll","onTap","opacity","openColor","overflow","pad","padding","position","positions","preffersId","radius","ranges","raster","react","removeDecoration","resmar","respad","responsive","resprop","reveal","rounded","scale","sequence","shadow","sides","simpleBorder","simpleCenter","size","sizes","spacing","span","srcset","sticky","stretch","stroke","stype","tag","tags","templateCols","text","title","top","transform","transition","type","url","useBrightness","value","vtn","weight","width","wrap","x","y","zIndex"],"sideNav":["absolute","action","align","alignIts","alt","animate","animation","area","as","at","backTo","background","backgroundCard","backgroundColor","backgroundOp","behaviour","blast","blastData","block","bold","border","borderObj","borderObja","breakWord","center","centerColumn","centerSelf","checkedBackgroundColor","child","children","clampc","class","clipPath","colat","color","column","contentWidth","cursor","customAlign","customJustify","customStyle","data","decoding","diameter","disp","dropdown","els","em","fetchPriority","filter","filtera","fitContent","fixMobileTap","fixed","flex","flexCenter","flexDir","fluid","fluidc","font","ga","gap","gpos","gradient","hamColour","height","hideOverflow","hover","icon","id","index","initLetter","inline","inpad","isBackground","isFull","isHidden","isLink","isNavA","italic","items","keySet","kind","label","layout","left","link","loading","map","mar","margin","marginOp","maxHeight","maxWidth","mboth","method","minHeight","name","new","nowrap","objectFit","objectPosition","offcanvas","onScroll","onTap","opacity","overflow","pad","padding","position","positions","preffersId","radius","ranges","raster","react","removeDecoration","resmar","respad","responsive","resprop","reveal","rounded","scale","sequence","shadow","sides","simpleBorder","simpleCenter","size","sizes","span","srcset","sticky","stretch","stroke","stype","tag","tags","templateCols","text","title","top","transform","transition","type","url","useBrightness","value","vtn","weight","width","wrap","x","y","zIndex"],"row":["absolute","align","alignIts","alignTo","aligns","alt","animation","area","background","backgroundOp","block","border","borderObj","breakWord","center","children","clampc","class","colat","color","column","cursor","em","filtera","flex","fluid","fluidc","font","gap","gpos","gradient","height","icon","id","index","initLetter","italic","justifo","justify","keySet","layout","left","mar","marginOp","maxWidth","mobile","onScroll","onTap","owrap","padding","position","preffersId","radius","raster","removeDecoration","responsive","shadow","size","span","stroke","tag","toColumn","top","transform","type","url","vtn","width","wrap"],"dropdown":["id","items","label","title","type"],"radio":["color","exact","font","id","items","length","multiple","tint","type"],"input":["background","bold","color","exact","font","id","inputType","label","mar","maxWidth","name","pad","placeholder","radius","required","theme","title","type","weight"],"labelInput":["color","exact","font","id","inputType","label","mar","name","pad","text","title","type"],"filePicker":["accept","background","color","font","hideField","id","index","name","okayColor","radius","title","type"],"picker":["arrayMargin","arrayPadding","background","id","items","label","mar","name","pad","radius","title","type"],"video":["aspectRatio","autoplay","background","controls","decorative","height","id","label","lazy","loop","maxWidth","muted","objectFit","opacity","playsinline","poster","preload","radius","raster","sources","type","url","width"],"audio":["id","type","url"],"multiswitcher":["area","breakpoints","id","type"],"button":["align","auto","background","bold","border","centered","class","color","exact","fluidc","frame","height","id","img","keySet","margin","onTap","padding","radius","resmar","respad","svg","text","type","url","weight","width"],"form":["action","children","id","method","type"],"checkbox":["absolute","align","alt","animation","area","background","backgroundColor","backgroundOp","block","border","borderObj","breakWord","center","checkedBackgroundColor","clampc","class","clipPath","color","cursor","customStyle","em","filtera","flex","fluid","fluidc","font","gpos","gradient","height","icon","id","index","initLetter","italic","keySet","label","layout","left","mar","marginOp","maxWidth","name","onScroll","onTap","pad","preffersId","raster","removeDecoration","resmar","respad","responsive","shadow","size","span","stroke","tag","title","top","transform","type","url","vtn","width"],"stack":["children","height","id","sticky","type"],"simple":["children","gap","height","id","react","type"],"copy":["id","type"],"wrap":["absolute","align","alignIts","alt","animation","area","at","backTo","background","backgroundOp","blast","block","border","borderObj","borderObja","breakWord","center","centerColumn","child","children","clampc","class","color","column","cursor","customAlign","customJustify","disp","em","filter","filtera","flex","flexCenter","flexDir","fluid","fluidc","font","ga","gpos","gradient","height","hideOverflow","icon","id","index","initLetter","isHidden","isLink","italic","keySet","kind","layout","left","mar","marginOp","maxHeight","maxWidth","mboth","name","onScroll","onTap","opacity","overflow","pad","position","preffersId","radius","ranges","raster","removeDecoration","responsive","resprop","scale","sequence","shadow","simpleBorder","simpleCenter","size","span","sticky","stretch","stroke","tag","top","transform","transition","type","url","vtn","weight","width","zIndex"],"circle":["id","transform","type"],"polygon":["id","sides","transform","type"],"code":["id","transform","type"],"table":["id","items","transform","type"],"ulist":["absolute","align","alt","animation","area","background","backgroundOp","block","border","borderObj","breakWord","center","clampc","class","color","cursor","em","filtera","flex","fluid","fluidc","font","gpos","gradient","height","icon","id","index","initLetter","italic","items","keySet","kind","layout","left","mar","marginOp","maxWidth","onScroll","onTap","pad","preffersId","raster","removeDecoration","responsive","shadow","size","span","stroke","tag","top","transform","type","url","vtn","width"],"gridOverlay":["breakpoint","color","columns","font","fontSize","id","inset","letterSpacing","lineOpacity","lineWidth","markSize","marks","mobile","position","readouts","rows","type","uppercase","zIndex"],"store":["color","country","domain","font","id","keySet","language","token","type"],"product":["absolute","action","align","alignItems","alignIts","alignTo","aligns","alt","animate","animation","area","ariaLabel","as","at","backTo","background","backgroundCard","backgroundColor","backgroundOp","barPad","behaviour","blast","blastData","block","bold","border","borderBottom","borderObj","borderObja","brand","breakWord","breakpoint","breakpoints","cart","center","centerColumn","centerSelf","checkedBackgroundColor","child","children","clampc","class","clipPath","colat","color","column","contentWidth","cursor","customAlign","customJustify","customStyle","data","decoding","desktopSize","diameter","discountCodes","disp","dropdown","els","em","fetchPriority","filter","filtera","fitContent","fixMobileTap","fixed","flex","flexCenter","flexDir","fluid","fluidc","font","ga","gap","gpos","gradient","hamColour","hamburgerColour","hamburgerInset","handle","height","hideOverflow","hover","icon","id","index","initLetter","inline","inpad","isBackground","isFull","isHidden","isLink","isNavA","isSide","italic","items","justifo","justify","keySet","kind","label","layout","left","link","loading","map","mar","margin","marginOp","maxHeight","maxWidth","mboth","menuId","menuLabel","method","minHeight","mobile","mobileSize","mode","name","new","nowrap","objectFit","objectPosition","offcanvas","onScroll","onTap","opacity","openColor","overflow","owrap","pad","padding","position","positions","preffersId","query","radius","ranges","raster","react","removeDecoration","resmar","respad","responsive","resprop","reveal","rounded","scale","sequence","shadow","sides","simpleBorder","simpleCenter","size","sizes","spacing","span","srcset","sticky","store","stretch","stroke","stype","tag","tags","target","templateCols","text","theme","title","toColumn","top","transform","transition","type","url","useBrightness","value","vtn","weight","width","wrap","x","y","zIndex"],"price":["color","font","id","keySet","query","text","type"],"productData":["color","font","id","keySet","query","text","type"],"productMedia":["alt","color","font","height","id","keySet","query","type","url","width"],"variantPicker":["color","font","id","keySet","text","type"],"buy":["cart","color","font","id","keySet","mode","store","text","type","url"],"cart":["color","discountCodes","font","id","keySet","target","theme","type"]};
18
18
 
19
19
  // Declared value shapes, keyed "type.param". Only parameters whose source
20
20
  // carries a `//@ name {unit}:` annotation appear, so this grows as the
21
21
  // library documents itself and never claims a shape it was not told.
22
- export const ELEMENT_PARAM_UNITS = {"h1.area":"text","h1.background":"color","h1.borderObj":"object","h1.color":"color","h1.cursor":"css-cursor","h1.height":"css-length","h1.keySet":"keyset","h1.mar":"sides","h1.maxWidth":"css-length","h1.raster":"nodes","h1.resprop":"breakpoints","h1.size":"scale-step","h1.transform":"css-transform","h1.width":"css-length","h2.area":"text","h2.background":"color","h2.borderObj":"object","h2.color":"color","h2.cursor":"css-cursor","h2.height":"css-length","h2.keySet":"keyset","h2.mar":"sides","h2.maxWidth":"css-length","h2.raster":"nodes","h2.resprop":"breakpoints","h2.size":"scale-step","h2.transform":"css-transform","h2.width":"css-length","h3.area":"text","h3.background":"color","h3.borderObj":"object","h3.color":"color","h3.cursor":"css-cursor","h3.height":"css-length","h3.keySet":"keyset","h3.mar":"sides","h3.maxWidth":"css-length","h3.raster":"nodes","h3.resprop":"breakpoints","h3.size":"scale-step","h3.transform":"css-transform","h3.width":"css-length","h4.area":"text","h4.background":"color","h4.borderObj":"object","h4.color":"color","h4.cursor":"css-cursor","h4.height":"css-length","h4.keySet":"keyset","h4.mar":"sides","h4.maxWidth":"css-length","h4.raster":"nodes","h4.resprop":"breakpoints","h4.size":"scale-step","h4.transform":"css-transform","h4.width":"css-length","h5.area":"text","h5.background":"color","h5.borderObj":"object","h5.color":"color","h5.cursor":"css-cursor","h5.height":"css-length","h5.keySet":"keyset","h5.mar":"sides","h5.maxWidth":"css-length","h5.raster":"nodes","h5.resprop":"breakpoints","h5.size":"scale-step","h5.transform":"css-transform","h5.width":"css-length","h6.area":"text","h6.background":"color","h6.borderObj":"object","h6.color":"color","h6.cursor":"css-cursor","h6.height":"css-length","h6.keySet":"keyset","h6.mar":"sides","h6.maxWidth":"css-length","h6.raster":"nodes","h6.resprop":"breakpoints","h6.size":"scale-step","h6.transform":"css-transform","h6.width":"css-length","p.area":"text","p.background":"color","p.borderObj":"object","p.color":"color","p.cursor":"css-cursor","p.height":"css-length","p.keySet":"keyset","p.mar":"sides","p.maxWidth":"css-length","p.raster":"nodes","p.resprop":"breakpoints","p.size":"scale-step","p.transform":"css-transform","p.width":"css-length","img.area":"text","img.color":"color","img.height":"css-length","img.keySet":"keyset","img.maxWidth":"css-length","img.opacity":"ratio","img.radius":"px-or-length","img.resprop":"breakpoints","img.reveal":"object","img.width":"css-length","img.zIndex":"count","a.background":"color","a.borderObj":"object","a.color":"color","a.hover":"object","a.mar":"sides","a.maxWidth":"css-length","a.pad":"sides","a.radius":"px-or-length","a.transform":"css-transform","a.width":"css-length","cards.area":"text","cards.background":"color","cards.borderObj":"object","cards.color":"color","cards.cursor":"css-cursor","cards.height":"css-length","cards.hover":"object","cards.keySet":"keyset","cards.mar":"sides","cards.maxHeight":"css-length","cards.maxWidth":"css-length","cards.opacity":"ratio","cards.pad":"sides","cards.radius":"px-or-length","cards.raster":"nodes","cards.resmar":"breakpoints","cards.respad":"breakpoints","cards.resprop":"breakpoints","cards.size":"scale-step","cards.transform":"css-transform","cards.width":"css-length","cards.zIndex":"count","nav.area":"text","nav.background":"color","nav.borderObj":"object","nav.breakpoint":"px-or-length","nav.color":"color","nav.cursor":"css-cursor","nav.font":"text","nav.hamburgerColour":"color","nav.height":"css-length","nav.hover":"object","nav.keySet":"keyset","nav.mar":"sides","nav.maxHeight":"css-length","nav.maxWidth":"css-length","nav.menuLabel":"text","nav.opacity":"ratio","nav.pad":"sides","nav.radius":"px-or-length","nav.raster":"nodes","nav.resmar":"breakpoints","nav.respad":"breakpoints","nav.resprop":"breakpoints","nav.size":"scale-step","nav.transform":"css-transform","nav.width":"css-length","nav.zIndex":"count","sideNav.area":"text","sideNav.background":"color","sideNav.borderObj":"object","sideNav.color":"color","sideNav.cursor":"css-cursor","sideNav.height":"css-length","sideNav.hover":"object","sideNav.keySet":"keyset","sideNav.mar":"sides","sideNav.maxHeight":"css-length","sideNav.maxWidth":"css-length","sideNav.opacity":"ratio","sideNav.pad":"sides","sideNav.radius":"px-or-length","sideNav.raster":"nodes","sideNav.resmar":"breakpoints","sideNav.respad":"breakpoints","sideNav.resprop":"breakpoints","sideNav.size":"scale-step","sideNav.transform":"css-transform","sideNav.width":"css-length","sideNav.zIndex":"count","row.area":"text","row.background":"color","row.borderObj":"object","row.color":"color","row.cursor":"css-cursor","row.height":"css-length","row.keySet":"keyset","row.mar":"sides","row.maxWidth":"css-length","row.radius":"px-or-length","row.raster":"nodes","row.size":"scale-step","row.transform":"css-transform","row.width":"css-length","radio.color":"color","radio.exact":"css-length","input.background":"color","input.color":"color","input.exact":"css-length","input.mar":"sides","input.maxWidth":"css-length","input.pad":"sides","input.radius":"px-or-length","input.theme":"object","labelInput.color":"color","labelInput.exact":"css-length","labelInput.mar":"sides","labelInput.pad":"sides","filePicker.background":"color","filePicker.color":"color","filePicker.radius":"px-or-length","picker.background":"color","picker.mar":"sides","picker.pad":"sides","picker.radius":"px-or-length","video.aspectRatio":"css-aspect-ratio","video.autoplay":"bool","video.background":"color","video.controls":"bool","video.decorative":"bool","video.height":"css-length","video.id":"text","video.label":"text","video.lazy":"bool","video.loop":"bool","video.maxWidth":"css-length","video.muted":"bool","video.objectFit":"enum(cover|contain|fill|none|scale-down)","video.opacity":"ratio","video.playsinline":"bool","video.poster":"url","video.preload":"enum(none|metadata|auto)","video.radius":"px-or-length","video.raster":"nodes","video.sources":"array","video.width":"css-length","multiswitcher.area":"text","button.background":"color","button.color":"color","button.exact":"css-length","button.height":"css-length","button.keySet":"keyset","button.radius":"px-or-length","button.resmar":"breakpoints","button.respad":"breakpoints","button.width":"css-length","checkbox.area":"text","checkbox.background":"color","checkbox.borderObj":"object","checkbox.color":"color","checkbox.cursor":"css-cursor","checkbox.height":"css-length","checkbox.keySet":"keyset","checkbox.mar":"sides","checkbox.maxWidth":"css-length","checkbox.pad":"sides","checkbox.raster":"nodes","checkbox.resmar":"breakpoints","checkbox.respad":"breakpoints","checkbox.size":"scale-step","checkbox.transform":"css-transform","checkbox.width":"css-length","stack.height":"css-length","simple.height":"css-length","wrap.area":"text","wrap.background":"color","wrap.borderObj":"object","wrap.color":"color","wrap.cursor":"css-cursor","wrap.height":"css-length","wrap.keySet":"keyset","wrap.mar":"sides","wrap.maxHeight":"css-length","wrap.maxWidth":"css-length","wrap.opacity":"ratio","wrap.pad":"sides","wrap.radius":"px-or-length","wrap.raster":"nodes","wrap.resprop":"breakpoints","wrap.size":"scale-step","wrap.transform":"css-transform","wrap.width":"css-length","wrap.zIndex":"count","circle.transform":"css-transform","polygon.transform":"css-transform","code.transform":"css-transform","table.transform":"css-transform","ulist.area":"text","ulist.background":"color","ulist.borderObj":"object","ulist.color":"color","ulist.cursor":"css-cursor","ulist.height":"css-length","ulist.keySet":"keyset","ulist.mar":"sides","ulist.maxWidth":"css-length","ulist.pad":"sides","ulist.raster":"nodes","ulist.size":"scale-step","ulist.transform":"css-transform","ulist.width":"css-length","gridOverlay.breakpoint":"px-number","gridOverlay.color":"color","gridOverlay.columns":"count","gridOverlay.font":"text","gridOverlay.fontSize":"px-number","gridOverlay.inset":"px-number","gridOverlay.letterSpacing":"text","gridOverlay.lineOpacity":"ratio","gridOverlay.lineWidth":"px-number","gridOverlay.markSize":"px-number","gridOverlay.marks":"enum(square|cross|none)","gridOverlay.mobile":"object","gridOverlay.position":"enum(fixed|absolute)","gridOverlay.readouts":"array","gridOverlay.rows":"count","gridOverlay.uppercase":"bool","gridOverlay.zIndex":"count"};
22
+ export const ELEMENT_PARAM_UNITS = {"h1.area":"text","h1.background":"color","h1.borderObj":"object","h1.color":"color","h1.cursor":"css-cursor","h1.height":"css-length","h1.keySet":"keyset","h1.mar":"sides","h1.maxWidth":"css-length","h1.raster":"nodes","h1.resprop":"breakpoints","h1.size":"scale-step","h1.transform":"css-transform","h1.width":"css-length","h2.area":"text","h2.background":"color","h2.borderObj":"object","h2.color":"color","h2.cursor":"css-cursor","h2.height":"css-length","h2.keySet":"keyset","h2.mar":"sides","h2.maxWidth":"css-length","h2.raster":"nodes","h2.resprop":"breakpoints","h2.size":"scale-step","h2.transform":"css-transform","h2.width":"css-length","h3.area":"text","h3.background":"color","h3.borderObj":"object","h3.color":"color","h3.cursor":"css-cursor","h3.height":"css-length","h3.keySet":"keyset","h3.mar":"sides","h3.maxWidth":"css-length","h3.raster":"nodes","h3.resprop":"breakpoints","h3.size":"scale-step","h3.transform":"css-transform","h3.width":"css-length","h4.area":"text","h4.background":"color","h4.borderObj":"object","h4.color":"color","h4.cursor":"css-cursor","h4.height":"css-length","h4.keySet":"keyset","h4.mar":"sides","h4.maxWidth":"css-length","h4.raster":"nodes","h4.resprop":"breakpoints","h4.size":"scale-step","h4.transform":"css-transform","h4.width":"css-length","h5.area":"text","h5.background":"color","h5.borderObj":"object","h5.color":"color","h5.cursor":"css-cursor","h5.height":"css-length","h5.keySet":"keyset","h5.mar":"sides","h5.maxWidth":"css-length","h5.raster":"nodes","h5.resprop":"breakpoints","h5.size":"scale-step","h5.transform":"css-transform","h5.width":"css-length","h6.area":"text","h6.background":"color","h6.borderObj":"object","h6.color":"color","h6.cursor":"css-cursor","h6.height":"css-length","h6.keySet":"keyset","h6.mar":"sides","h6.maxWidth":"css-length","h6.raster":"nodes","h6.resprop":"breakpoints","h6.size":"scale-step","h6.transform":"css-transform","h6.width":"css-length","p.area":"text","p.background":"color","p.borderObj":"object","p.color":"color","p.cursor":"css-cursor","p.height":"css-length","p.keySet":"keyset","p.mar":"sides","p.maxWidth":"css-length","p.raster":"nodes","p.resprop":"breakpoints","p.size":"scale-step","p.transform":"css-transform","p.width":"css-length","img.area":"text","img.color":"color","img.height":"css-length","img.keySet":"keyset","img.maxWidth":"css-length","img.opacity":"ratio","img.radius":"px-or-length","img.resprop":"breakpoints","img.reveal":"object","img.width":"css-length","img.zIndex":"count","a.background":"color","a.borderObj":"object","a.color":"color","a.hover":"object","a.mar":"sides","a.maxWidth":"css-length","a.pad":"sides","a.radius":"px-or-length","a.transform":"css-transform","a.width":"css-length","cards.area":"text","cards.background":"color","cards.borderObj":"object","cards.color":"color","cards.cursor":"css-cursor","cards.height":"css-length","cards.hover":"object","cards.keySet":"keyset","cards.mar":"sides","cards.maxHeight":"css-length","cards.maxWidth":"css-length","cards.opacity":"ratio","cards.pad":"sides","cards.radius":"px-or-length","cards.raster":"nodes","cards.resmar":"breakpoints","cards.respad":"breakpoints","cards.resprop":"breakpoints","cards.size":"scale-step","cards.transform":"css-transform","cards.width":"css-length","cards.zIndex":"count","nav.area":"text","nav.background":"color","nav.borderObj":"object","nav.breakpoint":"px-or-length","nav.color":"color","nav.cursor":"css-cursor","nav.font":"text","nav.hamburgerColour":"color","nav.height":"css-length","nav.hover":"object","nav.keySet":"keyset","nav.mar":"sides","nav.maxHeight":"css-length","nav.maxWidth":"css-length","nav.menuLabel":"text","nav.opacity":"ratio","nav.pad":"sides","nav.radius":"px-or-length","nav.raster":"nodes","nav.resmar":"breakpoints","nav.respad":"breakpoints","nav.resprop":"breakpoints","nav.size":"scale-step","nav.transform":"css-transform","nav.width":"css-length","nav.zIndex":"count","sideNav.area":"text","sideNav.background":"color","sideNav.borderObj":"object","sideNav.color":"color","sideNav.cursor":"css-cursor","sideNav.height":"css-length","sideNav.hover":"object","sideNav.keySet":"keyset","sideNav.mar":"sides","sideNav.maxHeight":"css-length","sideNav.maxWidth":"css-length","sideNav.opacity":"ratio","sideNav.pad":"sides","sideNav.radius":"px-or-length","sideNav.raster":"nodes","sideNav.resmar":"breakpoints","sideNav.respad":"breakpoints","sideNav.resprop":"breakpoints","sideNav.size":"scale-step","sideNav.transform":"css-transform","sideNav.width":"css-length","sideNav.zIndex":"count","row.area":"text","row.background":"color","row.borderObj":"object","row.color":"color","row.cursor":"css-cursor","row.height":"css-length","row.keySet":"keyset","row.mar":"sides","row.maxWidth":"css-length","row.radius":"px-or-length","row.raster":"nodes","row.size":"scale-step","row.transform":"css-transform","row.width":"css-length","radio.color":"color","radio.exact":"css-length","input.background":"color","input.color":"color","input.exact":"css-length","input.mar":"sides","input.maxWidth":"css-length","input.pad":"sides","input.radius":"px-or-length","input.theme":"object","labelInput.color":"color","labelInput.exact":"css-length","labelInput.mar":"sides","labelInput.pad":"sides","filePicker.background":"color","filePicker.color":"color","filePicker.radius":"px-or-length","picker.background":"color","picker.mar":"sides","picker.pad":"sides","picker.radius":"px-or-length","video.aspectRatio":"css-aspect-ratio","video.autoplay":"bool","video.background":"color","video.controls":"bool","video.decorative":"bool","video.height":"css-length","video.id":"text","video.label":"text","video.lazy":"bool","video.loop":"bool","video.maxWidth":"css-length","video.muted":"bool","video.objectFit":"enum(cover|contain|fill|none|scale-down)","video.opacity":"ratio","video.playsinline":"bool","video.poster":"url","video.preload":"enum(none|metadata|auto)","video.radius":"px-or-length","video.raster":"nodes","video.sources":"array","video.width":"css-length","multiswitcher.area":"text","button.background":"color","button.color":"color","button.exact":"css-length","button.height":"css-length","button.keySet":"keyset","button.radius":"px-or-length","button.resmar":"breakpoints","button.respad":"breakpoints","button.width":"css-length","checkbox.area":"text","checkbox.background":"color","checkbox.borderObj":"object","checkbox.color":"color","checkbox.cursor":"css-cursor","checkbox.height":"css-length","checkbox.keySet":"keyset","checkbox.mar":"sides","checkbox.maxWidth":"css-length","checkbox.pad":"sides","checkbox.raster":"nodes","checkbox.resmar":"breakpoints","checkbox.respad":"breakpoints","checkbox.size":"scale-step","checkbox.transform":"css-transform","checkbox.width":"css-length","stack.height":"css-length","simple.height":"css-length","wrap.area":"text","wrap.background":"color","wrap.borderObj":"object","wrap.color":"color","wrap.cursor":"css-cursor","wrap.height":"css-length","wrap.keySet":"keyset","wrap.mar":"sides","wrap.maxHeight":"css-length","wrap.maxWidth":"css-length","wrap.opacity":"ratio","wrap.pad":"sides","wrap.radius":"px-or-length","wrap.raster":"nodes","wrap.resprop":"breakpoints","wrap.size":"scale-step","wrap.transform":"css-transform","wrap.width":"css-length","wrap.zIndex":"count","circle.transform":"css-transform","polygon.transform":"css-transform","code.transform":"css-transform","table.transform":"css-transform","ulist.area":"text","ulist.background":"color","ulist.borderObj":"object","ulist.color":"color","ulist.cursor":"css-cursor","ulist.height":"css-length","ulist.keySet":"keyset","ulist.mar":"sides","ulist.maxWidth":"css-length","ulist.pad":"sides","ulist.raster":"nodes","ulist.size":"scale-step","ulist.transform":"css-transform","ulist.width":"css-length","gridOverlay.breakpoint":"px-number","gridOverlay.color":"color","gridOverlay.columns":"count","gridOverlay.font":"text","gridOverlay.fontSize":"px-number","gridOverlay.inset":"px-number","gridOverlay.letterSpacing":"text","gridOverlay.lineOpacity":"ratio","gridOverlay.lineWidth":"px-number","gridOverlay.markSize":"px-number","gridOverlay.marks":"enum(square|cross|none)","gridOverlay.mobile":"object","gridOverlay.position":"enum(fixed|absolute)","gridOverlay.readouts":"array","gridOverlay.rows":"count","gridOverlay.uppercase":"bool","gridOverlay.zIndex":"count","store.color":"color","store.country":"text","store.domain":"url","store.keySet":"keyset","store.language":"text","store.token":"text","product.area":"text","product.background":"color","product.borderObj":"object","product.color":"color","product.cursor":"css-cursor","product.handle":"text","product.height":"css-length","product.hover":"object","product.keySet":"keyset","product.mar":"sides","product.maxHeight":"css-length","product.maxWidth":"css-length","product.opacity":"ratio","product.pad":"sides","product.radius":"px-or-length","product.raster":"nodes","product.resmar":"breakpoints","product.respad":"breakpoints","product.resprop":"breakpoints","product.size":"scale-step","product.theme":"object","product.transform":"css-transform","product.width":"css-length","product.zIndex":"count","price.color":"color","price.keySet":"keyset","price.query":"text","price.text":"text","productData.color":"color","productData.keySet":"keyset","productData.query":"text","productData.text":"text","productMedia.alt":"text","productMedia.color":"color","productMedia.height":"count","productMedia.keySet":"keyset","productMedia.query":"text","productMedia.url":"url","productMedia.width":"count","variantPicker.color":"color","variantPicker.keySet":"keyset","variantPicker.text":"text","buy.cart":"text","buy.color":"color","buy.keySet":"keyset","buy.mode":"enum(cart|buyNow)","buy.store":"text","buy.text":"text","buy.url":"url","cart.color":"color","cart.discountCodes":"text","cart.keySet":"keyset","cart.target":"text","cart.theme":"object"};
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * nodality v1.3.14
2
+ * nodality v1.3.15
3
3
  * (c) 2026 Filip Vabrousek
4
4
  * License: MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * nodality v1.3.14
2
+ * nodality v1.3.15
3
3
  * (c) 2026 Filip Vabrousek
4
4
  * License: MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * nodality v1.3.14
2
+ * nodality v1.3.15
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.3.14
2
+ * nodality v1.3.15
3
3
  * (c) 2026 Filip Vabrousek
4
4
  * License: MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * nodality v1.3.14
2
+ * nodality v1.3.15
3
3
  * (c) 2026 Filip Vabrousek
4
4
  * License: MIT
5
5
  */
package/lib/parse-html.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * nodality v1.3.14
2
+ * nodality v1.3.15
3
3
  * (c) 2026 Filip Vabrousek
4
4
  * License: MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * nodality v1.3.14
2
+ * nodality v1.3.15
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.3.14
2
+ * nodality v1.3.15
3
3
  * (c) 2026 Filip Vabrousek
4
4
  * License: MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * nodality v1.3.14
2
+ * nodality v1.3.15
3
3
  * (c) 2026 Filip Vabrousek
4
4
  * License: MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * nodality v1.3.14
2
+ * nodality v1.3.15
3
3
  * (c) 2026 Filip Vabrousek
4
4
  * License: MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * nodality v1.3.14
2
+ * nodality v1.3.15
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.14
2
+ * nodality v1.3.15
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.14
2
+ * nodality v1.3.15
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.14
2
+ * nodality v1.3.15
3
3
  * (c) 2026 Filip Vabrousek
4
4
  * License: MIT
5
5
  */