From 9a4bcca7b299f358bb3b953996a9d4afb2f7b602 Mon Sep 17 00:00:00 2001 From: bestguy <7zark7@gmail.com> Date: Fri, 7 May 2021 17:19:23 -0700 Subject: [PATCH] feat(bs5): add Offcanvas --- docs/lib/Components/OffcanvasPage.js | 80 +++ docs/lib/Components/index.js | 4 + docs/lib/examples/Offcanvas.js | 60 ++ docs/lib/routes.js | 2 + package.json | 2 +- src/Offcanvas.js | 444 +++++++++++++ src/OffcanvasBody.js | 35 ++ src/OffcanvasHeader.js | 60 ++ src/__tests__/Offcanvas.spec.js | 864 ++++++++++++++++++++++++++ src/__tests__/OffcanvasBody.spec.js | 27 + src/__tests__/OffcanvasHeader.spec.js | 40 ++ src/index.js | 3 + src/utils.js | 1 + types/index.d.ts | 6 + types/lib/Offcanvas.d.ts | 38 ++ types/lib/OffcanvasBody.d.ts | 11 + types/lib/OffcanvasHeader.d.ts | 13 + types/lib/index.d.ts | 6 + 18 files changed, 1695 insertions(+), 1 deletion(-) create mode 100644 docs/lib/Components/OffcanvasPage.js create mode 100644 docs/lib/examples/Offcanvas.js create mode 100644 src/Offcanvas.js create mode 100644 src/OffcanvasBody.js create mode 100644 src/OffcanvasHeader.js create mode 100644 src/__tests__/Offcanvas.spec.js create mode 100644 src/__tests__/OffcanvasBody.spec.js create mode 100644 src/__tests__/OffcanvasHeader.spec.js create mode 100644 types/lib/Offcanvas.d.ts create mode 100644 types/lib/OffcanvasBody.d.ts create mode 100644 types/lib/OffcanvasHeader.d.ts diff --git a/docs/lib/Components/OffcanvasPage.js b/docs/lib/Components/OffcanvasPage.js new file mode 100644 index 000000000..d5f9eeeae --- /dev/null +++ b/docs/lib/Components/OffcanvasPage.js @@ -0,0 +1,80 @@ +/* eslint react/no-multi-comp: 0, react/prop-types: 0 */ +import React from 'react'; +import { PrismCode } from 'react-prism'; +import PageTitle from '../UI/PageTitle'; +import SectionTitle from '../UI/SectionTitle'; + +import OffcanvasExample from '../examples/Offcanvas'; +const OffcanvasExampleSource = require('!!raw-loader!../examples/Offcanvas'); + +export default class OffcanvasPage extends React.Component { + render() { + return ( +
+++ {OffcanvasExampleSource} + +
+++{` +Offcanvas.propTypes = { + autoFocus: PropTypes.bool, + backdrop: PropTypes.oneOfType([PropTypes.bool, PropTypes.oneOf(['static'])]), + backdropClassName: PropTypes.string, + backdropTransition: FadePropTypes, + children: PropTypes.node, + className: PropTypes.string, + container: targetPropType, + cssModule: PropTypes.object, + direction: PropTypes.oneOf(['start', 'end', 'bottom', 'left', 'right']), + fade: PropTypes.bool, + innerRef: PropTypes.oneOfType([PropTypes.object, PropTypes.string, PropTypes.func,]), + isOpen: PropTypes.bool, + keyboard: PropTypes.bool, + labelledBy: PropTypes.string, + offcanvasClassName: PropTypes.string, + offcanvasTransition: FadePropTypes, + onClosed: PropTypes.func, + onEnter: PropTypes.func, + onExit: PropTypes.func, + onOpened: PropTypes.func, + returnFocusAfterClose: PropTypes.bool, + role: PropTypes.string, + scrollable: PropTypes.bool, + toggle: PropTypes.func, + trapFocus: PropTypes.bool, + unmountOnClose: PropTypes.bool, + wrapClassName: PropTypes.string, + zIndex: PropTypes.oneOfType([PropTypes.number, PropTypes.string,]) +} + +OffcanvasBody.propTypes = { + tag: tagPropType, + className: PropTypes.string, + cssModule: PropTypes.object, +} + +OffcanvasHeader.propTypes = { + children: PropTypes.node, + className: PropTypes.string, + close: PropTypes.object, + closeAriaLabel: PropTypes.string, + cssModule: PropTypes.object, + tag: tagPropType, + toggle: PropTypes.func, + wrapTag: tagPropType +} +`} + +