@pareto-engineering/design-system 4.0.0-alpha.61 → 4.0.0-alpha.63

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 (198) hide show
  1. package/dist/cjs/a/TextSteps/TextSteps.js +4 -4
  2. package/dist/cjs/a/TextSteps/styles.scss +1 -1
  3. package/dist/cjs/f/FormInput/FormInput.js +43 -13
  4. package/dist/cjs/f/common/V2/Description/Description.js +76 -0
  5. package/dist/cjs/f/common/V2/Description/index.js +13 -0
  6. package/dist/cjs/f/common/V2/Description/styles.scss +10 -0
  7. package/dist/cjs/f/common/V2/Label/Label.js +84 -0
  8. package/dist/cjs/f/common/V2/Label/index.js +13 -0
  9. package/dist/cjs/f/common/V2/Label/styles.scss +9 -0
  10. package/dist/cjs/f/common/V2/index.js +19 -0
  11. package/dist/cjs/f/common/index.js +12 -0
  12. package/dist/cjs/f/fields/V2/Checkbox/Checkbox.js +122 -0
  13. package/dist/cjs/f/fields/V2/Checkbox/index.js +13 -0
  14. package/dist/cjs/f/fields/V2/Checkbox/styles.scss +16 -0
  15. package/dist/cjs/f/fields/V2/ChoicesInput/ChoicesInput.js +154 -0
  16. package/dist/cjs/f/fields/V2/ChoicesInput/common/Choice/Choice.js +104 -0
  17. package/dist/cjs/f/fields/V2/ChoicesInput/common/Choice/index.js +13 -0
  18. package/dist/cjs/f/fields/V2/ChoicesInput/common/index.js +12 -0
  19. package/dist/cjs/f/fields/V2/ChoicesInput/index.js +13 -0
  20. package/dist/cjs/f/fields/V2/ChoicesInput/styles.scss +79 -0
  21. package/dist/cjs/f/fields/V2/EditorInput/EditorInput.js +197 -0
  22. package/dist/cjs/f/fields/V2/EditorInput/common/Toolbar.js +257 -0
  23. package/dist/cjs/f/fields/V2/EditorInput/common/TreeViewPlugin.js +18 -0
  24. package/dist/cjs/f/fields/V2/EditorInput/common/index.js +20 -0
  25. package/dist/cjs/f/fields/V2/EditorInput/index.js +13 -0
  26. package/dist/cjs/f/fields/V2/EditorInput/styles.scss +149 -0
  27. package/dist/cjs/f/fields/V2/LinkInput/LinkInput.js +156 -0
  28. package/dist/cjs/f/fields/V2/LinkInput/index.js +13 -0
  29. package/dist/cjs/f/fields/V2/LinkInput/styles.scss +90 -0
  30. package/dist/cjs/f/fields/V2/QueryChoices/QueryChoices.js +137 -0
  31. package/dist/cjs/f/fields/V2/QueryChoices/index.js +13 -0
  32. package/dist/cjs/f/fields/V2/QueryCombobox/QueryCombobox.js +229 -0
  33. package/dist/cjs/f/fields/V2/QueryCombobox/common/Combobox/Combobox.js +236 -0
  34. package/dist/cjs/f/fields/V2/QueryCombobox/common/Combobox/index.js +13 -0
  35. package/dist/cjs/f/fields/V2/QueryCombobox/common/Menu/Menu.js +83 -0
  36. package/dist/cjs/f/fields/V2/QueryCombobox/common/Menu/index.js +13 -0
  37. package/dist/cjs/f/fields/V2/QueryCombobox/common/MultipleCombobox/MultipleCombobox.js +300 -0
  38. package/dist/cjs/f/fields/V2/QueryCombobox/common/MultipleCombobox/index.js +13 -0
  39. package/dist/cjs/f/fields/V2/QueryCombobox/common/index.js +26 -0
  40. package/dist/cjs/f/fields/V2/QueryCombobox/index.js +13 -0
  41. package/dist/cjs/f/fields/V2/QueryCombobox/styles.scss +127 -0
  42. package/dist/cjs/f/fields/V2/QuerySelect/QuerySelect.js +198 -0
  43. package/dist/cjs/f/fields/V2/QuerySelect/index.js +13 -0
  44. package/dist/cjs/f/fields/V2/RatingsInput/RatingsInput.js +130 -0
  45. package/dist/cjs/f/fields/V2/RatingsInput/common/Rating/Rating.js +117 -0
  46. package/dist/cjs/f/fields/V2/RatingsInput/common/Rating/index.js +13 -0
  47. package/dist/cjs/f/fields/V2/RatingsInput/common/index.js +12 -0
  48. package/dist/cjs/f/fields/V2/RatingsInput/index.js +13 -0
  49. package/dist/cjs/f/fields/V2/RatingsInput/styles.scss +48 -0
  50. package/dist/cjs/f/fields/V2/SelectInput/SelectInput.js +154 -0
  51. package/dist/cjs/f/fields/V2/SelectInput/index.js +13 -0
  52. package/dist/cjs/f/fields/V2/SelectInput/styles.scss +87 -0
  53. package/dist/cjs/f/fields/V2/TextInput/TextInput.js +155 -0
  54. package/dist/cjs/f/fields/V2/TextInput/index.js +13 -0
  55. package/dist/cjs/f/fields/V2/TextInput/styles.scss +78 -0
  56. package/dist/cjs/f/fields/V2/TextareaInput/TextareaInput.js +152 -0
  57. package/dist/cjs/f/fields/V2/TextareaInput/index.js +13 -0
  58. package/dist/cjs/f/fields/V2/TextareaInput/styles.scss +53 -0
  59. package/dist/cjs/f/fields/V2/index.js +82 -0
  60. package/dist/cjs/f/fields/index.js +26 -1
  61. package/dist/es/a/TextSteps/TextSteps.js +4 -4
  62. package/dist/es/a/TextSteps/styles.scss +1 -1
  63. package/dist/es/f/FormInput/FormInput.js +33 -3
  64. package/dist/es/f/common/V2/Description/Description.js +68 -0
  65. package/dist/es/f/common/V2/Description/index.js +2 -0
  66. package/dist/es/f/common/V2/Description/styles.scss +10 -0
  67. package/dist/es/f/common/V2/Label/Label.js +76 -0
  68. package/dist/es/f/common/V2/Label/index.js +2 -0
  69. package/dist/es/f/common/V2/Label/styles.scss +9 -0
  70. package/dist/es/f/common/V2/index.js +2 -0
  71. package/dist/es/f/common/index.js +2 -1
  72. package/dist/es/f/fields/V2/Checkbox/Checkbox.js +114 -0
  73. package/dist/es/f/fields/V2/Checkbox/index.js +2 -0
  74. package/dist/es/f/fields/V2/Checkbox/styles.scss +16 -0
  75. package/dist/es/f/fields/V2/ChoicesInput/ChoicesInput.js +148 -0
  76. package/dist/es/f/fields/V2/ChoicesInput/common/Choice/Choice.js +97 -0
  77. package/dist/es/f/fields/V2/ChoicesInput/common/Choice/index.js +2 -0
  78. package/dist/es/f/fields/V2/ChoicesInput/common/index.js +1 -0
  79. package/dist/es/f/fields/V2/ChoicesInput/index.js +2 -0
  80. package/dist/es/f/fields/V2/ChoicesInput/styles.scss +79 -0
  81. package/dist/es/f/fields/V2/EditorInput/EditorInput.js +192 -0
  82. package/dist/es/f/fields/V2/EditorInput/common/Toolbar.js +246 -0
  83. package/dist/es/f/fields/V2/EditorInput/common/TreeViewPlugin.js +11 -0
  84. package/dist/es/f/fields/V2/EditorInput/common/index.js +2 -0
  85. package/dist/es/f/fields/V2/EditorInput/index.js +2 -0
  86. package/dist/es/f/fields/V2/EditorInput/styles.scss +149 -0
  87. package/dist/es/f/fields/V2/LinkInput/LinkInput.js +148 -0
  88. package/dist/es/f/fields/V2/LinkInput/index.js +2 -0
  89. package/dist/es/f/fields/V2/LinkInput/styles.scss +90 -0
  90. package/dist/es/f/fields/V2/QueryChoices/QueryChoices.js +126 -0
  91. package/dist/es/f/fields/V2/QueryChoices/index.js +2 -0
  92. package/dist/es/f/fields/V2/QueryCombobox/QueryCombobox.js +221 -0
  93. package/dist/es/f/fields/V2/QueryCombobox/common/Combobox/Combobox.js +229 -0
  94. package/dist/es/f/fields/V2/QueryCombobox/common/Combobox/index.js +2 -0
  95. package/dist/es/f/fields/V2/QueryCombobox/common/Menu/Menu.js +73 -0
  96. package/dist/es/f/fields/V2/QueryCombobox/common/Menu/index.js +2 -0
  97. package/dist/es/f/fields/V2/QueryCombobox/common/MultipleCombobox/MultipleCombobox.js +293 -0
  98. package/dist/es/f/fields/V2/QueryCombobox/common/MultipleCombobox/index.js +2 -0
  99. package/dist/es/f/fields/V2/QueryCombobox/common/index.js +3 -0
  100. package/dist/es/f/fields/V2/QueryCombobox/index.js +2 -0
  101. package/dist/es/f/fields/V2/QueryCombobox/styles.scss +127 -0
  102. package/dist/es/f/fields/V2/QuerySelect/QuerySelect.js +186 -0
  103. package/dist/es/f/fields/V2/QuerySelect/index.js +2 -0
  104. package/dist/es/f/fields/V2/RatingsInput/RatingsInput.js +124 -0
  105. package/dist/es/f/fields/V2/RatingsInput/common/Rating/Rating.js +109 -0
  106. package/dist/es/f/fields/V2/RatingsInput/common/Rating/index.js +2 -0
  107. package/dist/es/f/fields/V2/RatingsInput/common/index.js +1 -0
  108. package/dist/es/f/fields/V2/RatingsInput/index.js +2 -0
  109. package/dist/es/f/fields/V2/RatingsInput/styles.scss +48 -0
  110. package/dist/es/f/fields/V2/SelectInput/SelectInput.js +146 -0
  111. package/dist/es/f/fields/V2/SelectInput/index.js +2 -0
  112. package/dist/es/f/fields/V2/SelectInput/styles.scss +87 -0
  113. package/dist/es/f/fields/V2/TextInput/TextInput.js +147 -0
  114. package/dist/es/f/fields/V2/TextInput/index.js +2 -0
  115. package/dist/es/f/fields/V2/TextInput/styles.scss +78 -0
  116. package/dist/es/f/fields/V2/TextareaInput/TextareaInput.js +146 -0
  117. package/dist/es/f/fields/V2/TextareaInput/index.js +2 -0
  118. package/dist/es/f/fields/V2/TextareaInput/styles.scss +53 -0
  119. package/dist/es/f/fields/V2/index.js +11 -0
  120. package/dist/es/f/fields/index.js +2 -1
  121. package/package.json +3 -3
  122. package/src/stories/f/v2/Checkbox.stories.jsx +102 -0
  123. package/src/stories/f/v2/ChoicesInput.stories.jsx +139 -0
  124. package/src/stories/f/v2/EditorInput.stories.jsx +81 -0
  125. package/src/stories/f/v2/LinkInput.stories.jsx +93 -0
  126. package/src/stories/f/v2/QueryChoices.stories.jsx +144 -0
  127. package/src/stories/f/v2/QueryCombobox.stories.jsx +301 -0
  128. package/src/stories/f/v2/QuerySelect.stories.jsx +150 -0
  129. package/src/stories/f/v2/RatingsInput.stories.jsx +77 -0
  130. package/src/stories/f/v2/SelectInput.stories.jsx +95 -0
  131. package/src/stories/f/v2/TextInput.stories.jsx +120 -0
  132. package/src/stories/f/v2/TextareaInput.stories.jsx +107 -0
  133. package/src/stories/f/v2/__generated__/FormInputAllTaskStatusesQuery.graphql.js +122 -0
  134. package/src/stories/f/v2/__generated__/FormInputAllTeamsQuery.graphql.js +139 -0
  135. package/src/stories/f/v2/__generated__/QueryChoicesAllTaskStatusesQuery.graphql.js +122 -0
  136. package/src/stories/f/v2/__generated__/QueryComboboxAllTeamsQuery.graphql.js +139 -0
  137. package/src/stories/f/v2/__generated__/QuerySelectAllTaskStatusesQuery.graphql.js +122 -0
  138. package/src/ui/a/TextSteps/TextSteps.jsx +4 -4
  139. package/src/ui/a/TextSteps/styles.scss +1 -1
  140. package/src/ui/f/FormInput/FormInput.jsx +57 -12
  141. package/src/ui/f/common/V2/Description/Description.jsx +94 -0
  142. package/src/ui/f/common/V2/Description/index.js +2 -0
  143. package/src/ui/f/common/V2/Description/styles.scss +10 -0
  144. package/src/ui/f/common/V2/Label/Label.jsx +102 -0
  145. package/src/ui/f/common/V2/Label/index.js +2 -0
  146. package/src/ui/f/common/V2/Label/styles.scss +9 -0
  147. package/src/ui/f/common/V2/index.js +2 -0
  148. package/src/ui/f/common/index.js +1 -0
  149. package/src/ui/f/fields/V2/Checkbox/Checkbox.jsx +146 -0
  150. package/src/ui/f/fields/V2/Checkbox/index.js +2 -0
  151. package/src/ui/f/fields/V2/Checkbox/styles.scss +16 -0
  152. package/src/ui/f/fields/V2/ChoicesInput/ChoicesInput.jsx +183 -0
  153. package/src/ui/f/fields/V2/ChoicesInput/common/Choice/Choice.jsx +125 -0
  154. package/src/ui/f/fields/V2/ChoicesInput/common/Choice/index.js +2 -0
  155. package/src/ui/f/fields/V2/ChoicesInput/common/index.js +1 -0
  156. package/src/ui/f/fields/V2/ChoicesInput/index.js +2 -0
  157. package/src/ui/f/fields/V2/ChoicesInput/styles.scss +79 -0
  158. package/src/ui/f/fields/V2/EditorInput/EditorInput.jsx +244 -0
  159. package/src/ui/f/fields/V2/EditorInput/common/Toolbar.jsx +356 -0
  160. package/src/ui/f/fields/V2/EditorInput/common/TreeViewPlugin.jsx +16 -0
  161. package/src/ui/f/fields/V2/EditorInput/common/index.jsx +2 -0
  162. package/src/ui/f/fields/V2/EditorInput/index.js +2 -0
  163. package/src/ui/f/fields/V2/EditorInput/styles.scss +149 -0
  164. package/src/ui/f/fields/V2/LinkInput/LinkInput.jsx +187 -0
  165. package/src/ui/f/fields/V2/LinkInput/index.js +2 -0
  166. package/src/ui/f/fields/V2/LinkInput/styles.scss +90 -0
  167. package/src/ui/f/fields/V2/QueryChoices/QueryChoices.jsx +153 -0
  168. package/src/ui/f/fields/V2/QueryChoices/index.js +2 -0
  169. package/src/ui/f/fields/V2/QueryCombobox/QueryCombobox.jsx +254 -0
  170. package/src/ui/f/fields/V2/QueryCombobox/common/Combobox/Combobox.jsx +276 -0
  171. package/src/ui/f/fields/V2/QueryCombobox/common/Combobox/index.js +2 -0
  172. package/src/ui/f/fields/V2/QueryCombobox/common/Menu/Menu.jsx +103 -0
  173. package/src/ui/f/fields/V2/QueryCombobox/common/Menu/index.js +2 -0
  174. package/src/ui/f/fields/V2/QueryCombobox/common/MultipleCombobox/MultipleCombobox.jsx +362 -0
  175. package/src/ui/f/fields/V2/QueryCombobox/common/MultipleCombobox/index.js +2 -0
  176. package/src/ui/f/fields/V2/QueryCombobox/common/index.js +3 -0
  177. package/src/ui/f/fields/V2/QueryCombobox/index.js +2 -0
  178. package/src/ui/f/fields/V2/QueryCombobox/styles.scss +127 -0
  179. package/src/ui/f/fields/V2/QuerySelect/QuerySelect.jsx +220 -0
  180. package/src/ui/f/fields/V2/QuerySelect/index.js +2 -0
  181. package/src/ui/f/fields/V2/RatingsInput/RatingsInput.jsx +152 -0
  182. package/src/ui/f/fields/V2/RatingsInput/common/Rating/Rating.jsx +142 -0
  183. package/src/ui/f/fields/V2/RatingsInput/common/Rating/index.js +2 -0
  184. package/src/ui/f/fields/V2/RatingsInput/common/index.js +1 -0
  185. package/src/ui/f/fields/V2/RatingsInput/index.js +2 -0
  186. package/src/ui/f/fields/V2/RatingsInput/styles.scss +48 -0
  187. package/src/ui/f/fields/V2/SelectInput/SelectInput.jsx +187 -0
  188. package/src/ui/f/fields/V2/SelectInput/index.js +2 -0
  189. package/src/ui/f/fields/V2/SelectInput/styles.scss +87 -0
  190. package/src/ui/f/fields/V2/TextInput/TextInput.jsx +192 -0
  191. package/src/ui/f/fields/V2/TextInput/index.js +2 -0
  192. package/src/ui/f/fields/V2/TextInput/styles.scss +78 -0
  193. package/src/ui/f/fields/V2/TextareaInput/TextareaInput.jsx +180 -0
  194. package/src/ui/f/fields/V2/TextareaInput/index.js +2 -0
  195. package/src/ui/f/fields/V2/TextareaInput/styles.scss +53 -0
  196. package/src/ui/f/fields/V2/index.js +11 -0
  197. package/src/ui/f/fields/index.js +1 -0
  198. package/tests/__snapshots__/Storyshots.test.js.snap +5910 -1
