victory-bar 36.3.0 → 36.3.2

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.
@@ -1060,16 +1060,17 @@ __webpack_require__.r(__webpack_exports__);
1060
1060
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_0__);
1061
1061
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react");
1062
1062
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
1063
- /* harmony import */ var _helper_methods__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./helper-methods */ "./helper-methods.js");
1064
- /* harmony import */ var _bar__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./bar */ "./bar.js");
1063
+ /* harmony import */ var _helper_methods__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./helper-methods */ "./helper-methods.js");
1064
+ /* harmony import */ var _bar__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./bar */ "./bar.js");
1065
1065
  /* harmony import */ var victory_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! victory-core */ "../../victory-core/es/victory-util/helpers.js");
1066
- /* harmony import */ var victory_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! victory-core */ "../../victory-core/es/victory-util/common-props.js");
1067
- /* harmony import */ var victory_core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! victory-core */ "../../victory-core/es/victory-container/victory-container.js");
1068
- /* harmony import */ var victory_core__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! victory-core */ "../../victory-core/es/victory-label/victory-label.js");
1069
- /* harmony import */ var victory_core__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! victory-core */ "../../victory-core/es/victory-theme/victory-theme.js");
1070
- /* harmony import */ var victory_core__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! victory-core */ "../../victory-core/es/victory-util/domain.js");
1071
- /* harmony import */ var victory_core__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! victory-core */ "../../victory-core/es/victory-util/data.js");
1072
- /* harmony import */ var victory_core__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! victory-core */ "../../victory-core/es/victory-util/add-events.js");
1066
+ /* harmony import */ var victory_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! victory-core */ "../../victory-core/es/victory-util/user-props.js");
1067
+ /* harmony import */ var victory_core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! victory-core */ "../../victory-core/es/victory-util/common-props.js");
1068
+ /* harmony import */ var victory_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! victory-core */ "../../victory-core/es/victory-container/victory-container.js");
1069
+ /* harmony import */ var victory_core__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! victory-core */ "../../victory-core/es/victory-label/victory-label.js");
1070
+ /* harmony import */ var victory_core__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! victory-core */ "../../victory-core/es/victory-theme/victory-theme.js");
1071
+ /* harmony import */ var victory_core__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! victory-core */ "../../victory-core/es/victory-util/domain.js");
1072
+ /* harmony import */ var victory_core__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! victory-core */ "../../victory-core/es/victory-util/data.js");
1073
+ /* harmony import */ var victory_core__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! victory-core */ "../../victory-core/es/victory-util/add-events.js");
1073
1074
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }
1074
1075
 
1075
1076
  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; }
@@ -1139,7 +1140,8 @@ function (_React$Component) {
1139
1140
  }
1140
1141
 
1141
1142
  var children = this.renderData(props);
1142
- return props.standalone ? this.renderContainer(props.containerComponent, children) : children;
1143
+ var container = react__WEBPACK_IMPORTED_MODULE_1___default().cloneElement(props.containerComponent, victory_core__WEBPACK_IMPORTED_MODULE_3__.getSafeUserProps(props));
1144
+ return props.standalone ? this.renderContainer(container, children) : children;
1143
1145
  }
1144
1146
  }]);
1145
1147
 
@@ -1218,7 +1220,7 @@ Object.defineProperty(VictoryBar, "propTypes", {
1218
1220
  configurable: true,
1219
1221
  enumerable: true,
1220
1222
  writable: true,
1221
- value: _objectSpread({}, victory_core__WEBPACK_IMPORTED_MODULE_3__.baseProps, victory_core__WEBPACK_IMPORTED_MODULE_3__.dataProps, {
1223
+ value: _objectSpread({}, victory_core__WEBPACK_IMPORTED_MODULE_4__.baseProps, victory_core__WEBPACK_IMPORTED_MODULE_4__.dataProps, {
1222
1224
  alignment: prop_types__WEBPACK_IMPORTED_MODULE_0___default().oneOf(["start", "middle", "end"]),
1223
1225
  barRatio: (prop_types__WEBPACK_IMPORTED_MODULE_0___default().number),
1224
1226
  barWidth: prop_types__WEBPACK_IMPORTED_MODULE_0___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_0___default().number), (prop_types__WEBPACK_IMPORTED_MODULE_0___default().func)]),
@@ -1239,37 +1241,37 @@ Object.defineProperty(VictoryBar, "defaultProps", {
1239
1241
  enumerable: true,
1240
1242
  writable: true,
1241
1243
  value: {
1242
- containerComponent: react__WEBPACK_IMPORTED_MODULE_1___default().createElement(victory_core__WEBPACK_IMPORTED_MODULE_4__["default"], null),
1244
+ containerComponent: react__WEBPACK_IMPORTED_MODULE_1___default().createElement(victory_core__WEBPACK_IMPORTED_MODULE_5__["default"], null),
1243
1245
  data: defaultData,
1244
- dataComponent: react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_bar__WEBPACK_IMPORTED_MODULE_5__["default"], null),
1246
+ dataComponent: react__WEBPACK_IMPORTED_MODULE_1___default().createElement(_bar__WEBPACK_IMPORTED_MODULE_6__["default"], null),
1245
1247
  groupComponent: react__WEBPACK_IMPORTED_MODULE_1___default().createElement("g", {
1246
1248
  role: "presentation"
1247
1249
  }),
1248
- labelComponent: react__WEBPACK_IMPORTED_MODULE_1___default().createElement(victory_core__WEBPACK_IMPORTED_MODULE_6__["default"], null),
1250
+ labelComponent: react__WEBPACK_IMPORTED_MODULE_1___default().createElement(victory_core__WEBPACK_IMPORTED_MODULE_7__["default"], null),
1249
1251
  samples: 50,
1250
1252
  sortOrder: "ascending",
1251
1253
  standalone: true,
1252
- theme: victory_core__WEBPACK_IMPORTED_MODULE_7__["default"].grayscale
1254
+ theme: victory_core__WEBPACK_IMPORTED_MODULE_8__["default"].grayscale
1253
1255
  }
1254
1256
  });
1255
1257
  Object.defineProperty(VictoryBar, "getDomain", {
1256
1258
  configurable: true,
1257
1259
  enumerable: true,
1258
1260
  writable: true,
1259
- value: victory_core__WEBPACK_IMPORTED_MODULE_8__.getDomainWithZero
1261
+ value: victory_core__WEBPACK_IMPORTED_MODULE_9__.getDomainWithZero
1260
1262
  });
1261
1263
  Object.defineProperty(VictoryBar, "getData", {
1262
1264
  configurable: true,
1263
1265
  enumerable: true,
1264
1266
  writable: true,
1265
- value: victory_core__WEBPACK_IMPORTED_MODULE_9__.getData
1267
+ value: victory_core__WEBPACK_IMPORTED_MODULE_10__.getData
1266
1268
  });
1267
1269
  Object.defineProperty(VictoryBar, "getBaseProps", {
1268
1270
  configurable: true,
1269
1271
  enumerable: true,
1270
1272
  writable: true,
1271
1273
  value: function (props) {
1272
- return (0,_helper_methods__WEBPACK_IMPORTED_MODULE_10__.getBaseProps)(props, fallbackProps);
1274
+ return (0,_helper_methods__WEBPACK_IMPORTED_MODULE_11__.getBaseProps)(props, fallbackProps);
1273
1275
  }
1274
1276
  });
1275
1277
  Object.defineProperty(VictoryBar, "expectedComponents", {
@@ -1278,7 +1280,7 @@ Object.defineProperty(VictoryBar, "expectedComponents", {
1278
1280
  writable: true,
1279
1281
  value: ["dataComponent", "labelComponent", "groupComponent", "containerComponent"]
1280
1282
  });
1281
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,victory_core__WEBPACK_IMPORTED_MODULE_11__["default"])(VictoryBar));
1283
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,victory_core__WEBPACK_IMPORTED_MODULE_12__["default"])(VictoryBar));
1282
1284
 
1283
1285
  /***/ }),
1284
1286
 
@@ -15397,11 +15399,12 @@ __webpack_require__.r(__webpack_exports__);
15397
15399
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_5__);
15398
15400
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! prop-types */ "../../../node_modules/prop-types/index.js");
15399
15401
  /* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_6__);
15400
- /* harmony import */ var _victory_util_prop_types__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../victory-util/prop-types */ "../../victory-core/es/victory-util/prop-types.js");
15401
- /* harmony import */ var _victory_portal_portal__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../victory-portal/portal */ "../../victory-core/es/victory-portal/portal.js");
15402
+ /* harmony import */ var _victory_util_prop_types__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../victory-util/prop-types */ "../../victory-core/es/victory-util/prop-types.js");
15403
+ /* harmony import */ var _victory_portal_portal__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../victory-portal/portal */ "../../victory-core/es/victory-portal/portal.js");
15402
15404
  /* harmony import */ var _victory_portal_portal_context__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../victory-portal/portal-context */ "../../victory-core/es/victory-portal/portal-context.js");
15403
- /* harmony import */ var _victory_util_timer_context__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../victory-util/timer-context */ "../../victory-core/es/victory-util/timer-context.js");
15405
+ /* harmony import */ var _victory_util_timer_context__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../victory-util/timer-context */ "../../victory-core/es/victory-util/timer-context.js");
15404
15406
  /* harmony import */ var _victory_util_helpers__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../victory-util/helpers */ "../../victory-core/es/victory-util/helpers.js");
15407
+ /* harmony import */ var _victory_util_user_props__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../victory-util/user-props */ "../../victory-core/es/victory-util/user-props.js");
15405
15408
 
15406
15409
 
15407
15410
 
@@ -15434,6 +15437,7 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function"
15434
15437
 
15435
15438
 
15436
15439
 
15440
+
15437
15441
  var VictoryContainer =
15438
15442
  /*#__PURE__*/
15439
15443
  function (_React$Component) {
@@ -15604,8 +15608,9 @@ function (_React$Component) {
15604
15608
  preserveAspectRatio = _props.preserveAspectRatio,
15605
15609
  role = _props.role;
15606
15610
  var style = responsive ? this.props.style : _victory_util_helpers__WEBPACK_IMPORTED_MODULE_8__.omit(this.props.style, ["height", "width"]);
15611
+ var userProps = _victory_util_user_props__WEBPACK_IMPORTED_MODULE_9__.getSafeUserProps(this.props);
15607
15612
 
15608
- var svgProps = lodash_assign__WEBPACK_IMPORTED_MODULE_4___default()({
15613
+ var svgProps = lodash_assign__WEBPACK_IMPORTED_MODULE_4___default()(_objectSpread({
15609
15614
  width: width,
15610
15615
  height: height,
15611
15616
  tabIndex: tabIndex,
@@ -15614,7 +15619,7 @@ function (_React$Component) {
15614
15619
  "aria-describedby": [desc && this.getIdForElement("desc"), this.props["aria-describedby"]].filter(Boolean).join(" ") || undefined,
15615
15620
  viewBox: responsive ? "0 0 ".concat(width, " ").concat(height) : undefined,
15616
15621
  preserveAspectRatio: responsive ? preserveAspectRatio : undefined
15617
- }, events);
15622
+ }, userProps), events);
15618
15623
 
15619
15624
  return this.renderContainer(this.props, svgProps, style);
15620
15625
  }
@@ -15648,18 +15653,18 @@ Object.defineProperty(VictoryContainer, "propTypes", {
15648
15653
  containerRef: (prop_types__WEBPACK_IMPORTED_MODULE_6___default().func),
15649
15654
  desc: (prop_types__WEBPACK_IMPORTED_MODULE_6___default().string),
15650
15655
  events: (prop_types__WEBPACK_IMPORTED_MODULE_6___default().object),
15651
- height: _victory_util_prop_types__WEBPACK_IMPORTED_MODULE_9__.nonNegative,
15656
+ height: _victory_util_prop_types__WEBPACK_IMPORTED_MODULE_10__.nonNegative,
15652
15657
  name: (prop_types__WEBPACK_IMPORTED_MODULE_6___default().string),
15653
15658
  origin: prop_types__WEBPACK_IMPORTED_MODULE_6___default().shape({
15654
- x: _victory_util_prop_types__WEBPACK_IMPORTED_MODULE_9__.nonNegative,
15655
- y: _victory_util_prop_types__WEBPACK_IMPORTED_MODULE_9__.nonNegative
15659
+ x: _victory_util_prop_types__WEBPACK_IMPORTED_MODULE_10__.nonNegative,
15660
+ y: _victory_util_prop_types__WEBPACK_IMPORTED_MODULE_10__.nonNegative
15656
15661
  }),
15657
15662
  ouiaId: prop_types__WEBPACK_IMPORTED_MODULE_6___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_6___default().number), (prop_types__WEBPACK_IMPORTED_MODULE_6___default().string)]),
15658
15663
  ouiaSafe: (prop_types__WEBPACK_IMPORTED_MODULE_6___default().bool),
15659
15664
  ouiaType: (prop_types__WEBPACK_IMPORTED_MODULE_6___default().string),
15660
15665
  polar: (prop_types__WEBPACK_IMPORTED_MODULE_6___default().bool),
15661
15666
  portalComponent: (prop_types__WEBPACK_IMPORTED_MODULE_6___default().element),
15662
- portalZIndex: _victory_util_prop_types__WEBPACK_IMPORTED_MODULE_9__.integer,
15667
+ portalZIndex: _victory_util_prop_types__WEBPACK_IMPORTED_MODULE_10__.integer,
15663
15668
  preserveAspectRatio: (prop_types__WEBPACK_IMPORTED_MODULE_6___default().string),
15664
15669
  responsive: (prop_types__WEBPACK_IMPORTED_MODULE_6___default().bool),
15665
15670
  role: (prop_types__WEBPACK_IMPORTED_MODULE_6___default().string),
@@ -15667,7 +15672,7 @@ Object.defineProperty(VictoryContainer, "propTypes", {
15667
15672
  tabIndex: (prop_types__WEBPACK_IMPORTED_MODULE_6___default().number),
15668
15673
  theme: (prop_types__WEBPACK_IMPORTED_MODULE_6___default().object),
15669
15674
  title: (prop_types__WEBPACK_IMPORTED_MODULE_6___default().string),
15670
- width: _victory_util_prop_types__WEBPACK_IMPORTED_MODULE_9__.nonNegative
15675
+ width: _victory_util_prop_types__WEBPACK_IMPORTED_MODULE_10__.nonNegative
15671
15676
  }
15672
15677
  });
