@pareto-engineering/design-system 2.0.0-alpha.30 → 2.0.0-alpha.34
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/cjs/a/ContentTree/ContentTree.js +83 -0
- package/dist/cjs/a/ContentTree/common/Tree/Tree.js +116 -0
- package/dist/cjs/a/ContentTree/common/Tree/index.js +15 -0
- package/dist/cjs/a/ContentTree/common/index.js +31 -0
- package/dist/cjs/a/ContentTree/common/useContentTree.js +82 -0
- package/dist/cjs/a/ContentTree/common/useFirstVisibleNode.js +65 -0
- package/dist/cjs/a/ContentTree/index.js +15 -0
- package/dist/cjs/a/ContentTree/styles.scss +33 -0
- package/dist/cjs/a/GradientBackground/GradientBackground.js +140 -0
- package/dist/cjs/a/GradientBackground/index.js +15 -0
- package/dist/cjs/a/GradientBackground/styles.scss +191 -0
- package/dist/cjs/a/SVG/SVG.js +3 -9
- package/dist/cjs/a/index.js +9 -1
- package/dist/cjs/c/AcceptCookies/AcceptCookies.js +134 -0
- package/dist/cjs/c/AcceptCookies/index.js +15 -0
- package/dist/cjs/c/AcceptCookies/styles.scss +49 -0
- package/dist/cjs/c/BlogCategoryButton/BlogCategoryButton.js +95 -0
- package/dist/cjs/c/BlogCategoryButton/index.js +15 -0
- package/dist/cjs/c/BlogContext/BlogContextProvider.js +63 -0
- package/dist/cjs/c/BlogContext/Context.js +16 -0
- package/dist/cjs/c/BlogContext/ContextProvider.js +63 -0
- package/dist/cjs/c/BlogContext/index.js +31 -0
- package/dist/cjs/c/BlogContext/useBlog.js +16 -0
- package/dist/cjs/c/BlogPost/BlogPost.js +147 -0
- package/dist/cjs/c/BlogPost/index.js +15 -0
- package/dist/cjs/c/BlogPost/styles.scss +33 -0
- package/dist/cjs/c/BlogPostsList/BlogPostsList.js +73 -0
- package/dist/cjs/c/BlogPostsList/common/Card/Card.js +170 -0
- package/dist/cjs/c/BlogPostsList/common/Card/index.js +15 -0
- package/dist/cjs/c/BlogPostsList/common/index.js +13 -0
- package/dist/cjs/c/BlogPostsList/index.js +15 -0
- package/dist/cjs/c/BlogPostsList/styles.scss +72 -0
- package/dist/cjs/c/ContentSlides/common/HorizontalMenu/HorizontalMenu.js +1 -1
- package/dist/cjs/c/SiteFooter/SiteFooter.js +73 -0
- package/dist/cjs/c/SiteFooter/common/Section/Section.js +95 -0
- package/dist/cjs/c/SiteFooter/common/Section/index.js +15 -0
- package/dist/cjs/c/SiteFooter/common/index.js +13 -0
- package/dist/cjs/c/SiteFooter/index.js +15 -0
- package/dist/cjs/c/SiteFooter/styles.scss +34 -0
- package/dist/cjs/c/SiteHeaderCTA/SiteHeaderCTA.js +108 -0
- package/dist/cjs/c/SiteHeaderCTA/index.js +15 -0
- package/dist/cjs/c/SiteHeaderCTA/styles.scss +44 -0
- package/dist/cjs/c/SiteMission/SiteMission.js +113 -0
- package/dist/cjs/c/SiteMission/index.js +15 -0
- package/dist/cjs/c/SiteMission/styles.scss +30 -0
- package/dist/cjs/c/SiteNavigation/SiteNavigation.js +130 -0
- package/dist/cjs/c/SiteNavigation/index.js +15 -0
- package/dist/cjs/c/SiteNavigation/styles.scss +118 -0
- package/dist/cjs/c/SiteOnboardingStep/SiteOnboardingStep.js +98 -0
- package/dist/cjs/c/SiteOnboardingStep/index.js +15 -0
- package/dist/cjs/c/SiteOnboardingStep/styles.scss +51 -0
- package/dist/cjs/c/SitePricing/SitePricing.js +108 -0
- package/dist/cjs/c/SitePricing/index.js +15 -0
- package/dist/cjs/c/SitePricing/styles.scss +73 -0
- package/dist/cjs/c/SiteServices/SiteServices.js +211 -0
- package/dist/cjs/c/SiteServices/index.js +15 -0
- package/dist/cjs/c/SiteServices/styles.scss +138 -0
- package/dist/cjs/c/TeamGallery/TeamGallery.js +80 -0
- package/dist/cjs/c/TeamGallery/common/PersonCard/PersonCard.js +84 -0
- package/dist/cjs/c/TeamGallery/common/PersonCard/index.js +15 -0
- package/dist/cjs/c/TeamGallery/common/index.js +13 -0
- package/dist/cjs/c/TeamGallery/index.js +15 -0
- package/dist/cjs/c/TeamGallery/styles.scss +100 -0
- package/dist/cjs/c/Testimonials/Testimonials.js +119 -0
- package/dist/cjs/c/Testimonials/index.js +15 -0
- package/dist/cjs/c/Testimonials/styles.scss +112 -0
- package/dist/cjs/experimental/GradientBackground/GradientBackground.js +98 -0
- package/dist/cjs/experimental/GradientBackground/index.js +15 -0
- package/dist/cjs/experimental/GradientBackground/styles.scss +64 -0
- package/dist/cjs/experimental/index.js +13 -0
- package/dist/cjs/f/fields/CheckboxInput/CheckboxInput.js +105 -0
- package/dist/cjs/f/fields/CheckboxInput/index.js +15 -0
- package/dist/cjs/f/fields/CheckboxInput/styles.scss +28 -0
- package/dist/cjs/f/fields/RadioInput/RadioInput.js +110 -0
- package/dist/cjs/f/fields/RadioInput/index.js +15 -0
- package/dist/cjs/f/fields/RadioInput/styles.scss +26 -0
- package/dist/cjs/f/fields/TaskRecommendation/TaskRecommendation.js +129 -0
- package/dist/cjs/f/fields/TaskRecommendation/index.js +15 -0
- package/dist/cjs/f/fields/TaskRecommendation/styles.scss +37 -0
- package/dist/cjs/f/fields/TaskRecommendationInput/TaskRecommendationInput.js +131 -0
- package/dist/cjs/f/fields/TaskRecommendationInput/index.js +15 -0
- package/dist/cjs/f/fields/TaskRecommendationInput/styles.scss +41 -0
- package/dist/cjs/f/fields/TextArea/TextArea.js +141 -0
- package/dist/cjs/f/fields/TextArea/index.js +15 -0
- package/dist/cjs/f/fields/TextArea/styles.scss +19 -0
- package/dist/es/a/ContentTree/ContentTree.js +67 -0
- package/dist/es/a/ContentTree/common/Tree/Tree.js +98 -0
- package/dist/es/a/ContentTree/common/Tree/index.js +2 -0
- package/dist/es/a/ContentTree/common/index.js +3 -0
- package/dist/es/a/ContentTree/common/useContentTree.js +74 -0
- package/dist/es/a/ContentTree/common/useFirstVisibleNode.js +54 -0
- package/dist/es/a/ContentTree/index.js +2 -0
- package/dist/es/a/ContentTree/styles.scss +33 -0
- package/dist/es/a/GradientBackground/GradientBackground.js +118 -0
- package/dist/es/a/GradientBackground/index.js +2 -0
- package/dist/es/a/GradientBackground/styles.scss +191 -0
- package/dist/es/a/SVG/SVG.js +1 -1
- package/dist/es/a/index.js +2 -1
- package/dist/es/c/AcceptCookies/AcceptCookies.js +117 -0
- package/dist/es/c/AcceptCookies/index.js +2 -0
- package/dist/es/c/AcceptCookies/styles.scss +49 -0
- package/dist/es/c/BlogCategoryButton/BlogCategoryButton.js +68 -0
- package/dist/es/c/BlogCategoryButton/index.js +2 -0
- package/dist/es/c/BlogContext/BlogContextProvider.js +45 -0
- package/dist/es/c/BlogContext/Context.js +2 -0
- package/dist/es/c/BlogContext/ContextProvider.js +45 -0
- package/dist/es/c/BlogContext/index.js +4 -0
- package/dist/es/c/BlogContext/useBlog.js +3 -0
- package/dist/es/c/BlogPost/BlogPost.js +128 -0
- package/dist/es/c/BlogPost/index.js +2 -0
- package/dist/es/c/BlogPost/styles.scss +33 -0
- package/dist/es/c/BlogPostsList/BlogPostsList.js +56 -0
- package/dist/es/c/BlogPostsList/common/Card/Card.js +143 -0
- package/dist/es/c/BlogPostsList/common/Card/index.js +2 -0
- package/dist/es/c/BlogPostsList/common/index.js +1 -0
- package/dist/es/c/BlogPostsList/index.js +2 -0
- package/dist/es/c/BlogPostsList/styles.scss +72 -0
- package/dist/es/c/ContentSlides/common/HorizontalMenu/HorizontalMenu.js +1 -1
- package/dist/es/c/SiteFooter/SiteFooter.js +56 -0
- package/dist/es/c/SiteFooter/common/Section/Section.js +73 -0
- package/dist/es/c/SiteFooter/common/Section/index.js +2 -0
- package/dist/es/c/SiteFooter/common/index.js +1 -0
- package/dist/es/c/SiteFooter/index.js +2 -0
- package/dist/es/c/SiteFooter/styles.scss +34 -0
- package/dist/es/c/SiteHeaderCTA/SiteHeaderCTA.js +92 -0
- package/dist/es/c/SiteHeaderCTA/index.js +2 -0
- package/dist/es/c/SiteHeaderCTA/styles.scss +44 -0
- package/dist/es/c/SiteMission/SiteMission.js +96 -0
- package/dist/es/c/SiteMission/index.js +2 -0
- package/dist/es/c/SiteMission/styles.scss +30 -0
- package/dist/es/c/SiteNavigation/SiteNavigation.js +111 -0
- package/dist/es/c/SiteNavigation/index.js +2 -0
- package/dist/es/c/SiteNavigation/styles.scss +118 -0
- package/dist/es/c/SiteOnboardingStep/SiteOnboardingStep.js +81 -0
- package/dist/es/c/SiteOnboardingStep/index.js +2 -0
- package/dist/es/c/SiteOnboardingStep/styles.scss +51 -0
- package/dist/es/c/SitePricing/SitePricing.js +91 -0
- package/dist/es/c/SitePricing/index.js +2 -0
- package/dist/es/c/SitePricing/styles.scss +73 -0
- package/dist/es/c/SiteServices/SiteServices.js +195 -0
- package/dist/es/c/SiteServices/index.js +2 -0
- package/dist/es/c/SiteServices/styles.scss +138 -0
- package/dist/es/c/TeamGallery/TeamGallery.js +64 -0
- package/dist/es/c/TeamGallery/common/PersonCard/PersonCard.js +64 -0
- package/dist/es/c/TeamGallery/common/PersonCard/index.js +2 -0
- package/dist/es/c/TeamGallery/common/index.js +1 -0
- package/dist/es/c/TeamGallery/index.js +2 -0
- package/dist/es/c/TeamGallery/styles.scss +100 -0
- package/dist/es/c/Testimonials/Testimonials.js +99 -0
- package/dist/es/c/Testimonials/index.js +2 -0
- package/dist/es/c/Testimonials/styles.scss +112 -0
- package/dist/es/experimental/GradientBackground/GradientBackground.js +76 -0
- package/dist/es/experimental/GradientBackground/index.js +2 -0
- package/dist/es/experimental/GradientBackground/styles.scss +64 -0
- package/dist/es/experimental/index.js +1 -0
- package/dist/es/f/fields/CheckboxInput/CheckboxInput.js +85 -0
- package/dist/es/f/fields/CheckboxInput/index.js +2 -0
- package/dist/es/f/fields/CheckboxInput/styles.scss +28 -0
- package/dist/es/f/fields/RadioInput/RadioInput.js +90 -0
- package/dist/es/f/fields/RadioInput/index.js +2 -0
- package/dist/es/f/fields/RadioInput/styles.scss +26 -0
- package/dist/es/f/fields/TaskRecommendation/TaskRecommendation.js +111 -0
- package/dist/es/f/fields/TaskRecommendation/index.js +2 -0
- package/dist/es/f/fields/TaskRecommendation/styles.scss +37 -0
- package/dist/es/f/fields/TaskRecommendationInput/TaskRecommendationInput.js +111 -0
- package/dist/es/f/fields/TaskRecommendationInput/index.js +2 -0
- package/dist/es/f/fields/TaskRecommendationInput/styles.scss +41 -0
- package/dist/es/f/fields/TextArea/TextArea.js +124 -0
- package/dist/es/f/fields/TextArea/index.js +2 -0
- package/dist/es/f/fields/TextArea/styles.scss +19 -0
- package/package.json +3 -2
- package/src/__snapshots__/Storyshots.test.js.snap +167 -12
- package/src/local.scss +1 -0
- package/src/stories/StyleGuide/Sprites.stories.mdx +25 -0
- package/src/stories/StyleGuide/helpers.js +16 -0
- package/src/stories/a/ContentTree.stories.jsx +662 -0
- package/src/ui/a/ContentTree/ContentTree.jsx +88 -0
- package/src/ui/a/ContentTree/common/Tree/Tree.jsx +138 -0
- package/src/ui/a/ContentTree/common/Tree/index.js +2 -0
- package/src/ui/a/ContentTree/common/index.js +3 -0
- package/src/ui/a/ContentTree/common/useContentTree.js +83 -0
- package/src/ui/a/ContentTree/common/useFirstVisibleNode.js +59 -0
- package/src/ui/a/ContentTree/index.js +2 -0
- package/src/ui/a/ContentTree/styles.scss +33 -0
- package/src/ui/a/SVG/SVG.jsx +1 -1
- package/src/ui/a/index.js +1 -0
- package/src/ui/c/ContentSlides/common/HorizontalMenu/HorizontalMenu.jsx +1 -1
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var React = _interopRequireWildcard(require("react"));
|
|
9
|
+
|
|
10
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
|
+
|
|
12
|
+
var _bem = _interopRequireDefault(require("@pareto-engineering/bem"));
|
|
13
|
+
|
|
14
|
+
var _common = require("./common");
|
|
15
|
+
|
|
16
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
17
|
+
|
|
18
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
19
|
+
|
|
20
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
21
|
+
|
|
22
|
+
var baseClassName = _bem.default.base;
|
|
23
|
+
var componentClassName = 'content-tree';
|
|
24
|
+
/**
|
|
25
|
+
* This is the component description.
|
|
26
|
+
*/
|
|
27
|
+
|
|
28
|
+
var ContentTree = _ref => {
|
|
29
|
+
var {
|
|
30
|
+
id,
|
|
31
|
+
className: userClassName,
|
|
32
|
+
style,
|
|
33
|
+
target,
|
|
34
|
+
selectors // ...otherProps
|
|
35
|
+
|
|
36
|
+
} = _ref;
|
|
37
|
+
(0, React.useLayoutEffect)(() => {
|
|
38
|
+
Promise.resolve().then(() => _interopRequireWildcard(require("./styles.scss")));
|
|
39
|
+
}, []);
|
|
40
|
+
var contentTree = (0, _common.useContentTree)(target, selectors);
|
|
41
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
42
|
+
id: id,
|
|
43
|
+
className: [baseClassName, componentClassName, userClassName].filter(e => e).join(' '),
|
|
44
|
+
style: style // {...otherProps}
|
|
45
|
+
|
|
46
|
+
}, /*#__PURE__*/React.createElement(_common.Tree, {
|
|
47
|
+
tree: contentTree
|
|
48
|
+
}));
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
ContentTree.propTypes = {
|
|
52
|
+
/**
|
|
53
|
+
* The HTML id for this element
|
|
54
|
+
*/
|
|
55
|
+
id: _propTypes.default.string,
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* The HTML class names for this element
|
|
59
|
+
*/
|
|
60
|
+
className: _propTypes.default.string,
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* The React-written, css properties for this element.
|
|
64
|
+
*/
|
|
65
|
+
style: _propTypes.default.objectOf(_propTypes.default.string),
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* The selectors to use to extract the navigation tree from the content.
|
|
69
|
+
*/
|
|
70
|
+
selectors: _propTypes.default.arrayOf(_propTypes.default.string),
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* The reference to the parent element.
|
|
74
|
+
*/
|
|
75
|
+
target: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.shape({
|
|
76
|
+
current: _propTypes.default.instanceOf(Element)
|
|
77
|
+
})])
|
|
78
|
+
};
|
|
79
|
+
ContentTree.defaultProps = {
|
|
80
|
+
selectors: ['h2', 'h3']
|
|
81
|
+
};
|
|
82
|
+
var _default = ContentTree;
|
|
83
|
+
exports.default = _default;
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var React = _interopRequireWildcard(require("react"));
|
|
9
|
+
|
|
10
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
|
+
|
|
12
|
+
var _bem = _interopRequireDefault(require("@pareto-engineering/bem"));
|
|
13
|
+
|
|
14
|
+
var _useFirstVisibleNode = _interopRequireDefault(require("../useFirstVisibleNode"));
|
|
15
|
+
|
|
16
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
17
|
+
|
|
18
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
19
|
+
|
|
20
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
21
|
+
|
|
22
|
+
/* @pareto-engineering/generator-front 1.0.12 */
|
|
23
|
+
// Local Definitions
|
|
24
|
+
var baseClassName = _bem.default.base;
|
|
25
|
+
var componentClassName = 'tree';
|
|
26
|
+
/**
|
|
27
|
+
* This is the component description.
|
|
28
|
+
*/
|
|
29
|
+
|
|
30
|
+
var Tree = _ref => {
|
|
31
|
+
var {
|
|
32
|
+
id,
|
|
33
|
+
className: userClassName,
|
|
34
|
+
style,
|
|
35
|
+
tree,
|
|
36
|
+
displayDepth // ...otherProps
|
|
37
|
+
|
|
38
|
+
} = _ref;
|
|
39
|
+
// The nodeIds to be used to get the first visible node
|
|
40
|
+
var [nodeIds, setNodeIds] = (0, React.useState)([]); // current visible nodeId
|
|
41
|
+
|
|
42
|
+
var visibleNodeId = (0, _useFirstVisibleNode.default)(nodeIds);
|
|
43
|
+
(0, React.useEffect)(() => {
|
|
44
|
+
var node = document.getElementsByClassName(visibleNodeId)[0];
|
|
45
|
+
node === null || node === void 0 ? void 0 : node.classList.add(_bem.default.modifierActive);
|
|
46
|
+
return () => {
|
|
47
|
+
node === null || node === void 0 ? void 0 : node.classList.remove(_bem.default.modifierActive);
|
|
48
|
+
};
|
|
49
|
+
}, [visibleNodeId]); // Generate the tree structure from the content tree data depending on the display depth
|
|
50
|
+
|
|
51
|
+
var getNestedTree = (node, depth) => {
|
|
52
|
+
setNodeIds(prev => [...prev, node.id]);
|
|
53
|
+
|
|
54
|
+
if (depth <= 1) {
|
|
55
|
+
return /*#__PURE__*/React.createElement("li", {
|
|
56
|
+
key: node.id
|
|
57
|
+
}, /*#__PURE__*/React.createElement("a", {
|
|
58
|
+
className: node.id,
|
|
59
|
+
href: node.id
|
|
60
|
+
}, node.text));
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
return /*#__PURE__*/React.createElement("li", {
|
|
64
|
+
key: node.id
|
|
65
|
+
}, /*#__PURE__*/React.createElement("p", null, /*#__PURE__*/React.createElement("a", {
|
|
66
|
+
href: node.id,
|
|
67
|
+
className: node.id
|
|
68
|
+
}, node.text)), node.children.length > 0 && /*#__PURE__*/React.createElement("ul", null, node.children.map(child => getNestedTree(child, depth - 1))));
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
var ContentTree = (0, React.useMemo)(() => tree.map(node => getNestedTree(node, displayDepth)), [tree]);
|
|
72
|
+
return /*#__PURE__*/React.createElement("ul", {
|
|
73
|
+
id: id,
|
|
74
|
+
className: [baseClassName, componentClassName, userClassName].filter(e => e).join(' '),
|
|
75
|
+
style: style
|
|
76
|
+
}, ContentTree);
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
Tree.propTypes = {
|
|
80
|
+
/**
|
|
81
|
+
* The HTML id for this element
|
|
82
|
+
*/
|
|
83
|
+
id: _propTypes.default.string,
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* The HTML class names for this element
|
|
87
|
+
*/
|
|
88
|
+
className: _propTypes.default.string,
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* The React-written, css properties for this element.
|
|
92
|
+
*/
|
|
93
|
+
style: _propTypes.default.objectOf(_propTypes.default.string),
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* The tree to render.
|
|
97
|
+
*/
|
|
98
|
+
tree: _propTypes.default.arrayOf(_propTypes.default.shape({
|
|
99
|
+
text: _propTypes.default.string,
|
|
100
|
+
id: _propTypes.default.string,
|
|
101
|
+
children: _propTypes.default.arrayOf(_propTypes.default.shape({
|
|
102
|
+
text: _propTypes.default.string,
|
|
103
|
+
id: _propTypes.default.string
|
|
104
|
+
}))
|
|
105
|
+
})),
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* The levels of the tree to display.
|
|
109
|
+
*/
|
|
110
|
+
displayDepth: _propTypes.default.number
|
|
111
|
+
};
|
|
112
|
+
Tree.defaultProps = {
|
|
113
|
+
displayDepth: 4
|
|
114
|
+
};
|
|
115
|
+
var _default = Tree;
|
|
116
|
+
exports.default = _default;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "Tree", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function get() {
|
|
9
|
+
return _Tree.default;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
|
|
13
|
+
var _Tree = _interopRequireDefault(require("./Tree"));
|
|
14
|
+
|
|
15
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "useContentTree", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function get() {
|
|
9
|
+
return _useContentTree.default;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
Object.defineProperty(exports, "useFirstVisibleNode", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function get() {
|
|
15
|
+
return _useFirstVisibleNode.default;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
Object.defineProperty(exports, "Tree", {
|
|
19
|
+
enumerable: true,
|
|
20
|
+
get: function get() {
|
|
21
|
+
return _Tree.Tree;
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
var _useContentTree = _interopRequireDefault(require("./useContentTree"));
|
|
26
|
+
|
|
27
|
+
var _useFirstVisibleNode = _interopRequireDefault(require("./useFirstVisibleNode"));
|
|
28
|
+
|
|
29
|
+
var _Tree = require("./Tree");
|
|
30
|
+
|
|
31
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _react = require("react");
|
|
9
|
+
|
|
10
|
+
var useContentTree = (target, selectors) => {
|
|
11
|
+
var [contentTree, setContentTree] = (0, _react.useState)([]);
|
|
12
|
+
var getNodes = (0, _react.useCallback)(parentTag => {
|
|
13
|
+
var nodeList = parentTag.querySelectorAll(selectors.join(', '));
|
|
14
|
+
var nodes = [];
|
|
15
|
+
nodeList.forEach(nodeNode => {
|
|
16
|
+
var {
|
|
17
|
+
id,
|
|
18
|
+
innerText,
|
|
19
|
+
tagName
|
|
20
|
+
} = nodeNode;
|
|
21
|
+
nodes.push({
|
|
22
|
+
id: "#".concat(id),
|
|
23
|
+
text: innerText,
|
|
24
|
+
level: selectors.indexOf(tagName.toLowerCase())
|
|
25
|
+
});
|
|
26
|
+
});
|
|
27
|
+
return nodes;
|
|
28
|
+
}, [selectors]);
|
|
29
|
+
var buildTree = (0, _react.useCallback)(nodes => {
|
|
30
|
+
// Track the nodes we've seen so far in the same level
|
|
31
|
+
var currentSameLevelNodes = []; // Track nodes of the next level which will be children of the current node
|
|
32
|
+
|
|
33
|
+
var nextLevelNodes = []; // Track the current node level
|
|
34
|
+
|
|
35
|
+
var lastLevel = -1; // If the nodes are empty, return an empty tree
|
|
36
|
+
|
|
37
|
+
if (nodes.length === 0) {
|
|
38
|
+
return [];
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
var buildSubTree = () => {
|
|
42
|
+
if (nextLevelNodes.length > 0) {
|
|
43
|
+
currentSameLevelNodes[currentSameLevelNodes.length - 1].children.push(...buildTree(nextLevelNodes));
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
nodes.forEach(node => {
|
|
48
|
+
// If the node is of a greater level, we need to build the sub tree
|
|
49
|
+
if (lastLevel !== -1 && lastLevel < node.level) {
|
|
50
|
+
nextLevelNodes.push(node);
|
|
51
|
+
return;
|
|
52
|
+
} // build a subtree
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
buildSubTree(); // reset the next level nodes
|
|
56
|
+
|
|
57
|
+
lastLevel = node.level; // add the current node to the current level nodes
|
|
58
|
+
|
|
59
|
+
currentSameLevelNodes.push({
|
|
60
|
+
id: node.id,
|
|
61
|
+
text: node.text,
|
|
62
|
+
children: []
|
|
63
|
+
}); // reset the next level nodes after building the subtree
|
|
64
|
+
|
|
65
|
+
nextLevelNodes = [];
|
|
66
|
+
}); // build subtree
|
|
67
|
+
|
|
68
|
+
buildSubTree();
|
|
69
|
+
return currentSameLevelNodes;
|
|
70
|
+
}, []);
|
|
71
|
+
(0, _react.useEffect)(() => {
|
|
72
|
+
if (target.current) {
|
|
73
|
+
var nodes = getNodes(target.current);
|
|
74
|
+
var tree = buildTree(nodes);
|
|
75
|
+
setContentTree(tree);
|
|
76
|
+
}
|
|
77
|
+
}, [target.current]);
|
|
78
|
+
return contentTree;
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
var _default = useContentTree;
|
|
82
|
+
exports.default = _default;
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _react = require("react");
|
|
9
|
+
|
|
10
|
+
var _debounce = _interopRequireDefault(require("lodash/debounce"));
|
|
11
|
+
|
|
12
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
|
+
|
|
14
|
+
var useFirstVisibleNode = (nodeIds, config) => {
|
|
15
|
+
var [visibleNodeId, setVisibleNodeId] = (0, _react.useState)(null);
|
|
16
|
+
var {
|
|
17
|
+
debounceMs = 25
|
|
18
|
+
} = config || {}; // get headlines nodes - Should only be recalculated when the ids change
|
|
19
|
+
|
|
20
|
+
var nodes = (0, _react.useMemo)(() => {
|
|
21
|
+
if ((nodeIds === null || nodeIds === void 0 ? void 0 : nodeIds.length) > 0) {
|
|
22
|
+
return Array.from(document.querySelectorAll(nodeIds.join(',')));
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
return [];
|
|
26
|
+
}, [nodeIds]);
|
|
27
|
+
var getVisibleNodeId = (0, _react.useCallback)((0, _debounce.default)(() => {
|
|
28
|
+
var _visibleNode$node;
|
|
29
|
+
|
|
30
|
+
// Get the top postion of each headline node relative to the viewport
|
|
31
|
+
var topOffsets = nodes.map(node => node.getBoundingClientRect().top); // Get the node closer to zero (the top of the viewport)
|
|
32
|
+
// We have the default offset as Infinity so it's always greater that the first node Y position
|
|
33
|
+
|
|
34
|
+
var visibleNode = topOffsets.reduce((prev, currentOffset, currentIndex) => {
|
|
35
|
+
var node = Math.abs(currentOffset - 0) < Math.abs(prev.offset - 0) ? {
|
|
36
|
+
node: nodes[currentIndex],
|
|
37
|
+
offset: currentOffset
|
|
38
|
+
} : prev;
|
|
39
|
+
return node;
|
|
40
|
+
}, {
|
|
41
|
+
node: nodes[0],
|
|
42
|
+
offset: Infinity
|
|
43
|
+
}); // Set the visible node id
|
|
44
|
+
|
|
45
|
+
setVisibleNodeId("#".concat(visibleNode === null || visibleNode === void 0 ? void 0 : (_visibleNode$node = visibleNode.node) === null || _visibleNode$node === void 0 ? void 0 : _visibleNode$node.id));
|
|
46
|
+
}, debounceMs), [nodes]); // Recalculate the visible node id when the page is scrolled
|
|
47
|
+
|
|
48
|
+
(0, _react.useEffect)(() => {
|
|
49
|
+
window.addEventListener('scroll', getVisibleNodeId);
|
|
50
|
+
return () => {
|
|
51
|
+
window.removeEventListener('scroll', getVisibleNodeId);
|
|
52
|
+
};
|
|
53
|
+
}, [getVisibleNodeId]); // Recalculate the visible node id when the page is resized
|
|
54
|
+
|
|
55
|
+
(0, _react.useEffect)(() => {
|
|
56
|
+
window.addEventListener('resize', getVisibleNodeId);
|
|
57
|
+
return () => {
|
|
58
|
+
window.removeEventListener('resize', getVisibleNodeId);
|
|
59
|
+
};
|
|
60
|
+
}, [getVisibleNodeId]);
|
|
61
|
+
return visibleNodeId;
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
var _default = useFirstVisibleNode;
|
|
65
|
+
exports.default = _default;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "ContentTree", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function get() {
|
|
9
|
+
return _ContentTree.default;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
|
|
13
|
+
var _ContentTree = _interopRequireDefault(require("./ContentTree"));
|
|
14
|
+
|
|
15
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/* @pareto-engineering/generator-front 1.0.12 */
|
|
2
|
+
@use "@pareto-engineering/bem";
|
|
3
|
+
|
|
4
|
+
$default-margin: 1em;
|
|
5
|
+
$default-padding: 1em;
|
|
6
|
+
|
|
7
|
+
.#{bem.$base}.content-tree{
|
|
8
|
+
|
|
9
|
+
ul {
|
|
10
|
+
list-style: none;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
.#{bem.$base}.tree {
|
|
14
|
+
position: sticky;
|
|
15
|
+
top: 0;
|
|
16
|
+
padding: 0;
|
|
17
|
+
|
|
18
|
+
.#{bem.$modifier-active} {
|
|
19
|
+
color: var(--main2);
|
|
20
|
+
transition: color 0.2s;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
li:not(:last-child) {
|
|
24
|
+
margin-bottom: $default-margin;
|
|
25
|
+
ul {
|
|
26
|
+
padding-left: $default-padding;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var React = _interopRequireWildcard(require("react"));
|
|
9
|
+
|
|
10
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
|
+
|
|
12
|
+
var _bem = _interopRequireDefault(require("@pareto-engineering/bem"));
|
|
13
|
+
|
|
14
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
|
+
|
|
16
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
17
|
+
|
|
18
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
19
|
+
|
|
20
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
21
|
+
|
|
22
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
23
|
+
|
|
24
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
25
|
+
|
|
26
|
+
// Local Definitions
|
|
27
|
+
var baseClassName = _bem.default.base;
|
|
28
|
+
var componentClassName = 'gradient-background';
|
|
29
|
+
/**
|
|
30
|
+
* This is the component description.
|
|
31
|
+
*/
|
|
32
|
+
|
|
33
|
+
var GradientBackground = _ref => {
|
|
34
|
+
var {
|
|
35
|
+
id,
|
|
36
|
+
className: userClassName,
|
|
37
|
+
style,
|
|
38
|
+
pin,
|
|
39
|
+
shape,
|
|
40
|
+
height,
|
|
41
|
+
width // ...otherProps
|
|
42
|
+
|
|
43
|
+
} = _ref;
|
|
44
|
+
(0, React.useLayoutEffect)(() => {
|
|
45
|
+
Promise.resolve().then(() => _interopRequireWildcard(require("./styles.scss")));
|
|
46
|
+
}, []);
|
|
47
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
48
|
+
id: id,
|
|
49
|
+
className: [baseClassName, componentClassName, userClassName].filter(e => e).join(' '),
|
|
50
|
+
style: _objectSpread(_objectSpread({}, style), {}, {
|
|
51
|
+
'--pin': pin,
|
|
52
|
+
'--height': height,
|
|
53
|
+
'--width': width
|
|
54
|
+
}) // {...otherProps}
|
|
55
|
+
|
|
56
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
57
|
+
className: "shapes"
|
|
58
|
+
}, shape === 'triangle' && /*#__PURE__*/React.createElement("div", {
|
|
59
|
+
className: "triangle"
|
|
60
|
+
}), shape === 'half-ellipses' && /*#__PURE__*/React.createElement("div", {
|
|
61
|
+
className: "half-ellipses"
|
|
62
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
63
|
+
className: "up"
|
|
64
|
+
}), /*#__PURE__*/React.createElement("div", {
|
|
65
|
+
className: "down"
|
|
66
|
+
})), shape === 'ellipse' && /*#__PURE__*/React.createElement("div", {
|
|
67
|
+
className: "ellipse"
|
|
68
|
+
}), shape === 'diamonds' && /*#__PURE__*/React.createElement("div", {
|
|
69
|
+
className: "diamonds"
|
|
70
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
71
|
+
className: "top-right"
|
|
72
|
+
}), /*#__PURE__*/React.createElement("div", {
|
|
73
|
+
className: "bottom-left"
|
|
74
|
+
}), /*#__PURE__*/React.createElement("div", {
|
|
75
|
+
className: "bottom-right"
|
|
76
|
+
})), shape === 'rectangles' && /*#__PURE__*/React.createElement("div", {
|
|
77
|
+
className: "rectangles"
|
|
78
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
79
|
+
className: "top"
|
|
80
|
+
}), /*#__PURE__*/React.createElement("div", {
|
|
81
|
+
className: "center"
|
|
82
|
+
}), /*#__PURE__*/React.createElement("div", {
|
|
83
|
+
className: "bottom"
|
|
84
|
+
})), shape === 'half-ellipse' && /*#__PURE__*/React.createElement("div", {
|
|
85
|
+
className: "half-ellipse"
|
|
86
|
+
}), shape === 'circle' && /*#__PURE__*/React.createElement("div", {
|
|
87
|
+
className: "circle"
|
|
88
|
+
}), shape === 'half-circle' && /*#__PURE__*/React.createElement("div", {
|
|
89
|
+
className: "half-circle"
|
|
90
|
+
}), shape === 'ellipses' && /*#__PURE__*/React.createElement("div", {
|
|
91
|
+
className: "ellipses"
|
|
92
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
93
|
+
className: "first"
|
|
94
|
+
}), /*#__PURE__*/React.createElement("div", {
|
|
95
|
+
className: "second"
|
|
96
|
+
})), shape === 'spiral' && /*#__PURE__*/React.createElement("div", {
|
|
97
|
+
className: "spiral"
|
|
98
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
99
|
+
className: "quater-circle-one"
|
|
100
|
+
}), /*#__PURE__*/React.createElement("div", {
|
|
101
|
+
className: "quater-circle-two"
|
|
102
|
+
}), /*#__PURE__*/React.createElement("div", {
|
|
103
|
+
className: "quater-circle-three"
|
|
104
|
+
}), /*#__PURE__*/React.createElement("div", {
|
|
105
|
+
className: "quater-circle-four"
|
|
106
|
+
}))));
|
|
107
|
+
};
|
|
108
|
+
|
|
109
|
+
GradientBackground.propTypes = {
|
|
110
|
+
/**
|
|
111
|
+
* The HTML id for this element
|
|
112
|
+
*/
|
|
113
|
+
id: _propTypes.default.string,
|
|
114
|
+
|
|
115
|
+
/**
|
|
116
|
+
* The HTML class names for this element
|
|
117
|
+
*/
|
|
118
|
+
className: _propTypes.default.string,
|
|
119
|
+
|
|
120
|
+
/**
|
|
121
|
+
* The React-written, css properties for this element.
|
|
122
|
+
*/
|
|
123
|
+
style: _propTypes.default.objectOf(_propTypes.default.string),
|
|
124
|
+
|
|
125
|
+
/**
|
|
126
|
+
* Where to pin the shapes
|
|
127
|
+
*/
|
|
128
|
+
pin: _propTypes.default.oneOf(['flex-start', 'center', 'flex-end']),
|
|
129
|
+
|
|
130
|
+
/**
|
|
131
|
+
* The options of a shape to use
|
|
132
|
+
*/
|
|
133
|
+
shape: _propTypes.default.oneOf(['triangle', 'ellipse', 'half-ellipse', 'half-ellipses', 'spiral', 'diamonds', 'circle', 'half-circle', 'ellipses', 'rectangles'])
|
|
134
|
+
};
|
|
135
|
+
GradientBackground.defaultProps = {
|
|
136
|
+
pin: 'center',
|
|
137
|
+
shape: 'triangle'
|
|
138
|
+
};
|
|
139
|
+
var _default = GradientBackground;
|
|
140
|
+
exports.default = _default;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "GradientBackground", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function get() {
|
|
9
|
+
return _GradientBackground.default;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
|
|
13
|
+
var _GradientBackground = _interopRequireDefault(require("./GradientBackground"));
|
|
14
|
+
|
|
15
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|