@cntrl-site/components 0.1.0-alpha.2 → 0.1.0-alpha.20
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/Components/ControlSlider/ControlSliderComponent.d.ts +38 -0
- package/dist/Components/Lightbox/Lightbox.d.ts +28 -2
- package/dist/Components/utils/getImageRect.d.ts +6 -0
- package/dist/Components/utils/getPositionStyles.d.ts +1 -1
- package/dist/components.css +1 -1
- package/dist/index.js +513 -343
- package/dist/index.mjs +513 -343
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -565,15 +565,28 @@ const ControlSliderComponent = {
|
|
|
565
565
|
},
|
|
566
566
|
offset: {
|
|
567
567
|
type: "object",
|
|
568
|
+
title: "Offset",
|
|
568
569
|
display: {
|
|
569
|
-
type: "
|
|
570
|
+
type: "group"
|
|
570
571
|
},
|
|
571
572
|
properties: {
|
|
572
573
|
x: {
|
|
573
|
-
type: "number"
|
|
574
|
+
type: "number",
|
|
575
|
+
label: "X",
|
|
576
|
+
scalingEnabled: true,
|
|
577
|
+
display: {
|
|
578
|
+
type: "numeric-input",
|
|
579
|
+
visible: true
|
|
580
|
+
}
|
|
574
581
|
},
|
|
575
582
|
y: {
|
|
576
|
-
type: "number"
|
|
583
|
+
type: "number",
|
|
584
|
+
label: "Y",
|
|
585
|
+
scalingEnabled: true,
|
|
586
|
+
display: {
|
|
587
|
+
type: "numeric-input",
|
|
588
|
+
visible: true
|
|
589
|
+
}
|
|
577
590
|
}
|
|
578
591
|
}
|
|
579
592
|
},
|
|
@@ -626,15 +639,28 @@ const ControlSliderComponent = {
|
|
|
626
639
|
},
|
|
627
640
|
offset: {
|
|
628
641
|
type: "object",
|
|
642
|
+
title: "Offset",
|
|
629
643
|
display: {
|
|
630
|
-
type: "
|
|
644
|
+
type: "group"
|
|
631
645
|
},
|
|
632
646
|
properties: {
|
|
633
647
|
x: {
|
|
634
|
-
type: "number"
|
|
648
|
+
type: "number",
|
|
649
|
+
label: "X",
|
|
650
|
+
scalingEnabled: true,
|
|
651
|
+
display: {
|
|
652
|
+
type: "numeric-input",
|
|
653
|
+
visible: true
|
|
654
|
+
}
|
|
635
655
|
},
|
|
636
656
|
y: {
|
|
637
|
-
type: "number"
|
|
657
|
+
type: "number",
|
|
658
|
+
label: "Y",
|
|
659
|
+
scalingEnabled: true,
|
|
660
|
+
display: {
|
|
661
|
+
type: "numeric-input",
|
|
662
|
+
visible: true
|
|
663
|
+
}
|
|
638
664
|
}
|
|
639
665
|
}
|
|
640
666
|
},
|
|
@@ -690,14 +716,26 @@ const ControlSliderComponent = {
|
|
|
690
716
|
offset: {
|
|
691
717
|
type: "object",
|
|
692
718
|
display: {
|
|
693
|
-
type: "
|
|
719
|
+
type: "group"
|
|
694
720
|
},
|
|
695
721
|
properties: {
|
|
696
722
|
x: {
|
|
697
|
-
type: "number"
|
|
723
|
+
type: "number",
|
|
724
|
+
label: "X",
|
|
725
|
+
scalingEnabled: true,
|
|
726
|
+
display: {
|
|
727
|
+
type: "numeric-input",
|
|
728
|
+
visible: true
|
|
729
|
+
}
|
|
698
730
|
},
|
|
699
731
|
y: {
|
|
700
|
-
type: "number"
|
|
732
|
+
type: "number",
|
|
733
|
+
label: "Y",
|
|
734
|
+
scalingEnabled: true,
|
|
735
|
+
display: {
|
|
736
|
+
type: "numeric-input",
|
|
737
|
+
visible: true
|
|
738
|
+
}
|
|
701
739
|
}
|
|
702
740
|
}
|
|
703
741
|
},
|
|
@@ -1443,7 +1481,9 @@ const ControlImageRevealSliderComponent = {
|
|
|
1443
1481
|
}
|
|
1444
1482
|
}
|
|
1445
1483
|
};
|
|
1484
|
+
const background = "Lightbox-module__background___wf1Ii";
|
|
1446
1485
|
const backdropStyle = "Lightbox-module__backdropStyle___y7avj";
|
|
1486
|
+
const editor = "Lightbox-module__editor___Vh82D";
|
|
1447
1487
|
const contentStyle = "Lightbox-module__contentStyle___FzFaW";
|
|
1448
1488
|
const imageStyle = "Lightbox-module__imageStyle___Qb7f5";
|
|
1449
1489
|
const imgWrapper = "Lightbox-module__imgWrapper___cdytV";
|
|
@@ -1463,7 +1503,6 @@ const thumbsAlignStart = "Lightbox-module__thumbsAlignStart___uiFIV";
|
|
|
1463
1503
|
const thumbsAlignCenter = "Lightbox-module__thumbsAlignCenter___sbUPA";
|
|
1464
1504
|
const thumbsAlignEnd = "Lightbox-module__thumbsAlignEnd___OA9N4";
|
|
1465
1505
|
const thumbItem = "Lightbox-module__thumbItem___zROyu";
|
|
1466
|
-
const thumbImage = "Lightbox-module__thumbImage___xGakV";
|
|
1467
1506
|
const closeButton = "Lightbox-module__closeButton___r3Dur";
|
|
1468
1507
|
const fadeIn = "Lightbox-module__fadeIn___sHwRK";
|
|
1469
1508
|
const slideInLeft = "Lightbox-module__slideInLeft___P-XRo";
|
|
@@ -1472,7 +1511,9 @@ const slideInTop = "Lightbox-module__slideInTop___XRKCs";
|
|
|
1472
1511
|
const slideInBottom = "Lightbox-module__slideInBottom___TYOBS";
|
|
1473
1512
|
const scaleSlide = "Lightbox-module__scaleSlide___wS7d4";
|
|
1474
1513
|
const styles = {
|
|
1514
|
+
background,
|
|
1475
1515
|
backdropStyle,
|
|
1516
|
+
editor,
|
|
1476
1517
|
contentStyle,
|
|
1477
1518
|
imageStyle,
|
|
1478
1519
|
imgWrapper,
|
|
@@ -1492,7 +1533,6 @@ const styles = {
|
|
|
1492
1533
|
thumbsAlignCenter,
|
|
1493
1534
|
thumbsAlignEnd,
|
|
1494
1535
|
thumbItem,
|
|
1495
|
-
thumbImage,
|
|
1496
1536
|
closeButton,
|
|
1497
1537
|
fadeIn,
|
|
1498
1538
|
slideInLeft,
|
|
@@ -1501,7 +1541,7 @@ const styles = {
|
|
|
1501
1541
|
slideInBottom,
|
|
1502
1542
|
scaleSlide
|
|
1503
1543
|
};
|
|
1504
|
-
const getPositionStyles = (position, offset) => {
|
|
1544
|
+
const getPositionStyles = (position, offset, isEditor) => {
|
|
1505
1545
|
const styles2 = {};
|
|
1506
1546
|
const [vertical, horizontal] = position.split("-");
|
|
1507
1547
|
if (vertical === "top") {
|
|
@@ -1525,17 +1565,42 @@ const getPositionStyles = (position, offset) => {
|
|
|
1525
1565
|
styles2.right = "0";
|
|
1526
1566
|
}
|
|
1527
1567
|
if (vertical === "middle" && horizontal === "center") {
|
|
1528
|
-
styles2.transform = `translate(calc(-50% + ${offset.x}
|
|
1568
|
+
styles2.transform = `translate(calc(-50% + ${scalingValue(offset.x, isEditor)}), calc(-50% + ${scalingValue(offset.y, isEditor)}))`;
|
|
1529
1569
|
} else if (vertical === "middle") {
|
|
1530
|
-
styles2.transform = `translate(${offset.x}
|
|
1570
|
+
styles2.transform = `translate(${scalingValue(offset.x, isEditor)}, calc(-50% + ${scalingValue(offset.y, isEditor)}))`;
|
|
1531
1571
|
} else if (horizontal === "center") {
|
|
1532
|
-
styles2.transform = `translate(calc(-50% + ${offset.x}
|
|
1572
|
+
styles2.transform = `translate(calc(-50% + ${scalingValue(offset.x, isEditor)}), ${scalingValue(offset.y, isEditor)})`;
|
|
1533
1573
|
} else {
|
|
1534
|
-
styles2.transform = `translate(${offset.x}
|
|
1574
|
+
styles2.transform = `translate(${scalingValue(offset.x, isEditor)}, ${scalingValue(offset.y, isEditor)})`;
|
|
1535
1575
|
}
|
|
1536
1576
|
return styles2;
|
|
1537
1577
|
};
|
|
1538
|
-
function
|
|
1578
|
+
function getDisplayedImageRect(img2) {
|
|
1579
|
+
const container = img2.getBoundingClientRect();
|
|
1580
|
+
const containerW = container.width;
|
|
1581
|
+
const containerH = container.height;
|
|
1582
|
+
const imgW = img2.naturalWidth;
|
|
1583
|
+
const imgH = img2.naturalHeight;
|
|
1584
|
+
const containerRatio = containerW / containerH;
|
|
1585
|
+
const imgRatio = imgW / imgH;
|
|
1586
|
+
let renderedW, renderedH;
|
|
1587
|
+
if (imgRatio > containerRatio) {
|
|
1588
|
+
renderedW = containerW;
|
|
1589
|
+
renderedH = containerW / imgRatio;
|
|
1590
|
+
} else {
|
|
1591
|
+
renderedH = containerH;
|
|
1592
|
+
renderedW = containerH * imgRatio;
|
|
1593
|
+
}
|
|
1594
|
+
const offsetX = (containerW - renderedW) / 2 + container.left;
|
|
1595
|
+
const offsetY = (containerH - renderedH) / 2 + container.top;
|
|
1596
|
+
return {
|
|
1597
|
+
x: offsetX,
|
|
1598
|
+
y: offsetY,
|
|
1599
|
+
width: renderedW,
|
|
1600
|
+
height: renderedH
|
|
1601
|
+
};
|
|
1602
|
+
}
|
|
1603
|
+
function LightboxGallery({ settings, content, styles: styles2, portalId, activeEvent, isEditor }) {
|
|
1539
1604
|
const [open, setOpen] = React.useState(false);
|
|
1540
1605
|
const { url } = settings.thumbnailBlock.cover;
|
|
1541
1606
|
React.useEffect(() => {
|
|
@@ -1556,13 +1621,16 @@ function LightboxGallery({ settings, content, styles: styles2, portalId, activeE
|
|
|
1556
1621
|
onClick: () => setOpen(true)
|
|
1557
1622
|
}
|
|
1558
1623
|
),
|
|
1559
|
-
/* @__PURE__ */ jsxRuntime.jsx(Lightbox, { isOpen: open, onClose: () => setOpen(false), content, settings, portalId, isEditor })
|
|
1624
|
+
/* @__PURE__ */ jsxRuntime.jsx(Lightbox, { isOpen: open, onClose: () => setOpen(false), content, settings, styles: styles2, portalId, isEditor })
|
|
1560
1625
|
] });
|
|
1561
1626
|
}
|
|
1562
|
-
const Lightbox = ({ isOpen, onClose, content, settings, closeOnBackdropClick = true, closeOnEsc = true, portalId, isEditor }) => {
|
|
1627
|
+
const Lightbox = ({ isOpen, onClose, content, styles: lightboxStyles, settings, closeOnBackdropClick = true, closeOnEsc = true, portalId, isEditor }) => {
|
|
1628
|
+
const { widthSettings, fontSettings, letterSpacing, textAlign, wordSpacing, fontSizeLineHeight, textAppearance, color } = lightboxStyles.caption;
|
|
1563
1629
|
const [currentIndex, setCurrentIndex] = React.useState(0);
|
|
1630
|
+
const [splideKey, setSplideKey] = React.useState(0);
|
|
1564
1631
|
const lightboxRef = React.useRef(null);
|
|
1565
|
-
const
|
|
1632
|
+
const prevSliderTypeRef = React.useRef(null);
|
|
1633
|
+
const imageRef = React.useRef(null);
|
|
1566
1634
|
const { appear, triggers, slider, thumbnail, controls, area, caption: caption2, layout } = settings.lightboxBlock;
|
|
1567
1635
|
const handleBackdropClick = (e) => {
|
|
1568
1636
|
if (!closeOnBackdropClick) return;
|
|
@@ -1576,6 +1644,23 @@ const Lightbox = ({ isOpen, onClose, content, settings, closeOnBackdropClick = t
|
|
|
1576
1644
|
onClose();
|
|
1577
1645
|
}
|
|
1578
1646
|
};
|
|
1647
|
+
const handleContentClick = (e) => {
|
|
1648
|
+
if (!closeOnBackdropClick) return;
|
|
1649
|
+
const target = e.target;
|
|
1650
|
+
const currentTarget = e.currentTarget;
|
|
1651
|
+
if (target === currentTarget) {
|
|
1652
|
+
onClose();
|
|
1653
|
+
return;
|
|
1654
|
+
}
|
|
1655
|
+
const isImg = target.tagName === "IMG" || target.closest("img");
|
|
1656
|
+
const isButton = target.tagName === "BUTTON" || target.closest("button");
|
|
1657
|
+
const isSplide = target.closest(".splide") || target.closest('[class*="splide"]');
|
|
1658
|
+
const isCaption = target.closest(`.${styles.caption}`);
|
|
1659
|
+
const isThumbnail = target.closest(`.${styles.thumbsContainer}`);
|
|
1660
|
+
if (!isImg && !isButton && !isSplide && !isCaption && !isThumbnail) {
|
|
1661
|
+
onClose();
|
|
1662
|
+
}
|
|
1663
|
+
};
|
|
1579
1664
|
const onImageClick = (e) => {
|
|
1580
1665
|
var _a, _b;
|
|
1581
1666
|
if (triggers.type === "click" && triggers.switch === "image") {
|
|
@@ -1623,48 +1708,24 @@ const Lightbox = ({ isOpen, onClose, content, settings, closeOnBackdropClick = t
|
|
|
1623
1708
|
if (isOpen) setCurrentIndex(0);
|
|
1624
1709
|
}, [isOpen]);
|
|
1625
1710
|
React.useEffect(() => {
|
|
1626
|
-
if (
|
|
1627
|
-
|
|
1628
|
-
resizeObserverRef.current.disconnect();
|
|
1629
|
-
resizeObserverRef.current = null;
|
|
1711
|
+
if (prevSliderTypeRef.current !== null && prevSliderTypeRef.current !== slider.type) {
|
|
1712
|
+
setSplideKey((prev) => prev + 1);
|
|
1630
1713
|
}
|
|
1631
|
-
|
|
1632
|
-
|
|
1633
|
-
|
|
1634
|
-
|
|
1635
|
-
|
|
1636
|
-
|
|
1637
|
-
|
|
1638
|
-
|
|
1639
|
-
|
|
1640
|
-
const containerWidth = container.clientWidth;
|
|
1641
|
-
const containerHeight = container.clientHeight;
|
|
1642
|
-
const containerAspectRatio = containerWidth / containerHeight;
|
|
1643
|
-
if (imageAspectRatio > containerAspectRatio) {
|
|
1644
|
-
img2.style.width = "100%";
|
|
1645
|
-
} else {
|
|
1646
|
-
img2.style.height = "100%";
|
|
1647
|
-
}
|
|
1648
|
-
};
|
|
1649
|
-
if (img2.complete) {
|
|
1650
|
-
updateImageSize();
|
|
1651
|
-
} else {
|
|
1652
|
-
img2.onload = updateImageSize;
|
|
1653
|
-
}
|
|
1654
|
-
resizeObserverRef.current = new ResizeObserver(() => {
|
|
1655
|
-
updateImageSize();
|
|
1656
|
-
});
|
|
1657
|
-
resizeObserverRef.current.observe(container);
|
|
1658
|
-
resizeObserverRef.current.observe(img2);
|
|
1659
|
-
}, 0);
|
|
1714
|
+
prevSliderTypeRef.current = slider.type;
|
|
1715
|
+
}, [slider.type]);
|
|
1716
|
+
React.useEffect(() => {
|
|
1717
|
+
if (!isOpen) return;
|
|
1718
|
+
const originalOverflow = document.body.style.overflow;
|
|
1719
|
+
document.body.style.overflow = "hidden";
|
|
1720
|
+
document.body.style.backgroundColor = area.color;
|
|
1721
|
+
const preventScroll = (e) => e.preventDefault();
|
|
1722
|
+
document.addEventListener("touchmove", preventScroll, { passive: false });
|
|
1660
1723
|
return () => {
|
|
1661
|
-
|
|
1662
|
-
|
|
1663
|
-
|
|
1664
|
-
resizeObserverRef.current = null;
|
|
1665
|
-
}
|
|
1724
|
+
document.body.style.overflow = originalOverflow;
|
|
1725
|
+
document.removeEventListener("touchmove", preventScroll);
|
|
1726
|
+
document.body.style.backgroundColor = "";
|
|
1666
1727
|
};
|
|
1667
|
-
}, [isOpen
|
|
1728
|
+
}, [isOpen]);
|
|
1668
1729
|
const handleArrowClick = (dir) => {
|
|
1669
1730
|
var _a;
|
|
1670
1731
|
(_a = lightboxRef.current) == null ? void 0 : _a.go(dir);
|
|
@@ -1707,233 +1768,295 @@ const Lightbox = ({ isOpen, onClose, content, settings, closeOnBackdropClick = t
|
|
|
1707
1768
|
}
|
|
1708
1769
|
return styles.fadeIn;
|
|
1709
1770
|
})();
|
|
1771
|
+
React.useEffect(() => {
|
|
1772
|
+
if (!isOpen || !closeOnBackdropClick) return;
|
|
1773
|
+
const handleTouchEnd = (e) => {
|
|
1774
|
+
if (e.touches.length === 0 && e.changedTouches.length > 0) {
|
|
1775
|
+
const rect = imageRef.current ? getDisplayedImageRect(imageRef.current) : null;
|
|
1776
|
+
if (!rect) return;
|
|
1777
|
+
const touch = e.changedTouches[0];
|
|
1778
|
+
const inside = touch.clientX >= rect.x && touch.clientX <= rect.x + rect.width && touch.clientY >= rect.y && touch.clientY <= rect.y + rect.height;
|
|
1779
|
+
if (!inside) {
|
|
1780
|
+
onClose();
|
|
1781
|
+
}
|
|
1782
|
+
}
|
|
1783
|
+
};
|
|
1784
|
+
const timeoutId = setTimeout(() => {
|
|
1785
|
+
document.addEventListener("touchend", handleTouchEnd, { passive: true });
|
|
1786
|
+
}, 100);
|
|
1787
|
+
return () => {
|
|
1788
|
+
clearTimeout(timeoutId);
|
|
1789
|
+
document.removeEventListener("touchend", handleTouchEnd);
|
|
1790
|
+
};
|
|
1791
|
+
}, [isOpen, closeOnBackdropClick, onClose, currentIndex]);
|
|
1710
1792
|
if (!isOpen) return null;
|
|
1711
1793
|
return reactDom.createPortal(
|
|
1712
|
-
/* @__PURE__ */ jsxRuntime.
|
|
1713
|
-
|
|
1714
|
-
|
|
1715
|
-
|
|
1716
|
-
|
|
1717
|
-
|
|
1718
|
-
|
|
1719
|
-
|
|
1720
|
-
|
|
1721
|
-
|
|
1722
|
-
|
|
1723
|
-
|
|
1724
|
-
|
|
1725
|
-
|
|
1726
|
-
|
|
1727
|
-
|
|
1728
|
-
|
|
1729
|
-
|
|
1730
|
-
|
|
1731
|
-
|
|
1732
|
-
|
|
1733
|
-
|
|
1734
|
-
|
|
1735
|
-
|
|
1736
|
-
|
|
1737
|
-
|
|
1738
|
-
|
|
1739
|
-
|
|
1740
|
-
|
|
1741
|
-
|
|
1742
|
-
|
|
1743
|
-
|
|
1744
|
-
|
|
1745
|
-
|
|
1746
|
-
|
|
1747
|
-
|
|
1748
|
-
type: slider.type === "fade" || slider.type === "scale" ? "fade" : "loop",
|
|
1749
|
-
padding: 0,
|
|
1750
|
-
rewind: (slider.type === "scale" || slider.type === "fade") && appear.repeat !== "close"
|
|
1751
|
-
},
|
|
1752
|
-
style: { "--splide-speed": triggers.duration || "500ms" },
|
|
1753
|
-
children: content.map((item, index) => {
|
|
1754
|
-
const positionStyles = getPositionStyles(layout.position, layout.offset);
|
|
1755
|
-
const imageStyle2 = slider.type === "scale" ? (() => {
|
|
1756
|
-
const { transform, ...restStyles } = positionStyles;
|
|
1757
|
-
return {
|
|
1758
|
-
...restStyles,
|
|
1759
|
-
"--position-transform": transform || "none"
|
|
1760
|
-
};
|
|
1761
|
-
})() : positionStyles;
|
|
1762
|
-
return /* @__PURE__ */ jsxRuntime.jsx(reactSplide.SplideSlide, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1763
|
-
"div",
|
|
1764
|
-
{
|
|
1765
|
-
className: styles.imgWrapper,
|
|
1766
|
-
onClick: handleImageWrapperClick,
|
|
1767
|
-
style: {
|
|
1768
|
-
padding: `${layout.padding.top}px ${layout.padding.right}px ${layout.padding.bottom}px ${layout.padding.left}px`
|
|
1769
|
-
},
|
|
1770
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1771
|
-
"img",
|
|
1772
|
-
{
|
|
1773
|
-
className: cn(styles.imageStyle, {
|
|
1774
|
-
[styles.contain]: item.image.objectFit === "contain",
|
|
1775
|
-
[styles.cover]: item.image.objectFit === "cover",
|
|
1776
|
-
[styles.scaleSlide]: slider.type === "scale"
|
|
1777
|
-
}),
|
|
1778
|
-
src: item.image.url,
|
|
1779
|
-
alt: item.image.name ?? "",
|
|
1780
|
-
onClick: onImageClick,
|
|
1781
|
-
style: imageStyle2
|
|
1782
|
-
}
|
|
1783
|
-
)
|
|
1784
|
-
}
|
|
1785
|
-
) }, index);
|
|
1786
|
-
})
|
|
1787
|
-
}
|
|
1788
|
-
),
|
|
1789
|
-
controls.isActive && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1794
|
+
/* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1795
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1796
|
+
"div",
|
|
1797
|
+
{
|
|
1798
|
+
className: cn(styles.background, backdropAppearClass),
|
|
1799
|
+
style: {
|
|
1800
|
+
...isEditor && { display: "none" },
|
|
1801
|
+
backgroundColor: area.color,
|
|
1802
|
+
backdropFilter: `blur(${area.blur}px)`,
|
|
1803
|
+
animationDuration: `${backdropDurationMs}ms`,
|
|
1804
|
+
animationTimingFunction: "ease",
|
|
1805
|
+
animationFillMode: "both"
|
|
1806
|
+
}
|
|
1807
|
+
}
|
|
1808
|
+
),
|
|
1809
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1810
|
+
"div",
|
|
1811
|
+
{
|
|
1812
|
+
className: cn(styles.backdropStyle, { [styles.editor]: isEditor }),
|
|
1813
|
+
style: { ...isEditor && { backgroundColor: area.color, backdropFilter: `blur(${area.blur}px)` } },
|
|
1814
|
+
onClick: handleBackdropClick,
|
|
1815
|
+
onTouchEnd: handleBackdropClick,
|
|
1816
|
+
onTouchStart: handleBackdropClick,
|
|
1817
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1818
|
+
"div",
|
|
1819
|
+
{
|
|
1820
|
+
className: cn(styles.contentStyle, appearClass),
|
|
1821
|
+
onClick: handleContentClick,
|
|
1822
|
+
style: {
|
|
1823
|
+
animationDuration: `${appearDurationMs}ms`,
|
|
1824
|
+
animationTimingFunction: "ease",
|
|
1825
|
+
animationFillMode: "both",
|
|
1826
|
+
...appear.type === "mix" && { animationDelay: `${backdropDurationMs / 2}ms` },
|
|
1827
|
+
"--splide-speed": slider.duration || "500ms"
|
|
1828
|
+
},
|
|
1829
|
+
children: [
|
|
1790
1830
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1831
|
+
reactSplide.Splide,
|
|
1832
|
+
{
|
|
1833
|
+
onMove: (splide) => {
|
|
1834
|
+
setCurrentIndex(splide.index);
|
|
1835
|
+
},
|
|
1836
|
+
ref: lightboxRef,
|
|
1837
|
+
className: styles.lightboxSplide,
|
|
1838
|
+
options: {
|
|
1839
|
+
arrows: false,
|
|
1840
|
+
speed: slider.duration ? parseInt(slider.duration) : 500,
|
|
1841
|
+
direction: slider.direction === "horiz" || slider.type === "fade" || slider.type === "scale" ? "ltr" : "ttb",
|
|
1842
|
+
pagination: false,
|
|
1843
|
+
drag: triggers.type === "drag",
|
|
1844
|
+
perPage: 1,
|
|
1845
|
+
width: "100%",
|
|
1846
|
+
height: "100%",
|
|
1847
|
+
type: slider.type === "fade" || slider.type === "scale" ? "fade" : "loop",
|
|
1848
|
+
padding: 0,
|
|
1849
|
+
rewind: (slider.type === "scale" || slider.type === "fade") && appear.repeat !== "close"
|
|
1850
|
+
},
|
|
1851
|
+
style: { "--splide-speed": slider.duration || "500ms" },
|
|
1852
|
+
children: content.map((item, index) => {
|
|
1853
|
+
const positionStyles = getPositionStyles(layout.position, layout.offset, isEditor);
|
|
1854
|
+
const imageStyle2 = slider.type === "scale" ? (() => {
|
|
1855
|
+
const { transform, ...restStyles } = positionStyles;
|
|
1856
|
+
return {
|
|
1857
|
+
...restStyles,
|
|
1858
|
+
"--position-transform": transform || "none"
|
|
1859
|
+
};
|
|
1860
|
+
})() : positionStyles;
|
|
1861
|
+
return /* @__PURE__ */ jsxRuntime.jsx(reactSplide.SplideSlide, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1862
|
+
"div",
|
|
1863
|
+
{
|
|
1864
|
+
className: styles.imgWrapper,
|
|
1865
|
+
onClick: handleImageWrapperClick,
|
|
1866
|
+
style: { padding: scalingValue(layout.padding.top, isEditor) + " " + scalingValue(layout.padding.right, isEditor) + " " + scalingValue(layout.padding.bottom, isEditor) + " " + scalingValue(layout.padding.left, isEditor) },
|
|
1867
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1868
|
+
"img",
|
|
1869
|
+
{
|
|
1870
|
+
ref: imageRef,
|
|
1871
|
+
className: cn(styles.imageStyle, {
|
|
1872
|
+
[styles.contain]: item.image.objectFit === "contain",
|
|
1873
|
+
[styles.cover]: item.image.objectFit === "cover",
|
|
1874
|
+
[styles.scaleSlide]: slider.type === "scale"
|
|
1875
|
+
}),
|
|
1876
|
+
src: item.image.url,
|
|
1877
|
+
alt: item.image.name ?? "",
|
|
1878
|
+
onClick: onImageClick,
|
|
1879
|
+
style: imageStyle2
|
|
1880
|
+
}
|
|
1881
|
+
)
|
|
1882
|
+
}
|
|
1883
|
+
) }, index);
|
|
1884
|
+
})
|
|
1885
|
+
},
|
|
1886
|
+
splideKey
|
|
1887
|
+
),
|
|
1888
|
+
controls.isActive && controls.arrowsImgUrl && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1889
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1890
|
+
"div",
|
|
1891
|
+
{
|
|
1892
|
+
className: cn(styles.arrow, { [styles.arrowVertical]: slider.direction === "vert" }),
|
|
1893
|
+
style: { color: controls.color, ["--arrow-hover-color"]: controls.hover },
|
|
1894
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1895
|
+
"button",
|
|
1896
|
+
{
|
|
1897
|
+
className: styles.arrowInner,
|
|
1898
|
+
style: {
|
|
1899
|
+
transform: `translate(${scalingValue(controls.offset.x, isEditor)}, ${scalingValue(controls.offset.y * (slider.direction === "horiz" ? 1 : -1), isEditor)}) scale(${controls.scale}) rotate(${slider.direction === "horiz" ? "0deg" : "90deg"})`
|
|
1900
|
+
},
|
|
1901
|
+
onClick: (e) => {
|
|
1902
|
+
handleArrowClick("-1");
|
|
1903
|
+
},
|
|
1904
|
+
children: controls.arrowsImgUrl && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1905
|
+
SvgImage,
|
|
1906
|
+
{
|
|
1907
|
+
url: controls.arrowsImgUrl,
|
|
1908
|
+
fill: controls.color,
|
|
1909
|
+
hoverFill: controls.hover,
|
|
1910
|
+
className: cn(styles.arrowImg, styles.mirror)
|
|
1911
|
+
}
|
|
1912
|
+
)
|
|
1913
|
+
}
|
|
1914
|
+
)
|
|
1915
|
+
}
|
|
1916
|
+
),
|
|
1917
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1918
|
+
"div",
|
|
1919
|
+
{
|
|
1920
|
+
className: cn(styles.arrow, styles.nextArrow, { [styles.arrowVertical]: slider.direction === "vert" }),
|
|
1921
|
+
style: { color: controls.color, ["--arrow-hover-color"]: controls.hover },
|
|
1922
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1923
|
+
"button",
|
|
1924
|
+
{
|
|
1925
|
+
className: styles.arrowInner,
|
|
1926
|
+
style: {
|
|
1927
|
+
transform: `translate(${scalingValue(controls.offset.x * (slider.direction === "horiz" ? -1 : 1), isEditor)}, ${scalingValue(controls.offset.y, isEditor)}) scale(${controls.scale}) rotate(${slider.direction === "horiz" ? "0deg" : "90deg"})`
|
|
1928
|
+
},
|
|
1929
|
+
onClick: (e) => {
|
|
1930
|
+
handleArrowClick("+1");
|
|
1931
|
+
},
|
|
1932
|
+
"aria-label": "Next",
|
|
1933
|
+
children: controls.arrowsImgUrl && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1934
|
+
SvgImage,
|
|
1935
|
+
{
|
|
1936
|
+
url: controls.arrowsImgUrl,
|
|
1937
|
+
fill: controls.color,
|
|
1938
|
+
hoverFill: controls.hover,
|
|
1939
|
+
className: styles.arrowImg
|
|
1940
|
+
}
|
|
1941
|
+
)
|
|
1942
|
+
}
|
|
1943
|
+
)
|
|
1944
|
+
}
|
|
1945
|
+
)
|
|
1946
|
+
] }),
|
|
1947
|
+
area.closeIconUrl && (() => {
|
|
1948
|
+
const positionStyles = getPositionStyles(area.closeIconAlign, area.closeIconOffset, isEditor);
|
|
1949
|
+
const scaleTransform = `scale(${area.closeIconScale})`;
|
|
1950
|
+
const combinedTransform = positionStyles.transform ? `${positionStyles.transform} ${scaleTransform}` : scaleTransform;
|
|
1951
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1952
|
+
"button",
|
|
1953
|
+
{
|
|
1954
|
+
className: styles.closeButton,
|
|
1955
|
+
style: {
|
|
1956
|
+
...positionStyles,
|
|
1957
|
+
transform: combinedTransform
|
|
1958
|
+
},
|
|
1959
|
+
onClick: onClose,
|
|
1960
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(SvgImage, { url: area.closeIconUrl })
|
|
1961
|
+
}
|
|
1962
|
+
);
|
|
1963
|
+
})(),
|
|
1964
|
+
caption2.isActive && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1791
1965
|
"div",
|
|
1792
1966
|
{
|
|
1793
|
-
className:
|
|
1794
|
-
style: {
|
|
1967
|
+
className: styles.caption,
|
|
1968
|
+
style: {
|
|
1969
|
+
...getPositionStyles(caption2.alignment, caption2.offset, isEditor),
|
|
1970
|
+
fontFamily: fontSettings.fontFamily,
|
|
1971
|
+
fontWeight: fontSettings.fontWeight,
|
|
1972
|
+
fontStyle: fontSettings.fontStyle,
|
|
1973
|
+
width: widthSettings.sizing === "auto" ? "max-content" : scalingValue(widthSettings.width, isEditor),
|
|
1974
|
+
letterSpacing: scalingValue(letterSpacing, isEditor),
|
|
1975
|
+
wordSpacing: scalingValue(wordSpacing, isEditor),
|
|
1976
|
+
textAlign,
|
|
1977
|
+
fontSize: scalingValue(fontSizeLineHeight.fontSize, isEditor),
|
|
1978
|
+
lineHeight: scalingValue(fontSizeLineHeight.lineHeight, isEditor),
|
|
1979
|
+
textTransform: textAppearance.textTransform ?? "none",
|
|
1980
|
+
textDecoration: textAppearance.textDecoration ?? "none",
|
|
1981
|
+
fontVariant: textAppearance.fontVariant ?? "normal",
|
|
1982
|
+
color,
|
|
1983
|
+
transitionDuration: slider.duration ? `${Math.round(parseInt(slider.duration) / 2)}ms` : "500ms"
|
|
1984
|
+
},
|
|
1985
|
+
onClick: (e) => e.stopPropagation(),
|
|
1795
1986
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1796
|
-
"
|
|
1987
|
+
"div",
|
|
1797
1988
|
{
|
|
1798
|
-
|
|
1989
|
+
"data-styles": "caption",
|
|
1990
|
+
className: styles.captionTextInner,
|
|
1799
1991
|
style: {
|
|
1800
|
-
|
|
1801
|
-
},
|
|
1802
|
-
onClick: (e) => {
|
|
1803
|
-
handleArrowClick("-1");
|
|
1992
|
+
position: "relative"
|
|
1804
1993
|
},
|
|
1805
|
-
children:
|
|
1806
|
-
SvgImage,
|
|
1807
|
-
{
|
|
1808
|
-
url: controls.arrowsImgUrl,
|
|
1809
|
-
fill: controls.color,
|
|
1810
|
-
hoverFill: controls.hover,
|
|
1811
|
-
className: cn(styles.arrowImg, styles.mirror)
|
|
1812
|
-
}
|
|
1813
|
-
)
|
|
1994
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(RichTextRenderer, { content: content[currentIndex].imageCaption })
|
|
1814
1995
|
}
|
|
1815
1996
|
)
|
|
1816
1997
|
}
|
|
1817
1998
|
),
|
|
1818
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1999
|
+
thumbnail.isActive && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1819
2000
|
"div",
|
|
1820
2001
|
{
|
|
1821
|
-
className: cn(
|
|
1822
|
-
|
|
1823
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1824
|
-
"button",
|
|
2002
|
+
className: cn(
|
|
2003
|
+
styles.thumbsContainer,
|
|
1825
2004
|
{
|
|
1826
|
-
|
|
1827
|
-
|
|
1828
|
-
|
|
1829
|
-
|
|
1830
|
-
onClick: (e) => {
|
|
1831
|
-
handleArrowClick("+1");
|
|
1832
|
-
},
|
|
1833
|
-
"aria-label": "Next",
|
|
1834
|
-
children: controls.arrowsImgUrl && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1835
|
-
SvgImage,
|
|
1836
|
-
{
|
|
1837
|
-
url: controls.arrowsImgUrl,
|
|
1838
|
-
fill: controls.color,
|
|
1839
|
-
hoverFill: controls.hover,
|
|
1840
|
-
className: styles.arrowImg
|
|
1841
|
-
}
|
|
1842
|
-
)
|
|
2005
|
+
[styles.thumbsContainerVertical]: slider.direction === "vert",
|
|
2006
|
+
[styles.thumbsAlignStart]: thumbnail.align === "start",
|
|
2007
|
+
[styles.thumbsAlignCenter]: thumbnail.align === "center",
|
|
2008
|
+
[styles.thumbsAlignEnd]: thumbnail.align === "end"
|
|
1843
2009
|
}
|
|
1844
|
-
)
|
|
1845
|
-
}
|
|
1846
|
-
)
|
|
1847
|
-
] }),
|
|
1848
|
-
area.closeIconUrl && (() => {
|
|
1849
|
-
const positionStyles = getPositionStyles(area.closeIconAlign, area.closeIconOffset);
|
|
1850
|
-
const scaleTransform = `scale(${area.closeIconScale})`;
|
|
1851
|
-
const combinedTransform = positionStyles.transform ? `${positionStyles.transform} ${scaleTransform}` : scaleTransform;
|
|
1852
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1853
|
-
"button",
|
|
1854
|
-
{
|
|
1855
|
-
className: styles.closeButton,
|
|
2010
|
+
),
|
|
1856
2011
|
style: {
|
|
1857
|
-
|
|
1858
|
-
|
|
2012
|
+
gap: `${scalingValue(thumbnail.grid.gap, isEditor)}`,
|
|
2013
|
+
...getPositionStyles(thumbnail.position, thumbnail.offset, isEditor)
|
|
1859
2014
|
},
|
|
1860
|
-
|
|
1861
|
-
|
|
1862
|
-
|
|
1863
|
-
|
|
1864
|
-
|
|
1865
|
-
|
|
1866
|
-
|
|
1867
|
-
|
|
1868
|
-
|
|
1869
|
-
|
|
1870
|
-
|
|
1871
|
-
|
|
1872
|
-
|
|
1873
|
-
|
|
1874
|
-
|
|
1875
|
-
|
|
1876
|
-
|
|
1877
|
-
|
|
1878
|
-
|
|
1879
|
-
|
|
1880
|
-
|
|
1881
|
-
|
|
1882
|
-
|
|
1883
|
-
|
|
1884
|
-
|
|
1885
|
-
|
|
1886
|
-
|
|
1887
|
-
|
|
1888
|
-
|
|
1889
|
-
|
|
1890
|
-
|
|
1891
|
-
...slider.direction === "vert" ? { width: `${thumbnail.grid.width}px` } : {},
|
|
1892
|
-
...getPositionStyles(thumbnail.position, thumbnail.offset)
|
|
1893
|
-
},
|
|
1894
|
-
children: content.map((item, index) => {
|
|
1895
|
-
const isActive = index === currentIndex;
|
|
1896
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1897
|
-
"button",
|
|
1898
|
-
{
|
|
1899
|
-
className: styles.thumbItem,
|
|
1900
|
-
style: {
|
|
1901
|
-
transform: `scale(${isActive ? thumbnail.activeState.scale : 1})`,
|
|
1902
|
-
...slider.direction === "horiz" ? { height: "100%" } : {},
|
|
1903
|
-
...slider.direction === "vert" ? { width: "100%" } : {},
|
|
1904
|
-
opacity: isActive ? thumbnail.activeState.opacity : thumbnail.opacity,
|
|
1905
|
-
["--thumb-hover"]: thumbnail.activeState.opacity
|
|
1906
|
-
},
|
|
1907
|
-
onClick: (e) => {
|
|
1908
|
-
var _a;
|
|
1909
|
-
e.stopPropagation();
|
|
1910
|
-
setCurrentIndex(index);
|
|
1911
|
-
(_a = lightboxRef.current) == null ? void 0 : _a.go(index);
|
|
1912
|
-
},
|
|
1913
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1914
|
-
"img",
|
|
1915
|
-
{
|
|
1916
|
-
src: item.image.url,
|
|
1917
|
-
alt: item.image.name ?? "",
|
|
1918
|
-
className: styles.thumbImage,
|
|
1919
|
-
style: {
|
|
1920
|
-
objectFit: thumbnail.fit === "cover" ? "cover" : "contain",
|
|
1921
|
-
...slider.direction === "horiz" ? { height: "100%" } : {},
|
|
1922
|
-
...slider.direction === "vert" ? { width: "100%" } : {}
|
|
2015
|
+
children: content.map((item, index) => {
|
|
2016
|
+
const isActive = index === currentIndex;
|
|
2017
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2018
|
+
"button",
|
|
2019
|
+
{
|
|
2020
|
+
className: styles.thumbItem,
|
|
2021
|
+
style: {
|
|
2022
|
+
...slider.direction === "horiz" ? { height: isActive ? `${scalingValue(thumbnail.grid.height * (isActive ? thumbnail.activeState.scale : 1), isEditor)}` : `${scalingValue(thumbnail.grid.height, isEditor)}` } : {},
|
|
2023
|
+
...slider.direction === "vert" ? { width: isActive ? `${scalingValue(thumbnail.grid.width * (isActive ? thumbnail.activeState.scale : 1), isEditor)}` : `${scalingValue(thumbnail.grid.width, isEditor)}` } : {},
|
|
2024
|
+
...thumbnail.fit === "cover" && slider.direction === "horiz" ? { width: isActive ? `${scalingValue(thumbnail.grid.width * (isActive ? thumbnail.activeState.scale : 1), isEditor)}` : `${scalingValue(thumbnail.grid.width, isEditor)}` } : {},
|
|
2025
|
+
...thumbnail.fit === "cover" && slider.direction === "vert" ? { height: isActive ? `${scalingValue(thumbnail.grid.height * (isActive ? thumbnail.activeState.scale : 1), isEditor)}` : `${scalingValue(thumbnail.grid.height, isEditor)}` } : {},
|
|
2026
|
+
transition: isActive ? "all 0.2s ease" : "none",
|
|
2027
|
+
opacity: isActive ? thumbnail.activeState.opacity / 100 : thumbnail.opacity / 100,
|
|
2028
|
+
["--thumb-hover"]: thumbnail.activeState.opacity / 100
|
|
2029
|
+
},
|
|
2030
|
+
onClick: (e) => {
|
|
2031
|
+
var _a;
|
|
2032
|
+
e.stopPropagation();
|
|
2033
|
+
setCurrentIndex(index);
|
|
2034
|
+
(_a = lightboxRef.current) == null ? void 0 : _a.go(index);
|
|
2035
|
+
},
|
|
2036
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2037
|
+
"img",
|
|
2038
|
+
{
|
|
2039
|
+
src: item.image.url,
|
|
2040
|
+
alt: item.image.name ?? "",
|
|
2041
|
+
style: {
|
|
2042
|
+
objectFit: thumbnail.fit === "cover" ? "cover" : "contain",
|
|
2043
|
+
...thumbnail.fit === "fit" ? { maxWidth: "100%", maxHeight: "100%", objectFit: "contain" } : {},
|
|
2044
|
+
...thumbnail.fit === "cover" && slider.direction === "horiz" ? { width: "100%", height: "100%" } : {}
|
|
2045
|
+
}
|
|
1923
2046
|
}
|
|
1924
|
-
|
|
1925
|
-
|
|
1926
|
-
|
|
1927
|
-
|
|
1928
|
-
)
|
|
1929
|
-
}
|
|
1930
|
-
|
|
1931
|
-
|
|
1932
|
-
|
|
1933
|
-
|
|
1934
|
-
|
|
1935
|
-
|
|
1936
|
-
),
|
|
2047
|
+
)
|
|
2048
|
+
},
|
|
2049
|
+
`${item.image.url}-${index}`
|
|
2050
|
+
);
|
|
2051
|
+
})
|
|
2052
|
+
}
|
|
2053
|
+
)
|
|
2054
|
+
]
|
|
2055
|
+
}
|
|
2056
|
+
)
|
|
2057
|
+
}
|
|
2058
|
+
)
|
|
2059
|
+
] }),
|
|
1937
2060
|
document.getElementById(portalId)
|
|
1938
2061
|
);
|
|
1939
2062
|
};
|
|
@@ -1946,8 +2069,8 @@ const LightboxComponent = {
|
|
|
1946
2069
|
url: "https://cdn.cntrl.site/projects/01GJ2SPDSH73MC92WW7ZA2CWBY/articles-assets/01KA24CHYZXJBZ0Q714B05A7VD.mp4"
|
|
1947
2070
|
},
|
|
1948
2071
|
defaultSize: {
|
|
1949
|
-
width:
|
|
1950
|
-
height:
|
|
2072
|
+
width: 440,
|
|
2073
|
+
height: 550
|
|
1951
2074
|
},
|
|
1952
2075
|
schema: {
|
|
1953
2076
|
type: "object",
|
|
@@ -1972,6 +2095,7 @@ const LightboxComponent = {
|
|
|
1972
2095
|
url: {
|
|
1973
2096
|
type: "string",
|
|
1974
2097
|
display: {
|
|
2098
|
+
mode: "cover",
|
|
1975
2099
|
type: "settings-image-input"
|
|
1976
2100
|
}
|
|
1977
2101
|
}
|
|
@@ -2044,14 +2168,6 @@ const LightboxComponent = {
|
|
|
2044
2168
|
type: "ratio-group"
|
|
2045
2169
|
},
|
|
2046
2170
|
enum: ["image", "50/50"]
|
|
2047
|
-
},
|
|
2048
|
-
duration: {
|
|
2049
|
-
type: "string",
|
|
2050
|
-
label: "T",
|
|
2051
|
-
display: {
|
|
2052
|
-
type: "step-selector"
|
|
2053
|
-
},
|
|
2054
|
-
enum: ["100ms", "250ms", "500ms", "1000ms", "1500ms", "2000ms"]
|
|
2055
2171
|
}
|
|
2056
2172
|
}
|
|
2057
2173
|
},
|
|
@@ -2074,6 +2190,14 @@ const LightboxComponent = {
|
|
|
2074
2190
|
type: "ratio-group"
|
|
2075
2191
|
},
|
|
2076
2192
|
enum: ["horiz", "vert"]
|
|
2193
|
+
},
|
|
2194
|
+
duration: {
|
|
2195
|
+
type: "string",
|
|
2196
|
+
label: "T",
|
|
2197
|
+
display: {
|
|
2198
|
+
type: "step-selector"
|
|
2199
|
+
},
|
|
2200
|
+
enum: ["100ms", "250ms", "500ms", "1000ms", "1500ms", "2000ms"]
|
|
2077
2201
|
}
|
|
2078
2202
|
}
|
|
2079
2203
|
},
|
|
@@ -2132,7 +2256,8 @@ const LightboxComponent = {
|
|
|
2132
2256
|
type: "number",
|
|
2133
2257
|
label: "H",
|
|
2134
2258
|
display: {
|
|
2135
|
-
type: "numeric-input"
|
|
2259
|
+
type: "numeric-input",
|
|
2260
|
+
visible: true
|
|
2136
2261
|
}
|
|
2137
2262
|
},
|
|
2138
2263
|
width: {
|
|
@@ -2154,15 +2279,28 @@ const LightboxComponent = {
|
|
|
2154
2279
|
},
|
|
2155
2280
|
offset: {
|
|
2156
2281
|
type: "object",
|
|
2282
|
+
title: "Offset",
|
|
2157
2283
|
display: {
|
|
2158
|
-
type: "
|
|
2284
|
+
type: "group"
|
|
2159
2285
|
},
|
|
2160
2286
|
properties: {
|
|
2161
2287
|
x: {
|
|
2162
|
-
type: "number"
|
|
2288
|
+
type: "number",
|
|
2289
|
+
label: "X",
|
|
2290
|
+
scalingEnabled: true,
|
|
2291
|
+
display: {
|
|
2292
|
+
type: "numeric-input",
|
|
2293
|
+
visible: true
|
|
2294
|
+
}
|
|
2163
2295
|
},
|
|
2164
2296
|
y: {
|
|
2165
|
-
type: "number"
|
|
2297
|
+
type: "number",
|
|
2298
|
+
label: "Y",
|
|
2299
|
+
scalingEnabled: true,
|
|
2300
|
+
display: {
|
|
2301
|
+
type: "numeric-input",
|
|
2302
|
+
visible: true
|
|
2303
|
+
}
|
|
2166
2304
|
}
|
|
2167
2305
|
}
|
|
2168
2306
|
},
|
|
@@ -2187,7 +2325,7 @@ const LightboxComponent = {
|
|
|
2187
2325
|
scale: {
|
|
2188
2326
|
type: "number",
|
|
2189
2327
|
title: "Scale",
|
|
2190
|
-
min:
|
|
2328
|
+
min: 1,
|
|
2191
2329
|
max: 5,
|
|
2192
2330
|
step: 0.1,
|
|
2193
2331
|
display: {
|
|
@@ -2224,15 +2362,28 @@ const LightboxComponent = {
|
|
|
2224
2362
|
},
|
|
2225
2363
|
offset: {
|
|
2226
2364
|
type: "object",
|
|
2365
|
+
title: "Offset",
|
|
2227
2366
|
display: {
|
|
2228
|
-
type: "
|
|
2367
|
+
type: "group"
|
|
2229
2368
|
},
|
|
2230
2369
|
properties: {
|
|
2231
2370
|
x: {
|
|
2232
|
-
type: "number"
|
|
2371
|
+
type: "number",
|
|
2372
|
+
label: "X",
|
|
2373
|
+
scalingEnabled: true,
|
|
2374
|
+
display: {
|
|
2375
|
+
type: "numeric-input",
|
|
2376
|
+
visible: true
|
|
2377
|
+
}
|
|
2233
2378
|
},
|
|
2234
2379
|
y: {
|
|
2235
|
-
type: "number"
|
|
2380
|
+
type: "number",
|
|
2381
|
+
label: "Y",
|
|
2382
|
+
scalingEnabled: true,
|
|
2383
|
+
display: {
|
|
2384
|
+
type: "numeric-input",
|
|
2385
|
+
visible: true
|
|
2386
|
+
}
|
|
2236
2387
|
}
|
|
2237
2388
|
}
|
|
2238
2389
|
},
|
|
@@ -2278,16 +2429,29 @@ const LightboxComponent = {
|
|
|
2278
2429
|
}
|
|
2279
2430
|
},
|
|
2280
2431
|
offset: {
|
|
2432
|
+
title: "Offset",
|
|
2281
2433
|
type: "object",
|
|
2282
2434
|
display: {
|
|
2283
|
-
type: "
|
|
2435
|
+
type: "group"
|
|
2284
2436
|
},
|
|
2285
2437
|
properties: {
|
|
2286
2438
|
x: {
|
|
2287
|
-
type: "number"
|
|
2439
|
+
type: "number",
|
|
2440
|
+
label: "X",
|
|
2441
|
+
scalingEnabled: true,
|
|
2442
|
+
display: {
|
|
2443
|
+
type: "numeric-input",
|
|
2444
|
+
visible: true
|
|
2445
|
+
}
|
|
2288
2446
|
},
|
|
2289
2447
|
y: {
|
|
2290
|
-
type: "number"
|
|
2448
|
+
type: "number",
|
|
2449
|
+
label: "Y",
|
|
2450
|
+
scalingEnabled: true,
|
|
2451
|
+
display: {
|
|
2452
|
+
type: "numeric-input",
|
|
2453
|
+
visible: true
|
|
2454
|
+
}
|
|
2291
2455
|
}
|
|
2292
2456
|
}
|
|
2293
2457
|
},
|
|
@@ -2366,15 +2530,28 @@ const LightboxComponent = {
|
|
|
2366
2530
|
},
|
|
2367
2531
|
closeIconOffset: {
|
|
2368
2532
|
type: "object",
|
|
2533
|
+
title: "Offset",
|
|
2369
2534
|
display: {
|
|
2370
|
-
type: "
|
|
2535
|
+
type: "group"
|
|
2371
2536
|
},
|
|
2372
2537
|
properties: {
|
|
2373
2538
|
x: {
|
|
2374
|
-
type: "number"
|
|
2539
|
+
type: "number",
|
|
2540
|
+
label: "X",
|
|
2541
|
+
scalingEnabled: true,
|
|
2542
|
+
display: {
|
|
2543
|
+
type: "numeric-input",
|
|
2544
|
+
visible: true
|
|
2545
|
+
}
|
|
2375
2546
|
},
|
|
2376
2547
|
y: {
|
|
2377
|
-
type: "number"
|
|
2548
|
+
type: "number",
|
|
2549
|
+
label: "Y",
|
|
2550
|
+
scalingEnabled: true,
|
|
2551
|
+
display: {
|
|
2552
|
+
type: "numeric-input",
|
|
2553
|
+
visible: true
|
|
2554
|
+
}
|
|
2378
2555
|
}
|
|
2379
2556
|
}
|
|
2380
2557
|
}
|
|
@@ -2400,16 +2577,29 @@ const LightboxComponent = {
|
|
|
2400
2577
|
enum: ["top-left", "top-center", "top-right", "middle-left", "middle-center", "middle-right", "bottom-left", "bottom-center", "bottom-right"]
|
|
2401
2578
|
},
|
|
2402
2579
|
offset: {
|
|
2580
|
+
title: "Offset",
|
|
2403
2581
|
type: "object",
|
|
2404
2582
|
display: {
|
|
2405
|
-
type: "
|
|
2583
|
+
type: "group"
|
|
2406
2584
|
},
|
|
2407
2585
|
properties: {
|
|
2408
2586
|
x: {
|
|
2409
|
-
type: "number"
|
|
2587
|
+
type: "number",
|
|
2588
|
+
label: "X",
|
|
2589
|
+
scalingEnabled: true,
|
|
2590
|
+
display: {
|
|
2591
|
+
type: "numeric-input",
|
|
2592
|
+
visible: true
|
|
2593
|
+
}
|
|
2410
2594
|
},
|
|
2411
2595
|
y: {
|
|
2412
|
-
type: "number"
|
|
2596
|
+
type: "number",
|
|
2597
|
+
label: "Y",
|
|
2598
|
+
scalingEnabled: true,
|
|
2599
|
+
display: {
|
|
2600
|
+
type: "numeric-input",
|
|
2601
|
+
visible: true
|
|
2602
|
+
}
|
|
2413
2603
|
}
|
|
2414
2604
|
}
|
|
2415
2605
|
},
|
|
@@ -2435,18 +2625,18 @@ const LightboxComponent = {
|
|
|
2435
2625
|
lightboxBlock: {
|
|
2436
2626
|
appear: {
|
|
2437
2627
|
type: "slide in",
|
|
2438
|
-
duration: "
|
|
2628
|
+
duration: "500ms",
|
|
2439
2629
|
direction: "right",
|
|
2440
|
-
repeat: "
|
|
2630
|
+
repeat: "loop"
|
|
2441
2631
|
},
|
|
2442
2632
|
triggers: {
|
|
2443
2633
|
type: "click",
|
|
2444
|
-
switch: "image"
|
|
2445
|
-
duration: "2000ms"
|
|
2634
|
+
switch: "image"
|
|
2446
2635
|
},
|
|
2447
2636
|
slider: {
|
|
2448
2637
|
type: "fade",
|
|
2449
|
-
direction: "horiz"
|
|
2638
|
+
direction: "horiz",
|
|
2639
|
+
duration: "1000ms"
|
|
2450
2640
|
},
|
|
2451
2641
|
thumbnail: {
|
|
2452
2642
|
isActive: true,
|
|
@@ -2455,12 +2645,12 @@ const LightboxComponent = {
|
|
|
2455
2645
|
align: "center",
|
|
2456
2646
|
triggers: "clk",
|
|
2457
2647
|
grid: {
|
|
2458
|
-
height:
|
|
2459
|
-
width:
|
|
2460
|
-
gap:
|
|
2648
|
+
height: 0.03,
|
|
2649
|
+
width: 0.03,
|
|
2650
|
+
gap: 8e-3
|
|
2461
2651
|
},
|
|
2462
2652
|
offset: { x: 0, y: 0 },
|
|
2463
|
-
opacity:
|
|
2653
|
+
opacity: 80,
|
|
2464
2654
|
activeState: {
|
|
2465
2655
|
scale: 1,
|
|
2466
2656
|
opacity: 100
|
|
@@ -2512,7 +2702,7 @@ const LightboxComponent = {
|
|
|
2512
2702
|
value: "vert"
|
|
2513
2703
|
},
|
|
2514
2704
|
then: {
|
|
2515
|
-
name: "properties.lightboxBlock.properties.thumbnail.properties.
|
|
2705
|
+
name: "properties.lightboxBlock.properties.thumbnail.properties.align.display.direction",
|
|
2516
2706
|
value: "vertical"
|
|
2517
2707
|
}
|
|
2518
2708
|
},
|
|
@@ -2575,47 +2765,27 @@ const LightboxComponent = {
|
|
|
2575
2765
|
name: "properties.lightboxBlock.properties.appear.properties.direction.display.visible",
|
|
2576
2766
|
value: false
|
|
2577
2767
|
}
|
|
2578
|
-
},
|
|
2579
|
-
{
|
|
2580
|
-
if: {
|
|
2581
|
-
name: "lightboxBlock.triggers.type",
|
|
2582
|
-
value: "click"
|
|
2583
|
-
},
|
|
2584
|
-
then: {
|
|
2585
|
-
name: "properties.lightboxBlock.properties.triggers.properties.duration.display.visible",
|
|
2586
|
-
value: true
|
|
2587
|
-
}
|
|
2588
|
-
},
|
|
2589
|
-
{
|
|
2590
|
-
if: {
|
|
2591
|
-
name: "lightboxBlock.triggers.type",
|
|
2592
|
-
value: "click"
|
|
2593
|
-
},
|
|
2594
|
-
then: {
|
|
2595
|
-
name: "properties.lightboxBlock.properties.triggers.properties.switch.display.visible",
|
|
2596
|
-
value: true
|
|
2597
|
-
}
|
|
2598
|
-
},
|
|
2599
|
-
{
|
|
2600
|
-
if: {
|
|
2601
|
-
name: "lightboxBlock.triggers.type",
|
|
2602
|
-
value: "drag"
|
|
2603
|
-
},
|
|
2604
|
-
then: {
|
|
2605
|
-
name: "properties.lightboxBlock.properties.triggers.properties.duration.display.visible",
|
|
2606
|
-
value: false
|
|
2607
|
-
}
|
|
2608
|
-
},
|
|
2609
|
-
{
|
|
2610
|
-
if: {
|
|
2611
|
-
name: "lightboxBlock.triggers.type",
|
|
2612
|
-
value: "drag"
|
|
2613
|
-
},
|
|
2614
|
-
then: {
|
|
2615
|
-
name: "properties.lightboxBlock.properties.triggers.properties.switch.display.visible",
|
|
2616
|
-
value: false
|
|
2617
|
-
}
|
|
2618
2768
|
}
|
|
2769
|
+
// {
|
|
2770
|
+
// if: {
|
|
2771
|
+
// name: 'lightboxBlock.triggers.type',
|
|
2772
|
+
// value: 'click'
|
|
2773
|
+
// },
|
|
2774
|
+
// then: {
|
|
2775
|
+
// name: 'properties.lightboxBlock.properties.slider.properties.switch.display.visible',
|
|
2776
|
+
// value: true
|
|
2777
|
+
// }
|
|
2778
|
+
// },
|
|
2779
|
+
// {
|
|
2780
|
+
// if: {
|
|
2781
|
+
// name: 'lightboxBlock.triggers.type',
|
|
2782
|
+
// value: 'drag'
|
|
2783
|
+
// },
|
|
2784
|
+
// then: {
|
|
2785
|
+
// name: 'properties.lightboxBlock.properties.slider.properties.switch.display.visible',
|
|
2786
|
+
// value: false
|
|
2787
|
+
// }
|
|
2788
|
+
// }
|
|
2619
2789
|
]
|
|
2620
2790
|
},
|
|
2621
2791
|
content: {
|