@planningcenter/tapestry-react 2.10.0-rc.15 → 2.10.0-rc.16

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.
@@ -81,8 +81,7 @@ var Status = function Status(_ref) {
81
81
  title: title
82
82
  }, restProps));
83
83
  }
84
- }; // @ts-ignore error TS2339: Property 'displayName' does not exist on type 'typeof Status'.
85
-
84
+ };
86
85
 
87
86
  Status.displayName = 'Badge.Status';
88
87
  var _default = Status;
@@ -1,55 +1,38 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
-
5
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
4
 
5
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
6
+
7
7
  exports.__esModule = true;
8
8
  exports["default"] = void 0;
9
9
 
10
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
-
12
10
  var _react = _interopRequireWildcard(require("react"));
13
11
 
14
12
  var _utils = require("../utils");
15
13
 
16
14
  var _CheckboxGroupContext = _interopRequireDefault(require("./CheckboxGroupContext"));
17
15
 
18
- 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; }
19
-
20
- 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) { (0, _defineProperty2["default"])(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; }
21
-
22
16
  var CheckboxGroup = function CheckboxGroup(_ref) {
23
17
  var children = _ref.children,
24
18
  name = _ref.name,
25
- _onChange = _ref.onChange,
19
+ onChange = _ref.onChange,
26
20
  value = _ref.value;
27
21
 
28
- var _useState = (0, _react.useState)({
29
- name: name,
30
- value: value,
31
- onChange: function onChange(event) {
32
- return handleChange(event, value, _onChange);
33
- }
34
- }),
35
- state = _useState[0],
36
- setState = _useState[1];
22
+ var _useState = (0, _react.useState)(value),
23
+ stateValue = _useState[0],
24
+ setStateValue = _useState[1];
37
25
 
38
26
  (0, _react.useEffect)(function () {
39
- if (!(0, _utils.shallowEqual)(value, state.value)) {
40
- setState(function (s) {
41
- return _objectSpread(_objectSpread({}, s), {}, {
42
- value: value
43
- });
44
- });
27
+ if (!(0, _utils.shallowEqual)(value, stateValue)) {
28
+ setStateValue(value);
45
29
  }
46
- }, [value, state.value]);
47
-
48
- var handleChange = function handleChange(event, currentValue, changeCallback) {
30
+ }, [value, stateValue]);
31
+ var handleChange = (0, _react.useCallback)(function (event) {
49
32
  var _event$target = event.target,
50
33
  checked = _event$target.checked,
51
34
  checkboxValue = _event$target.value;
52
- var newValue = [].concat(currentValue);
35
+ var newValue = [].concat(stateValue);
53
36
 
54
37
  if (checked) {
55
38
  newValue.push(checkboxValue);
@@ -61,11 +44,15 @@ var CheckboxGroup = function CheckboxGroup(_ref) {
61
44
  }
62
45
  }
63
46
 
64
- changeCallback(newValue);
47
+ onChange(newValue);
48
+ }, [stateValue, onChange]);
49
+ var contextValue = {
50
+ name: name,
51
+ value: stateValue,
52
+ onChange: handleChange
65
53
  };
66
-
67
54
  return /*#__PURE__*/_react["default"].createElement(_CheckboxGroupContext["default"].Provider, {
68
- value: state
55
+ value: contextValue
69
56
  }, children);
70
57
  };
71
58
 
@@ -66,8 +66,7 @@ var Status = function Status(_ref) {
66
66
  title: title
67
67
  }, restProps));
68
68
  }
69
- }; // @ts-ignore error TS2339: Property 'displayName' does not exist on type 'typeof Status'.
70
-
69
+ };
71
70
 
72
71
  Status.displayName = 'Badge.Status';
73
72
  export default Status;
@@ -1,44 +1,27 @@
1
- import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
-
3
- 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; }
4
-
5
- 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; }
6
-
7
- import React, { useState, useEffect } from 'react';
1
+ import React, { useState, useEffect, useCallback } from 'react';
8
2
  import { shallowEqual } from '../utils';
9
3
  import CheckboxGroupContext from './CheckboxGroupContext';
10
4
 