@@ -0,0 +1,124 @@
1
+ /* @pareto-engineering/generator-front 1.0.12 */
2
+ import * as React from 'react';
3
+ import { useState, useInsertionEffect, memo } from 'react';
4
+ import PropTypes from 'prop-types';
5
+ import styleNames from '@pareto-engineering/bem/exports';
6
+
7
+ // Local Definitions
8
+
9
+ import { Rating } from "./common";
10
+ import { FormLabelV2 } from "../../../common";
11
+ const baseClassName = styleNames.base;
12
+ const componentClassName = 'ratings-input';
13
+
14
+ /**
15
+ * This is the component description.
16
+ */
17
+ const RatingsInput = ({
18
+ id,
19
+ className: userClassName,
20
+ style,
21
+ name,
22
+ ratingCount,
23
+ showRatingValue,
24
+ color,
25
+ label,
26
+ labelColor,
27
+ labelMax,
28
+ labelMin,
29
+ displayRatingsLabel,
30
+ optional
31
+ // ...otherProps
32
+ }) => {
33
+ useInsertionEffect(() => {
34
+ import("./styles.scss");
35
+ }, []);
36
+ const [hover, setHover] = useState(null);
37
+ return /*#__PURE__*/React.createElement("div", {
38
+ id: id,
39
+ className: [baseClassName, componentClassName, userClassName].filter(e => e).join(' '),
40
+ style: style
41
+ }, /*#__PURE__*/React.createElement(FormLabelV2, {
42
+ name: name,
43
+ color: labelColor,
44
+ optional: optional
45
+ // {...otherProps}
46
+ }, label), /*#__PURE__*/React.createElement("div", {
47
+ className: "stars"
48
+ }, displayRatingsLabel && /*#__PURE__*/React.createElement("p", {
49
+ className: "label-text s-2 x-metadata c-x"
50
+ }, labelMin), [...Array(ratingCount)].map((_, index) => {
51
+ const ratingValue = index + 1;
52
+ return /*#__PURE__*/React.createElement(Rating, {
53
+ key: ratingValue,
54
+ ratingId: `${name}-${ratingValue}`,
55
+ value: ratingValue,
56
+ name: name,
57
+ hover: hover,
58
+ setHover: setHover,
59
+ showRatingValue: showRatingValue,
60
+ activeBackgroundColor: color
61
+ });
62
+ }), displayRatingsLabel && /*#__PURE__*/React.createElement("p", {
63
+ className: "label-text s-2 x-metadata c-x"
64
+ }, labelMax)));
65
+ };
66
+ RatingsInput.propTypes = {
67
+ /**
68
+ * The HTML id for this element
69
+ */
70
+ id: PropTypes.string,
71
+ /**
72
+ * The HTML class names for this element
73
+ */
74
+ className: PropTypes.string,
75
+ /**
76
+ * The React-written, css properties for this element.
77
+ */
78
+ style: PropTypes.objectOf(PropTypes.string),
79
+ /**
80
+ * The number of ratings input stars to be displayed
81
+ */
82
+ ratingCount: PropTypes.number.isRequired,
83
+ /**
84
+ * Name of the rating input
85
+ */
86
+ name: PropTypes.string.isRequired,
87
+ /**
88
+ * Determines if the rating start value should be shown
89
+ */
90
+ showRatingValue: PropTypes.bool,
91
+ /**
92
+ * The label of the ratings input
93
+ */
94
+ label: PropTypes.string.isRequired,
95
+ /**
96
+ * description for the highest rating value
97
+ */
98
+ labelMax: PropTypes.string,
99
+ /**
100
+ * description for the lowest rating value
101
+ */
102
+ labelMin: PropTypes.string,
103
+ /**
104
+ * If the rating lables should be shown
105
+ */
106
+ displayRatingsLabel: PropTypes.bool,
107
+ /**
108
+ * Whether the input is optional or not
109
+ */
110
+ optional: PropTypes.bool,
111
+ /**
112
+ * The color of the stars
113
+ */
114
+ color: PropTypes.string,
115
+ /**
116
+ * String that will represent color for the label
117
+ */
118
+ labelColor: PropTypes.string
119
+ };
120
+ RatingsInput.defaultProps = {
121
+ labelMin: 'not satisfied.',
122
+ labelMax: 'very satisfied.'
123
+ };
124
+ export default /*#__PURE__*/memo(RatingsInput);
@@ -0,0 +1,109 @@
1
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : 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
+ /* @pareto-engineering/generator-front 1.0.12 */
3
+ import * as React from 'react';
4
+ import PropTypes from 'prop-types';
5
+ import { useField } from 'formik';
6
+ import styleNames from '@pareto-engineering/bem/exports';
7
+
8
+ // Local Definitions
9
+
10
+ const baseClassName = styleNames.base;
11
+ const componentClassName = 'rating';
12
+
13
+ /**
14
+ * This is the component description.
15
+ */
16
+ const Rating = ({
17
+ id,
18
+ className: userClassName,
19
+ style,
20
+ value,
21
+ name,
22
+ ratingId,
23
+ hover,
24
+ setHover,
25
+ validate,
26
+ activeBackgroundColor,
27
+ inactiveBackgroundColor,
28
+ showRatingValue
29
+ // ...otherProps
30
+ }) => {
31
+ const [field] = useField({
32
+ name,
33
+ validate
34
+ });
35
+ return /*#__PURE__*/React.createElement("div", {
36
+ id: id,
37
+ className: [baseClassName, componentClassName, userClassName, `x-${activeBackgroundColor}`, `y-${inactiveBackgroundColor}`].filter(e => e).join(' '),
38
+ style: style
39
+ }, /*#__PURE__*/React.createElement("label", {
40
+ htmlFor: ratingId,
41
+ onMouseEnter: () => setHover(value),
42
+ onMouseLeave: () => setHover(null)
43
+ }, showRatingValue && /*#__PURE__*/React.createElement("span", {
44
+ className: "s-2 x-metadata c-x"
45
+ }, value), /*#__PURE__*/React.createElement("span", {
46
+ className: ['icon', value <= (hover || Number(field.value)) ? 'c-x' : 'c-hard-y'].filter(e => e).join(' ')
47
+ }, "[")), /*#__PURE__*/React.createElement("input", _extends({}, field, {
48
+ type: "radio",
49
+ id: ratingId,
50
+ name: name,
51
+ value: value
52
+ })));
53
+ };
54
+ Rating.propTypes = {
55
+ /**
56
+ * The HTML id for this element
57
+ */
58
+ id: PropTypes.string,
59
+ /**
60
+ * The HTML class names for this element
61
+ */
62
+ className: PropTypes.string,
63
+ /**
64
+ * The React-written, css properties for this element.
65
+ */
66
+ style: PropTypes.objectOf(PropTypes.string),
67
+ /**
68
+ * The value of each an every rating star
69
+ */
70
+ value: PropTypes.number,
71
+ /**
72
+ * The current hover value
73
+ */
74
+ hover: PropTypes.number,
75
+ /**
76
+ * Function to update the hover value
77
+ */
78
+ setHover: PropTypes.func,
79
+ /**
80
+ * Unique Id for each rating star
81
+ */
82
+ ratingId: PropTypes.string,
83
+ /**
84
+ * Name of the rating input
85
+ */
86
+ name: PropTypes.string,
87
+ /**
88
+ * The start rating backgriund color when hovered or clicked
89
+ */
90
+ activeBackgroundColor: PropTypes.string,
91
+ /**
92
+ * The start rating backgriund color when not hovered and not clicked
93
+ */
94
+ inactiveBackgroundColor: PropTypes.string,
95
+ /**
96
+ * Determines if the rating start value should be shown
97
+ */
98
+ showRatingValue: PropTypes.bool,
99
+ /**
100
+ * The rating field validator function
101
+ */
102
+ validate: PropTypes.func
103
+ };
104
+ Rating.defaultProps = {
105
+ activeBackgroundColor: 'interactive',
106
+ inactiveBackgroundColor: 'background-inputs',
107
+ showRatingValue: false
108
+ };
109
+ export default Rating;
@@ -0,0 +1,2 @@
1
+ /* @pareto-engineering/generator-front 1.0.12 */
2
+ export { default as Rating } from "./Rating";
@@ -0,0 +1 @@
1
+ export { Rating } from "./Rating";
@@ -0,0 +1,2 @@
1
+ /* @pareto-engineering/generator-front 1.0.12 */
2
+ export { default as RatingsInput } from "./RatingsInput";
@@ -0,0 +1,48 @@
1
+ /* @pareto-engineering/generator-front 1.0.12 */
2
+
3
+ @use "@pareto-engineering/bem";
4
+ @use "@pareto-engineering/styles/src/mixins";
5
+ @use "@pareto-engineering/styles/src/globals" as *;
6
+
7
+ $default-rating-icon-margin: .5em;
8
+ $default-padding: .2em;
9
+ $default-transition: all .2s;
10
+
11
+ .#{bem.$base}.ratings-input {
12
+ display: flex;
13
+ flex-direction: column;
14
+ gap: var(--gap);
15
+
16
+ >.stars {
17
+ display: flex;
18
+
19
+ >:not(:last-child) {
20
+ margin-right: $default-rating-icon-margin;
21
+ }
22
+
23
+ > .#{bem.$base}.rating {
24
+ display: flex;
25
+
26
+ > input {
27
+ opacity: 0;
28
+ position: absolute;
29
+ visibility: none;
30
+ z-index: -1;
31
+ }
32
+
33
+ > label {
34
+ align-items: center;
35
+ cursor: pointer;
36
+ display: flex;
37
+ flex-direction: column;
38
+ padding: $default-padding;
39
+ transition: $default-transition;
40
+ }
41
+ }
42
+
43
+ .label-text {
44
+ align-self: flex-end;
45
+ margin-bottom: 0;
46
+ }
47
+ }
48
+ }
@@ -0,0 +1,146 @@
1
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : 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
+ /* @pareto-engineering/generator-front 1.0.12 */
3
+ import * as React from 'react';
4
+ import { useInsertionEffect, memo } from 'react';
5
+ import { useField } from 'formik';
6
+ import PropTypes from 'prop-types';
7
+ import styleNames from '@pareto-engineering/bem/exports';
8
+ import { LoadingCircle } from "../../../../a";
9
+ import { FormLabelV2, FormDescriptionV2 } from "../../../common";
10
+
11
+ // Local Definitions
12
+
13
+ const baseClassName = styleNames.base;
14
+ const componentClassName = 'select-input';
15
+
16
+ /**
17
+ * This is the component description.
18
+ */
19
+ const SelectInput = ({
20
+ id,
21
+ className: userClassName,
22
+ style,
23
+ name,
24
+ label,
25
+ labelColor,
26
+ color,
27
+ options,
28
+ validate,
29
+ optional,
30
+ description,
31
+ disabled,
32
+ isLoading,
33
+ autoComplete
34
+ // ...otherProps
35
+ }) => {
36
+ useInsertionEffect(() => {
37
+ import("./styles.scss");
38
+ }, []);
39
+ const [field] = useField({
40
+ name,
41
+ validate
42
+ });
43
+ return /*#__PURE__*/React.createElement("div", {
44
+ id: id,
45
+ className: [baseClassName, componentClassName, userClassName].filter(e => e).join(' '),
46
+ style: style
47
+ }, /*#__PURE__*/React.createElement(FormLabelV2, {
48
+ name: name,
49
+ color: labelColor,
50
+ optional: optional
51
+ // {...otherProps}
52
+ }, label), /*#__PURE__*/React.createElement("div", {
53
+ className: `select-wrapper${disabled ? ' disabled' : ''}`
54
+ }, /*#__PURE__*/React.createElement("select", _extends({
55
+ className: `input y-${color}`
56
+ }, field, {
57
+ value: field.value || '',
58
+ id: name,
59
+ disabled: disabled,
60
+ autoComplete: autoComplete
61
+ }), options.map(option => {
62
+ // i.e if option is a string like "blah", return { value: "blah", label: "blah" }
63
+ const newOption = typeof option === 'string' ? {
64
+ value: option,
65
+ label: option
66
+ } : option;
67
+ return /*#__PURE__*/React.createElement("option", {
68
+ key: newOption.value,
69
+ value: newOption.value,
70
+ disabled: newOption?.disabled || false
71
+ }, newOption.label);
72
+ })), isLoading && /*#__PURE__*/React.createElement(LoadingCircle, {
73
+ className: "x-main"
74
+ })), /*#__PURE__*/React.createElement(FormDescriptionV2, {
75
+ className: "s-1",
76
+ description: description,
77
+ name: name
78
+ }));
79
+ };
80
+ SelectInput.propTypes = {
81
+ /**
82
+ * The HTML id for this element
83
+ */
84
+ id: PropTypes.string,
85
+ /**
86
+ * The HTML class names for this element
87
+ */
88
+ className: PropTypes.string,
89
+ /**
90
+ * The React-written, css properties for this element.
91
+ */
92
+ style: PropTypes.objectOf(PropTypes.string),
93
+ /**
94
+ * The name of the select input
95
+ */
96
+ name: PropTypes.string,
97
+ /**
98
+ * The label of the select input
99
+ */
100
+ label: PropTypes.string,
101
+ /**
102
+ * The input field validator function
103
+ */
104
+ validate: PropTypes.func,
105
+ /**
106
+ * The select input description
107
+ */
108
+ description: PropTypes.string,
109
+ /**
110
+ * The options of the select input
111
+ */
112
+ options: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.shape({
113
+ value: PropTypes.string,
114
+ label: PropTypes.string,
115
+ disabled: PropTypes.bool
116
+ })])),
117
+ /**
118
+ * Whether the select input should be disabled
119
+ */
120
+ disabled: PropTypes.bool,
121
+ /**
122
+ * The color of the select input
123
+ */
124
+ color: PropTypes.string,
125
+ /**
126
+ * The color of the select input label
127
+ */
128
+ labelColor: PropTypes.string,
129
+ /*
130
+ * Whether the query that is fetching the select options is still in flight
131
+ */
132
+ isLoading: PropTypes.bool,
133
+ /**
134
+ * The autoComplete value that the browser should watch for the input
135
+ */
136
+ autoComplete: PropTypes.string,
137
+ /**
138
+ * Whether the input is optional or not
139
+ */
140
+ optional: PropTypes.bool
141
+ };
142
+ SelectInput.defaultProps = {
143
+ disabled: false,
144
+ color: 'paragraph'
145
+ };
146
+ export default /*#__PURE__*/memo(SelectInput);
@@ -0,0 +1,2 @@
1
+ /* @pareto-engineering/generator-front 1.0.12 */
2
+ export { default as SelectInput } from "./SelectInput";
@@ -0,0 +1,87 @@
1
+ /* @pareto-engineering/generator-front 1.0.12 */
2
+
3
+
4
+ @use "@pareto-engineering/bem";
5
+ @use "@pareto-engineering/styles/src/mixins";
6
+ @use "@pareto-engineering/styles/src/globals" as *;
7
+
8
+ $default-spacing-size: 1em;
9
+ $default-padding: .55em .75em;
10
+ $default-bg-gradient: var(--background-far);
11
+ $default-input-border-radius: var(--theme-default-input-border-radius);
12
+ $default-border: var(--theme-default-input-border);
13
+ $hover-border: var(--theme-hover-input-border);
14
+ $focus-border: var(--theme-focus-input-border);
15
+ $default-background: var(--background-inputs);
16
+ $disabled-background: var(--background-inputs-30);
17
+
18
+ .#{bem.$base}.select-input {
19
+ display: flex;
20
+ flex-direction: column;
21
+
22
+ > .#{bem.$base}.form-label {
23
+ margin-bottom: var(--gap);
24
+ }
25
+
26
+ .select-wrapper {
27
+ background-color: $default-background;
28
+ border: $default-border;
29
+ border-radius: $default-input-border-radius;
30
+ display: flex;
31
+ flex-direction: column;
32
+ padding: $default-padding;
33
+ padding-right: 0;
34
+ position: relative;
35
+
36
+ &:not(.disabled) {
37
+ &:hover,
38
+ &:active {
39
+ border: $hover-border;
40
+ }
41
+
42
+ &:focus {
43
+ border: $focus-border;
44
+ }
45
+ }
46
+
47
+ &.disabled {
48
+ background: $disabled-background;
49
+ }
50
+
51
+ &::placeholder {
52
+ color: var(--metadata);
53
+ }
54
+
55
+ &::after {
56
+ border-radius: $default-input-border-radius;
57
+ }
58
+
59
+ >.#{bem.$base}.loading-circle {
60
+ position: absolute;
61
+ right: $default-spacing-size;
62
+ top: 50%;
63
+ transform: translateY(-50%);
64
+ }
65
+
66
+ select {
67
+ appearance: none;
68
+ background-color: $default-background;
69
+ background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAyMCAxMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTE5IDEuNUwxMCAxMC41TDEgMS41IiBzdHJva2U9IiM0QzRENTMiIHN0cm9rZS13aWR0aD0iMiIvPgo8L3N2Zz4=");
70
+ background-position: calc(100% - $default-spacing-size);
71
+ background-repeat: no-repeat;
72
+ background-size: $default-spacing-size;
73
+ padding-right: $default-spacing-size;
74
+
75
+ &.input {
76
+ border: none;
77
+ color: var(--y);
78
+ outline: none;
79
+ width: 100%;
80
+
81
+ &:disabled {
82
+ opacity: 0%;
83
+ }
84
+ }
85
+ }
86
+ }
87
+ }
@@ -0,0 +1,147 @@
1
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : 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
+ /* @pareto-engineering/generator-front 1.0.12 */
3
+ import * as React from 'react';
4
+ import { useInsertionEffect, memo } from 'react';
5
+ import PropTypes from 'prop-types';
6
+ import styleNames from '@pareto-engineering/bem/exports';
7
+ import { useField } from 'formik';
8
+ import { FormLabelV2, FormDescriptionV2 } from "../../../common";
9
+
10
+ // Local Definitions
11
+
12
+ const baseClassName = styleNames.base;
13
+ const componentClassName = 'text-input';
14
+
15
+ /**
16
+ * This is the component description.
17
+ */
18
+ const TextInput = ({
19
+ id,
20
+ className: userClassName,
21
+ style,
22
+ type,
23
+ name,
24
+ label,
25
+ color,
26
+ labelColor,
27
+ validate,
28
+ description,
29
+ disabled,
30
+ placeholder,
31
+ optional,
32
+ autoComplete,
33
+ symbol,
34
+ ...otherProps
35
+ }) => {
36
+ useInsertionEffect(() => {
37
+ import("./styles.scss");
38
+ }, []);
39
+ const [field] = useField({
40
+ name,
41
+ validate
42
+ });
43
+ const symbolStyle = symbol ? {
44
+ '--symbol': symbol
45
+ } : {};
46
+ const InputWrapper = symbol ? 'div' : React.Fragment;
47
+ const inputWrapperProps = symbol ? {
48
+ className: 'input-wrapper'
49
+ } : {};
50
+ return /*#__PURE__*/React.createElement("div", {
51
+ id: id,
52
+ className: [baseClassName, componentClassName, userClassName, `y-${color} ${symbol ? 'has-symbol' : ''}`].filter(e => e).join(' '),
53
+ style: {
54
+ ...symbolStyle,
55
+ ...style
56
+ }
57
+ }, /*#__PURE__*/React.createElement(FormLabelV2, {
58
+ name: name,
59
+ color: labelColor,
60
+ optional: optional
61
+ // {...otherProps}
62
+ }, label), /*#__PURE__*/React.createElement(InputWrapper, inputWrapperProps, /*#__PURE__*/React.createElement("input", _extends({
63
+ id: name,
64
+ className: "input",
65
+ type: type,
66
+ disabled: disabled,
67
+ placeholder: placeholder,
68
+ autoComplete: autoComplete
69
+ }, field, otherProps))), /*#__PURE__*/React.createElement(FormDescriptionV2, {
70
+ className: "s-1",
71
+ description: description,
72
+ name: name
73
+ }));
74
+ };
75
+ TextInput.propTypes = {
76
+ /**
77
+ * The HTML id for this element
78
+ */
79
+ id: PropTypes.string,
80
+ /**
81
+ * The HTML class names for this element
82
+ */
83
+ className: PropTypes.string,
84
+ /**
85
+ * The React-written, css properties for this element.
86
+ */
87
+ style: PropTypes.objectOf(PropTypes.string),
88
+ /**
89
+ * The input name (html - and Formik state)
90
+ */
91
+ name: PropTypes.string.isRequired,
92
+ /**
93
+ * The input label
94
+ */
95
+ label: PropTypes.string.isRequired,
96
+ /**
97
+ * The input label color
98
+ */
99
+ labelColor: PropTypes.string,
100
+ /**
101
+ * The type of the input (html)
102
+ */
103
+ type: PropTypes.oneOf(['text', 'email', 'password', 'number', 'date', 'time', 'datetime', 'month', 'tel', 'hidden', 'url']),
104
+ /**
105
+ * The input field validator function
106
+ */
107
+ validate: PropTypes.func,
108
+ /**
109
+ * If the slide will only have one input
110
+ */
111
+ oneInputLabel: PropTypes.bool,
112
+ /**
113
+ * Input description
114
+ */
115
+ description: PropTypes.string,
116
+ /**
117
+ * Whether the text input should be disabled
118
+ */
119
+ disabled: PropTypes.bool,
120
+ /**
121
+ * The placeholder text for the input
122
+ */
123
+ placeholder: PropTypes.string,
124
+ /**
125
+ * The text input color
126
+ */
127
+ color: PropTypes.string,
128
+ /**
129
+ * Whether the input is optional or not
130
+ */
131
+ optional: PropTypes.bool,
132
+ /**
133
+ * The autoComplete value that the browser should watch for the input
134
+ * `https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete`
135
+ */
136
+ autoComplete: PropTypes.string,
137
+ /**
138
+ * A symbol to be set inside the input field
139
+ */
140
+ symbol: PropTypes.string
141
+ };
142
+ TextInput.defaultProps = {
143
+ type: 'text',
144
+ color: 'paragraph',
145
+ disabled: false
146
+ };
147
+ export default /*#__PURE__*/memo(TextInput);
@@ -0,0 +1,2 @@
1
+ /* @pareto-engineering/generator-front 1.0.12 */
2
+ export { default as TextInput } from "./TextInput";