@planningcenter/tapestry-react 2.9.0 → 2.9.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.
- package/dist/cjs/Box/Box.js +1 -1
- package/dist/cjs/FilterLayout/FilterLayout.js +5 -4
- package/dist/cjs/GridView/GridView.js +1 -1
- package/dist/cjs/ItemList/ItemList.js +4 -1
- package/dist/cjs/StackView/StackView.js +1 -1
- package/dist/cjs/Text/Text.js +1 -1
- package/dist/cjs/TileView/TileView.js +1 -1
- package/dist/cjs/ToggleSwitch/ToggleSwitch.js +2 -0
- package/dist/cjs/ToggleSwitch/ToggleSwitch.test.js +37 -15
- package/dist/cjs/vendor/react-measure/Measure.js +3 -1
- package/dist/esm/FilterLayout/FilterLayout.js +5 -4
- package/dist/esm/ItemList/ItemList.js +4 -1
- package/dist/esm/ToggleSwitch/ToggleSwitch.js +2 -0
- package/dist/esm/ToggleSwitch/ToggleSwitch.test.js +37 -15
- package/dist/esm/vendor/react-measure/Measure.js +3 -1
- package/package.json +1 -1
- package/src/FilterLayout/FilterLayout.tsx +3 -3
- package/src/ToggleSwitch/ToggleSwitch.test.tsx +25 -7
- package/src/ToggleSwitch/ToggleSwitch.tsx +2 -0
package/dist/cjs/Box/Box.js
CHANGED
|
@@ -23,7 +23,7 @@ var _VariantProvider = require("../VariantProvider");
|
|
|
23
23
|
|
|
24
24
|
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; }
|
|
25
25
|
|
|
26
|
-
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; }
|
|
26
|
+
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; } /** @jsxRuntime classic */ /** @jsx jsx */
|
|
27
27
|
|
|
28
28
|
var defaultElement = 'div';
|
|
29
29
|
/**
|
|
@@ -80,8 +80,7 @@ function FilterLayout(props) {
|
|
|
80
80
|
shrink: 1
|
|
81
81
|
}, header)), /*#__PURE__*/React.createElement(_Divider["default"], null), /*#__PURE__*/React.createElement(_StackView["default"], {
|
|
82
82
|
axis: "horizontal",
|
|
83
|
-
grow: 1
|
|
84
|
-
overflow: "hidden"
|
|
83
|
+
grow: 1
|
|
85
84
|
}, /*#__PURE__*/React.createElement(_StackView["default"], {
|
|
86
85
|
visible: sidebarOpen,
|
|
87
86
|
basis: fill ? '100%' : sidebarWidth + 'px',
|
|
@@ -92,7 +91,9 @@ function FilterLayout(props) {
|
|
|
92
91
|
visibility: sidebarOpen && fill ? 'hidden' : 'visible',
|
|
93
92
|
maxHeight: sidebarOpen && fill ? 0 : 'initial',
|
|
94
93
|
grow: 1,
|
|
95
|
-
shrink:
|
|
94
|
+
shrink: 1,
|
|
96
95
|
basis: "100%"
|
|
97
|
-
},
|
|
96
|
+
}, /*#__PURE__*/React.createElement(_Box["default"], {
|
|
97
|
+
overflow: "hidden"
|
|
98
|
+
}, toolbar), /*#__PURE__*/React.createElement(_Divider["default"], null), table)));
|
|
98
99
|
}
|
|
@@ -25,7 +25,7 @@ var _VariantProvider = require("../VariantProvider");
|
|
|
25
25
|
|
|
26
26
|
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; }
|
|
27
27
|
|
|
28
|
-
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; }
|
|
28
|
+
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; } /** @jsxRuntime classic */ /** @jsx jsx */
|
|
29
29
|
|
|
30
30
|
function getTemplateValue(value) {
|
|
31
31
|
return value ? value.constructor === Array ? value.map(function (v) {
|
|
@@ -244,7 +244,10 @@ var ItemList = /*#__PURE__*/function (_Component) {
|
|
|
244
244
|
return typeof selected === 'function' ? selected(data) : selected === data;
|
|
245
245
|
});
|
|
246
246
|
return _this;
|
|
247
|
-
}
|
|
247
|
+
} // String Search
|
|
248
|
+
// Highlight
|
|
249
|
+
// Select
|
|
250
|
+
|
|
248
251
|
|
|
249
252
|
var _proto = ItemList.prototype;
|
|
250
253
|
|
|
@@ -27,7 +27,7 @@ var _VariantProvider = require("../VariantProvider");
|
|
|
27
27
|
|
|
28
28
|
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; }
|
|
29
29
|
|
|
30
|
-
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; }
|
|
30
|
+
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; } /** @jsxRuntime classic */ /** @jsx jsx */
|
|
31
31
|
|
|
32
32
|
var BASELINE = 'baseline';
|
|
33
33
|
var CENTER = 'center';
|
package/dist/cjs/Text/Text.js
CHANGED
|
@@ -25,7 +25,7 @@ var _VariantProvider = require("../VariantProvider");
|
|
|
25
25
|
|
|
26
26
|
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; }
|
|
27
27
|
|
|
28
|
-
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; }
|
|
28
|
+
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; } /** @jsxRuntime classic */ /** @jsx jsx */
|
|
29
29
|
|
|
30
30
|
var textPlugin = {
|
|
31
31
|
styleProps: ['italic', 'truncate', 'size', 'underline', 'weight', 'wrap'],
|
|
@@ -25,7 +25,7 @@ var _VariantProvider = require("../VariantProvider");
|
|
|
25
25
|
|
|
26
26
|
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; }
|
|
27
27
|
|
|
28
|
-
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; }
|
|
28
|
+
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; } /** @jsxRuntime classic */ /** @jsx jsx */
|
|
29
29
|
|
|
30
30
|
var tileViewPlugin = {
|
|
31
31
|
styleProps: ['minCellWidth', 'spacing'],
|
|
@@ -72,12 +72,14 @@ function ToggleSwitch(props) {
|
|
|
72
72
|
axis: "horizontal",
|
|
73
73
|
spacing: size === 'xs' ? 0.5 : size === 'sm' ? 0.75 : 1
|
|
74
74
|
}, /*#__PURE__*/_react["default"].createElement(_Button["default"], (0, _extends2["default"])({
|
|
75
|
+
"aria-checked": isChecked,
|
|
75
76
|
as: "button",
|
|
76
77
|
backgroundColor: disabled ? _colors.colors.grays.light.neutral81 : isChecked ? backgroundColor : _colors.colors.grays.light.neutral62,
|
|
77
78
|
onClick: onClick,
|
|
78
79
|
opacity: 1,
|
|
79
80
|
position: "relative",
|
|
80
81
|
radius: "pill",
|
|
82
|
+
role: "switch",
|
|
81
83
|
theme: false,
|
|
82
84
|
disabled: disabled,
|
|
83
85
|
tooltip: tooltip
|
|
@@ -20,7 +20,7 @@ describe('ToggleSwitch component', function () {
|
|
|
20
20
|
})),
|
|
21
21
|
getByRole = _render.getByRole;
|
|
22
22
|
|
|
23
|
-
var toggleButton = getByRole('
|
|
23
|
+
var toggleButton = getByRole('switch');
|
|
24
24
|
expect(toggleButton).toBeInTheDocument();
|
|
25
25
|
});
|
|
26
26
|
it('should call onClick when clicked', function () {
|
|
@@ -33,7 +33,7 @@ describe('ToggleSwitch component', function () {
|
|
|
33
33
|
})),
|
|
34
34
|
getByRole = _render2.getByRole;
|
|
35
35
|
|
|
36
|
-
var toggleButton = getByRole('
|
|
36
|
+
var toggleButton = getByRole('switch');
|
|
37
37
|
|
|
38
38
|
_react2.fireEvent.click(toggleButton);
|
|
39
39
|
|
|
@@ -62,21 +62,43 @@ describe('ToggleSwitch component', function () {
|
|
|
62
62
|
})),
|
|
63
63
|
getByRole = _render4.getByRole;
|
|
64
64
|
|
|
65
|
-
var toggleButton = getByRole('
|
|
65
|
+
var toggleButton = getByRole('switch');
|
|
66
66
|
expect(toggleButton).toHaveStyle("background-color: " + activeColor);
|
|
67
67
|
});
|
|
68
|
+
it('should apply aria-checked="true" when isChecked is true', function () {
|
|
69
|
+
var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ToggleSwitch["default"], {
|
|
70
|
+
isChecked: true,
|
|
71
|
+
label: "Toggle me",
|
|
72
|
+
onClick: function onClick() {}
|
|
73
|
+
})),
|
|
74
|
+
getByRole = _render5.getByRole;
|
|
75
|
+
|
|
76
|
+
var toggleButton = getByRole('switch');
|
|
77
|
+
expect(toggleButton).toHaveAttribute('aria-checked', 'true');
|
|
78
|
+
});
|
|
79
|
+
it('should apply aria-checked="false" when isChecked is false', function () {
|
|
80
|
+
var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ToggleSwitch["default"], {
|
|
81
|
+
isChecked: false,
|
|
82
|
+
label: "Toggle me",
|
|
83
|
+
onClick: function onClick() {}
|
|
84
|
+
})),
|
|
85
|
+
getByRole = _render6.getByRole;
|
|
86
|
+
|
|
87
|
+
var toggleButton = getByRole('switch');
|
|
88
|
+
expect(toggleButton).toHaveAttribute('aria-checked', 'false');
|
|
89
|
+
});
|
|
68
90
|
it('should not be clickable when disabled', function () {
|
|
69
91
|
var mockOnClick = jest.fn();
|
|
70
92
|
|
|
71
|
-
var
|
|
93
|
+
var _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ToggleSwitch["default"], {
|
|
72
94
|
disabled: true,
|
|
73
95
|
isChecked: false,
|
|
74
96
|
label: "Toggle me",
|
|
75
97
|
onClick: mockOnClick
|
|
76
98
|
})),
|
|
77
|
-
getByRole =
|
|
99
|
+
getByRole = _render7.getByRole;
|
|
78
100
|
|
|
79
|
-
var toggleButton = getByRole('
|
|
101
|
+
var toggleButton = getByRole('switch');
|
|
80
102
|
|
|
81
103
|
_react2.fireEvent.click(toggleButton);
|
|
82
104
|
|
|
@@ -84,41 +106,41 @@ describe('ToggleSwitch component', function () {
|
|
|
84
106
|
});
|
|
85
107
|
describe('it should apply the correct size', function () {
|
|
86
108
|
it("should apply the correct size for xs", function () {
|
|
87
|
-
var
|
|
109
|
+
var _render8 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ToggleSwitch["default"], {
|
|
88
110
|
isChecked: false,
|
|
89
111
|
label: "Toggle me",
|
|
90
112
|
onClick: function onClick() {},
|
|
91
113
|
size: "xs"
|
|
92
114
|
})),
|
|
93
|
-
getByRole =
|
|
115
|
+
getByRole = _render8.getByRole;
|
|
94
116
|
|
|
95
|
-
var toggleButton = getByRole('
|
|
117
|
+
var toggleButton = getByRole('switch');
|
|
96
118
|
expect(toggleButton).toHaveStyle("height: " + base * 2 + "px");
|
|
97
119
|
expect(toggleButton).toHaveStyle("width: " + base * 3.5 + "px");
|
|
98
120
|
});
|
|
99
121
|
it("should apply the correct size for sm", function () {
|
|
100
|
-
var
|
|
122
|
+
var _render9 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ToggleSwitch["default"], {
|
|
101
123
|
isChecked: false,
|
|
102
124
|
label: "Toggle me",
|
|
103
125
|
onClick: function onClick() {},
|
|
104
126
|
size: "sm"
|
|
105
127
|
})),
|
|
106
|
-
getByRole =
|
|
128
|
+
getByRole = _render9.getByRole;
|
|
107
129
|
|
|
108
|
-
var toggleButton = getByRole('
|
|
130
|
+
var toggleButton = getByRole('switch');
|
|
109
131
|
expect(toggleButton).toHaveStyle("height: " + base * 2.25 + "px");
|
|
110
132
|
expect(toggleButton).toHaveStyle("width: " + base * 4 + "px");
|
|
111
133
|
});
|
|
112
134
|
it("should apply the correct default size (md)", function () {
|
|
113
|
-
var
|
|
135
|
+
var _render10 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ToggleSwitch["default"], {
|
|
114
136
|
isChecked: false,
|
|
115
137
|
label: "Toggle me",
|
|
116
138
|
onClick: function onClick() {},
|
|
117
139
|
size: "md"
|
|
118
140
|
})),
|
|
119
|
-
getByRole =
|
|
141
|
+
getByRole = _render10.getByRole;
|
|
120
142
|
|
|
121
|
-
var toggleButton = getByRole('
|
|
143
|
+
var toggleButton = getByRole('switch');
|
|
122
144
|
expect(toggleButton).toHaveStyle("height: " + base * 2.5 + "px");
|
|
123
145
|
expect(toggleButton).toHaveStyle("width: " + base * 4.375 + "px");
|
|
124
146
|
});
|
|
@@ -111,7 +111,9 @@ var Measure = /*#__PURE__*/function (_Component) {
|
|
|
111
111
|
}
|
|
112
112
|
}));
|
|
113
113
|
return _this;
|
|
114
|
-
}
|
|
114
|
+
} // prevent firing two renders when component mounts, getting measurements in bind
|
|
115
|
+
// is faster than attaching a ResizeObserver and waiting for the first callback
|
|
116
|
+
|
|
115
117
|
|
|
116
118
|
var _proto = Measure.prototype;
|
|
117
119
|
|
|
@@ -67,8 +67,7 @@ export function FilterLayout(props) {
|
|
|
67
67
|
shrink: 1
|
|
68
68
|
}, header)), _ref, /*#__PURE__*/React.createElement(StackView, {
|
|
69
69
|
axis: "horizontal",
|
|
70
|
-
grow: 1
|
|
71
|
-
overflow: "hidden"
|
|
70
|
+
grow: 1
|
|
72
71
|
}, /*#__PURE__*/React.createElement(StackView, {
|
|
73
72
|
visible: sidebarOpen,
|
|
74
73
|
basis: fill ? '100%' : sidebarWidth + 'px',
|
|
@@ -79,7 +78,9 @@ export function FilterLayout(props) {
|
|
|
79
78
|
visibility: sidebarOpen && fill ? 'hidden' : 'visible',
|
|
80
79
|
maxHeight: sidebarOpen && fill ? 0 : 'initial',
|
|
81
80
|
grow: 1,
|
|
82
|
-
shrink:
|
|
81
|
+
shrink: 1,
|
|
83
82
|
basis: "100%"
|
|
84
|
-
},
|
|
83
|
+
}, /*#__PURE__*/React.createElement(Box, {
|
|
84
|
+
overflow: "hidden"
|
|
85
|
+
}, toolbar), _ref2, table)));
|
|
85
86
|
}
|
|
@@ -55,12 +55,14 @@ export function ToggleSwitch(props) {
|
|
|
55
55
|
axis: "horizontal",
|
|
56
56
|
spacing: size === 'xs' ? 0.5 : size === 'sm' ? 0.75 : 1
|
|
57
57
|
}, /*#__PURE__*/React.createElement(Button, _extends({
|
|
58
|
+
"aria-checked": isChecked,
|
|
58
59
|
as: "button",
|
|
59
60
|
backgroundColor: disabled ? colors.grays.light.neutral81 : isChecked ? backgroundColor : colors.grays.light.neutral62,
|
|
60
61
|
onClick: onClick,
|
|
61
62
|
opacity: 1,
|
|
62
63
|
position: "relative",
|
|
63
64
|
radius: "pill",
|
|
65
|
+
role: "switch",
|
|
64
66
|
theme: false,
|
|
65
67
|
disabled: disabled,
|
|
66
68
|
tooltip: tooltip
|
|
@@ -12,7 +12,7 @@ describe('ToggleSwitch component', function () {
|
|
|
12
12
|
})),
|
|
13
13
|
getByRole = _render.getByRole;
|
|
14
14
|
|
|
15
|
-
var toggleButton = getByRole('
|
|
15
|
+
var toggleButton = getByRole('switch');
|
|
16
16
|
expect(toggleButton).toBeInTheDocument();
|
|
17
17
|
});
|
|
18
18
|
it('should call onClick when clicked', function () {
|
|
@@ -25,7 +25,7 @@ describe('ToggleSwitch component', function () {
|
|
|
25
25
|
})),
|
|
26
26
|
getByRole = _render2.getByRole;
|
|
27
27
|
|
|
28
|
-
var toggleButton = getByRole('
|
|
28
|
+
var toggleButton = getByRole('switch');
|
|
29
29
|
fireEvent.click(toggleButton);
|
|
30
30
|
expect(mockOnClick).toHaveBeenCalled();
|
|
31
31
|
});
|
|
@@ -52,61 +52,83 @@ describe('ToggleSwitch component', function () {
|
|
|
52
52
|
})),
|
|
53
53
|
getByRole = _render4.getByRole;
|
|
54
54
|
|
|
55
|
-
var toggleButton = getByRole('
|
|
55
|
+
var toggleButton = getByRole('switch');
|
|
56
56
|
expect(toggleButton).toHaveStyle("background-color: " + activeColor);
|
|
57
57
|
});
|
|
58
|
+
it('should apply aria-checked="true" when isChecked is true', function () {
|
|
59
|
+
var _render5 = render( /*#__PURE__*/React.createElement(ToggleSwitch, {
|
|
60
|
+
isChecked: true,
|
|
61
|
+
label: "Toggle me",
|
|
62
|
+
onClick: function onClick() {}
|
|
63
|
+
})),
|
|
64
|
+
getByRole = _render5.getByRole;
|
|
65
|
+
|
|
66
|
+
var toggleButton = getByRole('switch');
|
|
67
|
+
expect(toggleButton).toHaveAttribute('aria-checked', 'true');
|
|
68
|
+
});
|
|
69
|
+
it('should apply aria-checked="false" when isChecked is false', function () {
|
|
70
|
+
var _render6 = render( /*#__PURE__*/React.createElement(ToggleSwitch, {
|
|
71
|
+
isChecked: false,
|
|
72
|
+
label: "Toggle me",
|
|
73
|
+
onClick: function onClick() {}
|
|
74
|
+
})),
|
|
75
|
+
getByRole = _render6.getByRole;
|
|
76
|
+
|
|
77
|
+
var toggleButton = getByRole('switch');
|
|
78
|
+
expect(toggleButton).toHaveAttribute('aria-checked', 'false');
|
|
79
|
+
});
|
|
58
80
|
it('should not be clickable when disabled', function () {
|
|
59
81
|
var mockOnClick = jest.fn();
|
|
60
82
|
|
|
61
|
-
var
|
|
83
|
+
var _render7 = render( /*#__PURE__*/React.createElement(ToggleSwitch, {
|
|
62
84
|
disabled: true,
|
|
63
85
|
isChecked: false,
|
|
64
86
|
label: "Toggle me",
|
|
65
87
|
onClick: mockOnClick
|
|
66
88
|
})),
|
|
67
|
-
getByRole =
|
|
89
|
+
getByRole = _render7.getByRole;
|
|
68
90
|
|
|
69
|
-
var toggleButton = getByRole('
|
|
91
|
+
var toggleButton = getByRole('switch');
|
|
70
92
|
fireEvent.click(toggleButton);
|
|
71
93
|
expect(mockOnClick).not.toHaveBeenCalled();
|
|
72
94
|
});
|
|
73
95
|
describe('it should apply the correct size', function () {
|
|
74
96
|
it("should apply the correct size for xs", function () {
|
|
75
|
-
var
|
|
97
|
+
var _render8 = render( /*#__PURE__*/React.createElement(ToggleSwitch, {
|
|
76
98
|
isChecked: false,
|
|
77
99
|
label: "Toggle me",
|
|
78
100
|
onClick: function onClick() {},
|
|
79
101
|
size: "xs"
|
|
80
102
|
})),
|
|
81
|
-
getByRole =
|
|
103
|
+
getByRole = _render8.getByRole;
|
|
82
104
|
|
|
83
|
-
var toggleButton = getByRole('
|
|
105
|
+
var toggleButton = getByRole('switch');
|
|
84
106
|
expect(toggleButton).toHaveStyle("height: " + base * 2 + "px");
|
|
85
107
|
expect(toggleButton).toHaveStyle("width: " + base * 3.5 + "px");
|
|
86
108
|
});
|
|
87
109
|
it("should apply the correct size for sm", function () {
|
|
88
|
-
var
|
|
110
|
+
var _render9 = render( /*#__PURE__*/React.createElement(ToggleSwitch, {
|
|
89
111
|
isChecked: false,
|
|
90
112
|
label: "Toggle me",
|
|
91
113
|
onClick: function onClick() {},
|
|
92
114
|
size: "sm"
|
|
93
115
|
})),
|
|
94
|
-
getByRole =
|
|
116
|
+
getByRole = _render9.getByRole;
|
|
95
117
|
|
|
96
|
-
var toggleButton = getByRole('
|
|
118
|
+
var toggleButton = getByRole('switch');
|
|
97
119
|
expect(toggleButton).toHaveStyle("height: " + base * 2.25 + "px");
|
|
98
120
|
expect(toggleButton).toHaveStyle("width: " + base * 4 + "px");
|
|
99
121
|
});
|
|
100
122
|
it("should apply the correct default size (md)", function () {
|
|
101
|
-
var
|
|
123
|
+
var _render10 = render( /*#__PURE__*/React.createElement(ToggleSwitch, {
|
|
102
124
|
isChecked: false,
|
|
103
125
|
label: "Toggle me",
|
|
104
126
|
onClick: function onClick() {},
|
|
105
127
|
size: "md"
|
|
106
128
|
})),
|
|
107
|
-
getByRole =
|
|
129
|
+
getByRole = _render10.getByRole;
|
|
108
130
|
|
|
109
|
-
var toggleButton = getByRole('
|
|
131
|
+
var toggleButton = getByRole('switch');
|
|
110
132
|
expect(toggleButton).toHaveStyle("height: " + base * 2.5 + "px");
|
|
111
133
|
expect(toggleButton).toHaveStyle("width: " + base * 4.375 + "px");
|
|
112
134
|
});
|
|
@@ -109,7 +109,9 @@ var Measure = /*#__PURE__*/function (_Component) {
|
|
|
109
109
|
}));
|
|
110
110
|
|
|
111
111
|
return _this;
|
|
112
|
-
}
|
|
112
|
+
} // prevent firing two renders when component mounts, getting measurements in bind
|
|
113
|
+
// is faster than attaching a ResizeObserver and waiting for the first callback
|
|
114
|
+
|
|
113
115
|
|
|
114
116
|
var _proto = Measure.prototype;
|
|
115
117
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@planningcenter/tapestry-react",
|
|
3
|
-
"version": "2.9.
|
|
3
|
+
"version": "2.9.1",
|
|
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",
|
|
@@ -72,7 +72,7 @@ export function FilterLayout(props: Props) {
|
|
|
72
72
|
</Box>
|
|
73
73
|
</StackView>
|
|
74
74
|
<Divider />
|
|
75
|
-
<StackView axis="horizontal" grow={1}
|
|
75
|
+
<StackView axis="horizontal" grow={1}>
|
|
76
76
|
<StackView
|
|
77
77
|
visible={sidebarOpen}
|
|
78
78
|
basis={fill ? '100%' : sidebarWidth + 'px'}
|
|
@@ -86,10 +86,10 @@ export function FilterLayout(props: Props) {
|
|
|
86
86
|
visibility={sidebarOpen && fill ? 'hidden' : 'visible'}
|
|
87
87
|
maxHeight={sidebarOpen && fill ? 0 : 'initial'}
|
|
88
88
|
grow={1}
|
|
89
|
-
shrink={
|
|
89
|
+
shrink={1}
|
|
90
90
|
basis="100%"
|
|
91
91
|
>
|
|
92
|
-
{toolbar}
|
|
92
|
+
<Box overflow="hidden">{toolbar}</Box>
|
|
93
93
|
<Divider />
|
|
94
94
|
{table}
|
|
95
95
|
</StackView>
|
|
@@ -11,7 +11,7 @@ describe('ToggleSwitch component', () => {
|
|
|
11
11
|
<ToggleSwitch isChecked={false} label="Toggle me" onClick={() => {}} />
|
|
12
12
|
)
|
|
13
13
|
|
|
14
|
-
const toggleButton = getByRole('
|
|
14
|
+
const toggleButton = getByRole('switch')
|
|
15
15
|
expect(toggleButton).toBeInTheDocument()
|
|
16
16
|
})
|
|
17
17
|
|
|
@@ -21,7 +21,7 @@ describe('ToggleSwitch component', () => {
|
|
|
21
21
|
<ToggleSwitch isChecked={false} label="Toggle me" onClick={mockOnClick} />
|
|
22
22
|
)
|
|
23
23
|
|
|
24
|
-
const toggleButton = getByRole('
|
|
24
|
+
const toggleButton = getByRole('switch')
|
|
25
25
|
fireEvent.click(toggleButton)
|
|
26
26
|
|
|
27
27
|
expect(mockOnClick).toHaveBeenCalled()
|
|
@@ -47,10 +47,28 @@ describe('ToggleSwitch component', () => {
|
|
|
47
47
|
/>
|
|
48
48
|
)
|
|
49
49
|
|
|
50
|
-
const toggleButton = getByRole('
|
|
50
|
+
const toggleButton = getByRole('switch')
|
|
51
51
|
expect(toggleButton).toHaveStyle(`background-color: ${activeColor}`)
|
|
52
52
|
})
|
|
53
53
|
|
|
54
|
+
it('should apply aria-checked="true" when isChecked is true', () => {
|
|
55
|
+
const { getByRole } = render(
|
|
56
|
+
<ToggleSwitch isChecked={true} label="Toggle me" onClick={() => {}} />
|
|
57
|
+
)
|
|
58
|
+
|
|
59
|
+
const toggleButton = getByRole('switch')
|
|
60
|
+
expect(toggleButton).toHaveAttribute('aria-checked', 'true')
|
|
61
|
+
})
|
|
62
|
+
|
|
63
|
+
it('should apply aria-checked="false" when isChecked is false', () => {
|
|
64
|
+
const { getByRole } = render(
|
|
65
|
+
<ToggleSwitch isChecked={false} label="Toggle me" onClick={() => {}} />
|
|
66
|
+
)
|
|
67
|
+
|
|
68
|
+
const toggleButton = getByRole('switch')
|
|
69
|
+
expect(toggleButton).toHaveAttribute('aria-checked', 'false')
|
|
70
|
+
})
|
|
71
|
+
|
|
54
72
|
it('should not be clickable when disabled', () => {
|
|
55
73
|
const mockOnClick = jest.fn()
|
|
56
74
|
const { getByRole } = render(
|
|
@@ -62,7 +80,7 @@ describe('ToggleSwitch component', () => {
|
|
|
62
80
|
/>
|
|
63
81
|
)
|
|
64
82
|
|
|
65
|
-
const toggleButton = getByRole('
|
|
83
|
+
const toggleButton = getByRole('switch')
|
|
66
84
|
fireEvent.click(toggleButton)
|
|
67
85
|
|
|
68
86
|
expect(mockOnClick).not.toHaveBeenCalled()
|
|
@@ -79,7 +97,7 @@ describe('ToggleSwitch component', () => {
|
|
|
79
97
|
/>
|
|
80
98
|
)
|
|
81
99
|
|
|
82
|
-
const toggleButton = getByRole('
|
|
100
|
+
const toggleButton = getByRole('switch')
|
|
83
101
|
expect(toggleButton).toHaveStyle(`height: ${base * 2}px`)
|
|
84
102
|
expect(toggleButton).toHaveStyle(`width: ${base * 3.5}px`)
|
|
85
103
|
})
|
|
@@ -93,7 +111,7 @@ describe('ToggleSwitch component', () => {
|
|
|
93
111
|
/>
|
|
94
112
|
)
|
|
95
113
|
|
|
96
|
-
const toggleButton = getByRole('
|
|
114
|
+
const toggleButton = getByRole('switch')
|
|
97
115
|
expect(toggleButton).toHaveStyle(`height: ${base * 2.25}px`)
|
|
98
116
|
expect(toggleButton).toHaveStyle(`width: ${base * 4}px`)
|
|
99
117
|
})
|
|
@@ -107,7 +125,7 @@ describe('ToggleSwitch component', () => {
|
|
|
107
125
|
/>
|
|
108
126
|
)
|
|
109
127
|
|
|
110
|
-
const toggleButton = getByRole('
|
|
128
|
+
const toggleButton = getByRole('switch')
|
|
111
129
|
expect(toggleButton).toHaveStyle(`height: ${base * 2.5}px`)
|
|
112
130
|
expect(toggleButton).toHaveStyle(`width: ${base * 4.375}px`)
|
|
113
131
|
})
|
|
@@ -66,6 +66,7 @@ export function ToggleSwitch(props: Props) {
|
|
|
66
66
|
spacing={size === 'xs' ? 0.5 : size === 'sm' ? 0.75 : 1}
|
|
67
67
|
>
|
|
68
68
|
<Button
|
|
69
|
+
aria-checked={isChecked}
|
|
69
70
|
as="button"
|
|
70
71
|
backgroundColor={
|
|
71
72
|
disabled
|
|
@@ -78,6 +79,7 @@ export function ToggleSwitch(props: Props) {
|
|
|
78
79
|
opacity={1}
|
|
79
80
|
position="relative"
|
|
80
81
|
radius="pill"
|
|
82
|
+
role="switch"
|
|
81
83
|
theme={false}
|
|
82
84
|
{...{ disabled, tooltip }}
|
|
83
85
|
{...toggleButtonProps}
|