15673
15678
  Object.defineProperty(VictoryContainer, "defaultProps", {
@@ -15676,7 +15681,7 @@ Object.defineProperty(VictoryContainer, "defaultProps", {
15676
15681
  writable: true,
15677
15682
  value: {
15678
15683
  className: "VictoryContainer",
15679
- portalComponent: react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_victory_portal_portal__WEBPACK_IMPORTED_MODULE_10__["default"], null),
15684
+ portalComponent: react__WEBPACK_IMPORTED_MODULE_5___default().createElement(_victory_portal_portal__WEBPACK_IMPORTED_MODULE_11__["default"], null),
15680
15685
  portalZIndex: 99,
15681
15686
  responsive: true,
15682
15687
  role: "img"
@@ -15686,7 +15691,7 @@ Object.defineProperty(VictoryContainer, "contextType", {
15686
15691
  configurable: true,
15687
15692
  enumerable: true,
15688
15693
  writable: true,
15689
- value: _victory_util_timer_context__WEBPACK_IMPORTED_MODULE_11__["default"]
15694
+ value: _victory_util_timer_context__WEBPACK_IMPORTED_MODULE_12__["default"]
15690
15695
  });
15691
15696
 
15692
15697
 
@@ -17650,6 +17655,7 @@ __webpack_require__.r(__webpack_exports__);
17650
17655
  /* harmony import */ var react_fast_compare__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! react-fast-compare */ "../../../node_modules/react-fast-compare/index.js");
17651
17656
  /* harmony import */ var react_fast_compare__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(react_fast_compare__WEBPACK_IMPORTED_MODULE_10__);
17652
17657
  /* harmony import */ var _victory_transition_victory_transition__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../victory-transition/victory-transition */ "../../victory-core/es/victory-transition/victory-transition.js");
17658
+ /* harmony import */ var _victory_util_user_props__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../victory-util/user-props */ "../../victory-core/es/victory-util/user-props.js");
17653
17659
 
17654
17660
 
17655
17661
 
@@ -17686,6 +17692,7 @@ function _assertThisInitialized(self) { if (self === void 0) { throw new Referen
17686
17692
 
17687
17693
 
17688
17694
 
17695
+
17689
17696
  var datumHasXandY = function (datum) {
17690
17697
  return !lodash_isNil__WEBPACK_IMPORTED_MODULE_1___default()(datum._x) && !lodash_isNil__WEBPACK_IMPORTED_MODULE_1___default()(datum._y);
17691
17698
  }; // used for checking state changes. Expected components can be passed in via options
@@ -18031,6 +18038,7 @@ var defaultComponents = [{
18031
18038
  var dataComponent = props.dataComponent,
18032
18039
  labelComponent = props.labelComponent,
18033
18040
  groupComponent = props.groupComponent;
18041
+ var userProps = _victory_util_user_props__WEBPACK_IMPORTED_MODULE_13__.getSafeUserProps(props);
18034
18042
  var dataComponents = this.dataKeys.reduce(function (validDataComponents, _dataKey, index) {
18035
18043
  var dataProps = _this9.getComponentProps(dataComponent, "data", index);
18036
18044
 
@@ -18052,7 +18060,8 @@ var defaultComponents = [{
18052
18060
 
18053
18061
  var children = _toConsumableArray(dataComponents).concat(_toConsumableArray(labelComponents));
18054
18062
 
18055
- return this.renderContainer(groupComponent, children);
18063
+ var group = react__WEBPACK_IMPORTED_MODULE_9___default().cloneElement(groupComponent, userProps, children);
18064
+ return this.renderContainer(group, children);
18056
18065
  }
18057
18066
  }]);
18058
18067
 
@@ -21852,6 +21861,103 @@ function getTransitionPropsFactory(props, state, setState) {
21852
21861
 
21853
21862
  /***/ }),
21854
21863
 
21864
+ /***/ "../../victory-core/es/victory-util/user-props.js":
21865
+ /*!********************************************************!*\
21866
+ !*** ../../victory-core/es/victory-util/user-props.js ***!
21867
+ \********************************************************/
21868
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
21869
+
21870
+ "use strict";
21871
+ __webpack_require__.r(__webpack_exports__);
21872
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
21873
+ /* harmony export */ "getSafeUserProps": () => (/* binding */ getSafeUserProps)
21874
+ /* harmony export */ });
21875
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }
21876
+
21877
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); }
21878
+
21879
+ function _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
21880
+
21881
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
21882
+
21883
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }
21884
+
21885
+ 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; }
21886
+
21887
+ /*
21888
+ USER_PROPS_SAFELIST is to contain any string deemed safe for user props.
21889
+ The startsWidth array will contain the start of any accepted user-prop that
21890
+ starts with these characters.
21891
+ The exactMatch will contain a list of exact prop names that are accepted.
21892
+ */
21893
+ var USER_PROPS_SAFELIST = {
21894
+ startsWith: ["data-", "aria-"],
21895
+ exactMatch: []
21896
+ };
21897
+ /**
21898
+ * doesPropStartWith: Function that takes a prop's key and runs it against all
21899
+ * options in the USER_PROPS_SAFELIST and checks to see if it starts with any
21900
+ * of those options.
21901
+ * @param {string} key: prop key to be tested against whitelist
21902
+ * @returns {Boolean}: returns true if the key starts with an option or false if
21903
+ * otherwise
21904
+ */
21905
+
21906
+ var doesPropStartWith = function (key) {
21907
+ var startsWith = false;
21908
+ USER_PROPS_SAFELIST.startsWith.forEach(function (starterString) {
21909
+ var regex = new RegExp("\\b(".concat(starterString, ")(\\w|-)+"), "g");
21910
+ if (regex.test(key)) startsWith = true;
21911
+ });
21912
+ return startsWith;
21913
+ };
21914
+ /**
21915
+ * isExactMatch: checks to see if the given key matches any of the 'exactMatch'
21916
+ * items in the whitelist
21917
+ * @param {String} key: prop key to be tested against the whitelist-exact match
21918
+ * array.
21919
+ * @returns {Boolean}: return true if whitelist contains that key, otherwise
21920
+ * returns false.
21921
+ */
21922
+
21923
+
21924
+ var isExactMatch = function (key) {
21925
+ return USER_PROPS_SAFELIST.exactMatch.includes(key);
21926
+ };
21927
+ /**
21928
+ * testIfSafeProp: tests prop's key against both startsWith and exactMatch values
21929
+ * @param {String} key: prop key to be tested against the whitelist
21930
+ * @returns {Boolean}: returns true if found in whitelist, otherwise returns false
21931
+ */
21932
+
21933
+
21934
+ var testIfSafeProp = function (key) {
21935
+ if (doesPropStartWith(key) || isExactMatch(key)) return true;
21936
+ return false;
21937
+ };
21938
+ /**
21939
+ * getSafeUserProps - function that takes in a props object and removes any
21940
+ * key-value entries that do not match filter strings in the USER_PROPS_SAFELIST
21941
+ * object.
21942
+ *
21943
+ * @param {Object} props: props to be filtered against USER_PROPS_SAFELIST
21944
+ * @returns {Object}: object containing remaining acceptable props
21945
+ */
21946
+
21947
+
21948
+ var getSafeUserProps = function (props) {
21949
+ var propsToFilter = _objectSpread({}, props);
21950
+
21951
+ return Object.fromEntries(Object.entries(propsToFilter).filter(function (_ref) {
21952
+ var _ref2 = _slicedToArray(_ref, 1),
21953
+ key = _ref2[0];
21954
+
21955
+ return testIfSafeProp(key);
21956
+ }));
21957
+ };
21958
+
21959
+ /***/ }),
21960
+
21855
21961
  /***/ "react":
21856
21962
  /*!**************************************************************************************!*\
21857
21963
  !*** external {"root":"React","commonjs2":"react","commonjs":"react","amd":"react"} ***!