pebble-web 2.9.3 → 2.10.1

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.
@@ -14,6 +14,9 @@ export interface DateInputProps {
14
14
  wrapperClassName?: string;
15
15
  dropDownClassName?: string;
16
16
  initiallyOpen?: boolean;
17
+ onOutsideClick?: (isOpen: boolean) => void;
18
+ controlled?: boolean;
19
+ isOpen?: boolean;
17
20
  }
18
21
  export interface DateInputState {
19
22
  stringInput: string;
@@ -24,6 +24,8 @@ export interface DropdownProps {
24
24
  onOutsideClick?: (isOpen: boolean) => void;
25
25
  placement?: Placement;
26
26
  modifiers?: Modifiers;
27
+ controlled?: boolean;
28
+ isOpen?: boolean;
27
29
  }
28
30
  export interface DropdownState {
29
31
  isOpen: boolean;
@@ -15,6 +15,7 @@ export interface TooltipProps {
15
15
  toggle: () => void;
16
16
  isOpen: boolean;
17
17
  }) => React.ReactNode;
18
+ popperClassName?: string;
18
19
  }
19
20
  export interface TooltipState {
20
21
  isOpen: boolean;
@@ -1119,17 +1119,18 @@ var DropDown = /*#__PURE__*/function (_React$PureComponent) {
1119
1119
  isSelected = _this$props.isSelected,
1120
1120
  disabled = _this$props.disabled,
1121
1121
  labelClassName = _this$props.labelClassName,
1122
+ controlled = _this$props.controlled,
1122
1123
  _onOutsideClick = _this$props.onOutsideClick;
1123
- var isOpen = this.state.isOpen;
1124
+ var _isDropDownOpen = controlled ? !!this.props.isOpen : this.state.isOpen;
1124
1125
  return /*#__PURE__*/React.createElement(OutsideClick, {
1125
1126
  className: emotion.cx(wrapperStyle$1, className),
1126
1127
  onOutsideClick: function onOutsideClick() {
1127
1128
  _this2.setState({
1128
1129
  isOpen: false
1129
1130
  });
1130
- if (_onOutsideClick) _onOutsideClick(isOpen);
1131
+ if (_onOutsideClick) _onOutsideClick(_isDropDownOpen);
1131
1132
  },
1132
- disabled: !isOpen
1133
+ disabled: !_isDropDownOpen
1133
1134
  }, /*#__PURE__*/React.createElement(reactPopper.Manager, null, /*#__PURE__*/React.createElement(reactPopper.Reference, null, function (_ref) {
1134
1135
  var ref = _ref.ref;
1135
1136
  return /*#__PURE__*/React.createElement("div", {
@@ -1139,17 +1140,17 @@ var DropDown = /*#__PURE__*/function (_React$PureComponent) {
1139
1140
  },
1140
1141
  ref: ref
1141
1142
  }, labelComponent ? labelComponent({
1142
- isOpen: isOpen,
1143
+ isOpen: _isDropDownOpen,
1143
1144
  toggleDropdown: _this2.toggleDropdown
1144
1145
  }) : /*#__PURE__*/React.createElement(DropDownButton, {
1145
1146
  isSelected: !!isSelected,
1146
- isOpen: isOpen,
1147
+ isOpen: _isDropDownOpen,
1147
1148
  onClick: _this2.toggleDropdown,
1148
1149
  disabled: disabled,
1149
1150
  className: labelClassName
1150
1151
  }, buttonLabel));
1151
1152
  }), /*#__PURE__*/React.createElement(MountTransition, {
1152
- visible: isOpen
1153
+ visible: _isDropDownOpen
1153
1154
  }, function (transitionStyles) {
1154
1155
  return /*#__PURE__*/React.createElement(renderprops_cjs.animated.div, {
1155
1156
  className: emotion.cx(dropDownStyle, dropDownClassName),
@@ -1176,7 +1177,7 @@ var DropDown = /*#__PURE__*/function (_React$PureComponent) {
1176
1177
  "data-placement": placement
1177
1178
  }, children({
1178
1179
  toggle: _this2.toggleDropdown,
1179
- isOpen: _this2.state.isOpen
1180
+ isOpen: _isDropDownOpen
1180
1181
  }));
1181
1182
  }));
1182
1183
  })));
