@innovaccer/design-system 2.7.0 → 2.8.0-0

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 (50) hide show
  1. package/.github/workflows/chromatic.yml +3 -1
  2. package/.github/workflows/main.yml +1 -1
  3. package/.github/workflows/manual.yml +1 -1
  4. package/.github/workflows/pull_request.yml +1 -1
  5. package/.github/workflows/test.yml +1 -1
  6. package/CHANGELOG.md +28 -0
  7. package/core/components/atoms/_chip/__tests__/__snapshots__/_chip.test.tsx.snap +8 -8
  8. package/core/components/atoms/_chip/index.tsx +1 -1
  9. package/core/components/atoms/avatar/__tests__/__snapshots__/Avatar.test.tsx.snap +20 -0
  10. package/core/components/atoms/avatarGroup/AvatarCount.tsx +29 -0
  11. package/core/components/atoms/avatarGroup/AvatarGroup.tsx +16 -62
  12. package/core/components/atoms/avatarGroup/AvatarPopperBody.tsx +37 -0
  13. package/core/components/atoms/avatarGroup/Avatars.tsx +23 -0
  14. package/core/components/atoms/avatarGroup/__stories__/index.story.tsx +41 -0
  15. package/core/components/atoms/avatarGroup/__tests__/AvatarGroup.test.tsx +1 -1
  16. package/core/components/atoms/avatarGroup/__tests__/__snapshots__/AvatarGroup.test.tsx.snap +8 -4
  17. package/core/components/atoms/chip/__tests__/__snapshots__/Chip.test.tsx.snap +11 -11
  18. package/core/components/atoms/chipGroup/__tests__/__snapshots__/chipGroup.test.tsx.snap +4 -4
  19. package/core/components/atoms/dropdown/DropdownButton.tsx +1 -1
  20. package/core/components/atoms/dropdown/__tests__/__snapshots__/Dropdown.test.tsx.snap +29 -2
  21. package/core/components/atoms/popperWrapper/PopperWrapper.tsx +117 -12
  22. package/core/components/molecules/chipInput/__tests__/__snapshots__/ChipInput.test.tsx.snap +4 -4
  23. package/core/components/molecules/editableChipInput/__tests__/__snapshots__/EditableChipInput.test.tsx.snap +4 -4
  24. package/core/components/molecules/editableDropdown/__tests__/__snapshots__/EditableDropdown.test.tsx.snap +1 -0
  25. package/core/components/molecules/popover/__tests__/__snapshots__/Popover.test.tsx.snap +16 -8
  26. package/core/components/molecules/tooltip/__tests__/__snapshots__/Tooltip.test.tsx.snap +8 -0
  27. package/core/components/organisms/calendar/__tests__/__snapshots__/Calendar.test.tsx.snap +8 -8
  28. package/core/components/organisms/datePicker/__tests__/__snapshots__/DatePicker.test.tsx.snap +14 -13
  29. package/core/components/organisms/dateRangePicker/__tests__/__snapshots__/DateRangePicker.test.tsx.snap +42 -30
  30. package/core/components/organisms/table/__tests__/__snapshots__/Table.test.tsx.snap +1544 -0
  31. package/core/utils/__tests__/__snapshots__/TS.test.tsx.snap +6 -2
  32. package/css/dist/index.css +11 -1
  33. package/css/dist/index.css.map +1 -1
  34. package/css/src/components/ProgressBar.css +1 -1
  35. package/css/src/components/button.css +1 -0
  36. package/css/src/components/chip.css +4 -0
  37. package/css/src/components/slider.css +1 -0
  38. package/css/src/utils/utility.css +4 -0
  39. package/dist/core/components/atoms/avatarGroup/AvatarCount.d.ts +2 -0
  40. package/dist/core/components/atoms/avatarGroup/AvatarGroup.d.ts +2 -2
  41. package/dist/core/components/atoms/avatarGroup/AvatarPopperBody.d.ts +2 -0
  42. package/dist/core/components/atoms/avatarGroup/Avatars.d.ts +2 -0
  43. package/dist/core/components/atoms/popperWrapper/PopperWrapper.d.ts +62 -54
  44. package/dist/index.esm.js +198 -93
  45. package/dist/index.js +188 -84
  46. package/dist/index.js.map +1 -1
  47. package/dist/index.umd.js +1 -1
  48. package/dist/index.umd.js.br +0 -0
  49. package/dist/index.umd.js.gz +0 -0
  50. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -1,8 +1,8 @@