11
5
  var CheckboxGroup = function CheckboxGroup(_ref) {
12
6
  var children = _ref.children,
13
7
  name = _ref.name,
14
- _onChange = _ref.onChange,
8
+ onChange = _ref.onChange,
15
9
  value = _ref.value;
16
10
 
17
- var _useState = useState({
18
- name: name,
19
- value: value,
20
- onChange: function onChange(event) {
21
- return handleChange(event, value, _onChange);
22
- }
23
- }),
24
- state = _useState[0],
25
- setState = _useState[1];
11
+ var _useState = useState(value),
12
+ stateValue = _useState[0],
13
+ setStateValue = _useState[1];
26
14
 
27
15
  useEffect(function () {
28
- if (!shallowEqual(value, state.value)) {
29
- setState(function (s) {
30
- return _objectSpread(_objectSpread({}, s), {}, {
31
- value: value
32
- });
33
- });
16
+ if (!shallowEqual(value, stateValue)) {
17
+ setStateValue(value);
34
18
  }
35
- }, [value, state.value]);
36
-
37
- var handleChange = function handleChange(event, currentValue, changeCallback) {
19
+ }, [value, stateValue]);
20
+ var handleChange = useCallback(function (event) {
38
21
  var _event$target = event.target,
39
22
  checked = _event$target.checked,
40
23
  checkboxValue = _event$target.value;
41
- var newValue = [].concat(currentValue);
24
+ var newValue = [].concat(stateValue);
42
25
 
43
26
  if (checked) {
44
27
  newValue.push(checkboxValue);
@@ -50,11 +33,15 @@ var CheckboxGroup = function CheckboxGroup(_ref) {
50
33
  }
51
34
  }
52
35
 
53
- changeCallback(newValue);
36
+ onChange(newValue);
37
+ }, [stateValue, onChange]);
38
+ var contextValue = {
39
+ name: name,
40
+ value: stateValue,
41
+ onChange: handleChange
54
42
  };
55
-
56
43
  return /*#__PURE__*/React.createElement(CheckboxGroupContext.Provider, {
57
- value: state
44
+ value: contextValue
58
45
  }, children);
59
46
  };
60
47
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@planningcenter/tapestry-react",
3
- "version": "2.10.0-rc.15",
3
+ "version": "2.10.0-rc.16",
4
4
  "description": "A collection of flexible React components to help you build resilient, accessible user interfaces quickly and effectively.",
5
5
  "author": "Front End Systems Engineering <frontend@pco.bz>",
6
6
  "main": "dist/cjs/index.js",
@@ -84,7 +84,6 @@ const Status = ({
84
84
  }
85
85
  }
86
86
 
87
- // @ts-ignore error TS2339: Property 'displayName' does not exist on type 'typeof Status'.
88
87
  Status.displayName = 'Badge.Status'
89
88
 
90
89
  export default Status
@@ -1,4 +1,4 @@
1
- import React, { useState, useEffect } from 'react'
1
+ import React, { useState, useEffect, useCallback } from 'react'
2
2
 
3
3
  import { shallowEqual } from '../utils'
4
4
 
@@ -29,39 +29,39 @@ const CheckboxGroup = ({
29
29
  onChange,
30
30
  value,
31
31
  }: CheckboxGroupProps): JSX.Element => {
32
- const [state, setState] = useState({
33
- name,
34
- value,
35
- onChange: (event: React.ChangeEvent<HTMLInputElement>) =>
36
- handleChange(event, value, onChange),
37
- })
32
+ const [stateValue, setStateValue] = useState(value)
38
33
 
39
34
  useEffect(() => {
40
- if (!shallowEqual(value, state.value)) {
41
- setState((s) => ({ ...s, value }))
35
+ if (!shallowEqual(value, stateValue)) {
36
+ setStateValue(value)
42
37
  }
43
- }, [value, state.value])
38
+ }, [value, stateValue])
44
39
 
45
- const handleChange = (
46
- event: React.ChangeEvent<HTMLInputElement>,
47
- currentValue: string[],
48
- changeCallback: (value: string[]) => void
49
- ) => {
50
- const { checked, value: checkboxValue } = event.target
51
- const newValue = [...currentValue]
52
- if (checked) {
53
- newValue.push(checkboxValue)
54
- } else {
55
- const index = newValue.indexOf(checkboxValue)
56
- if (index > -1) {
57
- newValue.splice(index, 1)
40
+ const handleChange = useCallback(
41
+ (event: React.ChangeEvent<HTMLInputElement>) => {
42
+ const { checked, value: checkboxValue } = event.target
43
+ const newValue = [...stateValue]
44
+ if (checked) {
45
+ newValue.push(checkboxValue)
46
+ } else {
47
+ const index = newValue.indexOf(checkboxValue)
48
+ if (index > -1) {
49
+ newValue.splice(index, 1)
50
+ }
58
51
  }
59
- }
60
- changeCallback(newValue)
52
+ onChange(newValue)
53
+ },
54
+ [stateValue, onChange]
55
+ )
56
+
57
+ const contextValue = {
58
+ name,
59
+ value: stateValue,
60
+ onChange: handleChange,
61
61
  }
62
62
 
63
63
  return (
64
- <CheckboxGroupContext.Provider value={state}>
64
+ <CheckboxGroupContext.Provider value={contextValue}>
65
65
  {children}
66
66
  </CheckboxGroupContext.Provider>
67
67
  )