@@ -1569,7 +1570,10 @@ var DateInput = /*#__PURE__*/function (_React$PureComponent) {
1569
1570
  errorMessage = _this$props.errorMessage,
1570
1571
  placement = _this$props.placement,
1571
1572
  wrapperClassName = _this$props.wrapperClassName,
1572
- initiallyOpen = _this$props.initiallyOpen;
1573
+ initiallyOpen = _this$props.initiallyOpen,
1574
+ onOutsideClick = _this$props.onOutsideClick,
1575
+ controlled = _this$props.controlled,
1576
+ isOpen = _this$props.isOpen;
1573
1577
  var _wrapperClassName = emotion.cx(wrapperStyle$3, wrapperClassName);
1574
1578
  var _dropDownClassName = emotion.cx(dropDownClassName, this.props.dropDownClassName);
1575
1579
  return /*#__PURE__*/React.createElement(DropDown, {
@@ -1589,7 +1593,7 @@ var DateInput = /*#__PURE__*/function (_React$PureComponent) {
1589
1593
  value: value,
1590
1594
  placeholder: placeholder,
1591
1595
  onClick: function onClick() {
1592
- if (disabled) return;
1596
+ if (disabled || controlled) return;
1593
1597
  toggleDropdown();
1594
1598
  },
1595
1599
  fixLabelAtTop: true
@@ -1607,7 +1611,10 @@ var DateInput = /*#__PURE__*/function (_React$PureComponent) {
1607
1611
  className: _wrapperClassName,
1608
1612
  placement: placement,
1609
1613
  modifiers: modifiers,
1610
- initiallyOpen: initiallyOpen
1614
+ initiallyOpen: initiallyOpen,
1615
+ onOutsideClick: onOutsideClick,
1616
+ controlled: controlled,
1617
+ isOpen: isOpen
1611
1618
  }, function (_ref3) {
1612
1619
  var toggle = _ref3.toggle;
1613
1620
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Calendar, Object.assign({
@@ -1618,6 +1625,9 @@ var DateInput = /*#__PURE__*/function (_React$PureComponent) {
1618
1625
  range: false,
1619
1626
  onChange: function onChange(date) {
1620
1627
  _this2.onCalendarDateChange(date);
1628
+ if (controlled) {
1629
+ return;
1630
+ }
1621
1631
  toggle();
1622
1632
  }
1623
1633
  })), errorMessage && /*#__PURE__*/React.createElement("div", {
@@ -1629,10 +1639,10 @@ var DateInput = /*#__PURE__*/function (_React$PureComponent) {
1629
1639
  key: "getDerivedStateFromProps",
1630
1640
  value: function getDerivedStateFromProps(props, state) {
1631
1641
  var newState = null;
1632
- if (props.value && props.value !== state.propsValue) {
1642
+ if (props.value !== state.propsValue) {
1633
1643
  newState = {
1634
1644
  propsValue: props.value,
1635
- stringInput: props.value && format(props.value, "dd/MM/yyyy") || ""
1645
+ stringInput: props.value ? format(props.value, "dd/MM/yyyy") : ""
1636
1646
  };
1637
1647
  }
1638
1648
  return newState;
@@ -4438,7 +4448,8 @@ var Tooltip = /*#__PURE__*/function (_React$PureComponent) {
4438
4448
  placement = _this$props.placement,
4439
4449
  _label = _this$props.label,
4440
4450
  modifiers = _this$props.modifiers,
4441
- isError = _this$props.isError;
4451
+ isError = _this$props.isError,
4452
+ popperClassName = _this$props.popperClassName;
4442
4453
  return /*#__PURE__*/React.createElement(PebblePopper, {
4443
4454
  label: function label() {
4444
4455
  return _label({
@@ -4451,7 +4462,7 @@ var Tooltip = /*#__PURE__*/function (_React$PureComponent) {
4451
4462
  popperBackgroundColor: isError ? pebbleShared.colors.red.base : pebbleShared.colors.gray.darker,
4452
4463
  modifiers: modifiers,
4453
4464
  isOpen: this.props.isOpen || this.state.isOpen,
4454
- popperClassName: popperStyle$1,
4465
+ popperClassName: emotion.cx(popperStyle$1, popperClassName),
4455
4466
  closeOnOutsideClick: false
4456
4467
  }, this.props.renderElement || this.defaultTooltip);
4457
4468
  }