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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (181) hide show
  1. package/dist/cjs/a/AnimatedCounter/AnimatedCounter.js +16 -29
  2. package/dist/cjs/a/AnimatedCounter/styles.scss +3 -11
  3. package/dist/cjs/a/{RatingsInput/common/Rating/Rating.js → BackgroundGradient/BackgroundGradient.js} +22 -65
  4. package/dist/cjs/a/BackgroundGradient/index.js +15 -0
  5. package/dist/cjs/a/BackgroundGradient/styles.scss +16 -0
  6. package/dist/cjs/a/Conversation/Conversation.js +15 -8
  7. package/dist/cjs/a/Conversation/common/Message/Message.js +33 -6
  8. package/dist/cjs/a/Conversation/styles.scss +129 -32
  9. package/dist/cjs/a/GradientBackground/GradientBackground.js +140 -0
  10. package/dist/cjs/a/GradientBackground/index.js +15 -0
  11. package/dist/cjs/a/GradientBackground/styles.scss +191 -0
  12. package/dist/cjs/a/OvalIllustration/OvalIllustration.js +133 -0
  13. package/dist/cjs/a/OvalIllustration/index.js +15 -0
  14. package/dist/cjs/a/OvalIllustration/styles.scss +102 -0
  15. package/dist/cjs/a/People/People.js +15 -7
  16. package/dist/cjs/a/People/common/Person/Person.js +11 -4
  17. package/dist/cjs/a/People/styles.scss +13 -15
  18. package/dist/cjs/a/Shapes/Shapes.js +171 -0
  19. package/dist/cjs/a/{RatingsInput/common/Rating → Shapes}/index.js +3 -3
  20. package/dist/cjs/a/Shapes/styles.scss +255 -0
  21. package/dist/cjs/a/{RatingsInput/RatingsInput.js → SnapScroller/SnapScroller.js} +15 -26
  22. package/dist/cjs/a/{RatingsInput → SnapScroller}/index.js +3 -3
  23. package/dist/cjs/a/SnapScroller/styles.scss +38 -0
  24. package/dist/cjs/a/TeamInfo/styles.scss +2 -2
  25. package/dist/cjs/a/index.js +33 -1
  26. package/dist/cjs/b/Button/Button.js +10 -4
  27. package/dist/cjs/b/Button/styles.scss +82 -18
  28. package/dist/cjs/b/Metrics/Metrics.js +89 -0
  29. package/dist/cjs/b/Metrics/index.js +15 -0
  30. package/dist/cjs/b/Metrics/styles.scss +91 -0
  31. package/dist/cjs/b/Page/common/Section/Section.js +56 -5
  32. package/dist/cjs/b/Page/styles.scss +8 -2
  33. package/dist/cjs/b/QuestionDropdown/styles.scss +1 -1
  34. package/dist/cjs/b/index.js +9 -1
  35. package/dist/cjs/c/ContentSlides/common/HorizontalMenu/HorizontalMenu.js +1 -1
  36. package/dist/cjs/c/ContentSlides/common/Navigator/Navigator.js +4 -3
  37. package/dist/cjs/experimental/GradientBackground/GradientBackground.js +98 -0
  38. package/dist/cjs/experimental/GradientBackground/index.js +15 -0
  39. package/dist/cjs/experimental/GradientBackground/styles.scss +64 -0
  40. package/dist/cjs/experimental/index.js +13 -0
  41. package/dist/cjs/f/common/Debugger/Debugger.js +1 -1
  42. package/dist/cjs/f/common/Label/Label.js +1 -1
  43. package/dist/cjs/f/fields/ChoicesInput/ChoicesInput.js +2 -2
  44. package/dist/cjs/f/fields/RatingsInput/common/Rating/Rating.js +2 -2
  45. package/dist/cjs/f/fields/SelectInput/SelectInput.js +25 -6
  46. package/dist/cjs/f/fields/SelectInput/styles.scss +4 -4
  47. package/dist/cjs/f/fields/TaskRecommendationInput/TaskRecommendationInput.js +1 -1
  48. package/dist/cjs/f/fields/TaskRecommendationInput/styles.scss +4 -0
  49. package/dist/cjs/f/fields/TextInput/TextInput.js +19 -5
  50. package/dist/cjs/f/fields/TextInput/styles.scss +3 -7
  51. package/dist/cjs/f/fields/TextareaInput/TextareaInput.js +14 -7
  52. package/dist/cjs/form.scss +1 -1
  53. package/dist/es/a/AnimatedCounter/AnimatedCounter.js +17 -30
  54. package/dist/es/a/AnimatedCounter/styles.scss +3 -11
  55. package/dist/es/a/BackgroundGradient/BackgroundGradient.js +55 -0
  56. package/dist/es/a/BackgroundGradient/index.js +2 -0
  57. package/dist/es/a/BackgroundGradient/styles.scss +16 -0
  58. package/dist/es/a/Conversation/Conversation.js +15 -8
  59. package/dist/es/a/Conversation/common/Message/Message.js +33 -6
  60. package/dist/es/a/Conversation/styles.scss +129 -32
  61. package/dist/es/a/GradientBackground/GradientBackground.js +118 -0
  62. package/dist/es/a/GradientBackground/index.js +2 -0
  63. package/dist/es/a/GradientBackground/styles.scss +191 -0
  64. package/dist/es/a/OvalIllustration/OvalIllustration.js +111 -0
  65. package/dist/es/a/OvalIllustration/index.js +2 -0
  66. package/dist/es/a/OvalIllustration/styles.scss +102 -0
  67. package/dist/es/a/People/People.js +14 -7
  68. package/dist/es/a/People/common/Person/Person.js +11 -4
  69. package/dist/es/a/People/styles.scss +13 -15
  70. package/dist/es/a/Shapes/Shapes.js +149 -0
  71. package/dist/es/a/{RatingsInput/common/Rating → Shapes}/index.js +1 -1
  72. package/dist/es/a/Shapes/styles.scss +255 -0
  73. package/dist/es/a/{RatingsInput/RatingsInput.js → SnapScroller/SnapScroller.js} +15 -26
  74. package/dist/es/a/SnapScroller/index.js +2 -0
  75. package/dist/es/a/SnapScroller/styles.scss +38 -0
  76. package/dist/es/a/TeamInfo/styles.scss +2 -2
  77. package/dist/es/a/index.js +5 -1
  78. package/dist/es/b/Button/Button.js +8 -2
  79. package/dist/es/b/Button/styles.scss +82 -18
  80. package/dist/es/b/Metrics/Metrics.js +72 -0
  81. package/dist/es/b/Metrics/index.js +2 -0
  82. package/dist/es/b/Metrics/styles.scss +91 -0
  83. package/dist/es/b/Page/common/Section/Section.js +55 -4
  84. package/dist/es/b/Page/styles.scss +8 -2
  85. package/dist/es/b/QuestionDropdown/styles.scss +1 -1
  86. package/dist/es/b/index.js +2 -1
  87. package/dist/es/c/ContentSlides/common/HorizontalMenu/HorizontalMenu.js +1 -1
  88. package/dist/es/c/ContentSlides/common/Navigator/Navigator.js +4 -3
  89. package/dist/es/experimental/GradientBackground/GradientBackground.js +76 -0
  90. package/dist/es/experimental/GradientBackground/index.js +2 -0
  91. package/dist/es/experimental/GradientBackground/styles.scss +64 -0
  92. package/dist/es/experimental/index.js +1 -0
  93. package/dist/es/f/common/Debugger/Debugger.js +1 -1
  94. package/dist/es/f/common/Label/Label.js +1 -1
  95. package/dist/es/f/fields/ChoicesInput/ChoicesInput.js +2 -2
  96. package/dist/es/f/fields/RatingsInput/common/Rating/Rating.js +2 -2
  97. package/dist/es/f/fields/SelectInput/SelectInput.js +25 -6
  98. package/dist/es/f/fields/SelectInput/styles.scss +4 -4
  99. package/dist/es/f/fields/TaskRecommendationInput/TaskRecommendationInput.js +1 -1
  100. package/dist/es/f/fields/TaskRecommendationInput/styles.scss +4 -0
  101. package/dist/es/f/fields/TextInput/TextInput.js +19 -5
  102. package/dist/es/f/fields/TextInput/styles.scss +3 -7
  103. package/dist/es/f/fields/TextareaInput/TextareaInput.js +14 -7
  104. package/dist/es/form.scss +1 -1
  105. package/package.json +3 -3
  106. package/src/__snapshots__/Storyshots.test.js.snap +5662 -449
  107. package/src/local.scss +4 -0
  108. package/src/stories/a/AnimatedCounter.stories.jsx +9 -5
  109. package/src/stories/a/BackgroundGradient.stories.jsx +38 -0
  110. package/src/stories/a/ContentCard.stories.jsx +1 -1
  111. package/src/stories/a/Conversation.stories.jsx +78 -1
  112. package/src/stories/a/OvalIllustration.stories.jsx +59 -0
  113. package/src/stories/a/People.stories.jsx +25 -1
  114. package/src/stories/a/ProgressBar.stories.jsx +1 -1
  115. package/src/stories/a/Quote.stories.jsx +1 -1
  116. package/src/stories/a/Shapes.stories.jsx +143 -0
  117. package/src/stories/a/SnapScroller.stories.jsx +98 -0
  118. package/src/stories/a/Spinner.stories.jsx +1 -1
  119. package/src/stories/b/Button.stories.jsx +83 -54
  120. package/src/stories/b/Metrics.stories.jsx +62 -0
  121. package/src/stories/b/Page.stories.jsx +51 -1
  122. package/src/stories/b/ThemeSelector.stories.jsx +1 -1
  123. package/src/stories/b/Title.stories.jsx +1 -1
  124. package/src/stories/c/ContentSlides.stories.jsx +2 -2
  125. package/src/stories/colors.js +5 -3
  126. package/src/stories/f/CheckboxInput.stories.jsx +1 -1
  127. package/src/stories/f/SelectInput.stories.jsx +29 -0
  128. package/src/stories/f/TaskRecommendationInput.stories.jsx +1 -1
  129. package/src/stories/f/TextInput.stories.jsx +14 -4
  130. package/src/stories/f/TextareaInput.stories.jsx +42 -6
  131. package/src/ui/a/AnimatedCounter/AnimatedCounter.jsx +21 -27
  132. package/src/ui/a/AnimatedCounter/styles.scss +3 -11
  133. package/src/ui/a/BackgroundGradient/BackgroundGradient.jsx +76 -0
  134. package/src/ui/a/BackgroundGradient/index.js +2 -0
  135. package/src/ui/a/BackgroundGradient/styles.scss +16 -0
  136. package/src/ui/a/Conversation/Conversation.jsx +15 -7
  137. package/src/ui/a/Conversation/common/Message/Message.jsx +40 -7
  138. package/src/ui/a/Conversation/styles.scss +129 -32
  139. package/src/ui/a/OvalIllustration/OvalIllustration.jsx +134 -0
  140. package/src/ui/a/OvalIllustration/index.js +2 -0
  141. package/src/ui/a/OvalIllustration/styles.scss +102 -0
  142. package/src/ui/a/People/People.jsx +12 -4
  143. package/src/ui/a/People/common/Person/Person.jsx +7 -1
  144. package/src/ui/a/People/styles.scss +13 -15
  145. package/src/ui/a/Shapes/Shapes.jsx +191 -0
  146. package/src/ui/a/Shapes/index.js +2 -0
  147. package/src/ui/a/Shapes/styles.scss +255 -0
  148. package/src/ui/a/SnapScroller/SnapScroller.jsx +83 -0
  149. package/src/ui/a/SnapScroller/index.js +2 -0
  150. package/src/ui/a/SnapScroller/styles.scss +38 -0
  151. package/src/ui/a/TeamInfo/styles.scss +2 -2
  152. package/src/ui/a/index.js +4 -0
  153. package/src/ui/b/Button/Button.jsx +9 -1
  154. package/src/ui/b/Button/styles.scss +82 -18
  155. package/src/ui/b/Metrics/Metrics.jsx +93 -0
  156. package/src/ui/b/Metrics/index.js +2 -0
  157. package/src/ui/b/Metrics/styles.scss +91 -0
  158. package/src/ui/b/Page/common/Section/Section.jsx +68 -2
  159. package/src/ui/b/Page/styles.scss +8 -2
  160. package/src/ui/b/QuestionDropdown/styles.scss +1 -1
  161. package/src/ui/b/index.js +1 -0
  162. package/src/ui/c/ContentSlides/common/HorizontalMenu/HorizontalMenu.jsx +1 -1
  163. package/src/ui/c/ContentSlides/common/Navigator/Navigator.jsx +3 -2
  164. package/src/ui/f/common/Debugger/Debugger.jsx +1 -1
  165. package/src/ui/f/common/Label/Label.jsx +1 -1
  166. package/src/ui/f/fields/ChoicesInput/ChoicesInput.jsx +2 -2
  167. package/src/ui/f/fields/RatingsInput/common/Rating/Rating.jsx +2 -2
  168. package/src/ui/f/fields/SelectInput/SelectInput.jsx +35 -5
  169. package/src/ui/f/fields/SelectInput/styles.scss +4 -4
  170. package/src/ui/f/fields/TaskRecommendationInput/TaskRecommendationInput.jsx +1 -1
  171. package/src/ui/f/fields/TaskRecommendationInput/styles.scss +4 -0
  172. package/src/ui/f/fields/TextInput/TextInput.jsx +15 -2
  173. package/src/ui/f/fields/TextInput/styles.scss +3 -7
  174. package/src/ui/f/fields/TextareaInput/TextareaInput.jsx +22 -11
  175. package/src/ui/form.scss +1 -1
  176. package/dist/cjs/a/RatingsInput/common/index.js +0 -13
  177. package/dist/cjs/a/RatingsInput/styles.scss +0 -35
  178. package/dist/es/a/RatingsInput/common/Rating/Rating.js +0 -102
  179. package/dist/es/a/RatingsInput/common/index.js +0 -1
  180. package/dist/es/a/RatingsInput/index.js +0 -2
  181. package/dist/es/a/RatingsInput/styles.scss +0 -35