1
1
 
2
2
  /**
3
- * Generated on: 1640268335290
3
+ * Generated on: 1642005068367
4
4
  * Package: @innovaccer/design-system
5
- * Version: v2.7.0
5
+ * Version: v2.8.0-0
6
6
  * License: MIT
7
7
  * Docs: https://innovaccer.github.io/design-system
8
8
  */
@@ -491,6 +491,85 @@
491
491
  size: 'regular'
492
492
  };
493
493
 
494
+ var AvatarCount = function AvatarCount(props) {
495
+ var _a, _b;
496
+
497
+ var hiddenAvatarCount = props.hiddenAvatarCount,
498
+ avatarStyle = props.avatarStyle;
499
+ var ContentClass = classNames__default["default"]((_a = {}, _a["Avatar-content--secondary"] = true, _a));
500
+ var AvatarVariantsClass = classNames__default["default"]((_b = {
501
+ Avatar: true
502
+ }, _b["Avatar--regular"] = true, _b["Avatar--secondary"] = true, _b['Avatar--disabled'] = true, _b));
503
+ return /*#__PURE__*/React__namespace.createElement("div", {
504
+ "data-test": "DesignSystem-AvatarGroup--TriggerAvatar",
505
+ style: avatarStyle
506
+ }, /*#__PURE__*/React__namespace.createElement("span", {
507
+ className: AvatarVariantsClass
508
+ }, /*#__PURE__*/React__namespace.createElement(Text, {
509
+ appearance: 'white',
510
+ className: ContentClass
511
+ }, "+" + hiddenAvatarCount)));
512
+ };
513
+
514
+ var Avatars = function Avatars(props) {
515
+ var avatarList = props.avatarList,
516
+ avatarStyle = props.avatarStyle,
517
+ tooltipPosition = props.tooltipPosition;
518
+ var avatars = avatarList.map(function (item, index) {
519
+ var appearance = item.appearance,
520
+ firstName = item.firstName,
521
+ lastName = item.lastName;
522
+ return /*#__PURE__*/React__namespace.createElement("div", {
523
+ "data-test": "DesignSystem-AvatarGroup--Avatar",
524
+ className: "AvatarGroup-item",
525
+ style: avatarStyle,
526
+ key: index
527
+ }, /*#__PURE__*/React__namespace.createElement(Avatar, {
528
+ appearance: appearance,
529
+ firstName: firstName,
530
+ lastName: lastName,
531
+ withTooltip: true,
532
+ tooltipPosition: tooltipPosition
533
+ }));
534
+ });
535
+ return avatars;
536
+ };
537
+
538
+ var AvatarPopperBody = function AvatarPopperBody(props) {
539
+ var hiddenAvatarList = props.hiddenAvatarList,
540
+ popperRenderer = props.popperRenderer,
541
+ maxHeight = props.maxHeight,
542
+ dark = props.dark;
543
+
544
+ if (popperRenderer) {
545
+ return popperRenderer(hiddenAvatarList);
546
+ }
547
+
548
+ return /*#__PURE__*/React__namespace.createElement("div", {
549
+ className: "py-6 pr-4 pl-6"
550
+ }, /*#__PURE__*/React__namespace.createElement("div", {
551
+ className: "AvatarGroup-TextWrapper",
552
+ style: {
553
+ maxHeight: maxHeight
554
+ }
555
+ }, hiddenAvatarList.map(function (item, ind) {
556
+ var _a;
557
+
558
+ var _b = item.firstName,
559
+ firstName = _b === void 0 ? '' : _b,
560
+ _c = item.lastName,
561
+ lastName = _c === void 0 ? '' : _c;
562
+ var name = firstName + " " + lastName;
563
+ var AvatarTextClass = classNames__default["default"]((_a = {}, _a["mb-5"] = ind < hiddenAvatarList.length - 1, _a));
564
+ return /*#__PURE__*/React__namespace.createElement(Text, {
565
+ key: ind,
566
+ appearance: dark ? 'white' : 'default',
567
+ className: AvatarTextClass,
568
+ "data-test": "DesignSystem-AvatarGroup--Text"
569
+ }, name);
570
+ })));
571
+ };
572
+
494
573
  var AvatarGroup = function AvatarGroup(props) {
495
574
  var _a, _b;
496
575
 
@@ -514,7 +593,7 @@
514
593
  _h = popoverOptions.popperClassName,
515
594
  popperClassName = _h === void 0 ? '' : _h;
516
595
  var baseProps = extractBaseProps(props);
517
- var extraAvatars = list.length > max ? list.length - max > 9 ? 9 : list.length - max : 0;
596
+ var hiddenAvatarCount = list.length > max ? Math.min(list.length - max, 99) : 0;
518
597
  var style = {
519
598
  borderRadius: '50%',
520
599
  backgroundColor: "" + borderColor,
@@ -523,79 +602,31 @@
523
602
  };
524
603
  var AvatarGroupClass = classNames__default["default"]((_a = {}, _a['AvatarGroup'] = true, _a), className);
525
604
  var popperClass = classNames__default["default"]((_b = {}, _b['AvatarGroup-Popper'] = true, _b), popperClassName);
526
- var trigger = /*#__PURE__*/React__namespace.createElement("div", {
527
- "data-test": "DesignSystem-AvatarGroup--TriggerAvatar",
528
- style: style
529
- }, /*#__PURE__*/React__namespace.createElement(Avatar, {
530
- appearance: "secondary",
531
- firstName: "+",
532
- lastName: "" + extraAvatars,
533
- withTooltip: false
534
- }));
535
-
536
- var renderPopper = function renderPopper() {
537
- var extraAvatarsList = list.slice(max, list.length);
538
-
539
- if (popperRenderer && typeof renderPopper === 'function') {
540
- return popperRenderer(extraAvatarsList);
541
- }
542
-
543
- return /*#__PURE__*/React__namespace.createElement("div", {
544
- className: "py-6 pr-4 pl-6"
545
- }, /*#__PURE__*/React__namespace.createElement("div", {
546
- className: "AvatarGroup-TextWrapper",
547
- style: {
548
- maxHeight: maxHeight
549
- }
550
- }, extraAvatarsList.map(function (item, ind) {
551
- var _a = item.firstName,
552
- firstName = _a === void 0 ? '' : _a,
553
- _b = item.lastName,
554
- lastName = _b === void 0 ? '' : _b;
555
- var name = firstName + " " + lastName;
556
- return /*#__PURE__*/React__namespace.createElement(Text, {
557
- key: ind,
558
- appearance: dark ? 'white' : 'default',
559
- className: ind < extraAvatars - 1 ? 'mb-5' : '',
560
- "data-test": "DesignSystem-AvatarGroup--Text"
561
- }, name);
562
- })));
563
- };
564
-
565
- var renderAvatars = function renderAvatars() {
566
- var avatars = list.slice(0, max).map(function (item, index) {
567
- var appearance = item.appearance,
568
- firstName = item.firstName,
569
- lastName = item.lastName;
570
- return /*#__PURE__*/React__namespace.createElement("div", {
571
- "data-test": "DesignSystem-AvatarGroup--Avatar",
572
- className: "AvatarGroup-item",
573
- style: style,
574
- key: index
575
- }, /*#__PURE__*/React__namespace.createElement(Avatar, {
576
- appearance: appearance,
577
- firstName: firstName,
578
- lastName: lastName,
579
- withTooltip: true,
580
- tooltipPosition: tooltipPosition
581
- }));
582
- });
583
- return avatars;
584
- };
585
-
586
605
  return /*#__PURE__*/React__namespace.createElement("div", __assign({
587
606
  "data-test": "DesignSystem-AvatarGroup"
588
607
  }, baseProps, {
589
608
  className: AvatarGroupClass + " d-inline-flex"
590
- }), renderAvatars(), list.length - max > 0 && /*#__PURE__*/React__namespace.createElement(Popover, {
609
+ }), /*#__PURE__*/React__namespace.createElement(Avatars, {
610
+ avatarList: list.slice(0, max),
611
+ avatarStyle: style,
612
+ tooltipPosition: tooltipPosition
613
+ }), list.length - max > 0 && /*#__PURE__*/React__namespace.createElement(Popover, {
591
614
  on: on,
592
615
  dark: dark,
593
- trigger: trigger,
616
+ trigger: /*#__PURE__*/React__namespace.createElement(AvatarCount, {
617
+ hiddenAvatarCount: hiddenAvatarCount,
618
+ avatarStyle: style
619
+ }),
594
620
  position: position,
595
621
  appendToBody: appendToBody,
596
622
  className: popperClass,
597
623
  offset: "medium"
598
- }, renderPopper()));
624
+ }, /*#__PURE__*/React__namespace.createElement(AvatarPopperBody, {
625
+ hiddenAvatarList: list.slice(max, list.length),
626
+ popperRenderer: popperRenderer,
627
+ maxHeight: maxHeight,
628
+ dark: dark
629
+ })));
599
630
  };
