@cntrl-site/components 0.1.0-2 → 0.1.0-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/index.mjs CHANGED
@@ -270,7 +270,7 @@ function ControlSlider({ settings, content, styles: sliderStyles, isEditor }) {
270
270
  options: {
271
271
  arrows: false,
272
272
  speed: transition.duration ? parseInt(transition.duration) : 500,
273
- autoplay: isEditor ? false : triggers.autoPlay !== null,
273
+ autoplay: triggers.autoPlay !== null,
274
274
  ...triggers.autoPlay !== null && {
275
275
  interval: parseInt(triggers.autoPlay) * 1e3
276
276
  },
@@ -467,6 +467,9 @@ const ControlSliderComponent = {
467
467
  settings: {
468
468
  layoutBased: true,
469
469
  type: "object",
470
+ display: {
471
+ type: "settings-block"
472
+ },
470
473
  properties: {
471
474
  triggers: {
472
475
  title: "triggers",
@@ -1188,6 +1191,9 @@ const ControlImageRevealSliderComponent = {
1188
1191
  settings: {
1189
1192
  layoutBased: true,
1190
1193
  type: "object",
1194
+ display: {
1195
+ type: "settings-block"
1196
+ },
1191
1197
  properties: {
1192
1198
  imageSize: {
1193
1199
  title: "IMG SIZE",
@@ -1448,9 +1454,14 @@ const nextArrow = "LightBox-module__nextArrow___zkAQN";
1448
1454
  const arrowInner = "LightBox-module__arrowInner___p48sW";
1449
1455
  const arrowImg = "LightBox-module__arrowImg___pNV88";
1450
1456
  const mirror = "LightBox-module__mirror___pjeXc";
1457
+ const thumbsContainerVertical = "LightBox-module__thumbsContainerVertical___wttk5";
1451
1458
  const thumbsContainer = "LightBox-module__thumbsContainer___osSma";
1459
+ const thumbsAlignStart = "LightBox-module__thumbsAlignStart___MO6tY";
1460
+ const thumbsAlignCenter = "LightBox-module__thumbsAlignCenter___Q4sUx";
1461
+ const thumbsAlignEnd = "LightBox-module__thumbsAlignEnd___p4y9R";
1452
1462
  const thumbItem = "LightBox-module__thumbItem___HvnF3";
1453
1463
  const thumbImage = "LightBox-module__thumbImage___OJ19m";
1464
+ const closeButton = "LightBox-module__closeButton___g2khP";
1454
1465
  const fadeIn = "LightBox-module__fadeIn___0m5GW";
1455
1466
  const slideInLeft = "LightBox-module__slideInLeft___gPYwC";
1456
1467
  const slideInRight = "LightBox-module__slideInRight___S-pPp";
@@ -1470,25 +1481,70 @@ const styles = {
1470
1481
  arrowInner,
1471
1482
  arrowImg,
1472
1483
  mirror,
1484
+ thumbsContainerVertical,
1473
1485
  thumbsContainer,
1486
+ thumbsAlignStart,
1487
+ thumbsAlignCenter,
1488
+ thumbsAlignEnd,
1474
1489
  thumbItem,
1475
1490
  thumbImage,
1491
+ closeButton,
1476
1492
  fadeIn,
1477
1493
  slideInLeft,
1478
1494
  slideInRight,
1479
1495
  slideInTop,
1480
1496
  slideInBottom
1481
1497
  };
1482
- function LightboxGallery({ settings, content, styles: styles2, portalId }) {
1498
+ const getPositionStyles = (position, offset) => {
1499
+ const styles2 = {};
1500
+ const [vertical, horizontal] = position.split("-");
1501
+ if (vertical === "top") {
1502
+ styles2.top = `${offset.y}px`;
1503
+ styles2.bottom = "auto";
1504
+ } else if (vertical === "middle") {
1505
+ styles2.top = "50%";
1506
+ styles2.bottom = "auto";
1507
+ } else if (vertical === "bottom") {
1508
+ styles2.top = "auto";
1509
+ styles2.bottom = `${offset.y}px`;
1510
+ }
1511
+ if (horizontal === "left") {
1512
+ styles2.left = `${offset.x}px`;
1513
+ styles2.right = "auto";
1514
+ } else if (horizontal === "center") {
1515
+ styles2.left = "50%";
1516
+ styles2.right = "auto";
1517
+ } else if (horizontal === "right") {
1518
+ styles2.left = "auto";
1519
+ styles2.right = `${offset.x}px`;
1520
+ }
1521
+ if (vertical === "middle" && horizontal === "center") {
1522
+ styles2.transform = `translate(calc(-50% + ${offset.x}px), calc(-50% + ${offset.y}px))`;
1523
+ } else if (vertical === "middle") {
1524
+ styles2.transform = `translateY(calc(-50% + ${offset.y}px))`;
1525
+ } else if (horizontal === "center") {
1526
+ styles2.transform = `translateX(calc(-50% + ${offset.x}px))`;
1527
+ }
1528
+ return styles2;
1529
+ };
1530
+ function LightboxGallery({ settings, content, styles: styles2, portalId, activeEvent }) {
1483
1531
  const [open, setOpen] = React.useState(false);
1484
- const { url: coverUrl } = settings.cover;
1485
- return /* @__PURE__ */ jsxs("div", { children: [
1532
+ const { url } = settings.thumbnailBlock.cover;
1533
+ useEffect(() => {
1534
+ if (activeEvent === "close") {
1535
+ setOpen(false);
1536
+ }
1537
+ if (activeEvent === "open") {
1538
+ setOpen(true);
1539
+ }
1540
+ }, [activeEvent]);
1541
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
1486
1542
  /* @__PURE__ */ jsx(
1487
1543
  "img",
1488
1544
  {
1489
- src: coverUrl,
1545
+ src: url,
1490
1546
  alt: "Cover",
1491
- style: { width: "100%", height: "100%", cursor: "pointer" },
1547
+ style: { width: "100%", height: "100%", cursor: "pointer", objectFit: "cover" },
1492
1548
  onClick: () => setOpen(true)
1493
1549
  }
1494
1550
  ),
@@ -1496,9 +1552,9 @@ function LightboxGallery({ settings, content, styles: styles2, portalId }) {
1496
1552
  ] });
1497
1553
  }
1498
1554
  const Lightbox = ({ isOpen, onClose, content, settings, closeOnBackdropClick = true, closeOnEsc = true, portalId }) => {
1499
- var _a;
1500
1555
  const [currentIndex, setCurrentIndex] = React.useState(0);
1501
1556
  const lightboxRef = useRef(null);
1557
+ const { appear, triggers, slider, thumbnail, controls, area, caption: caption2, layout } = settings.lightboxBlock;
1502
1558
  const handleBackdropClick = (e) => {
1503
1559
  if (!closeOnBackdropClick) return;
1504
1560
  if (e.target === e.currentTarget) {
@@ -1512,12 +1568,12 @@ const Lightbox = ({ isOpen, onClose, content, settings, closeOnBackdropClick = t
1512
1568
  }
1513
1569
  };
1514
1570
  const onImageClick = (e) => {
1515
- var _a2, _b;
1516
- if (settings.triggers.type === "click" && settings.triggers.switch === "image") {
1571
+ var _a, _b;
1572
+ if (triggers.type === "click" && triggers.switch === "image") {
1517
1573
  e.stopPropagation();
1518
- (_a2 = lightboxRef.current) == null ? void 0 : _a2.go("+1");
1574
+ (_a = lightboxRef.current) == null ? void 0 : _a.go("+1");
1519
1575
  }
1520
- if (settings.triggers.type === "click" && settings.triggers.switch === "50/50") {
1576
+ if (triggers.type === "click" && triggers.switch === "50/50") {
1521
1577
  e.stopPropagation();
1522
1578
  const img2 = e.currentTarget;
1523
1579
  const rect = img2.getBoundingClientRect();
@@ -1526,7 +1582,7 @@ const Lightbox = ({ isOpen, onClose, content, settings, closeOnBackdropClick = t
1526
1582
  const imgWidth = rect.width;
1527
1583
  const imgHeight = rect.height;
1528
1584
  let dir;
1529
- if (settings.slider.direction === "horiz") {
1585
+ if (slider.direction === "horiz") {
1530
1586
  dir = clickX < imgWidth / 2 ? "-1" : "+1";
1531
1587
  } else {
1532
1588
  dir = clickY < imgHeight / 2 ? "-1" : "+1";
@@ -1558,15 +1614,14 @@ const Lightbox = ({ isOpen, onClose, content, settings, closeOnBackdropClick = t
1558
1614
  if (isOpen) setCurrentIndex(0);
1559
1615
  }, [isOpen]);
1560
1616
  const handleArrowClick = (dir) => {
1561
- var _a2;
1562
- (_a2 = lightboxRef.current) == null ? void 0 : _a2.go(dir);
1617
+ var _a;
1618
+ (_a = lightboxRef.current) == null ? void 0 : _a.go(dir);
1563
1619
  };
1564
- const appearDurationMs = ((_a = settings.appear) == null ? void 0 : _a.duration) ? parseInt(settings.appear.duration) : 300;
1620
+ const appearDurationMs = appear.duration ? parseInt(appear.duration) : 300;
1565
1621
  const appearClass = (() => {
1566
- var _a2, _b;
1567
- if (((_a2 = settings.appear) == null ? void 0 : _a2.type) === "fade in") return styles.fadeIn;
1568
- if (((_b = settings.appear) == null ? void 0 : _b.type) === "slide in") {
1569
- switch (settings.appear.direction) {
1622
+ if (appear.type === "fade in") return styles.fadeIn;
1623
+ if (appear.type === "slide in") {
1624
+ switch (appear.direction) {
1570
1625
  case "left":
1571
1626
  return styles.slideInLeft;
1572
1627
  case "right":
@@ -1587,17 +1642,18 @@ const Lightbox = ({ isOpen, onClose, content, settings, closeOnBackdropClick = t
1587
1642
  "div",
1588
1643
  {
1589
1644
  className: cn(styles.backdropStyle, styles.fadeIn),
1590
- style: { backgroundColor: settings.area.color, backdropFilter: `blur(${settings.area.blur}px)`, animationDuration: `${appearDurationMs}ms`, animationTimingFunction: "ease", animationFillMode: "both" },
1645
+ style: { backgroundColor: area.color, backdropFilter: `blur(${area.blur}px)`, animationDuration: `${appearDurationMs}ms`, animationTimingFunction: "ease", animationFillMode: "both" },
1591
1646
  onClick: handleBackdropClick,
1592
1647
  children: /* @__PURE__ */ jsxs(
1593
1648
  "div",
1594
1649
  {
1595
1650
  className: cn(styles.contentStyle, appearClass),
1596
1651
  style: {
1597
- padding: `${settings.layout.padding.top}px ${settings.layout.padding.right}px ${settings.layout.padding.bottom}px ${settings.layout.padding.left}px`,
1652
+ padding: `${layout.padding.top}px ${layout.padding.right}px ${layout.padding.bottom}px ${layout.padding.left}px`,
1598
1653
  animationDuration: `${appearDurationMs}ms`,
1599
1654
  animationTimingFunction: "ease",
1600
- animationFillMode: "both"
1655
+ animationFillMode: "both",
1656
+ "--splide-speed": triggers.duration || "500ms"
1601
1657
  },
1602
1658
  children: [
1603
1659
  /* @__PURE__ */ jsx(
@@ -1609,23 +1665,27 @@ const Lightbox = ({ isOpen, onClose, content, settings, closeOnBackdropClick = t
1609
1665
  ref: lightboxRef,
1610
1666
  options: {
1611
1667
  arrows: false,
1612
- speed: settings.triggers.duration ? parseInt(settings.triggers.duration) : 500,
1613
- direction: settings.slider.direction === "horiz" || settings.slider.type === "fade" ? "ltr" : "ttb",
1668
+ speed: triggers.duration ? parseInt(triggers.duration) : 500,
1669
+ direction: slider.direction === "horiz" || slider.type === "fade" || slider.type === "scale" ? "ltr" : "ttb",
1614
1670
  pagination: false,
1615
- drag: settings.triggers.type === "drag",
1671
+ drag: triggers.type === "drag",
1616
1672
  perPage: 1,
1617
1673
  width: "100%",
1618
1674
  height: "100%",
1619
- type: settings.slider.type === "fade" ? "fade" : "loop",
1675
+ type: slider.type === "fade" || slider.type === "scale" ? "fade" : "loop",
1620
1676
  padding: 0,
1621
- rewind: false
1677
+ rewind: (slider.type === "scale" || slider.type === "fade") && appear.repeat !== "close"
1678
+ },
1679
+ style: {
1680
+ "--splide-speed": triggers.duration || "500ms"
1622
1681
  },
1623
1682
  children: content.map((item, index) => /* @__PURE__ */ jsx(SplideSlide, { children: /* @__PURE__ */ jsx("div", { className: styles.imgWrapper, onClick: handleImageWrapperClick, children: /* @__PURE__ */ jsx(
1624
1683
  "img",
1625
1684
  {
1626
1685
  className: cn(styles.imageStyle, {
1627
1686
  [styles.contain]: item.image.objectFit === "contain",
1628
- [styles.cover]: item.image.objectFit === "cover"
1687
+ [styles.cover]: item.image.objectFit === "cover",
1688
+ [styles.scaleSlide]: slider.type === "scale"
1629
1689
  }),
1630
1690
  src: item.image.url,
1631
1691
  alt: item.image.name ?? "",
@@ -1634,28 +1694,28 @@ const Lightbox = ({ isOpen, onClose, content, settings, closeOnBackdropClick = t
1634
1694
  ) }) }, index))
1635
1695
  }
1636
1696
  ),
1637
- settings.controls.isActive && /* @__PURE__ */ jsxs(Fragment, { children: [
1697
+ controls.isActive && /* @__PURE__ */ jsxs(Fragment, { children: [
1638
1698
  /* @__PURE__ */ jsx(
1639
1699
  "div",
1640
1700
  {
1641
- className: cn(styles.arrow, { [styles.arrowVertical]: settings.slider.direction === "vert" }),
1642
- style: { color: settings.controls.color, ["--arrow-hover-color"]: settings.controls.hover },
1701
+ className: cn(styles.arrow, { [styles.arrowVertical]: slider.direction === "vert" }),
1702
+ style: { color: controls.color, ["--arrow-hover-color"]: controls.hover },
1643
1703
  children: /* @__PURE__ */ jsx(
1644
1704
  "button",
1645
1705
  {
1646
1706
  className: styles.arrowInner,
1647
1707
  style: {
1648
- transform: `translate(${scalingValue(settings.controls.offset.x)}, ${scalingValue(settings.controls.offset.y * (settings.slider.direction === "horiz" ? 1 : -1))}) scale(${settings.controls.scale / 100}) rotate(${settings.slider.direction === "horiz" ? "0deg" : "90deg"})`
1708
+ transform: `translate(${scalingValue(controls.offset.x)}, ${scalingValue(controls.offset.y * (slider.direction === "horiz" ? 1 : -1))}) scale(${controls.scale / 100}) rotate(${slider.direction === "horiz" ? "0deg" : "90deg"})`
1649
1709
  },
1650
1710
  onClick: (e) => {
1651
1711
  handleArrowClick("-1");
1652
1712
  },
1653
- children: settings.controls.arrowsImgUrl && /* @__PURE__ */ jsx(
1713
+ children: controls.arrowsImgUrl && /* @__PURE__ */ jsx(
1654
1714
  SvgImage,
1655
1715
  {
1656
- url: settings.controls.arrowsImgUrl,
1657
- fill: settings.controls.color,
1658
- hoverFill: settings.controls.hover,
1716
+ url: controls.arrowsImgUrl,
1717
+ fill: controls.color,
1718
+ hoverFill: controls.hover,
1659
1719
  className: cn(styles.arrowImg, styles.mirror)
1660
1720
  }
1661
1721
  )
@@ -1666,25 +1726,25 @@ const Lightbox = ({ isOpen, onClose, content, settings, closeOnBackdropClick = t
1666
1726
  /* @__PURE__ */ jsx(
1667
1727
  "div",
1668
1728
  {
1669
- className: cn(styles.arrow, styles.nextArrow, { [styles.arrowVertical]: settings.slider.direction === "vert" }),
1670
- style: { color: settings.controls.color, ["--arrow-hover-color"]: settings.controls.hover },
1729
+ className: cn(styles.arrow, styles.nextArrow, { [styles.arrowVertical]: slider.direction === "vert" }),
1730
+ style: { color: controls.color, ["--arrow-hover-color"]: controls.hover },
1671
1731
  children: /* @__PURE__ */ jsx(
1672
1732
  "button",
1673
1733
  {
1674
1734
  className: styles.arrowInner,
1675
1735
  style: {
1676
- transform: `translate(${scalingValue(settings.controls.offset.x * (settings.slider.direction === "horiz" ? -1 : 1))}, ${scalingValue(settings.controls.offset.y)}) scale(${settings.controls.scale / 100}) rotate(${settings.slider.direction === "horiz" ? "0deg" : "90deg"})`
1736
+ transform: `translate(${scalingValue(controls.offset.x * (slider.direction === "horiz" ? -1 : 1))}, ${scalingValue(controls.offset.y)}) scale(${controls.scale / 100}) rotate(${slider.direction === "horiz" ? "0deg" : "90deg"})`
1677
1737
  },
1678
1738
  onClick: (e) => {
1679
1739
  handleArrowClick("+1");
1680
1740
  },
1681
1741
  "aria-label": "Next",
1682
- children: settings.controls.arrowsImgUrl && /* @__PURE__ */ jsx(
1742
+ children: controls.arrowsImgUrl && /* @__PURE__ */ jsx(
1683
1743
  SvgImage,
1684
1744
  {
1685
- url: settings.controls.arrowsImgUrl,
1686
- fill: settings.controls.color,
1687
- hoverFill: settings.controls.hover,
1745
+ url: controls.arrowsImgUrl,
1746
+ fill: controls.color,
1747
+ hoverFill: controls.hover,
1688
1748
  className: styles.arrowImg
1689
1749
  }
1690
1750
  )
@@ -1693,15 +1753,25 @@ const Lightbox = ({ isOpen, onClose, content, settings, closeOnBackdropClick = t
1693
1753
  }
1694
1754
  )
1695
1755
  ] }),
1696
- settings.area.closeIconUrl && /* @__PURE__ */ jsx("button", { className: styles.closeButton, style: { top: settings.area.closeIconOffset.y, left: settings.area.closeIconOffset.x }, onClick: onClose, children: /* @__PURE__ */ jsx(SvgImage, { url: settings.area.closeIconUrl, fill: settings.area.color }) }),
1697
- settings.caption.isActive && /* @__PURE__ */ jsx("div", { className: styles.caption, style: { top: settings.caption.offset.y, left: settings.caption.offset.x, color: settings.caption.color }, children: /* @__PURE__ */ jsx(RichTextRenderer, { content: content[currentIndex].imageCaption }) }),
1698
- settings.thumbnail.isActive && /* @__PURE__ */ jsx(
1756
+ area.closeIconUrl && /* @__PURE__ */ jsx("button", { className: styles.closeButton, style: getPositionStyles(area.closeIconAlign, area.closeIconOffset), onClick: onClose, children: /* @__PURE__ */ jsx(SvgImage, { url: area.closeIconUrl, fill: area.color }) }),
1757
+ caption2.isActive && /* @__PURE__ */ jsx("div", { className: styles.caption, style: { top: caption2.offset.y, left: caption2.offset.x }, children: /* @__PURE__ */ jsx(RichTextRenderer, { content: content[currentIndex].imageCaption }) }),
1758
+ thumbnail.isActive && /* @__PURE__ */ jsx(
1699
1759
  "div",
1700
1760
  {
1701
- className: cn(styles.thumbsContainer),
1761
+ className: cn(
1762
+ styles.thumbsContainer,
1763
+ {
1764
+ [styles.thumbsContainerVertical]: slider.direction === "vert",
1765
+ [styles.thumbsAlignStart]: thumbnail.align === "start",
1766
+ [styles.thumbsAlignCenter]: thumbnail.align === "center",
1767
+ [styles.thumbsAlignEnd]: thumbnail.align === "end"
1768
+ }
1769
+ ),
1702
1770
  style: {
1703
- gap: `${settings.thumbnail.grid.gap}px`,
1704
- height: `${settings.thumbnail.grid.height}px`
1771
+ gap: `${thumbnail.grid.gap}px`,
1772
+ ...slider.direction === "horiz" ? { height: `${thumbnail.grid.height}px` } : {},
1773
+ ...slider.direction === "vert" ? { width: `${thumbnail.grid.width}px` } : {},
1774
+ ...getPositionStyles(thumbnail.position, thumbnail.offset)
1705
1775
  },
1706
1776
  children: content.map((item, index) => {
1707
1777
  const isActive = index === currentIndex;
@@ -1710,16 +1780,17 @@ const Lightbox = ({ isOpen, onClose, content, settings, closeOnBackdropClick = t
1710
1780
  {
1711
1781
  className: styles.thumbItem,
1712
1782
  style: {
1713
- transform: `scale(${isActive ? settings.thumbnail.activeState.scale : 1})`,
1714
- height: "100%",
1715
- opacity: isActive ? settings.thumbnail.activeState.opacity : settings.thumbnail.opacity,
1716
- ["--thumb-hover"]: settings.thumbnail.activeState.opacity
1783
+ transform: `scale(${isActive ? thumbnail.activeState.scale / 100 : 1})`,
1784
+ ...slider.direction === "horiz" ? { height: "100%" } : {},
1785
+ ...slider.direction === "vert" ? { width: "100%" } : {},
1786
+ opacity: isActive ? thumbnail.activeState.opacity : thumbnail.opacity,
1787
+ ["--thumb-hover"]: thumbnail.activeState.opacity
1717
1788
  },
1718
1789
  onClick: (e) => {
1719
- var _a2;
1790
+ var _a;
1720
1791
  e.stopPropagation();
1721
1792
  setCurrentIndex(index);
1722
- (_a2 = lightboxRef.current) == null ? void 0 : _a2.go(index);
1793
+ (_a = lightboxRef.current) == null ? void 0 : _a.go(index);
1723
1794
  },
1724
1795
  children: /* @__PURE__ */ jsx(
1725
1796
  "img",
@@ -1727,7 +1798,11 @@ const Lightbox = ({ isOpen, onClose, content, settings, closeOnBackdropClick = t
1727
1798
  src: item.image.url,
1728
1799
  alt: item.image.name ?? "",
1729
1800
  className: styles.thumbImage,
1730
- style: { objectFit: settings.thumbnail.fit === "cover" ? "cover" : "contain" }
1801
+ style: {
1802
+ objectFit: thumbnail.fit === "cover" ? "cover" : "contain",
1803
+ ...slider.direction === "horiz" ? { height: "100%" } : {},
1804
+ ...slider.direction === "vert" ? { width: "100%" } : {}
1805
+ }
1731
1806
  }
1732
1807
  )
1733
1808
  },
@@ -1763,218 +1838,215 @@ const LightboxComponent = {
1763
1838
  layoutBased: true,
1764
1839
  type: "object",
1765
1840
  properties: {
1766
- cover: {
1767
- title: "COVER",
1768
- icon: "image",
1769
- tooltip: "Cover Image",
1841
+ thumbnailBlock: {
1842
+ display: {
1843
+ type: "settings-block",
1844
+ triggerEvent: "close"
1845
+ },
1770
1846
  type: "object",
1771
1847
  properties: {
1772
- url: {
1773
- type: "string",
1774
- display: {
1775
- type: "settings-image-input"
1848
+ cover: {
1849
+ title: "COVER",
1850
+ icon: "cover",
1851
+ tooltip: "Cover Image",
1852
+ type: "object",
1853
+ properties: {
1854
+ url: {
1855
+ type: "string",
1856
+ display: {
1857
+ type: "settings-image-input"
1858
+ }
1859
+ }
1776
1860
  }
1777
1861
  }
1778
1862
  }
1779
1863
  },
1780
- appear: {
1781
- title: "APPEAR",
1782
- icon: "transition",
1783
- tooltip: "Appearance",
1784
- type: "object",
1785
- properties: {
1786
- type: {
1787
- type: "string",
1788
- display: {
1789
- type: "ratio-group"
1790
- },
1791
- enum: ["slide in", "fade in", "mix"]
1792
- },
1793
- duration: {
1794
- type: "string",
1795
- label: "hourglass-icon",
1796
- display: {
1797
- type: "step-selector"
1798
- },
1799
- enum: ["100ms", "250ms", "500ms", "1000ms", "1500ms", "2000ms"]
1800
- },
1801
- direction: {
1802
- type: "string",
1803
- title: "FROM",
1804
- display: {
1805
- visible: false,
1806
- type: "direction-control"
1807
- },
1808
- enum: ["top", "bottom", "left", "right"]
1809
- },
1810
- repeat: {
1811
- type: "string",
1812
- title: "Repeat",
1813
- display: {
1814
- type: "ratio-group"
1815
- },
1816
- enum: ["close", "loop"]
1817
- }
1818
- }
1819
- },
1820
- triggers: {
1821
- title: "TRIGGERS",
1822
- icon: "target",
1823
- tooltip: "Triggers",
1824
- type: "object",
1825
- properties: {
1826
- type: {
1827
- type: "string",
1828
- display: {
1829
- type: "ratio-group"
1830
- },
1831
- enum: ["click", "drag", "scroll"]
1832
- },
1833
- switch: {
1834
- type: "string",
1835
- display: {
1836
- type: "ratio-group"
1837
- },
1838
- enum: ["image", "50/50"]
1839
- },
1840
- duration: {
1841
- type: "string",
1842
- label: "hourglass-icon",
1843
- display: {
1844
- type: "step-selector"
1845
- },
1846
- enum: ["100ms", "250ms", "500ms", "1000ms", "1500ms", "2000ms"]
1847
- }
1848
- }
1849
- },
1850
- slider: {
1851
- title: "SLIDER",
1852
- icon: "horizontal-resize",
1853
- tooltip: "Slider",
1854
- type: "object",
1855
- properties: {
1856
- type: {
1857
- type: "string",
1858
- display: {
1859
- type: "ratio-group"
1860
- },
1861
- enum: ["slide", "fade", "scale"]
1862
- },
1863
- direction: {
1864
- type: "string",
1865
- display: {
1866
- visible: false,
1867
- type: "ratio-group"
1868
- },
1869
- enum: ["horiz", "vert"]
1870
- }
1871
- }
1872
- },
1873
- thumbnail: {
1874
- title: "THUMB",
1875
- icon: "pagination",
1876
- tooltip: "Thumbnail",
1864
+ lightboxBlock: {
1865
+ display: {
1866
+ type: "settings-block",
1867
+ triggerEvent: "open"
1868
+ },
1877
1869
  type: "object",
1878
1870
  properties: {
1879
- isActive: {
1880
- type: "boolean",
1881
- display: {
1882
- type: "setting-toggle"
1871
+ appear: {
1872
+ title: "APPEAR",
1873
+ icon: "transition",
1874
+ tooltip: "Appearance",
1875
+ type: "object",
1876
+ properties: {
1877
+ type: {
1878
+ type: "string",
1879
+ display: {
1880
+ type: "ratio-group"
1881
+ },
1882
+ enum: ["slide in", "fade in", "mix"]
1883
+ },
1884
+ duration: {
1885
+ type: "string",
1886
+ label: "T",
1887
+ display: {
1888
+ type: "step-selector"
1889
+ },
1890
+ enum: ["100ms", "250ms", "500ms", "1000ms", "1500ms", "2000ms"]
1891
+ },
1892
+ direction: {
1893
+ type: "string",
1894
+ title: "FROM",
1895
+ display: {
1896
+ visible: true,
1897
+ type: "direction-control"
1898
+ },
1899
+ enum: ["top", "left", "right", "bottom"]
1900
+ },
1901
+ repeat: {
1902
+ type: "string",
1903
+ title: "Repeat",
1904
+ display: {
1905
+ type: "ratio-group"
1906
+ },
1907
+ enum: ["close", "loop"]
1908
+ }
1883
1909
  }
1884
1910
  },
1885
- position: {
1886
- display: {
1887
- type: "align-grid"
1888
- },
1889
- type: "string",
1890
- enum: ["top-left", "top-center", "top-right", "middle-left", "middle-center", "middle-right", "bottom-left", "bottom-center", "bottom-right"]
1891
- },
1892
- fit: {
1893
- type: "string",
1894
- display: {
1895
- type: "ratio-group"
1896
- },
1897
- enum: ["cover", "fit"]
1898
- },
1899
- align: {
1900
- type: "string",
1901
- title: "Align",
1902
- display: {
1903
- type: "ratio-group"
1904
- },
1905
- enum: ["top", "center", "bottom"]
1906
- },
1907
1911
  triggers: {
1908
- type: "string",
1909
- title: "Triggers",
1910
- display: {
1911
- type: "ratio-group"
1912
- },
1913
- enum: ["click", "hover"]
1914
- },
1915
- grid: {
1912
+ title: "TRIGGERS",
1913
+ icon: "target",
1914
+ tooltip: "Triggers",
1916
1915
  type: "object",
1917
- title: "Grid",
1918
- display: {
1919
- type: "group"
1920
- },
1921
1916
  properties: {
1922
- height: {
1923
- type: "number",
1924
- label: "H",
1917
+ type: {
1918
+ type: "string",
1925
1919
  display: {
1926
- type: "numeric-input"
1927
- }
1920
+ type: "ratio-group"
1921
+ },
1922
+ enum: ["click", "drag"]
1928
1923
  },
1929
- gap: {
1930
- type: "number",
1931
- label: "Gap",
1924
+ switch: {
1925
+ type: "string",
1932
1926
  display: {
1933
- type: "numeric-input"
1934
- }
1927
+ type: "ratio-group"
1928
+ },
1929
+ enum: ["image", "50/50"]
1930
+ },
1931
+ duration: {
1932
+ type: "string",
1933
+ label: "T",
1934
+ display: {
1935
+ type: "step-selector"
1936
+ },
1937
+ enum: ["100ms", "250ms", "500ms", "1000ms", "1500ms", "2000ms"]
1935
1938
  }
1936
1939
  }
1937
1940
  },
1938
- offset: {
1941
+ slider: {
1942
+ title: "SLIDER",
1943
+ icon: "horizontal-resize",
1944
+ tooltip: "Slider",
1939
1945
  type: "object",
1940
- display: {
1941
- type: "offset-controls"
1942
- },
1943
1946
  properties: {
1944
- x: {
1945
- type: "number"
1947
+ type: {
1948
+ type: "string",
1949
+ display: {
1950
+ type: "ratio-group"
1951
+ },
1952
+ enum: ["slide", "fade", "scale"]
1946
1953
  },
1947
- y: {
1948
- type: "number"
1954
+ direction: {
1955
+ type: "string",
1956
+ display: {
1957
+ type: "ratio-group"
1958
+ },
1959
+ enum: ["horiz", "vert"]
1949
1960
  }
1950
1961
  }
1951
1962
  },
1952
- opacity: {
1953
- type: "number",
1954
- title: "Opacity",
1955
- label: "icon:opacity",
1956
- min: 0,
1957
- max: 100,
1958
- step: 1,
1959
- display: {
1960
- type: "numeric-input"
1961
- }
1962
- },
1963
- activeState: {
1963
+ thumbnail: {
1964
+ title: "THUMB",
1965
+ icon: "thumbnail",
1966
+ tooltip: "Thumbnail",
1964
1967
  type: "object",
1965
- title: "ACTIVE",
1966
- display: {
1967
- type: "group"
1968
- },
1969
1968
  properties: {
1970
- scale: {
1971
- type: "number",
1972
- title: "Scale",
1973
- min: 1,
1974
- max: 2,
1975
- step: 0.1,
1969
+ isActive: {
1970
+ type: "boolean",
1976
1971
  display: {
1977
- type: "range-control"
1972
+ type: "setting-toggle"
1973
+ }
1974
+ },
1975
+ position: {
1976
+ display: {
1977
+ type: "align-grid"
1978
+ },
1979
+ type: "string",
1980
+ enum: ["top-left", "top-center", "top-right", "middle-left", "middle-center", "middle-right", "bottom-left", "bottom-center", "bottom-right"]
1981
+ },
1982
+ fit: {
1983
+ type: "string",
1984
+ display: {
1985
+ type: "ratio-group"
1986
+ },
1987
+ enum: ["cover", "fit"]
1988
+ },
1989
+ align: {
1990
+ type: "string",
1991
+ title: "Align",
1992
+ display: {
1993
+ type: "align-group",
1994
+ direction: "horizontal"
1995
+ },
1996
+ enum: ["start", "center", "end"]
1997
+ },
1998
+ triggers: {
1999
+ type: "string",
2000
+ title: "Triggers",
2001
+ display: {
2002
+ type: "ratio-group",
2003
+ direction: "horizontal"
2004
+ },
2005
+ enum: ["clk", "hov"]
2006
+ },
2007
+ grid: {
2008
+ type: "object",
2009
+ title: "Grid",
2010
+ display: {
2011
+ type: "group"
2012
+ },
2013
+ properties: {
2014
+ height: {
2015
+ type: "number",
2016
+ label: "H",
2017
+ display: {
2018
+ type: "numeric-input"
2019
+ }
2020
+ },
2021
+ width: {
2022
+ type: "number",
2023
+ label: "W",
2024
+ display: {
2025
+ type: "numeric-input",
2026
+ visible: false
2027
+ }
2028
+ },
2029
+ gap: {
2030
+ type: "number",
2031
+ label: "Gap",
2032
+ display: {
2033
+ type: "numeric-input"
2034
+ }
2035
+ }
2036
+ }
2037
+ },
2038
+ offset: {
2039
+ type: "object",
2040
+ display: {
2041
+ type: "offset-controls"
2042
+ },
2043
+ properties: {
2044
+ x: {
2045
+ type: "number"
2046
+ },
2047
+ y: {
2048
+ type: "number"
2049
+ }
1978
2050
  }
1979
2051
  },
1980
2052
  opacity: {
@@ -1987,278 +2059,310 @@ const LightboxComponent = {
1987
2059
  display: {
1988
2060
  type: "numeric-input"
1989
2061
  }
1990
- }
1991
- }
1992
- }
1993
- }
1994
- },
1995
- layout: {
1996
- title: "LAYOUT",
1997
- icon: "layout",
1998
- tooltip: "Layout",
1999
- type: "object",
2000
- properties: {
2001
- position: {
2002
- display: {
2003
- type: "align-grid"
2004
- },
2005
- type: "string",
2006
- enum: ["top-left", "top-center", "top-right", "middle-left", "middle-center", "middle-right", "bottom-left", "bottom-center", "bottom-right"]
2007
- },
2008
- offset: {
2009
- type: "object",
2010
- display: {
2011
- type: "offset-controls"
2012
- },
2013
- properties: {
2014
- x: {
2015
- type: "number"
2016
2062
  },
2017
- y: {
2018
- type: "number"
2063
+ activeState: {
2064
+ type: "object",
2065
+ title: "ACTIVE",
2066
+ display: {
2067
+ type: "group"
2068
+ },
2069
+ properties: {
2070
+ scale: {
2071
+ type: "number",
2072
+ title: "Scale",
2073
+ min: 0,
2074
+ max: 100,
2075
+ step: 1,
2076
+ display: {
2077
+ type: "range-control"
2078
+ }
2079
+ },
2080
+ opacity: {
2081
+ type: "number",
2082
+ title: "Opacity",
2083
+ label: "icon:opacity",
2084
+ min: 0,
2085
+ max: 100,
2086
+ step: 1,
2087
+ display: {
2088
+ type: "numeric-input"
2089
+ }
2090
+ }
2091
+ }
2019
2092
  }
2020
2093
  }
2021
2094
  },
2022
- padding: {
2095
+ layout: {
2096
+ title: "LAYOUT",
2097
+ icon: "layout",
2098
+ tooltip: "Layout",
2023
2099
  type: "object",
2024
- title: "Padding",
2025
- display: {
2026
- type: "padding-controls"
2027
- },
2028
2100
  properties: {
2029
- top: {
2030
- type: "number"
2031
- },
2032
- right: {
2033
- type: "number"
2034
- },
2035
- bottom: {
2036
- type: "number"
2101
+ position: {
2102
+ display: {
2103
+ type: "align-grid"
2104
+ },
2105
+ type: "string",
2106
+ enum: ["top-left", "top-center", "top-right", "middle-left", "middle-center", "middle-right", "bottom-left", "bottom-center", "bottom-right"]
2037
2107
  },
2038
- left: {
2039
- type: "number"
2108
+ offset: {
2109
+ type: "object",
2110
+ display: {
2111
+ type: "offset-controls"
2112
+ },
2113
+ properties: {
2114
+ x: {
2115
+ type: "number"
2116
+ },
2117
+ y: {
2118
+ type: "number"
2119
+ }
2120
+ }
2121
+ },
2122
+ padding: {
2123
+ type: "object",
2124
+ title: "Padding",
2125
+ display: {
2126
+ type: "padding-controls"
2127
+ },
2128
+ properties: {
2129
+ top: {
2130
+ type: "number"
2131
+ },
2132
+ left: {
2133
+ type: "number"
2134
+ },
2135
+ right: {
2136
+ type: "number"
2137
+ },
2138
+ bottom: {
2139
+ type: "number"
2140
+ }
2141
+ }
2040
2142
  }
2041
2143
  }
2042
- }
2043
- }
2044
- },
2045
- controls: {
2046
- title: "CONTROLS",
2047
- icon: "controls",
2048
- tooltip: "Controls",
2049
- type: "object",
2050
- properties: {
2051
- isActive: {
2052
- type: "boolean",
2053
- display: {
2054
- type: "setting-toggle"
2055
- }
2056
- },
2057
- arrowsImgUrl: {
2058
- type: ["string", "null"],
2059
- display: {
2060
- type: "settings-image-input"
2061
- }
2062
2144
  },
2063
- offset: {
2145
+ controls: {
2146
+ title: "CONTROLS",
2147
+ icon: "controls",
2148
+ tooltip: "Controls",
2064
2149
  type: "object",
2065
- display: {
2066
- type: "offset-controls"
2067
- },
2068
2150
  properties: {
2069
- x: {
2070
- type: "number"
2151
+ isActive: {
2152
+ type: "boolean",
2153
+ display: {
2154
+ type: "setting-toggle"
2155
+ }
2071
2156
  },
2072
- y: {
2073
- type: "number"
2157
+ arrowsImgUrl: {
2158
+ type: ["string", "null"],
2159
+ display: {
2160
+ type: "settings-image-input"
2161
+ }
2162
+ },
2163
+ offset: {
2164
+ type: "object",
2165
+ display: {
2166
+ type: "offset-controls"
2167
+ },
2168
+ properties: {
2169
+ x: {
2170
+ type: "number"
2171
+ },
2172
+ y: {
2173
+ type: "number"
2174
+ }
2175
+ }
2176
+ },
2177
+ scale: {
2178
+ type: "number",
2179
+ title: "Scale",
2180
+ min: 0,
2181
+ max: 100,
2182
+ display: {
2183
+ type: "range-control"
2184
+ }
2185
+ },
2186
+ color: {
2187
+ title: "Color",
2188
+ type: "string",
2189
+ display: {
2190
+ type: "settings-color-picker",
2191
+ format: "single"
2192
+ }
2193
+ },
2194
+ hover: {
2195
+ title: "Hover",
2196
+ type: "string",
2197
+ display: {
2198
+ type: "settings-color-picker",
2199
+ format: "single"
2200
+ }
2074
2201
  }
2075
2202
  }
2076
2203
  },
2077
- scale: {
2078
- type: "number",
2079
- title: "Scale",
2080
- min: 0,
2081
- max: 1,
2082
- display: {
2083
- type: "range-control"
2084
- }
2085
- },
2086
- color: {
2087
- title: "Color",
2088
- type: "string",
2089
- display: {
2090
- type: "settings-color-picker",
2091
- format: "single"
2092
- }
2093
- },
2094
- hover: {
2095
- title: "Hover",
2096
- type: "string",
2097
- display: {
2098
- type: "settings-color-picker",
2099
- format: "single"
2100
- }
2101
- }
2102
- }
2103
- },
2104
- area: {
2105
- title: "AREA",
2106
- icon: "background",
2107
- tooltip: "Area",
2108
- type: "object",
2109
- properties: {
2110
- color: {
2111
- type: "string",
2112
- display: {
2113
- type: "settings-color-picker",
2114
- format: "single"
2115
- }
2116
- },
2117
- blur: {
2118
- type: "number",
2119
- label: "icon:blur",
2120
- display: {
2121
- type: "numeric-input"
2122
- }
2123
- },
2124
- closeIconUrl: {
2125
- type: ["string", "null"],
2126
- title: "CLOSE ICON",
2127
- display: {
2128
- type: "settings-image-input"
2129
- }
2130
- },
2131
- closeIconAlign: {
2132
- display: {
2133
- type: "align-grid",
2134
- direction: "horizontal"
2135
- },
2136
- type: "string",
2137
- enum: ["top-left", "top-center", "top-right", "middle-left", "middle-center", "middle-right", "bottom-left", "bottom-center", "bottom-right"]
2138
- },
2139
- closeIconOffset: {
2204
+ area: {
2205
+ title: "AREA",
2206
+ icon: "area",
2207
+ tooltip: "Area",
2140
2208
  type: "object",
2141
- display: {
2142
- type: "offset-controls"
2143
- },
2144
2209
  properties: {
2145
- x: {
2146
- type: "number"
2210
+ color: {
2211
+ type: "string",
2212
+ display: {
2213
+ type: "settings-color-picker",
2214
+ format: "single"
2215
+ }
2147
2216
  },
2148
- y: {
2149
- type: "number"
2217
+ blur: {
2218
+ type: "number",
2219
+ label: "icon:blur",
2220
+ display: {
2221
+ type: "numeric-input"
2222
+ }
2223
+ },
2224
+ closeIconUrl: {
2225
+ type: ["string", "null"],
2226
+ title: "CLOSE ICON",
2227
+ display: {
2228
+ type: "settings-image-input"
2229
+ }
2230
+ },
2231
+ closeIconAlign: {
2232
+ display: {
2233
+ type: "align-grid",
2234
+ direction: "horizontal"
2235
+ },
2236
+ type: "string",
2237
+ enum: ["top-left", "top-center", "top-right", "middle-left", "middle-center", "middle-right", "bottom-left", "bottom-center", "bottom-right"]
2238
+ },
2239
+ closeIconOffset: {
2240
+ type: "object",
2241
+ display: {
2242
+ type: "offset-controls"
2243
+ },
2244
+ properties: {
2245
+ x: {
2246
+ type: "number"
2247
+ },
2248
+ y: {
2249
+ type: "number"
2250
+ }
2251
+ }
2150
2252
  }
2151
2253
  }
2152
- }
2153
- }
2154
- },
2155
- caption: {
2156
- title: "DESC",
2157
- icon: "text-icon",
2158
- tooltip: "Description",
2159
- type: "object",
2160
- properties: {
2161
- alignment: {
2162
- type: "string",
2163
- display: {
2164
- type: "align-grid"
2165
- },
2166
- enum: ["top-left", "top-center", "top-right", "middle-left", "middle-center", "middle-right", "bottom-left", "bottom-center", "bottom-right"]
2167
2254
  },
2168
- offset: {
2255
+ caption: {
2256
+ title: "DESC",
2257
+ icon: "text-icon",
2258
+ tooltip: "Description",
2169
2259
  type: "object",
2170
- display: {
2171
- type: "offset-controls"
2172
- },
2173
2260
  properties: {
2174
- x: {
2175
- type: "number"
2261
+ isActive: {
2262
+ type: "boolean",
2263
+ display: {
2264
+ type: "setting-toggle"
2265
+ }
2176
2266
  },
2177
- y: {
2178
- type: "number"
2267
+ alignment: {
2268
+ type: "string",
2269
+ display: {
2270
+ type: "align-grid"
2271
+ },
2272
+ enum: ["top-left", "top-center", "top-right", "middle-left", "middle-center", "middle-right", "bottom-left", "bottom-center", "bottom-right"]
2273
+ },
2274
+ offset: {
2275
+ type: "object",
2276
+ display: {
2277
+ type: "offset-controls"
2278
+ },
2279
+ properties: {
2280
+ x: {
2281
+ type: "number"
2282
+ },
2283
+ y: {
2284
+ type: "number"
2285
+ }
2286
+ }
2287
+ },
2288
+ hover: {
2289
+ title: "Hover",
2290
+ type: "string",
2291
+ display: {
2292
+ type: "settings-color-picker",
2293
+ format: "single"
2294
+ }
2179
2295
  }
2180
2296
  }
2181
- },
2182
- color: {
2183
- title: "Color",
2184
- type: "string",
2185
- display: {
2186
- type: "settings-color-picker",
2187
- format: "single"
2188
- }
2189
- },
2190
- hover: {
2191
- title: "Hover",
2192
- type: "string",
2193
- display: {
2194
- type: "settings-color-picker",
2195
- format: "single"
2196
- }
2197
2297
  }
2198
2298
  }
2199
2299
  }
2200
2300
  },
2201
2301
  default: {
2202
- cover: {
2203
- url: "https://cdn.cntrl.site/projects/01JJKT02AWY2FGN2QJ7A173RNZ/articles-assets/01K7ERMHNP08T27H1649S67NZV.png"
2204
- },
2205
- appear: {
2206
- type: "slide in",
2207
- duration: "1000ms",
2208
- direction: "right",
2209
- repeat: "close"
2210
- },
2211
- triggers: {
2212
- type: "click",
2213
- switch: "image",
2214
- duration: "2000ms"
2215
- },
2216
- slider: {
2217
- type: "fade",
2218
- direction: "horiz"
2302
+ thumbnailBlock: {
2303
+ cover: {
2304
+ url: "https://cdn.cntrl.site/projects/01JJKT02AWY2FGN2QJ7A173RNZ/articles-assets/01K7ERMHNP08T27H1649S67NZV.png"
2305
+ }
2219
2306
  },
2220
- thumbnail: {
2221
- isActive: true,
2222
- position: "bottom-center",
2223
- fit: "cover",
2224
- align: "center",
2225
- triggers: "click",
2226
- grid: {
2227
- height: 60,
2228
- gap: 8
2307
+ lightboxBlock: {
2308
+ appear: {
2309
+ type: "slide in",
2310
+ duration: "1000ms",
2311
+ direction: "right",
2312
+ repeat: "close"
2313
+ },
2314
+ triggers: {
2315
+ type: "click",
2316
+ switch: "image",
2317
+ duration: "2000ms"
2318
+ },
2319
+ slider: {
2320
+ type: "fade",
2321
+ direction: "horiz"
2322
+ },
2323
+ thumbnail: {
2324
+ isActive: true,
2325
+ position: "bottom-center",
2326
+ fit: "cover",
2327
+ align: "center",
2328
+ triggers: "clk",
2329
+ grid: {
2330
+ height: 60,
2331
+ gap: 8
2332
+ },
2333
+ offset: { x: 0, y: 0 },
2334
+ opacity: 100,
2335
+ activeState: {
2336
+ scale: 100,
2337
+ opacity: 100
2338
+ }
2339
+ },
2340
+ layout: {
2341
+ position: "middle-center",
2342
+ offset: { x: 0, y: 0 },
2343
+ padding: { top: 0, right: 0, bottom: 0, left: 0 }
2229
2344
  },
2230
- offset: { x: 0, y: 0 },
2231
- opacity: 100,
2232
- activeState: {
2345
+ controls: {
2346
+ isActive: true,
2347
+ arrowsImgUrl: null,
2348
+ offset: { x: 0, y: 0 },
2233
2349
  scale: 1,
2234
- opacity: 100
2350
+ color: "#000000",
2351
+ hover: "#cccccc"
2352
+ },
2353
+ area: {
2354
+ color: "rgba(0,0,0,0.9)",
2355
+ blur: 0,
2356
+ closeIconUrl: null,
2357
+ closeIconAlign: "top-right",
2358
+ closeIconOffset: { x: 0, y: 0 }
2359
+ },
2360
+ caption: {
2361
+ isActive: true,
2362
+ alignment: "middle-center",
2363
+ offset: { x: 0, y: 0 },
2364
+ hover: "#cccccc"
2235
2365
  }
2236
- },
2237
- layout: {
2238
- position: "middle-center",
2239
- offset: { x: 0, y: 0 },
2240
- padding: { top: 0, right: 0, bottom: 0, left: 0 }
2241
- },
2242
- controls: {
2243
- isActive: true,
2244
- arrowsImgUrl: null,
2245
- offset: { x: 0, y: 0 },
2246
- scale: 1,
2247
- color: "#000000",
2248
- hover: "#cccccc"
2249
- },
2250
- area: {
2251
- color: "rgba(0,0,0,0.9)",
2252
- blur: 0,
2253
- closeIconUrl: null,
2254
- closeIconAlign: "top-right",
2255
- closeIconOffset: { x: 12, y: 12 }
2256
- },
2257
- caption: {
2258
- alignment: "middle-center",
2259
- offset: { x: 0, y: 0 },
2260
- color: "#000000",
2261
- hover: "#cccccc"
2262
2366
  }
2263
2367
  },
2264
2368
  displayRules: [
@@ -2269,7 +2373,67 @@ const LightboxComponent = {
2269
2373
  },
2270
2374
  then: {
2271
2375
  value: true,
2272
- name: "properties.appear.properties.direction.display.visible"
2376
+ name: "properties.lightboxBlock.properties.appear.properties.direction.display.visible"
2377
+ }
2378
+ },
2379
+ {
2380
+ if: {
2381
+ name: "slider.direction",
2382
+ value: "vert"
2383
+ },
2384
+ then: {
2385
+ name: "properties.lightboxBlock.properties.thumbnail.properties.position.display.direction",
2386
+ value: "vertical"
2387
+ }
2388
+ },
2389
+ {
2390
+ if: {
2391
+ name: "triggers.type",
2392
+ value: "drag"
2393
+ },
2394
+ then: {
2395
+ name: "properties.lightboxBlock.properties.triggers.properties.switch.display.visible",
2396
+ value: false
2397
+ }
2398
+ },
2399
+ {
2400
+ if: {
2401
+ name: "triggers.type",
2402
+ value: "drag"
2403
+ },
2404
+ then: {
2405
+ name: "properties.lightboxBlock.properties.triggers.properties.duration.display.visible",
2406
+ value: false
2407
+ }
2408
+ },
2409
+ {
2410
+ if: {
2411
+ name: "slider.direction",
2412
+ value: "vert"
2413
+ },
2414
+ then: {
2415
+ name: "properties.lightboxBlock.properties.thumbnail.properties.grid.properties.width.display.visible",
2416
+ value: true
2417
+ }
2418
+ },
2419
+ {
2420
+ if: {
2421
+ name: "slider.direction",
2422
+ value: "vert"
2423
+ },
2424
+ then: {
2425
+ name: "properties.lightboxBlock.properties.thumbnail.properties.grid.properties.height.display.visible",
2426
+ value: false
2427
+ }
2428
+ },
2429
+ {
2430
+ if: {
2431
+ name: "appear.type",
2432
+ value: "fade in"
2433
+ },
2434
+ then: {
2435
+ name: "properties.lightboxBlock.properties.appear.properties.direction.display.visible",
2436
+ value: false
2273
2437
  }
2274
2438
  }
2275
2439
  ]
@@ -2286,9 +2450,9 @@ const LightboxComponent = {
2286
2450
  properties: {
2287
2451
  image: {
2288
2452
  type: "object",
2453
+ label: "Image",
2289
2454
  display: {
2290
2455
  type: "media-input",
2291
- label: "Image",
2292
2456
  minWidth: 58,
2293
2457
  maxWidth: 108
2294
2458
  },
@@ -2307,10 +2471,10 @@ const LightboxComponent = {
2307
2471
  required: ["url", "name"]
2308
2472
  },
2309
2473
  imageCaption: {
2474
+ label: "Description",
2475
+ placeholder: "Add Caption...",
2310
2476
  display: {
2311
2477
  type: "rich-text",
2312
- label: "Description",
2313
- placeholder: "Add Caption...",
2314
2478
  minWidth: 300,
2315
2479
  maxWidth: 550
2316
2480
  }