es-components 21.6.83 → 21.6.84

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.
package/cjs/index.js CHANGED
@@ -1088,11 +1088,15 @@ function useUniqueId(providedId) {
1088
1088
  return idRef.current;
1089
1089
  }
1090
1090
 
1091
- var _excluded$H = ["id", "panelKey", "open"];
1091
+ var _excluded$H = ["id", "panelKey", "open", "onChange"];
1092
1092
 
1093
1093
  function ownKeys$b(object, enumerableOnly) { var keys = _Object$keys__default["default"](object); if (_Object$getOwnPropertySymbols__default["default"]) { var symbols = _Object$getOwnPropertySymbols__default["default"](object); if (enumerableOnly) { symbols = _filterInstanceProperty__default["default"](symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor__default["default"](object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
1094
1094
 
1095
1095
  function _objectSpread$b(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$b(Object(source), true).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }); } else if (_Object$getOwnPropertyDescriptors__default["default"]) { Object.defineProperties(target, _Object$getOwnPropertyDescriptors__default["default"](source)); } else { ownKeys$b(Object(source)).forEach(function (key) { Object.defineProperty(target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } } return target; }
1096
+
1097
+ var noop = function noop() {// noop
1098
+ };
1099
+
1096
1100
  var DrawerItemContext = /*#__PURE__*/React.createContext({
1097
1101
  open: false,
1098
1102
  itemId: undefined,
@@ -1107,6 +1111,7 @@ var DrawerItem = function DrawerItem(_ref) {
1107
1111
  var id = _ref.id,
1108
1112
  panelKey = _ref.panelKey,
1109
1113
  openProp = _ref.open,
1114
+ onChangeProp = _ref.onChange,
1110
1115
  props = _objectWithoutProperties__default["default"](_ref, _excluded$H);
1111
1116
 
1112
1117
  var _useContext = React.useContext(DrawerContext),
@@ -1120,6 +1125,9 @@ var DrawerItem = function DrawerItem(_ref) {
1120
1125
  var toggleOpen = React.useCallback(function () {
1121
1126
  return toggleActiveKey(itemKey);
1122
1127
  }, [itemKey, toggleActiveKey]);
1128
+ var onChange = React.useRef(onChangeProp);
1129
+ onChange.current = onChangeProp;
1130
+ var afterInitialRender = React.useRef(false);
1123
1131
 
1124
1132
  var _useState = React.useState(_includesInstanceProperty__default["default"](activeKeys).call(activeKeys, itemKey)),
1125
1133
  _useState2 = _slicedToArray__default["default"](_useState, 2),
@@ -1144,6 +1152,13 @@ var DrawerItem = function DrawerItem(_ref) {
1144
1152
  if (typeof openProp === 'undefined') return;
1145
1153
  (openProp ? setActiveKey : unsetActiveKey)(itemKey);
1146
1154
  }, [openProp]);
1155
+ React.useEffect(function callOnChangeWhenOpenChanges() {
1156
+ if (!afterInitialRender.current) {
1157
+ return;
1158
+ }
1159
+
1160
+ (onChange.current || noop)(open);
1161
+ }, [open]);
1147
1162
  React.useEffect(function setChangedContext() {
1148
1163
  setItemContext({
1149
1164
  open: open,
@@ -1151,6 +1166,9 @@ var DrawerItem = function DrawerItem(_ref) {
1151
1166
  toggleOpen: toggleOpen
1152
1167
  });
1153
1168
  }, [open, itemId, toggleOpen]);
1169
+ React.useEffect(function () {
1170
+ afterInitialRender.current = true;
1171
+ }, []);
1154
1172
  return /*#__PURE__*/React__default["default"].createElement(DrawerItemContext.Provider, _extends__default["default"]({}, props, {
1155
1173
  value: itemContext
1156
1174
  }));
@@ -1159,7 +1177,8 @@ DrawerItem.propTypes = process.env.NODE_ENV !== "production" ? {
1159
1177
  /** Set the drawer to open or closed (true/false) */
1160
1178
  open: PropTypes__default["default"].bool,
1161
1179
 
1162
- /** Respond when the item opens or closes */
1180
+ /** React when drawer opens or closes */
1181
+ onChange: PropTypes__default["default"].func,
1163
1182
  // INTERNAL PROPS
1164
1183
 
1165
1184
  /** @ignore@ */
@@ -1186,10 +1205,6 @@ var DrawerItemBody = function DrawerItemBody(props) {
1186
1205
  role: "region"
1187
1206
  }, props));
1188
1207
  };
1189
-
1190
- var noop = function noop() {// noop
1191
- };
1192
-
1193
1208
  var DrawerItemOpener = function DrawerItemOpener(_ref2) {
1194
1209
  var children = _ref2.children;
1195
1210
 
package/lib/index.js CHANGED
@@ -1030,11 +1030,15 @@ function useUniqueId(providedId) {
1030
1030
  return idRef.current;
1031
1031
  }
1032
1032
 
1033
- var _excluded$H = ["id", "panelKey", "open"];
1033
+ var _excluded$H = ["id", "panelKey", "open", "onChange"];
1034
1034
 
1035
1035
  function ownKeys$b(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); if (enumerableOnly) { symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
1036
1036
 
1037
1037
  function _objectSpread$b(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$b(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (_Object$getOwnPropertyDescriptors) { Object.defineProperties(target, _Object$getOwnPropertyDescriptors(source)); } else { ownKeys$b(Object(source)).forEach(function (key) { Object.defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } } return target; }
1038
+
1039
+ var noop = function noop() {// noop
1040
+ };
1041
+
1038
1042
  var DrawerItemContext = /*#__PURE__*/createContext({
1039
1043
  open: false,
1040
1044
  itemId: undefined,
@@ -1049,6 +1053,7 @@ var DrawerItem = function DrawerItem(_ref) {
1049
1053
  var id = _ref.id,
1050
1054
  panelKey = _ref.panelKey,
1051
1055
  openProp = _ref.open,
1056
+ onChangeProp = _ref.onChange,
1052
1057
  props = _objectWithoutProperties(_ref, _excluded$H);
1053
1058
 
1054
1059
  var _useContext = useContext(DrawerContext),
@@ -1062,6 +1067,9 @@ var DrawerItem = function DrawerItem(_ref) {
1062
1067
  var toggleOpen = useCallback(function () {
1063
1068
  return toggleActiveKey(itemKey);
1064
1069
  }, [itemKey, toggleActiveKey]);
1070
+ var onChange = useRef(onChangeProp);
1071
+ onChange.current = onChangeProp;
1072
+ var afterInitialRender = useRef(false);
1065
1073
 
1066
1074
  var _useState = useState(_includesInstanceProperty(activeKeys).call(activeKeys, itemKey)),
1067
1075
  _useState2 = _slicedToArray(_useState, 2),
@@ -1086,6 +1094,13 @@ var DrawerItem = function DrawerItem(_ref) {
1086
1094
  if (typeof openProp === 'undefined') return;
1087
1095
  (openProp ? setActiveKey : unsetActiveKey)(itemKey);
1088
1096
  }, [openProp]);
1097
+ useEffect(function callOnChangeWhenOpenChanges() {
1098
+ if (!afterInitialRender.current) {
1099
+ return;
1100
+ }
1101
+
1102
+ (onChange.current || noop)(open);
1103
+ }, [open]);
1089
1104
  useEffect(function setChangedContext() {
1090
1105
  setItemContext({
1091
1106
  open: open,
@@ -1093,6 +1108,9 @@ var DrawerItem = function DrawerItem(_ref) {
1093
1108
  toggleOpen: toggleOpen
1094
1109
  });
1095
1110
  }, [open, itemId, toggleOpen]);
1111
+ useEffect(function () {
1112
+ afterInitialRender.current = true;
1113
+ }, []);
1096
1114
  return /*#__PURE__*/React.createElement(DrawerItemContext.Provider, _extends({}, props, {
1097
1115
  value: itemContext
1098
1116
  }));
@@ -1101,7 +1119,8 @@ DrawerItem.propTypes = process.env.NODE_ENV !== "production" ? {
1101
1119
  /** Set the drawer to open or closed (true/false) */
1102
1120
  open: PropTypes.bool,
1103
1121
 
1104
- /** Respond when the item opens or closes */
1122
+ /** React when drawer opens or closes */
1123
+ onChange: PropTypes.func,
1105
1124
  // INTERNAL PROPS
1106
1125
 
1107
1126
  /** @ignore@ */
@@ -1128,10 +1147,6 @@ var DrawerItemBody = function DrawerItemBody(props) {
1128
1147
  role: "region"
1129
1148
  }, props));
1130
1149
  };
1131
-
1132
- var noop = function noop() {// noop
1133
- };
1134
-
1135
1150
  var DrawerItemOpener = function DrawerItemOpener(_ref2) {
1136
1151
  var children = _ref2.children;
1137
1152
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "es-components",
3
- "version": "21.6.83",
3
+ "version": "21.6.84",
4
4
  "description": "React components built for Exchange Solutions products",
5
5
  "author": "Willis Towers Watson - Individual Marketplace",
6
6
  "license": "MIT",
@@ -68,7 +68,7 @@
68
68
  "bl": "^1.2.3",
69
69
  "concurrently": "^6.0.2",
70
70
  "cypress": "^9.6.0",
71
- "es-components-via-theme": "^21.6.83",
71
+ "es-components-via-theme": "^21.6.84",
72
72
  "eslint": "^7.24.0",
73
73
  "eslint-config-airbnb": "^18.2.1",
74
74
  "eslint-config-prettier": "^8.2.0",
@@ -125,5 +125,5 @@
125
125
  "ast-types": "^0.14.0",
126
126
  "bl": "^1.2.3"
127
127
  },
128
- "gitHead": "35e4249035cbea07995b1f440a5960ddac3fb4a9"
128
+ "gitHead": "d34a9349e6fd586d34bcb51732a336ce894fdf12"
129
129
  }