@pareto-engineering/design-system 2.0.0-alpha.61 → 2.0.0-alpha.62

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 (183) 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/{a/ColumnLabel → c/SiteMission}/index.js +3 -3
  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/{a/ColumnLabel/ColumnLabel.js → experimental/GradientBackground/GradientBackground.js} +30 -32
  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/FormInput/FormInput.js +6 -0
  66. package/dist/cjs/f/fields/Checkbox/Checkbox.js +117 -0
  67. package/dist/cjs/f/fields/Checkbox/index.js +15 -0
  68. package/dist/cjs/f/fields/Checkbox/styles.scss +14 -0
  69. package/dist/cjs/f/fields/IntlTelInput/IntlTelInput.js +170 -0
  70. package/dist/cjs/f/fields/IntlTelInput/index.js +15 -0
  71. package/dist/cjs/f/fields/IntlTelInput/styles.scss +37 -0
  72. package/dist/cjs/f/fields/PhoneIntlTelInput/PhoneIntlTelInput.js +180 -0
  73. package/dist/cjs/f/fields/PhoneIntlTelInput/index.js +15 -0
  74. package/dist/cjs/f/fields/PhoneIntlTelInput/styles.scss +43 -0
  75. package/dist/cjs/f/fields/QuerySelect/styles.scss +21 -0
  76. package/dist/cjs/f/fields/TaskRecommendation/TaskRecommendation.js +129 -0
  77. package/dist/cjs/f/fields/TaskRecommendation/index.js +15 -0
  78. package/dist/cjs/f/fields/TaskRecommendation/styles.scss +37 -0
  79. package/dist/cjs/f/fields/TaskRecommendationInput/TaskRecommendationInput.js +1 -1
  80. package/dist/cjs/f/fields/TaskRecommendationInput/styles.scss +4 -0
  81. package/dist/cjs/f/fields/TextArea/TextArea.js +141 -0
  82. package/dist/cjs/f/fields/TextArea/index.js +15 -0
  83. package/dist/cjs/f/fields/TextArea/styles.scss +19 -0
  84. package/dist/cjs/f/fields/index.js +9 -1
  85. package/dist/cjs/test/QueryLoader/styles.scss +9 -0
  86. package/dist/es/a/GradientBackground/GradientBackground.js +118 -0
  87. package/dist/es/a/GradientBackground/index.js +2 -0
  88. package/dist/es/a/GradientBackground/styles.scss +191 -0
  89. package/dist/es/a/Popover/common/Divider/Divider.js +47 -0
  90. package/dist/es/a/Popover/common/Divider/index.js +2 -0
  91. package/dist/es/a/Popover/common/Item/Item.js +47 -0
  92. package/dist/es/a/Popover/common/Item/index.js +2 -0
  93. package/dist/es/a/Popover/common/index.js +2 -0
  94. package/dist/es/c/AcceptCookies/AcceptCookies.js +117 -0
  95. package/dist/es/c/AcceptCookies/index.js +2 -0
  96. package/dist/es/c/AcceptCookies/styles.scss +49 -0
  97. package/dist/es/c/BlogCategoryButton/BlogCategoryButton.js +68 -0
  98. package/dist/es/c/BlogCategoryButton/index.js +2 -0
  99. package/dist/es/c/BlogContext/BlogContextProvider.js +45 -0
  100. package/dist/es/c/BlogContext/Context.js +2 -0
  101. package/dist/es/c/BlogContext/ContextProvider.js +45 -0
  102. package/dist/es/c/BlogContext/index.js +4 -0
  103. package/dist/es/c/BlogContext/useBlog.js +3 -0
  104. package/dist/es/c/BlogPost/BlogPost.js +128 -0
  105. package/dist/es/c/BlogPost/index.js +2 -0
  106. package/dist/es/c/BlogPost/styles.scss +33 -0
  107. package/dist/es/c/BlogPostsList/BlogPostsList.js +56 -0
  108. package/dist/es/c/BlogPostsList/common/Card/Card.js +143 -0
  109. package/dist/es/c/BlogPostsList/common/Card/index.js +2 -0
  110. package/dist/es/c/BlogPostsList/common/index.js +1 -0
  111. package/dist/es/c/BlogPostsList/index.js +2 -0
  112. package/dist/es/c/BlogPostsList/styles.scss +72 -0
  113. package/dist/es/c/SiteFooter/SiteFooter.js +56 -0
  114. package/dist/es/c/SiteFooter/common/Section/Section.js +73 -0
  115. package/dist/es/c/SiteFooter/common/Section/index.js +2 -0
  116. package/dist/es/c/SiteFooter/common/index.js +1 -0
  117. package/dist/es/c/SiteFooter/index.js +2 -0
  118. package/dist/es/c/SiteFooter/styles.scss +34 -0
  119. package/dist/es/c/SiteHeaderCTA/SiteHeaderCTA.js +92 -0
  120. package/dist/es/c/SiteHeaderCTA/index.js +2 -0
  121. package/dist/es/c/SiteHeaderCTA/styles.scss +44 -0
  122. package/dist/es/c/SiteMission/SiteMission.js +96 -0
  123. package/dist/es/c/SiteMission/index.js +2 -0
  124. package/dist/es/c/SiteMission/styles.scss +30 -0
  125. package/dist/es/c/SiteNavigation/SiteNavigation.js +111 -0
  126. package/dist/es/c/SiteNavigation/index.js +2 -0
  127. package/dist/es/c/SiteNavigation/styles.scss +118 -0
  128. package/dist/es/c/SiteOnboardingStep/SiteOnboardingStep.js +81 -0
  129. package/dist/es/c/SiteOnboardingStep/index.js +2 -0
  130. package/dist/es/c/SiteOnboardingStep/styles.scss +51 -0
  131. package/dist/es/c/SitePricing/SitePricing.js +91 -0
  132. package/dist/es/c/SitePricing/index.js +2 -0
  133. package/dist/es/c/SitePricing/styles.scss +73 -0
  134. package/dist/es/c/SiteServices/SiteServices.js +195 -0
  135. package/dist/es/c/SiteServices/index.js +2 -0
  136. package/dist/es/c/SiteServices/styles.scss +138 -0
  137. package/dist/es/c/TeamGallery/TeamGallery.js +64 -0
  138. package/dist/es/c/TeamGallery/common/PersonCard/PersonCard.js +64 -0
  139. package/dist/es/c/TeamGallery/common/PersonCard/index.js +2 -0
  140. package/dist/es/c/TeamGallery/common/index.js +1 -0
  141. package/dist/es/c/TeamGallery/index.js +2 -0
  142. package/dist/es/c/TeamGallery/styles.scss +100 -0
  143. package/dist/es/c/Testimonials/Testimonials.js +99 -0
  144. package/dist/es/c/Testimonials/index.js +2 -0
  145. package/dist/es/c/Testimonials/styles.scss +112 -0
  146. package/dist/es/experimental/GradientBackground/GradientBackground.js +76 -0
  147. package/dist/es/experimental/GradientBackground/index.js +2 -0
  148. package/dist/es/experimental/GradientBackground/styles.scss +64 -0
  149. package/dist/es/experimental/index.js +1 -0
  150. package/dist/es/f/FormInput/FormInput.js +7 -1
  151. package/dist/es/f/fields/Checkbox/Checkbox.js +99 -0
  152. package/dist/es/f/fields/Checkbox/index.js +2 -0
  153. package/dist/es/f/fields/Checkbox/styles.scss +14 -0
  154. package/dist/es/f/fields/IntlTelInput/IntlTelInput.js +152 -0
  155. package/dist/es/f/fields/IntlTelInput/index.js +2 -0
  156. package/dist/es/f/fields/IntlTelInput/styles.scss +37 -0
  157. package/dist/es/f/fields/PhoneIntlTelInput/PhoneIntlTelInput.js +163 -0
  158. package/dist/es/f/fields/PhoneIntlTelInput/index.js +2 -0
  159. package/dist/es/f/fields/PhoneIntlTelInput/styles.scss +43 -0
  160. package/dist/es/f/fields/QuerySelect/styles.scss +21 -0
  161. package/dist/es/f/fields/TaskRecommendation/TaskRecommendation.js +111 -0
  162. package/dist/es/f/fields/TaskRecommendation/index.js +2 -0
  163. package/dist/es/f/fields/TaskRecommendation/styles.scss +37 -0
  164. package/dist/es/f/fields/TaskRecommendationInput/TaskRecommendationInput.js +1 -1
  165. package/dist/es/f/fields/TaskRecommendationInput/styles.scss +4 -0
  166. package/dist/es/f/fields/TextArea/TextArea.js +124 -0
  167. package/dist/es/f/fields/TextArea/index.js +2 -0
  168. package/dist/es/f/fields/TextArea/styles.scss +19 -0
  169. package/dist/es/f/fields/index.js +2 -1
  170. package/dist/es/test/QueryLoader/styles.scss +9 -0
  171. package/package.json +1 -1
  172. package/src/__snapshots__/Storyshots.test.js.snap +236 -1
  173. package/src/stories/f/Checkbox.stories.jsx +95 -0
  174. package/src/stories/f/FormInput.stories.jsx +5 -0
  175. package/src/ui/f/FormInput/FormInput.jsx +11 -0
  176. package/src/ui/f/fields/Checkbox/Checkbox.jsx +118 -0
  177. package/src/ui/f/fields/Checkbox/index.js +2 -0
  178. package/src/ui/f/fields/Checkbox/styles.scss +14 -0
  179. package/src/ui/f/fields/index.js +1 -0
  180. package/dist/cjs/a/ColumnLabel/styles.scss +0 -22
  181. package/dist/es/a/ColumnLabel/ColumnLabel.js +0 -78
  182. package/dist/es/a/ColumnLabel/index.js +0 -2
  183. package/dist/es/a/ColumnLabel/styles.scss +0 -22
