@pareto-engineering/design-system 2.0.0-alpha.51 → 2.0.0-alpha.52

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 (149) hide show
  1. package/dist/cjs/a/GradientBackground/GradientBackground.js +140 -0
  2. package/dist/cjs/a/GradientBackground/index.js +15 -0
  3. package/dist/cjs/a/GradientBackground/styles.scss +191 -0
  4. package/dist/cjs/a/Popover/common/Divider/Divider.js +67 -0
  5. package/dist/cjs/a/Popover/common/Divider/index.js +15 -0
  6. package/dist/cjs/a/Popover/common/Item/Item.js +67 -0
  7. package/dist/cjs/a/Popover/common/Item/index.js +15 -0
  8. package/dist/cjs/a/Popover/common/index.js +21 -0
  9. package/dist/cjs/c/AcceptCookies/AcceptCookies.js +134 -0
  10. package/dist/cjs/c/AcceptCookies/index.js +15 -0
  11. package/dist/cjs/c/AcceptCookies/styles.scss +49 -0
  12. package/dist/cjs/c/BlogCategoryButton/BlogCategoryButton.js +95 -0
  13. package/dist/cjs/c/BlogCategoryButton/index.js +15 -0
  14. package/dist/cjs/c/BlogContext/BlogContextProvider.js +63 -0
  15. package/dist/cjs/c/BlogContext/Context.js +16 -0
  16. package/dist/cjs/c/BlogContext/ContextProvider.js +63 -0
  17. package/dist/cjs/c/BlogContext/index.js +31 -0
  18. package/dist/cjs/c/BlogContext/useBlog.js +16 -0
  19. package/dist/cjs/c/BlogPost/BlogPost.js +147 -0
  20. package/dist/cjs/c/BlogPost/index.js +15 -0
  21. package/dist/cjs/c/BlogPost/styles.scss +33 -0
  22. package/dist/cjs/c/BlogPostsList/BlogPostsList.js +73 -0
  23. package/dist/cjs/c/BlogPostsList/common/Card/Card.js +170 -0
  24. package/dist/cjs/c/BlogPostsList/common/Card/index.js +15 -0
  25. package/dist/cjs/c/BlogPostsList/common/index.js +13 -0
  26. package/dist/cjs/c/BlogPostsList/index.js +15 -0
  27. package/dist/cjs/c/BlogPostsList/styles.scss +72 -0
  28. package/dist/cjs/c/SiteFooter/SiteFooter.js +73 -0
  29. package/dist/cjs/c/SiteFooter/common/Section/Section.js +95 -0
  30. package/dist/cjs/c/SiteFooter/common/Section/index.js +15 -0
  31. package/dist/cjs/c/SiteFooter/common/index.js +13 -0
  32. package/dist/cjs/c/SiteFooter/index.js +15 -0
  33. package/dist/cjs/c/SiteFooter/styles.scss +34 -0
  34. package/dist/cjs/c/SiteHeaderCTA/SiteHeaderCTA.js +108 -0
  35. package/dist/cjs/c/SiteHeaderCTA/index.js +15 -0
  36. package/dist/cjs/c/SiteHeaderCTA/styles.scss +44 -0
  37. package/dist/cjs/c/SiteMission/SiteMission.js +113 -0
  38. package/dist/cjs/c/SiteMission/index.js +15 -0
  39. package/dist/cjs/c/SiteMission/styles.scss +30 -0
  40. package/dist/cjs/c/SiteNavigation/SiteNavigation.js +130 -0
  41. package/dist/cjs/c/SiteNavigation/index.js +15 -0
  42. package/dist/cjs/c/SiteNavigation/styles.scss +118 -0
  43. package/dist/cjs/c/SiteOnboardingStep/SiteOnboardingStep.js +98 -0
  44. package/dist/cjs/c/SiteOnboardingStep/index.js +15 -0
  45. package/dist/cjs/c/SiteOnboardingStep/styles.scss +51 -0
  46. package/dist/cjs/c/SitePricing/SitePricing.js +108 -0
  47. package/dist/cjs/c/SitePricing/index.js +15 -0
  48. package/dist/cjs/c/SitePricing/styles.scss +73 -0
  49. package/dist/cjs/c/SiteServices/SiteServices.js +211 -0
  50. package/dist/cjs/c/SiteServices/index.js +15 -0
  51. package/dist/cjs/c/SiteServices/styles.scss +138 -0
  52. package/dist/cjs/c/TeamGallery/TeamGallery.js +80 -0
  53. package/dist/cjs/c/TeamGallery/common/PersonCard/PersonCard.js +84 -0
  54. package/dist/cjs/c/TeamGallery/common/PersonCard/index.js +15 -0
  55. package/dist/cjs/c/TeamGallery/common/index.js +13 -0
  56. package/dist/cjs/c/TeamGallery/index.js +15 -0
  57. package/dist/cjs/c/TeamGallery/styles.scss +100 -0
  58. package/dist/cjs/c/Testimonials/Testimonials.js +119 -0
  59. package/dist/cjs/c/Testimonials/index.js +15 -0
  60. package/dist/cjs/c/Testimonials/styles.scss +112 -0
  61. package/dist/cjs/experimental/GradientBackground/GradientBackground.js +98 -0
  62. package/dist/cjs/experimental/GradientBackground/index.js +15 -0
  63. package/dist/cjs/experimental/GradientBackground/styles.scss +64 -0
  64. package/dist/cjs/experimental/index.js +13 -0
  65. package/dist/cjs/f/fields/QuerySelect/styles.scss +21 -0
  66. package/dist/cjs/f/fields/TaskRecommendation/TaskRecommendation.js +129 -0
  67. package/dist/cjs/f/fields/TaskRecommendation/index.js +15 -0
  68. package/dist/cjs/f/fields/TaskRecommendation/styles.scss +37 -0
  69. package/dist/cjs/f/fields/TaskRecommendationInput/TaskRecommendationInput.js +1 -1
  70. package/dist/cjs/f/fields/TaskRecommendationInput/styles.scss +4 -0
  71. package/dist/cjs/f/fields/TextArea/TextArea.js +141 -0
  72. package/dist/cjs/f/fields/TextArea/index.js +15 -0
  73. package/dist/cjs/f/fields/TextArea/styles.scss +19 -0
  74. package/dist/cjs/test/QueryLoader/styles.scss +9 -0
  75. package/dist/es/a/GradientBackground/GradientBackground.js +118 -0
  76. package/dist/es/a/GradientBackground/index.js +2 -0
  77. package/dist/es/a/GradientBackground/styles.scss +191 -0
  78. package/dist/es/a/Popover/common/Divider/Divider.js +47 -0
  79. package/dist/es/a/Popover/common/Divider/index.js +2 -0
  80. package/dist/es/a/Popover/common/Item/Item.js +47 -0
  81. package/dist/es/a/Popover/common/Item/index.js +2 -0
  82. package/dist/es/a/Popover/common/index.js +2 -0
  83. package/dist/es/c/AcceptCookies/AcceptCookies.js +117 -0
  84. package/dist/es/c/AcceptCookies/index.js +2 -0
  85. package/dist/es/c/AcceptCookies/styles.scss +49 -0
  86. package/dist/es/c/BlogCategoryButton/BlogCategoryButton.js +68 -0
  87. package/dist/es/c/BlogCategoryButton/index.js +2 -0
  88. package/dist/es/c/BlogContext/BlogContextProvider.js +45 -0
  89. package/dist/es/c/BlogContext/Context.js +2 -0
  90. package/dist/es/c/BlogContext/ContextProvider.js +45 -0
  91. package/dist/es/c/BlogContext/index.js +4 -0
  92. package/dist/es/c/BlogContext/useBlog.js +3 -0
  93. package/dist/es/c/BlogPost/BlogPost.js +128 -0
  94. package/dist/es/c/BlogPost/index.js +2 -0
  95. package/dist/es/c/BlogPost/styles.scss +33 -0
  96. package/dist/es/c/BlogPostsList/BlogPostsList.js +56 -0
  97. package/dist/es/c/BlogPostsList/common/Card/Card.js +143 -0
  98. package/dist/es/c/BlogPostsList/common/Card/index.js +2 -0
  99. package/dist/es/c/BlogPostsList/common/index.js +1 -0
  100. package/dist/es/c/BlogPostsList/index.js +2 -0
  101. package/dist/es/c/BlogPostsList/styles.scss +72 -0
  102. package/dist/es/c/SiteFooter/SiteFooter.js +56 -0
  103. package/dist/es/c/SiteFooter/common/Section/Section.js +73 -0
  104. package/dist/es/c/SiteFooter/common/Section/index.js +2 -0
  105. package/dist/es/c/SiteFooter/common/index.js +1 -0
  106. package/dist/es/c/SiteFooter/index.js +2 -0
  107. package/dist/es/c/SiteFooter/styles.scss +34 -0
  108. package/dist/es/c/SiteHeaderCTA/SiteHeaderCTA.js +92 -0
  109. package/dist/es/c/SiteHeaderCTA/index.js +2 -0
  110. package/dist/es/c/SiteHeaderCTA/styles.scss +44 -0
  111. package/dist/es/c/SiteMission/SiteMission.js +96 -0
  112. package/dist/es/c/SiteMission/index.js +2 -0
  113. package/dist/es/c/SiteMission/styles.scss +30 -0
  114. package/dist/es/c/SiteNavigation/SiteNavigation.js +111 -0
  115. package/dist/es/c/SiteNavigation/index.js +2 -0
  116. package/dist/es/c/SiteNavigation/styles.scss +118 -0
  117. package/dist/es/c/SiteOnboardingStep/SiteOnboardingStep.js +81 -0
  118. package/dist/es/c/SiteOnboardingStep/index.js +2 -0
  119. package/dist/es/c/SiteOnboardingStep/styles.scss +51 -0
  120. package/dist/es/c/SitePricing/SitePricing.js +91 -0
  121. package/dist/es/c/SitePricing/index.js +2 -0
  122. package/dist/es/c/SitePricing/styles.scss +73 -0
  123. package/dist/es/c/SiteServices/SiteServices.js +195 -0
  124. package/dist/es/c/SiteServices/index.js +2 -0
  125. package/dist/es/c/SiteServices/styles.scss +138 -0
  126. package/dist/es/c/TeamGallery/TeamGallery.js +64 -0
  127. package/dist/es/c/TeamGallery/common/PersonCard/PersonCard.js +64 -0
  128. package/dist/es/c/TeamGallery/common/PersonCard/index.js +2 -0
  129. package/dist/es/c/TeamGallery/common/index.js +1 -0
  130. package/dist/es/c/TeamGallery/index.js +2 -0
  131. package/dist/es/c/TeamGallery/styles.scss +100 -0
  132. package/dist/es/c/Testimonials/Testimonials.js +99 -0
  133. package/dist/es/c/Testimonials/index.js +2 -0
  134. package/dist/es/c/Testimonials/styles.scss +112 -0
  135. package/dist/es/experimental/GradientBackground/GradientBackground.js +76 -0
  136. package/dist/es/experimental/GradientBackground/index.js +2 -0
  137. package/dist/es/experimental/GradientBackground/styles.scss +64 -0
  138. package/dist/es/experimental/index.js +1 -0
  139. package/dist/es/f/fields/QuerySelect/styles.scss +21 -0
  140. package/dist/es/f/fields/TaskRecommendation/TaskRecommendation.js +111 -0
  141. package/dist/es/f/fields/TaskRecommendation/index.js +2 -0
  142. package/dist/es/f/fields/TaskRecommendation/styles.scss +37 -0
  143. package/dist/es/f/fields/TaskRecommendationInput/TaskRecommendationInput.js +1 -1
  144. package/dist/es/f/fields/TaskRecommendationInput/styles.scss +4 -0
  145. package/dist/es/f/fields/TextArea/TextArea.js +124 -0
  146. package/dist/es/f/fields/TextArea/index.js +2 -0
  147. package/dist/es/f/fields/TextArea/styles.scss +19 -0
  148. package/dist/es/test/QueryLoader/styles.scss +9 -0
  149. package/package.json +1 -1
@@ -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";