@pareto-engineering/design-system 2.0.0-alpha.2 → 2.0.0-alpha.23

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.
Files changed (187) hide show
  1. package/dist/cjs/a/AnimatedCounter/AnimatedCounter.js +16 -29
  2. package/dist/cjs/a/AnimatedCounter/styles.scss +3 -11
  3. package/dist/cjs/a/BackgroundGradient/BackgroundGradient.js +77 -0
  4. package/dist/cjs/a/BackgroundGradient/index.js +15 -0
  5. package/dist/cjs/a/BackgroundGradient/styles.scss +16 -0
  6. package/dist/cjs/a/Conversation/Conversation.js +15 -8
  7. package/dist/cjs/a/Conversation/common/Message/Message.js +33 -6
  8. package/dist/cjs/a/Conversation/styles.scss +129 -32
  9. package/dist/cjs/a/OvalIllustration/OvalIllustration.js +133 -0
  10. package/dist/cjs/a/OvalIllustration/index.js +15 -0
  11. package/dist/cjs/a/OvalIllustration/styles.scss +102 -0
  12. package/dist/cjs/a/People/People.js +15 -7
  13. package/dist/cjs/a/People/common/Person/Person.js +11 -4
  14. package/dist/cjs/a/People/styles.scss +13 -15
  15. package/dist/cjs/a/Shapes/Shapes.js +171 -0
  16. package/dist/cjs/a/Shapes/index.js +15 -0
  17. package/dist/cjs/a/Shapes/styles.scss +255 -0
  18. package/dist/cjs/a/SnapScroller/SnapScroller.js +77 -0
  19. package/dist/cjs/a/SnapScroller/index.js +15 -0
  20. package/dist/cjs/a/SnapScroller/styles.scss +38 -0
  21. package/dist/cjs/a/TeamInfo/styles.scss +2 -2
  22. package/dist/cjs/a/index.js +33 -1
  23. package/dist/cjs/b/Button/Button.js +10 -4
  24. package/dist/cjs/b/Button/styles.scss +83 -19
  25. package/dist/cjs/b/Metrics/Metrics.js +89 -0
  26. package/dist/cjs/b/Metrics/index.js +15 -0
  27. package/dist/cjs/b/Metrics/styles.scss +91 -0
  28. package/dist/cjs/b/Page/common/Section/Section.js +56 -5
  29. package/dist/cjs/b/Page/styles.scss +8 -2
  30. package/dist/cjs/b/QuestionDropdown/styles.scss +1 -1
  31. package/dist/cjs/b/index.js +9 -1
  32. package/dist/cjs/c/ContentSlides/common/HorizontalMenu/HorizontalMenu.js +4 -4
  33. package/dist/cjs/c/ContentSlides/common/Navigator/Navigator.js +4 -3
  34. package/dist/cjs/c/ContentSlides/styles.scss +10 -4
  35. package/dist/cjs/f/common/Debugger/Debugger.js +1 -1
  36. package/dist/cjs/f/common/Label/Label.js +1 -1
  37. package/dist/cjs/f/common/Label/styles.scss +1 -1
  38. package/dist/cjs/f/fields/ChoicesInput/ChoicesInput.js +2 -2
  39. package/dist/cjs/f/fields/ChoicesInput/styles.scss +17 -2
  40. package/dist/cjs/f/fields/RatingsInput/common/Rating/Rating.js +2 -2
  41. package/dist/cjs/f/fields/SelectInput/SelectInput.js +37 -10
  42. package/dist/cjs/f/fields/SelectInput/styles.scss +13 -8
  43. package/dist/cjs/f/fields/TaskRecommendationInput/TaskRecommendationInput.js +1 -1
  44. package/dist/cjs/f/fields/TaskRecommendationInput/styles.scss +4 -0
  45. package/dist/cjs/f/fields/TextInput/TextInput.js +28 -7
  46. package/dist/cjs/f/fields/TextInput/styles.scss +16 -7
  47. package/dist/cjs/f/fields/TextareaInput/TextareaInput.js +15 -8
  48. package/dist/cjs/f/fields/TextareaInput/styles.scss +19 -6
  49. package/dist/cjs/f/fields/index.js +0 -24
  50. package/dist/cjs/form-reset.scss +1 -1
  51. package/dist/cjs/form.scss +1 -1
  52. package/dist/es/a/AnimatedCounter/AnimatedCounter.js +17 -30
  53. package/dist/es/a/AnimatedCounter/styles.scss +3 -11
  54. package/dist/es/a/BackgroundGradient/BackgroundGradient.js +55 -0
  55. package/dist/es/a/BackgroundGradient/index.js +2 -0
  56. package/dist/es/a/BackgroundGradient/styles.scss +16 -0
  57. package/dist/es/a/Conversation/Conversation.js +15 -8
  58. package/dist/es/a/Conversation/common/Message/Message.js +33 -6
  59. package/dist/es/a/Conversation/styles.scss +129 -32
  60. package/dist/es/a/OvalIllustration/OvalIllustration.js +111 -0
  61. package/dist/es/a/OvalIllustration/index.js +2 -0
  62. package/dist/es/a/OvalIllustration/styles.scss +102 -0
  63. package/dist/es/a/People/People.js +14 -7
  64. package/dist/es/a/People/common/Person/Person.js +11 -4
  65. package/dist/es/a/People/styles.scss +13 -15
  66. package/dist/es/a/Shapes/Shapes.js +149 -0
  67. package/dist/es/a/Shapes/index.js +2 -0
  68. package/dist/es/a/Shapes/styles.scss +255 -0
  69. package/dist/es/a/SnapScroller/SnapScroller.js +61 -0
  70. package/dist/es/a/SnapScroller/index.js +2 -0
  71. package/dist/es/a/SnapScroller/styles.scss +38 -0
  72. package/dist/es/a/TeamInfo/styles.scss +2 -2
  73. package/dist/es/a/index.js +5 -1
  74. package/dist/es/b/Button/Button.js +8 -2
  75. package/dist/es/b/Button/styles.scss +83 -19
  76. package/dist/es/b/Metrics/Metrics.js +72 -0
  77. package/dist/es/b/Metrics/index.js +2 -0
  78. package/dist/es/b/Metrics/styles.scss +91 -0
  79. package/dist/es/b/Page/common/Section/Section.js +55 -4
  80. package/dist/es/b/Page/styles.scss +8 -2
  81. package/dist/es/b/QuestionDropdown/styles.scss +1 -1
  82. package/dist/es/b/index.js +2 -1
  83. package/dist/es/c/ContentSlides/common/HorizontalMenu/HorizontalMenu.js +4 -4
  84. package/dist/es/c/ContentSlides/common/Navigator/Navigator.js +4 -3
  85. package/dist/es/c/ContentSlides/styles.scss +10 -4
  86. package/dist/es/f/common/Debugger/Debugger.js +1 -1
  87. package/dist/es/f/common/Label/Label.js +1 -1
  88. package/dist/es/f/common/Label/styles.scss +1 -1
  89. package/dist/es/f/fields/ChoicesInput/ChoicesInput.js +2 -2
  90. package/dist/es/f/fields/ChoicesInput/styles.scss +17 -2
  91. package/dist/es/f/fields/RatingsInput/common/Rating/Rating.js +2 -2
  92. package/dist/es/f/fields/SelectInput/SelectInput.js +37 -10
  93. package/dist/es/f/fields/SelectInput/styles.scss +13 -8
  94. package/dist/es/f/fields/TaskRecommendationInput/TaskRecommendationInput.js +1 -1
  95. package/dist/es/f/fields/TaskRecommendationInput/styles.scss +4 -0
  96. package/dist/es/f/fields/TextInput/TextInput.js +28 -7
  97. package/dist/es/f/fields/TextInput/styles.scss +16 -7
  98. package/dist/es/f/fields/TextareaInput/TextareaInput.js +15 -8
  99. package/dist/es/f/fields/TextareaInput/styles.scss +19 -6
  100. package/dist/es/f/fields/index.js +0 -3
  101. package/dist/es/form-reset.scss +1 -1
  102. package/dist/es/form.scss +1 -1
  103. package/package.json +3 -3
  104. package/src/__snapshots__/Storyshots.test.js.snap +6050 -812
  105. package/src/local.scss +4 -0
  106. package/src/stories/a/AnimatedCounter.stories.jsx +9 -5
  107. package/src/stories/a/BackgroundGradient.stories.jsx +38 -0
  108. package/src/stories/a/ContentCard.stories.jsx +1 -1
  109. package/src/stories/a/Conversation.stories.jsx +78 -1
  110. package/src/stories/a/OvalIllustration.stories.jsx +59 -0
  111. package/src/stories/a/People.stories.jsx +25 -1
  112. package/src/stories/a/ProgressBar.stories.jsx +1 -1
  113. package/src/stories/a/Quote.stories.jsx +1 -1
  114. package/src/stories/a/Shapes.stories.jsx +143 -0
  115. package/src/stories/a/SnapScroller.stories.jsx +98 -0
  116. package/src/stories/a/Spinner.stories.jsx +1 -1
  117. package/src/stories/b/Button.stories.jsx +83 -54
  118. package/src/stories/b/Metrics.stories.jsx +62 -0
  119. package/src/stories/b/Page.stories.jsx +51 -1
  120. package/src/stories/b/ThemeSelector.stories.jsx +1 -1
  121. package/src/stories/b/Title.stories.jsx +1 -1
  122. package/src/stories/c/ContentSlides.stories.jsx +154 -2
  123. package/src/stories/colors.js +5 -3
  124. package/src/stories/f/SelectInput.stories.jsx +36 -5
  125. package/src/stories/f/TextInput.stories.jsx +16 -5
  126. package/src/stories/f/TextareaInput.stories.jsx +42 -6
  127. package/src/ui/a/AnimatedCounter/AnimatedCounter.jsx +21 -27
  128. package/src/ui/a/AnimatedCounter/styles.scss +3 -11
  129. package/src/ui/a/BackgroundGradient/BackgroundGradient.jsx +76 -0
  130. package/src/ui/a/BackgroundGradient/index.js +2 -0
  131. package/src/ui/a/BackgroundGradient/styles.scss +16 -0
  132. package/src/ui/a/Conversation/Conversation.jsx +15 -7
  133. package/src/ui/a/Conversation/common/Message/Message.jsx +40 -7
  134. package/src/ui/a/Conversation/styles.scss +129 -32
  135. package/src/ui/a/OvalIllustration/OvalIllustration.jsx +134 -0
  136. package/src/ui/a/OvalIllustration/index.js +2 -0
  137. package/src/ui/a/OvalIllustration/styles.scss +102 -0
  138. package/src/ui/a/People/People.jsx +12 -4
  139. package/src/ui/a/People/common/Person/Person.jsx +7 -1
  140. package/src/ui/a/People/styles.scss +13 -15
  141. package/src/ui/a/Shapes/Shapes.jsx +191 -0
  142. package/src/ui/a/Shapes/index.js +2 -0
  143. package/src/ui/a/Shapes/styles.scss +255 -0
  144. package/src/ui/a/SnapScroller/SnapScroller.jsx +83 -0
  145. package/src/ui/a/SnapScroller/index.js +2 -0
  146. package/src/ui/a/SnapScroller/styles.scss +38 -0
  147. package/src/ui/a/TeamInfo/styles.scss +2 -2
  148. package/src/ui/a/index.js +4 -0
  149. package/src/ui/b/Button/Button.jsx +9 -1
  150. package/src/ui/b/Button/styles.scss +83 -19
  151. package/src/ui/b/Metrics/Metrics.jsx +93 -0
  152. package/src/ui/b/Metrics/index.js +2 -0
  153. package/src/ui/b/Metrics/styles.scss +91 -0
  154. package/src/ui/b/Page/common/Section/Section.jsx +68 -2
  155. package/src/ui/b/Page/styles.scss +8 -2
  156. package/src/ui/b/QuestionDropdown/styles.scss +1 -1
  157. package/src/ui/b/index.js +1 -0
  158. package/src/ui/c/ContentSlides/common/HorizontalMenu/HorizontalMenu.jsx +4 -4
  159. package/src/ui/c/ContentSlides/common/Navigator/Navigator.jsx +3 -2
  160. package/src/ui/c/ContentSlides/styles.scss +10 -4
  161. package/src/ui/f/common/Debugger/Debugger.jsx +1 -1
  162. package/src/ui/f/common/Label/Label.jsx +1 -1
  163. package/src/ui/f/common/Label/styles.scss +1 -1
  164. package/src/ui/f/fields/ChoicesInput/ChoicesInput.jsx +2 -2
  165. package/src/ui/f/fields/ChoicesInput/styles.scss +17 -2
  166. package/src/ui/f/fields/RatingsInput/common/Rating/Rating.jsx +2 -2
  167. package/src/ui/f/fields/SelectInput/SelectInput.jsx +44 -5
  168. package/src/ui/f/fields/SelectInput/styles.scss +13 -8
  169. package/src/ui/f/fields/TextInput/TextInput.jsx +24 -3
  170. package/src/ui/f/fields/TextInput/styles.scss +16 -7
  171. package/src/ui/f/fields/TextareaInput/TextareaInput.jsx +24 -13
  172. package/src/ui/f/fields/TextareaInput/styles.scss +19 -6
  173. package/src/ui/f/fields/index.js +0 -3
  174. package/src/ui/form-reset.scss +1 -1
  175. package/src/ui/form.scss +1 -1
  176. package/src/stories/f/CheckboxInput.stories.jsx +0 -37
  177. package/src/stories/f/RadioInput.stories.jsx +0 -37
  178. package/src/stories/f/TaskRecommendationInput.stories.jsx +0 -38
  179. package/src/ui/f/fields/CheckboxInput/CheckboxInput.jsx +0 -107
  180. package/src/ui/f/fields/CheckboxInput/index.js +0 -2
  181. package/src/ui/f/fields/CheckboxInput/styles.scss +0 -28
  182. package/src/ui/f/fields/RadioInput/RadioInput.jsx +0 -112
  183. package/src/ui/f/fields/RadioInput/index.js +0 -2
  184. package/src/ui/f/fields/RadioInput/styles.scss +0 -26
  185. package/src/ui/f/fields/TaskRecommendationInput/TaskRecommendationInput.jsx +0 -130
  186. package/src/ui/f/fields/TaskRecommendationInput/index.js +0 -2
  187. package/src/ui/f/fields/TaskRecommendationInput/styles.scss +0 -37
@@ -0,0 +1,102 @@
1
+ /* @pareto-engineering/generator-front 1.0.12 */
2
+
3
+ @use "@pareto-engineering/bem";
4
+ @use "@aztlan/stylebook/src/mixins";
5
+ @use "@aztlan/stylebook/src/globals" as *;
6
+
7
+ $default-clockwise-degree:60deg;
8
+ $default-counter-clockwise-degree:-60deg;
9
+ $default-ellipse-size:30% 43% at 50% 50%;
10
+
11
+ .#{bem.$base}.oval-illustration {
12
+ display: flex;
13
+ justify-content: center;
14
+ overflow: hidden;
15
+ position: relative;
16
+
17
+ &.left {
18
+ .oval-background {
19
+ transform: rotate($default-clockwise-degree);
20
+ }
21
+
22
+ .illustration {
23
+ transform: rotate($default-counter-clockwise-degree);
24
+
25
+ > img {
26
+ transform: rotate($default-clockwise-degree);
27
+ }
28
+ }
29
+ }
30
+
31
+ &.right {
32
+ .oval-background {
33
+ transform: rotate($default-counter-clockwise-degree);
34
+ }
35
+
36
+ .illustration {
37
+ transform: rotate($default-clockwise-degree);
38
+
39
+ > img {
40
+ transform: rotate($default-counter-clockwise-degree);
41
+ }
42
+ }
43
+ }
44
+
45
+ .oval-background {
46
+ background: var(--y);
47
+ clip-path: ellipse($default-ellipse-size);
48
+ overflow: hidden;
49
+ position: absolute;
50
+ z-index: 0;
51
+ }
52
+
53
+ .illustration {
54
+ clip-path: ellipse($default-ellipse-size);
55
+ overflow: hidden;
56
+
57
+ > img {
58
+ height: 100%;
59
+ object-fit: cover;
60
+ width: 100%;
61
+ }
62
+ }
63
+
64
+ // mobile style
65
+ @include mixins.media($to:$sm-md) {
66
+ .oval-background {
67
+ height: var(--mobile-size);
68
+ width: var(--mobile-size);
69
+ }
70
+
71
+ .illustration {
72
+ height: var(--mobile-size);
73
+ width: var(--mobile-size);
74
+ }
75
+ }
76
+
77
+ // tablet style
78
+ @include mixins.media($from:$xs-sm, $to:$sm-md) {
79
+ .oval-background {
80
+ height: var(--tablet-size);
81
+ width: var(--tablet-size);
82
+ }
83
+
84
+ .illustration {
85
+ height: var(--tablet-size);
86
+ width: var(--tablet-size);
87
+ }
88
+ }
89
+
90
+ // desktop style
91
+ @include mixins.media($from:$sm-md) {
92
+ .oval-background {
93
+ height: var(--desktop-size);
94
+ width: var(--desktop-size);
95
+ }
96
+
97
+ .illustration {
98
+ height: var(--desktop-size);
99
+ width: var(--desktop-size);
100
+ }
101
+ }
102
+ }
@@ -15,8 +15,9 @@ const People = ({
15
15
  id,
16
16
  className: userClassName,
17
17
  style,
18
- imageHeightWidth,
19
- children // ...otherProps
18
+ imageSize,
19
+ children,
20
+ columnWidth // ...otherProps
20
21
 
21
22
  }) => {
22
23
  useLayoutEffect(() => {
@@ -25,9 +26,9 @@ const People = ({
25
26
  return /*#__PURE__*/React.createElement("div", {
26
27
  id: id,
27
28
  className: [baseClassName, componentClassName, userClassName, 'u1'].filter(e => e).join(' '),
28
- style: {
29
- '--image-height-width': imageHeightWidth,
30
- ...style
29
+ style: { ...style,
30
+ '--image-size': imageSize,
31
+ '--column-width': columnWidth
31
32
  } // {...otherProps}
32
33
 
33
34
  }, children);
@@ -57,10 +58,16 @@ People.propTypes = {
57
58
  /**
58
59
  * The height and width of all the person's image
59
60
  */
60
- imageHeightWidth: PropTypes.string
61
+ imageSize: PropTypes.string,
62
+
63
+ /**
64
+ * The width of the a person's column
65
+ */
66
+ columnWidth: PropTypes.string
61
67
  };
62
68
  People.defaultProps = {
63
- imageHeightWidth: '3em'
69
+ imageSize: '3em',
70
+ columnWidth: '12em'
64
71
  };
65
72
  People.Person = Person;
66
73
  export default People;
@@ -15,11 +15,12 @@ const Person = ({
15
15
  style,
16
16
  name,
17
17
  image,
18
- role // ...otherProps
18
+ role,
19
+ color // ...otherProps
19
20
 
20
21
  }) => /*#__PURE__*/React.createElement("div", {
21
22
  id: id,
22
- className: [baseClassName, componentClassName, userClassName].filter(e => e).join(' '),
23
+ className: [baseClassName, componentClassName, userClassName, `y-${color}`].filter(e => e).join(' '),
23
24
  style: style
24
25
  }, /*#__PURE__*/React.createElement("img", {
25
26
  className: "image v50 mr-v",
@@ -62,8 +63,14 @@ Person.propTypes = {
62
63
  /**
63
64
  * The person's role
64
65
  */
65
- role: PropTypes.string.isRequired
66
+ role: PropTypes.string.isRequired,
67
+
68
+ /**
69
+ * The base color of the person's component
70
+ */
71
+ color: PropTypes.string
66
72
  };
67
- Person.defaultProps = {// someProp:false
73
+ Person.defaultProps = {
74
+ color: 'background2'
68
75
  };
69
76
  export default Person;
@@ -9,22 +9,26 @@ $default-person-border-radius:2em;
9
9
  $default-padding:var(--u);
10
10
  $default-horizontal-margin: .5em;
11
11
 
12
+ $default-grid-gap: 1em;
13
+
12
14
  .#{bem.$base}.people {
13
- display: flex;
14
- justify-content: center;
15
+ display: grid;
16
+ grid-template-columns: repeat(auto-fill, minmax(var(--column-width), 1fr));
17
+ gap:$default-grid-gap;
18
+
15
19
 
16
20
  .person {
17
21
  align-items: center;
18
- background-color: var(--background2);
22
+ background-color: var(--y);
19
23
  border-radius: $default-person-border-radius;
20
24
  display: flex;
21
- margin: 0 $default-horizontal-margin;
25
+
22
26
  padding-right: $default-padding;
23
27
 
24
28
  .image {
25
29
  border-radius: $default-border-radius;
26
- height: var(--image-height-width);
27
- width: var(--image-height-width);
30
+ height: var(--image-size);
31
+ width: var(--image-size);
28
32
  }
29
33
 
30
34
  .details {
@@ -34,21 +38,15 @@ $default-horizontal-margin: .5em;
34
38
 
35
39
  .name {
36
40
  margin-bottom: .25em;
41
+ color: var(--on-y);
37
42
  }
38
43
 
39
44
  .role {
40
- color: var(--subtitle);
45
+ color: var(--on-y);
46
+ opacity: .5;
41
47
  }
42
48
  }
43
49
  }
44
-
45
- @include mixins.media($to:$sm-md) {
46
- flex-direction: column;
47
-
48
- >:not(:last-child) {
49
- margin-bottom: var(--u);
50
- }
51
- }
52
50
  }
53
51
 
54
52
 
@@ -0,0 +1,149 @@
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 = 'shapes';
9
+ /**
10
+ * This is the component description.
11
+ */
12
+
13
+ const Shapes = ({
14
+ id,
15
+ className: userClassName,
16
+ style,
17
+ shape,
18
+ height,
19
+ overflow,
20
+ verticalAlign,
21
+ horizontalAlign // ...otherProps
22
+
23
+ }) => {
24
+ useLayoutEffect(() => {
25
+ import("./styles.scss");
26
+ }, []);
27
+ return /*#__PURE__*/React.createElement("div", {
28
+ id: id,
29
+ className: [baseClassName, componentClassName, userClassName].filter(e => e).join(' '),
30
+ style: { ...style,
31
+ '--shape-height': height,
32
+ '--overflow': overflow,
33
+ '--vertical-align': verticalAlign,
34
+ '--horizontal-align': horizontalAlign
35
+ } // {...otherProps}
36
+
37
+ }, shape === 'triangle' && /*#__PURE__*/React.createElement("div", {
38
+ className: "triangle"
39
+ }), shape === 'inverted-triangle' && /*#__PURE__*/React.createElement("div", {
40
+ className: "inverted-triangle"
41
+ }), shape === 'half-ellipses' && /*#__PURE__*/React.createElement("div", {
42
+ className: "half-ellipses"
43
+ }, /*#__PURE__*/React.createElement("div", {
44
+ className: "up"
45
+ }), /*#__PURE__*/React.createElement("div", {
46
+ className: "down"
47
+ })), shape === 'ellipse' && /*#__PURE__*/React.createElement("div", {
48
+ className: "ellipse"
49
+ }), shape === 'diamonds' && /*#__PURE__*/React.createElement("div", {
50
+ className: "diamonds"
51
+ }, /*#__PURE__*/React.createElement("div", {
52
+ className: "top-right"
53
+ }), /*#__PURE__*/React.createElement("div", {
54
+ className: "bottom-left"
55
+ }), /*#__PURE__*/React.createElement("div", {
56
+ className: "bottom-right"
57
+ })), shape === 'rectangles' && /*#__PURE__*/React.createElement("div", {
58
+ className: "rectangles"
59
+ }, /*#__PURE__*/React.createElement("div", {
60
+ className: "top"
61
+ }), /*#__PURE__*/React.createElement("div", {
62
+ className: "center"
63
+ }), /*#__PURE__*/React.createElement("div", {
64
+ className: "bottom"
65
+ })), shape === 'half-ellipse' && /*#__PURE__*/React.createElement("div", {
66
+ className: "half-ellipse"
67
+ }), shape === 'circle' && /*#__PURE__*/React.createElement("div", {
68
+ className: "circle"
69
+ }), shape === 'half-circle' && /*#__PURE__*/React.createElement("div", {
70
+ className: "half-circle"
71
+ }), shape === 'ellipses' && /*#__PURE__*/React.createElement("div", {
72
+ className: "ellipses"
73
+ }, /*#__PURE__*/React.createElement("div", {
74
+ className: "first"
75
+ }), /*#__PURE__*/React.createElement("div", {
76
+ className: "second"
77
+ })), shape === 'spiral' && /*#__PURE__*/React.createElement("div", {
78
+ className: "spiral"
79
+ }, /*#__PURE__*/React.createElement("div", {
80
+ className: "circle-one"
81
+ }), /*#__PURE__*/React.createElement("div", {
82
+ className: "circle-two"
83
+ }), /*#__PURE__*/React.createElement("div", {
84
+ className: "circle-three"
85
+ }), /*#__PURE__*/React.createElement("div", {
86
+ className: "circle-four"
87
+ })), shape === 'rotated-ellipses' && /*#__PURE__*/React.createElement("div", {
88
+ className: "rotated-ellipses"
89
+ }, /*#__PURE__*/React.createElement("div", {
90
+ className: "ellipse-one"
91
+ }), /*#__PURE__*/React.createElement("div", {
92
+ className: "ellipse-two"
93
+ })), shape === 'intersecting-circles' && /*#__PURE__*/React.createElement("div", {
94
+ className: "intersecting-circles"
95
+ }, /*#__PURE__*/React.createElement("div", {
96
+ className: "left"
97
+ }), /*#__PURE__*/React.createElement("div", {
98
+ className: "right"
99
+ })));
100
+ };
101
+
102
+ Shapes.propTypes = {
103
+ /**
104
+ * The HTML id for this element
105
+ */
106
+ id: PropTypes.string,
107
+
108
+ /**
109
+ * The HTML class names for this element
110
+ */
111
+ className: PropTypes.string,
112
+
113
+ /**
114
+ * The React-written, css properties for this element.
115
+ */
116
+ style: PropTypes.objectOf(PropTypes.string),
117
+
118
+ /**
119
+ * The height of the shape.
120
+ */
121
+ height: PropTypes.string,
122
+
123
+ /**
124
+ * The vertical alignment of the shape.
125
+ */
126
+ verticalAlign: PropTypes.oneOf(['flex-start', 'center', 'flex-end']),
127
+
128
+ /**
129
+ * The horizontal alignment of the shape.
130
+ */
131
+ horizontalAlign: PropTypes.oneOf(['flex-start', 'center', 'flex-end']),
132
+
133
+ /**
134
+ * The options of a shape to use
135
+ */
136
+ shape: PropTypes.oneOf(['triangle', 'ellipse', 'half-ellipse', 'half-ellipses', 'spiral', 'diamonds', 'circle', 'half-circle', 'ellipses', 'rectangles', 'rotated-ellipses', 'inverted-triangle', 'intersecting-circles']),
137
+
138
+ /**
139
+ * The overflow of the shape.
140
+ */
141
+ overflow: PropTypes.oneOf(['hidden', 'visible'])
142
+ };
143
+ Shapes.defaultProps = {
144
+ verticalAlign: 'center',
145
+ horizontalAlign: 'center',
146
+ shape: 'triangle',
147
+ overflow: 'hidden'
148
+ };
149
+ export default Shapes;
@@ -0,0 +1,2 @@
1
+ /* @pareto-engineering/generator-front 1.0.12 */
2
+ export { default as Shapes } from "./Shapes";
@@ -0,0 +1,255 @@
1
+ /* @pareto-engineering/generator-front 1.0.12 */
2
+
3
+ @use "@pareto-engineering/bem";
4
+
5
+ $default-ellipse-height:50em;
6
+ $default-diamond-height:40em;
7
+ $default-circle-height:50em;
8
+ $default-triangle-height:40em;
9
+ $default-rectangle-height:50em;
10
+ $default-shapes-opacity:.8;
11
+
12
+ .#{bem.$base}.shapes {
13
+ position: absolute;
14
+ top: 0;
15
+ left: 0;
16
+ display: flex;
17
+ flex-direction: column;
18
+ overflow: var(--overflow);
19
+ justify-content: var(--vertical-align);
20
+ align-items: var(--horizontal-align);
21
+ height: 100%;
22
+ width: 100%;
23
+
24
+ .triangle {
25
+ background-image: linear-gradient(transparent, var(--dark-y));
26
+ clip-path: polygon(0 0, 50% 100%, 100% 0);
27
+ height: calc(var(--shape-height, #{$default-triangle-height}) * 0.86);
28
+ opacity: $default-shapes-opacity;
29
+ width: var(--shape-height, #{$default-triangle-height});
30
+ }
31
+
32
+ .inverted-triangle {
33
+ background-image: linear-gradient(var(--dark-y), transparent);
34
+ clip-path: polygon(50% 0, 0 100%, 100% 100%);
35
+ height: calc(var(--shape-height, #{$default-triangle-height}) * 0.86);
36
+ opacity: $default-shapes-opacity;
37
+ width: var(--shape-height, #{$default-triangle-height});
38
+ }
39
+
40
+ .half-ellipses {
41
+ height: var(--shape-height, #{$default-ellipse-height});
42
+ opacity: $default-shapes-opacity;
43
+ width: calc(var(--shape-height, #{$default-ellipse-height}) * 2);
44
+
45
+ .up {
46
+ background-image: radial-gradient(ellipse at center bottom, var(--y) 5%, transparent 65%);
47
+ clip-path: ellipse(35% 100% at 50% 0%);
48
+ height: 50%;
49
+ }
50
+
51
+ .down {
52
+ background-image: radial-gradient(ellipse at center top, var(--y) 5%, transparent 65%);
53
+ clip-path: ellipse(35% 100% at 50% 100%);
54
+ height: 50%;
55
+ }
56
+ }
57
+
58
+ .ellipse {
59
+ background-image: linear-gradient(var(--dark-y), var(--light-y));
60
+ clip-path: ellipse(50% 50% at 50% 50%);
61
+ height: var(--shape-height, #{$default-ellipse-height});
62
+ opacity: $default-shapes-opacity;
63
+ width: calc(var(--shape-height, #{$default-ellipse-height}) * 2);
64
+ }
65
+
66
+ .diamonds {
67
+ height: var(--shape-height, #{$default-diamond-height});
68
+ opacity: $default-shapes-opacity;
69
+ position: relative;
70
+ width: var(--shape-height, #{$default-diamond-height});
71
+
72
+ .top-right {
73
+ background-image: linear-gradient(to right, var(--dark-y), var(--y));
74
+ clip-path: polygon(100% 100%, 0 0, 100% 0);
75
+ height: 100%;
76
+ position: absolute;
77
+ width: 100%;
78
+ }
79
+
80
+ .bottom-left {
81
+ background-image: linear-gradient(to left, var(--dark-y), var(--y));
82
+ clip-path: polygon(0 100%, 0 0, 100% 100%);
83
+ height: 100%;
84
+ opacity: .95;
85
+ position: absolute;
86
+ width: 100%;
87
+ z-index: 1;
88
+ }
89
+
90
+ .bottom-right {
91
+ background-image: linear-gradient(to bottom, var(--dark-y), var(--y));
92
+ clip-path: polygon(100% 100%, 100% 0, 0 100%);
93
+ height: 100%;
94
+ position: absolute;
95
+ width: 100%;
96
+ }
97
+ }
98
+
99
+ .rectangles {
100
+ display: grid;
101
+ grid-template-rows: repeat(3, 1fr);
102
+ height: var(--shape-height, #{$default-rectangle-height});
103
+ opacity: $default-shapes-opacity;
104
+ width: var(--shape-height, #{$default-rectangle-height});
105
+
106
+ .top {
107
+ background-image: linear-gradient(to right, var(--dark-y), var(--y));
108
+ }
109
+
110
+ .center {
111
+ background-image: linear-gradient(to left, var(--dark-y), var(--y));
112
+ }
113
+
114
+ .bottom {
115
+ background-image: linear-gradient(to right, var(--dark-y), var(--y));
116
+ }
117
+ }
118
+
119
+ .half-ellipse {
120
+ background-image: radial-gradient(ellipse at center bottom, var(--y) 10%, transparent 65%);
121
+ clip-path: ellipse(60% 100% at 50% 0%);
122
+ height: var(--shape-height, #{$default-ellipse-height});
123
+ opacity: $default-shapes-opacity;
124
+ width: calc(var(--shape-height, #{$default-ellipse-height}) * 2);
125
+ }
126
+
127
+ .circle {
128
+ background-image: linear-gradient(var(--light-y), var(--dark-y));
129
+ clip-path: circle(50% at 50% 50%);
130
+ height: var(--shape-height, #{$default-circle-height});
131
+ opacity: $default-shapes-opacity;
132
+ width: var(--shape-height, #{$default-circle-height});
133
+ }
134
+
135
+ .half-circle {
136
+ background: linear-gradient(var(--light-y) 30%, var(--dark-y) 100%);
137
+ clip-path: circle(50% at 50% 100%);
138
+ height: var(--shape-height, #{$default-circle-height});
139
+ opacity: $default-shapes-opacity;
140
+ width: calc(var(--shape-height, #{$default-circle-height}) * 2);
141
+ }
142
+
143
+ .ellipses {
144
+ height: var(--shape-height, #{$default-ellipse-height});
145
+ opacity: $default-shapes-opacity;
146
+ position: relative;
147
+ width: var(--shape-height, #{$default-ellipse-height});
148
+
149
+ .first {
150
+ background-image: linear-gradient(to top, var(--dark-y), var(--y), var(--light-y) 50%, transparent);
151
+ clip-path: ellipse(50% 20% at 50% 60%);
152
+ height: 100%;
153
+ position: absolute;
154
+ width: 100%;
155
+ z-index: 1;
156
+ }
157
+
158
+ .second {
159
+ background-image: linear-gradient(to bottom,var(--dark-y), var(--y), var(--light-y) 45%, transparent);
160
+ clip-path: ellipse(50% 20% at 50% 40%);
161
+ height: 100%;
162
+ position: absolute;
163
+ width: 100%;
164
+ }
165
+ }
166
+
167
+ .spiral {
168
+ height: var(--shape-height, #{$default-ellipse-height});
169
+ width: var(--shape-height, #{$default-ellipse-height});
170
+ opacity: $default-shapes-opacity;
171
+ position: relative;
172
+ display: flex;
173
+ justify-content: center;
174
+ align-items: center;
175
+
176
+ > * {
177
+ border-radius: 50%;
178
+ background: radial-gradient(ellipse at center bottom ,var(--dark-y) 10%, transparent 60%);
179
+ position: absolute;
180
+ opacity: .5;
181
+ }
182
+
183
+ .circle-one {
184
+ transform: rotate(45deg);
185
+ height:calc(var(--shape-height, #{$default-ellipse-height})* 0.4);
186
+ width: calc(var(--shape-height, #{$default-ellipse-height})* 0.4);
187
+ }
188
+
189
+ .circle-two {
190
+ height: calc(var(--shape-height, #{$default-ellipse-height})* 0.6);
191
+ width: calc(var(--shape-height, #{$default-ellipse-height})* 0.6);
192
+ }
193
+
194
+ .circle-three {
195
+ transform: rotate(-45deg);
196
+ height: calc(var(--shape-height, #{$default-ellipse-height})* 0.8);
197
+ width: calc(var(--shape-height, #{$default-ellipse-height})* 0.8);
198
+ }
199
+
200
+ .circle-four {
201
+ transform: rotate(-90deg);
202
+ height: calc(var(--shape-height, #{$default-ellipse-height})* 1);
203
+ width: calc(var(--shape-height, #{$default-ellipse-height})* 1);
204
+ }
205
+ }
206
+ .rotated-ellipses {
207
+ height: var(--shape-height, #{$default-ellipse-height});
208
+ opacity: $default-shapes-opacity;
209
+ width: var(--shape-height, #{$default-ellipse-height});
210
+ display: flex;
211
+
212
+ > *{
213
+ width: 100%;
214
+ height: 100%;
215
+ }
216
+
217
+ .ellipse-one {
218
+ background-image: radial-gradient(ellipse at bottom left, var(--y) 30%, transparent 65%);
219
+ transform: rotate(-15deg);
220
+ clip-path: ellipse(50% 35% at 50% 50%);
221
+ }
222
+
223
+ .ellipse-two {
224
+ background-image: radial-gradient(ellipse at top right, var(--y) 30%, transparent 65%);
225
+ transform: rotate(-15deg);
226
+ clip-path: ellipse(50% 35% at 50% 50%);
227
+ }
228
+ }
229
+
230
+ .intersecting-circles {
231
+ height: var(--shape-height, #{$default-circle-height});
232
+ opacity: $default-shapes-opacity;
233
+ width: calc(var(--shape-height, #{$default-circle-height}) * 2);
234
+ display: grid;
235
+ grid-template-columns: repeat(7, 1fr);
236
+ position: relative;
237
+
238
+ > * {
239
+ border-radius: 50%;
240
+ height: 100%;
241
+ width: 100%;
242
+ position: absolute;
243
+ opacity: .8;
244
+ }
245
+
246
+ .left {
247
+ background-image: linear-gradient(to right ,var(--dark-y),var(--y), transparent);
248
+ grid-column: 1 / 5;
249
+ }
250
+ .right {
251
+ background-image: linear-gradient(to left, var(--dark-y), var(--y), transparent);
252
+ grid-column: 4 / 8;
253
+ }
254
+ }
255
+ }
@@ -0,0 +1,61 @@
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 = 'snap-scroller';
9
+ /**
10
+ * This is the component description.
11
+ */
12
+
13
+ const SnapScroller = ({
14
+ id,
15
+ className: userClassName,
16
+ style,
17
+ children,
18
+ noScrollOnDesktop // ...otherProps
19
+
20
+ }) => {
21
+ useLayoutEffect(() => {
22
+ import("./styles.scss");
23
+ }, []);
24
+ return /*#__PURE__*/React.createElement("div", {
25
+ id: id,
26
+ className: [baseClassName, componentClassName, userClassName, noScrollOnDesktop && 'desktop-no-scroll'].filter(e => e).join(' '),
27
+ style: style // {...otherProps}
28
+
29
+ }, children);
30
+ };
31
+
32
+ SnapScroller.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 children JSX
50
+ */
51
+ children: PropTypes.node,
52
+
53
+ /**
54
+ * Whether to snap scroll on desktop (false will enable a flexbox)
55
+ */
56
+ noScrollOnDesktop: PropTypes.bool
57
+ };
58
+ SnapScroller.defaultProps = {
59
+ noScrollOnDesktop: false
60
+ };
61
+ export default SnapScroller;