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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (181) 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/{RatingsInput/common/Rating/Rating.js → BackgroundGradient/BackgroundGradient.js} +22 -65
  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/GradientBackground/GradientBackground.js +140 -0
  10. package/dist/cjs/a/GradientBackground/index.js +15 -0
  11. package/dist/cjs/a/GradientBackground/styles.scss +191 -0
  12. package/dist/cjs/a/OvalIllustration/OvalIllustration.js +133 -0
  13. package/dist/cjs/a/OvalIllustration/index.js +15 -0
  14. package/dist/cjs/a/OvalIllustration/styles.scss +102 -0
  15. package/dist/cjs/a/People/People.js +15 -7
  16. package/dist/cjs/a/People/common/Person/Person.js +11 -4
  17. package/dist/cjs/a/People/styles.scss +13 -15
  18. package/dist/cjs/a/Shapes/Shapes.js +171 -0
  19. package/dist/cjs/a/{RatingsInput/common/Rating → Shapes}/index.js +3 -3
  20. package/dist/cjs/a/Shapes/styles.scss +255 -0
  21. package/dist/cjs/a/{RatingsInput/RatingsInput.js → SnapScroller/SnapScroller.js} +15 -26
  22. package/dist/cjs/a/{RatingsInput → SnapScroller}/index.js +3 -3
  23. package/dist/cjs/a/SnapScroller/styles.scss +38 -0
  24. package/dist/cjs/a/TeamInfo/styles.scss +2 -2
  25. package/dist/cjs/a/index.js +33 -1
  26. package/dist/cjs/b/Button/Button.js +10 -4
  27. package/dist/cjs/b/Button/styles.scss +82 -18
  28. package/dist/cjs/b/Metrics/Metrics.js +89 -0
  29. package/dist/cjs/b/Metrics/index.js +15 -0
  30. package/dist/cjs/b/Metrics/styles.scss +91 -0
  31. package/dist/cjs/b/Page/common/Section/Section.js +56 -5
  32. package/dist/cjs/b/Page/styles.scss +8 -2
  33. package/dist/cjs/b/QuestionDropdown/styles.scss +1 -1
  34. package/dist/cjs/b/index.js +9 -1
  35. package/dist/cjs/c/ContentSlides/common/HorizontalMenu/HorizontalMenu.js +1 -1
  36. package/dist/cjs/c/ContentSlides/common/Navigator/Navigator.js +4 -3
  37. package/dist/cjs/experimental/GradientBackground/GradientBackground.js +98 -0
  38. package/dist/cjs/experimental/GradientBackground/index.js +15 -0
  39. package/dist/cjs/experimental/GradientBackground/styles.scss +64 -0
  40. package/dist/cjs/experimental/index.js +13 -0
  41. package/dist/cjs/f/common/Debugger/Debugger.js +1 -1
  42. package/dist/cjs/f/common/Label/Label.js +1 -1
  43. package/dist/cjs/f/fields/ChoicesInput/ChoicesInput.js +2 -2
  44. package/dist/cjs/f/fields/RatingsInput/common/Rating/Rating.js +2 -2
  45. package/dist/cjs/f/fields/SelectInput/SelectInput.js +25 -6
  46. package/dist/cjs/f/fields/SelectInput/styles.scss +4 -4
  47. package/dist/cjs/f/fields/TaskRecommendationInput/TaskRecommendationInput.js +1 -1
  48. package/dist/cjs/f/fields/TaskRecommendationInput/styles.scss +4 -0
  49. package/dist/cjs/f/fields/TextInput/TextInput.js +19 -5
  50. package/dist/cjs/f/fields/TextInput/styles.scss +3 -7
  51. package/dist/cjs/f/fields/TextareaInput/TextareaInput.js +14 -7
  52. package/dist/cjs/form.scss +1 -1
  53. package/dist/es/a/AnimatedCounter/AnimatedCounter.js +17 -30
  54. package/dist/es/a/AnimatedCounter/styles.scss +3 -11
  55. package/dist/es/a/BackgroundGradient/BackgroundGradient.js +55 -0
  56. package/dist/es/a/BackgroundGradient/index.js +2 -0
  57. package/dist/es/a/BackgroundGradient/styles.scss +16 -0
  58. package/dist/es/a/Conversation/Conversation.js +15 -8
  59. package/dist/es/a/Conversation/common/Message/Message.js +33 -6
  60. package/dist/es/a/Conversation/styles.scss +129 -32
  61. package/dist/es/a/GradientBackground/GradientBackground.js +118 -0
  62. package/dist/es/a/GradientBackground/index.js +2 -0
  63. package/dist/es/a/GradientBackground/styles.scss +191 -0
  64. package/dist/es/a/OvalIllustration/OvalIllustration.js +111 -0
  65. package/dist/es/a/OvalIllustration/index.js +2 -0
  66. package/dist/es/a/OvalIllustration/styles.scss +102 -0
  67. package/dist/es/a/People/People.js +14 -7
  68. package/dist/es/a/People/common/Person/Person.js +11 -4
  69. package/dist/es/a/People/styles.scss +13 -15
  70. package/dist/es/a/Shapes/Shapes.js +149 -0
  71. package/dist/es/a/{RatingsInput/common/Rating → Shapes}/index.js +1 -1
  72. package/dist/es/a/Shapes/styles.scss +255 -0
  73. package/dist/es/a/{RatingsInput/RatingsInput.js → SnapScroller/SnapScroller.js} +15 -26
  74. package/dist/es/a/SnapScroller/index.js +2 -0
  75. package/dist/es/a/SnapScroller/styles.scss +38 -0
  76. package/dist/es/a/TeamInfo/styles.scss +2 -2
  77. package/dist/es/a/index.js +5 -1
  78. package/dist/es/b/Button/Button.js +8 -2
  79. package/dist/es/b/Button/styles.scss +82 -18
  80. package/dist/es/b/Metrics/Metrics.js +72 -0
  81. package/dist/es/b/Metrics/index.js +2 -0
  82. package/dist/es/b/Metrics/styles.scss +91 -0
  83. package/dist/es/b/Page/common/Section/Section.js +55 -4
  84. package/dist/es/b/Page/styles.scss +8 -2
  85. package/dist/es/b/QuestionDropdown/styles.scss +1 -1
  86. package/dist/es/b/index.js +2 -1
  87. package/dist/es/c/ContentSlides/common/HorizontalMenu/HorizontalMenu.js +1 -1
  88. package/dist/es/c/ContentSlides/common/Navigator/Navigator.js +4 -3
  89. package/dist/es/experimental/GradientBackground/GradientBackground.js +76 -0
  90. package/dist/es/experimental/GradientBackground/index.js +2 -0
  91. package/dist/es/experimental/GradientBackground/styles.scss +64 -0
  92. package/dist/es/experimental/index.js +1 -0
  93. package/dist/es/f/common/Debugger/Debugger.js +1 -1
  94. package/dist/es/f/common/Label/Label.js +1 -1
  95. package/dist/es/f/fields/ChoicesInput/ChoicesInput.js +2 -2
  96. package/dist/es/f/fields/RatingsInput/common/Rating/Rating.js +2 -2
  97. package/dist/es/f/fields/SelectInput/SelectInput.js +25 -6
  98. package/dist/es/f/fields/SelectInput/styles.scss +4 -4
  99. package/dist/es/f/fields/TaskRecommendationInput/TaskRecommendationInput.js +1 -1
  100. package/dist/es/f/fields/TaskRecommendationInput/styles.scss +4 -0
  101. package/dist/es/f/fields/TextInput/TextInput.js +19 -5
  102. package/dist/es/f/fields/TextInput/styles.scss +3 -7
  103. package/dist/es/f/fields/TextareaInput/TextareaInput.js +14 -7
  104. package/dist/es/form.scss +1 -1
  105. package/package.json +3 -3
  106. package/src/__snapshots__/Storyshots.test.js.snap +5662 -449
  107. package/src/local.scss +4 -0
  108. package/src/stories/a/AnimatedCounter.stories.jsx +9 -5
  109. package/src/stories/a/BackgroundGradient.stories.jsx +38 -0
  110. package/src/stories/a/ContentCard.stories.jsx +1 -1
  111. package/src/stories/a/Conversation.stories.jsx +78 -1
  112. package/src/stories/a/OvalIllustration.stories.jsx +59 -0
  113. package/src/stories/a/People.stories.jsx +25 -1
  114. package/src/stories/a/ProgressBar.stories.jsx +1 -1
  115. package/src/stories/a/Quote.stories.jsx +1 -1
  116. package/src/stories/a/Shapes.stories.jsx +143 -0
  117. package/src/stories/a/SnapScroller.stories.jsx +98 -0
  118. package/src/stories/a/Spinner.stories.jsx +1 -1
  119. package/src/stories/b/Button.stories.jsx +83 -54
  120. package/src/stories/b/Metrics.stories.jsx +62 -0
  121. package/src/stories/b/Page.stories.jsx +51 -1
  122. package/src/stories/b/ThemeSelector.stories.jsx +1 -1
  123. package/src/stories/b/Title.stories.jsx +1 -1
  124. package/src/stories/c/ContentSlides.stories.jsx +2 -2
  125. package/src/stories/colors.js +5 -3
  126. package/src/stories/f/CheckboxInput.stories.jsx +1 -1
  127. package/src/stories/f/SelectInput.stories.jsx +29 -0
  128. package/src/stories/f/TaskRecommendationInput.stories.jsx +1 -1
  129. package/src/stories/f/TextInput.stories.jsx +14 -4
  130. package/src/stories/f/TextareaInput.stories.jsx +42 -6
  131. package/src/ui/a/AnimatedCounter/AnimatedCounter.jsx +21 -27
  132. package/src/ui/a/AnimatedCounter/styles.scss +3 -11
  133. package/src/ui/a/BackgroundGradient/BackgroundGradient.jsx +76 -0
  134. package/src/ui/a/BackgroundGradient/index.js +2 -0
  135. package/src/ui/a/BackgroundGradient/styles.scss +16 -0
  136. package/src/ui/a/Conversation/Conversation.jsx +15 -7
  137. package/src/ui/a/Conversation/common/Message/Message.jsx +40 -7
  138. package/src/ui/a/Conversation/styles.scss +129 -32
  139. package/src/ui/a/OvalIllustration/OvalIllustration.jsx +134 -0
  140. package/src/ui/a/OvalIllustration/index.js +2 -0
  141. package/src/ui/a/OvalIllustration/styles.scss +102 -0
  142. package/src/ui/a/People/People.jsx +12 -4
  143. package/src/ui/a/People/common/Person/Person.jsx +7 -1
  144. package/src/ui/a/People/styles.scss +13 -15
  145. package/src/ui/a/Shapes/Shapes.jsx +191 -0
  146. package/src/ui/a/Shapes/index.js +2 -0
  147. package/src/ui/a/Shapes/styles.scss +255 -0
  148. package/src/ui/a/SnapScroller/SnapScroller.jsx +83 -0
  149. package/src/ui/a/SnapScroller/index.js +2 -0
  150. package/src/ui/a/SnapScroller/styles.scss +38 -0
  151. package/src/ui/a/TeamInfo/styles.scss +2 -2
  152. package/src/ui/a/index.js +4 -0
  153. package/src/ui/b/Button/Button.jsx +9 -1
  154. package/src/ui/b/Button/styles.scss +82 -18
  155. package/src/ui/b/Metrics/Metrics.jsx +93 -0
  156. package/src/ui/b/Metrics/index.js +2 -0
  157. package/src/ui/b/Metrics/styles.scss +91 -0
  158. package/src/ui/b/Page/common/Section/Section.jsx +68 -2
  159. package/src/ui/b/Page/styles.scss +8 -2
  160. package/src/ui/b/QuestionDropdown/styles.scss +1 -1
  161. package/src/ui/b/index.js +1 -0
  162. package/src/ui/c/ContentSlides/common/HorizontalMenu/HorizontalMenu.jsx +1 -1
  163. package/src/ui/c/ContentSlides/common/Navigator/Navigator.jsx +3 -2
  164. package/src/ui/f/common/Debugger/Debugger.jsx +1 -1
  165. package/src/ui/f/common/Label/Label.jsx +1 -1
  166. package/src/ui/f/fields/ChoicesInput/ChoicesInput.jsx +2 -2
  167. package/src/ui/f/fields/RatingsInput/common/Rating/Rating.jsx +2 -2
  168. package/src/ui/f/fields/SelectInput/SelectInput.jsx +35 -5
  169. package/src/ui/f/fields/SelectInput/styles.scss +4 -4
  170. package/src/ui/f/fields/TaskRecommendationInput/TaskRecommendationInput.jsx +1 -1
  171. package/src/ui/f/fields/TaskRecommendationInput/styles.scss +4 -0
  172. package/src/ui/f/fields/TextInput/TextInput.jsx +15 -2
  173. package/src/ui/f/fields/TextInput/styles.scss +3 -7
  174. package/src/ui/f/fields/TextareaInput/TextareaInput.jsx +22 -11
  175. package/src/ui/form.scss +1 -1
  176. package/dist/cjs/a/RatingsInput/common/index.js +0 -13
  177. package/dist/cjs/a/RatingsInput/styles.scss +0 -35
  178. package/dist/es/a/RatingsInput/common/Rating/Rating.js +0 -102
  179. package/dist/es/a/RatingsInput/common/index.js +0 -1
  180. package/dist/es/a/RatingsInput/index.js +0 -2
  181. package/dist/es/a/RatingsInput/styles.scss +0 -35