600
631
  AvatarGroup.displayName = 'AvatarGroup';
601
632
  AvatarGroup.defaultProps = {
@@ -928,7 +959,7 @@
928
959
  className: "DropdownButton-wrapper"
929
960
  }, inlineLabel && /*#__PURE__*/React__namespace.createElement(Text, {
930
961
  appearance: "subtle",
931
- className: "mr-4"
962
+ className: "mr-4 white-space-nowrap"
932
963
  }, "" + inlineLabel.trim().charAt(0).toUpperCase() + inlineLabel.trim().slice(1)), icon && !inlineLabel && /*#__PURE__*/React__namespace.createElement(Icon, {
933
964
  appearance: buttonDisabled,
934
965
  className: "d-flex align-items-center mr-4",
@@ -4151,7 +4182,7 @@
4151
4182
  return /*#__PURE__*/React__namespace.createElement("div", __assign({
4152
4183
  "data-test": "DesignSystem-GenericChip--GenericChipWrapper"
4153
4184
  }, baseProps, {
4154
- className: "" + className,
4185
+ className: "Chip-wrapper " + className,
4155
4186
  onClick: onClickHandler
4156
4187
  }), icon && /*#__PURE__*/React__namespace.createElement(Icon, {
4157
4188
  "data-test": "DesignSystem-GenericChip--Icon",
@@ -6990,13 +7021,34 @@
6990
7021
  return newStyle;
6991
7022
  };
6992
7023
 
6993
- _this.state = {};
7024
+ _this.state = {
7025
+ animationKeyframe: '',
7026
+ isOpen: _this.props.open || false,
7027
+ uniqueKey: ''
7028
+ };
6994
7029
  _this.hoverableDelay = 100;
6995
7030
  _this.offsetMapping = {
6996
7031
  small: '2px',
6997
7032
  medium: '4px',
6998
7033
  large: '8px'
6999
7034
  };
7035
+ _this.positionOffset = {
7036
+ 'auto-start': 'top left',
7037
+ auto: 'top',
7038
+ 'auto-end': 'top right',
7039
+ 'top-start': 'bottom left',
7040
+ top: 'bottom',
7041
+ 'top-end': 'bottom right',
7042
+ 'right-start': 'top right',
7043
+ right: 'top right',
7044
+ 'right-end': 'top right',
7045
+ 'bottom-end': 'top right',
7046
+ bottom: 'top',
7047
+ 'bottom-start': 'top left',
7048
+ 'left-end': 'top left',
7049
+ left: 'top left',
7050
+ 'left-start': 'top left'
7051
+ };
7000
7052
  _this.triggerRef = /*#__PURE__*/React__namespace.createRef();
7001
7053
  _this.popupRef = /*#__PURE__*/React__namespace.createRef();
7002
7054
  _this.getPopperChildren = _this.getPopperChildren.bind(_this);
@@ -7012,6 +7064,8 @@
7012
7064
  };
7013
7065
 
7014
7066
  PopperWrapper.prototype.componentDidUpdate = function (prevProps) {
7067
+ var _this = this;
7068
+
7015
7069
  if (!prevProps.boundaryElement && this.props.boundaryElement) {
7016
7070
  this.removeBoundaryScrollHandler();
7017
7071
  this.addBoundaryScrollHandler();
@@ -7019,13 +7073,23 @@
7019
7073
 
7020
7074
  if (prevProps.open !== this.props.open) {
7021
7075
  this._throttleWait = false;
7076
+ this.setState({
7077
+ animationKeyframe: ''
7078
+ });
7022
7079
 
7023
7080
  if (this.props.open) {
7024
7081
  var triggerElement = this.triggerRef.current;
7025
7082
  var zIndex = this.getZIndexForLayer(triggerElement);
7026
7083
  this.setState({
7027
- zIndex: zIndex === undefined ? zIndex : zIndex + 1
7084
+ zIndex: zIndex === undefined ? zIndex : zIndex + 1,
7085
+ isOpen: true
7028
7086
  });
7087
+ } else {
7088
+ setTimeout(function () {
7089
+ _this.setState({
7090
+ isOpen: false
7091
+ });
7092
+ }, 120);
7029
7093
  }
7030
7094
  }
7031
7095
  };
@@ -7148,25 +7212,63 @@
7148
7212
  };
7149
7213
 
7150
7214
  PopperWrapper.prototype.getPopperChildren = function (_a) {
7215
+ var _b;
7216
+
7217
+ var _c;
7218
+
7151
7219
  var ref = _a.ref,
7152
7220
  style = _a.style,
7153
7221
  placement = _a.placement,
7154
7222
  outOfBoundaries = _a.outOfBoundaries;
7155
- var _b = this.props,
7156
- offset = _b.offset,
7157
- children = _b.children;
7158
- var zIndex = this.state.zIndex;
7223
+ var _d = this.props,
7224
+ offset = _d.offset,
7225
+ children = _d.children,
7226
+ open = _d.open,
7227
+ animationClass = _d.animationClass;
7228
+ var _e = this.state,
7229
+ zIndex = _e.zIndex,
7230
+ animationKeyframe = _e.animationKeyframe,
7231
+ uniqueKey = _e.uniqueKey;
7159
7232
  var newStyle = offset ? this.getUpdatedStyle(style, placement, offset) : style;
7160
- var element = /*#__PURE__*/React__namespace.cloneElement(children, {
7233
+
7234
+ var childrenStyles = __assign(__assign({}, newStyle), {
7235
+ zIndex: zIndex
7236
+ });
7237
+
7238
+ var classes = '';
7239
+
7240
+ if (!animationClass) {
7241
+ var transformStyles = (_c = this.popupRef.current) === null || _c === void 0 ? void 0 : _c.style.getPropertyValue('transform');
7242
+
7243
+ if (transformStyles && !animationKeyframe) {
7244
+ var uniqueKey_1 = Math.random().toString(36).substring(2, 6);
7245
+ var popperAnimation = "\n @keyframes popper-open-" + uniqueKey_1 + " {\n from { \n transform: " + transformStyles + " scaleY(0.5);\n opacity: 0.5;\n }\n to {\n transform: " + transformStyles + " scaleY(1);\n opacity: 1\n }\n }\n @keyframes popper-close-" + uniqueKey_1 + " {\n from {\n transform: " + transformStyles + " scaleY(1);\n opacity: 1\n }\n to {\n transform: " + transformStyles + " scaleY(0);\n opacity: 0.5\n }\n }";
7246
+ this.setState({
7247
+ animationKeyframe: popperAnimation,
7248
+ uniqueKey: uniqueKey_1
7249
+ });
7250
+ }
7251
+
7252
+ var popperAnimationStyles = {
7253
+ transformOrigin: this.positionOffset[this.props.placement],
7254
+ animation: open ? "popper-open-" + uniqueKey + " 120ms cubic-bezier(0, 0, 0.38, 0.9)" : "popper-close-" + uniqueKey + " 120ms cubic-bezier(0.2, 0, 1, 0.9)"
7255
+ };
7256
+ childrenStyles = __assign(__assign({}, childrenStyles), popperAnimationStyles);
7257
+ } else {
7258
+ classes = classNames__default["default"]((_b = {}, _b["" + animationClass.open] = open, _b["" + animationClass.close] = !open, _b), children.props.className);
7259
+ }
7260
+
7261
+ var childProps = {
7161
7262
  ref: ref,
7162
- style: __assign(__assign({}, newStyle), {
7163
- zIndex: zIndex
7164
- }),
7263
+ style: childrenStyles,
7165
7264
  'data-placement': placement,
7166
7265
  'data-hide': outOfBoundaries,
7167
7266
  onMouseEnter: this.handleMouseEnter,
7168
7267
  onMouseLeave: this.handleMouseLeave
7169
- });
7268
+ };
7269
+ var element = /*#__PURE__*/React__namespace.cloneElement(children, animationClass ? __assign(__assign({}, childProps), {
7270
+ className: classes
7271
+ }) : __assign({}, childProps));
7170
7272
  return element;
7171
7273
  };
7172
7274
 
@@ -7176,15 +7278,17 @@
7176
7278
  var _a = this.props,
7177
7279
  placement = _a.placement,
7178
7280
  appendToBody = _a.appendToBody,
7179
- open = _a.open,
7180
7281
  hide = _a.hide,
7181
7282
  boundaryElement = _a.boundaryElement;
7182
- return /*#__PURE__*/React__namespace.createElement(reactPopper.Manager, null, /*#__PURE__*/React__namespace.createElement(reactPopper.Reference, {
7283
+ var _b = this.state,
7284
+ animationKeyframe = _b.animationKeyframe,
7285
+ isOpen = _b.isOpen;
7286
+ return /*#__PURE__*/React__namespace.createElement(reactPopper.Manager, null, /*#__PURE__*/React__namespace.createElement("style", null, animationKeyframe), /*#__PURE__*/React__namespace.createElement(reactPopper.Reference, {
7183
7287
  innerRef: this.triggerRef
7184
7288
  }, function (_a) {
7185
7289
  var ref = _a.ref;
7186
7290
  return _this.getTriggerElement(ref);
7187
- }), open && appendToBody && /*#__PURE__*/ReactDOM__namespace.createPortal( /*#__PURE__*/React__namespace.createElement(reactPopper.Popper, {
7291
+ }), isOpen && appendToBody && /*#__PURE__*/ReactDOM__namespace.createPortal( /*#__PURE__*/React__namespace.createElement(reactPopper.Popper, {
7188
7292
  placement: placement,
7189
7293
  innerRef: this.popupRef,
7190
7294
  modifiers: {
@@ -7195,7 +7299,7 @@
7195
7299
  enabled: hide
7196
7300
  }
7197
7301
  }
7198
- }, this.getPopperChildren), document.body), open && !appendToBody && /*#__PURE__*/React__namespace.createElement(reactPopper.Popper, {
7302
+ }, this.getPopperChildren), document.body), isOpen && !appendToBody && /*#__PURE__*/React__namespace.createElement(reactPopper.Popper, {
7199
7303
  placement: placement,
7200
7304
  innerRef: this.popupRef
7201
7305
  }, this.getPopperChildren));
@@ -14791,7 +14895,7 @@
14791
14895
  vertical: false
14792
14896
  };
14793
14897
 
14794
- var version = "2.7.0";
14898
+ var version = "2.8.0-0";
14795
14899
 
14796
14900
  exports.Avatar = Avatar;
14797
14901
  exports.AvatarGroup = AvatarGroup;