@@ -35,28 +35,29 @@ var AnimatedCounter = _ref => {
35
35
  style,
36
36
  color,
37
37
  number,
38
- unit,
39
- description,
40
- descriptionPosition,
41
- unitPosition,
38
+ before,
39
+ after,
42
40
  delay // ...otherProps
43
41
 
44
42
  } = _ref;
45
43
  (0, React.useLayoutEffect)(() => {
46
44
  Promise.resolve().then(() => _interopRequireWildcard(require("./styles.scss")));
47
45
  }, []);
46
+ var countDecimals = (0, React.useCallback)(value => {
47
+ if (value % 1 !== 0) return value.toString().split('.')[1].length;
48
+ return 0;
49
+ }, []);
48
50
  return /*#__PURE__*/React.createElement("div", {
49
51
  id: id,
50
52
  className: [baseClassName, componentClassName, userClassName, "x-".concat(color)].filter(e => e).join(' '),
51
53
  style: style // {...otherProps}
52
54
 
53
- }, descriptionPosition === 'top' && /*#__PURE__*/React.createElement("p", {
54
- className: "info top-description uc s-1 md-s0"
55
- }, description), /*#__PURE__*/React.createElement("div", {
55
+ }, /*#__PURE__*/React.createElement("div", {
56
56
  className: "count s3"
57
- }, unitPosition === 'before' && /*#__PURE__*/React.createElement("span", null, unit), /*#__PURE__*/React.createElement(_reactCountup.default, {
57
+ }, before && /*#__PURE__*/React.createElement("span", null, before), /*#__PURE__*/React.createElement(_reactCountup.default, {
58
58
  end: number,
59
59
  delay: delay,
60
+ decimals: countDecimals(number),
60
61
  redraw: true
61
62
  }, _ref2 => {
62
63
  var {
@@ -69,9 +70,7 @@ var AnimatedCounter = _ref => {
69
70
  }, /*#__PURE__*/React.createElement("span", {
70
71
  ref: countUpRef
71
72
  }));
72
- }), unitPosition === 'after' && /*#__PURE__*/React.createElement("span", null, unit)), descriptionPosition === 'bottom' && /*#__PURE__*/React.createElement("p", {
73
- className: "info uc s-1 md-s0 v50 mt-v"
74
- }, description));
73
+ }), after && /*#__PURE__*/React.createElement("span", null, after)));
75
74
  };
