@coreui/react 4.5.2 → 4.6.0

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/index.js CHANGED
@@ -7087,8 +7087,8 @@ CNavbarToggler.displayName = 'CNavbarToggler';
7087
7087
 
7088
7088
  var COffcanvas = React.forwardRef(function (_a, ref) {
7089
7089
  var _b;
7090
- var children = _a.children, _c = _a.backdrop, backdrop = _c === void 0 ? true : _c, className = _a.className, _d = _a.keyboard, keyboard = _d === void 0 ? true : _d, onHide = _a.onHide, onShow = _a.onShow, placement = _a.placement, _e = _a.portal, portal = _e === void 0 ? true : _e, _f = _a.scroll, scroll = _f === void 0 ? false : _f, _g = _a.visible, visible = _g === void 0 ? false : _g, rest = __rest(_a, ["children", "backdrop", "className", "keyboard", "onHide", "onShow", "placement", "portal", "scroll", "visible"]);
7091
- var _h = React.useState(visible), _visible = _h[0], setVisible = _h[1];
7090
+ var children = _a.children, _c = _a.backdrop, backdrop = _c === void 0 ? true : _c, className = _a.className, _d = _a.keyboard, keyboard = _d === void 0 ? true : _d, onHide = _a.onHide, onShow = _a.onShow, placement = _a.placement, _e = _a.portal, portal = _e === void 0 ? false : _e, _f = _a.responsive, responsive = _f === void 0 ? true : _f, _g = _a.scroll, scroll = _g === void 0 ? false : _g, _h = _a.visible, visible = _h === void 0 ? false : _h, rest = __rest(_a, ["children", "backdrop", "className", "keyboard", "onHide", "onShow", "placement", "portal", "responsive", "scroll", "visible"]);
7091
+ var _j = React.useState(visible), _visible = _j[0], setVisible = _j[1];
7092
7092
  var offcanvasRef = React.useRef(null);
7093
7093
  var forkedRef = useForkedRef(ref, offcanvasRef);
7094
7094
  React.useEffect(function () {
@@ -7107,19 +7107,27 @@ var COffcanvas = React.forwardRef(function (_a, ref) {
7107
7107
  document.body.style.removeProperty('padding-right');
7108
7108
  }
7109
7109
  }, [_visible]);
7110
- var _className = classNames('offcanvas', (_b = {},
7110
+ var getTransitionClass = function (state) {
7111
+ return state === 'entering'
7112
+ ? 'showing'
7113
+ : state === 'entered'
7114
+ ? 'show'
7115
+ : state === 'exiting'
7116
+ ? 'show hiding'
7117
+ : '';
7118
+ };
7119
+ var _className = classNames((_b = {},
7120
+ _b["offcanvas".concat(typeof responsive !== 'boolean' ? '-' + responsive : '')] = responsive,
7111
7121
  _b["offcanvas-".concat(placement)] = placement,
7112
- _b.show = _visible,
7113
7122
  _b), className);
7114
- var transitionStyles = {
7115
- entering: { visibility: 'visible' },
7116
- entered: { visibility: 'visible' },
7117
- exiting: { visibility: 'visible' },
7118
- exited: { visibility: 'hidden' },
7119
- };
7120
7123
  var handleDismiss = function () {
7121
7124
  setVisible(false);
7122
7125
  };
7126
+ var handleBackdropDismiss = function () {
7127
+ if (backdrop !== 'static') {
7128
+ setVisible(false);
7129
+ }
7130
+ };
7123
7131
  var handleKeyDown = React.useCallback(function (event) {
7124
7132
  if (event.key === 'Escape' && keyboard) {
7125
7133
  return handleDismiss();
@@ -7127,7 +7135,7 @@ var COffcanvas = React.forwardRef(function (_a, ref) {
7127
7135
  }, [ref, handleDismiss]);
7128
7136
  var offcanvas = function (ref, state) {
7129
7137
  return (React.createElement(React.Fragment, null,
7130
- React.createElement("div", __assign({ className: _className, role: "dialog", style: __assign({}, transitionStyles[state]), tabIndex: -1, onKeyDown: handleKeyDown }, rest, { ref: ref }), children)));
7138
+ React.createElement("div", __assign({ className: classNames(_className, getTransitionClass(state)), role: "dialog", tabIndex: -1, onKeyDown: handleKeyDown }, rest, { ref: ref }), children)));
7131
7139
  };
7132
7140
  return (React.createElement(React.Fragment, null,
7133
7141
  React.createElement(Transition$1, { in: _visible, nodeRef: offcanvasRef, onEnter: onShow, onEntered: function () { var _a; return (_a = offcanvasRef.current) === null || _a === void 0 ? void 0 : _a.focus(); }, onExit: onHide, timeout: 300 }, function (state) {
@@ -7137,11 +7145,11 @@ var COffcanvas = React.forwardRef(function (_a, ref) {
7137
7145
  }),
7138
7146
  typeof window !== 'undefined' && portal
7139
7147
  ? backdrop &&
7140
- ReactDOM.createPortal(React.createElement(CBackdrop, { className: "offcanvas-backdrop", onClick: handleDismiss, visible: _visible }), document.body)
7141
- : backdrop && (React.createElement(CBackdrop, { className: "offcanvas-backdrop", onClick: handleDismiss, visible: _visible }))));
7148
+ ReactDOM.createPortal(React.createElement(CBackdrop, { className: "offcanvas-backdrop", onClick: handleBackdropDismiss, visible: _visible }), document.body)
7149
+ : backdrop && (React.createElement(CBackdrop, { className: "offcanvas-backdrop", onClick: handleBackdropDismiss, visible: _visible }))));
7142
7150
  });
7143
7151
  COffcanvas.propTypes = {
7144
- backdrop: propTypesExports.bool,
7152
+ backdrop: propTypesExports.oneOfType([propTypesExports.bool, propTypesExports.oneOf(['static'])]),
7145
7153
  children: propTypesExports.node,
7146
7154
  className: propTypesExports.string,
7147
7155
  keyboard: propTypesExports.bool,
@@ -7150,6 +7158,10 @@ COffcanvas.propTypes = {
7150
7158
  placement: propTypesExports.oneOf(['start', 'end', 'top', 'bottom'])
7151
7159
  .isRequired,
7152
7160
  portal: propTypesExports.bool,
7161
+ responsive: propTypesExports.oneOfType([
7162
+ propTypesExports.bool,
7163
+ propTypesExports.oneOf(['sm', 'md', 'lg', 'xl', 'xxl']),
7164
+ ]),
7153
7165
  scroll: propTypesExports.bool,
7154
7166
  visible: propTypesExports.bool,
7155
7167
  };