@meduza/ui-kit-2 0.1.12 → 0.1.14
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/ui-kit-2.cjs.development.js +66 -22
- package/dist/ui-kit-2.cjs.development.js.map +1 -1
- package/dist/ui-kit-2.cjs.production.min.js +1 -1
- package/dist/ui-kit-2.cjs.production.min.js.map +1 -1
- package/dist/ui-kit-2.esm.js +67 -23
- package/dist/ui-kit-2.esm.js.map +1 -1
- package/dist/ui-kit.css +848 -831
- package/package.json +1 -1
- package/src/DocumentItemsCount/DocumentItemsCount.stories.tsx +4 -6
- package/src/DotsOnImage/DotsOnImage.module.css +37 -43
- package/src/DotsOnImage/index.tsx +92 -42
- package/src/EmbedBlock/EmbedBlock.tsx +1 -1
- package/src/QuoteBlock/QuoteBlock.module.css +1 -1
package/dist/ui-kit-2.esm.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React, { useState, useEffect, useContext,
|
|
1
|
+
import React, { useState, useEffect, useContext, useRef, Children, useCallback } from 'react';
|
|
2
2
|
import { useInView } from 'react-intersection-observer';
|
|
3
3
|
import dayjs from 'dayjs';
|
|
4
4
|
import 'dayjs/locale/ru';
|
|
@@ -604,7 +604,7 @@ var Footnote = function Footnote(_ref) {
|
|
|
604
604
|
}, children));
|
|
605
605
|
};
|
|
606
606
|
|
|
607
|
-
var styles$7 = {"root":"DotsOnImage-module_root__2XP3Q","
|
|
607
|
+
var styles$7 = {"root":"DotsOnImage-module_root__2XP3Q","isVisible":"DotsOnImage-module_isVisible__Wqqqt","dot":"DotsOnImage-module_dot__H1wua","show":"DotsOnImage-module_show__2TMBv","isActive":"DotsOnImage-module_isActive__3hh31","popover":"DotsOnImage-module_popover__35Cpj","isRight":"DotsOnImage-module_isRight__2RsJe","isTop":"DotsOnImage-module_isTop__3zmSK","isLeft":"DotsOnImage-module_isLeft__3quc9","isBottom":"DotsOnImage-module_isBottom__3Nk1T"};
|
|
608
608
|
|
|
609
609
|
var DotsOnImage = function DotsOnImage(_ref) {
|
|
610
610
|
var _ref$block = _ref.block,
|
|
@@ -615,6 +615,15 @@ var DotsOnImage = function DotsOnImage(_ref) {
|
|
|
615
615
|
display = _ref$block.display,
|
|
616
616
|
dots = _ref$block.dots;
|
|
617
617
|
|
|
618
|
+
var _useInView = useInView({
|
|
619
|
+
threshold: 0.5
|
|
620
|
+
}),
|
|
621
|
+
ref = _useInView[0],
|
|
622
|
+
inView = _useInView[1],
|
|
623
|
+
entry = _useInView[2];
|
|
624
|
+
|
|
625
|
+
var container = useRef(null);
|
|
626
|
+
|
|
618
627
|
var _useState = useState({
|
|
619
628
|
title: null,
|
|
620
629
|
body: null,
|
|
@@ -624,6 +633,42 @@ var DotsOnImage = function DotsOnImage(_ref) {
|
|
|
624
633
|
popover = _useState[0],
|
|
625
634
|
setPopover = _useState[1];
|
|
626
635
|
|
|
636
|
+
var _useState2 = useState(false),
|
|
637
|
+
visible = _useState2[0],
|
|
638
|
+
setVisible = _useState2[1];
|
|
639
|
+
|
|
640
|
+
useEffect(function () {
|
|
641
|
+
if (entry && entry.boundingClientRect && entry.boundingClientRect.y < 0) {
|
|
642
|
+
setVisible(true);
|
|
643
|
+
}
|
|
644
|
+
}, [entry]);
|
|
645
|
+
useEffect(function () {
|
|
646
|
+
if (inView) {
|
|
647
|
+
setVisible(true);
|
|
648
|
+
}
|
|
649
|
+
}, [inView]);
|
|
650
|
+
useEffect(function () {
|
|
651
|
+
if (popover.id) {
|
|
652
|
+
document.addEventListener('click', handleClickOutside);
|
|
653
|
+
} else {
|
|
654
|
+
document.removeEventListener('click', handleClickOutside);
|
|
655
|
+
}
|
|
656
|
+
|
|
657
|
+
return function () {
|
|
658
|
+
return document.removeEventListener('click', handleClickOutside);
|
|
659
|
+
};
|
|
660
|
+
}, [popover]);
|
|
661
|
+
|
|
662
|
+
var handleClickOutside = function handleClickOutside(event) {
|
|
663
|
+
var path = event.composedPath();
|
|
664
|
+
|
|
665
|
+
if (path.indexOf(container.current) === -1) {
|
|
666
|
+
setPopover({
|
|
667
|
+
show: false
|
|
668
|
+
});
|
|
669
|
+
}
|
|
670
|
+
};
|
|
671
|
+
|
|
627
672
|
var handleDotClick = function handleDotClick(dot) {
|
|
628
673
|
var shouldShow = dot.id !== popover.id;
|
|
629
674
|
var side = dot.position.x > 50 ? 'isLeft' : 'isRight';
|
|
@@ -644,13 +689,24 @@ var DotsOnImage = function DotsOnImage(_ref) {
|
|
|
644
689
|
};
|
|
645
690
|
|
|
646
691
|
return React.createElement("div", {
|
|
692
|
+
className: makeClassName([[styles$7.root, true], [styles$7.isVisible, visible]]),
|
|
647
693
|
"data-testid": "dots-on-image",
|
|
648
|
-
|
|
649
|
-
}, React.createElement(
|
|
650
|
-
|
|
694
|
+
ref: ref
|
|
695
|
+
}, React.createElement(Image, {
|
|
696
|
+
optimized: optimized,
|
|
697
|
+
width: width,
|
|
698
|
+
height: height,
|
|
699
|
+
alt: credit,
|
|
700
|
+
display: display,
|
|
701
|
+
fullscreen: {
|
|
702
|
+
mobile: false,
|
|
703
|
+
desktop: false
|
|
704
|
+
}
|
|
705
|
+
}), React.createElement("div", {
|
|
706
|
+
ref: container
|
|
651
707
|
}, dots.map(function (dot) {
|
|
652
708
|
return React.createElement("button", {
|
|
653
|
-
className: styles$7.dot,
|
|
709
|
+
className: makeClassName([[styles$7.dot, true], [styles$7.isActive, dot.id === popover.id]]),
|
|
654
710
|
type: "button",
|
|
655
711
|
key: dot.id,
|
|
656
712
|
style: {
|
|
@@ -666,19 +722,7 @@ var DotsOnImage = function DotsOnImage(_ref) {
|
|
|
666
722
|
__html: dot.icon.svg_string
|
|
667
723
|
}
|
|
668
724
|
}), dot.icon.type === 'number' && dot.icon.number);
|
|
669
|
-
})
|
|
670
|
-
className: styles$7.image
|
|
671
|
-
}, React.createElement(Image, {
|
|
672
|
-
optimized: optimized,
|
|
673
|
-
width: width,
|
|
674
|
-
height: height,
|
|
675
|
-
alt: credit,
|
|
676
|
-
display: display,
|
|
677
|
-
fullscreen: {
|
|
678
|
-
mobile: false,
|
|
679
|
-
desktop: false
|
|
680
|
-
}
|
|
681
|
-
})), popover.show && React.createElement(React.Fragment, null, viewportSize().width >= MediaQuerySizes.LANDSCAPE_TABLET ? React.createElement("div", {
|
|
725
|
+
}), popover.show && React.createElement(React.Fragment, null, viewportSize().width >= MediaQuerySizes.LANDSCAPE_TABLET ? React.createElement("div", {
|
|
682
726
|
className: makeClassName([[styles$7.popover, true], [styles$7[popover.side], !!popover.side], [styles$7[popover.align], !!popover.align]]),
|
|
683
727
|
style: popover.style
|
|
684
728
|
}, React.createElement(Footnote, {
|
|
@@ -687,7 +731,7 @@ var DotsOnImage = function DotsOnImage(_ref) {
|
|
|
687
731
|
show: false
|
|
688
732
|
});
|
|
689
733
|
}
|
|
690
|
-
}, React.createElement("h3", null, popover.title), React.createElement("div", {
|
|
734
|
+
}, popover.title && React.createElement("h3", null, popover.title), React.createElement("div", {
|
|
691
735
|
dangerouslySetInnerHTML: {
|
|
692
736
|
__html: popover.body
|
|
693
737
|
}
|
|
@@ -697,11 +741,11 @@ var DotsOnImage = function DotsOnImage(_ref) {
|
|
|
697
741
|
show: false
|
|
698
742
|
});
|
|
699
743
|
}
|
|
700
|
-
}, React.createElement("h3", null, popover.title), React.createElement("div", {
|
|
744
|
+
}, popover.title && React.createElement("h3", null, popover.title), React.createElement("div", {
|
|
701
745
|
dangerouslySetInnerHTML: {
|
|
702
746
|
__html: popover.body
|
|
703
747
|
}
|
|
704
|
-
}))));
|
|
748
|
+
})))));
|
|
705
749
|
};
|
|
706
750
|
|
|
707
751
|
var makeStyleContext = function makeStyleContext(classNames, styleContext, styles) {
|
|
@@ -1150,7 +1194,7 @@ var EmbedBlock = function EmbedBlock(_ref) {
|
|
|
1150
1194
|
var style = {};
|
|
1151
1195
|
var isProportional = block.data.height && block.data.width;
|
|
1152
1196
|
var fullWidthProviders = ['youtube', 'vimeo', 'onetv', 'coub', 'facebook_video'];
|
|
1153
|
-
var mobileFullwidth = fullWidthProviders.indexOf(provider) || block.type === 'dots_on_image';
|
|
1197
|
+
var mobileFullwidth = fullWidthProviders.indexOf(provider) > -1 || block.type === 'dots_on_image';
|
|
1154
1198
|
|
|
1155
1199
|
var renderCC = function renderCC(context) {
|
|
1156
1200
|
return React.createElement(MediaCaption, {
|