76
75
 
77
76
  AnimatedCounter.propTypes = {
@@ -101,34 +100,22 @@ AnimatedCounter.propTypes = {
101
100
  number: _propTypes.default.number,
102
101
 
103
102
  /**
104
- * The review count unit
103
+ * The unit before the number
105
104
  */
106
- unit: _propTypes.default.string,
105
+ before: _propTypes.default.string,
107
106
 
108
107
  /**
109
- * The review description
108
+ * The unit after the number
110
109
  */
111
- description: _propTypes.default.string,
110
+ after: _propTypes.default.string,
112
111
 
113
112
  /**
114
113
  * react counter delay
115
114
  */
116
- delay: _propTypes.default.number,
117
-
118
- /**
119
- * If the animated counter description should be at the top
120
- */
121
- descriptionPosition: _propTypes.default.oneOf(['top', 'bottom']),
122
-
123
- /**
124
- * If the unit should be before or after the animated numbers
125
- */
126
- unitPosition: _propTypes.default.string
115
+ delay: _propTypes.default.number
127
116
  };
128
117
  AnimatedCounter.defaultProps = {
129
- color: 'main1',
130
- descriptionPosition: 'bottom',
131
- unitPosition: 'after'
118
+ color: 'main1'
132
119
  };
133
120
  var _default = AnimatedCounter;
134
121
  exports.default = _default;
@@ -1,24 +1,16 @@
1
1
  /* @pareto-engineering/generator-front 1.0.12 */
2
2
 
3
3
  @use "@pareto-engineering/bem";
4
-
4
+ //@use "@aztlan/stylebook/src/mixins";
5
+ //@use "@aztlan/stylebook/src/globals" as *;
5
6
 
6
7
  .#{bem.$base}.animated-counter {
7
- align-items: center;
8
8
  display: flex;
9
- flex-direction: column;
9
+ justify-content: center;
10
10
 
11
11
  .count {
12
12
  color: var(--x);
13
13
  }
14
-
15
- .top-description {
16
- margin-bottom: .5em;
17
- }
18
-
19
- .info {
20
- color: var(--metadata);
21
- }
22
14
  }
23
15
 
24
16
 
@@ -9,59 +9,48 @@ var React = _interopRequireWildcard(require("react"));
9
9
 
10
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
11
11
 
12
- var _formik = require("formik");
13
-
14
12
  var _bem = _interopRequireDefault(require("@pareto-engineering/bem"));
15
13
 
16
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
15
 
16
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
17
+
18
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
19
+
20
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
21
+
18
22
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
19
23
 
20
24
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
21
25
 
22
- 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); }
23
-
24
26
  // Local Definitions
25
27
  var baseClassName = _bem.default.base;
26
- var componentClassName = 'rating';
28
+ var componentClassName = 'background-gradient';
27
29
  /**
28
30
  * This is the component description.
29
31
  */
30
32
 
31
- var Rating = _ref => {
33
+ var BackgroundGradient = _ref => {
32
34
  var {
33
35
  id,
34
36
  className: userClassName,
35
37
  style,
36
- value,
37
- name,
38
- ratingId,
39
- hover,
40
- setHover,
41
- activeBackgroundColor,
42
- inactiveBackgroundColor // ...otherProps
38
+ height // ...otherProps
43
39
 
44
40
  } = _ref;
45
- var [field] = (0, _formik.useField)(name);
41
+ (0, React.useLayoutEffect)(() => {
42
+ Promise.resolve().then(() => _interopRequireWildcard(require("./styles.scss")));
43
+ }, []);
46
44
  return /*#__PURE__*/React.createElement("div", {
47
45
  id: id,
48
- className: [baseClassName, componentClassName, userClassName, "x-".concat(activeBackgroundColor), "y-".concat(inactiveBackgroundColor)].filter(e => e).join(' '),
49
- style: style
50
- }, /*#__PURE__*/React.createElement("label", {
51
- htmlFor: ratingId,
52
- onMouseEnter: () => setHover(value),
53
- onMouseLeave: () => setHover(null)
54
- }, ' ', /*#__PURE__*/React.createElement("span", {
55
- className: ['f-icons', value <= (hover || Number(field.value)) ? 'c-x' : 'c-dark-y'].filter(e => e).join(' ')
56
- }, "[")), /*#__PURE__*/React.createElement("input", _extends({}, field, {
57
- type: "radio",
58
- id: ratingId,
59
- name: name,
60
- value: value
61
- })));
46
+ className: [baseClassName, componentClassName, userClassName].filter(e => e).join(' '),
47
+ style: _objectSpread(_objectSpread({}, style), {}, {
48
+ '--gradient-height': height
49
+ })
50
+ });
62
51
  };