@@ -0,0 +1,152 @@
1
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
+
3
+ /* @pareto-engineering/generator-front 1.0.12 */
4
+ import * as React from 'react';
5
+ import { useRef, useEffect, useLayoutEffect } from 'react';
6
+ import intlTelInput from 'intl-tel-input';
7
+ import PropTypes from 'prop-types';
8
+ import styleNames from '@pareto-engineering/bem'; // Local Definitions
9
+
10
+ import { useField } from 'formik';
11
+ import { FormLabel, FormDescription } from "../../common";
12
+ const baseClassName = styleNames.base;
13
+ const componentClassName = 'intl-tel-input';
14
+ /**
15
+ * This is the component description.
16
+ */
17
+
18
+ const IntlTelInput = ({
19
+ id,
20
+ className: userClassName,
21
+ style,
22
+ name,
23
+ label,
24
+ color,
25
+ labelColor,
26
+ validate,
27
+ oneInputLabel,
28
+ description,
29
+ disabled,
30
+ // placeholder,
31
+ optional,
32
+ autoComplete // ...otherProps
33
+
34
+ }) => {
35
+ useLayoutEffect(() => {
36
+ import("./styles.scss");
37
+ import('intl-tel-input/build/css/intlTelInput.css');
38
+ }, []);
39
+ const [field] = useField({
40
+ name,
41
+ validate
42
+ });
43
+ const input = useRef(null);
44
+ useEffect(() => {
45
+ const iti = intlTelInput(input.current, {
46
+ separateDialCode: true,
47
+ customContainer: 'input-wrapper'
48
+ });
49
+ return () => iti.destroy();
50
+ }, [input.current]);
51
+ return /*#__PURE__*/React.createElement("div", {
52
+ id: id,
53
+ className: [baseClassName, componentClassName, userClassName, `y-${color}`].filter(e => e).join(' '),
54
+ style: style // {...otherProps}
55
+
56
+ }, /*#__PURE__*/React.createElement(FormLabel, {
57
+ className: [oneInputLabel ? 'md-s2 s0 v1 mb-v' : 'v50 mb-v'].filter(e => e).join(' '),
58
+ name: name,
59
+ color: labelColor,
60
+ optional: optional
61
+ }, label), /*#__PURE__*/React.createElement("input", _extends({
62
+ id: name,
63
+ className: "input",
64
+ type: "tel",
65
+ disabled: disabled // placeholder={placeholder}
66
+ ,
67
+ autoComplete: autoComplete,
68
+ ref: input
69
+ }, field)), /*#__PURE__*/React.createElement(FormDescription, {
70
+ className: "v50 mt-v s-1",
71
+ description: description,
72
+ name: name
73
+ }));
74
+ };
75
+
76
+ IntlTelInput.propTypes = {
77
+ /**
78
+ * The HTML id for this element
79
+ */
80
+ id: PropTypes.string,
81
+
82
+ /**
83
+ * The HTML class names for this element
84
+ */
85
+ className: PropTypes.string,
86
+
87
+ /**
88
+ * The React-written, css properties for this element.
89
+ */
90
+ style: PropTypes.objectOf(PropTypes.string),
91
+
92
+ /**
93
+ * The input name (html - and Formik state)
94
+ */
95
+ name: PropTypes.string.isRequired,
96
+
97
+ /**
98
+ * The input label
99
+ */
100
+ label: PropTypes.string.isRequired,
101
+
102
+ /**
103
+ * The input label color
104
+ */
105
+ labelColor: PropTypes.string,
106
+
107
+ /**
108
+ * The input field validator function
109
+ */
110
+ validate: PropTypes.func,
111
+
112
+ /**
113
+ * If the slide will only have one input
114
+ */
115
+ oneInputLabel: PropTypes.bool,
116
+
117
+ /**
118
+ * Input description
119
+ */
120
+ description: PropTypes.string,
121
+
122
+ /**
123
+ * Whether the text input should be disabled
124
+ */
125
+ disabled: PropTypes.bool,
126
+
127
+ /**
128
+ * The placeholder text for the input
129
+ */
130
+ placeholder: PropTypes.string,
131
+
132
+ /**
133
+ * The text input color
134
+ */
135
+ color: PropTypes.string,
136
+
137
+ /**
138
+ * Whether the input is optional or not
139
+ */
140
+ optional: PropTypes.bool,
141
+
142
+ /**
143
+ * The autoComplete value that the browser should watch for the input
144
+ * `https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete`
145
+ */
146
+ autoComplete: PropTypes.string
147
+ };
148
+ IntlTelInput.defaultProps = {
149
+ color: 'background2',
150
+ disabled: false
151
+ };
152
+ export default IntlTelInput;
@@ -0,0 +1,2 @@
1
+ /* @pareto-engineering/generator-front 1.0.12 */
2
+ export { default as IntlTelInput } from "./IntlTelInput";
@@ -0,0 +1,37 @@
1
+ /* @pareto-engineering/generator-front 1.0.12 */
2
+ @use "@pareto-engineering/bem";
3
+
4
+ $default-padding: 0.75em 0.75em 0.55em;
5
+
6
+ .#{bem.$base}.intl-tel-input {
7
+ display: flex;
8
+ flex-direction: column;
9
+
10
+ .input-wrapper {
11
+ width: 100%;
12
+ }
13
+
14
+ .input {
15
+ border: var(--theme-border-style) var(--dark-y);
16
+ background: var(--light-y);
17
+ color: var(--on-y);
18
+ padding: $default-padding;
19
+ width: 100%;
20
+
21
+ &::placeholder {
22
+ color: var(--metadata);
23
+ }
24
+
25
+ &:not(:disabled):hover {
26
+ border: var(--theme-border-style) var(--light-background4);
27
+ }
28
+
29
+ &:disabled {
30
+ background-color: var(--dark-y);
31
+ }
32
+
33
+ &:focus {
34
+ background: var(--light-background4);
35
+ }
36
+ }
37
+ }
@@ -0,0 +1,163 @@
1
+ /* @pareto-engineering/generator-front 1.0.12 */
2
+ import * as React from 'react';
3
+ import { useState, useLayoutEffect } from 'react'; // import intlTelInput from 'intl-tel-input'
4
+
5
+ import IntlTelInput from 'react-intl-tel-input';
6
+ import PropTypes from 'prop-types';
7
+ import styleNames from '@pareto-engineering/bem'; // Local Definitions
8
+
9
+ import { useField } from 'formik';
10
+ import { FormLabel, FormDescription } from "../../common";
11
+ const baseClassName = styleNames.base;
12
+ const componentClassName = 'phone-intl-tel-input';
13
+ /**
14
+ * This is the component description.
15
+ */
16
+
17
+ const PhoneIntlTelInput = ({
18
+ id,
19
+ className: userClassName,
20
+ style,
21
+ name,
22
+ label,
23
+ color,
24
+ labelColor,
25
+ oneInputLabel,
26
+ description,
27
+ disabled,
28
+ placeholder,
29
+ optional,
30
+ autoComplete,
31
+ validate,
32
+ errorMessage // ...otherProps
33
+
34
+ }) => {
35
+ useLayoutEffect(() => {
36
+ import("./styles.scss");
37
+ import('react-intl-tel-input/dist/main.css');
38
+ }, []);
39
+ const [field,, helpers] = useField({
40
+ name,
41
+ validate
42
+ });
43
+ const {
44
+ setValue
45
+ } = helpers;
46
+ const [intlInputError, setIntlInputError] = useState('');
47
+ return /*#__PURE__*/React.createElement("div", {
48
+ id: id,
49
+ className: [baseClassName, componentClassName, userClassName, `y-${color}`, intlInputError && 'error'].filter(e => e).join(' '),
50
+ style: style // {...otherProps}
51
+
52
+ }, /*#__PURE__*/React.createElement(FormLabel, {
53
+ className: [oneInputLabel ? 'md-s2 s0 v1 mb-v' : 'v50 mb-v'].filter(e => e).join(' '),
54
+ name: name,
55
+ color: labelColor,
56
+ optional: optional
57
+ }, label), /*#__PURE__*/React.createElement(IntlTelInput, {
58
+ inputClassName: "input",
59
+ customContainer: "input-wrapper",
60
+ placeholder: placeholder,
61
+ disabled: disabled,
62
+ value: field.value,
63
+ fieldName: field.name,
64
+ onPhoneNumberChange: (isValid, value) => {
65
+ setValue(value);
66
+
67
+ if (value && !isValid) {
68
+ setIntlInputError(errorMessage);
69
+ } else {
70
+ setIntlInputError('');
71
+ }
72
+ },
73
+ autoComplete: autoComplete
74
+ }), /*#__PURE__*/React.createElement(FormDescription, {
75
+ className: "v50 mt-v s-1",
76
+ description: intlInputError || description,
77
+ name: name
78
+ }));
79
+ };
80
+
81
+ PhoneIntlTelInput.propTypes = {
82
+ /**
83
+ * The HTML id for this element
84
+ */
85
+ id: PropTypes.string,
86
+
87
+ /**
88
+ * The HTML class names for this element
89
+ */
90
+ className: PropTypes.string,
91
+
92
+ /**
93
+ * The React-written, css properties for this element.
94
+ */
95
+ style: PropTypes.objectOf(PropTypes.string),
96
+
97
+ /**
98
+ * The input name (html - and Formik state)
99
+ */
100
+ name: PropTypes.string.isRequired,
101
+
102
+ /**
103
+ * The input label
104
+ */
105
+ label: PropTypes.string.isRequired,
106
+
107
+ /**
108
+ * The input label color
109
+ */
110
+ labelColor: PropTypes.string,
111
+
112
+ /**
113
+ * If the slide will only have one input
114
+ */
115
+ oneInputLabel: PropTypes.bool,
116
+
117
+ /**
118
+ * Input description
119
+ */
120
+ description: PropTypes.string,
121
+
122
+ /**
123
+ * Whether the text input should be disabled
124
+ */
125
+ disabled: PropTypes.bool,
126
+
127
+ /**
128
+ * The placeholder text for the input
129
+ */
130
+ placeholder: PropTypes.string,
131
+
132
+ /**
133
+ * The text input color
134
+ */
135
+ color: PropTypes.string,
136
+
137
+ /**
138
+ * Whether the input is optional or not
139
+ */
140
+ optional: PropTypes.bool,
141
+
142
+ /**
143
+ * The autoComplete value that the browser should watch for the input
144
+ * `https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete`
145
+ */
146
+ autoComplete: PropTypes.string,
147
+
148
+ /**
149
+ * The error message to be siplayed when the input is invalid
150
+ */
151
+ errorMessage: PropTypes.string,
152
+
153
+ /**
154
+ * The input field validator function
155
+ */
156
+ validate: PropTypes.func
157
+ };
158
+ PhoneIntlTelInput.defaultProps = {
159
+ color: 'background2',
160
+ disabled: false,
161
+ errorMessage: 'Please enter a valid phone number'
162
+ };
163
+ export default PhoneIntlTelInput;
@@ -0,0 +1,2 @@
1
+ /* @pareto-engineering/generator-front 1.0.12 */
2
+ export { default as PhoneIntlTelInput } from "./PhoneIntlTelInput";
@@ -0,0 +1,43 @@
1
+ /* @pareto-engineering/generator-front 1.0.12 */
2
+ @use "@pareto-engineering/bem";
3
+
4
+ $default-padding: 0.75em 0.75em 0.55em;
5
+
6
+ .#{bem.$base}.phone-intl-tel-input {
7
+ display: flex;
8
+ flex-direction: column;
9
+
10
+ &.error {
11
+ >.#{bem.$base}.description {
12
+ color: var(--error);
13
+ }
14
+ }
15
+
16
+ .input-wrapper {
17
+ width: 100%;
18
+ }
19
+
20
+ .input {
21
+ border: var(--theme-border-style) var(--dark-y);
22
+ background: var(--light-y);
23
+ color: var(--on-y);
24
+ padding: $default-padding;
25
+ width: 100%;
26
+
27
+ &::placeholder {
28
+ color: var(--metadata);
29
+ }
30
+
31
+ &:not(:disabled):hover {
32
+ border: var(--theme-border-style) var(--light-background4);
33
+ }
34
+
35
+ &:disabled {
36
+ background-color: var(--dark-y);
37
+ }
38
+
39
+ &:focus {
40
+ background: var(--light-background4);
41
+ }
42
+ }
43
+ }
@@ -0,0 +1,21 @@
1
+ /* @pareto-engineering/generator-front 1.0.12 */
2
+ @use "@pareto-engineering/bem";
3
+
4
+ $default-loading-circle-displacement: .8em;
5
+
6
+ .#{bem.$base}.query-select {
7
+ position: relative;
8
+
9
+
10
+ >.#{bem.$base}.select-input {
11
+ select:disabled {
12
+ appearance: none;
13
+ }
14
+ }
15
+
16
+ >.#{bem.$base}.loading-circle {
17
+ position: absolute;
18
+ right: $default-loading-circle-displacement;
19
+ bottom: $default-loading-circle-displacement;
20
+ }
21
+ }
@@ -0,0 +1,111 @@
1
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
+
3
+ /* @pareto-engineering/generator-front 1.0.12 */
4
+ import * as React from 'react';
5
+ import { useLayoutEffect } from 'react';
6
+ import PropTypes from 'prop-types';
7
+ import { useField } from 'formik';
8
+ import styleNames from '@pareto-engineering/bem';
9
+ import { FormLabel } from "../../common"; // Local Definitions
10
+
11
+ const baseClassName = styleNames.base;
12
+ const componentClassName = 'task-recommendation';
13
+ /**
14
+ * This is the component description.
15
+ */
16
+
17
+ const TaskRecommendation = ({
18
+ id,
19
+ className: userClassName,
20
+ style,
21
+ name,
22
+ value,
23
+ oneLiner,
24
+ label,
25
+ color,
26
+ image // ...otherProps
27
+
28
+ }) => {
29
+ var _field$value;
30
+
31
+ useLayoutEffect(() => {
32
+ import("./styles.scss");
33
+ }, []);
34
+ const [field] = useField(name);
35
+ const isOptionSelected = !!(((_field$value = field.value) === null || _field$value === void 0 ? void 0 : _field$value.length) > 0 && field.value.includes(value));
36
+ return /*#__PURE__*/React.createElement("div", {
37
+ id: id,
38
+ className: [baseClassName, componentClassName, userClassName, `x-${color}`].filter(e => e).join(' '),
39
+ style: style // {...otherProps}
40
+
41
+ }, /*#__PURE__*/React.createElement("div", {
42
+ className: `task-content ${isOptionSelected ? 'b-x' : 'b-on-x'}`
43
+ }, /*#__PURE__*/React.createElement("div", {
44
+ className: "v1 p-v task"
45
+ }, /*#__PURE__*/React.createElement(FormLabel, {
46
+ className: `uc mb-v ${isOptionSelected ? 'c-on-x' : 'c-x'}`,
47
+ name: name
48
+ }, label), /*#__PURE__*/React.createElement("input", _extends({}, field, {
49
+ value: value,
50
+ id: name,
51
+ className: "input",
52
+ type: "checkbox"
53
+ })), /*#__PURE__*/React.createElement("img", {
54
+ className: "image",
55
+ src: image,
56
+ alt: "img"
57
+ }), /*#__PURE__*/React.createElement("p", {
58
+ className: ['uc u2 mt-u', isOptionSelected && 'c-on-x'].filter(e => e).join(' ')
59
+ }, oneLiner))));
60
+ };
61
+
62
+ TaskRecommendation.propTypes = {
63
+ /**
64
+ * The HTML id for this element
65
+ */
66
+ id: PropTypes.string,
67
+
68
+ /**
69
+ * The HTML class names for this element
70
+ */
71
+ className: PropTypes.string,
72
+
73
+ /**
74
+ * The React-written, css properties for this element.
75
+ */
76
+ style: PropTypes.objectOf(PropTypes.string),
77
+
78
+ /**
79
+ * The name of the input
80
+ */
81
+ name: PropTypes.string.isRequired,
82
+
83
+ /**
84
+ * The value of the input
85
+ */
86
+ value: PropTypes.string.isRequired,
87
+
88
+ /**
89
+ * The task one liner description
90
+ */
91
+ oneLiner: PropTypes.string.isRequired,
92
+
93
+ /**
94
+ * The task label
95
+ */
96
+ label: PropTypes.string.isRequired,
97
+
98
+ /**
99
+ * The color
100
+ */
101
+ color: PropTypes.string,
102
+
103
+ /**
104
+ * Task image
105
+ */
106
+ image: PropTypes.string.isRequired
107
+ };
108
+ TaskRecommendation.defaultProps = {
109
+ color: 'main2'
110
+ };
111
+ export default TaskRecommendation;
@@ -0,0 +1,2 @@
1
+ /* @pareto-engineering/generator-front 1.0.12 */
2
+ export { default as TaskRecommendation } from "./TaskRecommendation";
@@ -0,0 +1,37 @@
1
+ /* @pareto-engineering/generator-front 1.0.12 */
2
+ @use "@pareto-engineering/bem";
3
+
4
+ .#{bem.$base}.task-recommendation {
5
+
6
+ .task-content {
7
+ border-radius: var(--theme-border-radius);
8
+ border: 1px solid var(--x);
9
+ height: 100%;
10
+
11
+ .task {
12
+ position: relative;
13
+ display: flex;
14
+ flex-direction: column;
15
+ justify-content: space-around;
16
+ align-items: center;
17
+ height: 100%;
18
+
19
+ .input {
20
+ appearance: none;
21
+ position: absolute;
22
+ left: 0;
23
+ top: 0;
24
+ bottom:0;
25
+ cursor: pointer;
26
+ width: 100%;
27
+ }
28
+
29
+ .image {
30
+ width: 7rem;
31
+ }
32
+ }
33
+ }
34
+ }
35
+
36
+
37
+
@@ -43,7 +43,7 @@ const TaskRecommendationInput = ({
43
43
  }, /*#__PURE__*/React.createElement("div", {
44
44
  className: "v1 p-v task"
45
45
  }, /*#__PURE__*/React.createElement(FormLabel, {
46
- className: `uc mb-v ${isOptionSelected ? 'c-on-x' : 'c-x'}`,
46
+ className: `uc mb-v ${isOptionSelected ? styleNames.modifierActive : ''}`,
47
47
  name: name
48
48
  }, label), /*#__PURE__*/React.createElement("input", _extends({}, field, {
49
49
  value: value,
@@ -16,6 +16,10 @@
16
16
  align-items: center;
17
17
  height: 100%;
18
18
 
19
+ .#{bem.$modifier-active} {
20
+ color: var(--on-x);
21
+ }
22
+
19
23
  .input {
20
24
  appearance: none;
21
25
  position: absolute;