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

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 (187) 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/BackgroundGradient/BackgroundGradient.js +77 -0
  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/OvalIllustration/OvalIllustration.js +133 -0
  10. package/dist/cjs/a/OvalIllustration/index.js +15 -0
  11. package/dist/cjs/a/OvalIllustration/styles.scss +102 -0
  12. package/dist/cjs/a/People/People.js +15 -7
  13. package/dist/cjs/a/People/common/Person/Person.js +11 -4
  14. package/dist/cjs/a/People/styles.scss +13 -15
  15. package/dist/cjs/a/Shapes/Shapes.js +171 -0
  16. package/dist/cjs/a/Shapes/index.js +15 -0
  17. package/dist/cjs/a/Shapes/styles.scss +255 -0
  18. package/dist/cjs/a/SnapScroller/SnapScroller.js +77 -0
  19. package/dist/cjs/a/SnapScroller/index.js +15 -0
  20. package/dist/cjs/a/SnapScroller/styles.scss +38 -0
  21. package/dist/cjs/a/TeamInfo/styles.scss +2 -2
  22. package/dist/cjs/a/index.js +33 -1
  23. package/dist/cjs/b/Button/Button.js +10 -4
  24. package/dist/cjs/b/Button/styles.scss +83 -19
  25. package/dist/cjs/b/Metrics/Metrics.js +89 -0
  26. package/dist/cjs/b/Metrics/index.js +15 -0
  27. package/dist/cjs/b/Metrics/styles.scss +91 -0
  28. package/dist/cjs/b/Page/common/Section/Section.js +56 -5
  29. package/dist/cjs/b/Page/styles.scss +8 -2
  30. package/dist/cjs/b/QuestionDropdown/styles.scss +1 -1
  31. package/dist/cjs/b/index.js +9 -1
  32. package/dist/cjs/c/ContentSlides/common/HorizontalMenu/HorizontalMenu.js +4 -4
  33. package/dist/cjs/c/ContentSlides/common/Navigator/Navigator.js +4 -3
  34. package/dist/cjs/c/ContentSlides/styles.scss +10 -4
  35. package/dist/cjs/f/common/Debugger/Debugger.js +1 -1
  36. package/dist/cjs/f/common/Label/Label.js +1 -1
  37. package/dist/cjs/f/common/Label/styles.scss +1 -1
  38. package/dist/cjs/f/fields/ChoicesInput/ChoicesInput.js +2 -2
  39. package/dist/cjs/f/fields/ChoicesInput/styles.scss +17 -2
  40. package/dist/cjs/f/fields/RatingsInput/common/Rating/Rating.js +2 -2
  41. package/dist/cjs/f/fields/SelectInput/SelectInput.js +37 -10
  42. package/dist/cjs/f/fields/SelectInput/styles.scss +13 -8
  43. package/dist/cjs/f/fields/TaskRecommendationInput/TaskRecommendationInput.js +1 -1
  44. package/dist/cjs/f/fields/TaskRecommendationInput/styles.scss +4 -0
  45. package/dist/cjs/f/fields/TextInput/TextInput.js +28 -7
  46. package/dist/cjs/f/fields/TextInput/styles.scss +16 -7
  47. package/dist/cjs/f/fields/TextareaInput/TextareaInput.js +15 -8
  48. package/dist/cjs/f/fields/TextareaInput/styles.scss +19 -6
  49. package/dist/cjs/f/fields/index.js +0 -24
  50. package/dist/cjs/form-reset.scss +1 -1
  51. package/dist/cjs/form.scss +1 -1
  52. package/dist/es/a/AnimatedCounter/AnimatedCounter.js +17 -30
  53. package/dist/es/a/AnimatedCounter/styles.scss +3 -11
  54. package/dist/es/a/BackgroundGradient/BackgroundGradient.js +55 -0
  55. package/dist/es/a/BackgroundGradient/index.js +2 -0
  56. package/dist/es/a/BackgroundGradient/styles.scss +16 -0
  57. package/dist/es/a/Conversation/Conversation.js +15 -8
  58. package/dist/es/a/Conversation/common/Message/Message.js +33 -6
  59. package/dist/es/a/Conversation/styles.scss +129 -32
  60. package/dist/es/a/OvalIllustration/OvalIllustration.js +111 -0
  61. package/dist/es/a/OvalIllustration/index.js +2 -0
  62. package/dist/es/a/OvalIllustration/styles.scss +102 -0
  63. package/dist/es/a/People/People.js +14 -7
  64. package/dist/es/a/People/common/Person/Person.js +11 -4
  65. package/dist/es/a/People/styles.scss +13 -15
  66. package/dist/es/a/Shapes/Shapes.js +149 -0
  67. package/dist/es/a/Shapes/index.js +2 -0
  68. package/dist/es/a/Shapes/styles.scss +255 -0
  69. package/dist/es/a/SnapScroller/SnapScroller.js +61 -0
  70. package/dist/es/a/SnapScroller/index.js +2 -0
  71. package/dist/es/a/SnapScroller/styles.scss +38 -0
  72. package/dist/es/a/TeamInfo/styles.scss +2 -2
  73. package/dist/es/a/index.js +5 -1
  74. package/dist/es/b/Button/Button.js +8 -2
  75. package/dist/es/b/Button/styles.scss +83 -19
  76. package/dist/es/b/Metrics/Metrics.js +72 -0
  77. package/dist/es/b/Metrics/index.js +2 -0
  78. package/dist/es/b/Metrics/styles.scss +91 -0
  79. package/dist/es/b/Page/common/Section/Section.js +55 -4
  80. package/dist/es/b/Page/styles.scss +8 -2
  81. package/dist/es/b/QuestionDropdown/styles.scss +1 -1
  82. package/dist/es/b/index.js +2 -1
  83. package/dist/es/c/ContentSlides/common/HorizontalMenu/HorizontalMenu.js +4 -4
  84. package/dist/es/c/ContentSlides/common/Navigator/Navigator.js +4 -3
  85. package/dist/es/c/ContentSlides/styles.scss +10 -4
  86. package/dist/es/f/common/Debugger/Debugger.js +1 -1
  87. package/dist/es/f/common/Label/Label.js +1 -1
  88. package/dist/es/f/common/Label/styles.scss +1 -1
  89. package/dist/es/f/fields/ChoicesInput/ChoicesInput.js +2 -2
  90. package/dist/es/f/fields/ChoicesInput/styles.scss +17 -2
  91. package/dist/es/f/fields/RatingsInput/common/Rating/Rating.js +2 -2
  92. package/dist/es/f/fields/SelectInput/SelectInput.js +37 -10
  93. package/dist/es/f/fields/SelectInput/styles.scss +13 -8
  94. package/dist/es/f/fields/TaskRecommendationInput/TaskRecommendationInput.js +1 -1
  95. package/dist/es/f/fields/TaskRecommendationInput/styles.scss +4 -0
  96. package/dist/es/f/fields/TextInput/TextInput.js +28 -7
  97. package/dist/es/f/fields/TextInput/styles.scss +16 -7
  98. package/dist/es/f/fields/TextareaInput/TextareaInput.js +15 -8
  99. package/dist/es/f/fields/TextareaInput/styles.scss +19 -6
  100. package/dist/es/f/fields/index.js +0 -3
  101. package/dist/es/form-reset.scss +1 -1
  102. package/dist/es/form.scss +1 -1
  103. package/package.json +3 -3
  104. package/src/__snapshots__/Storyshots.test.js.snap +6050 -812
  105. package/src/local.scss +4 -0
  106. package/src/stories/a/AnimatedCounter.stories.jsx +9 -5
  107. package/src/stories/a/BackgroundGradient.stories.jsx +38 -0
  108. package/src/stories/a/ContentCard.stories.jsx +1 -1
  109. package/src/stories/a/Conversation.stories.jsx +78 -1
  110. package/src/stories/a/OvalIllustration.stories.jsx +59 -0
  111. package/src/stories/a/People.stories.jsx +25 -1
  112. package/src/stories/a/ProgressBar.stories.jsx +1 -1
  113. package/src/stories/a/Quote.stories.jsx +1 -1
  114. package/src/stories/a/Shapes.stories.jsx +143 -0
  115. package/src/stories/a/SnapScroller.stories.jsx +98 -0
  116. package/src/stories/a/Spinner.stories.jsx +1 -1
  117. package/src/stories/b/Button.stories.jsx +83 -54
  118. package/src/stories/b/Metrics.stories.jsx +62 -0
  119. package/src/stories/b/Page.stories.jsx +51 -1
  120. package/src/stories/b/ThemeSelector.stories.jsx +1 -1
  121. package/src/stories/b/Title.stories.jsx +1 -1
  122. package/src/stories/c/ContentSlides.stories.jsx +154 -2
  123. package/src/stories/colors.js +5 -3
  124. package/src/stories/f/SelectInput.stories.jsx +36 -5
  125. package/src/stories/f/TextInput.stories.jsx +16 -5
  126. package/src/stories/f/TextareaInput.stories.jsx +42 -6
  127. package/src/ui/a/AnimatedCounter/AnimatedCounter.jsx +21 -27
  128. package/src/ui/a/AnimatedCounter/styles.scss +3 -11
  129. package/src/ui/a/BackgroundGradient/BackgroundGradient.jsx +76 -0
  130. package/src/ui/a/BackgroundGradient/index.js +2 -0
  131. package/src/ui/a/BackgroundGradient/styles.scss +16 -0
  132. package/src/ui/a/Conversation/Conversation.jsx +15 -7
  133. package/src/ui/a/Conversation/common/Message/Message.jsx +40 -7
  134. package/src/ui/a/Conversation/styles.scss +129 -32
  135. package/src/ui/a/OvalIllustration/OvalIllustration.jsx +134 -0
  136. package/src/ui/a/OvalIllustration/index.js +2 -0
  137. package/src/ui/a/OvalIllustration/styles.scss +102 -0
  138. package/src/ui/a/People/People.jsx +12 -4
  139. package/src/ui/a/People/common/Person/Person.jsx +7 -1
  140. package/src/ui/a/People/styles.scss +13 -15
  141. package/src/ui/a/Shapes/Shapes.jsx +191 -0
  142. package/src/ui/a/Shapes/index.js +2 -0
  143. package/src/ui/a/Shapes/styles.scss +255 -0
  144. package/src/ui/a/SnapScroller/SnapScroller.jsx +83 -0
  145. package/src/ui/a/SnapScroller/index.js +2 -0
  146. package/src/ui/a/SnapScroller/styles.scss +38 -0
  147. package/src/ui/a/TeamInfo/styles.scss +2 -2
  148. package/src/ui/a/index.js +4 -0
  149. package/src/ui/b/Button/Button.jsx +9 -1
  150. package/src/ui/b/Button/styles.scss +83 -19
  151. package/src/ui/b/Metrics/Metrics.jsx +93 -0
  152. package/src/ui/b/Metrics/index.js +2 -0
  153. package/src/ui/b/Metrics/styles.scss +91 -0
  154. package/src/ui/b/Page/common/Section/Section.jsx +68 -2
  155. package/src/ui/b/Page/styles.scss +8 -2
  156. package/src/ui/b/QuestionDropdown/styles.scss +1 -1
  157. package/src/ui/b/index.js +1 -0
  158. package/src/ui/c/ContentSlides/common/HorizontalMenu/HorizontalMenu.jsx +4 -4
  159. package/src/ui/c/ContentSlides/common/Navigator/Navigator.jsx +3 -2
  160. package/src/ui/c/ContentSlides/styles.scss +10 -4
  161. package/src/ui/f/common/Debugger/Debugger.jsx +1 -1
  162. package/src/ui/f/common/Label/Label.jsx +1 -1
  163. package/src/ui/f/common/Label/styles.scss +1 -1
  164. package/src/ui/f/fields/ChoicesInput/ChoicesInput.jsx +2 -2
  165. package/src/ui/f/fields/ChoicesInput/styles.scss +17 -2
  166. package/src/ui/f/fields/RatingsInput/common/Rating/Rating.jsx +2 -2
  167. package/src/ui/f/fields/SelectInput/SelectInput.jsx +44 -5
  168. package/src/ui/f/fields/SelectInput/styles.scss +13 -8
  169. package/src/ui/f/fields/TextInput/TextInput.jsx +24 -3
  170. package/src/ui/f/fields/TextInput/styles.scss +16 -7
  171. package/src/ui/f/fields/TextareaInput/TextareaInput.jsx +24 -13
  172. package/src/ui/f/fields/TextareaInput/styles.scss +19 -6
  173. package/src/ui/f/fields/index.js +0 -3
  174. package/src/ui/form-reset.scss +1 -1
  175. package/src/ui/form.scss +1 -1
  176. package/src/stories/f/CheckboxInput.stories.jsx +0 -37
  177. package/src/stories/f/RadioInput.stories.jsx +0 -37
  178. package/src/stories/f/TaskRecommendationInput.stories.jsx +0 -38
  179. package/src/ui/f/fields/CheckboxInput/CheckboxInput.jsx +0 -107
  180. package/src/ui/f/fields/CheckboxInput/index.js +0 -2
  181. package/src/ui/f/fields/CheckboxInput/styles.scss +0 -28
  182. package/src/ui/f/fields/RadioInput/RadioInput.jsx +0 -112
  183. package/src/ui/f/fields/RadioInput/index.js +0 -2
  184. package/src/ui/f/fields/RadioInput/styles.scss +0 -26
  185. package/src/ui/f/fields/TaskRecommendationInput/TaskRecommendationInput.jsx +0 -130
  186. package/src/ui/f/fields/TaskRecommendationInput/index.js +0 -2
  187. package/src/ui/f/fields/TaskRecommendationInput/styles.scss +0 -37