63
52
 
64
- Rating.propTypes = {
53
+ BackgroundGradient.propTypes = {
65
54
  /**
66
55
  * The HTML id for this element
67
56
  */
@@ -78,43 +67,11 @@ Rating.propTypes = {
78
67
  style: _propTypes.default.objectOf(_propTypes.default.string),
79
68
 
80
69
  /**
81
- * The value of each an every rating star
82
- */
83
- value: _propTypes.default.number,
84
-
85
- /**
86
- * The current hover value
87
- */
88
- hover: _propTypes.default.number,
89
-
90
- /**
91
- * Function to update the hover value
92
- */
93
- setHover: _propTypes.default.func,
94
-
95
- /**
96
- * Unique Id for each rating star
97
- */
98
- ratingId: _propTypes.default.string,
99
-
100
- /**
101
- * Name of the rating input
102
- */
103
- name: _propTypes.default.string,
104
-
105
- /**
106
- * The start rating backgriund color when hovered or clicked
107
- */
108
- activeBackgroundColor: _propTypes.default.string,
109
-
110
- /**
111
- * The start rating backgriund color when not hovered and not clicked
70
+ * The height of the shape.
112
71
  */
113
- inactiveBackgroundColor: _propTypes.default.string
72
+ height: _propTypes.default.string
114
73
  };
115
- Rating.defaultProps = {
116
- activeBackgroundColor: 'secondary2',
117
- inactiveBackgroundColor: 'background'
74
+ BackgroundGradient.defaultProps = {// someProp: false,
118
75
  };
119
- var _default = Rating;
76
+ var _default = BackgroundGradient;
120
77
  exports.default = _default;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "BackgroundGradient", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _BackgroundGradient.default;
10
+ }
11
+ });
12
+
13
+ var _BackgroundGradient = _interopRequireDefault(require("./BackgroundGradient"));
14
+
15
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -0,0 +1,16 @@
1
+ /* @pareto-engineering/generator-front 1.0.12 */
2
+ @use "@pareto-engineering/bem";
3
+
4
+ .#{bem.$base}.background-gradient{
5
+ position: absolute;
6
+ top: 0;
7
+ left: 0;
8
+ width: 100%;
9
+ height: var(--gradient-height);
10
+ background-image: linear-gradient(transparent, var(--y) 25%, var(--light-y) 75%, transparent);
11
+ opacity: .4;
12
+ z-index: -1;
13
+ }
14
+
15
+
16
+
@@ -35,17 +35,18 @@ var Conversation = _ref => {
35
35
  backgroundColor,
36
36
  ourColor,
37
37
  theirColor,
38
- children // ...otherProps
38
+ children,
39
+ hasTriangle // ...otherProps
39
40
 
40
41
  } = _ref;
