├── .nvmrc ├── www ├── static │ ├── .nojekyll │ └── img │ │ ├── favicon.ico │ │ └── docusaurus.png ├── src │ ├── components │ │ ├── PropsTable │ │ │ ├── index.ts │ │ │ └── defaultPropDescriptions.ts │ │ ├── HomepageFeatures │ │ │ └── styles.module.css │ │ ├── AriaAbbr.tsx │ │ ├── DocLink.tsx │ │ ├── CssCodeBlock.tsx │ │ ├── CarbonAds.tsx │ │ └── ExampleCarouselImage.tsx │ ├── css │ │ └── algolia.scss │ ├── hooks │ │ └── useBootstrapMetadata.ts │ ├── theme │ │ ├── Playground │ │ │ └── EditorInfoMessage.tsx │ │ ├── ReactLiveScope.ts │ │ ├── MDXComponents.ts │ │ ├── CodeBlock.tsx │ │ ├── ColorModeToggle │ │ │ └── styles.module.css │ │ ├── Admonition │ │ │ └── styles.module.css │ │ └── MDXContent.tsx │ └── pages │ │ └── index.module.css ├── docs │ ├── forms │ │ ├── _category_.json │ │ ├── select.mdx │ │ └── range.mdx │ ├── layout │ │ └── _category_.json │ ├── components │ │ ├── _category_.json │ │ ├── figures.mdx │ │ ├── breadcrumb.mdx │ │ ├── images.mdx │ │ └── pagination.mdx │ ├── utilities │ │ ├── _category_.json │ │ └── restart-ui.mdx │ ├── getting-started │ │ ├── _category_.json │ │ ├── server-side-rendering.mdx │ │ ├── color-modes.mdx │ │ ├── rtl.mdx │ │ └── support.mdx │ └── examples │ │ ├── CloseButton │ │ ├── Basic.js │ │ ├── Disabled.js │ │ ├── Labelled.js │ │ └── Variants.js │ │ ├── Spinner │ │ ├── Grow.js │ │ ├── Border.js │ │ ├── Basic.js │ │ ├── Sizes.js │ │ └── Buttons.js │ │ ├── CustomBreakpoints.js │ │ ├── Image │ │ ├── Fluid.js │ │ └── Shape.js │ │ ├── ProgressBar │ │ ├── Basic.js │ │ ├── Animated.js │ │ ├── WithLabel.js │ │ ├── ScreenreaderLabel.js │ │ ├── Stacked.js │ │ ├── Contextual.js │ │ └── Striped.js │ │ ├── AsProp.js │ │ ├── Card │ │ ├── BodyShorthand.js │ │ ├── BodyOnly.js │ │ ├── ListGroups.js │ │ ├── WithHeader.js │ │ ├── ListGroupWithHeader.js │ │ ├── WithHeaderStyled.js │ │ ├── Basic.js │ │ ├── ImgOverlay.js │ │ ├── Text.js │ │ ├── HeaderAndFooter.js │ │ ├── WithHeaderAndQuote.js │ │ ├── ImageAndText.js │ │ ├── Grid.js │ │ ├── BgColor.js │ │ └── KitchenSink.js │ │ ├── Form │ │ ├── Range.js │ │ ├── InputReadOnly.js │ │ ├── NoLabels.js │ │ ├── SelectBasic.js │ │ ├── InputSizes.js │ │ ├── ColorPicker.js │ │ ├── GridBasic.js │ │ ├── Switch.js │ │ ├── SelectSizes.js │ │ ├── ValidationInputGroup.js │ │ ├── GridColSizes.js │ │ ├── FormControlDisabled.js │ │ ├── FormGroup.js │ │ ├── FormFloatingSelect.js │ │ ├── FormText.js │ │ ├── TextControls.js │ │ ├── CheckApi.js │ │ ├── FormFloatingBasic.js │ │ ├── Check.js │ │ ├── FormDisabledInputs.js │ │ ├── FormFloatingCustom.js │ │ ├── FormFloatingTextarea.js │ │ ├── Plaintext.js │ │ ├── CheckInline.js │ │ ├── CheckReverse.js │ │ ├── Basic.js │ │ └── FormLabelSizing.js │ │ ├── Placeholder │ │ ├── Width.js │ │ ├── Example.js │ │ ├── Size.js │ │ ├── Animation.js │ │ └── Color.js │ │ ├── Ratio │ │ ├── Custom.js │ │ ├── Example.js │ │ └── Default.js │ │ ├── Stack │ │ ├── Vertical.js │ │ ├── Horizontal.js │ │ ├── Buttons.js │ │ ├── HorizontalMarginStart.js │ │ ├── HorizontalVerticalRules.js │ │ └── Form.js │ │ ├── Grid │ │ ├── Container.js │ │ ├── ContainerFluid.js │ │ ├── ContainerFluidBreakpoint.js │ │ ├── Ordering.js │ │ ├── RowColLayoutColWidthBreakpoint.js │ │ ├── AutoLayout.js │ │ ├── OrderingFirstLast.js │ │ ├── ResponsiveAuto.js │ │ ├── AutoLayoutSizing.js │ │ ├── RowColLayout.js │ │ ├── Offsetting.js │ │ └── AutoLayoutVariable.js │ │ ├── AsPropComponent.js │ │ ├── Badge │ │ ├── Button.js │ │ ├── Variations.js │ │ ├── Basic.js │ │ └── Pill.js │ │ ├── Button │ │ ├── Active.js │ │ ├── Block.js │ │ ├── TagTypes.js │ │ ├── Disabled.js │ │ ├── Types.js │ │ ├── OutlineTypes.js │ │ ├── Sizes.js │ │ ├── Loading.js │ │ └── ToggleButtonGroupControlled.js │ │ ├── Navbar │ │ ├── ContainerInside.js │ │ ├── ContainerOutside.js │ │ └── TextLink.js │ │ ├── ListGroup │ │ ├── Numbered.js │ │ ├── Horizontal.js │ │ ├── Flush.js │ │ ├── Disabled.js │ │ ├── Header.js │ │ ├── Default.js │ │ ├── Buttons.js │ │ ├── Active.js │ │ ├── Linked.js │ │ ├── HorizontalResponsive.js │ │ ├── Style.js │ │ ├── Tabs.js │ │ └── StyleActions.js │ │ ├── Dropdown │ │ ├── MenuHeaders.js │ │ ├── MenuDividers.js │ │ ├── BasicButton.js │ │ ├── Basic.js │ │ ├── DropdownItemTags.js │ │ ├── MenuAlignEnd.js │ │ ├── SplitBasic.js │ │ └── SplitVariants.js │ │ ├── ButtonGroup │ │ ├── Basic.js │ │ ├── Nested.js │ │ ├── Sizes.js │ │ └── ToolbarBasic.js │ │ ├── Figure.js │ │ ├── InputGroup │ │ ├── MultipleInputs.js │ │ ├── Checkboxes.js │ │ └── MultipleAddons.js │ │ ├── Breadcrumb.js │ │ ├── Nav │ │ ├── Stacked.js │ │ ├── DropdownImpl.js │ │ ├── List.js │ │ ├── Tabs.js │ │ ├── Pills.js │ │ ├── Underline.js │ │ ├── Fill.js │ │ ├── Justified.js │ │ └── Basic.js │ │ ├── Toast │ │ ├── Basic.js │ │ └── Stacking.js │ │ ├── Alert │ │ ├── Basic.js │ │ ├── Link.js │ │ ├── AdditionalContent.js │ │ ├── Dismissible.js │ │ └── DismissibleControlled.js │ │ ├── Theming │ │ ├── Variants.js │ │ └── Prefixes.js │ │ ├── Overlays │ │ ├── Disabled.js │ │ ├── Trigger.js │ │ ├── PopoverBasic.js │ │ ├── TooltipOverlay.js │ │ ├── TooltipPositioned.js │ │ ├── TriggerRenderProp.js │ │ └── PopoverPositioned.js │ │ ├── Pagination │ │ ├── Basic.js │ │ └── Advanced.js │ │ ├── Tabs │ │ ├── Uncontrolled.js │ │ ├── NoAnimation.js │ │ ├── Fill.js │ │ ├── Controlled.js │ │ ├── Justified.js │ │ └── LeftTabs.js │ │ ├── Modal │ │ └── Static.js │ │ ├── Fade.js │ │ ├── Collapse.js │ │ ├── Table │ │ ├── Basic.js │ │ ├── StripedRow.js │ │ ├── Dark.js │ │ ├── Small.js │ │ ├── StripedColumns.js │ │ └── Responsive.js │ │ └── Offcanvas │ │ ├── StaticBackdrop.js │ │ └── Basic.js ├── babel.config.js ├── .gitignore ├── README.md ├── tsconfig.json ├── plugins │ ├── react-resolver-plugin.js │ └── webpack-plugin.js └── sidebars.js ├── codecov.yml ├── .gitattributes ├── .husky └── pre-commit ├── manual_releases.md ├── renovate.json ├── vitest.setup.ts ├── .eslintignore ├── src ├── Anchor.tsx ├── InputGroupContext.tsx ├── SSRProvider.ts ├── FormContext.tsx ├── CardHeaderContext.tsx ├── triggerBrowserReflow.tsx ├── getInitialPopperStyles.ts ├── AccordionItemContext.ts ├── ModalContext.tsx ├── divWithClassName.tsx ├── ToastContext.tsx ├── safeFindDOMNode.ts ├── NavbarContext.tsx ├── getTabTransitionComponent.ts ├── NavContext.tsx ├── DropdownContext.ts ├── ToastFade.tsx ├── FigureImage.tsx ├── Switch.tsx ├── AccordionContext.ts ├── transitionEndListener.ts ├── createChainedFunction.tsx ├── NavItem.tsx ├── CardBody.tsx ├── CardText.tsx ├── CardLink.tsx ├── CardGroup.tsx ├── ModalBody.tsx ├── ToastBody.tsx ├── CardFooter.tsx ├── TabContent.tsx ├── NavbarText.tsx ├── ModalFooter.tsx ├── PopoverBody.tsx ├── FormFloating.tsx ├── OffcanvasBody.tsx ├── PopoverHeader.tsx ├── CardImgOverlay.tsx ├── InputGroupText.tsx ├── FigureCaption.tsx ├── useWrappedRefWithWarning.tsx ├── AlertLink.tsx ├── CarouselCaption.tsx ├── DropdownItemText.tsx ├── NavbarOffcanvas.tsx ├── usePlaceholder.ts ├── DropdownHeader.tsx ├── CardTitle.tsx ├── DropdownDivider.tsx ├── ModalTitle.tsx ├── CardSubtitle.tsx ├── Figure.tsx └── OffcanvasTitle.tsx ├── tsconfig.json ├── test ├── tsconfig.json ├── .eslintrc ├── TabContentSpec.tsx ├── NavbarToggleSpec.tsx ├── ToastBodySpec.tsx ├── helpers.ts ├── TooltipSpec.tsx ├── getInitialPopperStylesSpec.ts ├── helpersSpec.ts ├── PlaceholderButtonSpec.tsx ├── ButtonToolbarSpec.tsx ├── NavbarBrandSpec.tsx ├── StackSpec.tsx ├── PlaceholderSpec.tsx └── ToastHeaderSpec.tsx ├── .travis.yml ├── .editorconfig ├── vitest.config.ts └── .babelrc.js /.nvmrc: -------------------------------------------------------------------------------- 1 | 20 2 | -------------------------------------------------------------------------------- /www/static/.nojekyll: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /codecov.yml: -------------------------------------------------------------------------------- 1 | comment: off 2 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto eol=lf -------------------------------------------------------------------------------- /.husky/pre-commit: -------------------------------------------------------------------------------- 1 | yarn lint-staged 2 | -------------------------------------------------------------------------------- /manual_releases.md: -------------------------------------------------------------------------------- 1 | number of manually triggered releases: 1 2 | -------------------------------------------------------------------------------- /www/src/components/PropsTable/index.ts: -------------------------------------------------------------------------------- 1 | export { default } from './PropsTable'; 2 | -------------------------------------------------------------------------------- /renovate.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["github>4Catalyzer/renovate-config:library"] 3 | } 4 | -------------------------------------------------------------------------------- /www/docs/forms/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Forms", 3 | "position": 3 4 | } 5 | -------------------------------------------------------------------------------- /www/docs/layout/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Layout", 3 | "position": 2 4 | } 5 | -------------------------------------------------------------------------------- /www/docs/components/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Components", 3 | "position": 4 4 | } 5 | -------------------------------------------------------------------------------- /www/docs/utilities/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Utilities", 3 | "position": 5 4 | } 5 | -------------------------------------------------------------------------------- /www/docs/getting-started/_category_.json: -------------------------------------------------------------------------------- 1 | { 2 | "label": "Getting started", 3 | "position": 1 4 | } 5 | -------------------------------------------------------------------------------- /www/static/img/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/edlerd/react-bootstrap/master/www/static/img/favicon.ico -------------------------------------------------------------------------------- /www/static/img/docusaurus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/edlerd/react-bootstrap/master/www/static/img/docusaurus.png -------------------------------------------------------------------------------- /www/babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: [require.resolve('@docusaurus/core/lib/babel/preset')], 3 | }; 4 | -------------------------------------------------------------------------------- /vitest.setup.ts: -------------------------------------------------------------------------------- 1 | import { cleanup } from '@testing-library/react'; 2 | import { afterEach } from 'vitest'; 3 | 4 | afterEach(cleanup); 5 | -------------------------------------------------------------------------------- /.eslintignore: -------------------------------------------------------------------------------- 1 | lib/ 2 | node_modules/** 3 | coverage/ 4 | **/node_modules/** 5 | www/.cache 6 | www/public 7 | www/plugins 8 | **/*.d.ts 9 | -------------------------------------------------------------------------------- /src/Anchor.tsx: -------------------------------------------------------------------------------- 1 | import Anchor, { AnchorProps } from '@restart/ui/Anchor'; 2 | 3 | export type { AnchorProps }; 4 | 5 | export default Anchor; 6 | -------------------------------------------------------------------------------- /www/src/components/HomepageFeatures/styles.module.css: -------------------------------------------------------------------------------- 1 | .features { 2 | display: flex; 3 | align-items: center; 4 | padding: 2rem 0; 5 | width: 100%; 6 | } 7 | 8 | -------------------------------------------------------------------------------- /www/src/components/AriaAbbr.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | 3 | export default function AriaAbbr() { 4 | return ARIA; 5 | } 6 | -------------------------------------------------------------------------------- /www/src/css/algolia.scss: -------------------------------------------------------------------------------- 1 | // Removes a tiny vertical scrollbar in the list item. 2 | .DocSearch-Hit-content-wrapper { 3 | overflow: hidden; 4 | } 5 | 6 | .DocSearch-Button { 7 | flex-grow: 1; 8 | } -------------------------------------------------------------------------------- /www/docs/examples/CloseButton/Basic.js: -------------------------------------------------------------------------------- 1 | import CloseButton from 'react-bootstrap/CloseButton'; 2 | 3 | function BasicExample() { 4 | return ; 5 | } 6 | 7 | export default BasicExample; 8 | -------------------------------------------------------------------------------- /www/docs/examples/Spinner/Grow.js: -------------------------------------------------------------------------------- 1 | import Spinner from 'react-bootstrap/Spinner'; 2 | 3 | function GrowExample() { 4 | return ; 5 | } 6 | 7 | export default GrowExample; 8 | -------------------------------------------------------------------------------- /src/InputGroupContext.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | 3 | const context = React.createContext(null); 4 | context.displayName = 'InputGroupContext'; 5 | 6 | export default context; 7 | -------------------------------------------------------------------------------- /src/SSRProvider.ts: -------------------------------------------------------------------------------- 1 | import { SSRProvider } from '@restart/ui/ssr'; 2 | import type { SSRProviderProps } from '@restart/ui/ssr'; 3 | 4 | export type { SSRProviderProps }; 5 | 6 | export default SSRProvider; 7 | -------------------------------------------------------------------------------- /www/docs/examples/CustomBreakpoints.js: -------------------------------------------------------------------------------- 1 | 5 |
Your app...
6 |
; 7 | -------------------------------------------------------------------------------- /www/docs/examples/Image/Fluid.js: -------------------------------------------------------------------------------- 1 | import Image from 'react-bootstrap/Image'; 2 | 3 | function FluidExample() { 4 | return ; 5 | } 6 | 7 | export default FluidExample; 8 | -------------------------------------------------------------------------------- /www/docs/examples/Spinner/Border.js: -------------------------------------------------------------------------------- 1 | import Spinner from 'react-bootstrap/Spinner'; 2 | 3 | function BorderExample() { 4 | return ; 5 | } 6 | 7 | export default BorderExample; 8 | -------------------------------------------------------------------------------- /www/docs/examples/ProgressBar/Basic.js: -------------------------------------------------------------------------------- 1 | import ProgressBar from 'react-bootstrap/ProgressBar'; 2 | 3 | function BasicExample() { 4 | return ; 5 | } 6 | 7 | export default BasicExample; 8 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@4c/tsconfig/web.json", 3 | "compilerOptions": { 4 | "rootDir": "src", 5 | "outDir": "lib", 6 | "noImplicitAny": false 7 | }, 8 | "include": ["src"] 9 | } 10 | -------------------------------------------------------------------------------- /www/docs/examples/CloseButton/Disabled.js: -------------------------------------------------------------------------------- 1 | import CloseButton from 'react-bootstrap/CloseButton'; 2 | 3 | function DisabledExample() { 4 | return ; 5 | } 6 | 7 | export default DisabledExample; 8 | -------------------------------------------------------------------------------- /test/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "..", 3 | "compilerOptions": { 4 | "jsx": "react-jsx", 5 | "lib": ["DOM", "ESNext"], 6 | "rootDir": ".." 7 | }, 8 | "include": ["../src", ".", "../tests"] 9 | } 10 | -------------------------------------------------------------------------------- /www/docs/examples/CloseButton/Labelled.js: -------------------------------------------------------------------------------- 1 | import CloseButton from 'react-bootstrap/CloseButton'; 2 | 3 | function LabelledExample() { 4 | return ; 5 | } 6 | 7 | export default LabelledExample; 8 | -------------------------------------------------------------------------------- /www/docs/examples/ProgressBar/Animated.js: -------------------------------------------------------------------------------- 1 | import ProgressBar from 'react-bootstrap/ProgressBar'; 2 | 3 | function AnimatedExample() { 4 | return ; 5 | } 6 | 7 | export default AnimatedExample; 8 | -------------------------------------------------------------------------------- /www/docs/examples/AsProp.js: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | ; 9 | -------------------------------------------------------------------------------- /src/FormContext.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | 3 | // TODO 4 | interface FormContextType { 5 | controlId?: any; 6 | } 7 | 8 | const FormContext = React.createContext({}); 9 | 10 | export default FormContext; 11 | -------------------------------------------------------------------------------- /www/docs/examples/Card/BodyShorthand.js: -------------------------------------------------------------------------------- 1 | import Card from 'react-bootstrap/Card'; 2 | 3 | function BodyShorthandExample() { 4 | return This is some text within a card body.; 5 | } 6 | 7 | export default BodyShorthandExample; 8 | -------------------------------------------------------------------------------- /test/.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "rules": { 3 | "no-script-url": 0, 4 | "no-unused-expressions": 0, 5 | "padded-blocks": 0, 6 | "react/no-multi-comp": 0, 7 | "react/prop-types": 0, 8 | "max-classes-per-file": "off", 9 | }, 10 | } 11 | -------------------------------------------------------------------------------- /www/docs/examples/ProgressBar/WithLabel.js: -------------------------------------------------------------------------------- 1 | import ProgressBar from 'react-bootstrap/ProgressBar'; 2 | 3 | function WithLabelExample() { 4 | const now = 60; 5 | return ; 6 | } 7 | 8 | export default WithLabelExample; 9 | -------------------------------------------------------------------------------- /www/docs/examples/Form/Range.js: -------------------------------------------------------------------------------- 1 | import Form from 'react-bootstrap/Form'; 2 | 3 | function RangeExample() { 4 | return ( 5 | <> 6 | Range 7 | 8 | 9 | ); 10 | } 11 | 12 | export default RangeExample; 13 | -------------------------------------------------------------------------------- /www/docs/examples/Form/InputReadOnly.js: -------------------------------------------------------------------------------- 1 | import Form from 'react-bootstrap/Form'; 2 | 3 | function InputReadOnlyExample() { 4 | return ( 5 | 6 | ); 7 | } 8 | 9 | export default InputReadOnlyExample; 10 | -------------------------------------------------------------------------------- /www/docs/examples/Card/BodyOnly.js: -------------------------------------------------------------------------------- 1 | import Card from 'react-bootstrap/Card'; 2 | 3 | function BodyOnlyExample() { 4 | return ( 5 | 6 | This is some text within a card body. 7 | 8 | ); 9 | } 10 | 11 | export default BodyOnlyExample; 12 | -------------------------------------------------------------------------------- /www/docs/examples/ProgressBar/ScreenreaderLabel.js: -------------------------------------------------------------------------------- 1 | import ProgressBar from 'react-bootstrap/ProgressBar'; 2 | 3 | function ScreenreaderLabelExample() { 4 | const now = 60; 5 | return ; 6 | } 7 | 8 | export default ScreenreaderLabelExample; 9 | -------------------------------------------------------------------------------- /src/CardHeaderContext.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | 3 | interface CardHeaderContextValue { 4 | cardHeaderBsPrefix: string; 5 | } 6 | 7 | const context = React.createContext(null); 8 | context.displayName = 'CardHeaderContext'; 9 | 10 | export default context; 11 | -------------------------------------------------------------------------------- /src/triggerBrowserReflow.tsx: -------------------------------------------------------------------------------- 1 | // reading a dimension prop will cause the browser to recalculate, 2 | // which will let our animations work 3 | export default function triggerBrowserReflow(node: HTMLElement): void { 4 | // eslint-disable-next-line @typescript-eslint/no-unused-expressions 5 | node.offsetHeight; 6 | } 7 | -------------------------------------------------------------------------------- /www/docs/examples/Form/NoLabels.js: -------------------------------------------------------------------------------- 1 | import Form from 'react-bootstrap/Form'; 2 | 3 | function NoLabelExample() { 4 | return ( 5 | <> 6 | 7 | 8 | 9 | ); 10 | } 11 | 12 | export default NoLabelExample; 13 | -------------------------------------------------------------------------------- /src/getInitialPopperStyles.ts: -------------------------------------------------------------------------------- 1 | export default function getInitialPopperStyles( 2 | position: React.CSSProperties['position'] = 'absolute', 3 | ): Partial { 4 | return { 5 | position, 6 | top: '0', 7 | left: '0', 8 | opacity: '0', 9 | pointerEvents: 'none', 10 | }; 11 | } 12 | -------------------------------------------------------------------------------- /www/docs/examples/Spinner/Basic.js: -------------------------------------------------------------------------------- 1 | import Spinner from 'react-bootstrap/Spinner'; 2 | 3 | function BasicExample() { 4 | return ( 5 | 6 | Loading... 7 | 8 | ); 9 | } 10 | 11 | export default BasicExample; 12 | -------------------------------------------------------------------------------- /src/AccordionItemContext.ts: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | 3 | export interface AccordionItemContextValue { 4 | eventKey: string; 5 | } 6 | 7 | const context = React.createContext({ 8 | eventKey: '', 9 | }); 10 | context.displayName = 'AccordionItemContext'; 11 | 12 | export default context; 13 | -------------------------------------------------------------------------------- /src/ModalContext.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | 3 | interface ModalContextType { 4 | onHide: () => void; 5 | } 6 | 7 | const ModalContext = React.createContext({ 8 | // eslint-disable-next-line @typescript-eslint/no-empty-function 9 | onHide() {}, 10 | }); 11 | 12 | export default ModalContext; 13 | -------------------------------------------------------------------------------- /www/.gitignore: -------------------------------------------------------------------------------- 1 | # Dependencies 2 | /node_modules 3 | 4 | # Production 5 | /build 6 | 7 | # Generated files 8 | .docusaurus 9 | .cache-loader 10 | 11 | # Misc 12 | .DS_Store 13 | .env.local 14 | .env.development.local 15 | .env.test.local 16 | .env.production.local 17 | 18 | npm-debug.log* 19 | yarn-debug.log* 20 | yarn-error.log* 21 | -------------------------------------------------------------------------------- /www/docs/examples/Placeholder/Width.js: -------------------------------------------------------------------------------- 1 | import Placeholder from 'react-bootstrap/Placeholder'; 2 | 3 | function WidthExample() { 4 | return ( 5 | <> 6 | 7 | 8 | 9 | ); 10 | } 11 | 12 | export default WidthExample; 13 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - node 4 | env: 5 | global: 6 | - BROWSER=ChromeHeadless 7 | addons: 8 | chrome: stable 9 | 10 | cache: 11 | yarn: true 12 | npm: true 13 | directories: 14 | - www/node_modules 15 | 16 | install: 17 | - yarn bootstrap 18 | 19 | branches: 20 | only: 21 | - master 22 | -------------------------------------------------------------------------------- /www/docs/examples/CloseButton/Variants.js: -------------------------------------------------------------------------------- 1 | import CloseButton from 'react-bootstrap/CloseButton'; 2 | 3 | function VariantsExample() { 4 | return ( 5 |
6 | 7 | 8 |
9 | ); 10 | } 11 | 12 | export default VariantsExample; 13 | -------------------------------------------------------------------------------- /src/divWithClassName.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | import classNames from 'classnames'; 3 | 4 | export default (className: string) => 5 | React.forwardRef>((p, ref) => ( 6 |
11 | )); 12 | -------------------------------------------------------------------------------- /www/docs/examples/Placeholder/Example.js: -------------------------------------------------------------------------------- 1 | import Placeholder from 'react-bootstrap/Placeholder'; 2 | 3 | function BasicExample() { 4 | return ( 5 | <> 6 | 9 | 10 |