@pareto-engineering/design-system 2.0.0-alpha.53 → 2.0.0-alpha.56

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 (225) hide show
  1. package/dist/cjs/a/Alert/Alert.js +141 -0
  2. package/dist/cjs/a/Alert/index.js +15 -0
  3. package/dist/cjs/a/Alert/styles.scss +74 -0
  4. package/dist/cjs/a/GradientBackground/GradientBackground.js +140 -0
  5. package/dist/cjs/a/GradientBackground/index.js +15 -0
  6. package/dist/cjs/a/GradientBackground/styles.scss +191 -0
  7. package/dist/cjs/a/Popover/common/Divider/Divider.js +67 -0
  8. package/dist/cjs/a/Popover/common/Divider/index.js +15 -0
  9. package/dist/cjs/a/Popover/common/Item/Item.js +67 -0
  10. package/dist/cjs/a/Popover/common/Item/index.js +15 -0
  11. package/dist/cjs/a/Popover/common/index.js +21 -0
  12. package/dist/cjs/a/index.js +9 -1
  13. package/dist/cjs/c/AcceptCookies/AcceptCookies.js +134 -0
  14. package/dist/cjs/c/AcceptCookies/index.js +15 -0
  15. package/dist/cjs/c/AcceptCookies/styles.scss +49 -0
  16. package/dist/cjs/c/BlogCategoryButton/BlogCategoryButton.js +95 -0
  17. package/dist/cjs/c/BlogCategoryButton/index.js +15 -0
  18. package/dist/cjs/c/BlogContext/BlogContextProvider.js +63 -0
  19. package/dist/cjs/c/BlogContext/Context.js +16 -0
  20. package/dist/cjs/c/BlogContext/ContextProvider.js +63 -0
  21. package/dist/cjs/c/BlogContext/index.js +31 -0
  22. package/dist/cjs/c/BlogContext/useBlog.js +16 -0
  23. package/dist/cjs/c/BlogPost/BlogPost.js +147 -0
  24. package/dist/cjs/c/BlogPost/index.js +15 -0
  25. package/dist/cjs/c/BlogPost/styles.scss +33 -0
  26. package/dist/cjs/c/BlogPostsList/BlogPostsList.js +73 -0
  27. package/dist/cjs/c/BlogPostsList/common/Card/Card.js +170 -0
  28. package/dist/cjs/c/BlogPostsList/common/Card/index.js +15 -0
  29. package/dist/cjs/c/BlogPostsList/common/index.js +13 -0
  30. package/dist/cjs/c/BlogPostsList/index.js +15 -0
  31. package/dist/cjs/c/BlogPostsList/styles.scss +72 -0
  32. package/dist/cjs/c/SiteFooter/SiteFooter.js +73 -0
  33. package/dist/cjs/c/SiteFooter/common/Section/Section.js +95 -0
  34. package/dist/cjs/c/SiteFooter/common/Section/index.js +15 -0
  35. package/dist/cjs/c/SiteFooter/common/index.js +13 -0
  36. package/dist/cjs/c/SiteFooter/index.js +15 -0
  37. package/dist/cjs/c/SiteFooter/styles.scss +34 -0
  38. package/dist/cjs/c/SiteHeaderCTA/SiteHeaderCTA.js +108 -0
  39. package/dist/cjs/c/SiteHeaderCTA/index.js +15 -0
  40. package/dist/cjs/c/SiteHeaderCTA/styles.scss +44 -0
  41. package/dist/cjs/c/SiteMission/SiteMission.js +113 -0
  42. package/dist/cjs/c/SiteMission/index.js +15 -0
  43. package/dist/cjs/c/SiteMission/styles.scss +30 -0
  44. package/dist/cjs/c/SiteNavigation/SiteNavigation.js +130 -0
  45. package/dist/cjs/c/SiteNavigation/index.js +15 -0
  46. package/dist/cjs/c/SiteNavigation/styles.scss +118 -0
  47. package/dist/cjs/c/SiteOnboardingStep/SiteOnboardingStep.js +98 -0
  48. package/dist/cjs/c/SiteOnboardingStep/index.js +15 -0
  49. package/dist/cjs/c/SiteOnboardingStep/styles.scss +51 -0
  50. package/dist/cjs/c/SitePricing/SitePricing.js +108 -0
  51. package/dist/cjs/c/SitePricing/index.js +15 -0
  52. package/dist/cjs/c/SitePricing/styles.scss +73 -0
  53. package/dist/cjs/c/SiteServices/SiteServices.js +211 -0
  54. package/dist/cjs/c/SiteServices/index.js +15 -0
  55. package/dist/cjs/c/SiteServices/styles.scss +138 -0
  56. package/dist/cjs/c/TeamGallery/TeamGallery.js +80 -0
  57. package/dist/cjs/c/TeamGallery/common/PersonCard/PersonCard.js +84 -0
  58. package/dist/cjs/c/TeamGallery/common/PersonCard/index.js +15 -0
  59. package/dist/cjs/c/TeamGallery/common/index.js +13 -0
  60. package/dist/cjs/c/TeamGallery/index.js +15 -0
  61. package/dist/cjs/c/TeamGallery/styles.scss +100 -0
  62. package/dist/cjs/c/Testimonials/Testimonials.js +119 -0
  63. package/dist/cjs/c/Testimonials/index.js +15 -0
  64. package/dist/cjs/c/Testimonials/styles.scss +112 -0
  65. package/dist/cjs/experimental/GradientBackground/GradientBackground.js +98 -0
  66. package/dist/cjs/experimental/GradientBackground/index.js +15 -0
  67. package/dist/cjs/experimental/GradientBackground/styles.scss +64 -0
  68. package/dist/cjs/experimental/index.js +13 -0
  69. package/dist/cjs/f/FormInput/FormInput.js +1 -1
  70. package/dist/cjs/f/common/Description/Description.js +20 -14
  71. package/dist/cjs/f/fields/CheckboxInput/CheckboxInput.js +105 -0
  72. package/dist/cjs/f/fields/CheckboxInput/index.js +15 -0
  73. package/dist/cjs/f/fields/CheckboxInput/styles.scss +28 -0
  74. package/dist/cjs/f/fields/IntlTelInput/IntlTelInput.js +170 -0
  75. package/dist/cjs/f/fields/IntlTelInput/index.js +15 -0
  76. package/dist/cjs/f/fields/IntlTelInput/styles.scss +37 -0
  77. package/dist/cjs/f/fields/QueryCombobox/QueryCombobox.js +0 -2
  78. package/dist/cjs/f/fields/QueryCombobox/common/Combobox/Combobox.js +5 -9
  79. package/dist/cjs/f/fields/QueryCombobox/common/MultipleCombobox/MultipleCombobox.js +5 -9
  80. package/dist/cjs/f/fields/QuerySelect/styles.scss +21 -0
  81. package/dist/cjs/f/fields/RadioInput/RadioInput.js +110 -0
  82. package/dist/cjs/f/fields/RadioInput/index.js +15 -0
  83. package/dist/cjs/f/fields/RadioInput/styles.scss +26 -0
  84. package/dist/cjs/f/fields/SelectInput/SelectInput.js +16 -8
  85. package/dist/cjs/f/fields/TaskRecommendation/TaskRecommendation.js +129 -0
  86. package/dist/cjs/f/fields/TaskRecommendation/index.js +15 -0
  87. package/dist/cjs/f/fields/TaskRecommendation/styles.scss +37 -0
  88. package/dist/cjs/f/fields/TaskRecommendationInput/TaskRecommendationInput.js +131 -0
  89. package/dist/cjs/f/fields/TaskRecommendationInput/index.js +15 -0
  90. package/dist/cjs/f/fields/TaskRecommendationInput/styles.scss +41 -0
  91. package/dist/cjs/f/fields/TextArea/TextArea.js +141 -0
  92. package/dist/cjs/f/fields/TextArea/index.js +15 -0
  93. package/dist/cjs/f/fields/TextArea/styles.scss +19 -0
  94. package/dist/cjs/f/fields/TextInput/TextInput.js +18 -9
  95. package/dist/cjs/f/fields/TextareaInput/TextareaInput.js +16 -8
  96. package/dist/cjs/test/QueryLoader/styles.scss +9 -0
  97. package/dist/es/a/Alert/Alert.js +118 -0
  98. package/dist/es/a/Alert/index.js +2 -0
  99. package/dist/es/a/Alert/styles.scss +74 -0
  100. package/dist/es/a/GradientBackground/GradientBackground.js +118 -0
  101. package/dist/es/a/GradientBackground/index.js +2 -0
  102. package/dist/es/a/GradientBackground/styles.scss +191 -0
  103. package/dist/es/a/Popover/common/Divider/Divider.js +47 -0
  104. package/dist/es/a/Popover/common/Divider/index.js +2 -0
  105. package/dist/es/a/Popover/common/Item/Item.js +47 -0
  106. package/dist/es/a/Popover/common/Item/index.js +2 -0
  107. package/dist/es/a/Popover/common/index.js +2 -0
  108. package/dist/es/a/index.js +2 -1
  109. package/dist/es/c/AcceptCookies/AcceptCookies.js +117 -0
  110. package/dist/es/c/AcceptCookies/index.js +2 -0
  111. package/dist/es/c/AcceptCookies/styles.scss +49 -0
  112. package/dist/es/c/BlogCategoryButton/BlogCategoryButton.js +68 -0
  113. package/dist/es/c/BlogCategoryButton/index.js +2 -0
  114. package/dist/es/c/BlogContext/BlogContextProvider.js +45 -0
  115. package/dist/es/c/BlogContext/Context.js +2 -0
  116. package/dist/es/c/BlogContext/ContextProvider.js +45 -0
  117. package/dist/es/c/BlogContext/index.js +4 -0
  118. package/dist/es/c/BlogContext/useBlog.js +3 -0
  119. package/dist/es/c/BlogPost/BlogPost.js +128 -0
  120. package/dist/es/c/BlogPost/index.js +2 -0
  121. package/dist/es/c/BlogPost/styles.scss +33 -0
  122. package/dist/es/c/BlogPostsList/BlogPostsList.js +56 -0
  123. package/dist/es/c/BlogPostsList/common/Card/Card.js +143 -0
  124. package/dist/es/c/BlogPostsList/common/Card/index.js +2 -0
  125. package/dist/es/c/BlogPostsList/common/index.js +1 -0
  126. package/dist/es/c/BlogPostsList/index.js +2 -0
  127. package/dist/es/c/BlogPostsList/styles.scss +72 -0
  128. package/dist/es/c/SiteFooter/SiteFooter.js +56 -0
  129. package/dist/es/c/SiteFooter/common/Section/Section.js +73 -0
  130. package/dist/es/c/SiteFooter/common/Section/index.js +2 -0
  131. package/dist/es/c/SiteFooter/common/index.js +1 -0
  132. package/dist/es/c/SiteFooter/index.js +2 -0
  133. package/dist/es/c/SiteFooter/styles.scss +34 -0
  134. package/dist/es/c/SiteHeaderCTA/SiteHeaderCTA.js +92 -0
  135. package/dist/es/c/SiteHeaderCTA/index.js +2 -0
  136. package/dist/es/c/SiteHeaderCTA/styles.scss +44 -0
  137. package/dist/es/c/SiteMission/SiteMission.js +96 -0
  138. package/dist/es/c/SiteMission/index.js +2 -0
  139. package/dist/es/c/SiteMission/styles.scss +30 -0
  140. package/dist/es/c/SiteNavigation/SiteNavigation.js +111 -0
  141. package/dist/es/c/SiteNavigation/index.js +2 -0
  142. package/dist/es/c/SiteNavigation/styles.scss +118 -0
  143. package/dist/es/c/SiteOnboardingStep/SiteOnboardingStep.js +81 -0
  144. package/dist/es/c/SiteOnboardingStep/index.js +2 -0
  145. package/dist/es/c/SiteOnboardingStep/styles.scss +51 -0
  146. package/dist/es/c/SitePricing/SitePricing.js +91 -0
  147. package/dist/es/c/SitePricing/index.js +2 -0
  148. package/dist/es/c/SitePricing/styles.scss +73 -0
  149. package/dist/es/c/SiteServices/SiteServices.js +195 -0
  150. package/dist/es/c/SiteServices/index.js +2 -0
  151. package/dist/es/c/SiteServices/styles.scss +138 -0
  152. package/dist/es/c/TeamGallery/TeamGallery.js +64 -0
  153. package/dist/es/c/TeamGallery/common/PersonCard/PersonCard.js +64 -0
  154. package/dist/es/c/TeamGallery/common/PersonCard/index.js +2 -0
  155. package/dist/es/c/TeamGallery/common/index.js +1 -0
  156. package/dist/es/c/TeamGallery/index.js +2 -0
  157. package/dist/es/c/TeamGallery/styles.scss +100 -0
  158. package/dist/es/c/Testimonials/Testimonials.js +99 -0
  159. package/dist/es/c/Testimonials/index.js +2 -0
  160. package/dist/es/c/Testimonials/styles.scss +112 -0
  161. package/dist/es/experimental/GradientBackground/GradientBackground.js +76 -0
  162. package/dist/es/experimental/GradientBackground/index.js +2 -0
  163. package/dist/es/experimental/GradientBackground/styles.scss +64 -0
  164. package/dist/es/experimental/index.js +1 -0
  165. package/dist/es/f/FormInput/FormInput.js +1 -1
  166. package/dist/es/f/common/Description/Description.js +19 -14
  167. package/dist/es/f/fields/CheckboxInput/CheckboxInput.js +85 -0
  168. package/dist/es/f/fields/CheckboxInput/index.js +2 -0
  169. package/dist/es/f/fields/CheckboxInput/styles.scss +28 -0
  170. package/dist/es/f/fields/IntlTelInput/IntlTelInput.js +152 -0
  171. package/dist/es/f/fields/IntlTelInput/index.js +2 -0
  172. package/dist/es/f/fields/IntlTelInput/styles.scss +37 -0
  173. package/dist/es/f/fields/QueryCombobox/QueryCombobox.js +0 -2
  174. package/dist/es/f/fields/QueryCombobox/common/Combobox/Combobox.js +5 -9
  175. package/dist/es/f/fields/QueryCombobox/common/MultipleCombobox/MultipleCombobox.js +5 -9
  176. package/dist/es/f/fields/QuerySelect/styles.scss +21 -0
  177. package/dist/es/f/fields/RadioInput/RadioInput.js +90 -0
  178. package/dist/es/f/fields/RadioInput/index.js +2 -0
  179. package/dist/es/f/fields/RadioInput/styles.scss +26 -0
  180. package/dist/es/f/fields/SelectInput/SelectInput.js +16 -8
  181. package/dist/es/f/fields/TaskRecommendation/TaskRecommendation.js +111 -0
  182. package/dist/es/f/fields/TaskRecommendation/index.js +2 -0
  183. package/dist/es/f/fields/TaskRecommendation/styles.scss +37 -0
  184. package/dist/es/f/fields/TaskRecommendationInput/TaskRecommendationInput.js +111 -0
  185. package/dist/es/f/fields/TaskRecommendationInput/index.js +2 -0
  186. package/dist/es/f/fields/TaskRecommendationInput/styles.scss +41 -0
  187. package/dist/es/f/fields/TextArea/TextArea.js +124 -0
  188. package/dist/es/f/fields/TextArea/index.js +2 -0
  189. package/dist/es/f/fields/TextArea/styles.scss +19 -0
  190. package/dist/es/f/fields/TextInput/TextInput.js +18 -9
  191. package/dist/es/f/fields/TextareaInput/TextareaInput.js +16 -8
  192. package/dist/es/test/QueryLoader/styles.scss +9 -0
  193. package/package.json +2 -2
  194. package/src/__snapshots__/Storyshots.test.js.snap +1864 -1423
  195. package/src/stories/a/Alert.stories.jsx +75 -0
  196. package/src/stories/a/DotInfo.stories.jsx +14 -13
  197. package/src/stories/a/ProgressBar.stories.jsx +16 -7
  198. package/src/stories/a/Timestamp.stories.jsx +35 -39
  199. package/src/stories/b/Logo.stories.jsx +13 -12
  200. package/src/stories/b/QuestionDropdown.stories.jsx +20 -30
  201. package/src/stories/b/SocialMediaButton.stories.jsx +34 -51
  202. package/src/stories/b/Title.stories.jsx +13 -15
  203. package/src/stories/c/ContentSlides.stories.jsx +27 -295
  204. package/src/stories/c/Shortener.stories.jsx +9 -3
  205. package/src/stories/c/SocialMediaShareButton.stories.jsx +14 -6
  206. package/src/stories/f/ChoicesInput.stories.jsx +66 -130
  207. package/src/stories/f/Description.stories.jsx +22 -4
  208. package/src/stories/f/QueryCombobox.stories.jsx +2 -1
  209. package/src/stories/f/QuerySelect.stories.jsx +2 -1
  210. package/src/stories/f/RatingsInput.stories.jsx +29 -23
  211. package/src/stories/f/SelectInput.stories.jsx +37 -76
  212. package/src/stories/f/TextInput.stories.jsx +62 -53
  213. package/src/stories/f/TextareaInput.stories.jsx +37 -47
  214. package/src/ui/a/Alert/Alert.jsx +144 -0
  215. package/src/ui/a/Alert/index.js +2 -0
  216. package/src/ui/a/Alert/styles.scss +74 -0
  217. package/src/ui/a/index.js +1 -0
  218. package/src/ui/f/FormInput/FormInput.jsx +1 -0
  219. package/src/ui/f/common/Description/Description.jsx +34 -29
  220. package/src/ui/f/fields/QueryCombobox/QueryCombobox.jsx +1 -2
  221. package/src/ui/f/fields/QueryCombobox/common/Combobox/Combobox.jsx +1 -11
  222. package/src/ui/f/fields/QueryCombobox/common/MultipleCombobox/MultipleCombobox.jsx +1 -11
  223. package/src/ui/f/fields/SelectInput/SelectInput.jsx +16 -9
  224. package/src/ui/f/fields/TextInput/TextInput.jsx +13 -7
  225. package/src/ui/f/fields/TextareaInput/TextareaInput.jsx +9 -8
@@ -0,0 +1,2 @@
1
+ /* @pareto-engineering/generator-front 1.0.12 */
2
+ export { default as SiteOnboardingStep } from "./SiteOnboardingStep";
@@ -0,0 +1,51 @@
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
+ $onboarding-step-img-height:10em;
8
+ $index-color:var(--dark-subtitle);
9
+ $title-color: var(--dark-heading);
10
+ $description-color:var(--subtitle);
11
+ $onboarding-step-gap:var(--u);
12
+ $onboarding-step-min-max:250px;
13
+
14
+ .#{bem.$base}.onboarding-step {
15
+ display: grid;
16
+ gap: $onboarding-step-gap;
17
+ grid-template-columns: 1fr;
18
+ height: auto;
19
+ justify-content: center;
20
+
21
+ @include mixins.media($from:$sm-md) {
22
+ grid-template-columns: repeat(3, 1fr);
23
+ }
24
+
25
+ .content {
26
+ align-items: center;
27
+ display: flex;
28
+ flex-direction: column;
29
+ padding: var(--v);
30
+
31
+ /*
32
+ .img {
33
+ height: $onboarding-step-img-height;
34
+ object-fit: contain;
35
+ } */
36
+
37
+ .index {
38
+ color: $index-color;
39
+ }
40
+
41
+ .title {
42
+ color: $title-color;
43
+ }
44
+
45
+ .description {
46
+ color: $description-color;
47
+ }
48
+ }
49
+ }
50
+
51
+
@@ -0,0 +1,91 @@
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';
6
+ import { Button } from "../../b"; // Local Definitions
7
+
8
+ const baseClassName = styleNames.base;
9
+ const componentClassName = 'pricing';
10
+ /**
11
+ * This is the component description.
12
+ */
13
+
14
+ const SitePricing = ({
15
+ id,
16
+ className: userClassName,
17
+ style,
18
+ color,
19
+ pricingMap,
20
+ ctaLink // ...otherProps
21
+
22
+ }) => {
23
+ useLayoutEffect(() => {
24
+ import("./styles.scss");
25
+ }, []);
26
+ return /*#__PURE__*/React.createElement("div", {
27
+ id: id,
28
+ className: [baseClassName, componentClassName, userClassName, `y-${color}`, 'u2'].filter(e => e).join(' '),
29
+ style: style // {...otherProps}
30
+
31
+ }, /*#__PURE__*/React.createElement("div", {
32
+ className: "content s-1 md-s0"
33
+ }, pricingMap.map((pricing, index) => /*#__PURE__*/React.createElement("div", {
34
+ key: pricing.type,
35
+ className: "info-content md-u2 u1 p-u"
36
+ }, /*#__PURE__*/React.createElement("div", {
37
+ className: "info md-v2 v1"
38
+ }, /*#__PURE__*/React.createElement("span", {
39
+ className: "plan-name uc s1 mb-v"
40
+ }, pricing.type), /*#__PURE__*/React.createElement("span", {
41
+ className: "plan-price uc s5 mb-v"
42
+ }, pricing.price), /*#__PURE__*/React.createElement("ul", null, pricing.features.map(feature => /*#__PURE__*/React.createElement("li", {
43
+ key: feature,
44
+ className: "mb-v"
45
+ }, feature)))), index === 0 && /*#__PURE__*/React.createElement("div", {
46
+ className: "cta"
47
+ }, /*#__PURE__*/React.createElement("a", {
48
+ href: ctaLink,
49
+ rel: "noreferrer"
50
+ }, /*#__PURE__*/React.createElement(Button, null, "Get started in 5 min")))))));
51
+ };
52
+
53
+ SitePricing.propTypes = {
54
+ /**
55
+ * The HTML id for this element
56
+ */
57
+ id: PropTypes.string,
58
+
59
+ /**
60
+ * The HTML class names for this element
61
+ */
62
+ className: PropTypes.string,
63
+
64
+ /**
65
+ * The title and background color
66
+ */
67
+ color: PropTypes.string,
68
+
69
+ /**
70
+ * The link of the call to action button
71
+ */
72
+ ctaLink: PropTypes.string,
73
+
74
+ /**
75
+ * The React-written, css properties for this element.
76
+ */
77
+ style: PropTypes.objectOf(PropTypes.string),
78
+
79
+ /**
80
+ * The pricingMap
81
+ */
82
+ pricingMap: PropTypes.arrayOf(PropTypes.shape({
83
+ type: PropTypes.string.isRequired,
84
+ price: PropTypes.string.isRequired,
85
+ features: PropTypes.arrayOf(PropTypes.string).isRequired
86
+ })).isRequired
87
+ };
88
+ SitePricing.defaultProps = {
89
+ color: 'main1'
90
+ };
91
+ export default SitePricing;
@@ -0,0 +1,2 @@
1
+ /* @pareto-engineering/generator-front 1.0.12 */
2
+ export { default as SitePricing } from "./SitePricing";
@@ -0,0 +1,73 @@
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-pricing-main-column-width: 220px;
8
+ $desktop-pricing-main-column-width: 300px;
9
+ $box-shadow:0 2px 2px 0 var(--background2);
10
+
11
+ .#{bem.$base}.pricing {
12
+ height: auto;
13
+
14
+ .content {
15
+ display: grid;
16
+ gap: var(--u);
17
+ grid-template-columns: repeat(auto-fit, minmax($default-pricing-main-column-width, 1fr));
18
+ justify-content: center;
19
+
20
+ @include mixins.media($from: $sm-md) {
21
+ grid-template-columns: repeat(auto-fit, minmax($desktop-pricing-main-column-width, 1fr));
22
+ }
23
+ }
24
+
25
+ .info-content {
26
+ background-color: var(--on-main1);
27
+ border-radius: var(--theme-border-radius);
28
+ //box-shadow: $box-shadow;
29
+ display: flex;
30
+ flex-direction: column;
31
+
32
+ button {
33
+ margin: 0 auto;
34
+ width: auto;
35
+ }
36
+ }
37
+
38
+ .info {
39
+ align-items: center;
40
+ display: flex;
41
+ flex-direction: column;
42
+ justify-content: space-between;
43
+
44
+ ul {
45
+ display: flex;
46
+ flex-direction: column;
47
+ list-style: none;
48
+ padding: 0;
49
+ }
50
+ }
51
+
52
+ .cta {
53
+ align-items: center;
54
+ display: flex;
55
+ flex-direction: column;
56
+ justify-content: center;
57
+ }
58
+
59
+ .title {
60
+ color: var(--on-y);
61
+ }
62
+
63
+ @include mixins.media($to:$sm-md) {
64
+ .content {
65
+ display: grid;
66
+ gap: var(--u);
67
+ grid-template-columns: none;
68
+ justify-content: center;
69
+ }
70
+ }
71
+ }
72
+
73
+
@@ -0,0 +1,195 @@
1
+ /* @pareto-engineering/generator-front 1.0.12 */
2
+ import * as React from 'react';
3
+ import { useState, useEffect, 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 = 'services';
9
+ /**
10
+ * This is the component description.
11
+ */
12
+
13
+ const SiteServices = ({
14
+ id,
15
+ className: userClassName,
16
+ style,
17
+ deletePath,
18
+ servicesMap,
19
+ attachmentPath,
20
+ defaultService,
21
+ defaultServiceTask,
22
+ defaultTaskEmailContent // ...otherProps
23
+
24
+ }) => {
25
+ useLayoutEffect(() => {
26
+ import("./styles.scss");
27
+ }, []);
28
+ const [service, setService] = useState(defaultService);
29
+ const [serviceTask, setServiceTask] = useState(defaultServiceTask);
30
+ const [serviceTaskIndx, setServiceTaskIndx] = useState(0);
31
+ const [taskEmailContent, setTaskEmailContent] = useState(defaultTaskEmailContent);
32
+
33
+ const handleServiceClick = serviceArg => setService(serviceArg);
34
+
35
+ const handleTaskClick = taskArg => setServiceTask(taskArg);
36
+
37
+ useEffect(() => {
38
+ const serviceObjs = servicesMap[service];
39
+ setServiceTask(serviceObjs[0].task);
40
+ }, [service]);
41
+ useEffect(() => {
42
+ const serviceContent = servicesMap[service].find(serviceObj => serviceObj.task === serviceTask);
43
+ setTaskEmailContent(serviceContent.email);
44
+ }, [serviceTask]);
45
+ return /*#__PURE__*/React.createElement("div", {
46
+ id: id,
47
+ className: [baseClassName, componentClassName, userClassName, 'u2 v1'].filter(e => e).join(' '),
48
+ style: style
49
+ }, /*#__PURE__*/React.createElement("div", {
50
+ className: "btn-content v1 s-1 md-s0"
51
+ }, Object.keys(servicesMap).map(serviceName => /*#__PURE__*/React.createElement("button", {
52
+ className: `s1 ${serviceName === service && 'active-service-btn'}`,
53
+ key: serviceName,
54
+ type: "button",
55
+ onClick: () => {
56
+ handleServiceClick(serviceName);
57
+ setServiceTaskIndx(0);
58
+ }
59
+ }, serviceName))), /*#__PURE__*/React.createElement("div", {
60
+ className: "tasks-and-content s-1 md-s0"
61
+ }, /*#__PURE__*/React.createElement("div", {
62
+ className: "tasks"
63
+ }, servicesMap[service].map((serviceObj, index) => /*#__PURE__*/React.createElement("button", {
64
+ key: serviceObj.task,
65
+ className: `v1 mb-v ${serviceTaskIndx === index ? 'b-dark-y c-on-y' : 'b-on-y'}`,
66
+ type: "button",
67
+ onClick: () => {
68
+ handleTaskClick(serviceObj.task);
69
+ setServiceTaskIndx(index);
70
+ }
71
+ }, /*#__PURE__*/React.createElement("span", {
72
+ className: "v50 m-v"
73
+ }, serviceObj.icon), /*#__PURE__*/React.createElement("p", {
74
+ className: "ul"
75
+ }, serviceObj.task)))), /*#__PURE__*/React.createElement("div", {
76
+ className: "task-email b-on-y u2 p-u"
77
+ }, /*#__PURE__*/React.createElement("div", {
78
+ className: "task-email-header"
79
+ }, /*#__PURE__*/React.createElement("span", null, "To"), /*#__PURE__*/React.createElement("span", {
80
+ className: "ml-u"
81
+ }, "camille@hellopareto.com")), /*#__PURE__*/React.createElement("span", {
82
+ className: "v1 mv-v"
83
+ }, taskEmailContent.subject), /*#__PURE__*/React.createElement("p", {
84
+ className: "email-content v25 pb-v"
85
+ }, "Hi Camille,", /*#__PURE__*/React.createElement("br", null), /*#__PURE__*/React.createElement("br", null), taskEmailContent.description, /*#__PURE__*/React.createElement("br", null), /*#__PURE__*/React.createElement("br", null), "Warmly,", /*#__PURE__*/React.createElement("br", null), "Phoebe"), /*#__PURE__*/React.createElement("div", {
86
+ className: "u1 task-email-footer"
87
+ }, /*#__PURE__*/React.createElement("div", {
88
+ className: "task-footer-text"
89
+ }, /*#__PURE__*/React.createElement("span", {
90
+ className: "mr-u"
91
+ }, "Send"), /*#__PURE__*/React.createElement("span", {
92
+ className: "mr-u"
93
+ }, "Send later"), /*#__PURE__*/React.createElement("span", {
94
+ className: "mr-u"
95
+ }, "Remind me")), /*#__PURE__*/React.createElement("div", {
96
+ className: "task-footer-icons"
97
+ }, /*#__PURE__*/React.createElement("img", {
98
+ className: "ml-u",
99
+ alt: "attach",
100
+ src: attachmentPath
101
+ }), /*#__PURE__*/React.createElement("img", {
102
+ className: "ml-u",
103
+ alt: "delete",
104
+ src: deletePath
105
+ }))))));
106
+ };
107
+
108
+ SiteServices.propTypes = {
109
+ /**
110
+ * The HTML id for this element .
111
+ */
112
+ id: PropTypes.string,
113
+
114
+ /**
115
+ * The HTML class names for this element
116
+ */
117
+ className: PropTypes.string,
118
+
119
+ /**
120
+ * The React-written, css properties for this element.
121
+ */
122
+ style: PropTypes.objectOf(PropTypes.string),
123
+
124
+ /**
125
+ * services map
126
+ */
127
+ servicesMap: PropTypes.shape({
128
+ sales: PropTypes.arrayOf(PropTypes.shape({
129
+ task: PropTypes.string.isRequired,
130
+ icon: PropTypes.string.isRequired,
131
+ email: PropTypes.shape({
132
+ subject: PropTypes.string.isRequired,
133
+ description: PropTypes.string.isRequired
134
+ }).isRequired
135
+ })).isRequired,
136
+ product: PropTypes.arrayOf(PropTypes.shape({
137
+ task: PropTypes.string.isRequired,
138
+ icon: PropTypes.string.isRequired,
139
+ email: PropTypes.shape({
140
+ subject: PropTypes.string.isRequired,
141
+ description: PropTypes.string.isRequired
142
+ }).isRequired
143
+ })).isRequired,
144
+ hiring: PropTypes.arrayOf(PropTypes.shape({
145
+ task: PropTypes.string.isRequired,
146
+ icon: PropTypes.string.isRequired,
147
+ email: PropTypes.shape({
148
+ subject: PropTypes.string.isRequired,
149
+ description: PropTypes.string.isRequired
150
+ }).isRequired
151
+ })).isRequired,
152
+ admin: PropTypes.arrayOf(PropTypes.shape({
153
+ task: PropTypes.string.isRequired,
154
+ icon: PropTypes.string.isRequired,
155
+ email: PropTypes.shape({
156
+ subject: PropTypes.string.isRequired,
157
+ description: PropTypes.string.isRequired
158
+ }).isRequired
159
+ })).isRequired
160
+ }).isRequired,
161
+
162
+ /**
163
+ * default service
164
+ */
165
+ defaultService: PropTypes.string,
166
+
167
+ /**
168
+ * default service task
169
+ */
170
+ defaultServiceTask: PropTypes.string,
171
+
172
+ /**
173
+ * default service task
174
+ */
175
+ defaultTaskEmailContent: PropTypes.objectOf(PropTypes.string),
176
+
177
+ /**
178
+ * email attachment path
179
+ */
180
+ attachmentPath: PropTypes.string.isRequired,
181
+
182
+ /**
183
+ * delete attachment path
184
+ */
185
+ deletePath: PropTypes.string.isRequired
186
+ };
187
+ SiteServices.defaultProps = {
188
+ defaultService: 'sales',
189
+ defaultServiceTask: 'Generate sales leads',
190
+ defaultTaskEmailContent: {
191
+ subject: 'Fintech founder lead generation',
192
+ description: 'I need a list of all fintech founders featured in Forbes, Business Insider, CB Insights, and AngelList newsletters. Please send me a spreadsheet containing their name, title, company website, and email address within the week.'
193
+ }
194
+ };
195
+ export default SiteServices;
@@ -0,0 +1,2 @@
1
+ /* @pareto-engineering/generator-front 1.0.12 */
2
+ export { default as SiteServices } from "./SiteServices";
@@ -0,0 +1,138 @@
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
+ $service-btn-color:var(--on-y);
8
+ $tasks-btn-width: 12em;
9
+ $tasks-btn-height: 6em;
10
+ $gap:2em;
11
+ $active-btn-border-v:5px solid transparent;
12
+ $active-btn-border-top:5px solid var(--on-y);
13
+ $active-task-bg:var(--dark-y);
14
+ $email-content-border-bottom:1px solid var(-metadata);
15
+ $btn-content-width:75%;
16
+ $tasks-and-content-sm-width:100%;
17
+ $btn-content-sm-width:100%;
18
+ $tasks-and-content-width:80%;
19
+ $active-btn-left:48%;
20
+ $active-btn-top:100%;
21
+ $box-shadow:0 2px 2px 0 var(--background2);
22
+
23
+
24
+ .#{bem.$base}.services {
25
+ @mixin common-button-styles {
26
+ border: 0;
27
+ cursor: pointer;
28
+ }
29
+
30
+ .btn-content {
31
+ column-gap: $gap;
32
+ display: grid;
33
+ grid-template-columns: repeat(4, 1fr);
34
+ margin: var(--v) auto;
35
+ width: $btn-content-width;
36
+
37
+ button {
38
+ @include common-button-styles;
39
+ background: none;
40
+ color: $service-btn-color;
41
+ text-transform: capitalize;
42
+ transition: all .1s;
43
+
44
+ &:hover {
45
+ transform: scale(1.1);
46
+ }
47
+ }
48
+ }
49
+
50
+
51
+ .active-service-btn {
52
+ transform: scale(1.1);
53
+
54
+ &::after {
55
+ border-left: $active-btn-border-v;
56
+ border-right: $active-btn-border-v;
57
+ border-top: $active-btn-border-top;
58
+ color: $service-btn-color;
59
+ content: "";
60
+ left: $active-btn-left;
61
+ position: absolute;
62
+ top: $active-btn-top;
63
+ }
64
+ }
65
+
66
+
67
+ .tasks-and-content {
68
+ column-gap: $gap;
69
+ display: grid;
70
+ grid-template-columns: 1fr 4fr;
71
+ margin: 0 auto;
72
+ width: $tasks-and-content-width;
73
+ }
74
+
75
+ .tasks {
76
+ align-items: center;
77
+ display: flex;
78
+ flex-direction: column;
79
+ justify-content: space-between;
80
+
81
+ button {
82
+ @include common-button-styles;
83
+ align-items: center;
84
+ border-radius: var(--theme-border-radius);
85
+ display: flex;
86
+ height: $tasks-btn-height;
87
+ width: $tasks-btn-width;
88
+ transition: background-color 0.5s ease-out;
89
+ p {
90
+ color: inherit;
91
+ }
92
+ }
93
+ }
94
+
95
+ .task-email {
96
+ //box-shadow: $box-shadow;
97
+ display: flex;
98
+ flex-direction: column;
99
+ justify-content: space-between;
100
+
101
+ .email-content {
102
+ border-bottom: $email-content-border-bottom;
103
+ color: var(--black);
104
+ }
105
+
106
+ .task-email-footer {
107
+ align-items: center;
108
+ display: flex;
109
+ justify-content: space-between;
110
+ }
111
+ }
112
+
113
+ @include mixins.media($to:$sm-md) {
114
+ padding: var(--v);
115
+
116
+ .tasks-and-content {
117
+ grid-template-columns: 1fr;
118
+ margin: 0 auto;
119
+ width: $tasks-and-content-sm-width;
120
+ }
121
+
122
+ .btn-content {
123
+ column-gap: var(--v);
124
+ width: $btn-content-sm-width;
125
+ }
126
+
127
+ .tasks {
128
+ display: none;
129
+ }
130
+
131
+ .task-email-footer {
132
+ display: flex;
133
+ flex-direction: column;
134
+ }
135
+ }
136
+ }
137
+
138
+
@@ -0,0 +1,64 @@
1
+ /* @pareto-engineering/generator-front 1.0.2 */
2
+ import * as React from 'react';
3
+ import { useLayoutEffect } from 'react';
4
+ import PropTypes from 'prop-types';
5
+ import styleNames from '@pareto-engineering/bem'; // Imports from the component folder
6
+
7
+ import { PersonCard } from "./common"; // Local Definitions
8
+ // import('./styles.scss')
9
+
10
+ const baseClassName = styleNames.base;
11
+ const componentClassName = 'team-gallery';
12
+
13
+ const TeamGallery = ({
14
+ id,
15
+ className: userClassName,
16
+ style,
17
+ children,
18
+ title // ...otherProps
19
+
20
+ }) => {
21
+ useLayoutEffect(() => {
22
+ import("./styles.scss");
23
+ }, []);
24
+ return /*#__PURE__*/React.createElement("div", {
25
+ id: id,
26
+ className: [baseClassName, componentClassName, userClassName].filter(e => e).join(' '),
27
+ style: style
28
+ }, /*#__PURE__*/React.createElement("div", {
29
+ className: "title"
30
+ }, title), /*#__PURE__*/React.createElement("div", {
31
+ className: "content"
32
+ }, children));
33
+ };
34
+
35
+ TeamGallery.propTypes = {
36
+ /**
37
+ * The HTML id for this element
38
+ */
39
+ id: PropTypes.string,
40
+
41
+ /**
42
+ * The HTML class names for this element
43
+ */
44
+ className: PropTypes.string,
45
+
46
+ /**
47
+ * The React-written, css properties for this element.
48
+ */
49
+ style: PropTypes.objectOf(PropTypes.string),
50
+
51
+ /**
52
+ * The children JSX
53
+ */
54
+ children: PropTypes.node.isRequired,
55
+
56
+ /**
57
+ * Title of gallery
58
+ */
59
+ title: PropTypes.string.isRequired
60
+ };
61
+ TeamGallery.defaultProps = {// someProp:false
62
+ };
63
+ TeamGallery.PersonCard = PersonCard;
64
+ export default TeamGallery;
@@ -0,0 +1,64 @@
1
+ /* @pareto-engineering/generator-front 1.0.2 */
2
+ import * as React from 'react';
3
+ import PropTypes from 'prop-types';
4
+ import styleNames from '@pareto-engineering/bem'; // Imports from the component folder
5
+ // Local Definitions
6
+
7
+ const baseClassName = styleNames.base;
8
+ const componentClassName = 'person-card';
9
+
10
+ const PersonCard = ({
11
+ id,
12
+ className: userClassName,
13
+ style,
14
+ name,
15
+ position,
16
+ picture // ...otherProps
17
+
18
+ }) => /*#__PURE__*/React.createElement("div", {
19
+ id: id,
20
+ className: [baseClassName, componentClassName, userClassName].filter(e => e).join(' '),
21
+ style: style
22
+ }, /*#__PURE__*/React.createElement("header", null, /*#__PURE__*/React.createElement("img", {
23
+ src: picture,
24
+ alt: ""
25
+ })), /*#__PURE__*/React.createElement("main", null, /*#__PURE__*/React.createElement("p", {
26
+ className: "name"
27
+ }, /*#__PURE__*/React.createElement("strong", null, name)), /*#__PURE__*/React.createElement("p", {
28
+ className: "position"
29
+ }, position)));
30
+
31
+ PersonCard.propTypes = {
32
+ /**
33
+ * The HTML id for this element
34
+ */
35
+ id: PropTypes.string,
36
+
37
+ /**
38
+ * The HTML class names for this element
39
+ */
40
+ className: PropTypes.string,
41
+
42
+ /**
43
+ * The React-written, css properties for this element.
44
+ */
45
+ style: PropTypes.objectOf(PropTypes.string),
46
+
47
+ /**
48
+ * The name of the person.
49
+ */
50
+ name: PropTypes.string.isRequired,
51
+
52
+ /**
53
+ * The position of the person.
54
+ */
55
+ position: PropTypes.string.isRequired,
56
+
57
+ /**
58
+ * The picture of the person.
59
+ */
60
+ picture: PropTypes.string.isRequired
61
+ };
62
+ PersonCard.defaultProps = {// someProp:false
63
+ };
64
+ export default PersonCard;
@@ -0,0 +1,2 @@
1
+ /* @pareto-engineering/generator-front 1.0.2 */
2
+ export { default as PersonCard } from "./PersonCard";
@@ -0,0 +1 @@
1
+ export { PersonCard } from "./PersonCard";
@@ -0,0 +1,2 @@
1
+ /* @pareto-engineering/generator-front 1.0.2 */
2
+ export { default as TeamGallery } from "./TeamGallery";