@@ -21,6 +21,7 @@ const Person = ({
21
21
  name,
22
22
  image,
23
23
  role,
24
+ color,
24
25
  // ...otherProps
25
26
  }) => (
26
27
  <div
@@ -31,6 +32,7 @@ const Person = ({
31
32
 
32
33
  componentClassName,
33
34
  userClassName,
35
+ `y-${color}`,
34
36
  ]
35
37
  .filter((e) => e)
36
38
  .join(' ')}
@@ -72,10 +74,14 @@ Person.propTypes = {
72
74
  * The person's role
73
75
  */
74
76
  role :PropTypes.string.isRequired,
77
+ /**
78
+ * The base color of the person's component
79
+ */
80
+ color:PropTypes.string,
75
81
  }
76
82
 
77
83
  Person.defaultProps = {
78
- // someProp:false
84
+ color:'background2',
79
85
  }
80
86
 
81
87
  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,191 @@
1
+ /* @pareto-engineering/generator-front 1.0.12 */
2
+ import * as React from 'react'
3
+
4
+ import { useLayoutEffect } from 'react'
5
+
6
+ import PropTypes from 'prop-types'
7
+
8
+ import styleNames from '@pareto-engineering/bem'
9
+
10
+ // Local Definitions
11
+
12
+ const baseClassName = styleNames.base
13
+
14
+ const componentClassName = 'shapes'
15
+
16
+ /**
17
+ * This is the component description.
18
+ */
19
+ const Shapes = ({
20
+ id,
21
+ className:userClassName,
22
+ style,
23
+ shape,
24
+ height,
25
+ overflow,
26
+ verticalAlign,
27
+ horizontalAlign,
28
+ // ...otherProps
29
+ }) => {
30
+ useLayoutEffect(() => {
31
+ import('./styles.scss')
32
+ }, [])
33
+
34
+ return (
35
+ <div
36
+ id={id}
37
+ className={[
38
+
39
+ baseClassName,
40
+
41
+ componentClassName,
42
+ userClassName,
43
+ ]
44
+ .filter((e) => e)
45
+ .join(' ')}
46
+ style={{
47
+ ...style,
48
+ '--shape-height' :height,
49
+ '--overflow' :overflow,
50
+ '--vertical-align' :verticalAlign,
51
+ '--horizontal-align':horizontalAlign,
52
+ }}
53
+ // {...otherProps}
54
+ >
55
+ { shape === 'triangle'
56
+ && <div className="triangle" />}
57
+ { shape === 'inverted-triangle'
58
+ && <div className="inverted-triangle" />}
59
+ { shape === 'half-ellipses'
60
+ && (
61
+ <div className="half-ellipses">
62
+ <div className="up" />
63
+ <div className="down" />
64
+ </div>
65
+ )}
66
+ { shape === 'ellipse' && <div className="ellipse" />}
67
+ { shape === 'diamonds' && (
68
+ <div className="diamonds">
69
+ <div className="top-right" />
70
+ <div className="bottom-left" />
71
+ <div className="bottom-right" />
72
+ </div>
73
+ )}
74
+ { shape === 'rectangles' && (
75
+ <div className="rectangles">
76
+ <div className="top" />
77
+ <div className="center" />
78
+ <div className="bottom" />
79
+ </div>
80
+ )}
81
+ { shape === 'half-ellipse' && (
82
+ <div className="half-ellipse" />
83
+ )}
84
+ { shape === 'circle' && (
85
+ <div className="circle" />
86
+ )}
87
+ { shape === 'half-circle' && (
88
+ <div className="half-circle" />
89
+ )}
90
+ { shape === 'ellipses' && (
91
+ <div className="ellipses">
92
+ <div className="first" />
93
+ <div className="second" />
94
+ </div>
95
+ )}
96
+ {shape === 'spiral' && (
97
+ <div className="spiral">
98
+ <div className="circle-one" />
99
+ <div className="circle-two" />
100
+ <div className="circle-three" />
101
+ <div className="circle-four" />
102
+ </div>
103
+ )}
104
+ {shape === 'rotated-ellipses' && (
105
+ <div className="rotated-ellipses">
106
+ <div className="ellipse-one" />
107
+ <div className="ellipse-two" />
108
+ </div>
109
+ )}
110
+ {shape === 'intersecting-circles' && (
111
+ <div className="intersecting-circles">
112
+ <div className="left" />
113
+ <div className="right" />
114
+ </div>
115
+ )}
116
+ </div>
117
+ )
118
+ }
119
+
120
+ Shapes.propTypes = {
121
+ /**
122
+ * The HTML id for this element
123
+ */
124
+ id:PropTypes.string,
125
+
126
+ /**
127
+ * The HTML class names for this element
128
+ */
129
+ className:PropTypes.string,
130
+
131
+ /**
132
+ * The React-written, css properties for this element.
133
+ */
134
+ style:PropTypes.objectOf(PropTypes.string),
135
+
136
+ /**
137
+ * The height of the shape.
138
+ */
139
+ height:PropTypes.string,
140
+
141
+ /**
142
+ * The vertical alignment of the shape.
143
+ */
144
+ verticalAlign:PropTypes.oneOf([
145
+ 'flex-start',
146
+ 'center',
147
+ 'flex-end',
148
+ ]),
149
+
150
+ /**
151
+ * The horizontal alignment of the shape.
152
+ */
153
+ horizontalAlign:PropTypes.oneOf([
154
+ 'flex-start',
155
+ 'center',
156
+ 'flex-end',
157
+ ]),
158
+
159
+ /**
160
+ * The options of a shape to use
161
+ */
162
+ shape:PropTypes.oneOf([
163
+ 'triangle',
164
+ 'ellipse',
165
+ 'half-ellipse',
166
+ 'half-ellipses',
167
+ 'spiral',
168
+ 'diamonds',
169
+ 'circle',
170
+ 'half-circle',
171
+ 'ellipses',
172
+ 'rectangles',
173
+ 'rotated-ellipses',
174
+ 'inverted-triangle',
175
+ 'intersecting-circles',
176
+ ]),
177
+
178
+ /**
179
+ * The overflow of the shape.
180
+ */
181
+ overflow:PropTypes.oneOf(['hidden', 'visible']),
182
+ }
183
+
184
+ Shapes.defaultProps = {
185
+ verticalAlign :'center',
186
+ horizontalAlign:'center',
187
+ shape :'triangle',
188
+ overflow :'hidden',
189
+ }
190
+
191
+ 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,83 @@
1
+ /* @pareto-engineering/generator-front 1.0.12 */
2
+ import * as React from 'react'
3
+
4
+ import { useLayoutEffect } from 'react'
5
+
6
+ import PropTypes from 'prop-types'
7
+
8
+ import styleNames from '@pareto-engineering/bem'
9
+
10
+ // Local Definitions
11
+
12
+ const baseClassName = styleNames.base
13
+
14
+ const componentClassName = 'snap-scroller'
15
+
16
+ /**
17
+ * This is the component description.
18
+ */
19
+ const SnapScroller = ({
20
+ id,
21
+ className:userClassName,
22
+ style,
23
+ children,
24
+ noScrollOnDesktop,
25
+ // ...otherProps
26
+ }) => {
27
+ useLayoutEffect(() => {
28
+ import('./styles.scss')
29
+ }, [])
30
+
31
+ return (
32
+ <div
33
+ id={id}
34
+ className={[
35
+
36
+ baseClassName,
37
+
38
+ componentClassName,
39
+ userClassName,
40
+ noScrollOnDesktop && 'desktop-no-scroll',
41
+ ]
42
+ .filter((e) => e)
43
+ .join(' ')}
44
+ style={style}
45
+ // {...otherProps}
46
+ >
47
+ {children}
48
+ </div>
49
+ )
50
+ }
51
+
52
+ SnapScroller.propTypes = {
53
+ /**
54
+ * The HTML id for this element
55
+ */
56
+ id:PropTypes.string,
57
+
58
+ /**
59
+ * The HTML class names for this element
60
+ */
61
+ className:PropTypes.string,
62
+
63
+ /**
64
+ * The React-written, css properties for this element.
65
+ */
66
+ style:PropTypes.objectOf(PropTypes.string),
67
+
68
+ /**
69
+ * The children JSX
70
+ */
71
+ children:PropTypes.node,
72
+
73
+ /**
74
+ * Whether to snap scroll on desktop (false will enable a flexbox)
75
+ */
76
+ noScrollOnDesktop:PropTypes.bool,
77
+ }
78
+
79
+ SnapScroller.defaultProps = {
80
+ noScrollOnDesktop:false,
81
+ }
82
+
83
+ export default SnapScroller
@@ -0,0 +1,2 @@
1
+ /* @pareto-engineering/generator-front 1.0.12 */
2
+ export { default as SnapScroller } from './SnapScroller'
@@ -0,0 +1,38 @@
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-spacing:var(--spacing, var(--u));
8
+
9
+ .#{bem.$base}.snap-scroller {
10
+ display: flex;
11
+ -ms-overflow-style: none; /* for Internet Explorer, Edge */
12
+ overflow-x: auto;
13
+ scroll-padding: calc(#{$default-spacing} *2);
14
+ scroll-snap-type: x mandatory;
15
+ scrollbar-width: none;
16
+
17
+
18
+ > * {
19
+ &:first-child {
20
+ margin-left: $default-spacing;
21
+ }
22
+ display: inline-block;
23
+ margin-right: $default-spacing;
24
+ scroll-snap-align: start;
25
+ }
26
+
27
+
28
+ @include mixins.media($from:$sm-md) {
29
+ &.desktop-no-scroll {
30
+ overflow: auto;
31
+ -ms-overflow-style: unset; /* for Internet Explorer, Edge */
32
+ scroll-snap-type: none;
33
+ scrollbar-width: unset;
34
+ }
35
+ }
36
+ }
37
+
38
+
@@ -10,11 +10,11 @@ $img-border-radius: var(--theme-border-radius);
10
10
  $p-h4-color:var(--subtitle);
11
11
  $role-color:var(--metadata);
12
12
  $default-name-color:var(--main1);
13
- $box-shadow:0 .45em 1em 0 var(--background);
13
+ $box-shadow:0 .45em 1em 0 var(--background1);
14
14
 
15
15
  .#{bem.$base}.team-info {
16
16
  align-items: flex-start;
17
- background: var(--light-y, var(--light-background));
17
+ background: var(--light-y, var(--light-background1));
18
18
  box-shadow: $box-shadow;
19
19
  display: flex;
20
20
  flex-direction: column;
package/src/ui/a/index.js CHANGED
@@ -23,3 +23,7 @@ export { Quote } from './Quote'
23
23
  export { ContentCard } from './ContentCard'
24
24
  export { DotInfo } from './DotInfo'
25
25
  export { Timestamp } from './Timestamp'
26
+ export { Shapes } from './Shapes'
27
+ export { OvalIllustration } from './OvalIllustration'
28
+ export { SnapScroller } from './SnapScroller'
29
+ export { BackgroundGradient } from './BackgroundGradient'