tabler-react-2 0.1.171 → 0.1.172
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/offcanvas/index.js +24 -14
- package/docs/yarn.lock +13142 -0
- package/package.json +1 -1
package/dist/offcanvas/index.js
CHANGED
|
@@ -32,7 +32,6 @@ var Offcanvas = exports.Offcanvas = /*#__PURE__*/_react["default"].memo(function
|
|
|
32
32
|
size = _ref$size === void 0 ? 300 : _ref$size,
|
|
33
33
|
_ref$zIndex = _ref.zIndex,
|
|
34
34
|
zIndex = _ref$zIndex === void 0 ? 1000 : _ref$zIndex;
|
|
35
|
-
// backdrop style
|
|
36
35
|
var backdropStyle = (0, _react.useMemo)(function () {
|
|
37
36
|
return {
|
|
38
37
|
position: "fixed",
|
|
@@ -43,9 +42,7 @@ var Offcanvas = exports.Offcanvas = /*#__PURE__*/_react["default"].memo(function
|
|
|
43
42
|
backgroundColor: "rgba(0,0,0,0.1)",
|
|
44
43
|
zIndex: zIndex - 1
|
|
45
44
|
};
|
|
46
|
-
}, []);
|
|
47
|
-
|
|
48
|
-
// offcanvas container style
|
|
45
|
+
}, [zIndex]);
|
|
49
46
|
var containerStyle = (0, _react.useMemo)(function () {
|
|
50
47
|
var base = {
|
|
51
48
|
position: "fixed",
|
|
@@ -91,7 +88,7 @@ var Offcanvas = exports.Offcanvas = /*#__PURE__*/_react["default"].memo(function
|
|
|
91
88
|
transform: show ? "translateX(0)" : "translateX(-100%)"
|
|
92
89
|
});
|
|
93
90
|
}
|
|
94
|
-
}, [position, show]);
|
|
91
|
+
}, [position, show, size, zIndex]);
|
|
95
92
|
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, show && /*#__PURE__*/_react["default"].createElement("div", {
|
|
96
93
|
style: backdropStyle,
|
|
97
94
|
onClick: onHide
|
|
@@ -103,13 +100,9 @@ var Offcanvas = exports.Offcanvas = /*#__PURE__*/_react["default"].memo(function
|
|
|
103
100
|
});
|
|
104
101
|
Offcanvas.displayName = "Offcanvas";
|
|
105
102
|
Offcanvas.propTypes = {
|
|
106
|
-
/** Show or hide the offcanvas */
|
|
107
103
|
show: _propTypes["default"].bool.isRequired,
|
|
108
|
-
/** Callback when the backdrop is clicked */
|
|
109
104
|
onHide: _propTypes["default"].func.isRequired,
|
|
110
|
-
/** Position: 'start' (left), 'end' (right), 'top', or 'bottom' */
|
|
111
105
|
position: _propTypes["default"].oneOf(["start", "end", "top", "bottom"]),
|
|
112
|
-
/** Content inside the offcanvas */
|
|
113
106
|
children: _propTypes["default"].node
|
|
114
107
|
};
|
|
115
108
|
Offcanvas.defaultProps = {
|
|
@@ -127,10 +120,14 @@ var useOffcanvas = exports.useOffcanvas = function useOffcanvas() {
|
|
|
127
120
|
_useState2 = _slicedToArray(_useState, 2),
|
|
128
121
|
state = _useState2[0],
|
|
129
122
|
setState = _useState2[1];
|
|
130
|
-
var _useState3 = (0, _react.useState)(
|
|
123
|
+
var _useState3 = (0, _react.useState)(false),
|
|
131
124
|
_useState4 = _slicedToArray(_useState3, 2),
|
|
132
|
-
|
|
133
|
-
|
|
125
|
+
isMounted = _useState4[0],
|
|
126
|
+
setIsMounted = _useState4[1];
|
|
127
|
+
var _useState5 = (0, _react.useState)(Math.random()),
|
|
128
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
129
|
+
rand = _useState6[0],
|
|
130
|
+
setRand = _useState6[1];
|
|
134
131
|
var offcanvas = (0, _react.useCallback)(function () {
|
|
135
132
|
var newOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
136
133
|
return new Promise(function (resolve) {
|
|
@@ -143,6 +140,7 @@ var useOffcanvas = exports.useOffcanvas = function useOffcanvas() {
|
|
|
143
140
|
position: (_newOptions$position = newOptions.position) !== null && _newOptions$position !== void 0 ? _newOptions$position : prev.position
|
|
144
141
|
});
|
|
145
142
|
});
|
|
143
|
+
setIsMounted(true); // mount instantly
|
|
146
144
|
setRand(Math.random());
|
|
147
145
|
});
|
|
148
146
|
}, []);
|
|
@@ -157,11 +155,23 @@ var useOffcanvas = exports.useOffcanvas = function useOffcanvas() {
|
|
|
157
155
|
});
|
|
158
156
|
});
|
|
159
157
|
}, [state.resolve]);
|
|
158
|
+
|
|
159
|
+
// Delay unmount by 500ms to allow animation
|
|
160
|
+
(0, _react.useEffect)(function () {
|
|
161
|
+
if (!state.show && isMounted) {
|
|
162
|
+
var timer = setTimeout(function () {
|
|
163
|
+
setIsMounted(false);
|
|
164
|
+
}, 500);
|
|
165
|
+
return function () {
|
|
166
|
+
return clearTimeout(timer);
|
|
167
|
+
};
|
|
168
|
+
}
|
|
169
|
+
}, [state.show, isMounted]);
|
|
160
170
|
var OffcanvasElement = /*#__PURE__*/_react["default"].createElement(Offcanvas, _extends({
|
|
161
171
|
show: state.show,
|
|
162
172
|
onHide: close,
|
|
163
173
|
position: state.position
|
|
164
|
-
}, options.offcanvasProps || {}), /*#__PURE__*/_react["default"].createElement(_button.Button, {
|
|
174
|
+
}, options.offcanvasProps || {}), isMounted && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_button.Button, {
|
|
165
175
|
type: "button",
|
|
166
176
|
className: "btn-close",
|
|
167
177
|
"aria-label": "Close",
|
|
@@ -173,7 +183,7 @@ var useOffcanvas = exports.useOffcanvas = function useOffcanvas() {
|
|
|
173
183
|
}
|
|
174
184
|
}), /*#__PURE__*/_react["default"].createElement("div", {
|
|
175
185
|
key: rand
|
|
176
|
-
}, state.content));
|
|
186
|
+
}, state.content)));
|
|
177
187
|
return {
|
|
178
188
|
offcanvas: offcanvas,
|
|
179
189
|
OffcanvasElement: OffcanvasElement,
|