nodality 1.0.189 → 1.0.191
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.esm.js +1 -1
- package/dist/audionew.cjs.js +1 -1
- package/dist/audionew.esm.js +1 -1
- package/dist/base.cjs.js +1 -1
- package/dist/base.esm.js +1 -1
- package/dist/beta-desktop-bar.cjs.js +1 -1
- package/dist/beta-desktop-bar.esm.js +1 -1
- package/dist/beta-mobile-bar.cjs.js +1 -1
- package/dist/beta-mobile-bar.esm.js +1 -1
- package/dist/bundle.umd.js +1 -1
- package/dist/button.cjs.js +1 -1
- package/dist/button.esm.js +1 -1
- package/dist/center.cjs.js +1 -1
- package/dist/center.esm.js +1 -1
- package/dist/checkbox.cjs.js +1 -1
- package/dist/checkbox.esm.js +1 -1
- package/dist/code.cjs.js +1 -1
- package/dist/code.esm.js +1 -1
- package/dist/container.cjs.js +1 -1
- package/dist/container.esm.js +1 -1
- package/dist/data-list.cjs.js +1 -1
- package/dist/data-list.esm.js +1 -1
- package/dist/designer.cjs.js +1 -1
- package/dist/designer.esm.js +1 -1
- package/dist/dropdown.cjs.js +1 -1
- package/dist/dropdown.esm.js +1 -1
- package/dist/element-mapper.cjs.js +1 -1
- package/dist/element-mapper.esm.js +1 -1
- package/dist/finalresult.esm.js +1 -1
- package/dist/flex-card.cjs.js +1 -1
- package/dist/flex-card.esm.js +1 -1
- package/dist/flex-grid.cjs.js +1 -1
- package/dist/flex-grid.esm.js +1 -1
- package/dist/flex-row.cjs.js +1 -1
- package/dist/flex-row.esm.js +1 -1
- package/dist/floating-input.cjs.js +1 -1
- package/dist/floating-input.esm.js +1 -1
- package/dist/free.cjs.js +1 -1
- package/dist/free.esm.js +1 -1
- package/dist/horizontal-scroller.cjs.js +1 -1
- package/dist/horizontal-scroller.esm.js +1 -1
- package/dist/image-picker.cjs.js +1 -1
- package/dist/image-picker.esm.js +1 -1
- package/dist/image.cjs.js +1 -1
- package/dist/image.esm.js +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/link-getter.cjs.js +1 -1
- package/dist/link-getter.esm.js +1 -1
- package/dist/link.cjs.js +1 -1
- package/dist/link.esm.js +1 -1
- package/dist/meta-adder.cjs.js +1 -1
- package/dist/meta-adder.esm.js +1 -1
- package/dist/modal-2025.cjs.js +1 -1
- package/dist/modal-2025.esm.js +1 -1
- package/dist/multiswitcher.cjs.js +1 -1
- package/dist/multiswitcher.esm.js +1 -1
- package/dist/new-nav-bar.cjs.js +1 -1
- package/dist/new-nav-bar.esm.js +1 -1
- package/dist/picker.cjs.js +1 -1
- package/dist/picker.esm.js +1 -1
- package/dist/progress.cjs.js +1 -1
- package/dist/progress.esm.js +1 -1
- package/dist/radio.cjs.js +1 -1
- package/dist/radio.esm.js +1 -1
- package/dist/range.cjs.js +1 -1
- package/dist/range.esm.js +1 -1
- package/dist/side-bar.cjs.js +1 -1
- package/dist/side-bar.esm.js +1 -1
- package/dist/side-nav-bar.cjs.js +1 -1
- package/dist/side-nav-bar.esm.js +1 -1
- package/dist/simple-bar.cjs.js +1 -1
- package/dist/simple-bar.esm.js +1 -1
- package/dist/slider-2025.cjs.js +1 -1
- package/dist/slider-2025.esm.js +1 -1
- package/dist/spacer.cjs.js +1 -1
- package/dist/spacer.esm.js +1 -1
- package/dist/stack.cjs.js +1 -1
- package/dist/stack.esm.js +1 -1
- package/dist/table.cjs.js +1 -1
- package/dist/table.esm.js +1 -1
- package/dist/text-field.cjs.js +1 -1
- package/dist/text-field.esm.js +1 -1
- package/dist/text.cjs.js +1 -1
- package/dist/text.esm.js +1 -1
- package/dist/ulist.cjs.js +1 -1
- package/dist/ulist.esm.js +1 -1
- package/dist/video.cjs.js +1 -1
- package/dist/video.esm.js +1 -1
- package/dist/wrap.cjs.js +1 -1
- package/dist/wrap.esm.js +1 -1
- package/dist/zoom-card.cjs.js +1 -1
- package/dist/zoom-card.esm.js +1 -1
- package/layout/animator.js +1 -1
- package/layout/audio.js +1 -1
- package/layout/audionew.js +1 -1
- package/layout/base-2.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/box.js +1 -1
- package/layout/button.js +1 -1
- package/layout/cards.js +1 -1
- package/layout/center.js +1 -1
- package/layout/checkbox.js +1 -1
- package/layout/circle.js +1 -1
- package/layout/clean-row.js +1 -1
- package/layout/code.js +1 -1
- package/layout/container.js +1 -1
- package/layout/custom.js +1 -1
- package/layout/div-image.js +1 -1
- package/layout/dropdown-2025.js +1 -1
- package/layout/dropdown.js +1 -1
- package/layout/empty-element.js +1 -1
- package/layout/external-stylesheet.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/footer.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-new.js +1 -1
- package/layout/grid-switcher.js +1 -1
- package/layout/grid.js +1 -1
- package/layout/group.js +1 -1
- package/layout/header.js +1 -1
- package/layout/horizontal-scroller.js +1 -1
- package/layout/image-old.js +1 -1
- package/layout/image.js +21 -2
- package/layout/index.js +1 -1
- package/layout/label.js +1 -1
- package/layout/link.js +1 -1
- package/layout/list-OLD.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/modernwrap.js +1 -1
- package/layout/multiswitcher.js +1 -1
- package/layout/multiswitcherBeta.js +1 -1
- package/layout/nav-bar.js +1 -1
- package/layout/nav-factor/custom-div.js +1 -1
- package/layout/navBar-OLD.js +1 -1
- package/layout/new-flat-adder.js +1 -1
- package/layout/new-nav-bar.js +8 -1
- package/layout/offset-container.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/saved-new-nav-bar.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/styler.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 +1 -1
- package/layout/without-new.js +1 -1
- package/layout/wrap.js +1 -1
- package/layout/zoom-card.js +1 -1
- package/lib/card-getter.js +1 -1
- package/lib/data.js +1 -1
- package/lib/designer.js +1 -1
- package/lib/element-mapper.js +1 -1
- package/lib/keyframe-animation.js +1 -1
- package/lib/link-getter.js +1 -1
- package/lib/raster-ops.js +77 -1
- package/lib/scroll-video.js +1 -1
- package/lib/seo.js +1 -1
- package/lib/stacker.js +1 -1
- package/lib/theme.js +1 -1
- package/lib/transform-anim.js +1 -1
- package/package.json +1 -1
package/lib/designer.js
CHANGED
package/lib/element-mapper.js
CHANGED
package/lib/link-getter.js
CHANGED
package/lib/raster-ops.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* nodality v1.0.
|
|
2
|
+
* nodality v1.0.191
|
|
3
3
|
* (c) 2026 Filip Vabrousek
|
|
4
4
|
* License: MIT
|
|
5
5
|
*/
|
|
@@ -1476,6 +1476,67 @@ function resolveSwitches(nodes, depth) {
|
|
|
1476
1476
|
return out;
|
|
1477
1477
|
}
|
|
1478
1478
|
|
|
1479
|
+
// ── Replaced / void hosts ────────────────────────────────────────────
|
|
1480
|
+
//
|
|
1481
|
+
// Elements that cannot contain rendered children. Appending the pipeline
|
|
1482
|
+
// canvas to one of these puts it in the DOM but never paints it, so the
|
|
1483
|
+
// effect appears to attach and then does nothing at all.
|
|
1484
|
+
const VOID_RASTER_HOSTS = new Set([
|
|
1485
|
+
"IMG", "VIDEO", "CANVAS", "IFRAME", "INPUT", "EMBED", "OBJECT",
|
|
1486
|
+
"TEXTAREA", "SELECT", "BR", "HR", "AREA", "SOURCE", "TRACK", "WBR",
|
|
1487
|
+
]);
|
|
1488
|
+
|
|
1489
|
+
// Styles that describe the element's CONTENT rather than its box, and so
|
|
1490
|
+
// must stay on the element when its box moves to the wrapper.
|
|
1491
|
+
const CONTENT_STYLES = [
|
|
1492
|
+
"objectFit", "objectPosition", "borderRadius", "imageRendering", "filter",
|
|
1493
|
+
];
|
|
1494
|
+
|
|
1495
|
+
/**
|
|
1496
|
+
* Put `el` inside a container that can host the pipeline canvas.
|
|
1497
|
+
*
|
|
1498
|
+
* The wrapper takes over the element's authored inline box — position,
|
|
1499
|
+
* insets, size, margins — so layout is unchanged, and the element is reset
|
|
1500
|
+
* to fill it. Inline styles are moved rather than computed values copied:
|
|
1501
|
+
* copying computed width/height would freeze a fluid element at whatever
|
|
1502
|
+
* pixel size it happened to have at attach time.
|
|
1503
|
+
*
|
|
1504
|
+
* @returns {HTMLElement|null} the wrapper, or null if `el` has no parent.
|
|
1505
|
+
*/
|
|
1506
|
+
function wrapReplacedHost(el) {
|
|
1507
|
+
if (!el.parentNode) return null;
|
|
1508
|
+
|
|
1509
|
+
const keep = {};
|
|
1510
|
+
for (const k of CONTENT_STYLES) {
|
|
1511
|
+
if (el.style[k]) keep[k] = el.style[k];
|
|
1512
|
+
}
|
|
1513
|
+
|
|
1514
|
+
const wrap = document.createElement("div");
|
|
1515
|
+
wrap.setAttribute("data-nodality-raster-host", el.tagName.toLowerCase());
|
|
1516
|
+
wrap.style.cssText = el.style.cssText;
|
|
1517
|
+
|
|
1518
|
+
el.parentNode.insertBefore(wrap, el);
|
|
1519
|
+
wrap.appendChild(el);
|
|
1520
|
+
|
|
1521
|
+
// The wrapper is now the box; the element fills it.
|
|
1522
|
+
el.removeAttribute("style");
|
|
1523
|
+
Object.assign(el.style, keep);
|
|
1524
|
+
el.style.display = "block";
|
|
1525
|
+
el.style.width = "100%";
|
|
1526
|
+
el.style.height = "100%";
|
|
1527
|
+
|
|
1528
|
+
// The canvas is positioned against the wrapper, so it needs to be a
|
|
1529
|
+
// containing block.
|
|
1530
|
+
const pos = typeof getComputedStyle === "function"
|
|
1531
|
+
? getComputedStyle(wrap).position
|
|
1532
|
+
: "static";
|
|
1533
|
+
if (pos === "static") wrap.style.position = "relative";
|
|
1534
|
+
if (!wrap.style.width) wrap.style.width = "100%";
|
|
1535
|
+
if (!wrap.style.height) wrap.style.height = "100%";
|
|
1536
|
+
|
|
1537
|
+
return wrap;
|
|
1538
|
+
}
|
|
1539
|
+
|
|
1479
1540
|
// ── Pipeline runner ──────────────────────────────────────────────────
|
|
1480
1541
|
|
|
1481
1542
|
function applyRasterPipeline(el, rasterNodes) {
|
|
@@ -1501,6 +1562,21 @@ function applyRasterPipeline(el, rasterNodes) {
|
|
|
1501
1562
|
if (typeof window.matchMedia === "function" &&
|
|
1502
1563
|
window.matchMedia("(prefers-reduced-motion: reduce)").matches) return null;
|
|
1503
1564
|
|
|
1565
|
+
// The pipeline hosts its canvas as a child of the target. Replaced and
|
|
1566
|
+
// void elements cannot take children — appending to an <img> puts the
|
|
1567
|
+
// canvas in the tree but never renders it, so the effect silently does
|
|
1568
|
+
// nothing. Wrap such a target in a container and host there instead.
|
|
1569
|
+
if (VOID_RASTER_HOSTS.has(el.tagName)) {
|
|
1570
|
+
const existing =
|
|
1571
|
+
el.parentElement &&
|
|
1572
|
+
el.parentElement.hasAttribute &&
|
|
1573
|
+
el.parentElement.hasAttribute("data-nodality-raster-host")
|
|
1574
|
+
? el.parentElement
|
|
1575
|
+
: null;
|
|
1576
|
+
el = existing || wrapReplacedHost(el);
|
|
1577
|
+
if (!el) return null;
|
|
1578
|
+
}
|
|
1579
|
+
|
|
1504
1580
|
// One pipeline per host element (set() chains can fire more than
|
|
1505
1581
|
// once across codegen instances; only the mounted one matters).
|
|
1506
1582
|
if (el.querySelector && el.querySelector(":scope > canvas[data-nodality-raster]")) return null;
|
package/lib/scroll-video.js
CHANGED
package/lib/seo.js
CHANGED
package/lib/stacker.js
CHANGED
package/lib/theme.js
CHANGED
package/lib/transform-anim.js
CHANGED