nodality 1.3.9 → 1.3.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/animator.cjs.js +1 -1
- package/dist/animator.cjs.js.LICENSE.txt +1 -1
- package/dist/animator.esm.js +1 -1
- package/dist/animator.esm.js.LICENSE.txt +1 -1
- package/dist/audionew.cjs.js +1 -1
- package/dist/audionew.cjs.js.LICENSE.txt +1 -1
- package/dist/audionew.esm.js +1 -1
- package/dist/audionew.esm.js.LICENSE.txt +1 -1
- package/dist/base.cjs.js +1 -1
- package/dist/base.cjs.js.LICENSE.txt +1 -1
- package/dist/base.esm.js +1 -1
- package/dist/base.esm.js.LICENSE.txt +1 -1
- package/dist/beta-desktop-bar.cjs.js +1 -1
- package/dist/beta-desktop-bar.cjs.js.LICENSE.txt +1 -1
- package/dist/beta-desktop-bar.esm.js +1 -1
- package/dist/beta-desktop-bar.esm.js.LICENSE.txt +1 -1
- package/dist/beta-mobile-bar.cjs.js +1 -1
- package/dist/beta-mobile-bar.cjs.js.LICENSE.txt +1 -1
- package/dist/beta-mobile-bar.esm.js +1 -1
- package/dist/beta-mobile-bar.esm.js.LICENSE.txt +1 -1
- package/dist/bundle.umd.js +1 -1
- package/dist/bundle.umd.js.LICENSE.txt +1 -1
- package/dist/button.cjs.js +1 -1
- package/dist/button.cjs.js.LICENSE.txt +1 -1
- package/dist/button.esm.js +1 -1
- package/dist/button.esm.js.LICENSE.txt +1 -1
- package/dist/card-getter.cjs.js.LICENSE.txt +1 -1
- package/dist/card-getter.esm.js.LICENSE.txt +1 -1
- package/dist/center.cjs.js +1 -1
- package/dist/center.cjs.js.LICENSE.txt +1 -1
- package/dist/center.esm.js +1 -1
- package/dist/center.esm.js.LICENSE.txt +1 -1
- package/dist/checkbox.cjs.js +1 -1
- package/dist/checkbox.cjs.js.LICENSE.txt +1 -1
- package/dist/checkbox.esm.js +1 -1
- package/dist/checkbox.esm.js.LICENSE.txt +1 -1
- package/dist/code.cjs.js +1 -1
- package/dist/code.cjs.js.LICENSE.txt +1 -1
- package/dist/code.esm.js +1 -1
- package/dist/code.esm.js.LICENSE.txt +1 -1
- package/dist/container.cjs.js +1 -1
- package/dist/container.cjs.js.LICENSE.txt +1 -1
- package/dist/container.esm.js +1 -1
- package/dist/container.esm.js.LICENSE.txt +1 -1
- package/dist/data-list.cjs.js.LICENSE.txt +1 -1
- package/dist/data-list.esm.js.LICENSE.txt +1 -1
- package/dist/designer.cjs.js +1 -1
- package/dist/designer.cjs.js.LICENSE.txt +1 -1
- package/dist/designer.esm.js +1 -1
- package/dist/designer.esm.js.LICENSE.txt +1 -1
- package/dist/element-mapper.cjs.js +1 -1
- package/dist/element-mapper.cjs.js.LICENSE.txt +1 -1
- package/dist/element-mapper.esm.js +1 -1
- package/dist/element-mapper.esm.js.LICENSE.txt +1 -1
- package/dist/finalresult.esm.js +1 -1
- package/dist/finalresult.esm.js.LICENSE.txt +1 -1
- package/dist/flex-card.cjs.js +1 -1
- package/dist/flex-card.cjs.js.LICENSE.txt +1 -1
- package/dist/flex-card.esm.js +1 -1
- package/dist/flex-card.esm.js.LICENSE.txt +1 -1
- package/dist/flex-grid.cjs.js +1 -1
- package/dist/flex-grid.cjs.js.LICENSE.txt +1 -1
- package/dist/flex-grid.esm.js +1 -1
- package/dist/flex-grid.esm.js.LICENSE.txt +1 -1
- package/dist/flex-row.cjs.js +1 -1
- package/dist/flex-row.cjs.js.LICENSE.txt +1 -1
- package/dist/flex-row.esm.js +1 -1
- package/dist/flex-row.esm.js.LICENSE.txt +1 -1
- package/dist/floating-input.cjs.js +1 -1
- package/dist/floating-input.cjs.js.LICENSE.txt +1 -1
- package/dist/floating-input.esm.js +1 -1
- package/dist/floating-input.esm.js.LICENSE.txt +1 -1
- package/dist/free.cjs.js +1 -1
- package/dist/free.cjs.js.LICENSE.txt +1 -1
- package/dist/free.esm.js +1 -1
- package/dist/free.esm.js.LICENSE.txt +1 -1
- package/dist/horizontal-scroller.cjs.js.LICENSE.txt +1 -1
- package/dist/horizontal-scroller.esm.js.LICENSE.txt +1 -1
- package/dist/image-picker.cjs.js +1 -1
- package/dist/image-picker.cjs.js.LICENSE.txt +1 -1
- package/dist/image-picker.esm.js +1 -1
- package/dist/image-picker.esm.js.LICENSE.txt +1 -1
- package/dist/image.cjs.js +1 -1
- package/dist/image.cjs.js.LICENSE.txt +1 -1
- package/dist/image.esm.js +1 -1
- package/dist/image.esm.js.LICENSE.txt +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.cjs.js.LICENSE.txt +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/index.esm.js.LICENSE.txt +1 -1
- package/dist/keyframe-animation.cjs.js.LICENSE.txt +1 -1
- package/dist/keyframe-animation.esm.js.LICENSE.txt +1 -1
- package/dist/link-getter.cjs.js +1 -1
- package/dist/link-getter.cjs.js.LICENSE.txt +1 -1
- package/dist/link-getter.esm.js +1 -1
- package/dist/link-getter.esm.js.LICENSE.txt +1 -1
- package/dist/link.cjs.js +1 -1
- package/dist/link.cjs.js.LICENSE.txt +1 -1
- package/dist/link.esm.js +1 -1
- package/dist/link.esm.js.LICENSE.txt +1 -1
- package/dist/meta-adder.cjs.js +1 -1
- package/dist/meta-adder.cjs.js.LICENSE.txt +1 -1
- package/dist/meta-adder.esm.js +1 -1
- package/dist/meta-adder.esm.js.LICENSE.txt +1 -1
- package/dist/modal-2025.cjs.js +1 -1
- package/dist/modal-2025.cjs.js.LICENSE.txt +1 -1
- package/dist/modal-2025.esm.js +1 -1
- package/dist/modal-2025.esm.js.LICENSE.txt +1 -1
- package/dist/multiswitcher.cjs.js +1 -1
- package/dist/multiswitcher.cjs.js.LICENSE.txt +1 -1
- package/dist/multiswitcher.esm.js +1 -1
- package/dist/multiswitcher.esm.js.LICENSE.txt +1 -1
- package/dist/new-nav-bar.cjs.js +1 -1
- package/dist/new-nav-bar.cjs.js.LICENSE.txt +1 -1
- package/dist/new-nav-bar.esm.js +1 -1
- package/dist/new-nav-bar.esm.js.LICENSE.txt +1 -1
- package/dist/picker.cjs.js +1 -1
- package/dist/picker.cjs.js.LICENSE.txt +1 -1
- package/dist/picker.esm.js +1 -1
- package/dist/picker.esm.js.LICENSE.txt +1 -1
- package/dist/progress.cjs.js +1 -1
- package/dist/progress.cjs.js.LICENSE.txt +1 -1
- package/dist/progress.esm.js +1 -1
- package/dist/progress.esm.js.LICENSE.txt +1 -1
- package/dist/radio.cjs.js.LICENSE.txt +1 -1
- package/dist/radio.esm.js.LICENSE.txt +1 -1
- package/dist/range.cjs.js.LICENSE.txt +1 -1
- package/dist/range.esm.js.LICENSE.txt +1 -1
- package/dist/scroll-video.cjs.js.LICENSE.txt +1 -1
- package/dist/scroll-video.esm.js.LICENSE.txt +1 -1
- package/dist/side-bar.cjs.js +1 -1
- package/dist/side-bar.cjs.js.LICENSE.txt +1 -1
- package/dist/side-bar.esm.js +1 -1
- package/dist/side-bar.esm.js.LICENSE.txt +1 -1
- package/dist/side-nav-bar.cjs.js +1 -1
- package/dist/side-nav-bar.cjs.js.LICENSE.txt +1 -1
- package/dist/side-nav-bar.esm.js +1 -1
- package/dist/side-nav-bar.esm.js.LICENSE.txt +1 -1
- package/dist/simple-bar.cjs.js +1 -1
- package/dist/simple-bar.cjs.js.LICENSE.txt +1 -1
- package/dist/simple-bar.esm.js +1 -1
- package/dist/simple-bar.esm.js.LICENSE.txt +1 -1
- package/dist/slider-2025.cjs.js +1 -1
- package/dist/slider-2025.cjs.js.LICENSE.txt +1 -1
- package/dist/slider-2025.esm.js +1 -1
- package/dist/slider-2025.esm.js.LICENSE.txt +1 -1
- package/dist/spacer.cjs.js +1 -1
- package/dist/spacer.cjs.js.LICENSE.txt +1 -1
- package/dist/spacer.esm.js +1 -1
- package/dist/spacer.esm.js.LICENSE.txt +1 -1
- package/dist/stack.cjs.js +1 -1
- package/dist/stack.cjs.js.LICENSE.txt +1 -1
- package/dist/stack.esm.js +1 -1
- package/dist/stack.esm.js.LICENSE.txt +1 -1
- package/dist/stacker.cjs.js.LICENSE.txt +1 -1
- package/dist/stacker.esm.js.LICENSE.txt +1 -1
- package/dist/table.cjs.js +1 -1
- package/dist/table.cjs.js.LICENSE.txt +1 -1
- package/dist/table.esm.js +1 -1
- package/dist/table.esm.js.LICENSE.txt +1 -1
- package/dist/text-field.cjs.js +1 -1
- package/dist/text-field.cjs.js.LICENSE.txt +1 -1
- package/dist/text-field.esm.js +1 -1
- package/dist/text-field.esm.js.LICENSE.txt +1 -1
- package/dist/text.cjs.js +1 -1
- package/dist/text.cjs.js.LICENSE.txt +1 -1
- package/dist/text.esm.js +1 -1
- package/dist/text.esm.js.LICENSE.txt +1 -1
- package/dist/theme.cjs.js.LICENSE.txt +1 -1
- package/dist/theme.esm.js.LICENSE.txt +1 -1
- package/dist/transform-anim.cjs.js.LICENSE.txt +1 -1
- package/dist/transform-anim.esm.js.LICENSE.txt +1 -1
- package/dist/ulist.cjs.js +1 -1
- package/dist/ulist.cjs.js.LICENSE.txt +1 -1
- package/dist/ulist.esm.js +1 -1
- package/dist/ulist.esm.js.LICENSE.txt +1 -1
- package/dist/video.cjs.js +1 -1
- package/dist/video.cjs.js.LICENSE.txt +1 -1
- package/dist/video.esm.js +1 -1
- package/dist/video.esm.js.LICENSE.txt +1 -1
- package/dist/wrap.cjs.js +1 -1
- package/dist/wrap.cjs.js.LICENSE.txt +1 -1
- package/dist/wrap.esm.js +1 -1
- package/dist/wrap.esm.js.LICENSE.txt +1 -1
- package/dist/zoom-card.cjs.js +1 -1
- package/dist/zoom-card.cjs.js.LICENSE.txt +1 -1
- package/dist/zoom-card.esm.js +1 -1
- package/dist/zoom-card.esm.js.LICENSE.txt +1 -1
- package/layout/animator.js +44 -21
- package/layout/audio.js +1 -1
- package/layout/audionew.js +1 -1
- package/layout/base.js +1 -1
- package/layout/beta-desktop-bar.js +1 -1
- package/layout/beta-mobile-bar.js +1 -1
- package/layout/button.js +1 -1
- package/layout/center.js +1 -1
- package/layout/checkbox.js +1 -1
- package/layout/circle.js +1 -1
- package/layout/code.js +1 -1
- package/layout/container.js +1 -1
- package/layout/dropdown-2025.js +1 -1
- package/layout/flex-card.js +1 -1
- package/layout/flex-grid.js +1 -1
- package/layout/flex-row.js +1 -1
- package/layout/form-components/custom.js +1 -1
- package/layout/form-components/data-list.js +1 -1
- package/layout/form-components/floating-input.js +1 -1
- package/layout/form-components/form-all.js +1 -1
- package/layout/form-components/form.js +1 -1
- package/layout/form-components/image-picker.js +1 -1
- package/layout/form-components/picker.js +1 -1
- package/layout/form-components/radio.js +1 -1
- package/layout/form-components/radiogroup.js +1 -1
- package/layout/form-components/range.js +1 -1
- package/layout/free.js +1 -1
- package/layout/grid-overlay.js +19 -19
- package/layout/grid-switcher.js +1 -1
- package/layout/grid.js +1 -1
- package/layout/horizontal-scroller.js +1 -1
- package/layout/image.js +1 -1
- package/layout/index.js +1 -1
- package/layout/link.js +1 -1
- package/layout/list.js +1 -1
- package/layout/meta-adder.js +1 -1
- package/layout/modal-2025.js +1 -1
- package/layout/morph.js +1 -1
- package/layout/multiswitcher.js +1 -1
- package/layout/nav-bar.js +1 -1
- package/layout/nav-factor/custom-div.js +1 -1
- package/layout/new-nav-bar.js +1 -1
- package/layout/polygon.js +1 -1
- package/layout/prerender-site.js +1 -1
- package/layout/prerender.js +1 -1
- package/layout/progress.js +1 -1
- package/layout/row.js +1 -1
- package/layout/scroll-video.js +1 -1
- package/layout/side-bar.js +1 -1
- package/layout/side-nav-bar.js +1 -1
- package/layout/simple-bar.js +1 -1
- package/layout/slider-2025.js +1 -1
- package/layout/spacer.js +1 -1
- package/layout/stack.js +1 -1
- package/layout/svg.js +1 -1
- package/layout/switcher.js +1 -1
- package/layout/table.js +1 -1
- package/layout/text-field.js +1 -1
- package/layout/text.js +1 -1
- package/layout/ulist.js +1 -1
- package/layout/video.js +24 -21
- package/layout/wrap.js +1 -1
- package/layout/zoom-card.js +1 -1
- package/lib/agent-surface.js +1 -1
- package/lib/card-getter.js +1 -1
- package/lib/check-page.js +1 -1
- package/lib/codegen.js +1 -1
- package/lib/data.js +1 -1
- package/lib/designer.js +1 -1
- package/lib/element-mapper.js +83 -13
- package/lib/element-params.generated.js +13 -2
- package/lib/grid-geometry.js +1 -1
- package/lib/keyframe-animation.js +1 -1
- package/lib/link-getter.js +1 -1
- package/lib/morph-node.js +1 -1
- package/lib/normalize-spec.js +1 -1
- package/lib/parse-html.js +1 -1
- package/lib/raster-inspect.js +1 -1
- package/lib/raster-ops.js +1 -1
- package/lib/raster-presets.js +1 -1
- package/lib/resolve-refs.js +1 -1
- package/lib/scroll-video.js +1 -1
- package/lib/seo.js +1 -1
- package/lib/stacker.js +1 -1
- package/lib/suggest.js +1 -1
- package/lib/theme.js +1 -1
- package/lib/transform-anim.js +1 -1
- package/lib/transition.js +1 -1
- package/lib/validate-nodes.js +146 -4
- package/lib/webmcp-adapter.js +1 -1
- package/package.json +1 -1
- package/schema.json +1391 -2263
- package/scripts/generate-schema.mjs +135 -15
- package/skills/nodality/SKILL.md +15 -0
package/layout/grid-overlay.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* nodality v1.3.
|
|
2
|
+
* nodality v1.3.11
|
|
3
3
|
* (c) 2026 Filip Vabrousek
|
|
4
4
|
* License: MIT
|
|
5
5
|
*/
|
|
@@ -93,39 +93,39 @@ class GridOverlay extends Animator {
|
|
|
93
93
|
// or a destructure here would hide them from `get_schema` and make the
|
|
94
94
|
// validator reject valid specs.
|
|
95
95
|
this.config = {
|
|
96
|
-
//@ gridOverlay.columns: Columns, counted as cells (N cells draw N+1 lines). 0 draws no vertical lines. Default 4. Named `columns`, not `cols`: the library's shared `cols` means grid-template-columns verbatim.
|
|
96
|
+
//@ gridOverlay.columns {count}: Columns, counted as cells (N cells draw N+1 lines). 0 draws no vertical lines. Default 4. Named `columns`, not `cols`: the library's shared `cols` means grid-template-columns verbatim.
|
|
97
97
|
columns: obj.columns ?? DEFAULTS.columns,
|
|
98
|
-
//@ gridOverlay.rows: Rows across the overlay's height, counted as cells. 0 draws no horizontal lines. Default 2.
|
|
98
|
+
//@ gridOverlay.rows {count}: Rows across the overlay's height, counted as cells. 0 draws no horizontal lines. Default 2.
|
|
99
99
|
rows: obj.rows ?? DEFAULTS.rows,
|
|
100
|
-
//@ gridOverlay.inset: Distance of the outermost lines from the edge in px. A number, or {x, y}. Default 16.
|
|
100
|
+
//@ gridOverlay.inset {px-number}: Distance of the outermost lines from the edge in px. A number, or {x, y}. Default 16.
|
|
101
101
|
inset: obj.inset ?? DEFAULTS.inset,
|
|
102
|
-
//@ gridOverlay.color: Colour of lines, marks and readouts (drawn with currentColor). Falls back to the Theme text colour.
|
|
102
|
+
//@ gridOverlay.color {color}: Colour of lines, marks and readouts (drawn with currentColor). Falls back to the Theme text colour.
|
|
103
103
|
color: obj.color,
|
|
104
|
-
//@ gridOverlay.lineWidth: Stroke width of the grid lines in px. Default 1.
|
|
104
|
+
//@ gridOverlay.lineWidth {px-number}: Stroke width of the grid lines in px. Default 1.
|
|
105
105
|
lineWidth: obj.lineWidth ?? DEFAULTS.lineWidth,
|
|
106
|
-
//@ gridOverlay.lineOpacity: Opacity of the lines only; marks and readouts stay opaque. 0–1, default 0.35.
|
|
106
|
+
//@ gridOverlay.lineOpacity {ratio}: Opacity of the lines only; marks and readouts stay opaque. 0–1, default 0.35.
|
|
107
107
|
lineOpacity: obj.lineOpacity ?? DEFAULTS.lineOpacity,
|
|
108
|
-
//@ gridOverlay.marks: Registration mark at each intersection: "square" (default), "cross" or "none".
|
|
108
|
+
//@ gridOverlay.marks {enum(square|cross|none)}: Registration mark at each intersection: "square" (default), "cross" or "none".
|
|
109
109
|
marks: obj.marks ?? DEFAULTS.marks,
|
|
110
|
-
//@ gridOverlay.markSize: Size of each registration mark in px. Default 8.
|
|
110
|
+
//@ gridOverlay.markSize {px-number}: Size of each registration mark in px. Default 8.
|
|
111
111
|
markSize: obj.markSize ?? DEFAULTS.markSize,
|
|
112
|
-
//@ gridOverlay.position: "fixed" (default) pins the grid to the viewport; "absolute" fills the nearest positioned ancestor.
|
|
112
|
+
//@ gridOverlay.position {enum(fixed|absolute)}: "fixed" (default) pins the grid to the viewport; "absolute" fills the nearest positioned ancestor.
|
|
113
113
|
position: obj.position ?? DEFAULTS.position,
|
|
114
|
-
//@ gridOverlay.zIndex: Stacking order of the overlay. Default 2 — keep navigation above it.
|
|
114
|
+
//@ gridOverlay.zIndex {count}: Stacking order of the overlay. Default 2 — keep navigation above it.
|
|
115
115
|
zIndex: obj.zIndex ?? DEFAULTS.zIndex,
|
|
116
|
-
//@ gridOverlay.font: Font family of the readouts. Default a monospace stack.
|
|
116
|
+
//@ gridOverlay.font {text}: Font family of the readouts. Default a monospace stack.
|
|
117
117
|
font: obj.font ?? DEFAULTS.font,
|
|
118
|
-
//@ gridOverlay.fontSize: Readout font size in px. Default 11.
|
|
118
|
+
//@ gridOverlay.fontSize {px-number}: Readout font size in px. Default 11.
|
|
119
119
|
fontSize: obj.fontSize ?? DEFAULTS.fontSize,
|
|
120
|
-
//@ gridOverlay.letterSpacing: Readout letter spacing, any CSS length. Default "0.04em".
|
|
120
|
+
//@ gridOverlay.letterSpacing {text}: Readout letter spacing, any CSS length. Default "0.04em".
|
|
121
121
|
letterSpacing: obj.letterSpacing ?? DEFAULTS.letterSpacing,
|
|
122
|
-
//@ gridOverlay.uppercase: Uppercase the readout text. Default true.
|
|
122
|
+
//@ gridOverlay.uppercase {bool}: Uppercase the readout text. Default true.
|
|
123
123
|
uppercase: obj.uppercase ?? DEFAULTS.uppercase,
|
|
124
|
-
//@ gridOverlay.breakpoint: Viewport width in px below which `mobile` applies. Default 768.
|
|
124
|
+
//@ gridOverlay.breakpoint {px-number}: Viewport width in px below which `mobile` applies. Default 768.
|
|
125
125
|
breakpoint: obj.breakpoint ?? DEFAULTS.breakpoint,
|
|
126
|
-
//@ gridOverlay.mobile: Options that replace their desktop values below `breakpoint`, e.g. {columns: 1, rows: 4}.
|
|
126
|
+
//@ gridOverlay.mobile {object}: Options that replace their desktop values below `breakpoint`, e.g. {columns: 1, rows: 4}.
|
|
127
127
|
mobile: obj.mobile,
|
|
128
|
-
//@ gridOverlay.readouts: Labels beside intersections: [{id, col, row, text, anchor}]. col/row index lines from 0; anchor "br" (default), "bl", "tr" or "tl", flipped automatically when the label would fall outside. Decorative — say the same thing in real page text.
|
|
128
|
+
//@ gridOverlay.readouts {array}: Labels beside intersections: [{id, col, row, text, anchor}]. col/row index lines from 0; anchor "br" (default), "bl", "tr" or "tl", flipped automatically when the label would fall outside. Decorative — say the same thing in real page text.
|
|
129
129
|
readouts: obj.readouts ?? DEFAULTS.readouts,
|
|
130
130
|
};
|
|
131
131
|
|
|
@@ -138,7 +138,7 @@ class GridOverlay extends Animator {
|
|
|
138
138
|
this._watchSize();
|
|
139
139
|
this.draw();
|
|
140
140
|
|
|
141
|
-
//@ gridOverlay.raster: Raster op nodes for the overlay, e.g. an offset driven by hover to bend the lines near the cursor.
|
|
141
|
+
//@ gridOverlay.raster {nodes}: Raster op nodes for the overlay, e.g. an offset driven by hover to bend the lines near the cursor.
|
|
142
142
|
obj.raster && this.rasterize(obj.raster);
|
|
143
143
|
return this;
|
|
144
144
|
}
|
package/layout/grid-switcher.js
CHANGED
package/layout/grid.js
CHANGED
package/layout/image.js
CHANGED
package/layout/index.js
CHANGED
package/layout/link.js
CHANGED
package/layout/list.js
CHANGED
package/layout/meta-adder.js
CHANGED
package/layout/modal-2025.js
CHANGED
package/layout/morph.js
CHANGED
package/layout/multiswitcher.js
CHANGED
package/layout/nav-bar.js
CHANGED
package/layout/new-nav-bar.js
CHANGED
package/layout/polygon.js
CHANGED
package/layout/prerender-site.js
CHANGED
package/layout/prerender.js
CHANGED
package/layout/progress.js
CHANGED
package/layout/row.js
CHANGED
package/layout/scroll-video.js
CHANGED
package/layout/side-bar.js
CHANGED
package/layout/side-nav-bar.js
CHANGED
package/layout/simple-bar.js
CHANGED
package/layout/slider-2025.js
CHANGED
package/layout/spacer.js
CHANGED
package/layout/stack.js
CHANGED
package/layout/svg.js
CHANGED
package/layout/switcher.js
CHANGED
package/layout/table.js
CHANGED
package/layout/text-field.js
CHANGED
package/layout/text.js
CHANGED
package/layout/ulist.js
CHANGED
package/layout/video.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* nodality v1.3.
|
|
2
|
+
* nodality v1.3.11
|
|
3
3
|
* (c) 2026 Filip Vabrousek
|
|
4
4
|
* License: MIT
|
|
5
5
|
*/
|
|
@@ -74,7 +74,7 @@ class Video extends Animator {
|
|
|
74
74
|
this.options = obj;
|
|
75
75
|
const v = this.res;
|
|
76
76
|
|
|
77
|
-
//@ video.sources: Several encodings of the same clip: [{url, type}] or plain url strings. The browser picks the first it can play, so order best-first (AV1, then HEVC, then H.264). `type` is inferred from the extension when omitted.
|
|
77
|
+
//@ video.sources {array}: Several encodings of the same clip: [{url, type}] or plain url strings. The browser picks the first it can play, so order best-first (AV1, then HEVC, then H.264). `type` is inferred from the extension when omitted.
|
|
78
78
|
if (Array.isArray(obj.sources) && obj.sources.length) {
|
|
79
79
|
// A `src` attribute wins over <source> children, so it has to go.
|
|
80
80
|
v.removeAttribute("src");
|
|
@@ -93,27 +93,27 @@ class Video extends Animator {
|
|
|
93
93
|
}
|
|
94
94
|
}
|
|
95
95
|
|
|
96
|
-
//@ video.poster: Image shown before the first frame decodes. Give one on any autoplaying clip: it is what holds the layout still and what reduced-motion visitors see instead of the video.
|
|
96
|
+
//@ video.poster {url}: Image shown before the first frame decodes. Give one on any autoplaying clip: it is what holds the layout still and what reduced-motion visitors see instead of the video.
|
|
97
97
|
obj.poster && v.setAttribute("poster", obj.poster);
|
|
98
98
|
|
|
99
|
-
//@ video.preload: "none", "metadata" (a good default for a loop) or "auto".
|
|
99
|
+
//@ video.preload {enum(none|metadata|auto)}: "none", "metadata" (a good default for a loop) or "auto".
|
|
100
100
|
obj.preload && v.setAttribute("preload", obj.preload);
|
|
101
101
|
|
|
102
|
-
//@ video.controls: Show the browser's playback controls. Default true — pass false for an ambient loop.
|
|
102
|
+
//@ video.controls {bool}: Show the browser's playback controls. Default true — pass false for an ambient loop.
|
|
103
103
|
if (obj.controls === false) v.removeAttribute("controls");
|
|
104
104
|
else if (obj.controls === true) v.setAttribute("controls", "controls");
|
|
105
105
|
|
|
106
|
-
//@ video.loop: Restart when the clip ends.
|
|
106
|
+
//@ video.loop {bool}: Restart when the clip ends.
|
|
107
107
|
obj.loop && (v.loop = true, v.setAttribute("loop", "loop"));
|
|
108
108
|
|
|
109
|
-
//@ video.playsinline: Play in place on iPhone instead of taking over the screen. Implied by `autoplay`; there is no reason to refuse it on a background loop.
|
|
109
|
+
//@ video.playsinline {bool}: Play in place on iPhone instead of taking over the screen. Implied by `autoplay`; there is no reason to refuse it on a background loop.
|
|
110
110
|
const playsinline = obj.playsinline ?? obj.autoplay;
|
|
111
111
|
if (playsinline) {
|
|
112
112
|
v.setAttribute("playsinline", "");
|
|
113
113
|
v.setAttribute("webkit-playsinline", "");
|
|
114
114
|
}
|
|
115
115
|
|
|
116
|
-
//@ video.muted: Mute the audio track. Forced on by `autoplay`, because browsers block an unmuted autoplay; pass false only if you mean to accept that.
|
|
116
|
+
//@ video.muted {bool}: Mute the audio track. Forced on by `autoplay`, because browsers block an unmuted autoplay; pass false only if you mean to accept that.
|
|
117
117
|
const muted = obj.muted ?? (obj.autoplay ? true : undefined);
|
|
118
118
|
if (muted === true) {
|
|
119
119
|
v.muted = true;
|
|
@@ -123,36 +123,39 @@ class Video extends Animator {
|
|
|
123
123
|
v.removeAttribute("muted");
|
|
124
124
|
}
|
|
125
125
|
|
|
126
|
-
//@ video.autoplay: Start on its own. Implies muted and playsinline, pauses off screen and in a hidden tab, and is cancelled by prefers-reduced-motion (the poster stays).
|
|
127
|
-
//@ video.lazy: Only play while on screen. On by default whenever `autoplay` is set; pass false to keep an autoplaying clip running off screen.
|
|
126
|
+
//@ video.autoplay {bool}: Start on its own. Implies muted and playsinline, pauses off screen and in a hidden tab, and is cancelled by prefers-reduced-motion (the poster stays).
|
|
127
|
+
//@ video.lazy {bool}: Only play while on screen. On by default whenever `autoplay` is set; pass false to keep an autoplaying clip running off screen.
|
|
128
128
|
if (obj.autoplay) this._autoplay(obj.lazy !== false);
|
|
129
129
|
|
|
130
|
-
//@ video.objectFit: How the frame fills the element box: "cover", "contain", "fill", "none".
|
|
130
|
+
//@ video.objectFit {enum(cover|contain|fill|none|scale-down)}: How the frame fills the element box: "cover", "contain", "fill", "none".
|
|
131
131
|
obj.objectFit && (v.style.objectFit = obj.objectFit);
|
|
132
132
|
|
|
133
|
-
//@ video.aspectRatio: Box proportion held before the video loads, e.g. "16 / 9". Prevents the page shifting when the first frame arrives.
|
|
133
|
+
//@ video.aspectRatio {css-aspect-ratio}: Box proportion held before the video loads, e.g. "16 / 9". Prevents the page shifting when the first frame arrives.
|
|
134
134
|
obj.aspectRatio && (v.style.aspectRatio = obj.aspectRatio);
|
|
135
135
|
|
|
136
|
-
//@ video.
|
|
136
|
+
//@ video.id {text}: DOM id. Also what a node's `target` names, so a clip carrying a raster op needs one.
|
|
137
|
+
obj.id && v.setAttribute("id", obj.id);
|
|
138
|
+
|
|
139
|
+
//@ video.label {text}: Accessible name, for a clip that carries meaning.
|
|
137
140
|
obj.label && v.setAttribute("aria-label", obj.label);
|
|
138
141
|
|
|
139
|
-
//@ video.decorative: Hide from assistive technology. For an ambient loop that repeats what the page already says in text.
|
|
142
|
+
//@ video.decorative {bool}: Hide from assistive technology. For an ambient loop that repeats what the page already says in text.
|
|
140
143
|
if (obj.decorative) v.setAttribute("aria-hidden", "true");
|
|
141
144
|
|
|
142
|
-
//@ video.background: CSS background behind the frame — visible while the poster loads.
|
|
145
|
+
//@ video.background {color}: CSS background behind the frame — visible while the poster loads.
|
|
143
146
|
obj.background && (v.style.background = obj.background);
|
|
144
|
-
//@ video.height: CSS height of the element.
|
|
147
|
+
//@ video.height {css-length}: CSS height of the element.
|
|
145
148
|
obj.height && (v.style.height = obj.height);
|
|
146
|
-
//@ video.maxWidth: CSS max-width of the element.
|
|
149
|
+
//@ video.maxWidth {css-length}: CSS max-width of the element.
|
|
147
150
|
obj.maxWidth && (v.style.maxWidth = obj.maxWidth);
|
|
148
|
-
//@ video.radius: Corner radius. A CSS length; a bare number is read as pixels.
|
|
151
|
+
//@ video.radius {px-or-length}: Corner radius. A CSS length; a bare number is read as pixels.
|
|
149
152
|
obj.radius && (v.style.borderRadius = typeof obj.radius === "number" ? `${obj.radius}px` : obj.radius);
|
|
150
|
-
//@ video.width: CSS width of the element.
|
|
153
|
+
//@ video.width {css-length}: CSS width of the element.
|
|
151
154
|
obj.width && (v.style.width = `${obj.width}`);
|
|
152
|
-
//@ video.opacity: 0–1.
|
|
155
|
+
//@ video.opacity {ratio}: 0–1.
|
|
153
156
|
obj.opacity && (v.style.opacity = obj.opacity);
|
|
154
157
|
|
|
155
|
-
//@ video.raster: Raster op nodes to run over this element.
|
|
158
|
+
//@ video.raster {nodes}: Raster op nodes to run over this element.
|
|
156
159
|
obj.raster && this.rasterize(obj.raster);
|
|
157
160
|
|
|
158
161
|
return this;
|
package/layout/wrap.js
CHANGED
package/layout/zoom-card.js
CHANGED
package/lib/agent-surface.js
CHANGED
package/lib/card-getter.js
CHANGED
package/lib/check-page.js
CHANGED
package/lib/codegen.js
CHANGED
package/lib/data.js
CHANGED
package/lib/designer.js
CHANGED