41
42
  (0, React.useLayoutEffect)(() => {
42
43
  Promise.resolve().then(() => _interopRequireWildcard(require("./styles.scss")));
43
- }, []); // const messageColors = { ours: color, theirs: 'main2' }
44
-
44
+ }, []);
45
45
  return /*#__PURE__*/React.createElement(_Context.default.Provider, {
46
46
  value: {
47
47
  ourColor,
48
- theirColor
48
+ theirColor,
49
+ hasTriangle
49
50
  }
50
51
  }, /*#__PURE__*/React.createElement("div", {
51
52
  id: id,
@@ -88,12 +89,18 @@ Conversation.propTypes = {
88
89
  /**
89
90
  * The children JSX
90
91
  */
91
- children: _propTypes.default.node
92
+ children: _propTypes.default.node,
93
+
94
+ /**
95
+ * whether to add triangle to bubble chats
96
+ */
97
+ hasTriangle: _propTypes.default.bool
92
98
  };
93
99
  Conversation.defaultProps = {
94
- backgroundColor: 'background',
95
- ourColor: 'main2',
96
- theirColor: 'background2'
100
+ backgroundColor: 'background2',
101
+ ourColor: 'background1',
102
+ theirColor: 'background1',
103
+ hasTriangle: 'false'
97
104
  };
98
105
  Conversation.Message = _common.Message;
99
106
  var _default = Conversation;
@@ -34,22 +34,32 @@ var Message = _ref => {
34
34
  style,
35
35
  message,
36
36
  sender,
37
- from // ...otherProps
37
+ from,
38
+ attachment,
39
+ attachmentIcon,
40
+ attachmentColor // ...otherProps
38
41
 
39
42
  } = _ref;
40
43
  var {
44
+ hasTriangle,
41
45
  ourColor,
42
46
  theirColor
43
47
  } = (0, _useConversation.default)();
44
48
  return /*#__PURE__*/React.createElement("div", {
45
49
  id: id,
46
- className: [baseClassName, componentClassName, userClassName, "x-".concat(from === 'ours' ? ourColor : theirColor), from === 'ours' && 'ours'].filter(e => e).join(' '),
50
+ className: [baseClassName, componentClassName, userClassName, "x-".concat(from === 'ours' ? ourColor : theirColor), from === 'ours' && 'ours', hasTriangle === true ? 'has-triangle' : '', 'v1'].filter(e => e).join(' '),
47
51
  style: style
48
52
  }, /*#__PURE__*/React.createElement("div", {
49
53
  className: _bem.default.elementContent
50
54
  }, /*#__PURE__*/React.createElement("p", {
51
55
  className: "sender v25 mb-v s-1"
52
- }, sender, ":"), /*#__PURE__*/React.createElement("p", null, message)));
56
+ }, sender, ":"), /*#__PURE__*/React.createElement("p", null, message), attachment && /*#__PURE__*/React.createElement("div", {
57
+ className: "attachment y-".concat(attachmentColor)
58
+ }, /*#__PURE__*/React.createElement("span", {
59
+ className: "f-icons"
60
+ }, attachmentIcon), /*#__PURE__*/React.createElement("p", {
61
+ className: "ml-v"
62
+ }, attachment))));
53
63
  };