@@ -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
 
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var React = _interopRequireWildcard(require("react"));
9
+
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
11
+
12
+ var _bem = _interopRequireDefault(require("@pareto-engineering/bem"));
13
+
14
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
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
+
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); }
23
+
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; }
25
+
26
+ // Local Definitions
27
+ var baseClassName = _bem.default.base;
28
+ var componentClassName = 'background-gradient';
29
+ /**
30
+ * This is the component description.
31
+ */
32
+
33
+ var BackgroundGradient = _ref => {
34
+ var {
35
+ id,
36
+ className: userClassName,
37
+ style,
38
+ height // ...otherProps
39
+
40
+ } = _ref;
41
+ (0, React.useLayoutEffect)(() => {
42
+ Promise.resolve().then(() => _interopRequireWildcard(require("./styles.scss")));
43
+ }, []);
44
+ return /*#__PURE__*/React.createElement("div", {
45
+ id: id,
46
+ className: [baseClassName, componentClassName, userClassName].filter(e => e).join(' '),
47
+ style: _objectSpread(_objectSpread({}, style), {}, {
48
+ '--gradient-height': height
49
+ })
50
+ });
51
+ };
52
+
53
+ BackgroundGradient.propTypes = {
54
+ /**
55
+ * The HTML id for this element
56
+ */
57
+ id: _propTypes.default.string,
58
+
59
+ /**
60
+ * The HTML class names for this element
61
+ */
62
+ className: _propTypes.default.string,
63
+
64
+ /**
65
+ * The React-written, css properties for this element.
66
+ */
67
+ style: _propTypes.default.objectOf(_propTypes.default.string),
68
+
69
+ /**
70
+ * The height of the shape.
71
+ */
72
+ height: _propTypes.default.string
73
+ };
74
+ BackgroundGradient.defaultProps = {// someProp: false,
75
+ };
76
+ var _default = BackgroundGradient;
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
+ }
@@ -0,0 +1,133 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var React = _interopRequireWildcard(require("react"));
9
+
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
11
+
12
+ var _bem = _interopRequireDefault(require("@pareto-engineering/bem"));
13
+
14
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
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
+
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); }
23
+
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; }
25
+
26
+ // Local Definitions
27
+ var baseClassName = _bem.default.base;
28
+ var componentClassName = 'oval-illustration';
29
+ /**
30
+ * This is the component description.
31
+ */
32
+
33
+ var OvalIllustration = _ref => {
34
+ var {
35
+ id,
36
+ className: userClassName,
37
+ style,
38
+ layout,
39
+ src,
40
+ alt,
41
+ ovalBackground,
42
+ backgroundColor,
43
+ mobileSize,
44
+ tabletSize,
45
+ desktopSize // ...otherProps
46
+
47
+ } = _ref;
48
+ (0, React.useLayoutEffect)(() => {
49
+ Promise.resolve().then(() => _interopRequireWildcard(require("./styles.scss")));
50
+ }, []);
51
+ return /*#__PURE__*/React.createElement("div", {
52
+ id: id,
53
+ className: [baseClassName, componentClassName, userClassName, layout].filter(e => e).join(' '),
54
+ style: _objectSpread(_objectSpread({}, style), {}, {
55
+ '--mobile-size': mobileSize,
56
+ '--tablet-size': tabletSize,
57
+ '--desktop-size': desktopSize
58
+ }) // {...otherProps}
59
+
60
+ }, ovalBackground && /*#__PURE__*/React.createElement("div", {
61
+ className: "oval-background y-".concat(backgroundColor)
62
+ }), /*#__PURE__*/React.createElement("div", {
63
+ className: "illustration"
64
+ }, /*#__PURE__*/React.createElement("img", {
65
+ src: src,
66
+ alt: alt
67
+ })));
68
+ };
69
+
70
+ OvalIllustration.propTypes = {
71
+ /**
72
+ * The HTML id for this element
73
+ */
74
+ id: _propTypes.default.string,
75
+
76
+ /**
77
+ * The HTML class names for this element
78
+ */
79
+ className: _propTypes.default.string,
80
+
81
+ /**
82
+ * The React-written, css properties for this element.
83
+ */
84
+ style: _propTypes.default.objectOf(_propTypes.default.string),
85
+
86
+ /**
87
+ * side definition of the illustration
88
+ */
89
+ layout: _propTypes.default.oneOf(['left', 'right']),
90
+
91
+ /**
92
+ * image url
93
+ */
94
+ src: _propTypes.default.string,
95
+
96
+ /**
97
+ * alt tag for the image
98
+ */
99
+ alt: _propTypes.default.string,
100
+
101
+ /**
102
+ * whether to have a oval shape as background
103
+ */
104
+ ovalBackground: _propTypes.default.bool,
105
+
106
+ /**
107
+ * background color of the oval behind the image
108
+ */
109
+ backgroundColor: _propTypes.default.string,
110
+
111
+ /**
112
+ * size of the oval for mobile screen
113
+ */
114
+ mobileSize: _propTypes.default.string,
115
+
116
+ /**
117
+ * size of the oval for tablet screen
118
+ */
119
+ tabletSize: _propTypes.default.string,
120
+
121
+ /**
122
+ * size of the oval for desktop screen
123
+ */
124
+ desktopSize: _propTypes.default.string
125
+ };
126
+ OvalIllustration.defaultProps = {
127
+ layout: 'left',
128
+ mobileSize: '20em',
129
+ tabletSize: '35em',
130
+ desktopSize: '45em'
131
+ };
132
+ var _default = OvalIllustration;
133
+ exports.default = _default;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "OvalIllustration", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _OvalIllustration.default;
10
+ }
11
+ });
12
+
13
+ var _OvalIllustration = _interopRequireDefault(require("./OvalIllustration"));
14
+
15
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }