@pareto-engineering/design-system 2.0.0-alpha.4 → 2.0.0-alpha.42
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/BackgroundGradient/BackgroundGradient.js +77 -0
- package/dist/cjs/a/BackgroundGradient/index.js +15 -0
- package/dist/cjs/a/BackgroundGradient/styles.scss +16 -0
- 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/Conversation/Conversation.js +14 -8
- package/dist/cjs/a/Conversation/common/Message/Message.js +32 -6
- package/dist/cjs/a/Conversation/styles.scss +132 -33
- package/dist/cjs/a/OvalIllustration/OvalIllustration.js +133 -0
- package/dist/cjs/a/OvalIllustration/index.js +15 -0
- package/dist/cjs/a/OvalIllustration/styles.scss +102 -0
- package/dist/cjs/a/Popover/Popover.js +134 -0
- package/dist/cjs/a/Popover/common/Divider/Divider.js +67 -0
- package/dist/cjs/a/Popover/common/Divider/index.js +15 -0
- package/dist/cjs/a/Popover/common/Item/Item.js +67 -0
- package/dist/cjs/a/Popover/common/Item/index.js +15 -0
- package/dist/cjs/a/Popover/common/index.js +21 -0
- package/dist/cjs/a/Popover/index.js +15 -0
- package/dist/cjs/a/Popover/styles.scss +43 -0
- package/dist/cjs/a/Shapes/Shapes.js +39 -9
- package/dist/cjs/a/Shapes/styles.scss +78 -22
- package/dist/cjs/a/SnapScroller/SnapScroller.js +77 -0
- package/dist/cjs/a/SnapScroller/index.js +15 -0
- package/dist/cjs/a/SnapScroller/styles.scss +38 -0
- package/dist/cjs/a/index.js +49 -1
- package/dist/cjs/b/Button/Button.js +10 -4
- package/dist/cjs/b/Button/styles.scss +55 -10
- package/dist/cjs/b/Logo/Logo.js +41 -41
- package/dist/cjs/b/Logo/styles.scss +0 -138
- package/dist/cjs/b/Page/common/Section/Section.js +56 -5
- package/dist/cjs/b/Page/styles.scss +8 -2
- package/dist/cjs/c/ContentSlides/common/HorizontalMenu/HorizontalMenu.js +16 -9
- package/dist/cjs/c/ContentSlides/common/Navigator/Navigator.js +4 -3
- package/dist/cjs/c/ContentSlides/styles.scss +10 -4
- package/dist/cjs/c/SocialMediaShareButton/SocialMediaShareButton.js +105 -0
- package/dist/cjs/c/SocialMediaShareButton/index.js +15 -0
- package/dist/cjs/c/SocialMediaShareButton/styles.scss +39 -0
- package/dist/cjs/c/index.js +9 -1
- package/dist/cjs/f/common/Debugger/Debugger.js +1 -1
- package/dist/cjs/f/common/Label/Label.js +1 -1
- package/dist/cjs/f/common/Label/styles.scss +1 -1
- package/dist/cjs/f/fields/ChoicesInput/ChoicesInput.js +1 -1
- package/dist/cjs/f/fields/ChoicesInput/styles.scss +17 -2
- package/dist/cjs/f/fields/RatingsInput/RatingsInput.js +39 -6
- package/dist/cjs/f/fields/RatingsInput/styles.scss +29 -20
- package/dist/cjs/f/fields/SelectInput/SelectInput.js +36 -10
- package/dist/cjs/f/fields/SelectInput/styles.scss +13 -8
- package/dist/cjs/f/fields/TaskRecommendationInput/TaskRecommendationInput.js +1 -1
- package/dist/cjs/f/fields/TextInput/TextInput.js +35 -7
- package/dist/cjs/f/fields/TextInput/styles.scss +16 -7
- package/dist/cjs/f/fields/TextareaInput/TextareaInput.js +15 -8
- package/dist/cjs/f/fields/TextareaInput/styles.scss +19 -6
- package/dist/cjs/f/fields/index.js +0 -24
- package/dist/cjs/form-reset.scss +1 -1
- package/dist/cjs/index.js +13 -0
- package/dist/cjs/utils/hooks/index.js +23 -0
- package/dist/cjs/utils/hooks/useDynamicPosition.js +107 -0
- package/dist/cjs/utils/hooks/useWindowSize.js +39 -0
- package/dist/cjs/utils/index.js +19 -0
- package/dist/es/a/BackgroundGradient/BackgroundGradient.js +55 -0
- package/dist/es/a/BackgroundGradient/index.js +2 -0
- package/dist/es/a/BackgroundGradient/styles.scss +16 -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/Conversation/Conversation.js +14 -8
- package/dist/es/a/Conversation/common/Message/Message.js +32 -6
- package/dist/es/a/Conversation/styles.scss +132 -33
- package/dist/es/a/OvalIllustration/OvalIllustration.js +111 -0
- package/dist/es/a/OvalIllustration/index.js +2 -0
- package/dist/es/a/OvalIllustration/styles.scss +102 -0
- package/dist/es/a/Popover/Popover.js +118 -0
- package/dist/es/a/Popover/common/Divider/Divider.js +47 -0
- package/dist/es/a/Popover/common/Divider/index.js +2 -0
- package/dist/es/a/Popover/common/Item/Item.js +47 -0
- package/dist/es/a/Popover/common/Item/index.js +2 -0
- package/dist/es/a/Popover/common/index.js +2 -0
- package/dist/es/a/Popover/index.js +2 -0
- package/dist/es/a/Popover/styles.scss +43 -0
- package/dist/es/a/Shapes/Shapes.js +39 -9
- package/dist/es/a/Shapes/styles.scss +78 -22
- package/dist/es/a/SnapScroller/SnapScroller.js +61 -0
- package/dist/es/a/SnapScroller/index.js +2 -0
- package/dist/es/a/SnapScroller/styles.scss +38 -0
- package/dist/es/a/index.js +7 -1
- package/dist/es/b/Button/Button.js +8 -2
- package/dist/es/b/Button/styles.scss +55 -10
- package/dist/es/b/Logo/Logo.js +41 -41
- package/dist/es/b/Logo/styles.scss +0 -138
- package/dist/es/b/Page/common/Section/Section.js +55 -4
- package/dist/es/b/Page/styles.scss +8 -2
- package/dist/es/c/ContentSlides/common/HorizontalMenu/HorizontalMenu.js +16 -9
- package/dist/es/c/ContentSlides/common/Navigator/Navigator.js +4 -3
- package/dist/es/c/ContentSlides/styles.scss +10 -4
- package/dist/es/c/SocialMediaShareButton/SocialMediaShareButton.js +89 -0
- package/dist/es/c/SocialMediaShareButton/index.js +2 -0
- package/dist/es/c/SocialMediaShareButton/styles.scss +39 -0
- package/dist/es/c/index.js +2 -1
- package/dist/es/f/common/Debugger/Debugger.js +1 -1
- package/dist/es/f/common/Label/Label.js +1 -1
- package/dist/es/f/common/Label/styles.scss +1 -1
- package/dist/es/f/fields/ChoicesInput/ChoicesInput.js +1 -1
- package/dist/es/f/fields/ChoicesInput/styles.scss +17 -2
- package/dist/es/f/fields/RatingsInput/RatingsInput.js +38 -6
- package/dist/es/f/fields/RatingsInput/styles.scss +29 -20
- package/dist/es/f/fields/SelectInput/SelectInput.js +36 -10
- package/dist/es/f/fields/SelectInput/styles.scss +13 -8
- package/dist/es/f/fields/TaskRecommendationInput/TaskRecommendationInput.js +1 -1
- package/dist/es/f/fields/TextInput/TextInput.js +35 -7
- package/dist/es/f/fields/TextInput/styles.scss +16 -7
- package/dist/es/f/fields/TextareaInput/TextareaInput.js +15 -8
- package/dist/es/f/fields/TextareaInput/styles.scss +19 -6
- package/dist/es/f/fields/index.js +0 -3
- package/dist/es/form-reset.scss +1 -1
- package/dist/es/index.js +2 -1
- package/dist/es/utils/hooks/index.js +2 -0
- package/dist/es/utils/hooks/useDynamicPosition.js +93 -0
- package/dist/es/utils/hooks/useWindowSize.js +27 -0
- package/dist/es/utils/index.js +1 -0
- package/package.json +4 -3
- package/src/__snapshots__/Storyshots.test.js.snap +4755 -1734
- package/src/local.scss +2 -0
- package/src/stories/StyleGuide/Sprites.stories.mdx +25 -0
- package/src/stories/StyleGuide/helpers.js +16 -0
- package/src/stories/a/BackgroundGradient.stories.jsx +38 -0
- package/src/stories/a/ContentTree.stories.jsx +662 -0
- package/src/stories/a/Conversation.stories.jsx +78 -1
- package/src/stories/a/OvalIllustration.stories.jsx +59 -0
- package/src/stories/a/Popover.stories.jsx +106 -0
- package/src/stories/a/Shapes.stories.jsx +143 -0
- package/src/stories/a/SnapScroller.stories.jsx +98 -0
- package/src/stories/b/Button.stories.jsx +27 -4
- package/src/stories/b/Logo.stories.jsx +17 -9
- package/src/stories/b/Page.stories.jsx +51 -1
- package/src/stories/c/ContentSlides.stories.jsx +154 -2
- package/src/stories/c/SocialMediaShareButton.stories.jsx +25 -0
- package/src/stories/f/RatingsInput.stories.jsx +3 -2
- package/src/stories/f/SelectInput.stories.jsx +36 -5
- package/src/stories/f/TextInput.stories.jsx +15 -4
- package/src/stories/f/TextareaInput.stories.jsx +42 -6
- package/src/stories/utils/lorem.js +15 -0
- package/src/ui/a/BackgroundGradient/BackgroundGradient.jsx +76 -0
- package/src/ui/a/BackgroundGradient/index.js +2 -0
- package/src/ui/a/BackgroundGradient/styles.scss +16 -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/Conversation/Conversation.jsx +15 -7
- package/src/ui/a/Conversation/common/Message/Message.jsx +38 -6
- package/src/ui/a/Conversation/styles.scss +132 -33
- package/src/ui/a/OvalIllustration/OvalIllustration.jsx +134 -0
- package/src/ui/a/OvalIllustration/index.js +2 -0
- package/src/ui/a/OvalIllustration/styles.scss +102 -0
- package/src/ui/a/Popover/Popover.jsx +157 -0
- package/src/ui/a/Popover/index.js +2 -0
- package/src/ui/a/Popover/styles.scss +43 -0
- package/src/ui/a/Shapes/Shapes.jsx +191 -0
- package/src/ui/a/Shapes/index.js +2 -0
- package/src/ui/a/Shapes/styles.scss +255 -0
- package/src/ui/a/SnapScroller/SnapScroller.jsx +83 -0
- package/src/ui/a/SnapScroller/index.js +2 -0
- package/src/ui/a/SnapScroller/styles.scss +38 -0
- package/src/ui/a/index.js +6 -0
- package/src/ui/b/Button/Button.jsx +9 -1
- package/src/ui/b/Button/styles.scss +55 -10
- package/src/ui/b/Logo/Logo.jsx +41 -41
- package/src/ui/b/Logo/styles.scss +0 -138
- package/src/ui/b/Page/common/Section/Section.jsx +68 -2
- package/src/ui/b/Page/styles.scss +8 -2
- package/src/ui/c/ContentSlides/common/HorizontalMenu/HorizontalMenu.jsx +12 -5
- package/src/ui/c/ContentSlides/common/Navigator/Navigator.jsx +3 -2
- package/src/ui/c/ContentSlides/styles.scss +10 -4
- package/src/ui/c/SocialMediaShareButton/SocialMediaShareButton.jsx +113 -0
- package/src/ui/c/SocialMediaShareButton/index.js +2 -0
- package/src/ui/c/SocialMediaShareButton/styles.scss +39 -0
- package/src/ui/c/index.js +1 -0
- package/src/ui/f/common/Debugger/Debugger.jsx +1 -1
- package/src/ui/f/common/Label/Label.jsx +1 -1
- package/src/ui/f/common/Label/styles.scss +1 -1
- package/src/ui/f/fields/ChoicesInput/ChoicesInput.jsx +1 -1
- package/src/ui/f/fields/ChoicesInput/styles.scss +17 -2
- package/src/ui/f/fields/RatingsInput/RatingsInput.jsx +54 -19
- package/src/ui/f/fields/RatingsInput/styles.scss +29 -20
- package/src/ui/f/fields/SelectInput/SelectInput.jsx +43 -5
- package/src/ui/f/fields/SelectInput/styles.scss +13 -8
- package/src/ui/f/fields/TextInput/TextInput.jsx +31 -3
- package/src/ui/f/fields/TextInput/styles.scss +16 -7
- package/src/ui/f/fields/TextareaInput/TextareaInput.jsx +24 -13
- package/src/ui/f/fields/TextareaInput/styles.scss +19 -6
- package/src/ui/f/fields/index.js +0 -3
- package/src/ui/form-reset.scss +1 -1
- package/src/ui/index.js +1 -0
- package/src/ui/utils/hooks/index.js +2 -0
- package/src/ui/utils/hooks/useDynamicPosition.js +104 -0
- package/src/ui/utils/hooks/useWindowSize.js +32 -0
- package/src/ui/utils/index.js +1 -0
- package/stylelint.config.js +13 -13
- package/src/stories/f/CheckboxInput.stories.jsx +0 -37
- package/src/stories/f/RadioInput.stories.jsx +0 -37
- package/src/stories/f/TaskRecommendationInput.stories.jsx +0 -38
- package/src/ui/f/fields/CheckboxInput/CheckboxInput.jsx +0 -107
- package/src/ui/f/fields/CheckboxInput/index.js +0 -2
- package/src/ui/f/fields/CheckboxInput/styles.scss +0 -28
- package/src/ui/f/fields/RadioInput/RadioInput.jsx +0 -112
- package/src/ui/f/fields/RadioInput/index.js +0 -2
- package/src/ui/f/fields/RadioInput/styles.scss +0 -26
- package/src/ui/f/fields/TaskRecommendationInput/TaskRecommendationInput.jsx +0 -130
- package/src/ui/f/fields/TaskRecommendationInput/index.js +0 -2
- package/src/ui/f/fields/TaskRecommendationInput/styles.scss +0 -41
|
@@ -43,7 +43,8 @@ var TextareaInput = _ref => {
|
|
|
43
43
|
textAreaColor,
|
|
44
44
|
labelColor,
|
|
45
45
|
description,
|
|
46
|
-
disabled
|
|
46
|
+
disabled,
|
|
47
|
+
placeholder // ...otherProps
|
|
47
48
|
|
|
48
49
|
} = _ref;
|
|
49
50
|
(0, React.useLayoutEffect)(() => {
|
|
@@ -55,16 +56,18 @@ var TextareaInput = _ref => {
|
|
|
55
56
|
});
|
|
56
57
|
return /*#__PURE__*/React.createElement("div", {
|
|
57
58
|
id: id,
|
|
58
|
-
className: [baseClassName, componentClassName, userClassName, "
|
|
59
|
+
className: [baseClassName, componentClassName, userClassName, "y-".concat(textAreaColor)].filter(e => e).join(' '),
|
|
59
60
|
style: style // {...otherProps}
|
|
60
61
|
|
|
61
62
|
}, /*#__PURE__*/React.createElement(_common.FormLabel, {
|
|
62
|
-
className: [
|
|
63
|
-
name: name
|
|
63
|
+
className: [labelAsDescription ? 'md-s2 s0 v1 mb-v' : 'v50 mb-v'].filter(e => e).join(' '),
|
|
64
|
+
name: name,
|
|
65
|
+
color: labelColor
|
|
64
66
|
}, label), /*#__PURE__*/React.createElement("textarea", _extends({
|
|
65
67
|
id: textAreaId,
|
|
66
|
-
className: "textarea
|
|
68
|
+
className: "textarea"
|
|
67
69
|
}, field, {
|
|
70
|
+
placeholder: placeholder,
|
|
68
71
|
rows: rows,
|
|
69
72
|
disabled: disabled
|
|
70
73
|
})), (description || meta.touched && meta.error) && /*#__PURE__*/React.createElement(_common.FormDescription, {
|
|
@@ -137,12 +140,16 @@ TextareaInput.propTypes = {
|
|
|
137
140
|
/**
|
|
138
141
|
* Whether the text area should be disabled
|
|
139
142
|
*/
|
|
140
|
-
disabled: _propTypes.default.bool
|
|
143
|
+
disabled: _propTypes.default.bool,
|
|
144
|
+
|
|
145
|
+
/**
|
|
146
|
+
* The textarea placeholder text
|
|
147
|
+
*/
|
|
148
|
+
placeholder: _propTypes.default.string
|
|
141
149
|
};
|
|
142
150
|
TextareaInput.defaultProps = {
|
|
143
151
|
rows: 3,
|
|
144
|
-
textAreaColor: '
|
|
145
|
-
labelColor: 'main1',
|
|
152
|
+
textAreaColor: 'background2',
|
|
146
153
|
disabled: false
|
|
147
154
|
};
|
|
148
155
|
|
|
@@ -1,19 +1,32 @@
|
|
|
1
1
|
/* @pareto-engineering/generator-front 1.0.12 */
|
|
2
2
|
@use "@pareto-engineering/bem";
|
|
3
3
|
|
|
4
|
+
$default-padding: .5em;
|
|
5
|
+
|
|
4
6
|
.#{bem.$base}.text-area-input{
|
|
5
7
|
display: flex;
|
|
6
8
|
flex-direction: column;
|
|
7
9
|
|
|
8
10
|
.textarea {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
+
border: var(--theme-border-style) var(--dark-y);
|
|
12
|
+
background: var(--light-y);
|
|
13
|
+
color: var(--on-y);
|
|
14
|
+
padding: $default-padding;
|
|
11
15
|
|
|
12
|
-
|
|
13
|
-
|
|
16
|
+
&::placeholder{
|
|
17
|
+
color: var(--metadata);
|
|
14
18
|
}
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
19
|
|
|
20
|
+
&:not(:disabled):hover{
|
|
21
|
+
border: var(--theme-border-style) var(--light-background4);
|
|
22
|
+
}
|
|
18
23
|
|
|
24
|
+
&:disabled {
|
|
25
|
+
background-color: var(--dark-y);
|
|
26
|
+
}
|
|
19
27
|
|
|
28
|
+
&:focus {
|
|
29
|
+
background: var(--light-background4);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
@@ -15,24 +15,6 @@ Object.defineProperty(exports, "SelectInput", {
|
|
|
15
15
|
return _SelectInput.SelectInput;
|
|
16
16
|
}
|
|
17
17
|
});
|
|
18
|
-
Object.defineProperty(exports, "RadioInput", {
|
|
19
|
-
enumerable: true,
|
|
20
|
-
get: function get() {
|
|
21
|
-
return _RadioInput.RadioInput;
|
|
22
|
-
}
|
|
23
|
-
});
|
|
24
|
-
Object.defineProperty(exports, "CheckboxInput", {
|
|
25
|
-
enumerable: true,
|
|
26
|
-
get: function get() {
|
|
27
|
-
return _CheckboxInput.CheckboxInput;
|
|
28
|
-
}
|
|
29
|
-
});
|
|
30
|
-
Object.defineProperty(exports, "TaskRecommendationInput", {
|
|
31
|
-
enumerable: true,
|
|
32
|
-
get: function get() {
|
|
33
|
-
return _TaskRecommendationInput.TaskRecommendationInput;
|
|
34
|
-
}
|
|
35
|
-
});
|
|
36
18
|
Object.defineProperty(exports, "ChoicesInput", {
|
|
37
19
|
enumerable: true,
|
|
38
20
|
get: function get() {
|
|
@@ -56,12 +38,6 @@ var _TextInput = require("./TextInput");
|
|
|
56
38
|
|
|
57
39
|
var _SelectInput = require("./SelectInput");
|
|
58
40
|
|
|
59
|
-
var _RadioInput = require("./RadioInput");
|
|
60
|
-
|
|
61
|
-
var _CheckboxInput = require("./CheckboxInput");
|
|
62
|
-
|
|
63
|
-
var _TaskRecommendationInput = require("./TaskRecommendationInput");
|
|
64
|
-
|
|
65
41
|
var _ChoicesInput = require("./ChoicesInput");
|
|
66
42
|
|
|
67
43
|
var _TextareaInput = require("./TextareaInput");
|
package/dist/cjs/form-reset.scss
CHANGED
package/dist/cjs/index.js
CHANGED
|
@@ -80,4 +80,17 @@ Object.keys(_f).forEach(function (key) {
|
|
|
80
80
|
return _f[key];
|
|
81
81
|
}
|
|
82
82
|
});
|
|
83
|
+
});
|
|
84
|
+
|
|
85
|
+
var _utils = require("./utils");
|
|
86
|
+
|
|
87
|
+
Object.keys(_utils).forEach(function (key) {
|
|
88
|
+
if (key === "default" || key === "__esModule") return;
|
|
89
|
+
if (key in exports && exports[key] === _utils[key]) return;
|
|
90
|
+
Object.defineProperty(exports, key, {
|
|
91
|
+
enumerable: true,
|
|
92
|
+
get: function get() {
|
|
93
|
+
return _utils[key];
|
|
94
|
+
}
|
|
95
|
+
});
|
|
83
96
|
});
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "useWindowSize", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function get() {
|
|
9
|
+
return _useWindowSize.default;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
Object.defineProperty(exports, "useDynamicPosition", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function get() {
|
|
15
|
+
return _useDynamicPosition.default;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
var _useWindowSize = _interopRequireDefault(require("./useWindowSize"));
|
|
20
|
+
|
|
21
|
+
var _useDynamicPosition = _interopRequireDefault(require("./useDynamicPosition"));
|
|
22
|
+
|
|
23
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -0,0 +1,107 @@
|
|
|
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 _throttle = _interopRequireDefault(require("lodash/throttle"));
|
|
11
|
+
|
|
12
|
+
var _useWindowSize = _interopRequireDefault(require("./useWindowSize"));
|
|
13
|
+
|
|
14
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
|
+
|
|
16
|
+
var verticalPositions = ['top', 'bottom'];
|
|
17
|
+
var horizontalPositions = ['left', 'right'];
|
|
18
|
+
|
|
19
|
+
var findCompatiblePositions = (primary, secondaryArray) => {
|
|
20
|
+
if (verticalPositions.includes(primary)) {
|
|
21
|
+
return secondaryArray.filter(secondary => horizontalPositions.includes(secondary));
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
if (horizontalPositions.includes(primary)) {
|
|
25
|
+
return secondaryArray.filter(secondary => verticalPositions.includes(secondary));
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
return [];
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
var useDynamicPosition = _ref => {
|
|
32
|
+
var {
|
|
33
|
+
elementRef,
|
|
34
|
+
parentRef,
|
|
35
|
+
preferredPrimaryOrder,
|
|
36
|
+
preferredSecondaryOrder,
|
|
37
|
+
// offsetYPx,
|
|
38
|
+
offsetXPx,
|
|
39
|
+
throttleMs = 200
|
|
40
|
+
} = _ref;
|
|
41
|
+
var isClient = typeof window === 'object';
|
|
42
|
+
var {
|
|
43
|
+
height: currentHeight,
|
|
44
|
+
width: currentWidth
|
|
45
|
+
} = (0, _useWindowSize.default)();
|
|
46
|
+
var [primaryPosition, setPrimaryPosition] = (0, _react.useState)(preferredPrimaryOrder[0]);
|
|
47
|
+
var compatibleSecondaryPositions = (0, _react.useMemo)(() => findCompatiblePositions(primaryPosition, preferredSecondaryOrder), [primaryPosition, preferredSecondaryOrder]);
|
|
48
|
+
var [secondaryPosition, setSecondaryPosition] = (0, _react.useState)(compatibleSecondaryPositions[0]);
|
|
49
|
+
var handle = (0, _react.useCallback)((0, _throttle.default)(() => {
|
|
50
|
+
var parentNode = parentRef === null || parentRef === void 0 ? void 0 : parentRef.current;
|
|
51
|
+
var elementNode = elementRef === null || elementRef === void 0 ? void 0 : elementRef.current;
|
|
52
|
+
var {
|
|
53
|
+
top: parentTop,
|
|
54
|
+
bottom: parentBottom,
|
|
55
|
+
right: parentRight,
|
|
56
|
+
left: parentLeft
|
|
57
|
+
} = (parentNode === null || parentNode === void 0 ? void 0 : parentNode.getBoundingClientRect()) || {};
|
|
58
|
+
var {
|
|
59
|
+
width: elementWidth,
|
|
60
|
+
height: elementHeight
|
|
61
|
+
} = (elementNode === null || elementNode === void 0 ? void 0 : elementNode.getBoundingClientRect()) || {};
|
|
62
|
+
var availablePositions = {
|
|
63
|
+
top: parentTop >= elementHeight,
|
|
64
|
+
bottom: currentHeight - parentBottom >= elementHeight,
|
|
65
|
+
right: parentRight >= elementWidth,
|
|
66
|
+
left: currentWidth - parentLeft >= elementWidth
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
for (var i = 0; i < preferredPrimaryOrder.length; i += 1) {
|
|
70
|
+
var position = preferredPrimaryOrder[i];
|
|
71
|
+
|
|
72
|
+
if (availablePositions[position]) {
|
|
73
|
+
setPrimaryPosition(position);
|
|
74
|
+
break;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
for (var _i = 0; _i < compatibleSecondaryPositions.length; _i += 1) {
|
|
79
|
+
var _position = compatibleSecondaryPositions[_i];
|
|
80
|
+
|
|
81
|
+
if (availablePositions[_position]) {
|
|
82
|
+
setSecondaryPosition(_position);
|
|
83
|
+
break;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}, throttleMs), [elementRef, offsetXPx, throttleMs]);
|
|
87
|
+
(0, _react.useEffect)(() => {
|
|
88
|
+
if (!isClient) {
|
|
89
|
+
return false;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
handle();
|
|
93
|
+
window.addEventListener('scroll', handle);
|
|
94
|
+
window.addEventListener('resize', handle);
|
|
95
|
+
return () => {
|
|
96
|
+
window.removeEventListener('scroll', handle);
|
|
97
|
+
window.removeEventListener('resize', handle);
|
|
98
|
+
};
|
|
99
|
+
}, [handle]);
|
|
100
|
+
return {
|
|
101
|
+
primaryPosition,
|
|
102
|
+
secondaryPosition
|
|
103
|
+
};
|
|
104
|
+
};
|
|
105
|
+
|
|
106
|
+
var _default = useDynamicPosition;
|
|
107
|
+
exports.default = _default;
|
|
@@ -0,0 +1,39 @@
|
|
|
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 useWindowSize = function useWindowSize() {
|
|
15
|
+
var debounceMs = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 700;
|
|
16
|
+
var isClient = typeof window === 'object';
|
|
17
|
+
|
|
18
|
+
var getSize = () => ({
|
|
19
|
+
width: isClient ? window.innerWidth : undefined,
|
|
20
|
+
height: isClient ? window.innerHeight : undefined
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
var [windowSize, setWindowSize] = (0, _react.useState)(getSize);
|
|
24
|
+
var handle = (0, _react.useCallback)((0, _debounce.default)(() => {
|
|
25
|
+
setWindowSize(getSize());
|
|
26
|
+
}, debounceMs));
|
|
27
|
+
(0, _react.useEffect)(() => {
|
|
28
|
+
if (!isClient) {
|
|
29
|
+
return false;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
window.addEventListener('resize', handle);
|
|
33
|
+
return () => window.removeEventListener('resize', handle);
|
|
34
|
+
}, [getSize, handle, isClient]);
|
|
35
|
+
return windowSize;
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
var _default = useWindowSize;
|
|
39
|
+
exports.default = _default;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "useWindowSize", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function get() {
|
|
9
|
+
return _hooks.useWindowSize;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
Object.defineProperty(exports, "useDynamicPosition", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function get() {
|
|
15
|
+
return _hooks.useDynamicPosition;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
var _hooks = require("./hooks");
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/* @pareto-engineering/generator-front 1.0.12 */
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { useLayoutEffect } from 'react';
|
|
4
|
+
import PropTypes from 'prop-types';
|
|
5
|
+
import styleNames from '@pareto-engineering/bem'; // Local Definitions
|
|
6
|
+
|
|
7
|
+
const baseClassName = styleNames.base;
|
|
8
|
+
const componentClassName = 'background-gradient';
|
|
9
|
+
/**
|
|
10
|
+
* This is the component description.
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
const BackgroundGradient = ({
|
|
14
|
+
id,
|
|
15
|
+
className: userClassName,
|
|
16
|
+
style,
|
|
17
|
+
height // ...otherProps
|
|
18
|
+
|
|
19
|
+
}) => {
|
|
20
|
+
useLayoutEffect(() => {
|
|
21
|
+
import("./styles.scss");
|
|
22
|
+
}, []);
|
|
23
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
24
|
+
id: id,
|
|
25
|
+
className: [baseClassName, componentClassName, userClassName].filter(e => e).join(' '),
|
|
26
|
+
style: { ...style,
|
|
27
|
+
'--gradient-height': height
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
BackgroundGradient.propTypes = {
|
|
33
|
+
/**
|
|
34
|
+
* The HTML id for this element
|
|
35
|
+
*/
|
|
36
|
+
id: PropTypes.string,
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* The HTML class names for this element
|
|
40
|
+
*/
|
|
41
|
+
className: PropTypes.string,
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* The React-written, css properties for this element.
|
|
45
|
+
*/
|
|
46
|
+
style: PropTypes.objectOf(PropTypes.string),
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* The height of the shape.
|
|
50
|
+
*/
|
|
51
|
+
height: PropTypes.string
|
|
52
|
+
};
|
|
53
|
+
BackgroundGradient.defaultProps = {// someProp: false,
|
|
54
|
+
};
|
|
55
|
+
export default BackgroundGradient;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/* @pareto-engineering/generator-front 1.0.12 */
|
|
2
|
+
@use "@pareto-engineering/bem";
|
|
3
|
+
|
|
4
|
+
.#{bem.$base}.background-gradient{
|
|
5
|
+
position: absolute;
|
|
6
|
+
top: 0;
|
|
7
|
+
left: 0;
|
|
8
|
+
width: 100%;
|
|
9
|
+
height: var(--gradient-height);
|
|
10
|
+
background-image: linear-gradient(var(--background1), var(--y) 25%, var(--light-y) 75%, var(--background1));
|
|
11
|
+
opacity: .4;
|
|
12
|
+
z-index: -1;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/* @pareto-engineering/generator-front 1.0.12 */
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { useLayoutEffect } from 'react';
|
|
4
|
+
import PropTypes from 'prop-types';
|
|
5
|
+
import styleNames from '@pareto-engineering/bem'; // Local Definitions
|
|
6
|
+
|
|
7
|
+
import { Tree, useContentTree } from "./common";
|
|
8
|
+
const baseClassName = styleNames.base;
|
|
9
|
+
const componentClassName = 'content-tree';
|
|
10
|
+
/**
|
|
11
|
+
* This is the component description.
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
const ContentTree = ({
|
|
15
|
+
id,
|
|
16
|
+
className: userClassName,
|
|
17
|
+
style,
|
|
18
|
+
target,
|
|
19
|
+
selectors // ...otherProps
|
|
20
|
+
|
|
21
|
+
}) => {
|
|
22
|
+
useLayoutEffect(() => {
|
|
23
|
+
import("./styles.scss");
|
|
24
|
+
}, []);
|
|
25
|
+
const contentTree = useContentTree(target, selectors);
|
|
26
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
27
|
+
id: id,
|
|
28
|
+
className: [baseClassName, componentClassName, userClassName].filter(e => e).join(' '),
|
|
29
|
+
style: style // {...otherProps}
|
|
30
|
+
|
|
31
|
+
}, /*#__PURE__*/React.createElement(Tree, {
|
|
32
|
+
tree: contentTree
|
|
33
|
+
}));
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
ContentTree.propTypes = {
|
|
37
|
+
/**
|
|
38
|
+
* The HTML id for this element
|
|
39
|
+
*/
|
|
40
|
+
id: PropTypes.string,
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* The HTML class names for this element
|
|
44
|
+
*/
|
|
45
|
+
className: PropTypes.string,
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* The React-written, css properties for this element.
|
|
49
|
+
*/
|
|
50
|
+
style: PropTypes.objectOf(PropTypes.string),
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* The selectors to use to extract the navigation tree from the content.
|
|
54
|
+
*/
|
|
55
|
+
selectors: PropTypes.arrayOf(PropTypes.string),
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* The reference to the parent element.
|
|
59
|
+
*/
|
|
60
|
+
target: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({
|
|
61
|
+
current: PropTypes.instanceOf(Element)
|
|
62
|
+
})])
|
|
63
|
+
};
|
|
64
|
+
ContentTree.defaultProps = {
|
|
65
|
+
selectors: ['h2', 'h3']
|
|
66
|
+
};
|
|
67
|
+
export default ContentTree;
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
/* @pareto-engineering/generator-front 1.0.12 */
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { useState, useEffect, useMemo } from 'react';
|
|
4
|
+
import PropTypes from 'prop-types';
|
|
5
|
+
import styleNames from '@pareto-engineering/bem'; // Local Definitions
|
|
6
|
+
|
|
7
|
+
import useFirstVisibleNode from "../useFirstVisibleNode";
|
|
8
|
+
const baseClassName = styleNames.base;
|
|
9
|
+
const componentClassName = 'tree';
|
|
10
|
+
/**
|
|
11
|
+
* This is the component description.
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
const Tree = ({
|
|
15
|
+
id,
|
|
16
|
+
className: userClassName,
|
|
17
|
+
style,
|
|
18
|
+
tree,
|
|
19
|
+
displayDepth // ...otherProps
|
|
20
|
+
|
|
21
|
+
}) => {
|
|
22
|
+
// The nodeIds to be used to get the first visible node
|
|
23
|
+
const [nodeIds, setNodeIds] = useState([]); // current visible nodeId
|
|
24
|
+
|
|
25
|
+
const visibleNodeId = useFirstVisibleNode(nodeIds);
|
|
26
|
+
useEffect(() => {
|
|
27
|
+
const node = document.getElementsByClassName(visibleNodeId)[0];
|
|
28
|
+
node === null || node === void 0 ? void 0 : node.classList.add(styleNames.modifierActive);
|
|
29
|
+
return () => {
|
|
30
|
+
node === null || node === void 0 ? void 0 : node.classList.remove(styleNames.modifierActive);
|
|
31
|
+
};
|
|
32
|
+
}, [visibleNodeId]); // Generate the tree structure from the content tree data depending on the display depth
|
|
33
|
+
|
|
34
|
+
const getNestedTree = (node, depth) => {
|
|
35
|
+
setNodeIds(prev => [...prev, node.id]);
|
|
36
|
+
|
|
37
|
+
if (depth <= 1) {
|
|
38
|
+
return /*#__PURE__*/React.createElement("li", {
|
|
39
|
+
key: node.id
|
|
40
|
+
}, /*#__PURE__*/React.createElement("a", {
|
|
41
|
+
className: node.id,
|
|
42
|
+
href: node.id
|
|
43
|
+
}, node.text));
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
return /*#__PURE__*/React.createElement("li", {
|
|
47
|
+
key: node.id
|
|
48
|
+
}, /*#__PURE__*/React.createElement("p", null, /*#__PURE__*/React.createElement("a", {
|
|
49
|
+
href: node.id,
|
|
50
|
+
className: node.id
|
|
51
|
+
}, node.text)), node.children.length > 0 && /*#__PURE__*/React.createElement("ul", null, node.children.map(child => getNestedTree(child, depth - 1))));
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
const ContentTree = useMemo(() => tree.map(node => getNestedTree(node, displayDepth)), [tree]);
|
|
55
|
+
return /*#__PURE__*/React.createElement("ul", {
|
|
56
|
+
id: id,
|
|
57
|
+
className: [baseClassName, componentClassName, userClassName].filter(e => e).join(' '),
|
|
58
|
+
style: style
|
|
59
|
+
}, ContentTree);
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
Tree.propTypes = {
|
|
63
|
+
/**
|
|
64
|
+
* The HTML id for this element
|
|
65
|
+
*/
|
|
66
|
+
id: PropTypes.string,
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* The HTML class names for this element
|
|
70
|
+
*/
|
|
71
|
+
className: PropTypes.string,
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* The React-written, css properties for this element.
|
|
75
|
+
*/
|
|
76
|
+
style: PropTypes.objectOf(PropTypes.string),
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* The tree to render.
|
|
80
|
+
*/
|
|
81
|
+
tree: PropTypes.arrayOf(PropTypes.shape({
|
|
82
|
+
text: PropTypes.string,
|
|
83
|
+
id: PropTypes.string,
|
|
84
|
+
children: PropTypes.arrayOf(PropTypes.shape({
|
|
85
|
+
text: PropTypes.string,
|
|
86
|
+
id: PropTypes.string
|
|
87
|
+
}))
|
|
88
|
+
})),
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* The levels of the tree to display.
|
|
92
|
+
*/
|
|
93
|
+
displayDepth: PropTypes.number
|
|
94
|
+
};
|
|
95
|
+
Tree.defaultProps = {
|
|
96
|
+
displayDepth: 4
|
|
97
|
+
};
|
|
98
|
+
export default Tree;
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { useState, useEffect, useCallback } from 'react';
|
|
2
|
+
|
|
3
|
+
const useContentTree = (target, selectors) => {
|
|
4
|
+
const [contentTree, setContentTree] = useState([]);
|
|
5
|
+
const getNodes = useCallback(parentTag => {
|
|
6
|
+
const nodeList = parentTag.querySelectorAll(selectors.join(', '));
|
|
7
|
+
const nodes = [];
|
|
8
|
+
nodeList.forEach(nodeNode => {
|
|
9
|
+
const {
|
|
10
|
+
id,
|
|
11
|
+
innerText,
|
|
12
|
+
tagName
|
|
13
|
+
} = nodeNode;
|
|
14
|
+
nodes.push({
|
|
15
|
+
id: `#${id}`,
|
|
16
|
+
text: innerText,
|
|
17
|
+
level: selectors.indexOf(tagName.toLowerCase())
|
|
18
|
+
});
|
|
19
|
+
});
|
|
20
|
+
return nodes;
|
|
21
|
+
}, [selectors]);
|
|
22
|
+
const buildTree = useCallback(nodes => {
|
|
23
|
+
// Track the nodes we've seen so far in the same level
|
|
24
|
+
const currentSameLevelNodes = []; // Track nodes of the next level which will be children of the current node
|
|
25
|
+
|
|
26
|
+
let nextLevelNodes = []; // Track the current node level
|
|
27
|
+
|
|
28
|
+
let lastLevel = -1; // If the nodes are empty, return an empty tree
|
|
29
|
+
|
|
30
|
+
if (nodes.length === 0) {
|
|
31
|
+
return [];
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
const buildSubTree = () => {
|
|
35
|
+
if (nextLevelNodes.length > 0) {
|
|
36
|
+
currentSameLevelNodes[currentSameLevelNodes.length - 1].children.push(...buildTree(nextLevelNodes));
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
nodes.forEach(node => {
|
|
41
|
+
// If the node is of a greater level, we need to build the sub tree
|
|
42
|
+
if (lastLevel !== -1 && lastLevel < node.level) {
|
|
43
|
+
nextLevelNodes.push(node);
|
|
44
|
+
return;
|
|
45
|
+
} // build a subtree
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
buildSubTree(); // reset the next level nodes
|
|
49
|
+
|
|
50
|
+
lastLevel = node.level; // add the current node to the current level nodes
|
|
51
|
+
|
|
52
|
+
currentSameLevelNodes.push({
|
|
53
|
+
id: node.id,
|
|
54
|
+
text: node.text,
|
|
55
|
+
children: []
|
|
56
|
+
}); // reset the next level nodes after building the subtree
|
|
57
|
+
|
|
58
|
+
nextLevelNodes = [];
|
|
59
|
+
}); // build subtree
|
|
60
|
+
|
|
61
|
+
buildSubTree();
|
|
62
|
+
return currentSameLevelNodes;
|
|
63
|
+
}, []);
|
|
64
|
+
useEffect(() => {
|
|
65
|
+
if (target.current) {
|
|
66
|
+
const nodes = getNodes(target.current);
|
|
67
|
+
const tree = buildTree(nodes);
|
|
68
|
+
setContentTree(tree);
|
|
69
|
+
}
|
|
70
|
+
}, [target.current]);
|
|
71
|
+
return contentTree;
|
|
72
|
+
};
|
|
73
|
+
|
|
74
|
+
export default useContentTree;
|