54
64
 
55
65
  Message.propTypes = {
@@ -63,6 +73,11 @@ Message.propTypes = {
63
73
  */
64
74
  className: _propTypes.default.string,
65
75
 
76
+ /**
77
+ * The React-written, css properties for this element.
78
+ */
79
+ style: _propTypes.default.objectOf(_propTypes.default.string),
80
+
66
81
  /**
67
82
  * The message in the conversation
68
83
  */
@@ -79,12 +94,24 @@ Message.propTypes = {
79
94
  from: _propTypes.default.oneOf(['ours', 'theirs']),
80
95
 
81
96
  /**
82
- * The React-written, css properties for this element.
97
+ * name of the attachment file
98
+ */
99
+ attachment: _propTypes.default.string,
100
+
101
+ /**
102
+ * source of the attachment icon
103
+ */
104
+ attachmentIcon: _propTypes.default.string,
105
+
106
+ /**
107
+ * background color of the attachment box
83
108
  */
84
- style: _propTypes.default.objectOf(_propTypes.default.string)
109
+ attachmentColor: _propTypes.default.string
85
110
  };
86
111
  Message.defaultProps = {
87
- from: 'theirs'
112
+ from: 'theirs',
113
+ attachmentIcon: 'A',
114
+ attachmentColor: 'main4'
88
115
  };
89
116
  var _default = Message;
90
117
  exports.default = _default;
@@ -1,52 +1,149 @@
1
1
  /* @pareto-engineering/generator-front 1.0.12 */
2
+
2
3
  @use "@pareto-engineering/bem";
3
4
  @use "@aztlan/stylebook/src/mixins";
4
5
  @use "@aztlan/stylebook/src/globals" as *;
5
6
 
6
7
  $default-padding: var(--u);
7
8
  $default-conversation-background: var(--y);
8
- $default-message-max-width: calc(100% - #{$default-padding});
9
+ $default-message-max-width: calc(100% - 4 * #{$default-padding});
9
10
  $default-message-min-width: 12em;
11
+ $default-message-border: var(--theme-border);
12
+ $triangle-border-size: 15px;
13
+ $triangle-border-style: $triangle-border-size solid;
14
+ $triangle-border-style-subtracted: ($triangle-border-size - 1px) solid;
15
+ $triangle-border1: $triangle-border-style var(--paragraph);
16
+ $triangle-border2: $triangle-border-style transparent;
17
+ $triangle-border3: $triangle-border-style-subtracted var(--x);
18
+ $triangle-border4: $triangle-border-style-subtracted transparent;
19
+ $triangle-before-side:24px;
20
+ $triangle-before-bottom:-30px;
21
+ $triangle-after-bottom:-27px;
22
+ $triangle-after-side:25px;
10
23
 
11
24
  .#{bem.$base}.conversation {
12
- display: flex;
13
- flex-direction: column;
14
- background-color: $default-conversation-background;
15
- padding: $default-padding;
25
+ background-color: $default-conversation-background;
26
+ border-radius: var(--theme-border-radius);
27
+ display: flex;
28
+ flex-direction: column;
29
+ padding: $default-padding;
30
+
31
+ >:not(:last-child) {
32
+ margin-bottom: $default-padding;
33
+ }
34
+
35
+ // >:nth-child(1) {
36
+ // animation-delay: 1s;
37
+ // }
38
+ // >:nth-child(2) {
39
+ // animation-delay: 3s;
40
+ // }
41
+
42
+ .#{bem.$base}.message {
43
+ align-self: flex-start;
44
+ background-color: var(--x);
45
+ // animation: fadeIn 1s ease-in both;
46
+ border: $default-message-border;
16
47
  border-radius: var(--theme-border-radius);
48
+ max-width: $default-message-max-width;
49
+ min-width: $default-message-min-width;
50
+ padding: $default-padding;
51
+ position: relative;
17
52
 
18
- >:not(:last-child) {
19
- margin-bottom: $default-padding;
20
- }
53
+ .#{bem.$element-content} {
54
+ display: flex;
55
+ flex-direction: column;
56
+
57
+ >p {
58
+ color: var(--on-x);
59
+ }
60
+
61
+ .sender {
62
+ font-weight: 800;
63
+ margin-bottom: .5em;
64
+ }
65
+
66
+ .attachment {
67
+ align-self: baseline;
68
+ background-color: var(--y);
69
+ display: flex;
70
+ flex-direction: row;
71
+ padding: .5em 1em;
21
72
 
22
- .#{bem.$base}.message {
23
- min-width: $default-message-min-width;
24
- max-width: $default-message-max-width;
25
- padding: $default-padding;
26
- border-radius: var(--theme-border-radius);
27
- background-color: var(--x);
28
- align-self: flex-start;
29
-
30
- .#{bem.$element-content} {
31
- display: flex;
32
- flex-direction: column;
33
-
34
- >p {
35
- color: var(--on-x);
36
- }
37
-
38
- .sender {
39
- font-weight: 800;
40
- margin-bottom: .5em;
41
- }
73
+ > p {
74
+ margin-bottom: 0;
42
75
  }
43
- }
44
76
 
45
- .#{bem.$base}.ours {
46
- align-self: flex-end;
77
+ > img {
78
+ width: 40px;
79
+ }
80
+ }
81
+ }
82
+ &.#{bem.$base}.ours {
83
+ align-self: flex-end;
47
84
  }
48
85
 
49
- }
86
+ &.has-triangle {
87
+ ::before {
88
+ border-bottom: $triangle-border2;
89
+ border-left: $triangle-border2;
90
+ border-right: $triangle-border1;
91
+ border-top: $triangle-border1;
92
+ bottom: $triangle-before-bottom;
93
+ content: "";
94
+ height: 0;
95
+ position: absolute;
96
+ right: $triangle-before-side;
97
+ width: 0;
98
+ }
99
+
100
+ ::after {
101
+ border-bottom: $triangle-border4;
102
+ border-left: $triangle-border4;
103
+ border-right: $triangle-border3;
104
+ border-top: $triangle-border3;
105
+ bottom: $triangle-after-bottom;
106
+ content: "";
107
+ height: 0;
108
+ position: absolute;
109
+ right: $triangle-after-side;
110
+ width: 0;
111
+ }
50
112
 
113
+ &:not(.ours) {
114
+ ::before {
115
+ border-bottom: $triangle-border2;
116
+ border-left: $triangle-border1;
117
+ border-right: $triangle-border2;
118
+ border-top: $triangle-border1;
119
+ bottom: $triangle-before-bottom;
120
+ content: "";
121
+ height: 0;
122
+ left: $triangle-before-side;
123
+ position: absolute;
124
+ width: 0;
125
+ }
51
126
 
127
+ ::after {
128
+ border-bottom: $triangle-border4;
129
+ border-left: $triangle-border3;
130
+ border-right: $triangle-border4;
131
+ border-top: $triangle-border3;
132
+ bottom: $triangle-after-bottom;
133
+ content: "";
134
+ height: 0;
135
+ left: $triangle-after-side;
136
+ position: absolute;
137
+ width: 0;
138
+ }
139
+ }
140
+ }
52
141
 
142
+ // mobile style
143
+ @include mixins.media($to:$sm-md) {
144
+ .message {
145
+ margin-top: 2em;
146
+ }
147
+ }
148
+ }
149
+ }